sm-commit AT lists.ibiblio.org
Subject: Source Mage code commit list
List archive
[SM-Commit] GIT changes to master grimoire by Thomas Orgis (7c661728f5bf8acbd0d3304f9786c047d46e2b41)
- From: Thomas Orgis <scm AT sourcemage.org>
- To: sm-commit AT lists.ibiblio.org
- Subject: [SM-Commit] GIT changes to master grimoire by Thomas Orgis (7c661728f5bf8acbd0d3304f9786c047d46e2b41)
- Date: Mon, 7 Sep 2020 23:30:43 +0000
GIT changes to master grimoire by Thomas Orgis <sobukus AT sourcemage.org>:
ChangeLog | 6 +++
audio-players/mpg123/BUILD | 5 ++-
audio-players/mpg123/DETAILS | 8 +----
audio-players/mpg123/HISTORY | 5 +++
audio-players/mpg123/PRE_BUILD | 2 -
audio-players/mpg123/UP_TRIGGERS | 6 +++
gnu/gcc/DETAILS | 2 -
gnu/gcc/HISTORY | 4 ++
gnu/gcc/PRE_BUILD | 3 +
gnu/gcc/UP_TRIGGERS | 5 +++
la_remove_up_trigger.function | 32 ++++++++++++++++++++
libtool-nola | 50
++++++++++++++++++++++++++++++++
smgl/smgl-test-failspell/BUILD | 1
smgl/smgl-test-failspell/CONFIGURE | 1
smgl/smgl-test-failspell/DEPENDS | 1
smgl/smgl-test-failspell/DETAILS | 14 ++++++++
smgl/smgl-test-failspell/FINAL | 1
smgl/smgl-test-failspell/HISTORY | 3 +
smgl/smgl-test-failspell/INSTALL | 1
smgl/smgl-test-failspell/PREPARE | 4 ++
smgl/smgl-test-failspell/PRE_BUILD | 1
smgl/smgl-test-spell/BUILD | 6 +++
smgl/smgl-test-spell/DEPENDS | 2 +
smgl/smgl-test-spell/DETAILS | 13 ++++++++
smgl/smgl-test-spell/HISTORY | 2 +
smgl/smgl-test-spell/INSTALL | 1
smgl/smgl-test-spell/PRE_BUILD | 1
video-libs/gst-plugins-good-1.0/DEPENDS | 5 +++
video-libs/gst-plugins-good-1.0/HISTORY | 3 +
29 files changed, 177 insertions(+), 11 deletions(-)
New commits:
commit 7c661728f5bf8acbd0d3304f9786c047d46e2b41
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>
gcc: drop .la files from installation
This uses the recently introduced infrastructure to influence the
multi-faced build of gcc to avoid libtool archives and also triggers
anything in the system that references things like libstdc++.la.
It worked for me.
The rational for dropping those .la files is that it seems consensus
among GNU/Linux distros to do so and it is just assumed that basic
toolchain libraries from GCC do not appear in libtool form. The pkgsrc
build framework stumbles over this, for example, on an SMGL box. While
one could argue that support and correct handling of /usr/lib/libstc++.la
and friends is a justified bug fix, the other side of the argument is
that nobody else installs those unnecessary libtool archives. They are
implied when you call g++ or gfortran. They really make no sense and
are just clutter anyway.
Convincing upstream to skip generating them would be a perhaps worthwhile
goal, but they may have their reasons and, well, any other distro is
capable
of filtering them in the packaging process.
commit 27d8a937d7b34a0525ea1e3f12475f0c232a7a4e
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>
mpg123: version 1.26.3, drop .la files
commit f016d3a1563b38feac284559eaf99d8d4d9080a8
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>
libtool-nola, la_remove_up_trigger.function: infrastructure for dropping
.la
As long as we do not have central filters for libtool archives, spells
that
have non-trivial lists of those files need some help:
- libtool-nola: Inject that into the libtool calls of the build (sed
Makefiles)
to have it call the real libtool, but remove the .la files afterwards.
- la_remove_up_trigger.function: Use that in UP_TRIGGERS to safely re-cast
spells that reference the removed .la files in theirs.
commit 265221efc753e2ad9d77fca3666a099aaadb41d0
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>
gst-plugins-good-1.0: make mpg123 dependency explicit
commit 7b5a88584ed8010d50d57f497135b8ba3ccd6e32
Author: Thomas Orgis <sobukus AT sourcemage.org>
Commit: Thomas Orgis <sobukus AT sourcemage.org>
smgl-test-spell, smgl-test-failspell: new spells for testing sorcery
Those little dummy spells help to debug basic operation of the
casting process. One depends on the other, which can be configured
to fail in various stages to test the reaction to that.
In future, I can imagine more complicated examples with sub-dependencies
and triggers. Or did I miss those spells existing already? Feels strange
to add basic tests two decades after the project started.
diff --git a/ChangeLog b/ChangeLog
index fe03b48..c286b2d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2020-09-08 Thomas Orgis <sobukus AT orgis.org>
+ * smgl/smgl-test-spell, smgl/smgl-test-failspell: dummy spells for
sorcery testing
+ * la_remove_up_trigger.function, libtool-nola: Support spells in
removing
+ libtool archives from installations. This is helpful as long as we
do not
+ have central filtering for those in sorcery.
+
2020-09-07 Ismael Luceno <ismael AT sourcemage.org>
* libs/usbredir: new spell, USB redirection support library
diff --git a/audio-players/mpg123/BUILD b/audio-players/mpg123/BUILD
index eed40d7..dea1f7a 100755
--- a/audio-players/mpg123/BUILD
+++ b/audio-players/mpg123/BUILD
@@ -5,4 +5,7 @@ if [[ "$MPG123_SEEKTABLE" != "" ]]; then
OPTS="--with-seektable=$MPG123_SEEKTABLE $OPTS"
fi &&
OPTS="$MPG123_QUALITY $MPG123_MODULES $OPTS" &&
-default_build
+default_build_configure &&
+find . -name Makefile \
+| xargs sed -i
's,^\(LIBTOOL[[:space:]]*=[[:space:]]*\),\1'"$GRIMOIRE"'/libtool-nola ,' &&
+default_build_make
diff --git a/audio-players/mpg123/DETAILS b/audio-players/mpg123/DETAILS
index 4338a74..b217548 100755
--- a/audio-players/mpg123/DETAILS
+++ b/audio-players/mpg123/DETAILS
@@ -1,14 +1,10 @@
SPELL=mpg123
- VERSION=1.26.0
+ VERSION=1.26.3
SOURCE=$SPELL-$VERSION.tar.bz2
- SOURCE2=$SOURCE.sig
SOURCE_URL[0]=http://downloads.sourceforge.net/sourceforge/$SPELL/$SOURCE
SOURCE_URL[1]=http://mpg123.org/download/$SOURCE
- SOURCE2_URL[0]=${SOURCE_URL[0]}.sig
- SOURCE2_URL[1]=${SOURCE_URL[1]}.sig
-
SOURCE2_HASH=sha512:3727dac574f7650f5e0d0624a08d84875c821d5e05e55a017595d0747da019e35c531f6c232c88245f61cd6df1134a49a1de19727d1101438f2d800649a902ba:VERIFIED_UPSTREAM_HASH
+
SOURCE_HASH=sha512:7574331afaecf3f867455df4b7012e90686ad6ac8c5b5e820244204ea7088bf2b02c3e75f53fe71c205f9eca81fef93f1d969c8d0d1ee9775dc05482290f7b2d:VERIFIED_UPSTREAM_HASH
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
- SOURCE_GPG=thomas.orgis.gpg:$SOURCE2:ID_CHECK_UPSTREAM_KEY
WEB_SITE=http://mpg123.org/
ENTERED=20011104
SECURITY_PATCH=11
diff --git a/audio-players/mpg123/HISTORY b/audio-players/mpg123/HISTORY
index 938b625..c2ec9af 100644
--- a/audio-players/mpg123/HISTORY
+++ b/audio-players/mpg123/HISTORY
@@ -1,3 +1,8 @@
+2020-09-03 Thomas Orgis <sobukus AT sourcemage.org>
+ * DETAILS: version 1.26.3, drop gpg
+ * BUILD: Do not install .la files.
+ * PRE_BUILD: gone
+
2020-05-24 Thoams Orgis <sobukus AT sourcemage.org>
* DETAILS: version 1.26.0
diff --git a/audio-players/mpg123/PRE_BUILD b/audio-players/mpg123/PRE_BUILD
deleted file mode 100755
index c1e13aa..0000000
--- a/audio-players/mpg123/PRE_BUILD
+++ /dev/null
@@ -1,2 +0,0 @@
-verify_file 2 &&
-default_pre_build
diff --git a/audio-players/mpg123/UP_TRIGGERS
b/audio-players/mpg123/UP_TRIGGERS
index 9fbcecd..4007a07 100755
--- a/audio-players/mpg123/UP_TRIGGERS
+++ b/audio-players/mpg123/UP_TRIGGERS
@@ -14,7 +14,6 @@ if [[ ${SMGL_COMPAT_ARCHS[0]} == 32 ]] && spell_ok $SPELL;
then
message "This is a possibly incompatible update of libmpg123..."
message "Figuring out what spells need to be recast, this may take a
while."
for each in $(show_up_depends $SPELL); do
-message "Checking $each."
if gaze install $each | xargs readelf -d 2> /dev/null |
grep -q "NEEDED.*libmpg123_64.so.0"; then
up_trigger $each cast_self
@@ -22,3 +21,8 @@ message "Checking $each."
done
fi
fi
+
+if [[ -e "$INSTALL_ROOT/usr/lib/libmpg123.la" ]]; then
+ . $GRIMOIRE/la_remove_up_trigger.function
+ la_remove_up_trigger 0
+fi
diff --git a/gnu/gcc/DETAILS b/gnu/gcc/DETAILS
index 51421d0..b74e1d1 100755
--- a/gnu/gcc/DETAILS
+++ b/gnu/gcc/DETAILS
@@ -1,7 +1,7 @@
SPELL=gcc
VERSION=10.2.0
ISL_VERSION=0.20
- PATCHLEVEL=3
+ PATCHLEVEL=4
BASE_SOURCE_URL="https://ftp.gnu.org/pub/gnu/gcc/gcc-$VERSION"
SOURCE=gcc-$VERSION.tar.xz
SOURCE2=$SOURCE.sig
diff --git a/gnu/gcc/HISTORY b/gnu/gcc/HISTORY
index 78c125b..86bbd46 100644
--- a/gnu/gcc/HISTORY
+++ b/gnu/gcc/HISTORY
@@ -1,3 +1,7 @@
+2020-09-03 Thomas Orgis <sobukus AT sourcemage.org>
+ * PRE_BUILD: drop .la files from installation
+ * DETAILS: ++PATCHLEVEL
+
2020-07-23 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 10.2.0
diff --git a/gnu/gcc/PRE_BUILD b/gnu/gcc/PRE_BUILD
index 959dbee..90609a9 100755
--- a/gnu/gcc/PRE_BUILD
+++ b/gnu/gcc/PRE_BUILD
@@ -31,6 +31,9 @@ fi &&
cd ${SOURCE_DIRECTORY} &&
+# Drop .la files like everyone else.
+find . -name Makefile.in \
+| xargs sed -i
's,^\(LIBTOOL[[:space:]]*=[[:space:]]*\),\1'"$GRIMOIRE"'/libtool-nola ,' &&
mk_source_dir $SOURCE_DIRECTORY.bld &&
cd $SOURCE_DIRECTORY &&
diff --git a/gnu/gcc/UP_TRIGGERS b/gnu/gcc/UP_TRIGGERS
index 2babc48..dd41224 100755
--- a/gnu/gcc/UP_TRIGGERS
+++ b/gnu/gcc/UP_TRIGGERS
@@ -34,3 +34,8 @@ if [[ ${OLD_SPELL_VERSION%%.*} < "5" ]];then
fi # not v5
fi
fi
+
+if [[ -e "$INSTALL_ROOT/usr/lib/libstdc++.la" ]]; then
+ . $GRIMOIRE/la_remove_up_trigger.function
+ la_remove_up_trigger 1
+fi
diff --git a/la_remove_up_trigger.function b/la_remove_up_trigger.function
new file mode 100755
index 0000000..3881f74
--- /dev/null
+++ b/la_remove_up_trigger.function
@@ -0,0 +1,32 @@
+#---------------------------------------------------------------------
+## @param check all spells (1) or only direct dependees (0)
+##
+## Check any usage of .la files from this spell by others and
+## trigger re-cast to facilitate removal of libtool archives from
+## a spell.
+#---------------------------------------------------------------------
+
+la_remove_up_trigger()
+{
+ local force_all=$1
+ local la_match=$( gaze install "$SPELL" | grep '\.la$' \
+ | while read f; do printf " -e /%s" "$(basename "$f")"; done )
+
+ message "This is an upgrade which removes libtool archives."
+ message "Determining affected spells and triggering them ..."
+
+ local check_spells
+ if [[ $force_all -gt 0 ]]; then
+ check_spells=$(gaze installed | cut -d: -f1)
+ else
+ check_spells=$(show_up_depends $SPELL 1)
+ fi
+ for other_spell in $check_spells
+ do
+ [[ $SPELL != $other_spell ]] || continue
+ match_count=$( gaze install "$other_spell" | grep '\.la$' \
+ | xargs grep $la_match | wc -l )
+ [[ "$match_count" -gt 0 ]] && up_trigger "$other_spell" cast_self
+ done
+ true
+}
diff --git a/libtool-nola b/libtool-nola
new file mode 100755
index 0000000..f1b4874
--- /dev/null
+++ b/libtool-nola
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# This wraps over the actual libtool script (given as first argument)
+# and tries to remove any .la files that libtool script creates.
+# The expected call is
+# libtool [options] --mode=install [options] <library files> <directory>
+# The script runs libtool with /bin/sh (assuming it's compatible to whatever
+# we have there) and then tries to clean up after it.
+
+set -e
+
+# Run the full libtool command.
+"$@"
+
+# Assumption: file list comes after --mode=install.
+# Let's ingore anything before that.
+
+installing=false
+for arg in "$@"
+do
+ case "$arg" in
+ --mode=install)
+ installing=true
+ shift
+ ;;
+ -*)
+ shift
+ ;;
+ *)
+ if $installing; then
+ break;
+ fi
+ ;;
+ esac
+done
+
+
+if $installing; then
+ for dir in "$@"; do :; done;
+ echo "$(basename $0): Cleaning up after libtool: no .la files, please."
+ for f in "$@"
+ do
+ case "$f" in
+ *.la)
+ rm -vf "$dir/$(basename "$f")"
+ ;;
+ esac
+ done
+fi
+
diff --git a/smgl/smgl-test-failspell/BUILD b/smgl/smgl-test-failspell/BUILD
new file mode 100755
index 0000000..5b37ac6
--- /dev/null
+++ b/smgl/smgl-test-failspell/BUILD
@@ -0,0 +1 @@
+[[ ! "$SMGL_TEST_BREAKPOINT" == BUILD ]]
diff --git a/smgl/smgl-test-failspell/CONFIGURE
b/smgl/smgl-test-failspell/CONFIGURE
new file mode 100755
index 0000000..cc3e6eb
--- /dev/null
+++ b/smgl/smgl-test-failspell/CONFIGURE
@@ -0,0 +1 @@
+[[ ! "$SMGL_TEST_BREAKPOINT" == CONFIGURE ]]
diff --git a/smgl/smgl-test-failspell/DEPENDS
b/smgl/smgl-test-failspell/DEPENDS
new file mode 100755
index 0000000..eb2b490
--- /dev/null
+++ b/smgl/smgl-test-failspell/DEPENDS
@@ -0,0 +1 @@
+[[ ! "$SMGL_TEST_BREAKPOINT" == DEPENDS ]]
diff --git a/smgl/smgl-test-failspell/DETAILS
b/smgl/smgl-test-failspell/DETAILS
new file mode 100755
index 0000000..99914af
--- /dev/null
+++ b/smgl/smgl-test-failspell/DETAILS
@@ -0,0 +1,14 @@
+ SPELL=smgl-test-failspell
+ VERSION=1.0.0
+ WEB_SITE=http://sourcemage.org
+ ENTERED=20200907
+ LICENSE[0]="GPL"
+ KEYWORDS="smgl"
+ SHORT="a spell for testing sorcery, with the option to fail"
+cat << EOF
+This spell is for testing sorcery, being able to opt for failure in the
differing phases.
+
+The spell as such does not install anything. It is there for testing the
dependency
+and failure handling logic of sorcery.
+EOF
+[[ ! "SMGL_TEST_BREAKPOINT" == DETAILS ]]
diff --git a/smgl/smgl-test-failspell/FINAL b/smgl/smgl-test-failspell/FINAL
new file mode 100755
index 0000000..f49359f
--- /dev/null
+++ b/smgl/smgl-test-failspell/FINAL
@@ -0,0 +1 @@
+[[ ! "$SMGL_TEST_BREAKPOINT" == FINAL ]]
diff --git a/smgl/smgl-test-failspell/HISTORY
b/smgl/smgl-test-failspell/HISTORY
new file mode 100644
index 0000000..3cf7492
--- /dev/null
+++ b/smgl/smgl-test-failspell/HISTORY
@@ -0,0 +1,3 @@
+2020-09-07 Thomas Orgis <sobukus AT sourcemage.org>
+ * PREPARE, DETAILS, CONFIGURE, DEPENDS, PRE_BUILD, BUILD, INSTALL,
+ FINAL: spell created
diff --git a/smgl/smgl-test-failspell/INSTALL
b/smgl/smgl-test-failspell/INSTALL
new file mode 100755
index 0000000..ef12b08
--- /dev/null
+++ b/smgl/smgl-test-failspell/INSTALL
@@ -0,0 +1 @@
+[[ ! "$SMGL_TEST_BREAKPOINT" == INSTALL ]]
diff --git a/smgl/smgl-test-failspell/PREPARE
b/smgl/smgl-test-failspell/PREPARE
new file mode 100755
index 0000000..080da42
--- /dev/null
+++ b/smgl/smgl-test-failspell/PREPARE
@@ -0,0 +1,4 @@
+config_query_list SMGL_TEST_BREAKPOINT "Choose where to fail:" \
+ nowhere PREPARE DETAILS CONFIGURE DEPENDS PRE_BUILD BUILD INSTALL FINAL &&
+
+[[ ! "$SMGL_TEST_BREAKPOINT" == PREPARE ]]
diff --git a/smgl/smgl-test-failspell/PRE_BUILD
b/smgl/smgl-test-failspell/PRE_BUILD
new file mode 100755
index 0000000..665035f
--- /dev/null
+++ b/smgl/smgl-test-failspell/PRE_BUILD
@@ -0,0 +1 @@
+[[ ! "$SMGL_TEST_BREAKPOINT" == PRE_BUILD ]]
diff --git a/smgl/smgl-test-spell/BUILD b/smgl/smgl-test-spell/BUILD
new file mode 100755
index 0000000..d93e57e
--- /dev/null
+++ b/smgl/smgl-test-spell/BUILD
@@ -0,0 +1,6 @@
+echo "$SPELL BUILD" &&
+echo "Checking for my dependencies ..." &&
+if ! spell_ok smgl-test-failspell; then
+ echo "Missing my dear build requirement."
+ false
+fi
diff --git a/smgl/smgl-test-spell/DEPENDS b/smgl/smgl-test-spell/DEPENDS
new file mode 100755
index 0000000..b16db7d
--- /dev/null
+++ b/smgl/smgl-test-spell/DEPENDS
@@ -0,0 +1,2 @@
+echo "$SPELL DEPENDS" &&
+depends smgl-test-failspell
diff --git a/smgl/smgl-test-spell/DETAILS b/smgl/smgl-test-spell/DETAILS
new file mode 100755
index 0000000..6d4dc0c
--- /dev/null
+++ b/smgl/smgl-test-spell/DETAILS
@@ -0,0 +1,13 @@
+ SPELL=smgl-test-spell
+ VERSION=1.0.0
+ WEB_SITE=http://sourcemage.org
+ ENTERED=20200907
+ LICENSE[0]="GPL"
+ KEYWORDS="smgl"
+ SHORT="a siple spell for testing sorcery"
+cat << EOF
+This spell is for testing sorcery, just depending on a possibly failing
spell.
+
+The spell as such does not install anything. It is there for testing the
dependency
+and failure handling logic of sorcery.
+EOF
diff --git a/smgl/smgl-test-spell/HISTORY b/smgl/smgl-test-spell/HISTORY
new file mode 100644
index 0000000..0e54712
--- /dev/null
+++ b/smgl/smgl-test-spell/HISTORY
@@ -0,0 +1,2 @@
+2020-09-07 Thomas Orgis <sobukus AT sourcemage.org>
+ * DETAILS, DEPENDS, PRE_BUILD, BUILD, INSTALL: spell created
diff --git a/smgl/smgl-test-spell/INSTALL b/smgl/smgl-test-spell/INSTALL
new file mode 100755
index 0000000..ad49ae4
--- /dev/null
+++ b/smgl/smgl-test-spell/INSTALL
@@ -0,0 +1 @@
+echo "$SPELL INSTALL"
diff --git a/smgl/smgl-test-spell/PRE_BUILD b/smgl/smgl-test-spell/PRE_BUILD
new file mode 100755
index 0000000..84bd5ac
--- /dev/null
+++ b/smgl/smgl-test-spell/PRE_BUILD
@@ -0,0 +1 @@
+echo "$SPELL PRE_BUILD"
diff --git a/video-libs/gst-plugins-good-1.0/DEPENDS
b/video-libs/gst-plugins-good-1.0/DEPENDS
index 49c846e..6dedecf 100755
--- a/video-libs/gst-plugins-good-1.0/DEPENDS
+++ b/video-libs/gst-plugins-good-1.0/DEPENDS
@@ -19,6 +19,11 @@ optional_depends cairo \
optional_depends flac \
'' '' \
'flac audio decoding/encoding' &&
+
+optional_depends mpg123 \
+ '' '--disable-mpg123' \
+ 'MPEG audio decoding' &&
+
optional_depends gdk-pixbuf2 \
'' '' \
'gdkpixbuf image loader' &&
diff --git a/video-libs/gst-plugins-good-1.0/HISTORY
b/video-libs/gst-plugins-good-1.0/HISTORY
index 074a69c..d44e0a5 100644
--- a/video-libs/gst-plugins-good-1.0/HISTORY
+++ b/video-libs/gst-plugins-good-1.0/HISTORY
@@ -1,3 +1,6 @@
+2020-09-04 Thomas Orgis <sobukus AT sourcemage.org>
+ * DEPENDS: explicitly on mpg123
+
2019-12-03 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 1.16.2
- [SM-Commit] GIT changes to master grimoire by Thomas Orgis (7c661728f5bf8acbd0d3304f9786c047d46e2b41), Thomas Orgis, 09/07/2020
Archive powered by MHonArc 2.6.24.