wok-current rev 25785

Mass rebuild after bump to glibc 2.31, add epson printer and scanner package
author Stanislas Leduc <shann@slitaz.org>
date Tue Jul 15 20:40:17 2025 +0000 (2 months ago)
parents 22f2b8a2ea08
children 2dc3462d5d9a
files busybox/receipt busybox/stuff/busybox-1.31-remove-stime-function-calls.patch cacerts/receipt dropbear-pam/receipt dropbear/receipt epson-inkjet-printer-escpr/receipt epson-iscan/receipt epson-iscan/stuff/epkowa.conf epson-iscan/stuff/hain01commits2dip-obj.patch epson-iscan/stuff/iscan-2.30.3_fix-sscanf-modifier-in-cfg-obj.patch epson-iscan/stuff/iscan-2.30.4.2-c99.patch epson-iscan/stuff/jpegstream.cc.patch epson-iscan/stuff/libpng15.patch gcc/receipt gcc/stuff/glibc-2.31-libsanitizer-1.patch gcc/stuff/glibc-2.31-libsanitizer-2.patch glibc-base/receipt glibc-base/stuff/i486-files.list glibc-base/stuff/wanted-files.list glibc-dev/receipt glibc-locale/receipt glibc/receipt glibc/stuff/CVE-2025-4802.patch glibc/stuff/glibc-2.28-CVE-2025-4802.patch irda-utils/receipt irda-utils/stuff/irda-utils-SIOCGSTAMP.patch libgusb-dev/receipt libgusb/receipt make/receipt pkg-config/receipt pkg-config/stuff/1031-fix-glib-gettext-m4-error.patch simple-scan/receipt simple-scan/stuff/fix_meson.patch simple-scan/stuff/fix_vala.patch slitaz-configs/receipt slitaz-tools-boxes/receipt
line diff
     1.1 --- a/busybox/receipt	Sun Jul 06 15:33:46 2025 +0000
     1.2 +++ b/busybox/receipt	Tue Jul 15 20:40:17 2025 +0000
     1.3 @@ -60,6 +60,7 @@
     1.4  scriptreplay.u
     1.5  mkfs_vfat.u
     1.6  ash.u
     1.7 +remove-stime-function-calls.patch
     1.8  EOT
     1.9      cp $stuff/$PACKAGE-${VERSION%.*}.config .config
    1.10      cp $stuff/$PACKAGE-${VERSION%.*}.config .
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/busybox/stuff/busybox-1.31-remove-stime-function-calls.patch	Tue Jul 15 20:40:17 2025 +0000
     2.3 @@ -0,0 +1,88 @@
     2.4 +From d3539be8f27b8cbfdfee460fe08299158f08bcd9 Mon Sep 17 00:00:00 2001
     2.5 +From: Alistair Francis <alistair.francis@wdc.com>
     2.6 +Date: Tue, 19 Nov 2019 13:06:40 +0100
     2.7 +Subject: Remove stime() function calls
     2.8 +
     2.9 +stime() has been deprecated in glibc 2.31 and replaced with
    2.10 +clock_settime(). Let's replace the stime() function calls with
    2.11 +clock_settime() in preperation.
    2.12 +
    2.13 +function                                             old     new   delta
    2.14 +rdate_main                                           197     224     +27
    2.15 +clock_settime                                          -      27     +27
    2.16 +date_main                                            926     941     +15
    2.17 +stime                                                 37       -     -37
    2.18 +------------------------------------------------------------------------------
    2.19 +(add/remove: 2/2 grow/shrink: 2/0 up/down: 69/-37)             Total: 32 bytes
    2.20 +
    2.21 +Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
    2.22 +Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
    2.23 +---
    2.24 +
    2.25 +https://git.busybox.net/busybox/patch/?id=d3539be8f27b8cbfdfee460fe08299158f08bcd9
    2.26 +
    2.27 +diff --git a/coreutils/date.c b/coreutils/date.c
    2.28 +index 3414d38ae..4ade6abb4 100644
    2.29 +--- a/coreutils/date.c
    2.30 ++++ b/coreutils/date.c
    2.31 +@@ -279,6 +279,9 @@ int date_main(int argc UNUSED_PARAM, char **argv)
    2.32 + 		time(&ts.tv_sec);
    2.33 + #endif
    2.34 + 	}
    2.35 ++#if !ENABLE_FEATURE_DATE_NANO
    2.36 ++	ts.tv_nsec = 0;
    2.37 ++#endif
    2.38 + 	localtime_r(&ts.tv_sec, &tm_time);
    2.39 + 
    2.40 + 	/* If date string is given, update tm_time, and maybe set date */
    2.41 +@@ -301,9 +304,10 @@ int date_main(int argc UNUSED_PARAM, char **argv)
    2.42 + 		if (date_str[0] != '@')
    2.43 + 			tm_time.tm_isdst = -1;
    2.44 + 		ts.tv_sec = validate_tm_time(date_str, &tm_time);
    2.45 ++		ts.tv_nsec = 0;
    2.46 + 
    2.47 + 		/* if setting time, set it */
    2.48 +-		if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) {
    2.49 ++		if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) {
    2.50 + 			bb_perror_msg("can't set date");
    2.51 + 		}
    2.52 + 	}
    2.53 +diff --git a/libbb/missing_syscalls.c b/libbb/missing_syscalls.c
    2.54 +index 87cf59b3d..dc40d9155 100644
    2.55 +--- a/libbb/missing_syscalls.c
    2.56 ++++ b/libbb/missing_syscalls.c
    2.57 +@@ -15,14 +15,6 @@ pid_t getsid(pid_t pid)
    2.58 + 	return syscall(__NR_getsid, pid);
    2.59 + }
    2.60 + 
    2.61 +-int stime(const time_t *t)
    2.62 +-{
    2.63 +-	struct timeval tv;
    2.64 +-	tv.tv_sec = *t;
    2.65 +-	tv.tv_usec = 0;
    2.66 +-	return settimeofday(&tv, NULL);
    2.67 +-}
    2.68 +-
    2.69 + int sethostname(const char *name, size_t len)
    2.70 + {
    2.71 + 	return syscall(__NR_sethostname, name, len);
    2.72 +diff --git a/util-linux/rdate.c b/util-linux/rdate.c
    2.73 +index 70f829e7f..878375d78 100644
    2.74 +--- a/util-linux/rdate.c
    2.75 ++++ b/util-linux/rdate.c
    2.76 +@@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, char **argv)
    2.77 + 	if (!(flags & 2)) { /* no -p (-s may be present) */
    2.78 + 		if (time(NULL) == remote_time)
    2.79 + 			bb_error_msg("current time matches remote time");
    2.80 +-		else
    2.81 +-			if (stime(&remote_time) < 0)
    2.82 ++		else {
    2.83 ++			struct timespec ts;
    2.84 ++			ts.tv_sec = remote_time;
    2.85 ++			ts.tv_nsec = 0;
    2.86 ++			if (clock_settime(CLOCK_REALTIME, &ts) < 0)
    2.87 + 				bb_perror_msg_and_die("can't set time of day");
    2.88 ++		}
    2.89 + 	}
    2.90 + 
    2.91 + 	if (flags != 1) /* not lone -s */
     3.1 --- a/cacerts/receipt	Sun Jul 06 15:33:46 2025 +0000
     3.2 +++ b/cacerts/receipt	Tue Jul 15 20:40:17 2025 +0000
     3.3 @@ -1,7 +1,7 @@
     3.4  # SliTaz package receipt.
     3.5  
     3.6  PACKAGE="cacerts"
     3.7 -VERSION="20240625"
     3.8 +VERSION="20250709"
     3.9  CATEGORY="security"
    3.10  SHORT_DESC="Certificate Authority Certificates."
    3.11  MAINTAINER="al.bobylev@gmail.com"
     4.1 --- a/dropbear-pam/receipt	Sun Jul 06 15:33:46 2025 +0000
     4.2 +++ b/dropbear-pam/receipt	Tue Jul 15 20:40:17 2025 +0000
     4.3 @@ -1,7 +1,7 @@
     4.4  # SliTaz package receipt.
     4.5  
     4.6  PACKAGE="dropbear-pam"
     4.7 -VERSION="2022.83"
     4.8 +VERSION="2025.88"
     4.9  CATEGORY="security"
    4.10  SHORT_DESC="Light SSH client and server using PAM."
    4.11  MAINTAINER="pascal.bellard@slitaz.org"
     5.1 --- a/dropbear/receipt	Sun Jul 06 15:33:46 2025 +0000
     5.2 +++ b/dropbear/receipt	Tue Jul 15 20:40:17 2025 +0000
     5.3 @@ -1,7 +1,7 @@
     5.4  # SliTaz package receipt.
     5.5  
     5.6  PACKAGE="dropbear"
     5.7 -VERSION="2022.83"
     5.8 +VERSION="2025.88"
     5.9  CATEGORY="security"
    5.10  SHORT_DESC="Lightweight SSH2 server and client"
    5.11  MAINTAINER="pascal.bellard@slitaz.org"
    5.12 @@ -38,7 +38,7 @@
    5.13  compile_rules()
    5.14  {
    5.15  	# CVE-2023-48795
    5.16 -	patch -p1 < $stuff/CVE-2023-48795.patch
    5.17 +	#patch -p1 < $stuff/CVE-2023-48795.patch
    5.18  
    5.19  	local i
    5.20  	local DROPBEARS
    5.21 @@ -47,8 +47,8 @@
    5.22  #define SFTPSERVER_PATH "/usr/sbin/sftp-server"
    5.23  #define DROPBEAR_X11FWD 1
    5.24  EOT
    5.25 -	sed -i 's|"SSH-2.0-dropbear_" DROPBEAR_VERSION|"SSH-2.0-dropbear"|' sysoptions.h
    5.26 -	sed -i 's|DROPBEAR_CHANNEL_PRIO_INTERACTIVE|DROPBEAR_PRIO_LOWDELAY|' svr-x11fwd.c
    5.27 +	sed -i 's|"SSH-2.0-dropbear_" DROPBEAR_VERSION|"SSH-2.0-dropbear"|' src/sysoptions.h
    5.28 +	sed -i 's|DROPBEAR_CHANNEL_PRIO_INTERACTIVE|DROPBEAR_PRIO_LOWDELAY|' src/svr-x11fwd.c
    5.29  	sed -i 's|shell arch|shell uname -m|' libtommath/makefile_include.mk
    5.30  	./configure --prefix=/usr --without-pam $CONFIGURE_ARGS $CROSS_ARGS &&
    5.31  	make PROGRAMS="dropbear $DROPBEARS" MULTI=1 SCPPROGRESS=1 &&
    5.32 @@ -74,12 +74,6 @@
    5.33  	for i in $DROPBEARS ssh; do
    5.34  		ln -s ../sbin/dropbear $DESTDIR/usr/bin/$i || exit 1
    5.35  	done
    5.36 -	install -d -m 755 $DESTDIR/usr/share/man/man1 &&
    5.37 -	install -m 644 $src/*.1 $DESTDIR/usr/share/man/man1 && 
    5.38 -	install -d -m 755 $DESTDIR/usr/share/man/man8 &&
    5.39 -	install -m 644 $src/*.8 $DESTDIR/usr/share/man/man8 &&
    5.40 -	install -d -m 755 $DESTDIR/usr/share/doc &&
    5.41 -	install -m 644 $src/[A-Z][A-Z]* $DESTDIR/usr/share/doc
    5.42  }
    5.43  
    5.44  # Rules to gen a SliTaz package suitable for Tazpkg.
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/epson-inkjet-printer-escpr/receipt	Tue Jul 15 20:40:17 2025 +0000
     6.3 @@ -0,0 +1,45 @@
     6.4 +# SliTaz package receipt.
     6.5 +
     6.6 +PACKAGE="epson-inkjet-printer-escpr"
     6.7 +VERSION="1.8.6"
     6.8 +CATEGORY="system-tools"
     6.9 +SHORT_DESC="Epson Inkjet Printer XP Series"
    6.10 +MAINTAINER="maintainer@slitaz.org"
    6.11 +LICENSE="LGPL"
    6.12 +WEB_SITE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
    6.13 +TARBALL="$PACKAGE-$VERSION-1.src.rpm"
    6.14 +WGET_URL="https://download3.ebz.epson.net/dsc/f/03/00/16/21/79/6d53e6ec3f8c1e55733eb7860e992a425883bf88/$TARBALL"
    6.15 +
    6.16 +DEPENDS="cups"
    6.17 +BUILD_DEPENDS="automake libtool cups-dev"
    6.18 +
    6.19 +HOST_ARCH="x86_64"
    6.20 +
    6.21 +# Rules to configure and make the package.
    6.22 +compile_rules()
    6.23 +{
    6.24 +	# Extract filters and ppds files 
    6.25 +	tar xf ${PACKAGE}-${VERSION}-1.tar.gz
    6.26 +
    6.27 +	cd ${PACKAGE}-$VERSION
    6.28 +	autoreconf -f -i
    6.29 +	./configure			\
    6.30 +		--prefix=/usr		\
    6.31 +		--sysconfdir=/etc	\
    6.32 +	$CONFIGURE_ARGS &&
    6.33 +	make &&
    6.34 +	make install
    6.35 +}
    6.36 +
    6.37 +# Rules to gen a SliTaz package suitable for Tazpkg.
    6.38 +genpkg_rules()
    6.39 +{
    6.40 +	mkdir -p $fs/usr/lib $fs/usr/share/ppd
    6.41 +
    6.42 +	# Copy and compress ppd
    6.43 +	cp -a $install/usr/share/ppd/$PACKAGE $fs/usr/share/ppd
    6.44 +	gzip -9 $fs/usr/share/ppd/$PACKAGE/*.ppd
    6.45 +
    6.46 +	cp -a $install/usr/lib/*so*	$fs/usr/lib
    6.47 +	cp -a $install/usr/lib/cups	$fs/usr/lib
    6.48 +}
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/epson-iscan/receipt	Tue Jul 15 20:40:17 2025 +0000
     7.3 @@ -0,0 +1,63 @@
     7.4 +# SliTaz package receipt.
     7.5 +
     7.6 +PACKAGE="epson-iscan"
     7.7 +SOURCE="iscan"
     7.8 +VERSION="2.30.4"
     7.9 +CATEGORY="system-tools"
    7.10 +SHORT_DESC="EPSON Image Scan frontend for scanners and all-in-ones"
    7.11 +MAINTAINER="maintainer@slitaz.org"
    7.12 +LICENSE="GPL2 custon"
    7.13 +WEB_SITE="http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX"
    7.14 +TARBALL="${SOURCE}_${VERSION}-2.tar.gz"
    7.15 +WGET_URL="https://sourceforge.net/projects/fabiololix-os-archive/files/src/$TARBALL"
    7.16 +
    7.17 +DEPENDS="gtk+ sane-backends libltdl libpng libusb libxml2"
    7.18 +BUILD_DEPENDS="coreutils-file-summarize gtk+-dev libusb-dev \
    7.19 +libtool sane-backends-dev"
    7.20 +
    7.21 +HOST_ARCH="x86_64"
    7.22 +
    7.23 +# Rules to configure and make the package.
    7.24 +compile_rules()
    7.25 +{
    7.26 +	# Patchs from archlinux
    7.27 +	# see https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=iscan
    7.28 +	patch -p0 < $stuff/libpng15.patch
    7.29 +	patch -p0 < $stuff/jpegstream.cc.patch
    7.30 +	patch -p0 < $stuff/hain01commits2dip-obj.patch
    7.31 +	patch -p0 < $stuff/iscan-${VERSION}.2-c99.patch
    7.32 +	patch -p0 < $stuff/iscan-2.30.3_fix-sscanf-modifier-in-cfg-obj.patch
    7.33 +
    7.34 +	# add fix for CXX ABI different than 1002
    7.35 +	ln -s libesmod-x86_64.c2.so non-free/libesmod-x86_64.so
    7.36 +
    7.37 +	export CFLAGS="$CFLAGS -std=gnu89"
    7.38 +	export LDFLAGS="$LDFLAGS -ldl -lpng16"
    7.39 +
    7.40 +	./configure				\
    7.41 +		--prefix=/usr			\
    7.42 +		--localstatedir=/var		\
    7.43 +		--enable-dependency-reduction	\
    7.44 +		--sysconfdir=/etc		\
    7.45 +		--enable-frontend		\
    7.46 +		--enable-jpeg			\
    7.47 +		--enable-tiff			\
    7.48 +		--enable-png			\
    7.49 +		--disable-gimp			\
    7.50 +	$CONFIGURE_ARGS &&
    7.51 +	make &&
    7.52 +	make install
    7.53 +}
    7.54 +
    7.55 +# Rules to gen a SliTaz package suitable for Tazpkg.
    7.56 +genpkg_rules()
    7.57 +{
    7.58 +	mkdir -p $fs/etc/sane.d/dll.d $fs/usr/lib
    7.59 +
    7.60 +	cp -a $src/backend/epkowa.conf	$fs/etc/sane.d
    7.61 +	cp -a $stuff/epkowa.conf	$fs/etc/sane.d/dll.d
    7.62 +	cp -a $install/usr/bin		$fs/usr
    7.63 +	cp -a $install/usr/sbin		$fs/usr
    7.64 +	cp -a $install/usr/lib/*so*	$fs/usr/lib
    7.65 +	cp -a $install/usr/lib/sane	$fs/usr/lib
    7.66 +}
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/epson-iscan/stuff/epkowa.conf	Tue Jul 15 20:40:17 2025 +0000
     8.3 @@ -0,0 +1,1 @@
     8.4 +epkowa
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/epson-iscan/stuff/hain01commits2dip-obj.patch	Tue Jul 15 20:40:17 2025 +0000
     9.3 @@ -0,0 +1,95 @@
     9.4 +--- backend/dip-obj.c
     9.5 ++++ backend/dip-obj.c
     9.6 +@@ -556,43 +556,72 @@
     9.7 + }
     9.8 + 
     9.9 + /*! \todo Add support for 16 bit color values (#816).
    9.10 ++	Added the commits of https://github.com/hean01/iscan/commit/147edc66ceddb34b5e0c8745a08ce6c96e7e02b5 and https://github.com/hean01/iscan/commit/575468d83bb70d928f5893c4c4b4ce7faa15e3d5 to support 16bit color.
    9.11 +  */
    9.12 + void
    9.13 + dip_apply_color_profile (const void *self, const buffer *buf,
    9.14 +                          const double profile[9])
    9.15 + {
    9.16 +   SANE_Int i;
    9.17 +-  SANE_Byte *r_buf, *g_buf, *b_buf;
    9.18 +   double red, grn, blu;
    9.19 + 
    9.20 +-  SANE_Byte *data;
    9.21 +   SANE_Int size;
    9.22 + 
    9.23 +   require (dip == self && buf && profile);
    9.24 +-  require (8 == buf->ctx.depth);
    9.25 ++  require (buf->ctx.depth == 8 || buf->ctx.depth == 16);
    9.26 + 
    9.27 +   if (SANE_FRAME_RGB != buf->ctx.format)
    9.28 +     return;
    9.29 + 
    9.30 +-  data = buf->ptr;
    9.31 +-  size = buf->end - buf->ptr;
    9.32 ++  if (buf->ctx.depth == 8)
    9.33 ++  {
    9.34 ++    SANE_Byte *r_buf, *g_buf, *b_buf;
    9.35 ++    SANE_Byte *data;
    9.36 + 
    9.37 +-  for (i = 0; i < size / 3; i++)
    9.38 ++    data = buf->ptr;
    9.39 ++    size = buf->end - buf->ptr;
    9.40 ++  
    9.41 ++    for (i = 0; i < size / 3; i++)
    9.42 ++    {
    9.43 ++      r_buf = data;
    9.44 ++      g_buf = data + 1;
    9.45 ++      b_buf = data + 2;
    9.46 ++
    9.47 ++      red =
    9.48 ++        profile[0] * (*r_buf) + profile[1] * (*g_buf) + profile[2] * (*b_buf);
    9.49 ++      grn =
    9.50 ++        profile[3] * (*r_buf) + profile[4] * (*g_buf) + profile[5] * (*b_buf);
    9.51 ++      blu =
    9.52 ++        profile[6] * (*r_buf) + profile[7] * (*g_buf) + profile[8] * (*b_buf);
    9.53 ++
    9.54 ++      *data++ = clamp (red, 0, 255);
    9.55 ++      *data++ = clamp (grn, 0, 255);
    9.56 ++      *data++ = clamp (blu, 0, 255);
    9.57 ++    }
    9.58 ++  }
    9.59 ++  else if (buf->ctx.depth == 16)
    9.60 +   {
    9.61 +-    r_buf = data;
    9.62 +-    g_buf = data + 1;
    9.63 +-    b_buf = data + 2;
    9.64 +-
    9.65 +-    red =
    9.66 +-      profile[0] * (*r_buf) + profile[1] * (*g_buf) + profile[2] * (*b_buf);
    9.67 +-    grn =
    9.68 +-      profile[3] * (*r_buf) + profile[4] * (*g_buf) + profile[5] * (*b_buf);
    9.69 +-    blu =
    9.70 +-      profile[6] * (*r_buf) + profile[7] * (*g_buf) + profile[8] * (*b_buf);
    9.71 +-
    9.72 +-    *data++ = clamp (red, 0, 255);
    9.73 +-    *data++ = clamp (grn, 0, 255);
    9.74 +-    *data++ = clamp (blu, 0, 255);
    9.75 ++	uint16_t *r_buf, *g_buf, *b_buf;
    9.76 ++    uint16_t *data;
    9.77 ++	
    9.78 ++    data = (uint16_t *)buf->ptr;
    9.79 ++    while(data < buf->end)
    9.80 ++    {
    9.81 ++      r_buf = data;
    9.82 ++      g_buf = data + 1;
    9.83 ++      b_buf = data + 2;
    9.84 ++
    9.85 ++      red =
    9.86 ++	    profile[0] * (*r_buf) + profile[1] * (*g_buf) + profile[2] * (*b_buf);
    9.87 ++      grn =
    9.88 ++	    profile[3] * (*r_buf) + profile[4] * (*g_buf) + profile[5] * (*b_buf);
    9.89 ++      blu =
    9.90 ++	    profile[6] * (*r_buf) + profile[7] * (*g_buf) + profile[8] * (*b_buf);
    9.91 ++
    9.92 ++      *data++ = clamp (red, 0, 65535);
    9.93 ++      *data++ = clamp (grn, 0, 65535);
    9.94 ++      *data++ = clamp (blu, 0, 65535);
    9.95 ++    }
    9.96 +   }
    9.97 + }
    9.98 + 
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/epson-iscan/stuff/iscan-2.30.3_fix-sscanf-modifier-in-cfg-obj.patch	Tue Jul 15 20:40:17 2025 +0000
    10.3 @@ -0,0 +1,20 @@
    10.4 +--- backend/cfg-obj.c
    10.5 ++++ backend/cfg-obj.c
    10.6 +@@ -1026,7 +1026,7 @@
    10.7 +       char *vendor = NULL;
    10.8 +       char *model  = NULL;
    10.9 + 
   10.10 +-      sscanf (string, "%*s %as %as", &vendor, &model);
   10.11 ++      sscanf (string, "%*s %ms %ms", &vendor, &model);
   10.12 + 
   10.13 +       if (list_append (_cfg->seen[CFG_KEY_SCSI], info))
   10.14 +         {
   10.15 +@@ -1108,7 +1108,7 @@
   10.16 +       char *library  = NULL;
   10.17 +       char *firmware = NULL;
   10.18 + 
   10.19 +-      sscanf (string, "%*s %*s %x %x %as %as",
   10.20 ++      sscanf (string, "%*s %*s %x %x %ms %ms",
   10.21 +               &vendor, &product, &library, &firmware);
   10.22 + 
   10.23 +       if (library && _cfg_have_interpreter (library, firmware)
   10.24 \ No newline at end of file
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/epson-iscan/stuff/iscan-2.30.4.2-c99.patch	Tue Jul 15 20:40:17 2025 +0000
    11.3 @@ -0,0 +1,24 @@
    11.4 +--- backend/defines.h	2021-01-04 08:13:48.995137756 -0000
    11.5 ++++ backend/defines.h	2021-01-04 08:16:00.524563361 -0000
    11.6 +@@ -31,6 +31,13 @@
    11.7 + 
    11.8 + 
    11.9 + #ifndef __cplusplus
   11.10 ++
   11.11 ++/*  Use the C99 bool type if available
   11.12 ++ */
   11.13 ++#ifdef HAVE_STDBOOL_H
   11.14 ++#include <stdbool.h>
   11.15 ++#else
   11.16 ++
   11.17 + /*! A C++ Boolean type and corresponding keywords for our C code.
   11.18 +  */
   11.19 + typedef enum {
   11.20 +@@ -38,6 +45,7 @@
   11.21 +   true
   11.22 + } bool;
   11.23 + #endif
   11.24 ++#endif
   11.25 + 
   11.26 + 
   11.27 + /*  Run-time contract validation.
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/epson-iscan/stuff/jpegstream.cc.patch	Tue Jul 15 20:40:17 2025 +0000
    12.3 @@ -0,0 +1,21 @@
    12.4 +--- lib/jpegstream.cc.orig	2016-06-20 06:10:38.000000000 +0200
    12.5 ++++ lib/jpegstream.cc	2016-07-10 18:45:40.511301054 +0200
    12.6 +@@ -33,7 +33,7 @@
    12.7 + 
    12.8 + #include "jpegstream.hh"
    12.9 + 
   12.10 +-#include <cstdlib>
   12.11 ++// #include <cstdlib>
   12.12 + #include <ios>
   12.13 + 
   12.14 + namespace iscan
   12.15 +@@ -82,7 +82,8 @@
   12.16 +         //        only that _bits != 8.
   12.17 +         for (unsigned int i = 0; i < _h_sz; ++i)
   12.18 +           {
   12.19 +-            div_t index = div (i, 8 * sizeof (JSAMPLE));
   12.20 ++            div_t index = div (static_cast<int>(i),
   12.21 ++                               static_cast<int>(8 * sizeof (JSAMPLE)));
   12.22 +             int offset = 8 * sizeof (JSAMPLE) - 1 - index.rem;
   12.23 +             _scanline[i] = ((line[index.quot] & (1 << offset))
   12.24 +                             ? 0 : ~0);
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/epson-iscan/stuff/libpng15.patch	Tue Jul 15 20:40:17 2025 +0000
    13.3 @@ -0,0 +1,52 @@
    13.4 +#
    13.5 +# Thanks to Fabio Castelli, ArchLinux:
    13.6 +# https://projects.archlinux.org/svntogit/community.git/tree/trunk/libpng15.patch?h=packages/iscan
    13.7 +#
    13.8 +--- lib/pngstream.cc	2011-12-01 02:30:53.000000000 +0100
    13.9 ++++ lib/pngstream.cc	2012-02-06 03:06:22.000000000 +0100
   13.10 +@@ -83,7 +83,12 @@
   13.11 + #if HAVE_PNG_H
   13.12 +     set_error_handler (_png, _info);
   13.13 + 
   13.14 ++/* when not interlacing (ie, only one pass), number of rows is image height:  _v_sz */
   13.15 ++#if PNG_LIBPNG_VER > 10499
   13.16 ++        if (!_footer && _v_sz == lib->get_current_row_number(_png))
   13.17 ++#else
   13.18 +     if (_header && !_footer && _png->num_rows == _png->flush_rows)
   13.19 ++#endif
   13.20 +       {
   13.21 +         lib->write_end (_png, _info);
   13.22 +         _footer = true;
   13.23 +@@ -167,6 +172,9 @@
   13.24 +     funcsym (write_row);
   13.25 +     funcsym (write_flush);
   13.26 +     funcsym (write_end);
   13.27 ++#if PNG_LIBPNG_VER > 10499
   13.28 ++    funcsym (get_current_row_number);
   13.29 ++#endif
   13.30 + 
   13.31 +     if (lib->access_version_number
   13.32 +         && lib->create_write_struct
   13.33 +@@ -176,6 +184,9 @@
   13.34 +         && lib->set_IHDR
   13.35 +         && lib->set_pHYs
   13.36 +         && lib->set_invert_mono
   13.37 ++#if PNG_LIBPNG_VER > 10499
   13.38 ++	&& lib->get_current_row_number
   13.39 ++#endif
   13.40 +         && lib->write_info
   13.41 +         && lib->write_row
   13.42 +         && lib->write_flush
   13.43 +--- lib/pngstream.hh	2011-12-01 02:30:53.000000000 +0100
   13.44 ++++ lib/pngstream.hh	2012-02-06 03:09:09.000000000 +0100
   13.45 +@@ -108,6 +108,10 @@
   13.46 +                png_structp);
   13.47 +       fundecl (void, write_end,
   13.48 +                png_structp, png_infop);
   13.49 ++#if PNG_LIBPNG_VER > 10499
   13.50 ++      fundecl (png_uint_32, get_current_row_number,
   13.51 ++               png_structp);
   13.52 ++#endif
   13.53 + #endif /* HAVE_PNG_H */
   13.54 +     };
   13.55 +     static png_lib_handle *lib;
    14.1 --- a/gcc/receipt	Sun Jul 06 15:33:46 2025 +0000
    14.2 +++ b/gcc/receipt	Tue Jul 15 20:40:17 2025 +0000
    14.3 @@ -56,6 +56,11 @@
    14.4  	# Allow build gcc 6.3.0 from gcc > 6.3.0
    14.5  	patch -p1 < $stuff/gcc-6.3.0-ubsan.patch
    14.6  
    14.7 +	# Patch libsanitizer to be build with glibc > 2.30
    14.8 +	# see https://bugs.gentoo.org/708346
    14.9 +	patch -p1 < $stuff/glibc-2.31-libsanitizer-1.patch
   14.10 +	patch -p1 < $stuff/glibc-2.31-libsanitizer-2.patch
   14.11 +
   14.12  	mkdir -p ../gcc-build && cd ../gcc-build
   14.13  
   14.14  	# This is the default GCC and we want a native build to cross compile after.
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/gcc/stuff/glibc-2.31-libsanitizer-1.patch	Tue Jul 15 20:40:17 2025 +0000
    15.3 @@ -0,0 +1,37 @@
    15.4 +From ce9568e9e9cf6094be30e748821421e703754ffc Mon Sep 17 00:00:00 2001
    15.5 +From: Jakub Jelinek <jakub@redhat.com>
    15.6 +Date: Fri, 8 Nov 2019 19:53:18 +0100
    15.7 +Subject: [PATCH] backport: re PR sanitizer/92154 (new glibc breaks arm
    15.8 + bootstrap due to libsanitizer)
    15.9 +
   15.10 +	Backported from mainline
   15.11 +	2019-10-22  Tamar Christina  <tamar.christina@arm.com>
   15.12 +
   15.13 +	PR sanitizer/92154
   15.14 +	* sanitizer_common/sanitizer_platform_limits_posix.cc:
   15.15 +	Cherry-pick compiler-rt revision r375220.
   15.16 +
   15.17 +From-SVN: r277981
   15.18 +---
   15.19 + libsanitizer/ChangeLog                                   | 9 +++++++++
   15.20 + .../sanitizer_common/sanitizer_platform_limits_posix.cc  | 6 +++++-
   15.21 + 2 files changed, 14 insertions(+), 1 deletion(-)
   15.22 +
   15.23 +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
   15.24 +index 6cd4a5bac8b0..06a605ff4670 100644
   15.25 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
   15.26 ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
   15.27 +@@ -1156,8 +1156,12 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
   15.28 + CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
   15.29 + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
   15.30 + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
   15.31 +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
   15.32 ++#if (!defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)) && \
   15.33 ++    !defined(__arm__)
   15.34 + /* On aarch64 glibc 2.20 and earlier provided incorrect mode field.  */
   15.35 ++/* On Arm glibc 2.31 and later provide a different mode field, this field is
   15.36 ++   never used by libsanitizer so we can simply ignore this assert for all glibc
   15.37 ++   versions.  */
   15.38 + CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
   15.39 + #endif
   15.40 + 
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/gcc/stuff/glibc-2.31-libsanitizer-2.patch	Tue Jul 15 20:40:17 2025 +0000
    16.3 @@ -0,0 +1,73 @@
    16.4 +From 75003cdd23c310ec385344e8040d490e8dd6d2be Mon Sep 17 00:00:00 2001
    16.5 +From: Jakub Jelinek <jakub@redhat.com>
    16.6 +Date: Fri, 20 Dec 2019 17:58:35 +0100
    16.7 +Subject: [PATCH] backport: re PR sanitizer/92154 (new glibc breaks arm
    16.8 + bootstrap due to libsanitizer)
    16.9 +
   16.10 +	Backported from mainline
   16.11 +	2019-11-26  Jakub Jelinek  <jakub@redhat.com>
   16.12 +
   16.13 +	PR sanitizer/92154
   16.14 +	* sanitizer_common/sanitizer_platform_limits_posix.h: Cherry-pick
   16.15 +	llvm-project revision 947f9692440836dcb8d88b74b69dd379d85974ce.
   16.16 +	* sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise.
   16.17 +
   16.18 +From-SVN: r279653
   16.19 +---
   16.20 + libsanitizer/ChangeLog                            | 10 ++++++++++
   16.21 + .../sanitizer_platform_limits_posix.cc            |  9 +++------
   16.22 + .../sanitizer_platform_limits_posix.h             | 15 +--------------
   16.23 + 3 files changed, 14 insertions(+), 20 deletions(-)
   16.24 +
   16.25 +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
   16.26 +index 06a605ff4670..d823a12190c0 100644
   16.27 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
   16.28 ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
   16.29 +@@ -1156,12 +1156,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
   16.30 + CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
   16.31 + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
   16.32 + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
   16.33 +-#if (!defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)) && \
   16.34 +-    !defined(__arm__)
   16.35 +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field.  */
   16.36 +-/* On Arm glibc 2.31 and later provide a different mode field, this field is
   16.37 +-   never used by libsanitizer so we can simply ignore this assert for all glibc
   16.38 +-   versions.  */
   16.39 ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
   16.40 ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
   16.41 ++   on many architectures.  */
   16.42 + CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
   16.43 + #endif
   16.44 + 
   16.45 +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
   16.46 +index 73af92af1e8f..6a673a7c9959 100644
   16.47 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
   16.48 ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
   16.49 +@@ -211,26 +211,13 @@ namespace __sanitizer {
   16.50 +     u64 __unused1;
   16.51 +     u64 __unused2;
   16.52 + #elif defined(__sparc__)
   16.53 +-#if defined(__arch64__)
   16.54 +     unsigned mode;
   16.55 +-    unsigned short __pad1;
   16.56 +-#else
   16.57 +-    unsigned short __pad1;
   16.58 +-    unsigned short mode;
   16.59 +     unsigned short __pad2;
   16.60 +-#endif
   16.61 +     unsigned short __seq;
   16.62 +     unsigned long long __unused1;
   16.63 +     unsigned long long __unused2;
   16.64 +-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__)
   16.65 +-    unsigned int mode;
   16.66 +-    unsigned short __seq;
   16.67 +-    unsigned short __pad1;
   16.68 +-    unsigned long __unused1;
   16.69 +-    unsigned long __unused2;
   16.70 + #else
   16.71 +-    unsigned short mode;
   16.72 +-    unsigned short __pad1;
   16.73 ++    unsigned int mode;
   16.74 +     unsigned short __seq;
   16.75 +     unsigned short __pad2;
   16.76 + #if defined(__x86_64__) && !defined(_LP64)
    17.1 --- a/glibc-base/receipt	Sun Jul 06 15:33:46 2025 +0000
    17.2 +++ b/glibc-base/receipt	Tue Jul 15 20:40:17 2025 +0000
    17.3 @@ -1,7 +1,7 @@
    17.4  # SliTaz package receipt.
    17.5  
    17.6  PACKAGE="glibc-base"
    17.7 -VERSION="2.28"
    17.8 +VERSION="2.31"
    17.9  CATEGORY="base-system"
   17.10  SHORT_DESC="GNU libc minimal libraries and UTF-8 support for SliTaz."
   17.11  WEB_SITE="http://www.gnu.org/software/libc/"
    18.1 --- a/glibc-base/stuff/i486-files.list	Sun Jul 06 15:33:46 2025 +0000
    18.2 +++ b/glibc-base/stuff/i486-files.list	Tue Jul 15 20:40:17 2025 +0000
    18.3 @@ -1,18 +1,18 @@
    18.4 -/lib/libutil-2.28.so
    18.5 -/lib/libnss_dns-2.28.so
    18.6 -/lib/libnsl-2.28.so
    18.7 -/lib/libanl-2.28.so
    18.8 -/lib/libm-2.28.so
    18.9 -/lib/libpthread-2.28.so
   18.10 +/lib/libutil-2.31.so
   18.11 +/lib/libnss_dns-2.31.so
   18.12 +/lib/libnsl-2.31.so
   18.13 +/lib/libanl-2.31.so
   18.14 +/lib/libm-2.31.so
   18.15 +/lib/libpthread-2.31.so
   18.16  /lib/libthread_db-1.0.so
   18.17 -/lib/libnss_compat-2.28.so
   18.18 -/lib/libc-2.28.so
   18.19 -/lib/librt-2.28.so
   18.20 -/lib/libcrypt-2.28.so
   18.21 -/lib/ld-2.28.so
   18.22 -/lib/libresolv-2.28.so
   18.23 -/lib/libnss_files-2.28.so
   18.24 -/lib/libdl-2.28.so
   18.25 +/lib/libnss_compat-2.31.so
   18.26 +/lib/libc-2.31.so
   18.27 +/lib/librt-2.31.so
   18.28 +/lib/libcrypt-2.31.so
   18.29 +/lib/ld-2.31.so
   18.30 +/lib/libresolv-2.31.so
   18.31 +/lib/libnss_files-2.31.so
   18.32 +/lib/libdl-2.31.so
   18.33  
   18.34  /usr/lib/gconv/UNICODE.so
   18.35  /usr/lib/gconv/gconv-modules
    19.1 --- a/glibc-base/stuff/wanted-files.list	Sun Jul 06 15:33:46 2025 +0000
    19.2 +++ b/glibc-base/stuff/wanted-files.list	Tue Jul 15 20:40:17 2025 +0000
    19.3 @@ -1,19 +1,19 @@
    19.4 -/lib/libutil-2.28.so
    19.5 -/lib/libnss_dns-2.28.so
    19.6 -/lib/libnsl-2.28.so
    19.7 -/lib/libanl-2.28.so
    19.8 -/lib/libm-2.28.so
    19.9 -/lib/libmvec-2.28.so
   19.10 -/lib/libpthread-2.28.so
   19.11 +/lib/libutil-2.31.so
   19.12 +/lib/libnss_dns-2.31.so
   19.13 +/lib/libnsl-2.31.so
   19.14 +/lib/libanl-2.31.so
   19.15 +/lib/libm-2.31.so
   19.16 +/lib/libmvec-2.31.so
   19.17 +/lib/libpthread-2.31.so
   19.18  /lib/libthread_db-1.0.so
   19.19 -/lib/libnss_compat-2.28.so
   19.20 -/lib/libc-2.28.so
   19.21 -/lib/librt-2.28.so
   19.22 -/lib/libcrypt-2.28.so
   19.23 -/lib/ld-2.28.so
   19.24 -/lib/libresolv-2.28.so
   19.25 -/lib/libnss_files-2.28.so
   19.26 -/lib/libdl-2.28.so
   19.27 +/lib/libnss_compat-2.31.so
   19.28 +/lib/libc-2.31.so
   19.29 +/lib/librt-2.31.so
   19.30 +/lib/libcrypt-2.31.so
   19.31 +/lib/ld-2.31.so
   19.32 +/lib/libresolv-2.31.so
   19.33 +/lib/libnss_files-2.31.so
   19.34 +/lib/libdl-2.31.so
   19.35  
   19.36  /usr/lib/gconv/UNICODE.so
   19.37  /usr/lib/gconv/gconv-modules
    20.1 --- a/glibc-dev/receipt	Sun Jul 06 15:33:46 2025 +0000
    20.2 +++ b/glibc-dev/receipt	Tue Jul 15 20:40:17 2025 +0000
    20.3 @@ -1,7 +1,7 @@
    20.4  # SliTaz package receipt.
    20.5  
    20.6  PACKAGE="glibc-dev"
    20.7 -VERSION="2.28"
    20.8 +VERSION="2.31"
    20.9  CATEGORY="development"
   20.10  SHORT_DESC="The GNU C libraries devel files (Part of SliTaz toolchain)."
   20.11  MAINTAINER="pankso@slitaz.org"
    21.1 --- a/glibc-locale/receipt	Sun Jul 06 15:33:46 2025 +0000
    21.2 +++ b/glibc-locale/receipt	Tue Jul 15 20:40:17 2025 +0000
    21.3 @@ -1,7 +1,7 @@
    21.4  # SliTaz package receipt.
    21.5  
    21.6  PACKAGE="glibc-locale"
    21.7 -VERSION="2.28"
    21.8 +VERSION="2.31"
    21.9  CATEGORY="system-tools"
   21.10  SHORT_DESC="The GNU C libraries locale files and utilities (see also locale-*)."
   21.11  MAINTAINER="pankso@slitaz.org"
    22.1 --- a/glibc/receipt	Sun Jul 06 15:33:46 2025 +0000
    22.2 +++ b/glibc/receipt	Tue Jul 15 20:40:17 2025 +0000
    22.3 @@ -1,7 +1,7 @@
    22.4  # SliTaz package receipt.
    22.5  
    22.6  PACKAGE="glibc"
    22.7 -VERSION="2.28"
    22.8 +VERSION="2.31"
    22.9  CATEGORY="meta"
   22.10  SHORT_DESC="The GNU C libraries. This package is used to compile the libc."
   22.11  MAINTAINER="pankso@slitaz.org"
   22.12 @@ -134,11 +134,13 @@
   22.13  	# see https://sourceware.org/git/?p=glibc.git;a=blob;f=advisories/GLIBC-SA-2024-0004;h=23a8115d;hb=HEAD
   22.14  	# https://sourceware.org/git/?p=glibc.git;a=patch;h=682ad4c8 (adjust little for 2.28)
   22.15  	patch -p1 < $stuff/glibc-2.28-CVE-2024-2961.patch
   22.16 +	#patch -p1 < $stuff/glibc-2.32-CVE-2024-2961.patch
   22.17  
   22.18 -	# Patch for CVE-2025-4802, adjust for backport to 2.28
   22.19 +	# Patch for CVE-2025-4802, adjust for backport to 2.28 and 2.31
   22.20  	# see https://www.cve.org/CVERecord?id=CVE-2025-4802
   22.21  	# see https://sourceware.org/cgit/glibc/commit/?id=1e18586c
   22.22 -	patch -p1 -i $stuff/CVE-2025-4802.patch
   22.23 +	patch -p1 -i $stuff/glibc-2.28-CVE-2025-4802.patch
   22.24 +	#patch -p1 -i $stuff/CVE-2025-4802.patch
   22.25  
   22.26  	# Update for binutils 2.29, see https://sourceware.org/bugzilla/show_bug.cgi?id=21661
   22.27  	sed -i 's|obstack_compat;|obstack_compat  __attribute__ ((nocommon));|' malloc/obstack.c
   22.28 @@ -158,7 +160,7 @@
   22.29  	mkdir -p $WOK/$PACKAGE/install/etc
   22.30  	touch $WOK/$PACKAGE/install/etc/ld.so.conf
   22.31  	mkdir ../glibc-build && cd ../glibc-build
   22.32 -	
   22.33 +
   22.34  	# Read the INSTALL file in glibc. Also Glibc dont build with -Os flag.
   22.35  	# --enale-kernel use latest SliTaz Kernel version. From Glibc INSTALL:
   22.36  	# "The higher the VERSION number is, the less compatibility code is
    23.1 --- a/glibc/stuff/CVE-2025-4802.patch	Sun Jul 06 15:33:46 2025 +0000
    23.2 +++ b/glibc/stuff/CVE-2025-4802.patch	Tue Jul 15 20:40:17 2025 +0000
    23.3 @@ -1,4 +1,4 @@
    23.4 -From 5451fa962cd0a90a0e2ec1d8910a559ace02bba0 Mon Sep 17 00:00:00 2001
    23.5 +From bff3b0f16c991b825016afee53a85b4d2b4f6b72 Mon Sep 17 00:00:00 2001
    23.6  From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
    23.7  Date: Mon, 6 Nov 2023 17:25:49 -0300
    23.8  Subject: elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static
    23.9 @@ -7,44 +7,52 @@
   23.10  
   23.11  Checked on x86_64-linux-gnu.
   23.12  Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
   23.13 -Adjust for backport to glibc 2.28
   23.14 +
   23.15 +(cherry picked from commit 5451fa962cd0a90a0e2ec1d8910a559ace02bba0)
   23.16 +
   23.17 +Changes:
   23.18 +
   23.19 +	git/elf/dl-support.c
   23.20 +	  (missing commit 55f41ef8de4a4d0c5762d78659e11202d3c765d4
   23.21 +	   ("elf: Remove LD_PROFILE for static binaries"),
   23.22 +	   missing removal of tunables support)
   23.23  ---
   23.24 - elf/dl-support.c | 32 ++++++++++++++++----------------
   23.25 - 1 file changed, 16 insertions(+), 16 deletions(-)
   23.26 + elf/dl-support.c | 45 +++++++++++++++++++++------------------------
   23.27 + 1 file changed, 21 insertions(+), 24 deletions(-)
   23.28  
   23.29  diff --git a/elf/dl-support.c b/elf/dl-support.c
   23.30 -index 31a608df87..837fa1c836 100644
   23.31 +index 09079c124d..1963f8a28a 100644
   23.32  --- a/elf/dl-support.c
   23.33  +++ b/elf/dl-support.c
   23.34 -@@ -317,12 +317,34 @@
   23.35 -   if (HP_SMALL_TIMING_AVAIL)
   23.36 -     HP_TIMING_NOW (_dl_cpuclock_offset);
   23.37 +@@ -272,8 +272,6 @@ _dl_non_dynamic_init (void)
   23.38 +   _dl_main_map.l_phdr = GL(dl_phdr);
   23.39 +   _dl_main_map.l_phnum = GL(dl_phnum);
   23.40   
   23.41  -  _dl_verbose = *(getenv ("LD_WARN") ?: "") == '\0' ? 0 : 1;
   23.42  -
   23.43     /* Set up the data structures for the system-supplied DSO early,
   23.44        so they can influence _dl_init_paths.  */
   23.45     setup_vdso (NULL, NULL);
   23.46 +@@ -281,6 +279,27 @@ _dl_non_dynamic_init (void)
   23.47 +   /* With vDSO setup we can initialize the function pointers.  */
   23.48 +   setup_vdso_pointers ();
   23.49   
   23.50  +  if (__libc_enable_secure)
   23.51  +    {
   23.52  +      static const char unsecure_envvars[] =
   23.53 -+        UNSECURE_ENVVARS
   23.54 -+#ifdef EXTRA_UNSECURE_ENVVARS
   23.55 -+        EXTRA_UNSECURE_ENVVARS
   23.56 -+#endif
   23.57 -+        ;
   23.58 ++	UNSECURE_ENVVARS
   23.59 ++	;
   23.60  +      const char *cp = unsecure_envvars;
   23.61  +
   23.62  +      while (cp < unsecure_envvars + sizeof (unsecure_envvars))
   23.63 -+        {
   23.64 -+          __unsetenv (cp);
   23.65 -+          cp = (const char *) __rawmemchr (cp, '\0') + 1;
   23.66 -+        }
   23.67 ++	{
   23.68 ++	  __unsetenv (cp);
   23.69 ++	  cp = strchr (cp, '\0') + 1;
   23.70 ++	}
   23.71  +
   23.72  +#if !HAVE_TUNABLES
   23.73  +      if (__access ("/etc/suid-debug", F_OK) != 0)
   23.74 -+        __unsetenv ("MALLOC_CHECK_");
   23.75 ++	__unsetenv ("MALLOC_CHECK_");
   23.76  +#endif
   23.77  +    }
   23.78  +
   23.79 @@ -52,36 +60,56 @@
   23.80  +
   23.81     /* Initialize the data structures for the search paths for shared
   23.82        objects.  */
   23.83 -   _dl_init_paths (getenv ("LD_LIBRARY_PATH"));
   23.84 -@@ -340,28 +362,6 @@
   23.85 -   if (_dl_profile_output == NULL || _dl_profile_output[0] == '\0')
   23.86 -     _dl_profile_output
   23.87 -       = &"/var/tmp\0/var/profile"[__libc_enable_secure ? 9 : 0];
   23.88 --
   23.89 --  if (__libc_enable_secure)
   23.90 --    {
   23.91 --      static const char unsecure_envvars[] =
   23.92 --	UNSECURE_ENVVARS
   23.93 --#ifdef EXTRA_UNSECURE_ENVVARS
   23.94 --	EXTRA_UNSECURE_ENVVARS
   23.95 --#endif
   23.96 --	;
   23.97 --      const char *cp = unsecure_envvars;
   23.98 --
   23.99 --      while (cp < unsecure_envvars + sizeof (unsecure_envvars))
  23.100 --	{
  23.101 --	  __unsetenv (cp);
  23.102 --	  cp = (const char *) __rawmemchr (cp, '\0') + 1;
  23.103 --	}
  23.104 --
  23.105 --#if !HAVE_TUNABLES
  23.106 --      if (__access ("/etc/suid-debug", F_OK) != 0)
  23.107 --	__unsetenv ("MALLOC_CHECK_");
  23.108 --#endif
  23.109 --    }
  23.110 +   _dl_init_paths (getenv ("LD_LIBRARY_PATH"), "LD_LIBRARY_PATH",
  23.111 +-- 
  23.112 +cgit 
  23.113 +
  23.114 +From 08aea7712d1470649537c8d2d17089ea40d478e5 Mon Sep 17 00:00:00 2001
  23.115 +From: Florian Weimer <fweimer@redhat.com>
  23.116 +Date: Mon, 23 Dec 2024 13:57:55 +0100
  23.117 +Subject: support: Add support_record_failure_barrier
  23.118 +
  23.119 +This can be used to stop execution after a TEST_COMPARE_BLOB
  23.120 +failure, for example.
  23.121 +
  23.122 +(cherry picked from commit d0b8aa6de4529231fadfe604ac2c434e559c2d9e)
  23.123 +---
  23.124 + support/check.h                  |  3 +++
  23.125 + support/support_record_failure.c | 10 ++++++++++
  23.126 + 2 files changed, 13 insertions(+)
  23.127 +
  23.128 +diff --git a/support/check.h b/support/check.h
  23.129 +index 43f4208a0a..dac6f04b56 100644
  23.130 +--- a/support/check.h
  23.131 ++++ b/support/check.h
  23.132 +@@ -207,6 +207,9 @@ void support_record_failure_reset (void);
  23.133 +    failures or not.  */
  23.134 + int support_record_failure_is_failed (void);
  23.135   
  23.136 - #ifdef DL_PLATFORM_INIT
  23.137 -   DL_PLATFORM_INIT;
  23.138 ++/* Terminate the process if any failures have been encountered so far.  */
  23.139 ++void support_record_failure_barrier (void);
  23.140 ++
  23.141 + __END_DECLS
  23.142 + 
  23.143 + #endif /* SUPPORT_CHECK_H */
  23.144 +diff --git a/support/support_record_failure.c b/support/support_record_failure.c
  23.145 +index 7e57fe97fb..b00387ff80 100644
  23.146 +--- a/support/support_record_failure.c
  23.147 ++++ b/support/support_record_failure.c
  23.148 +@@ -112,3 +112,13 @@ support_record_failure_is_failed (void)
  23.149 +      synchronization for reliable test error reporting anyway.  */
  23.150 +   return __atomic_load_n (&state->failed, __ATOMIC_RELAXED);
  23.151 + }
  23.152 ++
  23.153 ++void
  23.154 ++support_record_failure_barrier (void)
  23.155 ++{
  23.156 ++  if (__atomic_load_n (&state->failed, __ATOMIC_RELAXED))
  23.157 ++    {
  23.158 ++      puts ("error: exiting due to previous errors");
  23.159 ++      exit (1);
  23.160 ++    }
  23.161 ++}
  23.162 +-- 
  23.163 +cgit 
  23.164  
  23.165 ---
  23.166 -cgit
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/glibc/stuff/glibc-2.28-CVE-2025-4802.patch	Tue Jul 15 20:40:17 2025 +0000
    24.3 @@ -0,0 +1,87 @@
    24.4 +From 5451fa962cd0a90a0e2ec1d8910a559ace02bba0 Mon Sep 17 00:00:00 2001
    24.5 +From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
    24.6 +Date: Mon, 6 Nov 2023 17:25:49 -0300
    24.7 +Subject: elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static
    24.8 +
    24.9 +It mimics the ld.so behavior.
   24.10 +
   24.11 +Checked on x86_64-linux-gnu.
   24.12 +Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
   24.13 +Adjust for backport to glibc 2.28
   24.14 +---
   24.15 + elf/dl-support.c | 32 ++++++++++++++++----------------
   24.16 + 1 file changed, 16 insertions(+), 16 deletions(-)
   24.17 +
   24.18 +diff --git a/elf/dl-support.c b/elf/dl-support.c
   24.19 +index 31a608df87..837fa1c836 100644
   24.20 +--- a/elf/dl-support.c
   24.21 ++++ b/elf/dl-support.c
   24.22 +@@ -317,12 +317,34 @@
   24.23 +   if (HP_SMALL_TIMING_AVAIL)
   24.24 +     HP_TIMING_NOW (_dl_cpuclock_offset);
   24.25 + 
   24.26 +-  _dl_verbose = *(getenv ("LD_WARN") ?: "") == '\0' ? 0 : 1;
   24.27 +-
   24.28 +   /* Set up the data structures for the system-supplied DSO early,
   24.29 +      so they can influence _dl_init_paths.  */
   24.30 +   setup_vdso (NULL, NULL);
   24.31 + 
   24.32 ++  if (__libc_enable_secure)
   24.33 ++    {
   24.34 ++      static const char unsecure_envvars[] =
   24.35 ++        UNSECURE_ENVVARS
   24.36 ++#ifdef EXTRA_UNSECURE_ENVVARS
   24.37 ++        EXTRA_UNSECURE_ENVVARS
   24.38 ++#endif
   24.39 ++        ;
   24.40 ++      const char *cp = unsecure_envvars;
   24.41 ++
   24.42 ++      while (cp < unsecure_envvars + sizeof (unsecure_envvars))
   24.43 ++        {
   24.44 ++          __unsetenv (cp);
   24.45 ++          cp = (const char *) __rawmemchr (cp, '\0') + 1;
   24.46 ++        }
   24.47 ++
   24.48 ++#if !HAVE_TUNABLES
   24.49 ++      if (__access ("/etc/suid-debug", F_OK) != 0)
   24.50 ++        __unsetenv ("MALLOC_CHECK_");
   24.51 ++#endif
   24.52 ++    }
   24.53 ++
   24.54 ++  _dl_verbose = *(getenv ("LD_WARN") ?: "") == '\0' ? 0 : 1;
   24.55 ++
   24.56 +   /* Initialize the data structures for the search paths for shared
   24.57 +      objects.  */
   24.58 +   _dl_init_paths (getenv ("LD_LIBRARY_PATH"));
   24.59 +@@ -340,28 +362,6 @@
   24.60 +   if (_dl_profile_output == NULL || _dl_profile_output[0] == '\0')
   24.61 +     _dl_profile_output
   24.62 +       = &"/var/tmp\0/var/profile"[__libc_enable_secure ? 9 : 0];
   24.63 +-
   24.64 +-  if (__libc_enable_secure)
   24.65 +-    {
   24.66 +-      static const char unsecure_envvars[] =
   24.67 +-	UNSECURE_ENVVARS
   24.68 +-#ifdef EXTRA_UNSECURE_ENVVARS
   24.69 +-	EXTRA_UNSECURE_ENVVARS
   24.70 +-#endif
   24.71 +-	;
   24.72 +-      const char *cp = unsecure_envvars;
   24.73 +-
   24.74 +-      while (cp < unsecure_envvars + sizeof (unsecure_envvars))
   24.75 +-	{
   24.76 +-	  __unsetenv (cp);
   24.77 +-	  cp = (const char *) __rawmemchr (cp, '\0') + 1;
   24.78 +-	}
   24.79 +-
   24.80 +-#if !HAVE_TUNABLES
   24.81 +-      if (__access ("/etc/suid-debug", F_OK) != 0)
   24.82 +-	__unsetenv ("MALLOC_CHECK_");
   24.83 +-#endif
   24.84 +-    }
   24.85 + 
   24.86 + #ifdef DL_PLATFORM_INIT
   24.87 +   DL_PLATFORM_INIT;
   24.88 +
   24.89 +--
   24.90 +cgit
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/irda-utils/receipt	Tue Jul 15 20:40:17 2025 +0000
    25.3 @@ -0,0 +1,51 @@
    25.4 +# SliTaz package receipt.
    25.5 +
    25.6 +PACKAGE="irda-utils"
    25.7 +VERSION="0.9.18"
    25.8 +CATEGORY="system-tools"
    25.9 +SHORT_DESC="Utilities for infrared communication between devices"
   25.10 +MAINTAINER="maintainer@slitaz.org"
   25.11 +LICENSE="GPL"
   25.12 +TARBALL="$PACKAGE-$VERSION.tar.gz"
   25.13 +WEB_SITE="http://irda.sourceforge.net"
   25.14 +WGET_URL="$SF_MIRROR/irda/$TARBALL"
   25.15 +HOST_ARCH="i486 x86_64"
   25.16 +
   25.17 +DEPENDS="glibc-base"
   25.18 +BUILD_DEPENDS="pciutils-dev"
   25.19 +
   25.20 +# Rules to configure and make the package.
   25.21 +compile_rules()
   25.22 +{
   25.23 +     export CFLAGS="$CFLAGS -std=gnu89 -fno-strict-aliasing"
   25.24 +     export CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
   25.25 +
   25.26 +     # Fix header locations / paths
   25.27 +     # see https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=irda-utils
   25.28 +     sed -e 's|asm/io.h|sys/io.h|' -i \
   25.29 +         findchip/winbond.c findchip/smc.c \
   25.30 +         findchip/nsc.c pcmcia/ircard_cs.c
   25.31 +
   25.32 +     sed -i -e 's|inline ||g' irdadump/*.c
   25.33 +
   25.34 +     sed -e 's|$(PREFIX)/usr/man|$(ROOT)/usr/share/man|' -i man/Makefile
   25.35 +     sed -e 's|/usr/sbin/|$(ROOT)/usr/sbin|' -i irnetd/Makefile
   25.36 +
   25.37 +     # Patch for new kernel
   25.38 +     # see https://bugs.gentoo.org/692428
   25.39 +     patch -p1 < $stuff/irda-utils-SIOCGSTAMP.patch
   25.40 +
   25.41 +     # wk for install folder
   25.42 +     mkdir $install/usr/bin $install/usr/sbin -p
   25.43 +
   25.44 +     make ROOT=$install DIRS="irdadump irattach irdaping irnetd psion findchip smcinit"
   25.45 +     make ROOT=$install install
   25.46 +}
   25.47 +
   25.48 +# Rules to gen a SliTaz package suitable for Tazpkg.
   25.49 +genpkg_rules()
   25.50 +{
   25.51 +    mkdir -p $fs/usr
   25.52 +    cp -a $install/usr/bin $fs/usr
   25.53 +    cp -a $install/usr/sbin $fs/usr
   25.54 +}
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/irda-utils/stuff/irda-utils-SIOCGSTAMP.patch	Tue Jul 15 20:40:17 2025 +0000
    26.3 @@ -0,0 +1,11 @@
    26.4 +https://bugs.gentoo.org/692428
    26.5 +--- a/irdadump/irdadump.c
    26.6 ++++ b/irdadump/irdadump.c
    26.7 +@@ -27,6 +27,7 @@
    26.8 + #include <sys/types.h>
    26.9 + #include <sys/time.h>
   26.10 + #include <sys/ioctl.h>
   26.11 ++#include <linux/sockios.h> /* SIOCGSTAMP */
   26.12 + 
   26.13 + #include <net/if_arp.h>
   26.14 + #include <net/if_packet.h>
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/libgusb-dev/receipt	Tue Jul 15 20:40:17 2025 +0000
    27.3 @@ -0,0 +1,25 @@
    27.4 +# SliTaz package receipt.
    27.5 +
    27.6 +PACKAGE="libgusb-dev"
    27.7 +VERSION="0.3.0"
    27.8 +CATEGORY="development"
    27.9 +SHORT_DESC="GObject wrapper for libusb1 dev files."
   27.10 +MAINTAINER="shann@slitaz.org"
   27.11 +LICENSE="LGPL2.1"
   27.12 +WEB_SITE="https://github.com/hughsie/libgusb"
   27.13 +WANTED="libgusb"
   27.14 +
   27.15 +DEPENDS="libgusb"
   27.16 +
   27.17 +HOST_ARCH="i486 x86_64"
   27.18 +
   27.19 +# Rules to gen a SliTaz package suitable for Tazpkg.
   27.20 +genpkg_rules()
   27.21 +{
   27.22 +	mkdir -p $fs/usr/lib
   27.23 +	cp -a $install/usr/include $fs/usr
   27.24 +	cp -a $install/usr/lib/pkgconfig $fs/usr/lib
   27.25 +	cp -a $install/usr/lib/girepository-1.0 $fs/usr/lib
   27.26 +	cp -a $install/usr/share/gir-1.0 $fs/usr/share
   27.27 +	cp -a $install/usr/share/vala $fs/usr/share
   27.28 +}
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/libgusb/receipt	Tue Jul 15 20:40:17 2025 +0000
    28.3 @@ -0,0 +1,34 @@
    28.4 +# SliTaz package receipt.
    28.5 +
    28.6 +PACKAGE="libgusb"
    28.7 +VERSION="0.3.0"
    28.8 +CATEGORY="libdevel"
    28.9 +SHORT_DESC="GObject wrapper for libusb1"
   28.10 +MAINTAINER="shann@slitaz.org"
   28.11 +LICENSE="LGPL2.1"
   28.12 +WEB_SITE="https://github.com/hughsie/libgusb"
   28.13 +
   28.14 +TARBALL="$PACKAGE-$VERSION.tar.xz"
   28.15 +WGET_URL="https://people.freedesktop.org/~hughsient/releases/$TARBALL"
   28.16 +
   28.17 +DEPENDS="glib libusb"
   28.18 +BUILD_DEPENDS="meson ninja glib-dev libusb-dev gobject-introspection-dev vala"
   28.19 +
   28.20 +HOST_ARCH="i486 x86_64"
   28.21 +
   28.22 +# Rules to configure and make the package.
   28.23 +compile_rules() {
   28.24 +	meson   _build		\
   28.25 +		--prefix=/usr	\
   28.26 +		-Ddocs=false &&
   28.27 +	ninja -C _build &&
   28.28 +	ninja -C _build install
   28.29 +}
   28.30 +
   28.31 +# Rules to gen a SliTaz package suitable for Tazpkg.
   28.32 +genpkg_rules()
   28.33 +{
   28.34 +	mkdir -p $fs/usr/lib
   28.35 +	cp -a $install/usr/bin $fs/usr
   28.36 +	cp -a $install/usr/lib/*.so* $fs/usr/lib
   28.37 +}
    29.1 --- a/make/receipt	Sun Jul 06 15:33:46 2025 +0000
    29.2 +++ b/make/receipt	Tue Jul 15 20:40:17 2025 +0000
    29.3 @@ -12,7 +12,7 @@
    29.4  WGET_URL="$GNU_MIRROR/$PACKAGE/$TARBALL"
    29.5  
    29.6  DEPENDS="glibc-base"
    29.7 -BUILD_DEPENDS=""
    29.8 +BUILD_DEPENDS="automake"
    29.9  
   29.10  HOST_ARCH="i486 arm x86_64"
   29.11  
   29.12 @@ -26,6 +26,10 @@
   29.13  # Rules to configure and make the package.
   29.14  compile_rules()
   29.15  {
   29.16 +	#patch -p1 < $stuff/make-4.2.1.patch
   29.17 +	#patch -p1 < $stuff/make-glob.patch
   29.18 +	#autoreconf -vif
   29.19 +
   29.20  	./configure $CONFIGURE_ARGS &&
   29.21  	make -j 1 &&
   29.22  	make install
    30.1 --- a/pkg-config/receipt	Sun Jul 06 15:33:46 2025 +0000
    30.2 +++ b/pkg-config/receipt	Tue Jul 15 20:40:17 2025 +0000
    30.3 @@ -30,8 +30,13 @@
    30.4  # Rules to configure and make the package.
    30.5  compile_rules()
    30.6  {
    30.7 +	# Fix issue happen sometime
    30.8 +	# see https://github.com/msys2/MINGW-packages/pull/1686
    30.9 +	patch -p1 < $stuff/1031-fix-glib-gettext-m4-error.patch
   30.10 +
   30.11  	autoreconf
   30.12  	sed -i 's/\$(LN).*pkg-config\$(EXEEXT) \$(host_tool)/echo \1/' Makefile*
   30.13 +
   30.14  	case "$ARCH" in
   30.15  		arm)
   30.16  			./configure \
    31.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    31.2 +++ b/pkg-config/stuff/1031-fix-glib-gettext-m4-error.patch	Tue Jul 15 20:40:17 2025 +0000
    31.3 @@ -0,0 +1,13 @@
    31.4 +--- a/glib/m4macros/glib-gettext.m4	2016-08-30 17:11:06.937292400 +0200
    31.5 ++++ b/glib/m4macros/glib-gettext.m4	2016-08-30 17:11:28.137412200 +0200
    31.6 +@@ -36,8 +36,8 @@
    31.7 + dnl try to pull in the installed version of these macros
    31.8 + dnl when running aclocal in the glib directory.
    31.9 + dnl
   31.10 +-m4_copy([AC_DEFUN],[glib_DEFUN])
   31.11 +-m4_copy([AC_REQUIRE],[glib_REQUIRE])
   31.12 ++m4_copy_force([AC_DEFUN],[glib_DEFUN])
   31.13 ++m4_copy_force([AC_REQUIRE],[glib_REQUIRE])
   31.14 + dnl
   31.15 + dnl At the end, if we're not within glib, we'll define the public
   31.16 + dnl definitions in terms of our private definitions.
    32.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    32.2 +++ b/simple-scan/receipt	Tue Jul 15 20:40:17 2025 +0000
    32.3 @@ -0,0 +1,45 @@
    32.4 +# SliTaz package receipt.
    32.5 +
    32.6 +PACKAGE="simple-scan"
    32.7 +VERSION="3.34.1"
    32.8 +CATEGORY="office"
    32.9 +SHORT_DESC="Simple scanning utility."
   32.10 +MAINTAINER="shann@slitaz.org"
   32.11 +LICENSE="GPL3"
   32.12 +TARBALL="$PACKAGE-$VERSION.tar.gz"
   32.13 +WEB_SITE="https://apps.gnome.org/SimpleScan/"
   32.14 +WGET_URL="https://gitlab.gnome.org/GNOME/$PACKAGE/-/archive/$VERSION/$TARBALL"
   32.15 +
   32.16 +DEPENDS="gtk+3 sane-backends libgusb adwaita-icon-theme librsvg gsettings-desktop-schemas"
   32.17 +BUILD_DEPENDS="meson cairo-dev dbus-glib-dev gettext gtk+3-dev gdk-pixbuf-dev glib-dev \
   32.18 +itstool libgusb-dev libusb-dev pango-dev vala xz sane-backends-dev"
   32.19 +
   32.20 +HOST_ARCH="i486 x86_64"
   32.21 +
   32.22 +current_version()
   32.23 +{
   32.24 +	wget -O - "${WGET_URL%/arch*}/tags?sort=updated_desc" 2>/dev/null | \
   32.25 +	sed '/tar.gz/!d;s|.*/simple-scan-\(.*\).tar.gz".*|\1|;q'
   32.26 +}
   32.27 +
   32.28 +# Rules to configure and make the package.
   32.29 +compile_rules()
   32.30 +{
   32.31 +	# Fix build with meson > 0.60
   32.32 +	# see https://gitlab.gnome.org/GNOME/simple-scan/-/issues/284
   32.33 +	patch -p1 < $stuff/fix_meson.patch
   32.34 +
   32.35 +	meson   _build		\
   32.36 +		--prefix=/usr &&
   32.37 +	ninja -C _build &&
   32.38 +	ninja -C _build install
   32.39 +}
   32.40 +
   32.41 +# Rules to gen a SliTaz package suitable for Tazpkg.
   32.42 +genpkg_rules()
   32.43 +{
   32.44 +	mkdir -p $fs/usr/share/glib-2.0
   32.45 +	cp -a $install/usr/bin $fs/usr
   32.46 +	cp -a $install/usr/share/glib-2.0 $fs/usr/share
   32.47 +	cp -a $install/usr/share/locale	$fs/usr/share
   32.48 +}
    33.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.2 +++ b/simple-scan/stuff/fix_meson.patch	Tue Jul 15 20:40:17 2025 +0000
    33.3 @@ -0,0 +1,37 @@
    33.4 +From da6626debe00be1a0660f30cf2bf7629186c01d5 Mon Sep 17 00:00:00 2001
    33.5 +From: r-value <i@rvalue.moe>
    33.6 +Date: Tue, 16 Nov 2021 02:43:11 +0800
    33.7 +Subject: [PATCH] Remove incorrect i18n.merge_file argument
    33.8 +
    33.9 +The positional argument was being silently ignored until meson 0.60.0 where
   33.10 +it fails with "ERROR: Function does not take positional arguments".
   33.11 +---
   33.12 + data/meson.build | 6 ++----
   33.13 + 1 file changed, 2 insertions(+), 4 deletions(-)
   33.14 +
   33.15 +diff --git a/data/meson.build b/data/meson.build
   33.16 +index 2b5a0ee3..cf6e4ae1 100644
   33.17 +--- a/data/meson.build
   33.18 ++++ b/data/meson.build
   33.19 +@@ -8,16 +8,14 @@ install_data ('org.gnome.SimpleScan.gschema.xml',
   33.20 +               install_dir: join_paths (datadir, 'glib-2.0', 'schemas'))
   33.21 + meson.add_install_script ('meson_compile_gschema.py')
   33.22 + 
   33.23 +-i18n.merge_file ('desktop-file',
   33.24 +-                 input: 'simple-scan.desktop.in',
   33.25 ++i18n.merge_file (input: 'simple-scan.desktop.in',
   33.26 +                  output: 'simple-scan.desktop',
   33.27 +                  install: true,
   33.28 +                  install_dir: join_paths (datadir, 'applications'),
   33.29 +                  po_dir: '../po',
   33.30 +                  type: 'desktop')
   33.31 + 
   33.32 +-i18n.merge_file ('appdata-file',
   33.33 +-                 input: 'simple-scan.appdata.xml.in',
   33.34 ++i18n.merge_file (input: 'simple-scan.appdata.xml.in',
   33.35 +                  output: 'simple-scan.appdata.xml',
   33.36 +                  install: true,
   33.37 +                  install_dir: join_paths (datadir, 'metainfo'),
   33.38 +-- 
   33.39 +GitLab
   33.40 +
    34.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    34.2 +++ b/simple-scan/stuff/fix_vala.patch	Tue Jul 15 20:40:17 2025 +0000
    34.3 @@ -0,0 +1,22 @@
    34.4 +diff --git a/src/page.vala b/src/page.vala
    34.5 +index 582aef8eaeb95b4e6fef783babb8df22c77807a6..c859df91f5bf87e4b834410c2d33a73389bd8ac2 100644
    34.6 +--- a/src/page.vala
    34.7 ++++ b/src/page.vala
    34.8 +@@ -86,7 +86,7 @@ public class Page
    34.9 +     public bool is_color { get { return n_channels > 1; } }
   34.10 + 
   34.11 +     /* Rotation of scanned data */
   34.12 +-    private ScanDirection scan_direction_;
   34.13 ++    private ScanDirection scan_direction_ = ScanDirection.TOP_TO_BOTTOM;
   34.14 +     public ScanDirection scan_direction
   34.15 +     {
   34.16 +         get { return scan_direction_; }
   34.17 +@@ -142,8 +142,6 @@ public class Page
   34.18 +             if (has_crop)
   34.19 +                 crop_changed ();
   34.20 +         }
   34.21 +-        
   34.22 +-        default = ScanDirection.TOP_TO_BOTTOM;
   34.23 +     }
   34.24 + 
   34.25 +     /* True if the page has a crop set */
    35.1 --- a/slitaz-configs/receipt	Sun Jul 06 15:33:46 2025 +0000
    35.2 +++ b/slitaz-configs/receipt	Tue Jul 15 20:40:17 2025 +0000
    35.3 @@ -16,6 +16,8 @@
    35.4  BUILD_DEPENDS="" # see below
    35.5  SIBLINGS="slitaz-configs-base"
    35.6  
    35.7 +CONFIG_FILES="/etc/xdg/openbox/menu.xml"
    35.8 +
    35.9  # Special case for ARM since some (most) config files are in slitaz-arm repo.
   35.10  # i486/arm common configs are provided by slitaz-configs-base.
   35.11  case "$SLITAZ_ARCH" in
   35.12 @@ -80,6 +82,12 @@
   35.13  	chown -R root.root $fs
   35.14  }
   35.15  
   35.16 +pre_install()
   35.17 +{
   35.18 +	# Save previous menu.xml symlink
   35.19 +	cp -a /etc/xdg/openbox/menu.xml /etc/xdg/openbox/menu.xml.save
   35.20 +}
   35.21 +
   35.22  post_install()
   35.23  {
   35.24  	case "$SLITAZ_ARCH" in
   35.25 @@ -92,4 +100,7 @@
   35.26  					"$1/etc/slim.conf"
   35.27  			fi ;;
   35.28  	esac
   35.29 +
   35.30 +	# Restore previous menu.xml symlink
   35.31 +	mv /etc/xdg/openbox/menu.xml.save /etc/xdg/openbox/menu.xml
   35.32  }
    36.1 --- a/slitaz-tools-boxes/receipt	Sun Jul 06 15:33:46 2025 +0000
    36.2 +++ b/slitaz-tools-boxes/receipt	Tue Jul 15 20:40:17 2025 +0000
    36.3 @@ -14,7 +14,7 @@
    36.4  GENERIC_MENUS="no"
    36.5  HOST_ARCH="i486 arm x86_64"
    36.6  
    36.7 -DEPENDS="slitaz-tools gettext-base yad xorg-xhost"
    36.8 +DEPENDS="slitaz-tools gettext-base yad-gtk2 xorg-xhost"
    36.9  BUILD_DEPENDS="tzdata"
   36.10  SIBLINGS="slitaz-tools tazdrop"
   36.11