summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2022-02-21 20:21:38 +0000
committer Eric Hameleers <alien@slackware.com>2022-02-22 06:59:43 +0100
commit32fa88b60c4d872b057e9e7651b351d54affa40e (patch)
tree9adf4cc6cac2f4aa1f78e1b45a8d3ce786412423 /source
parentd5740c2f619f72d61555bb6bef595aa0172ba60f (diff)
downloadcurrent-32fa88b60c4d872b057e9e7651b351d54affa40e.tar.gz
current-32fa88b60c4d872b057e9e7651b351d54affa40e.tar.xz
Mon Feb 21 20:21:38 UTC 202220220221202138
a/aaa_glibc-solibs-2.35-x86_64-1.txz: Upgraded. a/kernel-firmware-20220218_c53073d-noarch-1.txz: Upgraded. ap/flac-1.3.4-x86_64-1.txz: Upgraded. This update fixes overflow issues with encoding and decoding. For more information, see: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0499 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-0561 (* Security fix *) ap/ksh93-1.0_20220219_bc6c5dbd-x86_64-1.txz: Upgraded. ap/mariadb-10.6.7-x86_64-2.txz: Rebuilt. Removed dangling symlink. ap/vim-8.2.4428-x86_64-1.txz: Upgraded. Patched ctags for glibc-2.35. Thanks to nobodino. d/autoconf-2.71-noarch-1.txz: Upgraded. d/automake-1.16.5-noarch-1.txz: Upgraded. d/binutils-2.38-x86_64-2.txz: Rebuilt. Fixed the SlackBuild to not run autoconf in the libiberty and intl subdirectories. It doesn't work with the latest autoconf, and there doesn't seem to be any need for it anyway. d/cmake-3.22.2-x86_64-1.txz: Upgraded. d/meson-0.61.2-x86_64-1.txz: Upgraded. d/rcs-5.10.0-x86_64-4.txz: Rebuilt. Patched for glibc-2.35. Thanks to nobodino. d/scons-4.3.0-x86_64-1.txz: Upgraded. e/emacs-27.2-x86_64-2.txz: Rebuilt. Patched for glibc-2.35. Thanks to nobodino. kde/digikam-7.5.0-x86_64-2.txz: Rebuilt. Recompiled against jasper-3.0.2. kde/wacomtablet-20220124_dd28b27-x86_64-1.txz: Upgraded. l/LibRaw-0.20.2-x86_64-4.txz: Rebuilt. Recompiled against jasper-3.0.2. l/accountsservice-22.07.5-x86_64-1.txz: Upgraded. l/dconf-editor-3.38.3-x86_64-2.txz: Rebuilt. Fixed build errors with meson. l/expat-2.4.6-x86_64-1.txz: Upgraded. l/fuse-2.9.9-x86_64-4.txz: Rebuilt. Patched for glibc-2.35. Thanks to nobodino. l/gcr-3.40.0-x86_64-2.txz: Rebuilt. Fixed build errors with meson. l/gdk-pixbuf2-2.42.6-x86_64-2.txz: Rebuilt. Fixed meson options. l/gdk-pixbuf2-xlib-2.40.2-x86_64-4.txz: Rebuilt. Fixed meson options. l/gegl-0.4.34-x86_64-3.txz: Rebuilt. Recompiled against jasper-3.0.2. l/glade-3.38.2-x86_64-6.txz: Rebuilt. Fixed build errors with meson. Removed duplicated 'da' from help/LINGUAS. l/glibc-2.35-x86_64-1.txz: Upgraded. l/glibc-i18n-2.35-x86_64-1.txz: Upgraded. l/glibc-profile-2.35-x86_64-1.txz: Upgraded. l/gobject-introspection-1.71.0-x86_64-1.txz: Upgraded. This update was needed to solve failing tests with the new meson. l/gtk+2-2.24.33-x86_64-3.txz: Rebuilt. Changed build/host to $ARCH-slackware-linux-gnu. l/gtk4-4.4.1-x86_64-2.txz: Rebuilt. Fixed meson options. l/gvfs-1.48.1-x86_64-2.txz: Rebuilt. Fixed build errors with meson. l/imagemagick-7.1.0_26-x86_64-1.txz: Upgraded. l/jasper-3.0.2-x86_64-1.txz: Upgraded. Shared library .so-version bump. l/json-glib-1.6.6-x86_64-2.txz: Rebuilt. Fixed meson options. l/libsecret-0.20.5-x86_64-1.txz: Upgraded. l/netpbm-10.97.04-x86_64-1.txz: Upgraded. l/qt5-5.15.3_20211130_014c375b-x86_64-3.txz: Rebuilt. Patched for glibc-2.35. Thanks to nobodino. Recompiled against jasper-3.0.2. l/shared-mime-info-2.1-x86_64-4.txz: Rebuilt. Fixed build errors with meson. n/gpgme-1.17.0-x86_64-1.txz: Upgraded. n/ntp-4.2.8p15-x86_64-9.txz: Rebuilt. Patched for glibc-2.35. Thanks to nobodino. x/libinput-1.19.3-x86_64-2.txz: Rebuilt. Recompiled against libwacom-2.1.0. x/libva-2.14.0-x86_64-1.txz: Upgraded. x/libva-utils-2.14.0-x86_64-1.txz: Upgraded. x/libwacom-2.1.0-x86_64-1.txz: Upgraded. Shared library .so-version bump. x/motif-2.3.8-x86_64-6.txz: Rebuilt. Fixed build with LEXLIB="-lfl". x/vulkan-sdk-1.2.176.1-x86_64-3.txz: Rebuilt. Patched for glibc-2.35. Thanks to nobodino. x/xf86-input-wacom-1.0.0-x86_64-1.txz: Upgraded. xap/network-manager-applet-1.24.0-x86_64-3.txz: Rebuilt. Fixed build errors with meson. xap/vim-gvim-8.2.4428-x86_64-1.txz: Upgraded. isolinux/initrd.img: Rebuilt. usb-and-pxe-installers/usbboot.img: Rebuilt.
Diffstat (limited to 'source')
-rwxr-xr-xsource/ap/flac/flac.SlackBuild2
-rwxr-xr-xsource/ap/ksh93/ksh93.SlackBuild1
-rwxr-xr-xsource/ap/mariadb/mariadb.SlackBuild6
-rw-r--r--source/ap/vim/ctags.use-conventional-unused-marker.patch305
-rwxr-xr-xsource/ap/vim/vim.SlackBuild4
-rwxr-xr-xsource/d/autoconf/autoconf.SlackBuild2
-rwxr-xr-xsource/d/automake/automake.SlackBuild7
-rw-r--r--source/d/automake/automake.python.3.10.diff22
-rwxr-xr-xsource/d/binutils/binutils.SlackBuild24
-rw-r--r--source/d/rcs/rcs-5.10.0-SIGSTKSZ.patch29
-rwxr-xr-xsource/d/rcs/rcs.SlackBuild9
-rwxr-xr-xsource/d/scons/scons.SlackBuild6
-rwxr-xr-xsource/e/emacs/emacs.SlackBuild10
-rw-r--r--source/e/emacs/emacs.glibc-2.34.patch40
-rw-r--r--source/kde/kde/build/digikam2
-rwxr-xr-xsource/l/LibRaw/LibRaw.SlackBuild2
-rwxr-xr-xsource/l/accountsservice/accountsservice.SlackBuild4
-rwxr-xr-xsource/l/dconf-editor/dconf-editor.SlackBuild4
-rw-r--r--source/l/dconf-editor/dconf-editor.ftbfs.diff18
-rwxr-xr-xsource/l/fuse/fuse.SlackBuild7
-rw-r--r--source/l/fuse/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch55
-rw-r--r--source/l/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch59
-rwxr-xr-xsource/l/gcr/gcr.SlackBuild8
-rwxr-xr-xsource/l/gdk-pixbuf2-xlib/gdk-pixbuf2-xlib.SlackBuild7
-rwxr-xr-xsource/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild4
-rwxr-xr-xsource/l/gegl/gegl.SlackBuild2
-rwxr-xr-xsource/l/glade/glade.SlackBuild11
-rw-r--r--source/l/glade/glade.ftbfs.diff18
-rw-r--r--source/l/glade/glade.remove.extra.da.from.LINGUAS.diff9
-rw-r--r--source/l/glibc/glibc-c-utf8-locale.patch270
-rwxr-xr-xsource/l/glibc/glibc.SlackBuild44
-rw-r--r--source/l/glibc/patches/0001-nsswitch-return-result-when-nss-database-is-locked.patch47
-rw-r--r--source/l/glibc/patches/CVE-2021-27645.patch20
-rw-r--r--source/l/glibc/patches/CVE-2021-33574_1.patch71
-rw-r--r--source/l/glibc/patches/CVE-2021-33574_2.patch53
-rw-r--r--source/l/glibc/patches/CVE-2021-35942.patch41
-rw-r--r--source/l/glibc/patches/CVE-2021-38604.patch40
-rw-r--r--source/l/glibc/patches/cdc31409bd4f878577059e70dbd52a28643ec609.patch237
-rw-r--r--source/l/glibc/patches/glibc.CVE-2021-3998.patch123
-rw-r--r--source/l/glibc/patches/glibc.CVE-2021-3999.patch356
-rwxr-xr-xsource/l/gobject-introspection/gobject-introspection.SlackBuild2
-rwxr-xr-xsource/l/gtk+2/gtk+2.SlackBuild12
-rwxr-xr-xsource/l/gtk4/gtk4.SlackBuild14
-rwxr-xr-xsource/l/gvfs/gvfs.SlackBuild4
-rw-r--r--source/l/gvfs/gvfs.ftbfs.diff10
-rwxr-xr-xsource/l/jasper/jasper.SlackBuild14
-rwxr-xr-xsource/l/json-glib/json-glib.SlackBuild4
-rwxr-xr-xsource/l/libsecret/libsecret.SlackBuild39
-rw-r--r--source/l/qt5/patches/qt5-glibc-2.34.patch24
-rwxr-xr-xsource/l/qt5/qt5.SlackBuild5
-rw-r--r--source/l/shared-mime-info/git_meson_buildfix.patch87
-rwxr-xr-xsource/l/shared-mime-info/shared-mime-info.SlackBuild3
-rwxr-xr-xsource/n/gpgme/gpgme.SlackBuild4
-rwxr-xr-xsource/n/ntp/ntp.SlackBuild5
-rw-r--r--source/n/ntp/ntp.glibc-2.34.diff11
-rwxr-xr-xsource/x/libinput/libinput.SlackBuild2
-rwxr-xr-xsource/x/libva/libva.SlackBuild2
-rwxr-xr-xsource/x/libwacom/libwacom.SlackBuild37
-rwxr-xr-xsource/x/motif/motif.SlackBuild7
-rw-r--r--source/x/vulkan-sdk/gfxreconstruct-sdk.glibc-2.35.diff11
-rwxr-xr-xsource/x/vulkan-sdk/vulkan-sdk.SlackBuild5
-rw-r--r--source/x/x11/build/xf86-input-wacom2
-rwxr-xr-xsource/xap/network-manager-applet/network-manager-applet.SlackBuild4
-rw-r--r--source/xap/network-manager-applet/network-manager-applet.ftbfs.diff18
64 files changed, 899 insertions, 1406 deletions
diff --git a/source/ap/flac/flac.SlackBuild b/source/ap/flac/flac.SlackBuild
index ef935dc05..f7eeeac59 100755
--- a/source/ap/flac/flac.SlackBuild
+++ b/source/ap/flac/flac.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=flac
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/ap/ksh93/ksh93.SlackBuild b/source/ap/ksh93/ksh93.SlackBuild
index cb6bac6c8..b1d17b577 100755
--- a/source/ap/ksh93/ksh93.SlackBuild
+++ b/source/ap/ksh93/ksh93.SlackBuild
@@ -129,6 +129,7 @@ mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/LICENSES
cp -a lib/package/LICENSES/* $PKG/usr/doc/$PKGNAM-$VERSION/LICENSES
find . -name "*.def" -exec cp -a "{}" $PKG/usr/doc/$PKGNAM-$VERSION/LICENSES \;
find . -name "*.lic" -exec cp -a "{}" $PKG/usr/doc/$PKGNAM-$VERSION/LICENSES \;
+rmdir $PKG/usr/doc/$PKGNAM-$VERSION/LICENSES 2> /dev/null
chown -R root:root $PKG/usr/doc/$PKGNAM-$VERSION
find $PKG/usr/doc/$PKGNAM-$VERSION -type f -exec chmod 644 "{}" \;
find $PKG/usr/doc/$PKGNAM-$VERSION -type d -exec chmod 755 "{}" \;
diff --git a/source/ap/mariadb/mariadb.SlackBuild b/source/ap/mariadb/mariadb.SlackBuild
index 6437eadc9..f9c5d8462 100755
--- a/source/ap/mariadb/mariadb.SlackBuild
+++ b/source/ap/mariadb/mariadb.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2012, 2013, 2014, 2017, 2018, 2020, 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2012, 2013, 2014, 2017, 2018, 2020, 2021, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
# Copyright 2011, 2012, 2013, 2014, 2017 Heinz Wiesinger, Amsterdam, The Netherlands
# All rights reserved.
#
@@ -30,7 +30,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=mariadb
VERSION=${VERSION:-$(echo ${PKGNAM}-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# To reduce the package size, the embedded server may be omitted. Currently
# only amarok uses this. To build without embedded support, set this to NO.
@@ -167,6 +167,8 @@ if [ "$KEEPSTATIC" = "NO" ]; then
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient.a
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqlclient_r.a
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmysqld.a
+ # Remove any resulting dangling symlinks:
+ ( cd $PKG ; find . -xtype l | xargs rm )
fi
if [ "$KEEPTESTS" = "NO" ]; then
diff --git a/source/ap/vim/ctags.use-conventional-unused-marker.patch b/source/ap/vim/ctags.use-conventional-unused-marker.patch
new file mode 100644
index 000000000..ca450dfa0
--- /dev/null
+++ b/source/ap/vim/ctags.use-conventional-unused-marker.patch
@@ -0,0 +1,305 @@
+From 9643017460c221fed5689bcc55a41230200c40cc Mon Sep 17 00:00:00 2001
+From: Simon Chopin <simon.chopin@canonical.com>
+Date: Fri, 13 Aug 2021 16:47:57 +0200
+Subject: build fix: Use conventional compiler attribute shorthand
+
+The `__unused` macro has been used on Linux systems for this exact
+purpose for ages. On the other hand, using the non-standard __unused__
+breaks the build when compiling against glibc 2.34, as they use this
+identifier internally.
+
+Last-Update: 2021-08-13
+
+Patch-Name: use-conventional-unused-marker.patch
+---
+ c.c | 4 ++--
+ eiffel.c | 2 +-
+ general.h | 6 ++++--
+ lregex.c | 30 +++++++++++++++---------------
+ lua.c | 2 +-
+ main.c | 2 +-
+ options.c | 24 ++++++++++++------------
+ parse.c | 2 +-
+ python.c | 2 +-
+ routines.c | 2 +-
+ 10 files changed, 39 insertions(+), 37 deletions(-)
+
+diff --git a/c.c b/c.c
+index 0cf0a14..c5d496b 100644
+--- a/c.c
++++ b/c.c
+@@ -619,7 +619,7 @@ static const char *keywordString (const keywordId keyword)
+ return name;
+ }
+
+-static void __unused__ pt (tokenInfo *const token)
++static void __unused pt (tokenInfo *const token)
+ {
+ if (isType (token, TOKEN_NAME))
+ printf ("type: %-12s: %-13s line: %lu\n",
+@@ -634,7 +634,7 @@ static void __unused__ pt (tokenInfo *const token)
+ tokenString (token->type), token->lineNumber);
+ }
+
+-static void __unused__ ps (statementInfo *const st)
++static void __unused ps (statementInfo *const st)
+ {
+ unsigned int i;
+ printf ("scope: %s decl: %s gotName: %s gotParenName: %s\n",
+diff --git a/eiffel.c b/eiffel.c
+index e2f5a5c..67bfaa1 100644
+--- a/eiffel.c
++++ b/eiffel.c
+@@ -807,7 +807,7 @@ static void findKeyword (tokenInfo *const token, const keywordId keyword)
+
+ static boolean parseType (tokenInfo *const token);
+
+-static void parseGeneric (tokenInfo *const token, boolean declaration __unused__)
++static void parseGeneric (tokenInfo *const token, boolean declaration __unused)
+ {
+ unsigned int depth = 0;
+ #ifdef TYPE_REFERENCE_TOOL
+diff --git a/general.h b/general.h
+index 2d1d629..049e215 100644
+--- a/general.h
++++ b/general.h
+@@ -57,10 +57,12 @@
+ * to prevent warnings about unused variables.
+ */
+ #if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)) && !defined (__GNUG__)
+-# define __unused__ __attribute__((unused))
++# ifndef __unused
++# define __unused __attribute__((unused))
++# endif
+ # define __printf__(s,f) __attribute__((format (printf, s, f)))
+ #else
+-# define __unused__
++# define __unused
+ # define __printf__(s,f)
+ #endif
+
+diff --git a/lregex.c b/lregex.c
+index 37d7ea0..964508b 100644
+--- a/lregex.c
++++ b/lregex.c
+@@ -538,11 +538,11 @@ extern void findRegexTags (void)
+ #endif /* HAVE_REGEX */
+
+ extern void addTagRegex (
+- const langType language __unused__,
+- const char* const regex __unused__,
+- const char* const name __unused__,
+- const char* const kinds __unused__,
+- const char* const flags __unused__)
++ const langType language __unused,
++ const char* const regex __unused,
++ const char* const name __unused,
++ const char* const kinds __unused,
++ const char* const flags __unused)
+ {
+ #ifdef HAVE_REGEX
+ Assert (regex != NULL);
+@@ -564,10 +564,10 @@ extern void addTagRegex (
+ }
+
+ extern void addCallbackRegex (
+- const langType language __unused__,
+- const char* const regex __unused__,
+- const char* const flags __unused__,
+- const regexCallback callback __unused__)
++ const langType language __unused,
++ const char* const regex __unused,
++ const char* const flags __unused,
++ const regexCallback callback __unused)
+ {
+ #ifdef HAVE_REGEX
+ Assert (regex != NULL);
+@@ -581,7 +581,7 @@ extern void addCallbackRegex (
+ }
+
+ extern void addLanguageRegex (
+- const langType language __unused__, const char* const regex __unused__)
++ const langType language __unused, const char* const regex __unused)
+ {
+ #ifdef HAVE_REGEX
+ if (! regexBroken)
+@@ -602,7 +602,7 @@ extern void addLanguageRegex (
+ */
+
+ extern boolean processRegexOption (const char *const option,
+- const char *const parameter __unused__)
++ const char *const parameter __unused)
+ {
+ boolean handled = FALSE;
+ const char* const dash = strchr (option, '-');
+@@ -624,7 +624,7 @@ extern boolean processRegexOption (const char *const option,
+ return handled;
+ }
+
+-extern void disableRegexKinds (const langType language __unused__)
++extern void disableRegexKinds (const langType language __unused)
+ {
+ #ifdef HAVE_REGEX
+ if (language <= SetUpper && Sets [language].count > 0)
+@@ -639,8 +639,8 @@ extern void disableRegexKinds (const langType language __unused__)
+ }
+
+ extern boolean enableRegexKind (
+- const langType language __unused__,
+- const int kind __unused__, const boolean mode __unused__)
++ const langType language __unused,
++ const int kind __unused, const boolean mode __unused)
+ {
+ boolean result = FALSE;
+ #ifdef HAVE_REGEX
+@@ -660,7 +660,7 @@ extern boolean enableRegexKind (
+ return result;
+ }
+
+-extern void printRegexKinds (const langType language __unused__, boolean indent __unused__)
++extern void printRegexKinds (const langType language __unused, boolean indent __unused)
+ {
+ #ifdef HAVE_REGEX
+ if (language <= SetUpper && Sets [language].count > 0)
+diff --git a/lua.c b/lua.c
+index d385544..a2699c6 100644
+--- a/lua.c
++++ b/lua.c
+@@ -37,7 +37,7 @@ static kindOption LuaKinds [] = {
+ */
+
+ /* for debugging purposes */
+-static void __unused__ print_string (char *p, char *q)
++static void __unused print_string (char *p, char *q)
+ {
+ for ( ; p != q; p++)
+ fprintf (errout, "%c", *p);
+diff --git a/main.c b/main.c
+index 79948fe..38ce218 100644
+--- a/main.c
++++ b/main.c
+@@ -522,7 +522,7 @@ static void makeTags (cookedArgs *args)
+ * Start up code
+ */
+
+-extern int main (int __unused__ argc, char **argv)
++extern int main (int __unused argc, char **argv)
+ {
+ cookedArgs *args;
+ #ifdef VMS
+diff --git a/options.c b/options.c
+index ae773ef..029767c 100644
+--- a/options.c
++++ b/options.c
+@@ -730,7 +730,7 @@ static void processEtagsInclude (
+ }
+
+ static void processExcludeOption (
+- const char *const option __unused__, const char *const parameter)
++ const char *const option __unused, const char *const parameter)
+ {
+ const char *const fileName = parameter + 1;
+ if (parameter [0] == '\0')
+@@ -867,7 +867,7 @@ static void processFieldsOption (
+ }
+
+ static void processFilterTerminatorOption (
+- const char *const option __unused__, const char *const parameter)
++ const char *const option __unused, const char *const parameter)
+ {
+ freeString (&Option.filterTerminator);
+ Option.filterTerminator = stringCopy (parameter);
+@@ -929,8 +929,8 @@ static void printProgramIdentification (void)
+ }
+
+ static void processHelpOption (
+- const char *const option __unused__,
+- const char *const parameter __unused__)
++ const char *const option __unused,
++ const char *const parameter __unused)
+ {
+ printProgramIdentification ();
+ putchar ('\n');
+@@ -1138,8 +1138,8 @@ static void processLanguagesOption (
+ }
+
+ static void processLicenseOption (
+- const char *const option __unused__,
+- const char *const parameter __unused__)
++ const char *const option __unused,
++ const char *const parameter __unused)
+ {
+ printProgramIdentification ();
+ puts ("");
+@@ -1165,8 +1165,8 @@ static void processListKindsOption (
+ }
+
+ static void processListMapsOption (
+- const char *const __unused__ option,
+- const char *const __unused__ parameter)
++ const char *const __unused option,
++ const char *const __unused parameter)
+ {
+ if (parameter [0] == '\0' || strcasecmp (parameter, "all") == 0)
+ printLanguageMaps (LANG_AUTO);
+@@ -1182,8 +1182,8 @@ static void processListMapsOption (
+ }
+
+ static void processListLanguagesOption (
+- const char *const option __unused__,
+- const char *const parameter __unused__)
++ const char *const option __unused,
++ const char *const parameter __unused)
+ {
+ printLanguageList ();
+ exit (0);
+@@ -1357,8 +1357,8 @@ static void processIgnoreOption (const char *const list)
+ }
+
+ static void processVersionOption (
+- const char *const option __unused__,
+- const char *const parameter __unused__)
++ const char *const option __unused,
++ const char *const parameter __unused)
+ {
+ printProgramIdentification ();
+ exit (0);
+diff --git a/parse.c b/parse.c
+index 0b5e2c3..7e7361b 100644
+--- a/parse.c
++++ b/parse.c
+@@ -376,7 +376,7 @@ extern void freeParserResources (void)
+ */
+
+ extern void processLanguageDefineOption (
+- const char *const option, const char *const parameter __unused__)
++ const char *const option, const char *const parameter __unused)
+ {
+ #ifdef HAVE_REGEX
+ if (parameter [0] == '\0')
+diff --git a/python.c b/python.c
+index bf797de..f94e5de 100644
+--- a/python.c
++++ b/python.c
+@@ -135,7 +135,7 @@ static boolean isIdentifierCharacter (int c)
+ * extract all relevant information and create a tag.
+ */
+ static void makeFunctionTag (vString *const function,
+- vString *const parent, int is_class_parent, const char *arglist __unused__)
++ vString *const parent, int is_class_parent, const char *arglist __unused)
+ {
+ tagEntryInfo tag;
+ initTagEntry (&tag, vStringValue (function));
+diff --git a/routines.c b/routines.c
+index 8ebe2e0..c465626 100644
+--- a/routines.c
++++ b/routines.c
+@@ -526,7 +526,7 @@ static boolean isPathSeparator (const int c)
+
+ #if ! defined (HAVE_STAT_ST_INO)
+
+-static void canonicalizePath (char *const path __unused__)
++static void canonicalizePath (char *const path __unused)
+ {
+ #if defined (MSDOS_STYLE_PATH)
+ char *p;
diff --git a/source/ap/vim/vim.SlackBuild b/source/ap/vim/vim.SlackBuild
index 362206fa0..64ad16bb5 100755
--- a/source/ap/vim/vim.SlackBuild
+++ b/source/ap/vim/vim.SlackBuild
@@ -99,6 +99,10 @@ find . \
-exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+
+# patch to solve an issue introduced by glibc-2.34 from http://deb.debian.org/debian/pool/main/e/exuberant-ctags/exuberant-ctags_5.9~svn20110310-15.debian.tar.xz
+zcat $CWD/ctags.use-conventional-unused-marker.patch.gz | patch -Esp1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" LDFLAGS="$SLKLDFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/d/autoconf/autoconf.SlackBuild b/source/d/autoconf/autoconf.SlackBuild
index f8c883698..59093015d 100755
--- a/source/d/autoconf/autoconf.SlackBuild
+++ b/source/d/autoconf/autoconf.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=autoconf
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
diff --git a/source/d/automake/automake.SlackBuild b/source/d/automake/automake.SlackBuild
index 6fbc3b063..21915f799 100755
--- a/source/d/automake/automake.SlackBuild
+++ b/source/d/automake/automake.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2012, 2015, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2012, 2015, 2018, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=automake
VERSION=${VERSION:-$(echo automake-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
# Note: the package is _built_ as 'noarch'
# Automatically determine architecture for build & packaging:
@@ -63,9 +63,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# Python detection fix for 3.10:
-zcat $CWD/automake.python.3.10.diff.gz | patch -p1 --verbose || exit 1
-
./configure \
--prefix=/usr \
--mandir=/usr/man \
diff --git a/source/d/automake/automake.python.3.10.diff b/source/d/automake/automake.python.3.10.diff
deleted file mode 100644
index 02dd7348f..000000000
--- a/source/d/automake/automake.python.3.10.diff
+++ /dev/null
@@ -1,22 +0,0 @@
---- ./m4/python.m4.orig 2020-01-01 13:43:28.000000000 -0600
-+++ ./m4/python.m4 2021-10-15 11:40:40.523668203 -0500
-@@ -86,12 +86,14 @@
- m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
- else
-
-- dnl Query Python for its version number. Getting [:3] seems to be
-- dnl the best way to do this; it's what "site.py" does in the standard
-- dnl library.
--
-+ dnl Query Python for its version number. Although site.py simply uses
-+ dnl sys.version[:3], printing that failed with Python 3.10, since the
-+ dnl trailing zero was eliminated. So now we output just the major
-+ dnl and minor version numbers, as numbers. Apparently the tertiary
-+ dnl version is not of interest.
-+ dnl
- AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
-- [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
-+ [am_cv_python_version=`$PYTHON -c "import sys; print ('%u.%u' % sys.version_info[[:2]])"`])
- AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
-
- dnl Use the values of $prefix and $exec_prefix for the corresponding
diff --git a/source/d/binutils/binutils.SlackBuild b/source/d/binutils/binutils.SlackBuild
index 07cd9ce32..f4733e492 100755
--- a/source/d/binutils/binutils.SlackBuild
+++ b/source/d/binutils/binutils.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=binutils
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -131,16 +131,18 @@ zcat $CWD/patches/binutils-revert-PLT-elision.patch.gz | patch -p1 --verbose ||
zcat $CWD/patches/binutils-special-sections-in-groups.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/patches/binutils-testsuite-fixes.patch.gz | patch -p1 --verbose || exit 1
-# Thanks to Fedora:
-# Dependencies are not set up to rebuild the configure files
-# in the subdirectories. So we just rebuild the ones we care
-# about after applying the configure patches
-pushd libiberty
-autoconf
-popd
-pushd intl
-autoconf
-popd
+## COMMENTED OUT as nothing touches configure-related files in these
+## directories, and the latest autoconf isn't working to rebuild them.
+## Thanks to Fedora:
+## Dependencies are not set up to rebuild the configure files
+## in the subdirectories. So we just rebuild the ones we care
+## about after applying the configure patches
+#pushd libiberty
+#autoconf
+#popd
+#pushd intl
+#autoconf
+#popd
chown -R root:root .
find . \
diff --git a/source/d/rcs/rcs-5.10.0-SIGSTKSZ.patch b/source/d/rcs/rcs-5.10.0-SIGSTKSZ.patch
new file mode 100644
index 000000000..5906e3e91
--- /dev/null
+++ b/source/d/rcs/rcs-5.10.0-SIGSTKSZ.patch
@@ -0,0 +1,29 @@
+diff -up rcs-5.10.0.orig/src/b-isr.c rcs-5.10.0/src/b-isr.c
+--- rcs-5.10.0.orig/src/b-isr.c 2021-04-04 14:13:59.185941494 +0200
++++ rcs-5.10.0/src/b-isr.c 2021-04-04 14:15:21.087397267 +0200
+@@ -198,22 +198,16 @@ setup_catchsig (size_t count, int const
+ #undef MUST
+ }
+
+-#if defined HAVE_SIGALTSTACK && defined SIGSTKSZ
+-#define ISR_STACK_SIZE (10 * SIGSTKSZ)
+-#else
+-#define ISR_STACK_SIZE 0
+-#endif
+-
+ struct isr_scratch *
+ isr_init (bool *be_quiet)
+ {
+ struct isr_scratch *scratch = ZLLOC (1, struct isr_scratch);
+
+-#if ISR_STACK_SIZE
++#if defined HAVE_SIGALTSTACK && defined SIGSTKSZ
+ stack_t ss =
+ {
+- .ss_sp = alloc (PLEXUS, ISR_STACK_SIZE),
+- .ss_size = ISR_STACK_SIZE,
++ .ss_sp = alloc (PLEXUS, (10 * SIGSTKSZ)),
++ .ss_size = (10 * SIGSTKSZ),
+ .ss_flags = 0
+ };
+
diff --git a/source/d/rcs/rcs.SlackBuild b/source/d/rcs/rcs.SlackBuild
index e9b5a8126..bd87fab50 100755
--- a/source/d/rcs/rcs.SlackBuild
+++ b/source/d/rcs/rcs.SlackBuild
@@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=rcs
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -84,7 +84,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION
chown -R root:root .
@@ -94,6 +94,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+# patch to build with glibc-2.34 from https://src.fedoraproject.org/rpms/rcs/raw/rawhide/f/rcs-5.10.0-upstream-8883c4f5a2.patch
+zcat $CWD/rcs-5.10.0-SIGSTKSZ.patch.gz | patch -Esp1 --verbose || exit 1
+
# Configure:
CFLAGS="$SLKCFLAGS -std=c99" \
./configure \
diff --git a/source/d/scons/scons.SlackBuild b/source/d/scons/scons.SlackBuild
index c924783c9..5353b47ed 100755
--- a/source/d/scons/scons.SlackBuild
+++ b/source/d/scons/scons.SlackBuild
@@ -24,8 +24,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=scons
-VERSION=${VERSION:-$(echo scons-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-$(echo SCons-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -67,7 +67,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf SCons-$VERSION scons-$VERSION
-tar xvf $CWD/scons-$VERSION.tar.*z* || exit 1
+tar xvf $CWD/SCons-$VERSION.tar.*z* || exit 1
cd SCons-$VERSION || cd scons-$VERSION || exit 1
chown -R root:root .
find . \
diff --git a/source/e/emacs/emacs.SlackBuild b/source/e/emacs/emacs.SlackBuild
index a25b27b3d..33a31ceaa 100755
--- a/source/e/emacs/emacs.SlackBuild
+++ b/source/e/emacs/emacs.SlackBuild
@@ -27,7 +27,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=emacs
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Determine version number the tarball is labeled with:
TARBALLVER=${TARBALLVER:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
# OK, now what's being used as the source directory version number... account
@@ -99,7 +99,7 @@ find . \
# memory given the amount available on modern systems:
sed -i "s/#define SYSTEM_PURESIZE_EXTRA 0/#define SYSTEM_PURESIZE_EXTRA 100000/g" src/puresize.h
-#autoreconf -vif
+zcat $CWD/emacs.glibc-2.34.patch.gz | patch -p1 --verbose || exit 1
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -140,6 +140,12 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+# The defaults are a little too worried about adding a few more K of pure
+# memory given the amount available on modern systems:
+sed -i "s/#define SYSTEM_PURESIZE_EXTRA 0/#define SYSTEM_PURESIZE_EXTRA 100000/g" src/puresize.h
+
+zcat $CWD/emacs.glibc-2.34.patch.gz | patch -p1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/e/emacs/emacs.glibc-2.34.patch b/source/e/emacs/emacs.glibc-2.34.patch
new file mode 100644
index 000000000..6d764aa26
--- /dev/null
+++ b/source/e/emacs/emacs.glibc-2.34.patch
@@ -0,0 +1,40 @@
+From f97e07ea807cc6d38774a3888a15091b20645ac6 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Tue, 9 Mar 2021 11:22:59 -0800
+Subject: [PATCH] Port alternate signal stack to upcoming glibc 2.34
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* src/sysdep.c (sigsegv_stack): Increase size to 64 KiB and align
+it to max_align_t. This copies from Gnulib’s c-stack.c, and works
+around a portability bug in draft glibc 2.34, which no longer
+defines SIGSTKSZ when _GNU_SOURCE is defined.
+---
+ src/sysdep.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/sysdep.c b/src/sysdep.c
+index 941b4e2fa2..24d8832b2f 100644
+--- a/src/sysdep.c
++++ b/src/sysdep.c
+@@ -1785,7 +1785,15 @@ handle_arith_signal (int sig)
+
+ /* Alternate stack used by SIGSEGV handler below. */
+
+-static unsigned char sigsegv_stack[SIGSTKSZ];
++/* Storage for the alternate signal stack.
++ 64 KiB is not too large for Emacs, and is large enough
++ for all known platforms. Smaller sizes may run into trouble.
++ For example, libsigsegv 2.6 through 2.8 have a bug where some
++ architectures use more than the Linux default of an 8 KiB alternate
++ stack when deciding if a fault was caused by stack overflow. */
++static max_align_t sigsegv_stack[(64 * 1024
++ + sizeof (max_align_t) - 1)
++ / sizeof (max_align_t)];
+
+
+ /* Return true if SIGINFO indicates a stack overflow. */
+--
+2.29.2
+
diff --git a/source/kde/kde/build/digikam b/source/kde/kde/build/digikam
index d00491fd7..0cfbf0888 100644
--- a/source/kde/kde/build/digikam
+++ b/source/kde/kde/build/digikam
@@ -1 +1 @@
-1
+2
diff --git a/source/l/LibRaw/LibRaw.SlackBuild b/source/l/LibRaw/LibRaw.SlackBuild
index a6356aaf6..64a358cc3 100755
--- a/source/l/LibRaw/LibRaw.SlackBuild
+++ b/source/l/LibRaw/LibRaw.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=LibRaw
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
diff --git a/source/l/accountsservice/accountsservice.SlackBuild b/source/l/accountsservice/accountsservice.SlackBuild
index c608a4b07..5adfbaf3e 100755
--- a/source/l/accountsservice/accountsservice.SlackBuild
+++ b/source/l/accountsservice/accountsservice.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=accountsservice
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -107,9 +107,7 @@ meson setup \
-D docbook=false \
-D gtk_doc=true \
-D elogind=true \
- -D systemd=false \
-D systemdsystemunitdir=no \
- -D user_heuristics=false \
.. || exit 1
"${NINJA:=ninja}" $NUMJOBS || exit 1
DESTDIR=$PKG $NINJA install || exit 1
diff --git a/source/l/dconf-editor/dconf-editor.SlackBuild b/source/l/dconf-editor/dconf-editor.SlackBuild
index 119b81ccb..8ee443e91 100755
--- a/source/l/dconf-editor/dconf-editor.SlackBuild
+++ b/source/l/dconf-editor/dconf-editor.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=dconf-editor
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -78,6 +78,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+zcat $CWD/dconf-editor.ftbfs.diff.gz | patch -p1 --verbose || exit 1
+
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
diff --git a/source/l/dconf-editor/dconf-editor.ftbfs.diff b/source/l/dconf-editor/dconf-editor.ftbfs.diff
new file mode 100644
index 000000000..f6d99ba9d
--- /dev/null
+++ b/source/l/dconf-editor/dconf-editor.ftbfs.diff
@@ -0,0 +1,18 @@
+--- ./editor/meson.build.orig 2021-03-23 10:37:37.571719400 -0500
++++ ./editor/meson.build 2022-02-16 19:13:03.612538392 -0600
+@@ -1,7 +1,6 @@
+ desktop = dconf_editor_namespace + '.desktop'
+
+ i18n.merge_file (
+- desktop,
+ type: 'desktop',
+ input: desktop + '.in',
+ output: desktop,
+@@ -26,7 +25,6 @@
+ appdata = dconf_editor_namespace + '.appdata.xml'
+
+ i18n.merge_file(
+- appdata,
+ input: appdata + '.in',
+ output: appdata,
+ po_dir: po_dir,
diff --git a/source/l/fuse/fuse.SlackBuild b/source/l/fuse/fuse.SlackBuild
index c5f67f1c2..0f6b50179 100755
--- a/source/l/fuse/fuse.SlackBuild
+++ b/source/l/fuse/fuse.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=fuse
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -79,6 +79,11 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+# patch to build with glibc-2.34 from https://src.fedoraproject.org/rpms/fuse/raw/rawhide/f/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch
+zcat $CWD/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch.gz | patch -Esp1 --verbose || exit 1
+
+autoreconf -vif
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/l/fuse/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch b/source/l/fuse/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch
new file mode 100644
index 000000000..4cc2f8f6e
--- /dev/null
+++ b/source/l/fuse/fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch
@@ -0,0 +1,55 @@
+From: Sam James <sam@gentoo.org>
+Date: Sat, 24 Jul 2021 22:02:45 +0100
+Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix
+ glibc-2.34+)
+
+closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since
+it's available in glibc 2.34+, we want to detect it and only define our
+fallback if the libc doesn't provide it.
+
+Bug: https://bugs.gentoo.org/803923
+Signed-off-by: Sam James <sam@gentoo.org>
+
+diff --git a/configure.ac b/configure.ac
+index 9946a0e..a2d481a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,6 +55,7 @@ fi
+
+ AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat])
+ AC_CHECK_FUNCS([posix_fallocate])
++AC_CHECK_FUNCS([closefrom])
+ AC_CHECK_MEMBERS([struct stat.st_atim])
+ AC_CHECK_MEMBERS([struct stat.st_atimespec])
+
+diff --git a/util/ulockmgr_server.c b/util/ulockmgr_server.c
+index 273c7d9..a04dac5 100644
+--- a/util/ulockmgr_server.c
++++ b/util/ulockmgr_server.c
+@@ -22,6 +22,10 @@
+ #include <sys/socket.h>
+ #include <sys/wait.h>
+
++#ifdef HAVE_CONFIG_H
++ #include "config.h"
++#endif
++
+ struct message {
+ unsigned intr : 1;
+ unsigned nofd : 1;
+@@ -124,6 +128,7 @@ static int receive_message(int sock, void *buf, size_t buflen, int *fdp,
+ return res;
+ }
+
++#if !defined(HAVE_CLOSEFROM)
+ static int closefrom(int minfd)
+ {
+ DIR *dir = opendir("/proc/self/fd");
+@@ -141,6 +146,7 @@ static int closefrom(int minfd)
+ }
+ return 0;
+ }
++#endif
+
+ static void send_reply(int cfd, struct message *msg)
+ {
diff --git a/source/l/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch b/source/l/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
new file mode 100644
index 000000000..548368b7b
--- /dev/null
+++ b/source/l/gcr/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
@@ -0,0 +1,59 @@
+From b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Wed, 12 Jan 2022 00:24:20 +0100
+Subject: [PATCH] meson: Fix unknown kw argument in gnome.generate_gir
+
+This argument has been removed in Meson 0.61.0:
+
+ gck/meson.build:130:2: ERROR: gnome.generate_gir got unknown keyword arguments "packages"
+
+https://github.com/mesonbuild/meson/commit/f8fc5cb860465718fe7c79a1bf1fe00659f138de:
+
+> The packages argument to gnome.generate_gir was allowed, but never did anything, so stop passing it.
+
+Fixes #89
+---
+ gck/meson.build | 1 -
+ gcr/meson.build | 1 -
+ ui/meson.build | 1 -
+ 3 files changed, 3 deletions(-)
+
+diff --git a/gck/meson.build b/gck/meson.build
+index 756b4866..a21a1e9d 100644
+--- a/gck/meson.build
++++ b/gck/meson.build
+@@ -131,7 +131,6 @@ if get_option('introspection')
+ sources: gck_gir_sources,
+ namespace: 'Gck',
+ nsversion: '@0@'.format(gck_major_version),
+- packages: gck_deps,
+ export_packages: 'gck-@0@'.format(gck_major_version),
+ includes: [ 'GObject-2.0', 'Gio-2.0' ],
+ header: 'gck/gck.h',
+diff --git a/gcr/meson.build b/gcr/meson.build
+index 2233a445..c83641ba 100644
+--- a/gcr/meson.build
++++ b/gcr/meson.build
+@@ -190,7 +190,6 @@ if get_option('introspection')
+ sources: [ gcr_base_public_sources, gcr_base_headers ],
+ namespace: 'Gcr',
+ nsversion: '@0@'.format(gcr_major_version),
+- packages: gcr_base_deps,
+ export_packages: 'gcr-base-@0@'.format(gcr_major_version),
+ includes: [
+ 'GObject-2.0',
+diff --git a/ui/meson.build b/ui/meson.build
+index e656ea23..32ee057f 100644
+--- a/ui/meson.build
++++ b/ui/meson.build
+@@ -152,7 +152,6 @@ if get_option('introspection')
+ export_packages: 'gcr-ui-@0@'.format(gcr_major_version),
+ identifier_prefix: 'Gcr',
+ symbol_prefix: 'gcr',
+- packages: gcr_ui_deps,
+ includes: [
+ 'GObject-2.0',
+ 'Gio-2.0',
+--
+GitLab
+
diff --git a/source/l/gcr/gcr.SlackBuild b/source/l/gcr/gcr.SlackBuild
index 857116c79..7325aa2c5 100755
--- a/source/l/gcr/gcr.SlackBuild
+++ b/source/l/gcr/gcr.SlackBuild
@@ -1,8 +1,7 @@
#!/bin/bash
-# Slackware build script for gcr
-
# Copyright 2012 Robby Workman, Northport, Alabama, USA
+# Copyright 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gcr
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -80,6 +79,9 @@ find . \
# meson.
zcat $CWD/gcr.meson.disable.schemas-compile.update-mime.update-icon-cache.diff.gz | patch -p1 --verbose || exit 1
+# Fix for recent meson:
+zcat $CWD/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch.gz | patch -p1 --verbose || exit 1
+
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
diff --git a/source/l/gdk-pixbuf2-xlib/gdk-pixbuf2-xlib.SlackBuild b/source/l/gdk-pixbuf2-xlib/gdk-pixbuf2-xlib.SlackBuild
index 4f365d906..a7a37f5c9 100755
--- a/source/l/gdk-pixbuf2-xlib/gdk-pixbuf2-xlib.SlackBuild
+++ b/source/l/gdk-pixbuf2-xlib/gdk-pixbuf2-xlib.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gdk-pixbuf2-xlib
SRCNAM=gdk-pixbuf-xlib
VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -95,10 +95,7 @@ meson setup \
--sysconfdir=/etc \
--localstatedir=/var \
--buildtype=release \
- -Ddocs=true \
- -Dgir=true \
- -Dx11=true \
- -Dinstalled_tests=false \
+ -Dgtk_doc=false \
.. || exit 1
"${NINJA:=ninja}" $NUMJOBS || exit 1
DESTDIR=$PKG $NINJA install || exit 1
diff --git a/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild b/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
index 08bf9a8c4..1a8c6a2a6 100755
--- a/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
+++ b/source/l/gdk-pixbuf2/gdk-pixbuf2.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gdk-pixbuf
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -95,8 +95,6 @@ meson setup \
--localstatedir=/var \
--buildtype=release \
-Dgtk_doc=false \
- -Dgir=true \
- -Dx11=true \
-Dinstalled_tests=false \
.. || exit 1
"${NINJA:=ninja}" $NUMJOBS || exit 1
diff --git a/source/l/gegl/gegl.SlackBuild b/source/l/gegl/gegl.SlackBuild
index 8f17c84aa..3f037bd23 100755
--- a/source/l/gegl/gegl.SlackBuild
+++ b/source/l/gegl/gegl.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gegl
VERSION=${VERSION:-$(echo gegl-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/glade/glade.SlackBuild b/source/l/glade/glade.SlackBuild
index 4f6a0a73e..2cb458c54 100755
--- a/source/l/glade/glade.SlackBuild
+++ b/source/l/glade/glade.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/bash
-# Slackware build script for glade
-
# Copyright 2011, 2020 Robby Workman, Tuscaloosa, Alabama, USA
+# Copyright 2022 Patrick J. Volkerding, Sebeka, MN, USA
+#
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=glade
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-6}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -79,8 +79,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# Well, this is dumb:
-sed -i "s,python-3.8-embed,python-3.9-embed," meson.build
+zcat $CWD/glade.ftbfs.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/glade.remove.extra.da.from.LINGUAS.diff.gz | patch -p1 --verbose || exit 1
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
@@ -100,6 +100,7 @@ meson setup \
--localstatedir=/var \
--buildtype=release \
-Dgladeui=true \
+ -Dgtk_doc=false \
.. || exit 1
"${NINJA:=ninja}" $NUMJOBS || exit 1
DESTDIR=$PKG $NINJA install || exit 1
diff --git a/source/l/glade/glade.ftbfs.diff b/source/l/glade/glade.ftbfs.diff
new file mode 100644
index 000000000..d9516925d
--- /dev/null
+++ b/source/l/glade/glade.ftbfs.diff
@@ -0,0 +1,18 @@
+--- ./data/meson.build.orig 2020-11-20 15:02:11.854337200 -0600
++++ ./data/meson.build 2022-02-16 13:40:12.980091649 -0600
+@@ -2,7 +2,6 @@
+ desktop_conf.set('VERSION', glade_version)
+
+ i18n.merge_file(
+- 'desktop',
+ type: 'desktop',
+ input: configure_file(
+ input: 'org.gnome.Glade.desktop.in.in',
+@@ -18,7 +17,6 @@
+ appdata = glade_name + '.appdata.xml'
+
+ i18n.merge_file(
+- 'appdata',
+ input: 'org.gnome.Glade.appdata.xml.in',
+ output: '@BASENAME@',
+ po_dir: po_dir,
diff --git a/source/l/glade/glade.remove.extra.da.from.LINGUAS.diff b/source/l/glade/glade.remove.extra.da.from.LINGUAS.diff
new file mode 100644
index 000000000..e9679abeb
--- /dev/null
+++ b/source/l/glade/glade.remove.extra.da.from.LINGUAS.diff
@@ -0,0 +1,9 @@
+--- ./help/LINGUAS.orig 2020-11-20 15:02:11.862337000 -0600
++++ ./help/LINGUAS 2022-02-16 13:50:32.440105506 -0600
+@@ -1,6 +1,5 @@
+ # please keep this list sorted alphabetically
+ #
+-da
+ bg
+ ca
+ cs
diff --git a/source/l/glibc/glibc-c-utf8-locale.patch b/source/l/glibc/glibc-c-utf8-locale.patch
deleted file mode 100644
index 7fabf303f..000000000
--- a/source/l/glibc/glibc-c-utf8-locale.patch
+++ /dev/null
@@ -1,270 +0,0 @@
-From 2eda7b462b415105f5a05c1323372d4e39d46439 Mon Sep 17 00:00:00 2001
-From: Mike FABIAN <mfabian@redhat.com>
-Date: Mon, 10 Aug 2015 15:58:12 +0200
-Subject: [PATCH] Add a C.UTF-8 locale
-
----
- localedata/SUPPORTED | 1 +
- localedata/locales/C | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 239 insertions(+)
- create mode 100644 localedata/locales/C
-
-diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED
-index 8ca023e..2a78391 100644
---- a/localedata/SUPPORTED
-+++ b/localedata/SUPPORTED
-@@ -1,6 +1,7 @@
- # This file names the currently supported and somewhat tested locales.
- # If you have any additions please file a glibc bug report.
- SUPPORTED-LOCALES=\
-+C.UTF-8/UTF-8 \
- aa_DJ.UTF-8/UTF-8 \
- aa_DJ/ISO-8859-1 \
- aa_ER/UTF-8 \
-diff --git a/localedata/locales/C b/localedata/locales/C
-new file mode 100644
-index 0000000..fdf460e
---- /dev/null
-+++ b/localedata/locales/C
-@@ -0,0 +1,238 @@
-+escape_char /
-+comment_char %
-+% Locale for C locale in UTF-8
-+
-+LC_IDENTIFICATION
-+title "C locale"
-+source ""
-+address ""
-+contact ""
-+email "mfabian@redhat.com"
-+tel ""
-+fax ""
-+language "C"
-+territory ""
-+revision "1.0"
-+date "2015-08-10"
-+%
-+category "i18n:2012";LC_IDENTIFICATION
-+category "i18n:2012";LC_CTYPE
-+category "i18n:2012";LC_COLLATE
-+category "i18n:2012";LC_TIME
-+category "i18n:2012";LC_NUMERIC
-+category "i18n:2012";LC_MONETARY
-+category "i18n:2012";LC_MESSAGES
-+category "i18n:2012";LC_PAPER
-+category "i18n:2012";LC_NAME
-+category "i18n:2012";LC_ADDRESS
-+category "i18n:2012";LC_TELEPHONE
-+category "i18n:2012";LC_MEASUREMENT
-+END LC_IDENTIFICATION
-+
-+LC_CTYPE
-+copy "i18n"
-+
-+translit_start
-+include "translit_combining";""
-+translit_end
-+
-+END LC_CTYPE
-+
-+LC_COLLATE
-+order_start forward
-+<U0000>
-+..
-+<UFFFF>
-+<U10000>
-+..
-+<U1FFFF>
-+<U20000>
-+..
-+<U2FFFF>
-+<UE0000>
-+..
-+<UEFFFF>
-+<UF0000>
-+..
-+<UFFFFF>
-+<U100000>
-+..
-+<U10FFFF>
-+UNDEFINED
-+order_end
-+END LC_COLLATE
-+
-+LC_MONETARY
-+% This is the 14652 i18n fdcc-set definition for
-+% the LC_MONETARY category
-+% (except for the int_curr_symbol and currency_symbol, they are empty in
-+% the 14652 i18n fdcc-set definition and also empty in
-+% glibc/locale/C-monetary.c. But localedef complains in that case).
-+%
-+% Using "USD" for int_curr_symbol. But maybe "XXX" would be better?
-+% XXX is "No currency" (https://en.wikipedia.org/wiki/ISO_4217)
-+int_curr_symbol "<U0055><U0053><U0044><U0020>"
-+% Using "$" for currency_symbol. But maybe <U00A4> would be better?
-+% U+00A4 is the "generic currency symbol"
-+% (https://en.wikipedia.org/wiki/Currency_sign_%28typography%29)
-+currency_symbol "<U0024>"
-+mon_decimal_point "<U002E>"
-+mon_thousands_sep ""
-+mon_grouping -1
-+positive_sign ""
-+negative_sign "<U002D>"
-+int_frac_digits -1
-+frac_digits -1
-+p_cs_precedes -1
-+int_p_sep_by_space -1
-+p_sep_by_space -1
-+n_cs_precedes -1
-+int_n_sep_by_space -1
-+n_sep_by_space -1
-+p_sign_posn -1
-+n_sign_posn -1
-+%
-+END LC_MONETARY
-+
-+LC_NUMERIC
-+% This is the POSIX Locale definition for
-+% the LC_NUMERIC category.
-+%
-+decimal_point "<U002E>"
-+thousands_sep ""
-+grouping -1
-+END LC_NUMERIC
-+
-+LC_TIME
-+% This is the POSIX Locale definition for
-+% the LC_TIME category.
-+%
-+% Abbreviated weekday names (%a)
-+abday "<U0053><U0075><U006E>";"<U004D><U006F><U006E>";/
-+ "<U0054><U0075><U0065>";"<U0057><U0065><U0064>";/
-+ "<U0054><U0068><U0075>";"<U0046><U0072><U0069>";/
-+ "<U0053><U0061><U0074>"
-+
-+% Full weekday names (%A)
-+day "<U0053><U0075><U006E><U0064><U0061><U0079>";/
-+ "<U004D><U006F><U006E><U0064><U0061><U0079>";/
-+ "<U0054><U0075><U0065><U0073><U0064><U0061><U0079>";/
-+ "<U0057><U0065><U0064><U006E><U0065><U0073><U0064><U0061><U0079>";/
-+ "<U0054><U0068><U0075><U0072><U0073><U0064><U0061><U0079>";/
-+ "<U0046><U0072><U0069><U0064><U0061><U0079>";/
-+ "<U0053><U0061><U0074><U0075><U0072><U0064><U0061><U0079>"
-+
-+% Abbreviated month names (%b)
-+abmon "<U004A><U0061><U006E>";"<U0046><U0065><U0062>";/
-+ "<U004D><U0061><U0072>";"<U0041><U0070><U0072>";/
-+ "<U004D><U0061><U0079>";"<U004A><U0075><U006E>";/
-+ "<U004A><U0075><U006C>";"<U0041><U0075><U0067>";/
-+ "<U0053><U0065><U0070>";"<U004F><U0063><U0074>";/
-+ "<U004E><U006F><U0076>";"<U0044><U0065><U0063>"
-+
-+% Full month names (%B)
-+mon "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/
-+ "<U0046><U0065><U0062><U0072><U0075><U0061><U0072><U0079>";/
-+ "<U004D><U0061><U0072><U0063><U0068>";/
-+ "<U0041><U0070><U0072><U0069><U006C>";/
-+ "<U004D><U0061><U0079>";/
-+ "<U004A><U0075><U006E><U0065>";/
-+ "<U004A><U0075><U006C><U0079>";/
-+ "<U0041><U0075><U0067><U0075><U0073><U0074>";/
-+ "<U0053><U0065><U0070><U0074><U0065><U006D><U0062><U0065><U0072>";/
-+ "<U004F><U0063><U0074><U006F><U0062><U0065><U0072>";/
-+ "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
-+ "<U0044><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
-+
-+% Week description, consists of three fields:
-+% 1. Number of days in a week.
-+% 2. Gregorian date that is a first weekday (19971130 for Sunday, 19971201 for Monday).
-+% 3. The weekday number to be contained in the first week of the year.
-+%
-+% ISO 8601 conforming applications should use the values 7, 19971201 (a
-+% Monday), and 4 (Thursday), respectively.
-+week 7;19971201;4
-+first_weekday 1
-+first_workday 1
-+
-+% Appropriate date and time representation (%c)
-+% "%a %b %e %H:%M:%S %Y"
-+d_t_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0059>"
-+
-+% Appropriate date representation (%x)
-+% "%m/%d/%y"
-+d_fmt "<U0025><U006D><U002F><U0025><U0064><U002F><U0025><U0079>"
-+
-+% Appropriate time representation (%X)
-+% "%H:%M:%S"
-+t_fmt "<U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053>"
-+
-+% Appropriate AM/PM time representation (%r)
-+% "%I:%M:%S %p"
-+t_fmt_ampm "<U0025><U0049><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U0070>"
-+
-+% Equivalent of AM/PM (%p) "AM"/"PM"
-+%
-+am_pm "<U0041><U004D>";"<U0050><U004D>"
-+
-+% Appropriate date representation (date(1)) "%a %b %e %H:%M:%S %Z %Y"
-+date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065><U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020><U0025><U005A><U0020><U0025><U0059>"
-+END LC_TIME
-+
-+LC_MESSAGES
-+% This is the POSIX Locale definition for
-+% the LC_NUMERIC category.
-+%
-+yesexpr "<U005E><U005B><U0079><U0059><U005D>"
-+noexpr "<U005E><U005B><U006E><U004E><U005D>"
-+yesstr "<U0059><U0065><U0073>"
-+nostr "<U004E><U006F>"
-+END LC_MESSAGES
-+
-+LC_PAPER
-+% This is the ISO/IEC 14652 "i18n" definition for
-+% the LC_PAPER category.
-+% (A4 paper, this is also used in the built in C/POSIX
-+% locale in glibc/locale/C-paper.c)
-+height 297
-+width 210
-+END LC_PAPER
-+
-+LC_NAME
-+% This is the ISO/IEC 14652 "i18n" definition for
-+% the LC_NAME category.
-+% "%p%t%g%t%m%t%f"
-+% (also used in the built in C/POSIX locale in glibc/locale/C-name.c)
-+name_fmt "<U0025><U0070><U0025><U0074><U0025><U0067><U0025><U0074>/
-+<U0025><U006D><U0025><U0074><U0025><U0066>"
-+END LC_NAME
-+
-+LC_ADDRESS
-+% This is the ISO/IEC 14652 "i18n" definition for
-+% the LC_ADDRESS category.
-+% "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N"
-+% (also used in the built in C/POSIX locale in glibc/locale/C-address.c)
-+postal_fmt "<U0025><U0061><U0025><U004E><U0025><U0066><U0025><U004E>/
-+<U0025><U0064><U0025><U004E><U0025><U0062><U0025><U004E><U0025><U0073>/
-+<U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
-+<U004E><U0025><U0043><U002D><U0025><U007A><U0020><U0025><U0054><U0025>/
-+<U004E><U0025><U0063><U0025><U004E>"
-+END LC_ADDRESS
-+
-+LC_TELEPHONE
-+% This is the ISO/IEC 14652 "i18n" definition for
-+% the LC_TELEPHONE category.
-+% "+%c %a %l"
-+tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
-+<U006C>"
-+% (also used in the built in C/POSIX locale in glibc/locale/C-telephone.c)
-+END LC_TELEPHONE
-+
-+LC_MEASUREMENT
-+% This is the ISO/IEC 14652 "i18n" definition for
-+% the LC_MEASUREMENT category.
-+% (same as in the built in C/POSIX locale in glibc/locale/C-measurement.c)
-+%metric
-+measurement 1
-+END LC_MEASUREMENT
-+
---
-2.4.3
-
diff --git a/source/l/glibc/glibc.SlackBuild b/source/l/glibc/glibc.SlackBuild
index 7a1a5d5d5..f1eb962f8 100755
--- a/source/l/glibc/glibc.SlackBuild
+++ b/source/l/glibc/glibc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=glibc
VERSION=${VERSION:-$(echo glibc-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
CHECKOUT=${CHECKOUT:-""}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-1}
# I was considering disabling NSCD, but MoZes talked me out of it. :)
#DISABLE_NSCD=" --disable-nscd "
@@ -151,8 +151,6 @@ apply_patches() {
zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1
# Support ru_RU.CP1251 locale:
zcat $CWD/glibc.ru_RU.CP1251.diff.gz | patch -p1 --verbose || exit 1
- # Add a C.UTF-8 locale:
- zcat $CWD/glibc-c-utf8-locale.patch.gz | patch -p1 --verbose || exit 1
# Don't use AM/PM format for date(1). That's just plain crazy.
zcat $CWD/glibc-2.32.en_US.no.am.pm.date.format.diff.gz | patch -p1 --verbose || exit 1
# Other regression fixes from git:
@@ -404,7 +402,24 @@ cp -a $PKG/lib${LIBDIRSUFFIX}/* lib${LIBDIRSUFFIX}
( cd lib${LIBDIRSUFFIX}
mkdir incoming
mv *so* incoming
- mv incoming/libSegFault.so .
+ mv incoming/libmemusage.so .
+ # Beginning with glibc-2.34, shared objects are using their ABI sonames
+ # directly, which is frankly, a terrible idea. It might help other package
+ # managers, but doesn't do us any favors where we already had a system for
+ # dealing with upgrades (and downgrades!). We'll change these libraries to
+ # use the versioned naming system of glibc-2.33 and earlier so that we don't
+ # have to handle these files differently and so that it's easy to see what
+ # version of glibc is in use at a glance.
+ cd incoming
+ for library in *.so.* ; do
+ mv $library $(echo $library | cut -f 1 -d .)-${VERSION}.so
+ done
+ # This one is a special case. We don't want an $ARCH embedded in the
+ # filename. It prevents using the same install scripts on all $ARCH
+ # and does no good since we'll never have multiple $ARCH libraries
+ # installed in the same directory anyway. So give it the previous name
+ # format:
+ mv ld-linux*-${VERSION}.so ld-${VERSION}.so
)
mkdir -p usr
cp -a $PKG/usr/bin usr
@@ -460,7 +475,24 @@ fix_doinst
( cd lib${LIBDIRSUFFIX}
mkdir incoming
mv *so* incoming
- mv incoming/libSegFault.so .
+ mv incoming/libmemusage.so .
+ # Beginning with glibc-2.34, shared objects are using their ABI sonames
+ # directly, which is frankly, a terrible idea. It might help other package
+ # managers, but doesn't do us any favors where we already had a system for
+ # dealing with upgrades (and downgrades!). We'll change these libraries to
+ # use the versioned naming system of glibc-2.33 and earlier so that we don't
+ # have to handle these files differently and so that it's easy to see what
+ # version of glibc is in use at a glance.
+ cd incoming
+ for library in *.so.* ; do
+ mv $library $(echo $library | cut -f 1 -d .)-${VERSION}.so
+ done
+ # This one is a special case. We don't want an $ARCH embedded in the
+ # filename. It prevents using the same install scripts on all $ARCH
+ # and does no good since we'll never have multiple $ARCH libraries
+ # installed in the same directory anyway. So give it the previous name
+ # format:
+ mv ld-linux*-${VERSION}.so ld-${VERSION}.so
)
# Build the package:
/sbin/makepkg -l y -c n $TMP/glibc-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
diff --git a/source/l/glibc/patches/0001-nsswitch-return-result-when-nss-database-is-locked.patch b/source/l/glibc/patches/0001-nsswitch-return-result-when-nss-database-is-locked.patch
deleted file mode 100644
index 458369251..000000000
--- a/source/l/glibc/patches/0001-nsswitch-return-result-when-nss-database-is-locked.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From c3479fb7939898ec22c655c383454d6e8b982a67 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Fri, 5 Feb 2021 07:32:18 +0000
-Subject: [PATCH] nsswitch: return result when nss database is locked [BZ
- #27343]
-
-Before the change nss_database_check_reload_and_get() did not populate
-the '*result' value when it returned success in a case of chroot
-detection. This caused initgroups() to use garage pointer in the
-following test (extracted from unbound):
-
-```
-
-int main() {
- // load some NSS modules
- struct passwd * pw = getpwnam("root");
-
- chdir("/tmp");
- chroot("/tmp");
- chdir("/");
- // access nsswitch.conf in a chroot
- initgroups("root", 0);
-}
-```
-
-Reviewed-by: DJ Delorie <dj@redhat.com>
----
- nss/nss_database.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/nss/nss_database.c b/nss/nss_database.c
-index cf0306adc4..e1bef6bd75 100644
---- a/nss/nss_database.c
-+++ b/nss/nss_database.c
-@@ -398,8 +398,9 @@ nss_database_check_reload_and_get (struct nss_database_state *local,
- && (str.st_ino != local->root_ino
- || str.st_dev != local->root_dev)))
- {
-- /* Change detected; disable reloading. */
-+ /* Change detected; disable reloading and return current state. */
- atomic_store_release (&local->data.reload_disabled, 1);
-+ *result = local->data.services[database_index];
- __libc_lock_unlock (local->lock);
- __nss_module_disable_loading ();
- return true;
---
-2.27.0
diff --git a/source/l/glibc/patches/CVE-2021-27645.patch b/source/l/glibc/patches/CVE-2021-27645.patch
deleted file mode 100644
index c568dd16b..000000000
--- a/source/l/glibc/patches/CVE-2021-27645.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./nscd/netgroupcache.c.orig 2021-08-07 13:20:02.459057859 -0500
-+++ ./nscd/netgroupcache.c 2021-08-07 13:22:08.983060689 -0500
-@@ -248,7 +248,7 @@
- : NULL);
- ndomain = (ndomain ? newbuf + ndomaindiff
- : NULL);
-- buffer = newbuf;
-+ *tofreep = buffer = newbuf;
- }
-
- nhost = memcpy (buffer + bufused,
-@@ -319,7 +319,7 @@
- else if (status == NSS_STATUS_TRYAGAIN && e == ERANGE)
- {
- buflen *= 2;
-- buffer = xrealloc (buffer, buflen);
-+ *tofreep = buffer = xrealloc (buffer, buflen);
- }
- else if (status == NSS_STATUS_RETURN
- || status == NSS_STATUS_NOTFOUND
diff --git a/source/l/glibc/patches/CVE-2021-33574_1.patch b/source/l/glibc/patches/CVE-2021-33574_1.patch
deleted file mode 100644
index 20f1889ce..000000000
--- a/source/l/glibc/patches/CVE-2021-33574_1.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 42d359350510506b87101cf77202fefcbfc790cb Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@linux-m68k.org>
-Date: Thu, 27 May 2021 12:49:47 +0200
-Subject: [PATCH] Use __pthread_attr_copy in mq_notify (bug 27896)
-
-Make a deep copy of the pthread attribute object to remove a potential
-use-after-free issue.
----
- NEWS | 4 ++++
- sysdeps/unix/sysv/linux/mq_notify.c | 15 ++++++++++-----
- 2 files changed, 14 insertions(+), 5 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 6f4d325d55..1bf3daa502 100644
---- a/NEWS
-+++ b/NEWS
-@@ -62,6 +62,10 @@ Security related changes:
- potentially resulting in degraded service or Denial of Service on the
- local system. Reported by Chris Schanzle.
-
-+ CVE-2021-33574: The mq_notify function has a potential use-after-free
-+ issue when using a notification type of SIGEV_THREAD and a thread
-+ attribute with a non-default affinity mask.
-+
- The following bugs are resolved with this release:
-
- [The release manager will add the list generated by
-diff --git a/sysdeps/unix/sysv/linux/mq_notify.c b/sysdeps/unix/sysv/linux/mq_notify.c
-index cc575a0cdd..f7ddfe5a6c 100644
---- a/sysdeps/unix/sysv/linux/mq_notify.c
-+++ b/sysdeps/unix/sysv/linux/mq_notify.c
-@@ -133,8 +133,11 @@ helper_thread (void *arg)
- (void) __pthread_barrier_wait (&notify_barrier);
- }
- else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
-- /* The only state we keep is the copy of the thread attributes. */
-- free (data.attr);
-+ {
-+ /* The only state we keep is the copy of the thread attributes. */
-+ pthread_attr_destroy (data.attr);
-+ free (data.attr);
-+ }
- }
- return NULL;
- }
-@@ -255,8 +258,7 @@ mq_notify (mqd_t mqdes, const struct sigevent *notification)
- if (data.attr == NULL)
- return -1;
-
-- memcpy (data.attr, notification->sigev_notify_attributes,
-- sizeof (pthread_attr_t));
-+ __pthread_attr_copy (data.attr, notification->sigev_notify_attributes);
- }
-
- /* Construct the new request. */
-@@ -270,7 +272,10 @@ mq_notify (mqd_t mqdes, const struct sigevent *notification)
-
- /* If it failed, free the allocated memory. */
- if (__glibc_unlikely (retval != 0))
-- free (data.attr);
-+ {
-+ pthread_attr_destroy (data.attr);
-+ free (data.attr);
-+ }
-
- return retval;
- }
---
-2.27.0
-
-
diff --git a/source/l/glibc/patches/CVE-2021-33574_2.patch b/source/l/glibc/patches/CVE-2021-33574_2.patch
deleted file mode 100644
index 608dbfdc5..000000000
--- a/source/l/glibc/patches/CVE-2021-33574_2.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 217b6dc298156bdb0d6aea9ea93e7e394a5ff091 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Tue, 1 Jun 2021 17:51:41 +0200
-Subject: [PATCH] Fix use of __pthread_attr_copy in mq_notify (bug 27896)
-
-__pthread_attr_copy can fail and does not initialize the attribute
-structure in that case.
-
-If __pthread_attr_copy is never called and there is no allocated
-attribute, pthread_attr_destroy should not be called, otherwise
-there is a null pointer dereference in rt/tst-mqueue6.
-
-Fixes commit 42d359350510506b87101cf77202fefcbfc790cb
-("Use __pthread_attr_copy in mq_notify (bug 27896)").
-
-Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
----
- sysdeps/unix/sysv/linux/mq_notify.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/sysdeps/unix/sysv/linux/mq_notify.c b/sysdeps/unix/sysv/linux/mq_notify.c
-index f7ddfe5a6c..6f46d29d1d 100644
---- a/sysdeps/unix/sysv/linux/mq_notify.c
-+++ b/sysdeps/unix/sysv/linux/mq_notify.c
-@@ -258,7 +258,14 @@ mq_notify (mqd_t mqdes, const struct sigevent *notification)
- if (data.attr == NULL)
- return -1;
-
-- __pthread_attr_copy (data.attr, notification->sigev_notify_attributes);
-+ int ret = __pthread_attr_copy (data.attr,
-+ notification->sigev_notify_attributes);
-+ if (ret != 0)
-+ {
-+ free (data.attr);
-+ __set_errno (ret);
-+ return -1;
-+ }
- }
-
- /* Construct the new request. */
-@@ -271,7 +278,7 @@ mq_notify (mqd_t mqdes, const struct sigevent *notification)
- int retval = INLINE_SYSCALL (mq_notify, 2, mqdes, &se);
-
- /* If it failed, free the allocated memory. */
-- if (__glibc_unlikely (retval != 0))
-+ if (retval != 0 && data.attr != NULL)
- {
- pthread_attr_destroy (data.attr);
- free (data.attr);
---
-2.27.0
-
-
diff --git a/source/l/glibc/patches/CVE-2021-35942.patch b/source/l/glibc/patches/CVE-2021-35942.patch
deleted file mode 100644
index fde0fbdb3..000000000
--- a/source/l/glibc/patches/CVE-2021-35942.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 5adda61f62b77384718b4c0d8336ade8f2b4b35c Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@linux-m68k.org>
-Date: Fri, 25 Jun 2021 15:02:47 +0200
-Subject: [PATCH] wordexp: handle overflow in positional parameter number (bug
- 28011)
-
-Use strtoul instead of atoi so that overflow can be detected.
----
- posix/wordexp-test.c | 1 +
- posix/wordexp.c | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
-index f93a546d7e..9df02dbbb3 100644
---- a/posix/wordexp-test.c
-+++ b/posix/wordexp-test.c
-@@ -183,6 +183,7 @@ struct test_case_struct
- { 0, NULL, "$var", 0, 0, { NULL, }, IFS },
- { 0, NULL, "\"\\n\"", 0, 1, { "\\n", }, IFS },
- { 0, NULL, "", 0, 0, { NULL, }, IFS },
-+ { 0, NULL, "${1234567890123456789012}", 0, 0, { NULL, }, IFS },
-
- /* Flags not already covered (testit() has special handling for these) */
- { 0, NULL, "one two", WRDE_DOOFFS, 2, { "one", "two", }, IFS },
-diff --git a/posix/wordexp.c b/posix/wordexp.c
-index bcbe96e48d..1f3b09f721 100644
---- a/posix/wordexp.c
-+++ b/posix/wordexp.c
-@@ -1399,7 +1399,7 @@ envsubst:
- /* Is it a numeric parameter? */
- else if (isdigit (env[0]))
- {
-- int n = atoi (env);
-+ unsigned long n = strtoul (env, NULL, 10);
-
- if (n >= __libc_argc)
- /* Substitute NULL. */
---
-2.27.0
-
-
diff --git a/source/l/glibc/patches/CVE-2021-38604.patch b/source/l/glibc/patches/CVE-2021-38604.patch
deleted file mode 100644
index ad0a81588..000000000
--- a/source/l/glibc/patches/CVE-2021-38604.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From b805aebd42364fe696e417808a700fdb9800c9e8 Mon Sep 17 00:00:00 2001
-From: Nikita Popov <npv1310@gmail.com>
-Date: Mon, 9 Aug 2021 20:17:34 +0530
-Subject: [PATCH] librt: fix NULL pointer dereference (bug 28213)
-
-Helper thread frees copied attribute on NOTIFY_REMOVED message
-received from the OS kernel. Unfortunately, it fails to check whether
-copied attribute actually exists (data.attr != NULL). This worked
-earlier because free() checks passed pointer before actually
-attempting to release corresponding memory. But
-__pthread_attr_destroy assumes pointer is not NULL.
-
-So passing NULL pointer to __pthread_attr_destroy will result in
-segmentation fault. This scenario is possible if
-notification->sigev_notify_attributes == NULL (which means default
-thread attributes should be used).
-
-Signed-off-by: Nikita Popov <npv1310@gmail.com>
-Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
----
- sysdeps/unix/sysv/linux/mq_notify.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/sysdeps/unix/sysv/linux/mq_notify.c b/sysdeps/unix/sysv/linux/mq_notify.c
-index 9799dcdaa4..eccae2e4c6 100644
---- a/sysdeps/unix/sysv/linux/mq_notify.c
-+++ b/sysdeps/unix/sysv/linux/mq_notify.c
-@@ -131,7 +131,7 @@ helper_thread (void *arg)
- to wait until it is done with it. */
- (void) __pthread_barrier_wait (&notify_barrier);
- }
-- else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
-+ else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED && data.attr != NULL)
- {
- /* The only state we keep is the copy of the thread attributes. */
- __pthread_attr_destroy (data.attr);
---
-2.27.0
-
-
diff --git a/source/l/glibc/patches/cdc31409bd4f878577059e70dbd52a28643ec609.patch b/source/l/glibc/patches/cdc31409bd4f878577059e70dbd52a28643ec609.patch
deleted file mode 100644
index 96f56ce73..000000000
--- a/source/l/glibc/patches/cdc31409bd4f878577059e70dbd52a28643ec609.patch
+++ /dev/null
@@ -1,237 +0,0 @@
-From cdc31409bd4f878577059e70dbd52a28643ec609 Mon Sep 17 00:00:00 2001
-From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-Date: Wed, 31 Mar 2021 13:53:34 -0300
-Subject: [PATCH] linux: Normalize and return timeout on select (BZ #27651)
-
-The commit 2433d39b697, which added time64 support to select, changed
-the function to use __NR_pselect6 (or __NR_pelect6_time64) on all
-architectures. However, on architectures where the symbol was
-implemented with __NR_select the kernel normalizes the passed timeout
-instead of return EINVAL. For instance, the input timeval
-{ 0, 5000000 } is interpreted as { 5, 0 }.
-
-And as indicated by BZ #27651, this semantic seems to be expected
-and changing it results in some performance issues (most likely
-the program does not check the return code and keeps issuing
-select with unormalized tv_usec argument).
-
-To avoid a different semantic depending whether which syscall the
-architecture used to issue, select now always normalize the timeout
-input. This is a slight change for some ABIs (for instance aarch64).
-
-Checked on x86_64-linux-gnu and i686-linux-gnu.
----
- include/time.h | 5 +++
- sunrpc/svcauth_des.c | 1 -
- support/Makefile | 2 ++
- support/support.h | 8 +++++
- support/support_select_modify_timeout.c | 29 ++++++++++++++++
- support/support_select_normalize_timeout.c | 29 ++++++++++++++++
- sysdeps/unix/sysv/linux/select.c | 40 ++++++++++++++++++----
- 8 files changed, 123 insertions(+), 8 deletions(-)
- create mode 100644 support/support_select_modify_timeout.c
- create mode 100644 support/support_select_normalize_timeout.c
-
-diff --git a/include/time.h b/include/time.h
-index caf2af5e74..e0636132a6 100644
---- a/include/time.h
-+++ b/include/time.h
-@@ -502,6 +502,11 @@ time_now (void)
- __clock_gettime (TIME_CLOCK_GETTIME_CLOCKID, &ts);
- return ts.tv_sec;
- }
-+
-+#define NSEC_PER_SEC 1000000000L /* Nanoseconds per second. */
-+#define USEC_PER_SEC 1000000L /* Microseconds per second. */
-+#define NSEC_PER_USEC 1000L /* Nanoseconds per microsecond. */
-+
- #endif
-
- #endif
-diff --git a/sunrpc/svcauth_des.c b/sunrpc/svcauth_des.c
-index 7607abc818..25a85c9097 100644
---- a/sunrpc/svcauth_des.c
-+++ b/sunrpc/svcauth_des.c
-@@ -58,7 +58,6 @@
-
- #define debug(msg) /*printf("svcauth_des: %s\n", msg) */
-
--#define USEC_PER_SEC ((uint32_t) 1000000L)
- #define BEFORE(t1, t2) timercmp(t1, t2, <)
-
- /*
-diff --git a/support/Makefile b/support/Makefile
-index 900e17f94f..1e2fc97ee6 100644
---- a/support/Makefile
-+++ b/support/Makefile
-@@ -68,6 +68,8 @@ libsupport-routines = \
- support_quote_string \
- support_record_failure \
- support_run_diff \
-+ support_select_modify_timeout \
-+ support_select_normalize_timeout \
- support_set_small_thread_stack_size \
- support_shared_allocate \
- support_small_stack_thread_attribute \
-diff --git a/support/support.h b/support/support.h
-index e023d00857..f983783d64 100644
---- a/support/support.h
-+++ b/support/support.h
-@@ -144,6 +144,14 @@ static __inline bool support_path_support_time64 (const char *path)
- /* Return true if stat supports nanoseconds resolution. */
- extern bool support_stat_nanoseconds (const char *path);
-
-+/* Return true if select modify the timeout to reflect the amount of time
-+ no slept. */
-+extern bool support_select_modify_timeout (void);
-+
-+/* Return true if select normalize the timeout input by taking in account
-+ tv_usec larger than 1000000. */
-+extern bool support_select_normalize_timeout (void);
-+
- __END_DECLS
-
- #endif /* SUPPORT_H */
-diff --git a/support/support_select_modify_timeout.c b/support/support_select_modify_timeout.c
-new file mode 100644
-index 0000000000..d70a5a5068
---- /dev/null
-+++ b/support/support_select_modify_timeout.c
-@@ -0,0 +1,29 @@
-+/* Return whether select modify the timeout.
-+ Copyright (C) 2021 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <https://www.gnu.org/licenses/>. */
-+
-+#include <stdbool.h>
-+
-+bool
-+support_select_modify_timeout (void)
-+{
-+#ifdef __linux__
-+ return true;
-+#else
-+ return false;
-+#endif
-+}
-diff --git a/support/support_select_normalize_timeout.c b/support/support_select_normalize_timeout.c
-new file mode 100644
-index 0000000000..447e3ec3e3
---- /dev/null
-+++ b/support/support_select_normalize_timeout.c
-@@ -0,0 +1,29 @@
-+/* Return whether select normalize the timeout.
-+ Copyright (C) 2021 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <https://www.gnu.org/licenses/>. */
-+
-+#include <stdbool.h>
-+
-+bool
-+support_select_normalize_timeout (void)
-+{
-+#ifdef __linux__
-+ return true;
-+#else
-+ return false;
-+#endif
-+}
-diff --git a/sysdeps/unix/sysv/linux/select.c b/sysdeps/unix/sysv/linux/select.c
-index 415aa87d3c..d075270ff4 100644
---- a/sysdeps/unix/sysv/linux/select.c
-+++ b/sysdeps/unix/sysv/linux/select.c
-@@ -33,12 +33,34 @@ int
- __select64 (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- struct __timeval64 *timeout)
- {
-- struct __timespec64 ts64, *pts64 = NULL;
-- if (timeout != NULL)
-+ __time64_t s = timeout != NULL ? timeout->tv_sec : 0;
-+ int32_t us = timeout != NULL ? timeout->tv_usec : 0;
-+ int32_t ns;
-+
-+ if (s < 0 || us < 0)
-+ return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
-+
-+ /* Normalize the timeout, as legacy Linux __NR_select and __NR__newselect.
-+ Different than syscall, it also handle possible overflow. */
-+ if (us / USEC_PER_SEC > INT64_MAX - s)
- {
-- ts64 = timeval64_to_timespec64 (*timeout);
-- pts64 = &ts64;
-+ s = INT64_MAX;
-+ ns = NSEC_PER_SEC - 1;
- }
-+ else
-+ {
-+ s += us / USEC_PER_SEC;
-+ us = us % USEC_PER_SEC;
-+ ns = us * NSEC_PER_USEC;
-+ }
-+
-+ struct __timespec64 ts64, *pts64 = NULL;
-+ if (timeout != NULL)
-+ {
-+ ts64.tv_sec = s;
-+ ts64.tv_nsec = ns;
-+ pts64 = &ts64;
-+ }
-
- #ifndef __NR_pselect6_time64
- # define __NR_pselect6_time64 __NR_pselect6
-@@ -52,10 +74,13 @@ __select64 (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- (though the pselect() glibc call suppresses this behavior).
- Since select() on Linux has the same behavior as the pselect6
- syscall, we update the timeout here. */
-- if (r == 0 || errno != ENOSYS)
-+ if (r >= 0 || errno != ENOSYS)
- {
- if (timeout != NULL)
-- TIMEVAL_TO_TIMESPEC (timeout, &ts64);
-+ {
-+ timeout->tv_sec = ts64.tv_sec;
-+ timeout->tv_usec = ts64.tv_nsec / NSEC_PER_USEC;
-+ }
- return r;
- }
-
-@@ -71,7 +96,8 @@ __select64 (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
- __set_errno (EINVAL);
- return -1;
- }
-- ts32 = valid_timespec64_to_timespec (ts64);
-+ ts32.tv_sec = s;
-+ ts32.tv_nsec = ns;
- pts32 = &ts32;
- }
- # ifndef __ASSUME_PSELECT
---
-2.27.0
-
-
diff --git a/source/l/glibc/patches/glibc.CVE-2021-3998.patch b/source/l/glibc/patches/glibc.CVE-2021-3998.patch
deleted file mode 100644
index 45602d050..000000000
--- a/source/l/glibc/patches/glibc.CVE-2021-3998.patch
+++ /dev/null
@@ -1,123 +0,0 @@
-From f7a79879c0b2bef0dadd6caaaeeb0d26423e04e5 Mon Sep 17 00:00:00 2001
-From: Siddhesh Poyarekar <siddhesh@sourceware.org>
-Date: Thu, 13 Jan 2022 11:28:36 +0530
-Subject: [PATCH] realpath: Set errno to ENAMETOOLONG for result larger than
- PATH_MAX [BZ #28770]
-
-realpath returns an allocated string when the result exceeds PATH_MAX,
-which is unexpected when its second argument is not NULL. This results
-in the second argument (resolved) being uninitialized and also results
-in a memory leak since the caller expects resolved to be the same as the
-returned value.
-
-Return NULL and set errno to ENAMETOOLONG if the result exceeds
-PATH_MAX. This fixes [BZ #28770], which is CVE-2021-3998.
-
-Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
-(cherry picked from commit ee8d5e33adb284601c00c94687bc907e10aec9bb)
----
- NEWS | 4 +++
- stdlib/Makefile | 1 +
- stdlib/canonicalize.c | 12 +++++++--
- stdlib/tst-realpath-toolong.c | 49 +++++++++++++++++++++++++++++++++++
- 4 files changed, 64 insertions(+), 2 deletions(-)
- create mode 100644 stdlib/tst-realpath-toolong.c
-
---- ./NEWS.orig 2021-02-01 11:15:33.000000000 -0600
-+++ ./NEWS 2022-01-24 13:32:24.268678228 -0600
-@@ -118,6 +118,10 @@
- CVE-2019-25013: A buffer overflow has been fixed in the iconv function when
- invoked with EUC-KR input containing invalid multibyte input sequences.
-
-+ CVE-2021-3998: Passing a path longer than PATH_MAX to the realpath
-+ function could result in a memory leak and potential access of
-+ uninitialized memory. Reported by Qualys.
-+
- The following bugs are resolved with this release:
-
- [10635] libc: realpath portability patches
---- ./stdlib/canonicalize.c.orig 2021-02-01 11:15:33.000000000 -0600
-+++ ./stdlib/canonicalize.c 2022-01-24 13:32:24.268678228 -0600
-@@ -400,8 +400,16 @@
-
- error:
- *dest++ = '\0';
-- if (resolved != NULL && dest - rname <= get_path_max ())
-- rname = strcpy (resolved, rname);
-+ if (resolved != NULL)
-+ {
-+ if (dest - rname <= get_path_max ())
-+ rname = strcpy (resolved, rname);
-+ else
-+ {
-+ failed = true;
-+ __set_errno (ENAMETOOLONG);
-+ }
-+ }
-
- error_nomem:
- scratch_buffer_free (&extra_buffer);
---- ./stdlib/Makefile.orig 2022-01-24 13:32:24.268678228 -0600
-+++ ./stdlib/Makefile 2022-01-24 13:32:59.968676254 -0600
-@@ -86,7 +86,7 @@
- tst-makecontext-align test-bz22786 tst-strtod-nan-sign \
- tst-swapcontext1 tst-setcontext4 tst-setcontext5 \
- tst-setcontext6 tst-setcontext7 tst-setcontext8 \
-- tst-setcontext9 tst-bz20544 tst-canon-bz26341
-+ tst-setcontext9 tst-bz20544 tst-canon-bz26341 tst-realpath-toolong
-
- tests-internal := tst-strtod1i tst-strtod3 tst-strtod4 tst-strtod5i \
- tst-tls-atexit tst-tls-atexit-nodelete
---- ./stdlib/tst-realpath-toolong.c.orig 2022-01-24 13:32:24.268678228 -0600
-+++ ./stdlib/tst-realpath-toolong.c 2022-01-24 13:32:24.268678228 -0600
-@@ -0,0 +1,49 @@
-+/* Verify that realpath returns NULL with ENAMETOOLONG if the result exceeds
-+ NAME_MAX.
-+ Copyright The GNU Toolchain Authors.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <https://www.gnu.org/licenses/>. */
-+
-+#include <errno.h>
-+#include <limits.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <unistd.h>
-+#include <support/check.h>
-+#include <support/temp_file.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+
-+#define BASENAME "tst-realpath-toolong."
-+
-+int
-+do_test (void)
-+{
-+ char *base = support_create_and_chdir_toolong_temp_directory (BASENAME);
-+
-+ char buf[PATH_MAX + 1];
-+ const char *res = realpath (".", buf);
-+
-+ /* canonicalize.c states that if the real path is >= PATH_MAX, then
-+ realpath returns NULL and sets ENAMETOOLONG. */
-+ TEST_VERIFY (res == NULL);
-+ TEST_VERIFY (errno == ENAMETOOLONG);
-+
-+ free (base);
-+ return 0;
-+}
-+
-+#include <support/test-driver.c>
diff --git a/source/l/glibc/patches/glibc.CVE-2021-3999.patch b/source/l/glibc/patches/glibc.CVE-2021-3999.patch
deleted file mode 100644
index 0644f798a..000000000
--- a/source/l/glibc/patches/glibc.CVE-2021-3999.patch
+++ /dev/null
@@ -1,356 +0,0 @@
-From 472e799a5f2102bc0c3206dbd5a801765fceb39c Mon Sep 17 00:00:00 2001
-From: Siddhesh Poyarekar <siddhesh@sourceware.org>
-Date: Fri, 21 Jan 2022 23:32:56 +0530
-Subject: [PATCH] getcwd: Set errno to ERANGE for size == 1 (CVE-2021-3999)
-
-No valid path returned by getcwd would fit into 1 byte, so reject the
-size early and return NULL with errno set to ERANGE. This change is
-prompted by CVE-2021-3999, which describes a single byte buffer
-underflow and overflow when all of the following conditions are met:
-
-- The buffer size (i.e. the second argument of getcwd) is 1 byte
-- The current working directory is too long
-- '/' is also mounted on the current working directory
-
-Sequence of events:
-
-- In sysdeps/unix/sysv/linux/getcwd.c, the syscall returns ENAMETOOLONG
- because the linux kernel checks for name length before it checks
- buffer size
-
-- The code falls back to the generic getcwd in sysdeps/posix
-
-- In the generic func, the buf[0] is set to '\0' on line 250
-
-- this while loop on line 262 is bypassed:
-
- while (!(thisdev == rootdev && thisino == rootino))
-
- since the rootfs (/) is bind mounted onto the directory and the flow
- goes on to line 449, where it puts a '/' in the byte before the
- buffer.
-
-- Finally on line 458, it moves 2 bytes (the underflowed byte and the
- '\0') to the buf[0] and buf[1], resulting in a 1 byte buffer overflow.
-
-- buf is returned on line 469 and errno is not set.
-
-This resolves BZ #28769.
-
-Reviewed-by: Andreas Schwab <schwab@linux-m68k.org>
-Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-Signed-off-by: Qualys Security Advisory <qsa@qualys.com>
-Signed-off-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
-(cherry picked from commit 23e0e8f5f1fb5ed150253d986ecccdc90c2dcd5e)
----
- NEWS | 6 +
- sysdeps/posix/getcwd.c | 7 +
- sysdeps/unix/sysv/linux/Makefile | 7 +-
- .../unix/sysv/linux/tst-getcwd-smallbuff.c | 241 ++++++++++++++++++
- 4 files changed, 260 insertions(+), 1 deletion(-)
- create mode 100644 sysdeps/unix/sysv/linux/tst-getcwd-smallbuff.c
-
-diff --git a/NEWS b/NEWS
-index b4f81c2668..8d7467d2c1 100644
---- a/NEWS
-+++ b/NEWS
-@@ -20,6 +20,12 @@ Security related changes:
- function could result in a memory leak and potential access of
- uninitialized memory. Reported by Qualys.
-
-+ CVE-2021-3999: Passing a buffer of size exactly 1 byte to the getcwd
-+ function may result in an off-by-one buffer underflow and overflow
-+ when the current working directory is longer than PATH_MAX and also
-+ corresponds to the / directory through an unprivileged mount
-+ namespace. Reported by Qualys.
-+
- The following bugs are resolved with this release:
-
- [12889] nptl: Fix race between pthread_kill and thread exit
-diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c
-index 13680026ff..b6984a382c 100644
---- a/sysdeps/posix/getcwd.c
-+++ b/sysdeps/posix/getcwd.c
-@@ -187,6 +187,13 @@ __getcwd_generic (char *buf, size_t size)
- size_t allocated = size;
- size_t used;
-
-+ /* A size of 1 byte is never useful. */
-+ if (allocated == 1)
-+ {
-+ __set_errno (ERANGE);
-+ return NULL;
-+ }
-+
- #if HAVE_MINIMALLY_WORKING_GETCWD
- /* If AT_FDCWD is not defined, the algorithm below is O(N**2) and
- this is much slower than the system getcwd (at least on
-diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
-index 76ad06361c..9380d3848d 100644
---- a/sysdeps/unix/sysv/linux/Makefile
-+++ b/sysdeps/unix/sysv/linux/Makefile
-@@ -331,7 +331,12 @@ sysdep_routines += xstatconv internal_statvfs \
-
- sysdep_headers += bits/fcntl-linux.h
-
--tests += tst-fallocate tst-fallocate64 tst-o_path-locks
-+tests += \
-+ tst-fallocate \
-+ tst-fallocate64 \
-+ tst-getcwd-smallbuff \
-+ tst-o_path-locks \
-+# tests
- endif
-
- ifeq ($(subdir),elf)
-diff --git a/sysdeps/unix/sysv/linux/tst-getcwd-smallbuff.c b/sysdeps/unix/sysv/linux/tst-getcwd-smallbuff.c
-new file mode 100644
-index 0000000000..d460d6e766
---- /dev/null
-+++ b/sysdeps/unix/sysv/linux/tst-getcwd-smallbuff.c
-@@ -0,0 +1,241 @@
-+/* Verify that getcwd returns ERANGE for size 1 byte and does not underflow
-+ buffer when the CWD is too long and is also a mount target of /. See bug
-+ #28769 or CVE-2021-3999 for more context.
-+ Copyright The GNU Toolchain Authors.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, see
-+ <https://www.gnu.org/licenses/>. */
-+
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <intprops.h>
-+#include <limits.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <sys/mount.h>
-+#include <sys/stat.h>
-+#include <sys/types.h>
-+#include <sys/wait.h>
-+
-+#include <sys/socket.h>
-+#include <sys/un.h>
-+#include <support/check.h>
-+#include <support/temp_file.h>
-+#include <support/xsched.h>
-+#include <support/xunistd.h>
-+
-+static char *base;
-+#define BASENAME "tst-getcwd-smallbuff"
-+#define MOUNT_NAME "mpoint"
-+static int sockfd[2];
-+
-+static void
-+do_cleanup (void)
-+{
-+ support_chdir_toolong_temp_directory (base);
-+ TEST_VERIFY_EXIT (rmdir (MOUNT_NAME) == 0);
-+ free (base);
-+}
-+
-+static void
-+send_fd (const int sock, const int fd)
-+{
-+ struct msghdr msg = {0};
-+ union
-+ {
-+ struct cmsghdr hdr;
-+ char buf[CMSG_SPACE (sizeof (int))];
-+ } cmsgbuf = {0};
-+ struct cmsghdr *cmsg;
-+ struct iovec vec;
-+ char ch = 'A';
-+ ssize_t n;
-+
-+ msg.msg_control = &cmsgbuf.buf;
-+ msg.msg_controllen = sizeof (cmsgbuf.buf);
-+
-+ cmsg = CMSG_FIRSTHDR (&msg);
-+ cmsg->cmsg_len = CMSG_LEN (sizeof (int));
-+ cmsg->cmsg_level = SOL_SOCKET;
-+ cmsg->cmsg_type = SCM_RIGHTS;
-+ memcpy (CMSG_DATA (cmsg), &fd, sizeof (fd));
-+
-+ vec.iov_base = &ch;
-+ vec.iov_len = 1;
-+ msg.msg_iov = &vec;
-+ msg.msg_iovlen = 1;
-+
-+ while ((n = sendmsg (sock, &msg, 0)) == -1 && errno == EINTR);
-+
-+ TEST_VERIFY_EXIT (n == 1);
-+}
-+
-+static int
-+recv_fd (const int sock)
-+{
-+ struct msghdr msg = {0};
-+ union
-+ {
-+ struct cmsghdr hdr;
-+ char buf[CMSG_SPACE(sizeof(int))];
-+ } cmsgbuf = {0};
-+ struct cmsghdr *cmsg;
-+ struct iovec vec;
-+ ssize_t n;
-+ char ch = '\0';
-+ int fd = -1;
-+
-+ vec.iov_base = &ch;
-+ vec.iov_len = 1;
-+ msg.msg_iov = &vec;
-+ msg.msg_iovlen = 1;
-+
-+ msg.msg_control = &cmsgbuf.buf;
-+ msg.msg_controllen = sizeof (cmsgbuf.buf);
-+
-+ while ((n = recvmsg (sock, &msg, 0)) == -1 && errno == EINTR);
-+ if (n != 1 || ch != 'A')
-+ return -1;
-+
-+ cmsg = CMSG_FIRSTHDR (&msg);
-+ if (cmsg == NULL)
-+ return -1;
-+ if (cmsg->cmsg_type != SCM_RIGHTS)
-+ return -1;
-+ memcpy (&fd, CMSG_DATA (cmsg), sizeof (fd));
-+ if (fd < 0)
-+ return -1;
-+ return fd;
-+}
-+
-+static int
-+child_func (void * const arg)
-+{
-+ xclose (sockfd[0]);
-+ const int sock = sockfd[1];
-+ char ch;
-+
-+ TEST_VERIFY_EXIT (read (sock, &ch, 1) == 1);
-+ TEST_VERIFY_EXIT (ch == '1');
-+
-+ if (mount ("/", MOUNT_NAME, NULL, MS_BIND | MS_REC, NULL))
-+ FAIL_EXIT1 ("mount failed: %m\n");
-+ const int fd = xopen ("mpoint",
-+ O_RDONLY | O_PATH | O_DIRECTORY | O_NOFOLLOW, 0);
-+
-+ send_fd (sock, fd);
-+ xclose (fd);
-+
-+ TEST_VERIFY_EXIT (read (sock, &ch, 1) == 1);
-+ TEST_VERIFY_EXIT (ch == 'a');
-+
-+ xclose (sock);
-+ return 0;
-+}
-+
-+static void
-+update_map (char * const mapping, const char * const map_file)
-+{
-+ const size_t map_len = strlen (mapping);
-+
-+ const int fd = xopen (map_file, O_WRONLY, 0);
-+ xwrite (fd, mapping, map_len);
-+ xclose (fd);
-+}
-+
-+static void
-+proc_setgroups_write (const long child_pid, const char * const str)
-+{
-+ const size_t str_len = strlen(str);
-+
-+ char setgroups_path[sizeof ("/proc//setgroups") + INT_STRLEN_BOUND (long)];
-+
-+ snprintf (setgroups_path, sizeof (setgroups_path),
-+ "/proc/%ld/setgroups", child_pid);
-+
-+ const int fd = open (setgroups_path, O_WRONLY);
-+
-+ if (fd < 0)
-+ {
-+ TEST_VERIFY_EXIT (errno == ENOENT);
-+ FAIL_UNSUPPORTED ("/proc/%ld/setgroups not found\n", child_pid);
-+ }
-+
-+ xwrite (fd, str, str_len);
-+ xclose(fd);
-+}
-+
-+static char child_stack[1024 * 1024];
-+
-+int
-+do_test (void)
-+{
-+ base = support_create_and_chdir_toolong_temp_directory (BASENAME);
-+
-+ xmkdir (MOUNT_NAME, S_IRWXU);
-+ atexit (do_cleanup);
-+
-+ TEST_VERIFY_EXIT (socketpair (AF_UNIX, SOCK_STREAM, 0, sockfd) == 0);
-+ pid_t child_pid = xclone (child_func, NULL, child_stack,
-+ sizeof (child_stack),
-+ CLONE_NEWUSER | CLONE_NEWNS | SIGCHLD);
-+
-+ xclose (sockfd[1]);
-+ const int sock = sockfd[0];
-+
-+ char map_path[sizeof ("/proc//uid_map") + INT_STRLEN_BOUND (long)];
-+ char map_buf[sizeof ("0 1") + INT_STRLEN_BOUND (long)];
-+
-+ snprintf (map_path, sizeof (map_path), "/proc/%ld/uid_map",
-+ (long) child_pid);
-+ snprintf (map_buf, sizeof (map_buf), "0 %ld 1", (long) getuid());
-+ update_map (map_buf, map_path);
-+
-+ proc_setgroups_write ((long) child_pid, "deny");
-+ snprintf (map_path, sizeof (map_path), "/proc/%ld/gid_map",
-+ (long) child_pid);
-+ snprintf (map_buf, sizeof (map_buf), "0 %ld 1", (long) getgid());
-+ update_map (map_buf, map_path);
-+
-+ TEST_VERIFY_EXIT (send (sock, "1", 1, MSG_NOSIGNAL) == 1);
-+ const int fd = recv_fd (sock);
-+ TEST_VERIFY_EXIT (fd >= 0);
-+ TEST_VERIFY_EXIT (fchdir (fd) == 0);
-+
-+ static char buf[2 * 10 + 1];
-+ memset (buf, 'A', sizeof (buf));
-+
-+ /* Finally, call getcwd and check if it resulted in a buffer underflow. */
-+ char * cwd = getcwd (buf + sizeof (buf) / 2, 1);
-+ TEST_VERIFY (cwd == NULL);
-+ TEST_VERIFY (errno == ERANGE);
-+
-+ for (int i = 0; i < sizeof (buf); i++)
-+ if (buf[i] != 'A')
-+ {
-+ printf ("buf[%d] = %02x\n", i, (unsigned int) buf[i]);
-+ support_record_failure ();
-+ }
-+
-+ TEST_VERIFY_EXIT (send (sock, "a", 1, MSG_NOSIGNAL) == 1);
-+ xclose (sock);
-+ TEST_VERIFY_EXIT (xwaitpid (child_pid, NULL, 0) == child_pid);
-+
-+ return 0;
-+}
-+
-+#define CLEANUP_HANDLER do_cleanup
-+#include <support/test-driver.c>
---
-2.27.0
-
-
diff --git a/source/l/gobject-introspection/gobject-introspection.SlackBuild b/source/l/gobject-introspection/gobject-introspection.SlackBuild
index aaf84951a..9396474d3 100755
--- a/source/l/gobject-introspection/gobject-introspection.SlackBuild
+++ b/source/l/gobject-introspection/gobject-introspection.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gobject-introspection
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/l/gtk+2/gtk+2.SlackBuild b/source/l/gtk+2/gtk+2.SlackBuild
index 7eff8c4c9..a0ceb0f05 100755
--- a/source/l/gtk+2/gtk+2.SlackBuild
+++ b/source/l/gtk+2/gtk+2.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2016, 2018, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gtk+2
VERSION=${VERSION:-$(echo gtk+-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -103,10 +103,6 @@ zcat $CWD/gtk.gtk-tut.diff.gz | patch -p1 --verbose || exit 1
libtoolize --force
autoreconf -vif
-# Autoconf changes linux to linux-gnu.
-# Our host is $ARCH-slackware-linux not $ARCH-slackware-linux-gnu:
-sed -i -e 's#linux|linux-gnu|#linux|linux|#' config.sub
-
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -116,12 +112,12 @@ CFLAGS="$SLKCFLAGS" \
--with-xinput=yes \
--enable-xkb \
--enable-introspection \
- --build=$ARCH-slackware-linux || exit 1
+ --build=$ARCH-slackware-linux-gnu || exit 1
make $NUMJOBS || make || exit 1
# Check the host value that is passed to the compile to the one in this script:
-host="$ARCH-slackware-linux"
+host="$ARCH-slackware-linux-gnu"
compile_host=$(grep 'host_triplet =' gtk/Makefile | sed -e "s/.* = //")
if [ "x$compile_host" != "x$host" ]; then
echo "Host mismatch: compile='$compile_host', SlackBuild='$host'" && exit 1
diff --git a/source/l/gtk4/gtk4.SlackBuild b/source/l/gtk4/gtk4.SlackBuild
index 6f6101b1d..5e39bfb28 100755
--- a/source/l/gtk4/gtk4.SlackBuild
+++ b/source/l/gtk4/gtk4.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2011, 2013, 2018, 2020, 2021 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013, 2018, 2020, 2021, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gtk4
VERSION=${VERSION:-$(echo gtk-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -97,11 +97,11 @@ meson setup \
-Dman-pages=true \
-Ddemos=true \
-Dgtk_doc=false \
- -Dbroadway_backend=true \
- -Dexamples=false \
- -Dtests=false \
- -Dinstalled_tests=false \
- -Dwayland_backend=true \
+ -Dbroadway-backend=true \
+ -Dbuild-examples=false \
+ -Dbuild-tests=false \
+ -Dinstall-tests=false \
+ -Dwayland-backend=true \
.. || exit 1
"${NINJA:=ninja}" $NUMJOBS || exit 1
DESTDIR=$PKG $NINJA install || exit 1
diff --git a/source/l/gvfs/gvfs.SlackBuild b/source/l/gvfs/gvfs.SlackBuild
index 199ebdbfc..50d06e59a 100755
--- a/source/l/gvfs/gvfs.SlackBuild
+++ b/source/l/gvfs/gvfs.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gvfs
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -75,6 +75,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+zcat $CWD/gvfs.ftbfs.diff.gz | patch -p1 --verbose || exit 1
+
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
diff --git a/source/l/gvfs/gvfs.ftbfs.diff b/source/l/gvfs/gvfs.ftbfs.diff
new file mode 100644
index 000000000..7728d1020
--- /dev/null
+++ b/source/l/gvfs/gvfs.ftbfs.diff
@@ -0,0 +1,10 @@
+--- ./daemon/meson.build.orig 2021-04-30 06:19:33.189706000 -0500
++++ ./daemon/meson.build 2022-02-16 14:24:07.157150575 -0600
+@@ -366,7 +366,6 @@
+ )
+
+ i18n.merge_file(
+- policy,
+ input: policy_in,
+ output: '@BASENAME@',
+ po_dir: po_dir,
diff --git a/source/l/jasper/jasper.SlackBuild b/source/l/jasper/jasper.SlackBuild
index b42ca47f5..01dafd13c 100755
--- a/source/l/jasper/jasper.SlackBuild
+++ b/source/l/jasper/jasper.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/bash
# Copyright 2007, 2008 Eric Hameleers, Eijdhoven, NL
-# Copyright 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2018, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
# Permission to use, copy, modify, and distribute this software for
@@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=jasper
-SRCNAM=jasper-version
+SRCNAM=jasper
VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
@@ -100,10 +100,18 @@ cd -
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
- COPYRIGHT INSTALL LICENSE README* \
+ COPYRIGHT* ChangeLog INSTALL* LICENSE* NEWS* README* \
$PKG/usr/doc/$PKGNAM-$VERSION
find $PKG/usr/doc -type f -exec chmod 644 {} \+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \+
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/source/l/json-glib/json-glib.SlackBuild b/source/l/json-glib/json-glib.SlackBuild
index e0cbd9f7d..4f9bcab14 100755
--- a/source/l/json-glib/json-glib.SlackBuild
+++ b/source/l/json-glib/json-glib.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=json-glib
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -102,7 +102,7 @@ meson setup \
--sysconfdir=/etc \
--localstatedir=/var \
--buildtype=release \
- -Ddocs=false \
+ -Dgtk_doc=disabled \
.. || exit 1
"${NINJA:=ninja}" $NUMJOBS || exit 1
DESTDIR=$PKG $NINJA install || exit 1
diff --git a/source/l/libsecret/libsecret.SlackBuild b/source/l/libsecret/libsecret.SlackBuild
index 0446a97e5..b789aa88a 100755
--- a/source/l/libsecret/libsecret.SlackBuild
+++ b/source/l/libsecret/libsecret.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=libsecret
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -76,24 +76,29 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
--prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
--sysconfdir=/etc \
--localstatedir=/var \
- --mandir=/usr/man \
- --enable-introspection \
- --disable-static \
- --docdir=/usr/doc/$PKGNAM-$VERSION \
- --build=$ARCH-slackware-linux || exit 1
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# Don't ship .la files:
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+ --buildtype=release \
+ -Dintrospection=true \
+ -Dgtk_doc=false \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -102,7 +107,7 @@ find $PKG/usr/man -type f -exec gzip -9 {} \+
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
- AUTHORS COPYING* INSTALL NEWS README* \
+ AUTHORS* COPYING* INSTALL* NEWS* README* \
$PKG/usr/doc/$PKGNAM-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
diff --git a/source/l/qt5/patches/qt5-glibc-2.34.patch b/source/l/qt5/patches/qt5-glibc-2.34.patch
new file mode 100644
index 000000000..097d0efe8
--- /dev/null
+++ b/source/l/qt5/patches/qt5-glibc-2.34.patch
@@ -0,0 +1,24 @@
+diff -aurN qt-everywhere-src-5.15.3_20210826_21ea9c12/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc qt-everywhere-src-5.15.3_20210826_21ea9c12-mod/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc
+--- qt-everywhere-src-5.15.3_20210826_21ea9c12/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc 2021-08-29 05:12:01.000000000 +0200
++++ qt-everywhere-src-5.15.3_20210826_21ea9c12-mod/qtwebengine/src/3rdparty/chromium/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc 2021-09-25 12:52:13.032957704 +0200
+@@ -135,7 +135,7 @@
+ #else
+ const size_t page_mask = sysconf(_SC_PAGESIZE) - 1;
+ #endif
+- size_t stack_size = (std::max(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
++ size_t stack_size = (std::max<size_t>(SIGSTKSZ, 65536) + page_mask) & ~page_mask;
+ #if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \
+ defined(THREAD_SANITIZER)
+ // Account for sanitizer instrumentation requiring additional stack space.
+diff -aurN qt-everywhere-src-5.15.3_20210826_21ea9c12/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc qt-everywhere-src-5.15.3_20210826_21ea9c12-mod/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc
+--- qt-everywhere-src-5.15.3_20210826_21ea9c12/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2021-08-29 05:12:02.000000000 +0200
++++ qt-everywhere-src-5.15.3_20210826_21ea9c12-mod/qtwebengine/src/3rdparty/chromium/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc 2021-09-25 12:53:59.282947757 +0200
+@@ -138,7 +138,7 @@
+ // SIGSTKSZ may be too small to prevent the signal handlers from overrunning
+ // the alternative stack. Ensure that the size of the alternative stack is
+ // large enough.
+- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ);
++ static const unsigned kSigStackSize = std::max<size_t>(16384, SIGSTKSZ);
+
+ // Only set an alternative stack if there isn't already one, or if the current
+ // one is too small.
diff --git a/source/l/qt5/qt5.SlackBuild b/source/l/qt5/qt5.SlackBuild
index d9b2b3942..f1bd631e6 100755
--- a/source/l/qt5/qt5.SlackBuild
+++ b/source/l/qt5/qt5.SlackBuild
@@ -31,7 +31,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=qt5
VERSION=$(ls qt-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
PKGSRC=$(echo $VERSION | cut -d - -f 1)
PKGVER=$(echo $VERSION | tr - _)
@@ -148,6 +148,9 @@ cd qtwebengine
zcat $CWD/patches/qtwebengine-everywhere-src-5.15.2-%231904652.patch.gz | patch -p1 --verbose || exit 1
cd - 1>/dev/null
+# Fix for glibc-2.34+:
+zcat $CWD/patches/qt5-glibc-2.34.patch.gz | patch -p1 --verbose || exit 1
+
# Apply upstream patch to move the wayland socket polling to a separate event
# thread. This greatly improves the behavior of Plasma Wayland sessions, fixing
# (for example) stuttering that was occuring on multimedia applications.
diff --git a/source/l/shared-mime-info/git_meson_buildfix.patch b/source/l/shared-mime-info/git_meson_buildfix.patch
new file mode 100644
index 000000000..80fd4dc85
--- /dev/null
+++ b/source/l/shared-mime-info/git_meson_buildfix.patch
@@ -0,0 +1,87 @@
+From 5a406b06792e26a83c7346b3c2443c0bd8d4cdb2 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz@archlinux.org>
+Date: Mon, 8 Nov 2021 18:22:47 -0500
+Subject: [PATCH] migrate from custom itstool to builtin msgfmt for creating
+ translated XML
+
+gettext upstream has supported this for a very long time (since 0.19.7
+via commit b3c2a5a242c36fbbaa0c5b17f975d6c638598a23, released in 2015),
+and itstool is (mostly) a legacy of the time before gettext had proper
+support for these sorts of use cases.
+
+This is similar to the state of intltool, which is described at
+https://wiki.gnome.org/MigratingFromIntltoolToGettext
+
+During the port from autotools to meson, the legacy use of itstool was
+faithfully translated to meson in the only way possible: by jumping
+through hoops to run ninja inside ninja in order to generate the .mo
+files for itstool, because meson's i18n module used a flawed design and
+there was no "real" target to create those files, only a .PHONY
+run_target which other rules cannot depend on.
+
+Although meson 0.60.0 added support for real targets for the built .mo
+files, this changed the rules for output filenames, breaking the script.
+
+But msgfmt does not care, and anyways comes with builtin meson functions
+for convenient use with XML files. So let's take this opportunity to
+drop legacy dependencies and use the modern, builtin tooling, which
+fixes this bug as a side effect.
+
+Fixes #170
+Index: shared-mime-info-2.1/data/freedesktop_generate.sh
+===================================================================
+--- shared-mime-info-2.1.orig/data/freedesktop_generate.sh
++++ /dev/null
+@@ -1,12 +0,0 @@
+-#!/bin/sh -e
+-
+-src_root="$1"
+-build_root="$2"
+-
+-ninja -C "${build_root}" shared-mime-info-gmo
+-
+-itstool \
+- --its "${src_root}/data/its/shared-mime-info.its" \
+- --join "${src_root}/data/freedesktop.org.xml.in" \
+- -o "${build_root}/data/freedesktop.org.xml" \
+- "${build_root}/po/"*".gmo"
+Index: shared-mime-info-2.1/data/meson.build
+===================================================================
+--- shared-mime-info-2.1.orig/data/meson.build
++++ shared-mime-info-2.1/data/meson.build
+@@ -1,18 +1,12 @@
+
+ install_man('update-mime-database.1')
+
+-freedesktop_org_xml = custom_target('freedesktop.org.xml',
+- input : files(
+- 'freedesktop.org.xml.in',
+- 'its/shared-mime-info.its',
+- 'its/shared-mime-info.loc',
+- ),
++freedesktop_org_xml = i18n.merge_file(
++ input: 'freedesktop.org.xml.in',
+ output: 'freedesktop.org.xml',
+- command: [
+- find_program('freedesktop_generate.sh'),
+- meson.source_root(),
+- meson.build_root()
+- ],
++ data_dirs: '.',
++ po_dir: '../po',
++ type: 'xml',
+ install: true,
+ install_dir: get_option('datadir') / 'mime' / 'packages',
+ )
+Index: shared-mime-info-2.1/meson.build
+===================================================================
+--- shared-mime-info-2.1.orig/meson.build
++++ shared-mime-info-2.1/meson.build
+@@ -20,7 +20,6 @@ config.set_quoted('VERSION', meson.proje
+ ###############################################################################
+ # Find tools
+
+-itstool = find_program('itstool')
+ xmllint = find_program('xmllint')
+ xmlto = find_program('xmlto')
+
diff --git a/source/l/shared-mime-info/shared-mime-info.SlackBuild b/source/l/shared-mime-info/shared-mime-info.SlackBuild
index af0365edb..2bfb885ce 100755
--- a/source/l/shared-mime-info/shared-mime-info.SlackBuild
+++ b/source/l/shared-mime-info/shared-mime-info.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=shared-mime-info
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -79,6 +79,7 @@ find . \
-exec chmod 644 {} \+
zcat $CWD/shared-mime-info.skip_tests.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/git_meson_buildfix.patch.gz | patch -p1 --verbose || exit 1
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
diff --git a/source/n/gpgme/gpgme.SlackBuild b/source/n/gpgme/gpgme.SlackBuild
index 6b5b91a94..c336c7c7f 100755
--- a/source/n/gpgme/gpgme.SlackBuild
+++ b/source/n/gpgme/gpgme.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gpgme
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -77,7 +77,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-CFLAGS="$SLKCFLAGS" \
+CFLAGS="$SLKCFLAGS -D_FILE_OFFSET_BITS=64" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/n/ntp/ntp.SlackBuild b/source/n/ntp/ntp.SlackBuild
index e68125b8e..d3104b041 100755
--- a/source/n/ntp/ntp.SlackBuild
+++ b/source/n/ntp/ntp.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=ntp
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-8}
+BUILD=${BUILD:-9}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -68,6 +68,9 @@ cd ntp-${VERSION}* || exit 1
zcat $CWD/ntp.nano.diff.gz | patch -p1 --verbose || exit 1
+# glibc-2.34+ fix from from https://www.linuxfromscratch.org/blfs/view/svn/basicnet/ntp.html
+zcat $CWD/ntp.glibc-2.34.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 2777 -o -perm 2755 -o -perm 2775 \) \
diff --git a/source/n/ntp/ntp.glibc-2.34.diff b/source/n/ntp/ntp.glibc-2.34.diff
new file mode 100644
index 000000000..2f0dd2914
--- /dev/null
+++ b/source/n/ntp/ntp.glibc-2.34.diff
@@ -0,0 +1,11 @@
+--- ./libntp/work_thread.c.orig 2018-08-14 06:51:06.000000000 -0500
++++ ./libntp/work_thread.c 2022-02-12 21:55:02.381012379 -0600
+@@ -41,7 +41,7 @@
+ #ifndef THREAD_MINSTACKSIZE
+ # define THREAD_MINSTACKSIZE (64U * 1024)
+ #endif
+-#ifndef __sun
++#if !defined(__sun) && !defined(__GLIBC__)
+ #if defined(PTHREAD_STACK_MIN) && THREAD_MINSTACKSIZE < PTHREAD_STACK_MIN
+ # undef THREAD_MINSTACKSIZE
+ # define THREAD_MINSTACKSIZE PTHREAD_STACK_MIN
diff --git a/source/x/libinput/libinput.SlackBuild b/source/x/libinput/libinput.SlackBuild
index 54b37bada..531de3ff3 100755
--- a/source/x/libinput/libinput.SlackBuild
+++ b/source/x/libinput/libinput.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=libinput
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/x/libva/libva.SlackBuild b/source/x/libva/libva.SlackBuild
index 26bf10512..50b694591 100755
--- a/source/x/libva/libva.SlackBuild
+++ b/source/x/libva/libva.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=libva
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/source/x/libwacom/libwacom.SlackBuild b/source/x/libwacom/libwacom.SlackBuild
index 207b2374f..2ea9abb4f 100755
--- a/source/x/libwacom/libwacom.SlackBuild
+++ b/source/x/libwacom/libwacom.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for libwacom
# Copyright 2015 Robby Workman, Tuscaloosa, Alabama, USA
-# Copyright 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2017, 2018, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -79,24 +79,29 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
--prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
--sysconfdir=/etc \
--localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PKGNAM-$VERSION \
- --disable-static \
- --with-udev-dir=/lib/udev \
- --build=$ARCH-slackware-linux || exit 1
-
-make $NUMJOBS || make || exit 1
-make install DESTDIR=$PKG || exit 1
-
-# Don't ship .la files:
-rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+ --buildtype=release \
+ -Dudev-dir=/lib/udev \
+ -Dtests=disabled \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/source/x/motif/motif.SlackBuild b/source/x/motif/motif.SlackBuild
index 5afd9e15c..fe6deb80f 100755
--- a/source/x/motif/motif.SlackBuild
+++ b/source/x/motif/motif.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2014, 2016, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2014, 2016, 2018, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=motif
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -f 2 -d - | cut -f 1-3 -d .)}
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-6}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -107,7 +107,8 @@ zcat $CWD/motif.rgbtxt.patch.gz | patch -p1 --verbose || exit 1
autoreconf -vif
# Configure:
-LDFLAGS="$SLKLDFLAGS" \
+LEXLIB="-lfl" \
+LDFLAGS="-Wl,-O1,--as-needed" \
CXXFLAGS="$SLKCFLAGS" \
CFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/x/vulkan-sdk/gfxreconstruct-sdk.glibc-2.35.diff b/source/x/vulkan-sdk/gfxreconstruct-sdk.glibc-2.35.diff
new file mode 100644
index 000000000..0e94795eb
--- /dev/null
+++ b/source/x/vulkan-sdk/gfxreconstruct-sdk.glibc-2.35.diff
@@ -0,0 +1,11 @@
+--- ./framework/util/page_guard_manager.cpp.orig 2021-06-15 14:04:31.000000000 -0500
++++ ./framework/util/page_guard_manager.cpp 2022-02-12 18:53:36.586025716 -0600
+@@ -110,7 +110,7 @@
+ static struct sigaction s_old_sigaction = {};
+ static stack_t s_old_stack = {};
+
+-static uint8_t s_alt_stack[SIGSTKSZ];
++static uint8_t s_alt_stack[_SC_SIGSTKSZ];
+
+ static void PageGuardExceptionHandler(int id, siginfo_t* info, void* data)
+ {
diff --git a/source/x/vulkan-sdk/vulkan-sdk.SlackBuild b/source/x/vulkan-sdk/vulkan-sdk.SlackBuild
index 72a86f7d2..1c9afe4d1 100755
--- a/source/x/vulkan-sdk/vulkan-sdk.SlackBuild
+++ b/source/x/vulkan-sdk/vulkan-sdk.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=vulkan-sdk
# The ./VERSION file is created by ./fetch-sources.sh:
VERSION=${VERSION:-$(cat VERSION)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
@@ -450,6 +450,9 @@ cd $TMP
tar xvf $CWD/gfxreconstruct-sdk-$GFXRECONSTRUCT_VERSION.tar.?z || exit 1
cd $TMP/gfxreconstruct-sdk-$GFXRECONSTRUCT_VERSION
+# patch to build with glibc-2.34:
+zcat $CWD/gfxreconstruct-sdk.glibc-2.35.diff.gz | patch -p1 --verbose || exit 1
+
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/x/x11/build/xf86-input-wacom b/source/x/x11/build/xf86-input-wacom
index 0cfbf0888..d00491fd7 100644
--- a/source/x/x11/build/xf86-input-wacom
+++ b/source/x/x11/build/xf86-input-wacom
@@ -1 +1 @@
-2
+1
diff --git a/source/xap/network-manager-applet/network-manager-applet.SlackBuild b/source/xap/network-manager-applet/network-manager-applet.SlackBuild
index f033b3e1d..fe4c197a9 100755
--- a/source/xap/network-manager-applet/network-manager-applet.SlackBuild
+++ b/source/xap/network-manager-applet/network-manager-applet.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=network-manager-applet
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -77,6 +77,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+zcat $CWD/network-manager-applet.ftbfs.diff.gz | patch -p1 --verbose || exit 1
+
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
diff --git a/source/xap/network-manager-applet/network-manager-applet.ftbfs.diff b/source/xap/network-manager-applet/network-manager-applet.ftbfs.diff
new file mode 100644
index 000000000..2f26b9307
--- /dev/null
+++ b/source/xap/network-manager-applet/network-manager-applet.ftbfs.diff
@@ -0,0 +1,18 @@
+--- ./meson.build.orig 2021-08-17 03:11:30.000000000 -0500
++++ ./meson.build 2022-02-16 14:18:28.805143006 -0600
+@@ -253,7 +253,6 @@
+
+ foreach desktop: desktop_files
+ i18n.merge_file(
+- desktop + '-desktop',
+ input: desktop + '.desktop.in',
+ output: desktop + '.desktop',
+ install: true,
+@@ -274,7 +273,6 @@
+ appdata = 'nm-connection-editor.appdata.xml'
+
+ i18n.merge_file(
+- 'desktop',
+ input: appdata + '.in',
+ output: appdata,
+ install: true,