diff options
Diffstat (limited to 'source/ap')
92 files changed, 2768 insertions, 1180 deletions
diff --git a/source/ap/amp/amp.SlackBuild b/source/ap/amp/amp.SlackBuild index 1f955b2a9..85ee4749d 100755 --- a/source/ap/amp/amp.SlackBuild +++ b/source/ap/amp/amp.SlackBuild @@ -58,7 +58,7 @@ zcat $CWD/amp-gcc34.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exi # Avoid crashes caused by using agressive optimization with newer compilers: zcat $CWD/amp.do.not.overoptimize.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 chown -R root:root . -./configure --prefix=/usr $ARCH-slackware-linux || exit 1 +CFLAGS="-Wno-error=implicit-int" ./configure --prefix=/usr $ARCH-slackware-linux || exit 1 make || exit 1 mkdir -p $PKG/usr/doc $PKG/usr/bin $PKG/usr/man/man1 strip amp diff --git a/source/ap/bc/bc.SlackBuild b/source/ap/bc/bc.SlackBuild index 7bd6b2740..4c5504e00 100755 --- a/source/ap/bc/bc.SlackBuild +++ b/source/ap/bc/bc.SlackBuild @@ -23,7 +23,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=bc VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-5} +BUILD=${BUILD:-6} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/ap/bpe/bpe.SlackBuild b/source/ap/bpe/bpe.SlackBuild index f415472d1..3ed4529e1 100755 --- a/source/ap/bpe/bpe.SlackBuild +++ b/source/ap/bpe/bpe.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=bpe VERSION=2.01.00 -BUILD=${BUILD:-6} +BUILD=${BUILD:-7} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -54,6 +54,9 @@ else SLKCFLAGS="-O2" fi +# GCC 14 "fix": +SLKCFLAGS="$SLKCFLAGS -Wno-error=implicit-int" + TMP=${TMP:-/tmp} PKG=$TMP/package-bpe @@ -71,7 +74,8 @@ zcat $CWD/bpe.port.to.strerror.diff.gz | patch -p1 --verbose || exit 1 CFLAGS="$SLKCFLAGS" \ ./configure \ - --prefix=/usr || exit 1 + --prefix=/usr \ + $ARCH-slackware-linux-gnu || exit 1 make || exit 1 make install DESTDIR=$PKG || exit 1 ( cd $PKG @@ -88,4 +92,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG makepkg -l y -c n $TMP/bpe-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/ap/cdrtools/cdrtools.SlackBuild b/source/ap/cdrtools/cdrtools.SlackBuild index 34334abbf..fe4f79166 100755 --- a/source/ap/cdrtools/cdrtools.SlackBuild +++ b/source/ap/cdrtools/cdrtools.SlackBuild @@ -66,6 +66,9 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ +# GCC 14 "fix": +export CFLAGS="-Wno-error=implicit-int -Wno-error=implicit-function-declaration" + # When running make below, you'll see "errors" like these: # config.h:34:10: fatal error: lconfig.h: No such file or directory # 34 | #include "lconfig.h" diff --git a/source/ap/cups-browsed/cups-browsed.SlackBuild b/source/ap/cups-browsed/cups-browsed.SlackBuild new file mode 100755 index 000000000..e8c295b70 --- /dev/null +++ b/source/ap/cups-browsed/cups-browsed.SlackBuild @@ -0,0 +1,144 @@ +#!/bin/bash + +# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=cups-browsed +VERSION=${VERSION:-$(echo $PKGNAM-*.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 + case "$(uname -m)" in + i?86) ARCH=i686 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "} + +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \+ -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \+ + +# Configure, build, and install: +if [ ! -r configure ]; then + if [ -x ./autogen.sh ]; then + NOCONFIGURE=1 ./autogen.sh + else + autoreconf -vif + fi +fi +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --with-cups-rundir=/run/cups \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --mandir=/usr/man \ + --disable-static \ + --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 + +mkdir -p $PKG/etc/rc.d +mv $PKG/etc/init.d/cups-browsed $PKG/etc/rc.d/rc.cups-browsed +chmod 0644 $PKG/etc/rc.d/rc.cups-browsed +rm -rf $PKG/etc/init.d $PKG/etc/rc{0,2,3,5}.d + +find $PKG/etc -type f -exec mv {} {}.new \; + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \+ +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS* CHANGES* CONTRIBUTING* COPYING* ChangeLog* DEVELOPING* INSTALL* LICENSE* NEWS* NOTICE* README* \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# If there's a CHANGES.md file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGES.md ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat CHANGES.md | head -n 1000 > $DOCSDIR/CHANGES.md + touch -r CHANGES.md $DOCSDIR/CHANGES.md +fi + +# Nope: +rm -f $PKG/usr/doc/${PKGNAM}-$VERSION/CHANGES-1.x* + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/ap/cups-browsed/cups-browsed.url b/source/ap/cups-browsed/cups-browsed.url new file mode 100644 index 000000000..8c533178f --- /dev/null +++ b/source/ap/cups-browsed/cups-browsed.url @@ -0,0 +1 @@ +https://github.com/OpenPrinting/cups-browsed diff --git a/source/ap/cups-filters/doinst.sh b/source/ap/cups-browsed/doinst.sh index 35b624517..35b624517 100644 --- a/source/ap/cups-filters/doinst.sh +++ b/source/ap/cups-browsed/doinst.sh diff --git a/source/ap/cups-browsed/slack-desc b/source/ap/cups-browsed/slack-desc new file mode 100644 index 000000000..5bf3c02a0 --- /dev/null +++ b/source/ap/cups-browsed/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +cups-browsed: cups-browsed (CUPS printer queue browser) +cups-browsed: +cups-browsed: The cups-browsed daemon is used to browse the network for remote CUPS +cups-browsed: queues and IPP network printers and automatically create local queues +cups-browsed: pointing to them. +cups-browsed: +cups-browsed: Homepage: http://www.openprinting.org +cups-browsed: +cups-browsed: +cups-browsed: +cups-browsed: diff --git a/source/ap/cups-filters/CVE-2023-24805.patch b/source/ap/cups-filters/CVE-2023-24805.patch deleted file mode 100644 index e84312a82..000000000 --- a/source/ap/cups-filters/CVE-2023-24805.patch +++ /dev/null @@ -1,167 +0,0 @@ ---- ./backend/beh.c.orig 2023-01-24 19:38:24.000000000 -0600 -+++ ./backend/beh.c 2023-05-19 13:08:27.724167656 -0500 -@@ -22,12 +22,14 @@ - #include "backend-private.h" - #include <cups/array.h> - #include <ctype.h> -+#include <sys/wait.h> -+ - - /* - * Local globals... - */ - --static int job_canceled = 0; /* Set to 1 on SIGTERM */ -+static volatile int job_canceled = 0; /* Set to 1 on SIGTERM */ - - /* - * Local functions... -@@ -213,21 +215,44 @@ - char **argv, /* I - Command-line arguments */ - char *filename) { /* I - File name of input data */ - const char *cups_serverbin; /* Location of programs */ -+ char *backend_argv[8]; // Arguments for called CUPS backend - char scheme[1024], /* Scheme from URI */ - *ptr, /* Pointer into scheme */ -- cmdline[65536]; /* Backend command line */ -- int retval; -+ backend_path[2048]; // Backend path -+ int pid, -+ wait_pid, -+ wait_status, -+ retval = 0; -+ int bytes; -+ - - /* - * Build the backend command line... - */ - -- strncpy(scheme, uri, sizeof(scheme) - 1); -- if (strlen(uri) > 1023) -- scheme[1023] = '\0'; -+ scheme[0] = '\0'; -+ strncat(scheme, uri, sizeof(scheme) - 1); - if ((ptr = strchr(scheme, ':')) != NULL) - *ptr = '\0'; -- -+ else -+ { -+ fprintf(stderr, -+ "ERROR: beh: Invalid URI, no colon (':') to mark end of scheme part.\n"); -+ exit (CUPS_BACKEND_FAILED); -+ } -+ if (strchr(scheme, '/')) -+ { -+ fprintf(stderr, -+ "ERROR: beh: Invalid URI, scheme contains a slash ('/').\n"); -+ exit (CUPS_BACKEND_FAILED); -+ } -+ if (!strcmp(scheme, ".") || !strcmp(scheme, "..")) -+ { -+ fprintf(stderr, -+ "ERROR: beh: Invalid URI, scheme (\"%s\") is a directory.\n", -+ scheme); -+ exit (CUPS_BACKEND_FAILED); -+ } - if ((cups_serverbin = getenv("CUPS_SERVERBIN")) == NULL) - cups_serverbin = CUPS_SERVERBIN; - -@@ -235,16 +260,26 @@ - fprintf(stderr, - "ERROR: beh: Direct output into a file not supported.\n"); - exit (CUPS_BACKEND_FAILED); -- } else -- snprintf(cmdline, sizeof(cmdline), -- "%s/backend/%s '%s' '%s' '%s' '%s' '%s' %s", -- cups_serverbin, scheme, argv[1], argv[2], argv[3], -- /* Apply number of copies only if beh was called with a -- file name and not with the print data in stdin, as -- backends should handle copies only if they are called -- with a file name */ -- (argc == 6 ? "1" : argv[4]), -- argv[5], filename); -+ } -+ -+ backend_argv[0] = uri; -+ backend_argv[1] = argv[1]; -+ backend_argv[2] = argv[2]; -+ backend_argv[3] = argv[3]; -+ backend_argv[4] = (argc == 6 ? "1" : argv[4]); -+ backend_argv[5] = argv[5]; -+ backend_argv[6] = filename; -+ backend_argv[7] = NULL; -+ -+ bytes = snprintf(backend_path, sizeof(backend_path), -+ "%s/backend/%s", cups_serverbin, scheme); -+ if (bytes < 0 || bytes >= sizeof(backend_path)) -+ { -+ fprintf(stderr, -+ "ERROR: beh: Invalid scheme (\"%s\"), could not determing backend path.\n", -+ scheme); -+ exit (CUPS_BACKEND_FAILED); -+ } - - /* - * Overwrite the device URI and run the actual backend... -@@ -253,17 +288,41 @@ - setenv("DEVICE_URI", uri, 1); - - fprintf(stderr, -- "DEBUG: beh: Executing backend command line \"%s\"...\n", -- cmdline); -+ "DEBUG: beh: Executing backend command line \"%s '%s' '%s' '%s' '%s' '%s'%s%s\"...\n", -+ backend_path, backend_argv[1], backend_argv[2], backend_argv[3], -+ backend_argv[4], backend_argv[5], -+ (backend_argv[6] && backend_argv[6][0] ? " " : ""), -+ (backend_argv[6] && backend_argv[6][0] ? backend_argv[6] : "")); - fprintf(stderr, - "DEBUG: beh: Using device URI: %s\n", - uri); - -- retval = system(cmdline) >> 8; -+ if ((pid = fork()) == 0) -+ { -+ retval = execv(backend_path, backend_argv); -+ -+ if (retval == -1) -+ fprintf(stderr, "ERROR: Unable to execute backend: %s\n", -+ strerror(errno)); -+ exit (CUPS_BACKEND_FAILED); -+ } -+ else if (pid < 0) -+ { -+ fprintf(stderr, "ERROR: Unable to fork for backend\n"); -+ return (CUPS_BACKEND_FAILED); -+ } -+ -+ while ((wait_pid = wait(&wait_status)) < 0 && errno == EINTR); - -- if (retval == -1) -- fprintf(stderr, "ERROR: Unable to execute backend command line: %s\n", -- strerror(errno)); -+ if (wait_pid >= 0 && wait_status) -+ { -+ if (WIFEXITED(wait_status)) -+ retval = WEXITSTATUS(wait_status); -+ else if (WTERMSIG(wait_status) != SIGTERM) -+ retval = WTERMSIG(wait_status); -+ else -+ retval = 0; -+ } - - return (retval); - } -@@ -277,8 +336,10 @@ - sigterm_handler(int sig) { /* I - Signal number (unused) */ - (void)sig; - -- fprintf(stderr, -- "DEBUG: beh: Job canceled.\n"); -+ const char * const msg = "DEBUG: beh: Job canceled.\n"; -+ // The if() is to eliminate the return value and silence the warning -+ // about an unused return value. -+ if (write(2, msg, strlen(msg))); - - if (job_canceled) - _exit(CUPS_BACKEND_OK); diff --git a/source/ap/cups-filters/cups-filters.SlackBuild b/source/ap/cups-filters/cups-filters.SlackBuild index 6d3f26413..6e184adbf 100755 --- a/source/ap/cups-filters/cups-filters.SlackBuild +++ b/source/ap/cups-filters/cups-filters.SlackBuild @@ -24,12 +24,12 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=cups-filters VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-5} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -46,14 +46,11 @@ fi NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" @@ -78,7 +75,7 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -zcat $CWD/CVE-2023-24805.patch.gz | patch -p1 --verbose || exit 1 +# We "--disable-avahi" because this package can't even use it. if [ ! -r configure ]; then if [ -x ./autogen.sh ]; then @@ -88,19 +85,20 @@ if [ ! -r configure ]; then fi fi CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS -std=c++17 -fpermissive" \ +CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --mandir=/usr/man \ --infodir=/usr/info \ + --runstatedir=/run \ --sysconfdir=/etc \ --localstatedir=/var \ --docdir=/usr/doc/$PKGNAM-$VERSION \ - --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf \ - --without-php \ + --disable-avahi \ --disable-mutool \ --disable-static \ + --with-browseremoteprotocols=cups \ --build=$ARCH-slackware-linux || exit 1 make $NUMJOBS || exit 1 @@ -115,30 +113,25 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr find $PKG/usr/man -type f -exec gzip -9 {} \+ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -mkdir -p $PKG/etc/rc.d -mv $PKG/etc/init.d/cups-browsed $PKG/etc/rc.d/rc.cups-browsed -chmod 0644 $PKG/etc/rc.d/rc.cups-browsed -rm -rf $PKG/etc/init.d $PKG/etc/rc{0,2,3,5}.d - -find $PKG/etc -type f -exec mv {} {}.new \; - # Add a documentation directory: mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION cp -a \ - AUTHORS COPYING* INSTALL ChangeLog NEWS README* THANKS TODO \ + AUTHORS* CHANGES* CONTRIBUTING* COPYING* ChangeLog* DEVELOPING* INSTALL* LICENSE* NEWS* NOTICE* README* \ $PKG/usr/doc/${PKGNAM}-$VERSION -# If there's a ChangeLog, installing at least part of the recent history +# If there's a CHANGES.md, installing at least part of the recent history # is useful, but don't let it get totally out of control: -if [ -r ChangeLog ]; then +if [ -r CHANGES.md ]; then DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) - cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog - touch -r ChangeLog $DOCSDIR/ChangeLog + cat CHANGES.md | head -n 1000 > $DOCSDIR/CHANGES.md + touch -r CHANGES.md $DOCSDIR/CHANGES.md fi +# Nope: +rm -f $PKG/usr/doc/${PKGNAM}-$VERSION/CHANGES-1.x* + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc -zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/ap/cups-filters/cups-filters.url b/source/ap/cups-filters/cups-filters.url index 7b1d5cdfa..54e28aa53 100644 --- a/source/ap/cups-filters/cups-filters.url +++ b/source/ap/cups-filters/cups-filters.url @@ -1 +1 @@ -http://www.openprinting.org/download/cups-filters/ +https://github.com/OpenPrinting/cups-filters diff --git a/source/ap/cups-filters/slack-desc b/source/ap/cups-filters/slack-desc index 9c2590f3b..6f6344b63 100644 --- a/source/ap/cups-filters/slack-desc +++ b/source/ap/cups-filters/slack-desc @@ -13,7 +13,7 @@ cups-filters: once part of the core CUPS distribution but is no longer included. cups-filters: In addition it contains additional filters and software developed cups-filters: independently. cups-filters: -cups-filters: +cups-filters: Homepage: http://www.openprinting.org cups-filters: cups-filters: cups-filters: diff --git a/source/ap/cups/cups.SlackBuild b/source/ap/cups/cups.SlackBuild index 506e7edc6..fbc459bd7 100755 --- a/source/ap/cups/cups.SlackBuild +++ b/source/ap/cups/cups.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2010, 2011, 2012, 2015, 2017, 2018, 2019, 2021, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2011, 2012, 2015, 2017, 2018, 2019, 2021, 2022, 2024 Patrick J. Volkerding, Sebeka, Minnesota, 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=cups VERSION=${VERSION:-$(echo $PKGNAM-2*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -98,6 +98,7 @@ CXXFLAGS="$SLKCFLAGS" \ --enable-cdsassl=no \ --docdir=/usr/doc \ --mandir=/usr/man \ + --with-rundir=/run/cups \ $PAM_OPTIONS \ $SHADOW_OPTIONS \ --build=$ARCH-slackware-linux || exit 1 @@ -105,6 +106,9 @@ CXXFLAGS="$SLKCFLAGS" \ make $NUMJOBS || exit 1 make BUILDROOT=$PKG install || exit 1 +# These files are lost with a restart, so don't package them: +rm -r $PKG/run + if [ ! -z "$PAM_OPTIONS" ]; then # Allow pam config files to be edited by root: chmod 644 $PKG/etc/pam.d/* diff --git a/source/ap/ghostscript/ghostscript.SlackBuild b/source/ap/ghostscript/ghostscript.SlackBuild index af557de3e..ae0360ac0 100755 --- a/source/ap/ghostscript/ghostscript.SlackBuild +++ b/source/ap/ghostscript/ghostscript.SlackBuild @@ -32,7 +32,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -54,20 +54,20 @@ PKG=$TMP/package-${PKGNAM} rm -rf $PKG mkdir -p $TMP $PKG -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi +# GCC 14 "fix": +SLKCFLAGS="$SLKCFLAGS -Wno-error=incompatible-pointer-types -Wno-error=int-conversion" + cd $TMP rm -rf ${SRCPREFIX}${PKGNAM}-${VERSION} tar xvf $CWD/${SRCPREFIX}${PKGNAM}-$VERSION.tar.?z || exit 1 diff --git a/source/ap/ghostscript/ghostscript.url b/source/ap/ghostscript/ghostscript.url index 12b9848de..7e133e7f9 100644 --- a/source/ap/ghostscript/ghostscript.url +++ b/source/ap/ghostscript/ghostscript.url @@ -1,2 +1,2 @@ https://github.com/ArtifexSoftware/ghostpdl-downloads -https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10030/ghostscript-10.03.0.tar.xz +https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.xz diff --git a/source/ap/groff/0006-Revert-upstream-change-of-mapping-special-characters.patch b/source/ap/groff/0006-Revert-upstream-change-of-mapping-special-characters.patch new file mode 100644 index 000000000..66b6bd450 --- /dev/null +++ b/source/ap/groff/0006-Revert-upstream-change-of-mapping-special-characters.patch @@ -0,0 +1,76 @@ +https://src.fedoraproject.org/rpms/groff/raw/rawhide/f/0006-Revert-upstream-change-of-mapping-special-characters.patch + +From f4f76740ad4693cb967801e366f1d6410381dd71 Mon Sep 17 00:00:00 2001 +From: groff owner <groff-owner@fedoraproject.org> +Date: Thu, 2 Nov 2023 13:09:37 +0000 +Subject: [PATCH] Revert upstream change of mapping special characters for + UTF-8 + +Adopt Debian decision: https://salsa.debian.org/debian/groff/-/commit/d5394c68d70e6c5199b01d2522e094c8fd52e64e +--- + tmac/man.local | 16 ++++++++++++++++ + tmac/mdoc.local | 17 ++++++++++++++++- + 2 files changed, 32 insertions(+), 1 deletion(-) + +diff --git a/tmac/man.local b/tmac/man.local +index 5daa507..4bed937 100644 +--- a/tmac/man.local ++++ b/tmac/man.local +@@ -2,6 +2,22 @@ + .\" + .\" Put local modifications to groff_man(7)'s behavior here. + .\" ++.\" Adopting Debian's decision to preserve old mapping for UTF-8 ++.\" Debian: As of groff 1.23.0, the "-", "'", "`", "^", and "~" input ++.\" characters are mapped to non-Basic Latin code points in output from ++.\" the "utf8" device, for consistency with other output devices such as ++.\" PDF. Unfortunately in practice this still causes far too much ++.\" disruption for innocent users of manual pages who just want to be able ++.\" to search for characters normally, so preserve the old behaviour. ++.\" Comment this out if you want to make sure that manual pages you're ++.\" writing are clear of these problems. ++.if '\*[.T]'utf8' \{\ ++. char - \- ++. char ' \[aq] ++. char ` \[ga] ++. char ^ \[ha] ++. char ~ \[ti] ++.\} + .\" Change "0" to "1" to enable OSC 8 links on SGR-capable grotty(1) + .\" output devices. + .if !'\*[.T]'html' \ +diff --git a/tmac/mdoc.local b/tmac/mdoc.local +index 94688ab..1bb47d6 100644 +--- a/tmac/mdoc.local ++++ b/tmac/mdoc.local +@@ -2,6 +2,22 @@ + .\" + .\" Put local modifications to groff_mdoc(7)'s behavior here. + .\" ++.\" Adopting Debian's decision to preserve old mapping for UTF-8 ++.\" Debian: As of groff 1.23.0, the "-", "'", "`", "^", and "~" input ++.\" characters are mapped to non-Basic Latin code points in output from ++.\" the "utf8" device, for consistency with other output devices such as ++.\" PDF. Unfortunately in practice this still causes far too much ++.\" disruption for innocent users of manual pages who just want to be able ++.\" to search for characters normally, so preserve the old behaviour. ++.\" Comment this out if you want to make sure that manual pages you're ++.\" writing are clear of these problems. ++.if '\*[.T]'utf8' \{\ ++. char - \- ++. char ' \[aq] ++. char ` \[ga] ++. char ^ \[ha] ++. char ~ \[ti] ++.\} + .\" "CW" is not a portable font name, but some man pages use it anyway. + .\" Uncomment this to suppress warnings produced by such pages. This + .\" test remaps the font to roman ("R") on nroff (terminal) devices. You +@@ -12,4 +28,3 @@ + .\" mode: nroff + .\" fill-column: 72 + .\" End: +-.\" vim: set filetype=groff textwidth=72: +-- +2.41.0 + diff --git a/source/ap/groff/groff.SlackBuild b/source/ap/groff/groff.SlackBuild index b67eff1e6..ae3d40735 100755 --- a/source/ap/groff/groff.SlackBuild +++ b/source/ap/groff/groff.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2005-2008, 2009, 2010, 2011, 2016, 2018, 2023 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2008, 2009, 2010, 2011, 2016, 2018, 2024 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=groff 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 @@ -80,6 +80,10 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ +# Map special characters to enable unescaped hyphens and other characters +# in man pages: +zcat $CWD/0006-Revert-upstream-change-of-mapping-special-characters.patch.gz | patch --verbose -p1 || exit 1 + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/ap/gutenprint/gutenprint.SlackBuild b/source/ap/gutenprint/gutenprint.SlackBuild index f732d2b31..2904ee44c 100755 --- a/source/ap/gutenprint/gutenprint.SlackBuild +++ b/source/ap/gutenprint/gutenprint.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=gutenprint VERSION=${VERSION:-$(echo gutenprint-*.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 @@ -60,6 +60,9 @@ else LIBDIRSUFFIX="" fi +# GCC 14 "fix": +SLKCFLAGS="$SLKCFLAGS -Wno-error=int-conversion" + TMP=${TMP:-/tmp} PKG=$TMP/package-gutenprint rm -rf $PKG @@ -76,6 +79,7 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ +CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ diff --git a/source/ap/hplip/0003-models.dat-Re-add-drivers-missing-from-3.19.1.patch b/source/ap/hplip/0003-models.dat-Re-add-drivers-missing-from-3.19.1.patch new file mode 100644 index 000000000..d42d9bd3b --- /dev/null +++ b/source/ap/hplip/0003-models.dat-Re-add-drivers-missing-from-3.19.1.patch @@ -0,0 +1,622 @@ +From: Zdenek Dohnal <zdohnal@redhat.com> +Date: Fri, 31 Jan 2020 13:50:05 +0100 +Subject: models.dat: Re-add drivers missing from 3.19.1 + +several printers were removed in 3.19.1, but actually someone still uses them +reported upstream https://bugs.launchpad.net/hplip/+bug/1843592 +bugzillas 1742949, 1740132, 1739855 + +Origin: https://src.fedoraproject.org/rpms/hplip/blob/master/f/hplip-missing-drivers.patch +--- + Makefile.in | 4 + + cups_drv.inc | 2 + + data/models/models.dat | 477 ++++++++++++++++++++++++++++++++++++++++++++++++- + prnt/drv/hpcups.drv.in | 16 ++ + 4 files changed, 490 insertions(+), 9 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index aef0fbc..cdee8e7 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1621,6 +1621,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_3050-ps.ppd.gz \ + ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \ + ppd/hpcups/hp-laserjet_cp1025.ppd.gz \ + ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \ ++ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \ + ppd/hpcups/hp-laserjet_m1005.ppd.gz \ + ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \ + ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \ +@@ -1738,6 +1739,7 @@ am__dist_ppd_DATA_DIST = prnt/ps/hp-laserjet_3050-ps.ppd.gz \ + ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \ + ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \ + ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \ ++ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \ + ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \ + ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \ + ppd/hpcups/hp-laserjet_tank_250x.ppd.gz \ +@@ -4106,6 +4108,7 @@ dist_unrel_DATA = + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \ + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp1025.ppd.gz \ + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \ ++@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \ + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m1005.ppd.gz \ + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \ + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \ +@@ -4222,6 +4225,7 @@ dist_unrel_DATA = + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \ + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \ + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \ ++@HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \ + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \ + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \ + @HPLIP_CLASS_DRIVER_FALSE@ ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \ +diff --git a/cups_drv.inc b/cups_drv.inc +index a87ea98..e39bde4 100644 +--- a/cups_drv.inc ++++ b/cups_drv.inc +@@ -411,6 +411,7 @@ cups_ppd_printers = \ + ppd/hpcups/hp-laserjet_cm1418fnw-pcl3.ppd.gz \ + ppd/hpcups/hp-laserjet_cp1025.ppd.gz \ + ppd/hpcups/hp-laserjet_cp1025nw.ppd.gz \ ++ ppd/hpcups/hp-laserjet_cp_1025nw.ppd.gz \ + ppd/hpcups/hp-laserjet_m1005.ppd.gz \ + ppd/hpcups/hp-laserjet_m101-m106.ppd.gz \ + ppd/hpcups/hp-laserjet_m109-m112.ppd.gz \ +@@ -527,6 +528,7 @@ cups_ppd_printers = \ + ppd/hpcups/hp-laserjet_professional_p1607dn.ppd.gz \ + ppd/hpcups/hp-laserjet_professional_p1608dn.ppd.gz \ + ppd/hpcups/hp-laserjet_professional_p1609dn.ppd.gz \ ++ ppd/hpcups/hp-laserjet_professional_p1102w.ppd.gz \ + ppd/hpcups/hp-laserjet_professional_p_1102w.ppd.gz \ + ppd/hpcups/hp-laserjet_tank_1020.ppd.gz \ + ppd/hpcups/hp-laserjet_tank_150x.ppd.gz \ +diff --git a/data/models/models.dat b/data/models/models.dat +index 12e9a08..7d9650b 100644 +--- a/data/models/models.dat ++++ b/data/models/models.dat +@@ -2104,7 +2104,7 @@ usb-pid=411 + usb-vid=3f0 + wifi-config=0 + +-[hp_laserjet_100_colormfp_m175] ++[hp_laserjet_100_colormfp_m175nw] + align-type=0 + clean-type=0 + color-cal-type=0 +@@ -2119,14 +2119,6 @@ io-support=14 + job-storage=0 + linefeed-cal-type=0 + model1=HP LaserJet 100 Color MFP M175 +-model2=HP LaserJet 100 Color MFP M175a +-model3=HP LaserJet 100 Color MFP M175b +-model4=HP LaserJet 100 Color MFP M175c +-model5=HP LaserJet 100 Color MFP M175e +-model6=HP LaserJet 100 Color MFP M175nw +-model7=HP LaserJet 100 Color MFP M175p +-model8=HP LaserJet 100 Color MFP M175q +-model9=HP LaserJet 100 Color MFP M175r + ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd + monitor-type=0 + panel-check-type=0 +@@ -2165,6 +2157,378 @@ usb-pid=62a + usb-vid=3f0 + wifi-config=3 + ++[hp_laserjet_100_colormfp_m175r] ++align-type=0 ++clean-type=0 ++color-cal-type=0 ++copy-type=0 ++embedded-server-type=1 ++fax-type=0 ++fw-download=False ++icon=hp_color_laserjet_cm1312_mfp.png ++io-mfp-mode=3 ++io-mode=1 ++io-support=14 ++job-storage=0 ++linefeed-cal-type=0 ++model1=HP LaserJet 100 Color MFP M175 ++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd ++monitor-type=0 ++panel-check-type=0 ++pcard-type=0 ++plugin=1 ++plugin-reason=64 ++power-settings=0 ++pq-diag-type=0 ++r-type=0 ++r0-agent1-kind=4 ++r0-agent1-sku=CE310A ++r0-agent1-type=1 ++r0-agent2-kind=4 ++r0-agent2-sku=CE311A ++r0-agent2-type=4 ++r0-agent3-kind=4 ++r0-agent3-sku=CE313A ++r0-agent3-type=5 ++r0-agent4-kind=4 ++r0-agent4-sku=CE312A ++r0-agent4-type=6 ++scan-src=3 ++scan-type=5 ++status-battery-check=0 ++status-dynamic-counters=0 ++status-type=10 ++support-released=True ++support-subtype=219b2b ++support-type=2 ++support-ver=3.11.7 ++tech-class=Postscript ++family-class=Undefined ++tech-subclass=Normal ++tech-type=4 ++usb-pid=62a ++usb-vid=3f0 ++wifi-config=3 ++ ++[hp_laserjet_100_colormfp_m175q] ++align-type=0 ++clean-type=0 ++color-cal-type=0 ++copy-type=0 ++embedded-server-type=1 ++fax-type=0 ++fw-download=False ++icon=hp_color_laserjet_cm1312_mfp.png ++io-mfp-mode=3 ++io-mode=1 ++io-support=14 ++job-storage=0 ++linefeed-cal-type=0 ++model1=HP LaserJet 100 Color MFP M175 ++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd ++monitor-type=0 ++panel-check-type=0 ++pcard-type=0 ++plugin=1 ++plugin-reason=64 ++power-settings=0 ++pq-diag-type=0 ++r-type=0 ++r0-agent1-kind=4 ++r0-agent1-sku=CE310A ++r0-agent1-type=1 ++r0-agent2-kind=4 ++r0-agent2-sku=CE311A ++r0-agent2-type=4 ++r0-agent3-kind=4 ++r0-agent3-sku=CE313A ++r0-agent3-type=5 ++r0-agent4-kind=4 ++r0-agent4-sku=CE312A ++r0-agent4-type=6 ++scan-src=3 ++scan-type=5 ++status-battery-check=0 ++status-dynamic-counters=0 ++status-type=10 ++support-released=True ++support-subtype=219b2b ++support-type=2 ++support-ver=3.11.7 ++tech-class=Postscript ++family-class=Undefined ++tech-subclass=Normal ++tech-type=4 ++usb-pid=62a ++usb-vid=3f0 ++wifi-config=3 ++ ++[hp_laserjet_100_colormfp_m175p] ++align-type=0 ++clean-type=0 ++color-cal-type=0 ++copy-type=0 ++embedded-server-type=1 ++fax-type=0 ++fw-download=False ++icon=hp_color_laserjet_cm1312_mfp.png ++io-mfp-mode=3 ++io-mode=1 ++io-support=14 ++job-storage=0 ++linefeed-cal-type=0 ++model1=HP LaserJet 100 Color MFP M175 ++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd ++monitor-type=0 ++panel-check-type=0 ++pcard-type=0 ++plugin=1 ++plugin-reason=64 ++power-settings=0 ++pq-diag-type=0 ++r-type=0 ++r0-agent1-kind=4 ++r0-agent1-sku=CE310A ++r0-agent1-type=1 ++r0-agent2-kind=4 ++r0-agent2-sku=CE311A ++r0-agent2-type=4 ++r0-agent3-kind=4 ++r0-agent3-sku=CE313A ++r0-agent3-type=5 ++r0-agent4-kind=4 ++r0-agent4-sku=CE312A ++r0-agent4-type=6 ++scan-src=3 ++scan-type=5 ++status-battery-check=0 ++status-dynamic-counters=0 ++status-type=10 ++support-released=True ++support-subtype=219b2b ++support-type=2 ++support-ver=3.11.7 ++tech-class=Postscript ++family-class=Undefined ++tech-subclass=Normal ++tech-type=4 ++usb-pid=62a ++usb-vid=3f0 ++wifi-config=3 ++ ++[hp_laserjet_100_colormfp_m175e] ++align-type=0 ++clean-type=0 ++color-cal-type=0 ++copy-type=0 ++embedded-server-type=1 ++fax-type=0 ++fw-download=False ++icon=hp_color_laserjet_cm1312_mfp.png ++io-mfp-mode=3 ++io-mode=1 ++io-support=2 ++job-storage=0 ++linefeed-cal-type=0 ++model1=HP LaserJet 100 Color MFP M175 ++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd ++monitor-type=0 ++panel-check-type=0 ++pcard-type=0 ++plugin=1 ++plugin-reason=64 ++power-settings=0 ++pq-diag-type=0 ++r-type=0 ++r0-agent1-kind=4 ++r0-agent1-sku=CE310A ++r0-agent1-type=1 ++r0-agent2-kind=4 ++r0-agent2-sku=CE311A ++r0-agent2-type=4 ++r0-agent3-kind=4 ++r0-agent3-sku=CE313A ++r0-agent3-type=5 ++r0-agent4-kind=4 ++r0-agent4-sku=CE312A ++r0-agent4-type=6 ++scan-src=3 ++scan-type=5 ++status-battery-check=0 ++status-dynamic-counters=0 ++status-type=10 ++support-released=True ++support-subtype=219b2b ++support-type=2 ++support-ver=3.11.7 ++tech-class=Postscript ++family-class=Undefined ++tech-subclass=Normal ++tech-type=4 ++usb-pid=62a ++usb-vid=3f0 ++wifi-config=-1 ++ ++[hp_laserjet_100_colormfp_m175a] ++align-type=0 ++clean-type=0 ++color-cal-type=0 ++copy-type=0 ++embedded-server-type=1 ++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd ++family-ppd=hp-postscript-laserjet-pro.ppd ++fax-type=0 ++fw-download=False ++icon=hp_color_laserjet_cm1312_mfp.png ++io-mfp-mode=3 ++io-mode=1 ++io-support=2 ++job-storage=0 ++linefeed-cal-type=0 ++model1=HP LaserJet 100 Color MFP M175 ++monitor-type=0 ++panel-check-type=0 ++pcard-type=0 ++plugin=1 ++plugin-reason=64 ++power-settings=0 ++pq-diag-type=0 ++r-type=0 ++r0-agent1-kind=4 ++r0-agent1-sku=CE310A ++r0-agent1-type=1 ++r0-agent2-kind=4 ++r0-agent2-sku=CE311A ++r0-agent2-type=4 ++r0-agent3-kind=4 ++r0-agent3-sku=CE313A ++r0-agent3-type=5 ++r0-agent4-kind=4 ++r0-agent4-sku=CE312A ++r0-agent4-type=6 ++scan-src=3 ++scan-type=5 ++status-battery-check=0 ++status-dynamic-counters=0 ++status-type=10 ++support-released=True ++support-subtype=219b2b ++support-type=2 ++support-ver=3.11.7 ++tech-class=Postscript ++family-class=Undefined ++tech-subclass=Normal ++tech-type=4 ++usb-pid=62a ++usb-vid=3f0 ++wifi-config=-1 ++ ++[hp_laserjet_100_colormfp_m175c] ++align-type=0 ++clean-type=0 ++color-cal-type=0 ++copy-type=0 ++embedded-server-type=1 ++fax-type=0 ++fw-download=False ++icon=hp_color_laserjet_cm1312_mfp.png ++io-mfp-mode=3 ++io-mode=1 ++io-support=2 ++job-storage=0 ++linefeed-cal-type=0 ++model1=HP LaserJet 100 Color MFP M175 ++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd ++monitor-type=0 ++panel-check-type=0 ++pcard-type=0 ++plugin=1 ++plugin-reason=64 ++power-settings=0 ++pq-diag-type=0 ++r-type=0 ++r0-agent1-kind=4 ++r0-agent1-sku=CE310A ++r0-agent1-type=1 ++r0-agent2-kind=4 ++r0-agent2-sku=CE311A ++r0-agent2-type=4 ++r0-agent3-kind=4 ++r0-agent3-sku=CE313A ++r0-agent3-type=5 ++r0-agent4-kind=4 ++r0-agent4-sku=CE312A ++r0-agent4-type=6 ++scan-src=3 ++scan-type=5 ++status-battery-check=0 ++status-dynamic-counters=0 ++status-type=10 ++support-released=True ++support-subtype=219b2b ++support-type=2 ++support-ver=3.11.7 ++tech-class=Postscript ++family-class=Undefined ++tech-subclass=Normal ++tech-type=4 ++usb-pid=62a ++usb-vid=3f0 ++wifi-config=-1 ++ ++[hp_laserjet_100_colormfp_m175b] ++align-type=0 ++clean-type=0 ++color-cal-type=0 ++copy-type=0 ++embedded-server-type=1 ++fax-type=0 ++fw-download=False ++icon=hp_color_laserjet_cm1312_mfp.png ++io-mfp-mode=3 ++io-mode=1 ++io-support=2 ++job-storage=0 ++linefeed-cal-type=0 ++model1=HP LaserJet 100 Color MFP M175 ++ppd-name=hp-laserjet_100_color_mfp_m175-ps.ppd ++monitor-type=0 ++panel-check-type=0 ++pcard-type=0 ++plugin=1 ++plugin-reason=64 ++power-settings=0 ++pq-diag-type=0 ++r-type=0 ++r0-agent1-kind=4 ++r0-agent1-sku=CE310A ++r0-agent1-type=1 ++r0-agent2-kind=4 ++r0-agent2-sku=CE311A ++r0-agent2-type=4 ++r0-agent3-kind=4 ++r0-agent3-sku=CE313A ++r0-agent3-type=5 ++r0-agent4-kind=4 ++r0-agent4-sku=CE312A ++r0-agent4-type=6 ++scan-src=3 ++scan-type=5 ++status-battery-check=0 ++status-dynamic-counters=0 ++status-type=10 ++support-released=True ++support-subtype=219b2b ++support-type=2 ++support-ver=3.11.7 ++tech-class=Postscript ++family-class=Undefined ++tech-subclass=Normal ++tech-type=4 ++usb-pid=62a ++usb-vid=3f0 ++wifi-config=-1 ++ + [officejet_100_mobile_l411] + align-type=-1 + clean-type=1 +@@ -17867,6 +18231,58 @@ usb-pid=2c17 + usb-vid=3f0 + wifi-config=0 + ++[hp_laserjet_cp_1025nw] ++align-type=0 ++clean-type=0 ++color-cal-type=0 ++copy-type=0 ++embedded-server-type=1 ++fax-type=0 ++fw-download=False ++icon=hp_color_laserjet_cp2025.png ++io-mfp-mode=1 ++io-mode=1 ++io-support=14 ++job-storage=0 ++linefeed-cal-type=0 ++model1=HP LaserJet Pro CP 1025nw Color Printer Series ++monitor-type=0 ++panel-check-type=0 ++pcard-type=0 ++plugin=1 ++plugin-reason=1 ++power-settings=0 ++pq-diag-type=0 ++r-type=0 ++r0-agent1-kind=4 ++r0-agent1-sku=CE310A ++r0-agent1-type=1 ++r0-agent2-kind=4 ++r0-agent2-sku=CE311A ++r0-agent2-type=4 ++r0-agent3-kind=4 ++r0-agent3-sku=CE313A ++r0-agent3-type=5 ++r0-agent4-kind=4 ++r0-agent4-sku=CE312A ++r0-agent4-type=6 ++scan-src=0 ++scan-type=0 ++status-battery-check=0 ++status-dynamic-counters=0 ++status-type=8 ++support-released=True ++support-subtype=219b2b ++support-type=2 ++support-ver=3.12.4 ++tech-class=LJZjsColor ++family-class=LJ-Class4 ++tech-subclass=Advanced ++tech-type=4 ++usb-pid=112a ++usb-vid=3f0 ++wifi-config=3 ++ + [hp_laserjet_cp1025nw] + align-type=0 + clean-type=0 +@@ -18468,6 +18884,49 @@ usb-pid=3011 + usb-vid=3f0 + wifi-config=0 + ++[hp_laserjet_professional_p1102w] ++align-type=0 ++clean-type=0 ++color-cal-type=0 ++copy-type=0 ++embedded-server-type=0 ++fax-type=0 ++fw-download=False ++icon=HP_LaserJet_1012.png ++io-mfp-mode=6 ++io-mode=1 ++io-support=10 ++job-storage=0 ++linefeed-cal-type=0 ++model1=HP LaserJet Professional P1102w Printer ++monitor-type=0 ++panel-check-type=0 ++pcard-type=0 ++plugin=1 ++plugin-reason=1 ++power-settings=0 ++pq-diag-type=0 ++r-type=0 ++r0-agent1-kind=4 ++r0-agent1-sku=85A ++r0-agent1-type=1 ++scan-src=0 ++scan-type=0 ++status-battery-check=0 ++status-dynamic-counters=0 ++status-type=8 ++support-released=True ++support-subtype=219b2b ++support-type=2 ++support-ver=3.10.4 ++tech-class=LJZjsMono ++family-class=LJ-Class4 ++tech-subclass=NoAutoDuplex ++tech-type=3 ++usb-pid=32a ++usb-vid=3f0 ++wifi-config=3 ++ + [hp_laserjet_professional_p1102] + align-type=0 + clean-type=0 +diff --git a/prnt/drv/hpcups.drv.in b/prnt/drv/hpcups.drv.in +index 494758d..af65389 100644 +--- a/prnt/drv/hpcups.drv.in ++++ b/prnt/drv/hpcups.drv.in +@@ -22688,6 +22688,14 @@ Group "RLT/HP Real Life Technologies" + Attribute "Product" "" "(HP LaserJet Professional p1102 Printer)" + Attribute "Product" "" "(HP LaserJet Professional p1102s Printer)" + } ++ { ++ ModelName "HP LaserJet Professional p1102w" ++ Attribute "NickName" "" "HP LaserJet Professional p1102w, hpcups $Version, requires proprietary plugin" ++ Attribute "ShortNickName" "" "HP LaserJet Professional p1102w hpijs" ++ Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet professional p1102w;DES:hp laserjet professional p1102w;" ++ PCFileName "hp-laserjet_professional_p1102w.ppd" ++ Attribute "Product" "" "(HP LaserJet Professional p1102w Printer)" ++ } + { + ModelName "HP LaserJet Professional p1106" + Attribute "NickName" "" "HP LaserJet Professional p1106, hpcups $Version" +@@ -23122,6 +23130,14 @@ Group "RLT/HP Real Life Technologies" + PCFileName "hp-laserjet_cp1025nw.ppd" + Attribute "Product" "" "(HP LaserJet Pro cp1025nw Color Printer Series)" + } ++ { ++ ModelName "HP LaserJet Cp 1025nw" ++ Attribute "NickName" "" "HP LaserJet Cp 1025nw, hpcups $Version, requires proprietary plugin" ++ Attribute "ShortNickName" "" "HP LaserJet Cp 1025nw hpijs" ++ Attribute "1284DeviceID" "" "MFG:Hewlett-Packard;MDL:hp laserjet cp 1025nw;DES:hp laserjet cp 1025nw;" ++ PCFileName "hp-laserjet_cp_1025nw.ppd" ++ Attribute "Product" "" "(HP LaserJet Pro Cp 1025nw Color Printer Series)" ++ } + } + } // End LJZjsColor (for proprietary plugin) + diff --git a/source/ap/hplip/0018-Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i.patch b/source/ap/hplip/0018-Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i.patch new file mode 100644 index 000000000..b001a26b6 --- /dev/null +++ b/source/ap/hplip/0018-Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i.patch @@ -0,0 +1,150 @@ +From: =?utf-8?b?THVib8WhIERvbGXFvmVs?= <lubos@dolezel.info> +Date: Fri, 22 Jul 2016 09:33:05 +0200 +Subject: Allow non-JPEG scanning on the HP DeskJet 3520 All-in-One and + similar devices + +LP: #1245578 +--- + scan/sane/bb_ledm.c | 47 +++++++++++++++++++++++++++++++++++++++++------ + scan/sane/ledm.c | 12 +++++++----- + 2 files changed, 48 insertions(+), 11 deletions(-) + +diff --git a/scan/sane/bb_ledm.c b/scan/sane/bb_ledm.c +index 4b18af8..168a6ab 100644 +--- a/scan/sane/bb_ledm.c ++++ b/scan/sane/bb_ledm.c +@@ -189,7 +189,7 @@ Keep-Alive: 20\r\nProxy-Connection: keep-alive\r\nCookie: AccessCounter=new\r\n0 + <YStart>%d</YStart>\ + <Height>%d</Height>\ + <Format>%s</Format>\ +-<CompressionQFactor>15</CompressionQFactor>\ ++<CompressionQFactor>0</CompressionQFactor>\ + <ColorSpace>%s</ColorSpace>\ + <BitDepth>%d</BitDepth>\ + <InputSource>%s</InputSource>\ +@@ -234,6 +234,38 @@ Keep-Alive: 300\r\nProxy-Connection: keep-alive\r\nCookie: AccessCounter=new\r\n + # define JOBSTATE_COMPLETED "<j:JobState>Completed</j:JobState>" + # define PRESCANPAGE "<PreScanPage>" + ++static int parse_status_elements(const char *payload, int size, struct wscn_create_scan_job_response *resp) ++{ ++ char tag[512]; ++ char value[128]; ++ char *tail=(char *)payload; ++ ++ while (1) ++ { ++ get_tag(tail, size-(tail-payload), tag, sizeof(tag), &tail); ++ ++ if (!tag[0]) ++ break; ++ ++ if (strncmp(tag, "ImageWidth", 10) == 0) ++ { ++ get_element(tail, size-(tail-payload), value, sizeof(value), &tail); ++ resp->pixels_per_line = strtol(value, NULL, 10); ++ } ++ else if (strncmp(tag, "ImageHeight", 11) == 0) ++ { ++ get_element(tail, size-(tail-payload), value, sizeof(value), &tail); ++ resp->lines = strtol(value, NULL, 10); ++ } ++ else if (strncmp(tag, "BytesPerLine", 12) == 0) ++ { ++ get_element(tail, size-(tail-payload), value, sizeof(value), &tail); ++ resp->bytes_per_line = strtol(value, NULL, 10); ++ } ++ } ++ return 0; ++} ++ + static int parse_scan_elements(const char *payload, int size, struct wscn_scan_elements *elements) + { + char tag[512]; +@@ -764,8 +796,7 @@ int bb_get_parameters(struct ledm_session *ps, SANE_Parameters *pp, int option) + if (ps->currentCompression == SF_RAW && ps->currentScanMode != CE_GRAY8) + { + /* Set scan parameters based on scan job response values */ +- //pp->lines = pbb->job.lines; +- pp->lines = (int)(SANE_UNFIX(ps->effectiveBry - ps->effectiveTly)/MM_PER_INCH*ps->currentResolution); ++ pp->lines = pbb->job.lines; + pp->pixels_per_line = pbb->job.pixels_per_line; + pp->bytes_per_line = pbb->job.bytes_per_line; + } +@@ -786,8 +817,8 @@ int bb_get_parameters(struct ledm_session *ps, SANE_Parameters *pp, int option) + break; + case SPO_BEST_GUESS: /* called by xsane & sane_start */ + /* Set scan parameters based on best guess. */ +- pp->lines = (int)round(SANE_UNFIX(ps->effectiveBry - ps->effectiveTly)/MM_PER_INCH*ps->currentResolution); +- pp->pixels_per_line = (int)round(SANE_UNFIX(ps->effectiveBrx -ps->effectiveTlx)/MM_PER_INCH*ps->currentResolution); ++ pp->lines = (int)(SANE_UNFIX(ps->effectiveBry - ps->effectiveTly)/MM_PER_INCH*ps->currentResolution); ++ pp->pixels_per_line = ps->image_traits.iPixelsPerRow; + pp->bytes_per_line = BYTES_PER_LINE(pp->pixels_per_line, pp->depth * factor); + break; + default: +@@ -896,7 +927,7 @@ SANE_Status bb_start_scan(struct ledm_session *ps) + (int) ((ps->currentBrx / 5548.7133) - (ps->currentTlx / 5548.7133)),//<Width> + (int) (ps->currentTly / 5548.7133),//<YStart> + (int) ((ps->currentBry / 5548.7133) - (ps->currentTly / 5548.7133)),//<Height> +- "Jpeg",//<Format> ++ (ps->currentCompression == SF_RAW) ? "Raw" : "Jpeg", //<Format> + (! strcmp(ce_element[ps->currentScanMode], "Color8")) ? "Color" : (! strcmp(ce_element[ps->currentScanMode], "Gray8")) ? "Gray" : "Gray",//<ColorSpace> + ((! strcmp(ce_element[ps->currentScanMode], "Color8")) || (! strcmp(ce_element[ps->currentScanMode], "Gray8"))) ? 8: 8,//<BitDepth> + ps->currentInputSource == IS_PLATEN ? is_element[1] : is_element[2],//<InputSource> +@@ -994,6 +1025,7 @@ SANE_Status bb_start_scan(struct ledm_session *ps) + _DBG("bb_start_scan() read_http_payload FAILED len=%d buf=%s\n", len, buf); + break; + } ++ + //For a new scan, buf must contain <PreScanPage>. + if (NULL == strstr(buf,PRESCANPAGE)) + { //i.e Paper is not present in Scanner +@@ -1012,6 +1044,9 @@ SANE_Status bb_start_scan(struct ledm_session *ps) + stat = SANE_STATUS_GOOD; + goto bugout; + } ++ // Parse buf here ++ parse_status_elements(buf, len, &pbb->job); ++ + usleep(500000);//0.5 sec delay + }//end while() + +diff --git a/scan/sane/ledm.c b/scan/sane/ledm.c +index ac9d604..a56f534 100644 +--- a/scan/sane/ledm.c ++++ b/scan/sane/ledm.c +@@ -170,11 +170,11 @@ static int set_scan_mode_side_effects(struct ledm_session *ps, enum COLOR_ENTRY + case CE_GRAY8: + case CE_COLOR8: + default: +-// ps->compressionList[j] = STR_COMPRESSION_NONE; +-// ps->compressionMap[j++] = SF_RAW; ++ ps->compressionList[j] = STR_COMPRESSION_NONE; ++ ps->compressionMap[j++] = SF_RAW; + ps->compressionList[j] = STR_COMPRESSION_JPEG; + ps->compressionMap[j++] = SF_JPEG; +- ps->currentCompression = SF_JPEG; ++ ps->currentCompression = SF_RAW; + ps->option[LEDM_OPTION_JPEG_QUALITY].cap |= SANE_CAP_SOFT_SELECT; /* enable jpeg quality */ + break; + } +@@ -690,7 +690,7 @@ SANE_Status ledm_control_option(SANE_Handle handle, SANE_Int option, SANE_Action + } + else + { /* Set default. */ +- ps->currentCompression = SF_JPEG; ++ ps->currentCompression = SF_RAW; + stat = SANE_STATUS_GOOD; + } + break; +@@ -995,7 +995,9 @@ SANE_Status ledm_start(SANE_Handle handle) + } + } + else +- ipGetImageTraits(ps->ip_handle, NULL, &ps->image_traits); /* get valid image traits */ ++ { ++ ipGetOutputTraits(ps->ip_handle, &ps->image_traits); /* get valid image traits */ ++ } + + stat = SANE_STATUS_GOOD; + diff --git a/source/ap/hplip/0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch b/source/ap/hplip/0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch new file mode 100644 index 000000000..f3a8c1732 --- /dev/null +++ b/source/ap/hplip/0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch @@ -0,0 +1,29 @@ +From 04b5a1ddac1dd90c5a392f23aaf7df42eae32918 Mon Sep 17 00:00:00 2001 +From: Gaurav Sood <gaurav-sood@invalid-email.launchpad.net> +Date: Thu, 4 May 2017 18:32:08 +0200 +Subject: Fix handling of unicode filenames in sixext.py + +LP: #1480152 +Closes: #861731 +--- + base/sixext.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/base/sixext.py b/base/sixext.py +index 0bf4fc4f4..311bf72c6 100644 +--- a/base/sixext.py ++++ b/base/sixext.py +@@ -110,11 +110,11 @@ if PY3: + + + def to_string_utf8(s): +- return s.decode("utf-8") ++ return s.decode("utf-8", 'ignore') + + + def to_string_latin(s): +- return s.decode("latin-1") ++ return s.decode("latin-1", 'ignore') + + + def to_unicode(s, enc=None): diff --git a/source/ap/hplip/0026-remove-unicode-space-from-models.dat b/source/ap/hplip/0026-remove-unicode-space-from-models.dat new file mode 100644 index 000000000..67434f3a0 --- /dev/null +++ b/source/ap/hplip/0026-remove-unicode-space-from-models.dat @@ -0,0 +1,11 @@ +--- ./data/models/models.dat.orig 2023-11-27 09:06:40.000000000 -0600 ++++ ./data/models/models.dat 2024-04-28 14:03:19.702517817 -0500 +@@ -77629,7 +77629,7 @@ + io-support=14 + job-storage=0 + linefeed-cal-type=0 +-model1=HP Color LaserJet Enterprise MFP X58045dn ++model1=HP Color LaserJet Enterprise MFP X58045dn + model2=HP Color LaserJet Enterprise MFP X58045 + monitor-type=0 + panel-check-type=0 diff --git a/source/ap/hplip/hplip-covscan.patch b/source/ap/hplip/hplip-covscan.patch new file mode 100644 index 000000000..6c8858165 --- /dev/null +++ b/source/ap/hplip/hplip-covscan.patch @@ -0,0 +1,615 @@ +diff -up hplip-3.23.3/common/utils.c.covscan hplip-3.23.3/common/utils.c +--- hplip-3.23.3/common/utils.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/common/utils.c 2023-05-29 13:58:10.969395214 +0200 +@@ -1,5 +1,9 @@ ++#ifndef _GNU_SOURCE ++#define _GNU_SOURCE ++#endif ++ + #include "utils.h" +-#include "string.h" ++#include <string.h> + #include <dlfcn.h> + #include <sys/stat.h> + #include <errno.h> +diff -up hplip-3.23.3/io/hpmud/hpmud.c.covscan hplip-3.23.3/io/hpmud/hpmud.c +--- hplip-3.23.3/io/hpmud/hpmud.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/io/hpmud/hpmud.c 2023-05-29 13:58:10.970395208 +0200 +@@ -759,6 +759,7 @@ enum HPMUD_RESULT hpmud_get_dstat(HPMUD_ + } + + strncpy(ds->uri, msp->device[dd].uri, sizeof(ds->uri)); ++ ds->uri[sizeof(ds->uri)-1] = '\0'; + ds->io_mode = msp->device[dd].io_mode; + ds->channel_cnt = msp->device[dd].channel_cnt; + ds->mlc_up = msp->device[dd].mlc_up; +diff -up hplip-3.23.3/io/hpmud/jd.c.covscan hplip-3.23.3/io/hpmud/jd.c +--- hplip-3.23.3/io/hpmud/jd.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/io/hpmud/jd.c 2023-05-29 13:58:10.970395208 +0200 +@@ -31,6 +31,7 @@ + #endif + + #include <signal.h> ++#include <stdlib.h> + #include "hpmud.h" + #include "hpmudi.h" + +diff -up hplip-3.23.3/io/hpmud/model.c.covscan hplip-3.23.3/io/hpmud/model.c +--- hplip-3.23.3/io/hpmud/model.c.covscan 2023-05-29 13:58:10.958395279 +0200 ++++ hplip-3.23.3/io/hpmud/model.c 2023-05-29 13:58:10.970395208 +0200 +@@ -117,6 +117,7 @@ static int ReadConfig() + if (rcbuf[0] == '[') + { + strncpy(section, rcbuf, sizeof(section)); /* found new section */ ++ section[sizeof(section)-1] = '\0'; + continue; + } + +@@ -125,6 +126,7 @@ static int ReadConfig() + if ((strncasecmp(section, "[dirs]", 6) == 0) && (strcasecmp(key, "home") == 0)) + { + strncpy(homedir, value, sizeof(homedir)); ++ homedir[sizeof(homedir)-1] = '\0'; + break; /* done */ + } + } +diff -up hplip-3.23.3/io/hpmud/musb.c.covscan hplip-3.23.3/io/hpmud/musb.c +--- hplip-3.23.3/io/hpmud/musb.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/io/hpmud/musb.c 2023-05-29 13:58:10.970395208 +0200 +@@ -776,7 +776,7 @@ static int device_id(int fd, unsigned ch + len = size-1; /* leave byte for zero termination */ + if (len > 2) + len -= 2; +- memcpy(buffer, buffer+2, len); /* remove length */ ++ memmove(buffer, buffer+2, len); /* remove length */ + buffer[len]=0; + DBG("read actual device_id successfully fd=%d len=%d\n", fd, len); + +diff -up hplip-3.23.3/io/hpmud/pp.c.covscan hplip-3.23.3/io/hpmud/pp.c +--- hplip-3.23.3/io/hpmud/pp.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/io/hpmud/pp.c 2023-05-29 13:58:10.970395208 +0200 +@@ -632,7 +632,7 @@ static int device_id(int fd, char *buffe + len = size-1; /* leave byte for zero termination */ + if (len > 2) + len -= 2; +- memcpy(buffer, buffer+2, len); /* remove length */ ++ memmove(buffer, buffer+2, len); /* remove length */ + buffer[len]=0; + + DBG("read actual device_id successfully fd=%d len=%d\n", fd, len); +diff -up hplip-3.23.3/Makefile.am.covscan hplip-3.23.3/Makefile.am +--- hplip-3.23.3/Makefile.am.covscan 2023-05-29 13:58:10.944395361 +0200 ++++ hplip-3.23.3/Makefile.am 2023-05-29 13:58:10.969395214 +0200 +@@ -3,7 +3,7 @@ + # + # (c) 2004-2015 Copyright HP Development Company, LP + # Author: David Suffield, Naga Samrat Chowdary Narla, Sarbeswar Meher +-INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/ ++INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/ -Iprotocol + CFLAGS+= -DCONFDIR=\"$(hplip_confdir)\" + CXXFLAGS+= -DCONFDIR=\"$(hplip_confdir)\" + +@@ -310,7 +310,7 @@ dist_pcard_DATA = pcard/__init__.py pcar + pcardextdir = $(pyexecdir) + pcardext_LTLIBRARIES = pcardext.la + pcardext_la_LDFLAGS = -module -avoid-version +-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c ++pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c pcard/pcardext/pcardext.h + pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR) + + # prnt +@@ -322,7 +322,7 @@ lib_LTLIBRARIES += libhpipp.la + #hpipp_LTLIBRARIES = hpipp.la + #hpipp_la_LDFLAGS = -module -avoid-version + libhpipp_la_SOURCES = protocol/hp_ipp.c protocol/hp_ipp.h protocol/hp_ipp_i.h +-libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\" ++libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\" -D_GNU_SOURCE + libhpipp_la_LDFLAGS = -version-info 0:1:0 + libhpipp_la_LIBADD = libhpmud.la + +diff -up hplip-3.23.3/pcard/fat.c.covscan hplip-3.23.3/pcard/fat.c +--- hplip-3.23.3/pcard/fat.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/pcard/fat.c 2023-05-29 13:58:10.971395203 +0200 +@@ -519,14 +519,17 @@ int FatFreeSpace(void) + + int FatDiskAttributes( PHOTO_CARD_ATTRIBUTES * pa ) + { +- strncpy( pa->OEMID, bpb.OEMID, 8 ); ++ strncpy(pa->OEMID, bpb.OEMID, sizeof(pa->OEMID)); ++ pa->OEMID[sizeof(pa->OEMID)-1] = '\0'; + pa->BytesPerSector = bpb.BytesPerSector; + pa->SectorsPerCluster = bpb.SectorsPerCluster; + pa->ReservedSectors = bpb.ReservedSectors; + pa->SectorsPerFat = bpb.SectorsPerFat; + pa->RootEntries = bpb.RootEntries; +- strncpy( pa->SystemID, (char *)bpb.SystemID, 8 ); +- strncpy( pa->VolumeLabel, (char *)bpb.VolumeLabel, 11 ); ++ strncpy(pa->SystemID, (char *)bpb.SystemID, sizeof(pa->SystemID)); ++ pa->SystemID[sizeof(pa->SystemID)-1] = '\0'; ++ strncpy(pa->VolumeLabel, (char *)bpb.VolumeLabel, sizeof(pa->VolumeLabel)); ++ pa->VolumeLabel[sizeof(pa->VolumeLabel)-1] = '\0'; + pa->WriteProtect = da.WriteProtect; + + return 0; +@@ -741,6 +744,7 @@ int FatSetCWD(char *dir) + return 1; + + strncpy(cwd.Name, fa.Name, sizeof(cwd.Name)); ++ cwd.Name[sizeof(cwd.Name)-1] = '\0'; + cwd.StartSector = ConvertClusterToSector(fa.StartCluster); + cwd.CurrSector = cwd.StartSector; + cwd.StartCluster = fa.StartCluster; +diff -up hplip-3.23.3/prnt/hpijs/context2.cpp.covscan hplip-3.23.3/prnt/hpijs/context2.cpp +--- hplip-3.23.3/prnt/hpijs/context2.cpp.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/prnt/hpijs/context2.cpp 2023-05-29 13:58:10.971395203 +0200 +@@ -1302,6 +1302,7 @@ DRIVER_ERROR PrintContext::SelectDevice + if(0 == strnlen((const char *)pSS->strDevID, DevIDBuffSize)) + { + strncpy((char *)pSS->strDevID,szDeviceId,DevIDBuffSize); ++ pSS->strDevID[sizeof(pSS->strDevID)-1] = '\0'; + } + thePrinter = pPFI->CreatePrinter (pSS, familyHandle); + if (thePrinter->constructor_error != NO_ERROR) +diff -up hplip-3.23.3/prnt/hpijs/systemservices.cpp.covscan hplip-3.23.3/prnt/hpijs/systemservices.cpp +--- hplip-3.23.3/prnt/hpijs/systemservices.cpp.covscan 2023-03-28 09:26:27.000000000 +0200 ++++ hplip-3.23.3/prnt/hpijs/systemservices.cpp 2023-05-29 13:58:10.971395203 +0200 +@@ -396,7 +396,10 @@ void SystemServices::AdjustIO(IO_MODE IM + IOMode.bDevID =IM.bDevID && IOMode.bDevID; + + if (model) ++ { + strncpy(strModel,model, sizeof(strModel)); ++ strModel[sizeof(strModel)-1] = '\0'; ++ } + } + + APDK_END_NAMESPACE +diff -up hplip-3.23.3/prnt/hpps/hppsfilter.c.covscan hplip-3.23.3/prnt/hpps/hppsfilter.c +--- hplip-3.23.3/prnt/hpps/hppsfilter.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/prnt/hpps/hppsfilter.c 2023-05-29 13:58:10.972395197 +0200 +@@ -274,13 +274,13 @@ static void WriteHeader(char **argument) + /* Writing Header Information + argument[1] = JOB ID , argument[2]= USERNAME, argument[3] = TITLE */ + hpwrite("\x1b%-12345X@PJL JOBNAME=", strlen("\x1b%-12345X@PJL JOBNAME=")); +- sprintf(buffer, "hplip_%s_%s\x0a", argument[2], argument[1]); ++ snprintf(buffer, MAX_BUFFER-1, "hplip_%s_%s\x0a", argument[2], argument[1]); + hpwrite(buffer, strlen(buffer)); + memset(buffer, 0, sizeof(buffer)); +- sprintf(buffer, "@PJL SET USERNAME=\"%s\"\x0a", argument[2]); ++ snprintf(buffer, MAX_BUFFER-1, "@PJL SET USERNAME=\"%s\"\x0a", argument[2]); + hpwrite(buffer, strlen(buffer)); + memset(buffer, 0, sizeof(buffer)); +- sprintf(buffer, "@PJL SET JOBNAME=\"%s\"\x0a", argument[3]); ++ snprintf(buffer, MAX_BUFFER-1, "@PJL SET JOBNAME=\"%s\"\x0a", argument[3]); + hpwrite(buffer, strlen(buffer)); + fprintf(stderr, "HP PS filter func = WriteHeader : WRITING PJL HEADER INFO\n"); + return; +diff -up hplip-3.23.3/protocol/hp_ipp.h.covscan hplip-3.23.3/protocol/hp_ipp.h +--- hplip-3.23.3/protocol/hp_ipp.h.covscan 2023-05-29 13:58:10.972395197 +0200 ++++ hplip-3.23.3/protocol/hp_ipp.h 2023-05-29 13:59:03.645085468 +0200 +@@ -168,6 +168,11 @@ HPIPP_RESULT parseResponseHeader(char* h + HPIPP_RESULT prepend_http_header(raw_ipp *raw_request,const char *resource); + enum HPMUD_RESULT sendUSBRequest(char *buf, int size, raw_ipp *responseptr, char * device_uri); + enum HPMUD_RESULT sendUSBFileRequest(char *buf, int size, int fileHandle,raw_ipp *responseptr, char *device_uri); ++void _releaseCupsInstance(); ++int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file, char *model, char *info); ++int delCupsPrinter(char *pr_name); ++int setDefaultCupsPrinter(char *pr_name); ++int controlCupsPrinter(char *pr_name, int op); + + ipp_t * createFaxDetailRequest(const char *printer_name); + ipp_t * getDeviceFaxModemAttributes(char* device_uri,char* printer_name, int *count); +diff -up hplip-3.23.3/scan/sane/bb_ledm.c.covscan hplip-3.23.3/scan/sane/bb_ledm.c +--- hplip-3.23.3/scan/sane/bb_ledm.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/scan/sane/bb_ledm.c 2023-05-29 13:58:10.972395197 +0200 +@@ -26,6 +26,7 @@ + # include "http.h" + # include "xml.h" + # include <stdlib.h> ++# include <unistd.h> + + # include <stdint.h> + +diff -up hplip-3.23.3/scan/sane/common.h.covscan hplip-3.23.3/scan/sane/common.h +--- hplip-3.23.3/scan/sane/common.h.covscan 2023-05-29 13:58:10.727396637 +0200 ++++ hplip-3.23.3/scan/sane/common.h 2023-05-29 13:58:10.972395197 +0200 +@@ -36,7 +36,7 @@ + #define _STRINGIZE(x) #x + #define STRINGIZE(x) _STRINGIZE(x) + +-#define BUG(args...) {syslog(LOG_ERR, __FILE__ " " STRINGIZE(__LINE__) ": " args); DBG(2, __FILE__ " " STRINGIZE(__LINE__) ": " args);} ++#define BUG_SCAN(args...) {syslog(LOG_ERR, __FILE__ " " STRINGIZE(__LINE__) ": " args); DBG(2, __FILE__ " " STRINGIZE(__LINE__) ": " args);} + #define BUG_DUMP(data, size) bugdump((data), (size)) + #define BUG_SZ(args...) {syslog(LOG_ERR, args); DBG(2, args);} + +diff -up hplip-3.23.3/scan/sane/escl.c.covscan hplip-3.23.3/scan/sane/escl.c +--- hplip-3.23.3/scan/sane/escl.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/scan/sane/escl.c 2023-05-29 13:58:10.972395197 +0200 +@@ -849,7 +849,7 @@ SANE_Status escl_control_option(SANE_Han + //DBG8("escl_control_option (option=%s) action=%d\n", ps->option[option].name, action); + if (stat != SANE_STATUS_GOOD) + { +- BUG("control_option failed: option=%s action=%s\n", ps->option[option].name, action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto"); ++ BUG_SCAN("control_option failed: option=%s action=%s\n", ps->option[option].name, action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto"); + } + + return stat; +@@ -1159,7 +1159,7 @@ void escl_close(SANE_Handle handle) + + if (ps == NULL || ps != session) + { +- BUG("invalid sane_close\n"); ++ BUG_SCAN("invalid sane_close\n"); + return; + } + +diff -up hplip-3.23.3/scan/sane/http.c.covscan hplip-3.23.3/scan/sane/http.c +--- hplip-3.23.3/scan/sane/http.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/scan/sane/http.c 2023-05-29 13:58:10.973395191 +0200 +@@ -36,6 +36,7 @@ + #include <string.h> + #include <syslog.h> + #include <ctype.h> ++#include <unistd.h> + #include "hpmud.h" + #include "http.h" + +diff -up hplip-3.23.3/scan/sane/io.c.covscan hplip-3.23.3/scan/sane/io.c +--- hplip-3.23.3/scan/sane/io.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/scan/sane/io.c 2023-05-29 13:58:10.973395191 +0200 +@@ -50,7 +50,7 @@ int __attribute__ ((visibility ("hidden" + + if (dbus_error_is_set(&dbus_err)) + { +- BUG("dBus Connection Error (%s)!\n", dbus_err.message); ++ BUG_SCAN("dBus Connection Error (%s)!\n", dbus_err.message); + dbus_error_free(&dbus_err); + } + +@@ -79,7 +79,7 @@ int __attribute__ ((visibility ("hidden" + + if (NULL == msg) + { +- BUG("dbus message is NULL!\n"); ++ BUG_SCAN("dbus message is NULL!\n"); + return 0; + } + +@@ -94,7 +94,7 @@ int __attribute__ ((visibility ("hidden" + + if (!dbus_connection_send(dbus_conn, msg, NULL)) + { +- BUG("dbus message send failed!\n"); ++ BUG_SCAN("dbus message send failed!\n"); + return 0; + } + +diff -up hplip-3.23.3/scan/sane/ledm.c.covscan hplip-3.23.3/scan/sane/ledm.c +--- hplip-3.23.3/scan/sane/ledm.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/scan/sane/ledm.c 2023-05-29 13:58:10.973395191 +0200 +@@ -813,7 +813,7 @@ SANE_Status ledm_control_option(SANE_Han + + if (stat != SANE_STATUS_GOOD) + { +- BUG("control_option failed: option=%s action=%s\n", ps->option[option].name, action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto"); ++ BUG_SCAN("control_option failed: option=%s action=%s\n", ps->option[option].name, action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto"); + } + + return stat; +@@ -1078,7 +1078,7 @@ void ledm_close(SANE_Handle handle) + + if (ps == NULL || ps != session) + { +- BUG("invalid sane_close\n"); ++ BUG_SCAN("invalid sane_close\n"); + return; + } + +diff -up hplip-3.23.3/scan/sane/marvell.c.covscan hplip-3.23.3/scan/sane/marvell.c +--- hplip-3.23.3/scan/sane/marvell.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/scan/sane/marvell.c 2023-05-29 13:58:10.976395173 +0200 +@@ -134,7 +134,7 @@ static int get_ip_data(struct marvell_se + + if (!ps->ip_handle) + { +- BUG("invalid ipconvert state\n"); ++ BUG_SCAN("invalid ipconvert state\n"); + goto bugout; + } + +@@ -335,7 +335,7 @@ static struct marvell_session *create_se + + if ((ps = malloc(sizeof(struct marvell_session))) == NULL) + { +- BUG("malloc failed: %m\n"); ++ BUG_SCAN("malloc failed: %m\n"); + return NULL; + } + memset(ps, 0, sizeof(struct marvell_session)); +@@ -402,7 +402,7 @@ SANE_Status marvell_open(SANE_String_Con + + if (session) + { +- BUG("session in use\n"); ++ BUG_SCAN("session in use\n"); + return SANE_STATUS_DEVICE_BUSY; + } + +@@ -431,7 +431,7 @@ SANE_Status marvell_open(SANE_String_Con + + if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK) + { +- BUG("unable to open device %s\n", session->uri); ++ BUG_SCAN("unable to open device %s\n", session->uri); + goto bugout; + + free(session); +@@ -441,7 +441,7 @@ SANE_Status marvell_open(SANE_String_Con + + if (hpmud_open_channel(session->dd, HPMUD_S_MARVELL_SCAN_CHANNEL, &session->cd) != HPMUD_R_OK) + { +- BUG("unable to open %s channel %s\n", HPMUD_S_MARVELL_SCAN_CHANNEL, session->uri); ++ BUG_SCAN("unable to open %s channel %s\n", HPMUD_S_MARVELL_SCAN_CHANNEL, session->uri); + stat = SANE_STATUS_DEVICE_BUSY; + goto bugout; + } +@@ -554,7 +554,7 @@ void marvell_close(SANE_Handle handle) + + if (ps == NULL || ps != session) + { +- BUG("invalid sane_close\n"); ++ BUG_SCAN("invalid sane_close\n"); + return; + } + +@@ -849,7 +849,7 @@ SANE_Status marvell_control_option(SANE_ + stat = SANE_STATUS_GOOD; + break; + } +- BUG("value=%d brymin=%d brymax=%d\n", *int_value, ps->bryRange.min, ps->bryRange.max); ++ BUG_SCAN("value=%d brymin=%d brymax=%d\n", *int_value, ps->bryRange.min, ps->bryRange.max); + } + else + { /* Set default. */ +@@ -866,7 +866,7 @@ SANE_Status marvell_control_option(SANE_ + + if (stat != SANE_STATUS_GOOD) + { +- BUG("control_option failed: option=%s action=%s\n", ps->option[option].name, ++ BUG_SCAN("control_option failed: option=%s action=%s\n", ps->option[option].name, + action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto"); + } + +@@ -905,7 +905,7 @@ SANE_Status marvell_start(SANE_Handle ha + + if (set_extents(ps)) + { +- BUG("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n", ++ BUG_SCAN("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n", + ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max); + stat = SANE_STATUS_INVAL; + goto bugout; +@@ -963,7 +963,7 @@ SANE_Status marvell_start(SANE_Handle ha + /* Open image processor. */ + if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE) + { +- BUG("unable open image processor: err=%d\n", ret); ++ BUG_SCAN("unable open image processor: err=%d\n", ret); + stat = SANE_STATUS_INVAL; + goto bugout; + } +@@ -1023,7 +1023,7 @@ SANE_Status marvell_read(SANE_Handle han + + if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR)) + { +- BUG("ipConvert error=%x\n", ret); ++ BUG_SCAN("ipConvert error=%x\n", ret); + goto bugout; + } + +diff -up hplip-3.23.3/scan/sane/sclpml.c.covscan hplip-3.23.3/scan/sane/sclpml.c +--- hplip-3.23.3/scan/sane/sclpml.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/scan/sane/sclpml.c 2023-05-29 13:58:10.976395173 +0200 +@@ -30,6 +30,7 @@ + #include <unistd.h> + #include <fcntl.h> + #include <string.h> ++#include <sys/time.h> + #include "sane.h" + #include "saneopts.h" + #include "common.h" +@@ -2090,7 +2091,7 @@ void sclpml_close(SANE_Handle handle) + DBG(8, "sane_hpaio_close(): %s %d\n", __FILE__, __LINE__); + if (hpaio == NULL || hpaio != session) + { +- BUG("invalid sane_close\n"); ++ BUG_SCAN("invalid sane_close\n"); + return; + } + +diff -up hplip-3.23.3/scan/sane/soap.c.covscan hplip-3.23.3/scan/sane/soap.c +--- hplip-3.23.3/scan/sane/soap.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/scan/sane/soap.c 2023-05-29 13:58:10.977395167 +0200 +@@ -142,7 +142,7 @@ static int get_ip_data(struct soap_sessi + + if (!ps->ip_handle) + { +- BUG("invalid ipconvert state\n"); ++ BUG_SCAN("invalid ipconvert state\n"); + goto bugout; + } + +@@ -219,7 +219,7 @@ static struct soap_session *create_sessi + + if ((ps = malloc(sizeof(struct soap_session))) == NULL) + { +- BUG("malloc failed: %m\n"); ++ BUG_SCAN("malloc failed: %m\n"); + return NULL; + } + memset(ps, 0, sizeof(struct soap_session)); +@@ -418,7 +418,7 @@ SANE_Status soap_open(SANE_String_Const + + if (session) + { +- BUG("session in use\n"); ++ BUG_SCAN("session in use\n"); + return SANE_STATUS_DEVICE_BUSY; + } + +@@ -434,7 +434,7 @@ SANE_Status soap_open(SANE_String_Const + + if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK) + { +- BUG("unable to open device %s\n", session->uri); ++ BUG_SCAN("unable to open device %s\n", session->uri); + goto bugout; + + free(session); +@@ -519,7 +519,7 @@ void soap_close(SANE_Handle handle) + + if (ps == NULL || ps != session) + { +- BUG("invalid sane_close\n"); ++ BUG_SCAN("invalid sane_close\n"); + return; + } + +@@ -824,7 +824,7 @@ SANE_Status soap_control_option(SANE_Han + + if (stat != SANE_STATUS_GOOD) + { +- BUG("control_option failed: option=%s action=%s\n", ps->option[option].name, ++ BUG_SCAN("control_option failed: option=%s action=%s\n", ps->option[option].name, + action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto"); + } + +@@ -862,7 +862,7 @@ SANE_Status soap_start(SANE_Handle handl + ps->user_cancel = 0; + if (set_extents(ps)) + { +- BUG("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n", ++ BUG_SCAN("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n", + ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max); + stat = SANE_STATUS_INVAL; + goto bugout; +@@ -913,7 +913,7 @@ SANE_Status soap_start(SANE_Handle handl + /* Open image processor. */ + if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE) + { +- BUG("unable open image processor: err=%d\n", ret); ++ BUG_SCAN("unable open image processor: err=%d\n", ret); + stat = SANE_STATUS_INVAL; + goto bugout; + } +@@ -955,7 +955,7 @@ SANE_Status soap_start(SANE_Handle handl + + if (ret & (IP_INPUT_ERROR | IP_FATAL_ERROR | IP_DONE)) + { +- BUG("ipConvert error=%x\n", ret); ++ BUG_SCAN("ipConvert error=%x\n", ret); + stat = SANE_STATUS_IO_ERROR; + goto bugout; + } +@@ -1007,7 +1007,7 @@ SANE_Status soap_read(SANE_Handle handle + + if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR)) + { +- BUG("ipConvert error=%x\n", ret); ++ BUG_SCAN("ipConvert error=%x\n", ret); + goto bugout; + } + +diff -up hplip-3.23.3/scan/sane/soapht.c.covscan hplip-3.23.3/scan/sane/soapht.c +--- hplip-3.23.3/scan/sane/soapht.c.covscan 2023-03-28 09:26:11.000000000 +0200 ++++ hplip-3.23.3/scan/sane/soapht.c 2023-05-29 13:58:10.977395167 +0200 +@@ -136,7 +136,7 @@ static int get_ip_data(struct soap_sessi + + if (!ps->ip_handle) + { +- BUG("invalid ipconvert state\n"); ++ BUG_SCAN("invalid ipconvert state\n"); + goto bugout; + } + +@@ -435,7 +435,7 @@ static struct soap_session *create_sessi + + if ((ps = malloc(sizeof(struct soap_session))) == NULL) + { +- BUG("malloc failed: %m\n"); ++ BUG_SCAN("malloc failed: %m\n"); + return NULL; + } + memset(ps, 0, sizeof(struct soap_session)); +@@ -459,7 +459,7 @@ SANE_Status soapht_open(SANE_String_Cons + + if (session) + { +- BUG("session in use\n"); ++ BUG_SCAN("session in use\n"); + return SANE_STATUS_DEVICE_BUSY; + } + +@@ -475,7 +475,7 @@ SANE_Status soapht_open(SANE_String_Cons + + if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK) + { +- BUG("unable to open device %s\n", session->uri); ++ BUG_SCAN("unable to open device %s\n", session->uri); + goto bugout; + + free(session); +@@ -554,7 +554,7 @@ void soapht_close(SANE_Handle handle) + + if (ps == NULL || ps != session) + { +- BUG("invalid sane_close\n"); ++ BUG_SCAN("invalid sane_close\n"); + return; + } + +@@ -904,7 +904,7 @@ SANE_Status soapht_control_option(SANE_H + + if (stat != SANE_STATUS_GOOD) + { +- BUG("control_option failed: option=%s action=%s\n", ps->option[option].name, ++ BUG_SCAN("control_option failed: option=%s action=%s\n", ps->option[option].name, + action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto"); + } + +@@ -946,7 +946,7 @@ SANE_Status soapht_start(SANE_Handle han + + if (set_extents(ps)) + { +- BUG("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n", ++ BUG_SCAN("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n", + ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max); + stat = SANE_STATUS_INVAL; + goto bugout; +@@ -1032,7 +1032,7 @@ SANE_Status soapht_start(SANE_Handle han + /* Open image processor. */ + if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE) + { +- BUG("unable open image processor: err=%d\n", ret); ++ BUG_SCAN("unable open image processor: err=%d\n", ret); + stat = SANE_STATUS_INVAL; + goto bugout; + } +@@ -1075,7 +1075,7 @@ SANE_Status soapht_start(SANE_Handle han + + if (ret & (IP_INPUT_ERROR | IP_FATAL_ERROR | IP_DONE)) + { +- BUG("ipConvert error=%x\n", ret); ++ BUG_SCAN("ipConvert error=%x\n", ret); + stat = SANE_STATUS_IO_ERROR; + goto bugout; + } +@@ -1124,7 +1124,7 @@ SANE_Status soapht_read(SANE_Handle hand + + if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR)) + { +- BUG("ipConvert error=%x\n", ret); ++ BUG_SCAN("ipConvert error=%x\n", ret); + goto bugout; + } + diff --git a/source/ap/hplip/hplip-hpaio-gcc14.patch b/source/ap/hplip/hplip-hpaio-gcc14.patch new file mode 100644 index 000000000..f7d195ed1 --- /dev/null +++ b/source/ap/hplip/hplip-hpaio-gcc14.patch @@ -0,0 +1,114 @@ +diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c +index 57d1dde..3475929 100644 +--- a/scan/sane/hpaio.c ++++ b/scan/sane/hpaio.c +@@ -379,7 +379,7 @@ extern SANE_Status sane_hpaio_get_devices(const SANE_Device ***deviceList, SANE_ + ResetDeviceList(&DeviceList); + DevDiscovery(localOnly); + *deviceList = (const SANE_Device **)DeviceList; +- SANE_Device*** devList; ++ const SANE_Device*** devList; + orblite_get_devices(devList, localOnly); + + return SANE_STATUS_GOOD; +diff --git a/scan/sane/orblite.c b/scan/sane/orblite.c +index 2eb7aba..4eaa468 100644 +--- a/scan/sane/orblite.c ++++ b/scan/sane/orblite.c +@@ -64,28 +64,28 @@ SANE_Option_Descriptor DefaultOrbOptions[] = { + SANE_NAME_SCAN_TL_X, SANE_TITLE_SCAN_TL_X, SANE_DESC_SCAN_TL_X, // name, title, desc
+ SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
+ SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
+- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeLeft // constraint_type, constraint
++ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeLeft // constraint_type, constraint
+ },
+
+ {
+ SANE_NAME_SCAN_TL_Y, SANE_TITLE_SCAN_TL_Y, SANE_DESC_SCAN_TL_Y, // name, title, desc
+ SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
+ SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
+- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeTop // constraint_type, constraint
++ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeTop // constraint_type, constraint
+ },
+
+ {
+ SANE_NAME_SCAN_BR_X, SANE_TITLE_SCAN_BR_X, SANE_DESC_SCAN_BR_X, // name, title, desc
+ SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
+ SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
+- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeRight // constraint_type, constraint
++ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeRight // constraint_type, constraint
+ },
+
+ {
+ SANE_NAME_SCAN_BR_Y, SANE_TITLE_SCAN_BR_Y, SANE_DESC_SCAN_BR_Y, // name, title, desc
+ SANE_TYPE_FIXED, SANE_UNIT_MM, sizeof(SANE_Fixed),// type, unit, size
+ SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
+- SANE_CONSTRAINT_RANGE, (SANE_Char**)&SANE_rangeBottom // constraint_type, constraint
++ SANE_CONSTRAINT_RANGE, (const SANE_Char**)&SANE_rangeBottom // constraint_type, constraint
+ },
+
+ // optResolution, // resolution group
+@@ -93,7 +93,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = { + SANE_NAME_SCAN_RESOLUTION, SANE_TITLE_SCAN_RESOLUTION, SANE_DESC_SCAN_RESOLUTION, // name, title, desc
+ SANE_TYPE_INT, SANE_UNIT_DPI, sizeof(SANE_Word), // type, unit, size,
+ SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
+- SANE_CONSTRAINT_WORD_LIST, (SANE_Char**)SANE_resolutions // constraint type, constraint
++ SANE_CONSTRAINT_WORD_LIST, (const SANE_Char**)SANE_resolutions // constraint type, constraint
+ },
+
+ // optMode, // color/depth group
+@@ -101,7 +101,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = { + SANE_NAME_SCAN_MODE, SANE_TITLE_SCAN_MODE, SANE_DESC_SCAN_MODE, // name, title, desc
+ SANE_TYPE_STRING, SANE_UNIT_NONE, 256, // type, unit, size,
+ SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
+- SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_modes // constraint type, constraint
++ SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_modes // constraint type, constraint
+ },
+
+ // optSource,
+@@ -109,7 +109,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = { + SANE_NAME_SCAN_SOURCE, SANE_TITLE_SCAN_SOURCE, SANE_DESC_SCAN_SOURCE, // name, title, desc
+ SANE_TYPE_STRING, SANE_UNIT_NONE, 256, // type, unit, size,
+ SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
+- SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_sources // constraint type, constraint
++ SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_sources // constraint type, constraint
+ },
+
+ // optPaperSize,
+@@ -117,7 +117,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = { + SANE_NAME_PAPER_SIZE, SANE_TITLE_PAPER_SIZE, SANE_DESC_PAPER_SIZE, // name, title, desc
+ SANE_TYPE_STRING, SANE_UNIT_NONE, 256, // type, unit, size,
+ SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
+- SANE_CONSTRAINT_STRING_LIST, (SANE_Char**)SANE_paper_sizes // constraint type, constraint
++ SANE_CONSTRAINT_STRING_LIST, (const SANE_Char**)SANE_paper_sizes // constraint type, constraint
+ },
+
+ // optPaperSize,
+@@ -125,7 +125,7 @@ SANE_Option_Descriptor DefaultOrbOptions[] = { + SANE_NAME_PAPER_SIZE, SANE_TITLE_PAPER_SIZE, SANE_DESC_PAPER_SIZE, // name, title, desc
+ SANE_TYPE_INT, SANE_UNIT_DPI, sizeof(SANE_Word), // type, unit, size,
+ SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT, // cap(ability)
+- SANE_CONSTRAINT_WORD_LIST, (SANE_Char**)SANE_resolutions // constraint type, constraint
++ SANE_CONSTRAINT_WORD_LIST, (const SANE_Char**)SANE_resolutions // constraint type, constraint
+ },
+ #ifdef NOTDEF
+ // default template
+@@ -274,6 +274,7 @@ orblite_open (SANE_String_Const devicename, SANE_Handle * handle) + SANE_Auth_Callback authorize;
+ const SANE_Device *** device_list;
+ SANE_Bool local_only;
++ void * temp_handle;
+
+
+ // Allocate handle, set all handle values to zero
+@@ -305,7 +306,9 @@ orblite_open (SANE_String_Const devicename, SANE_Handle * handle) + if (stat != SANE_STATUS_GOOD)
+ return stat;
+
+- stat = g_handle->bb_orblite_open(devicename, &g_handle);
++ temp_handle = g_handle;
++ stat = g_handle->bb_orblite_open(devicename, &temp_handle);
++ g_handle = temp_handle;
+ if (stat == SANE_STATUS_GOOD)
+ *handle = g_handle;
+
diff --git a/source/ap/hplip/hplip-pcardext-disable.patch b/source/ap/hplip/hplip-pcardext-disable.patch new file mode 100644 index 000000000..c16fb5a25 --- /dev/null +++ b/source/ap/hplip/hplip-pcardext-disable.patch @@ -0,0 +1,16 @@ +--- ./Makefile.am.orig 2024-05-10 18:14:51.431337550 -0500 ++++ ./Makefile.am 2024-05-10 18:15:37.078338571 -0500 +@@ -306,13 +306,6 @@ + pcarddir = $(hplipdir)/pcard + dist_pcard_DATA = pcard/__init__.py pcard/photocard.py + +-# pcardext +-pcardextdir = $(pyexecdir) +-pcardext_LTLIBRARIES = pcardext.la +-pcardext_la_LDFLAGS = -module -avoid-version +-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c pcard/pcardext/pcardext.h +-pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR) +- + # prnt + prntdir = $(hplipdir)/prnt + dist_prnt_DATA = prnt/cups.py prnt/__init__.py prnt/ldl.py prnt/pcl.py prnt/colorcal.py diff --git a/source/ap/hplip/hplip-pserror-c99.patch b/source/ap/hplip/hplip-pserror-c99.patch new file mode 100644 index 000000000..747af3abf --- /dev/null +++ b/source/ap/hplip/hplip-pserror-c99.patch @@ -0,0 +1,17 @@ +prnt/pserror.c: Replace an implicit int with an explicit int + +Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875> + +diff --git a/prnt/hpps/pserror.c b/prnt/hpps/pserror.c +index 114d7e1b5fa364fb..493b49c27917a7e6 100644 +--- a/prnt/hpps/pserror.c ++++ b/prnt/hpps/pserror.c +@@ -24,7 +24,7 @@ extern char *program ; /* Defined by main program, giving program name */ + void message(int flags, char *format, ...) + { + va_list args ; +- static column = 0 ; /* current screen column for message wrap */ ++ static int column = 0 ; /* current screen column for message wrap */ + char msgbuf[MAX_MESSAGE] ; /* buffer in which to put the message */ + char *bufptr = msgbuf ; /* message buffer pointer */ + diff --git a/source/ap/hplip/hplip-scan-hpaio-include.patch b/source/ap/hplip/hplip-scan-hpaio-include.patch new file mode 100644 index 000000000..79d1d94b7 --- /dev/null +++ b/source/ap/hplip/hplip-scan-hpaio-include.patch @@ -0,0 +1,19 @@ +scam/sane/hpaio.c: Include orblite.h for more function prototypes + +Otherwise the build fails with compilers which do not support +implicit function declarations. + +Submitted upstream: <https://bugs.launchpad.net/hplip/+bug/1997875> + +diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c +index d342626822fc2190..57d1ddea32fb5816 100644 +--- a/scan/sane/hpaio.c ++++ b/scan/sane/hpaio.c +@@ -50,6 +50,7 @@ + #include "sclpml.h" + #include "escl.h" + #include "io.h" ++#include "orblite.h" + #include "orblitei.h" + + diff --git a/source/ap/hplip/hplip-scan-orblite-c99.patch b/source/ap/hplip/hplip-scan-orblite-c99.patch new file mode 100644 index 000000000..c921f22f1 --- /dev/null +++ b/source/ap/hplip/hplip-scan-orblite-c99.patch @@ -0,0 +1,21 @@ +diff --git a/scan/sane/orblite.c b/scan/sane/orblite.c +index ba86640..2eb7aba 100644 +--- a/scan/sane/orblite.c ++++ b/scan/sane/orblite.c +@@ -20,6 +20,7 @@ + #include "orblitei.h"
+ #include "orblite.h"//Added New
+ #include <math.h>
++#include <dlfcn.h>
+ #include "utils.h"
+ #include "io.h"
+
+@@ -195,7 +196,7 @@ bugout: +
+ static int bb_unload(SANE_THandle ps)
+ {
+- _DBG("Calling orblite bb_unload: \n");
++ DBG("Calling orblite bb_unload: \n");
+ if (ps->bb_handle)
+ {
+ dlclose(ps->bb_handle);
diff --git a/source/ap/hplip/hplip.SlackBuild b/source/ap/hplip/hplip.SlackBuild index 2d389d5e4..6f3d1f2e5 100755 --- a/source/ap/hplip/hplip.SlackBuild +++ b/source/ap/hplip/hplip.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=hplip VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -63,6 +63,9 @@ else LIBDIRSUFFIX="" fi +# GCC 14 "fix": +#SLKCFLAGS="$SLKCFLAGS -Wno-error=implicit-int -Wno-error=incompatible-pointer-types" + TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM @@ -86,6 +89,16 @@ zcat $CWD/hplip.python3.shebang.diff.gz | patch -p1 --verbose || exit 1 # Fix the desktop file to show correct icon and category zcat $CWD/fix-desktop-file.patch.gz | patch -p1 --verbose || exit 1 +# GCC 14 fixes: +cat $CWD/hplip-pserror-c99.patch | patch -p1 --verbose || exit 1 +cat $CWD/hplip-hpaio-gcc14.patch | patch -p1 --verbose || exit 1 +cat $CWD/hplip-covscan.patch | patch -p1 --verbose || exit 1 +cat $CWD/hplip-scan-orblite-c99.patch | patch -p1 --verbose || exit 1 +cat $CWD/hplip-scan-hpaio-include.patch | patch -p1 --verbose || exit 1 + +# This extension was never ported to python3: +cat $CWD/hplip-pcardext-disable.patch | patch -p1 --verbose || exit 1 + # Choose correct options depending on whether PAM is installed: if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then unset SHADOW_OPTIONS @@ -117,6 +130,18 @@ zcat $CWD/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch.gz | p # Add a cups-2.2.x header since some definitions were moved: zcat $CWD/0021-Add-include-cups-ppd.h-in-various-places-as-CUPS-2.2.patch.gz | patch -p1 -l --verbose || exit 1 +# Fix for python3: +zcat $CWD/0023-Fix-handling-of-unicode-filenames-in-sixext.py.patch.gz | patch -p1 --verbose || exit 1 + +# Add back some printer drivers that were removed upstream: +zcat $CWD/0003-models.dat-Re-add-drivers-missing-from-3.19.1.patch.gz | patch -p1 --verbose || exit 1 + +# Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i(n-one and similar): +zcat $CWD/0018-Allow-non-JPEG-scanning-on-the-HP-DeskJet-3520-All-i.patch.gz | patch -p1 --verbose || exit 1 + +# Remove a unicode space character to fix more python3 breakage: +zcat $CWD/0026-remove-unicode-space-from-models.dat.gz | patch -p1 --verbose || exit 1 + # autoreconf will fail if these files do not exist: for file in NEWS README AUTHORS ChangeLog ; do if [ ! -r $file ]; then @@ -191,4 +216,3 @@ zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh cd $PKG /sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/ap/inxi/fetch-inxi.sh b/source/ap/inxi/fetch-inxi.sh index 2e8025c51..cf75d93f7 100755 --- a/source/ap/inxi/fetch-inxi.sh +++ b/source/ap/inxi/fetch-inxi.sh @@ -24,7 +24,7 @@ PKGNAM=inxi # Pull a stable branch + patches -BRANCH=${1:-3.3.33-1} +BRANCH=${1:-3.3.35-1} # Clear download area: rm -rf ${PKGNAM} diff --git a/source/ap/inxi/inxi.SlackBuild b/source/ap/inxi/inxi.SlackBuild index 4f0bf8bb9..327a8160e 100755 --- a/source/ap/inxi/inxi.SlackBuild +++ b/source/ap/inxi/inxi.SlackBuild @@ -29,7 +29,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -51,14 +51,11 @@ PKG=$TMP/package-${PKGNAM} rm -rf $PKG mkdir -p $TMP $PKG -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" diff --git a/source/ap/ispell/ispell.SlackBuild b/source/ap/ispell/ispell.SlackBuild index eceeb7351..35a2d22ef 100755 --- a/source/ap/ispell/ispell.SlackBuild +++ b/source/ap/ispell/ispell.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=ispell 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 diff --git a/source/ap/joe/joe.SlackBuild b/source/ap/joe/joe.SlackBuild index 7c3e9d70a..56b5628fe 100755 --- a/source/ap/joe/joe.SlackBuild +++ b/source/ap/joe/joe.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=joe VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-4} +BUILD=${BUILD:-5} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/ap/jove/jove.SlackBuild b/source/ap/jove/jove.SlackBuild index e29dc8e76..af64248c6 100755 --- a/source/ap/jove/jove.SlackBuild +++ b/source/ap/jove/jove.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2010, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,17 +23,18 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=jove -VERSION=4.16.0.74 -BUILD=${BUILD:-3} +VERSION=${VERSION:-$(echo $PKGNAM-*.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 - case "$( uname -m )" in - i?86) export ARCH=i586 ;; - arm*) export ARCH=arm ;; + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; + *) ARCH=$(uname -m) ;; esac + export ARCH fi # If the variable PRINT_PACKAGE_NAME is set, then this script will report what @@ -44,32 +45,47 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then exit 0 fi -NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} +NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi TMP=${TMP:-/tmp} -PKG=$TMP/package-jove +PKG=$TMP/package-$PKGNAM rm -rf $PKG mkdir -p $TMP $PKG cd $TMP -rm -rf jove$VERSION -tar xvf $CWD/jove$VERSION.tar.?z* || exit 1 -cd jove$VERSION || exit 1 +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +# Fix install prefix: +sed -i "s|JOVEHOME = /usr/local|JOVEHOME = /usr|g" Makefile + +# Use lib64 if needed: +if [ "$LIBDIRSUFFIX" = "64" ]; then + sed -i "s|JLIBDIR = \$(JOVEHOME)/lib/jove|JLIBDIR = \$(JOVEHOME)/lib64/jove|g" Makefile +fi + chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -77,49 +93,38 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -zcat $CWD/jove.makefile.diff.gz | patch -p1 --verbose --backup || exit 1 - -# Patch due to removal of stropts.h: -zcat $CWD/jove.glibc-2.30.diff.gz | patch -p1 --verbose --backup || exit 1 - -# More patching needed now: -sed -i -e "s#/lib/jove#/lib${LIBDIRSUFFIX}/jove#" \ - -e "s#^OPTFLAGS = .*#OPTFLAGS = $SLKCFLAGS#" Makefile - make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 -# Create jove-recover symlink -( cd $PKG/usr/bin - ln -s ../lib${LIBDIRSUFFIX}/jove/recover jove-recover -) - -# Install teach-jove file: -cp -a --verbose doc/teach-jove $PKG/usr/lib${LIBDIRSUFFIX}/jove/teach-jove -chown root:root $PKG/usr/lib${LIBDIRSUFFIX}/jove/teach-jove -chmod 644 $PKG/usr/lib${LIBDIRSUFFIX}/jove/teach-jove - -find $PKG | xargs file | grep -e "executable" -e "shared object" \ - | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - -# Compress man pages -( cd $PKG/usr/man - rm man1/jovetool.1 man1/xjove.1 - find . -type f -exec gzip -9 {} \+ - for i in $( find . -type l ) ; do - ln -s $( readlink $i ).gz $i.gz ; rm $i - done -) - -# Copy program documentation into the package -mkdir -p $PKG/usr/doc/jove$VERSION +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \+ +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION cp -a \ - README* $PKG/usr/doc/jove$VERSION + ChangeLog LICENSE* README* \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +mv $PKG/usr/share/doc/jove/example.rc $PKG/usr/doc/${PKGNAM}-$VERSION +rm -r $PKG/usr/share/doc + +# 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 mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc -# Build the package: cd $PKG -/sbin/makepkg -l y -c n $TMP/jove-$VERSION-$ARCH-$BUILD.txz - +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/ap/jove/jove.glibc-2.30.diff b/source/ap/jove/jove.glibc-2.30.diff deleted file mode 100644 index 684e73d4f..000000000 --- a/source/ap/jove/jove.glibc-2.30.diff +++ /dev/null @@ -1,17 +0,0 @@ ---- ./iproc.c.orig 2008-05-20 21:35:18.000000000 -0500 -+++ ./iproc.c 2019-08-19 17:28:01.899194246 -0500 -@@ -536,14 +536,6 @@ - - # ifdef SVR4_PTYS - # include <stdlib.h> /* for grantpt and unlockpt, at least in Solaris 2.3 */ --# if _XOPEN_SOURCE >= 500 -- /* Linux/glibc no longer pretends to support STREAMS (XSR) (2008) */ --# if _XOPEN_STREAMS != -1 --# include <stropts.h> --# endif --# else --# include <sys/stropts.h> --# endif - extern char *ptsname proto((int /*filedes*/)); /* get name of slave */ - # endif - diff --git a/source/ap/jove/jove.makefile.diff b/source/ap/jove/jove.makefile.diff deleted file mode 100644 index 8bf2be4bc..000000000 --- a/source/ap/jove/jove.makefile.diff +++ /dev/null @@ -1,132 +0,0 @@ ---- jove4.16.0.70/Makefile 2005-09-30 19:14:41.000000000 -0300 -+++ jove4.16.0.70.new/Makefile 2009-03-04 02:01:26.000000000 -0300 -@@ -21,13 +21,14 @@ - # If they don't exist, this makefile will try to create the directories - # LIBDIR and SHAREDIR. All others must already exist. - --JOVEHOME = /usr/local -+JOVEHOME = /usr - SHAREDIR = $(JOVEHOME)/lib/jove - LIBDIR = $(JOVEHOME)/lib/jove - BINDIR = $(JOVEHOME)/bin - XEXT= - MANDIR = $(JOVEHOME)/man/man$(MANEXT) - MANEXT = 1 -+DESTDIR := ${DESTDIR} - - # TMPDIR is where the tmp files get stored, usually /tmp, /var/tmp, or - # /usr/tmp. If you wish to be able to recover buffers after a system -@@ -56,12 +57,12 @@ - INSTALLFLAGS = # -g bin -o root - - # to install executable files --XINSTALL=cp -+XINSTALL=/usr/bin/install -c -m 755 -D - #XINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 755 # -s - #CYGWIN32: XINSTALL=install $(INSTALLFLAGS) -c -m 755 - - # to install text files --TINSTALL=cp -+TINSTALL=/usr/bin/install -c -m 644 -D - #TINSTALL=/usr/ucb/install $(INSTALLFLAGS) -c -m 644 - #CYGWIN32: TINSTALL=install $(INSTALLFLAGS) -c -m 644 - -@@ -137,7 +138,7 @@ - # Add -DUSE_EXIT if you're profiling or using purify (this causes Jove - # to exit using exit(), instead of _exit()). - --SYSDEFS = -DBSDPOSIX_STDC -+SYSDEFS = -DSYSVR4 -D_XOPEN_SOURCE=500 - - # Select optimization level (flags passed to compiling and linking steps). - # On most systems: -g for debugging, -O for optimization. -@@ -146,7 +147,7 @@ - # On DEC OSF/1 and Digital UNIX VV4.0, add -std1 to enable ANSI C features - # and perhaps -g3 for more debugging info with optimization. - --OPTFLAGS = -O -+OPTFLAGS := ${OPTFLAGS} - - # For making dependencies under BSD systems - DEPENDFLAG = -M -@@ -360,7 +361,7 @@ - install: $(LIBDIR) $(SHAREDIR) \ - $(TEACH-JOVE) $(CMDS.DOC) $(TERMSDIR)docs \ - $(PORTSRVINST) $(RECOVER) $(JOVE) $(TEACHJOVE) $(MANUALS) -- $(TINSTALL) doc/jove.rc $(JOVERC) -+ $(TINSTALL) doc/jove.rc $(DESTDIR)$(JOVERC) - @echo See the README about changes to /etc/rc or /etc/rc.local - @echo so that the system recovers jove files on reboot after a crash - -@@ -371,7 +372,7 @@ - test -d $(SHAREDIR) || mkdir $(SHAREDIR) - - $(TEACH-JOVE): doc/teach-jove -- $(TINSTALL) doc/teach-jove $(TEACH-JOVE) -+ $(TINSTALL) doc/teach-jove $(DESTDIR)$(TEACH-JOVE) - - doc/cmds.doc: doc/cmds.macros.nr doc/cmds.nr - $(NROFF) doc/cmds.macros.nr doc/cmds.nr > doc/cmds.doc -@@ -383,25 +384,25 @@ - ( cd doc; tbl intro.nr | $(TROFF) -ms - cmds.nr contents.nr $(TROFFPOST) >jove.man.ps ) - - $(CMDS.DOC): doc/cmds.doc -- $(TINSTALL) doc/cmds.doc $(CMDS.DOC) -+ $(TINSTALL) doc/cmds.doc $(DESTDIR)$(CMDS.DOC) - - $(JOVERC): doc/jove.rc -- $(TINSTALL) doc/jove.rc $(JOVERC) -+ $(TINSTALL) doc/jove.rc $(DESTDIR)$(JOVERC) - - $(TERMSDIR)docs: $(DOCTERMS) -- $(TINSTALL) $(DOCTERMS) $(TERMSDIR) -+ $(TINSTALL) $(DOCTERMS) $(DESTDIR)$(TERMSDIR) - - $(PORTSRV): portsrv$(XEXT) -- $(XINSTALL) portsrv$(XEXT) $(PORTSRV) -+ $(XINSTALL) portsrv$(XEXT) $(DESTDIR)$(PORTSRV) - - $(RECOVER): recover$(XEXT) -- $(XINSTALL) recover$(XEXT) $(RECOVER) -+ $(XINSTALL) recover$(XEXT) $(DESTDIR)$(RECOVER) - - $(JOVE): jjove$(XEXT) -- $(XINSTALL) jjove$(XEXT) $(JOVE) -+ $(XINSTALL) jjove$(XEXT) $(DESTDIR)$(JOVE) - - $(TEACHJOVE): teachjove$(XEXT) -- $(XINSTALL) teachjove$(XEXT) $(TEACHJOVE) -+ $(XINSTALL) teachjove$(XEXT) $(DESTDIR)$(TEACHJOVE) - - doc/jove.$(MANEXT): doc/jove.nr - sed -e 's;<TMPDIR>;$(TMPDIR);' \ -@@ -410,7 +411,7 @@ - -e 's;<SHELL>;$(DFLTSHELL);' doc/jove.nr > doc/jove.$(MANEXT) - - $(JOVEM): doc/jove.$(MANEXT) -- $(TINSTALL) doc/jove.$(MANEXT) $(JOVEM) -+ $(TINSTALL) doc/jove.$(MANEXT) $(DESTDIR)$(JOVEM) - - # doc/jove.doc is the formatted manpage (only needed by DOS) - # Building it should be like building $(JOVEM) except that we -@@ -427,17 +428,17 @@ - -e 's;<SHELL>;$(DFLTSHELL);' doc/teachjove.nr > doc/teachjove.$(MANEXT) - - $(TEACHJOVEM): doc/teachjove.$(MANEXT) -- $(TINSTALL) doc/teachjove.$(MANEXT) $(TEACHJOVEM) -+ $(TINSTALL) doc/teachjove.$(MANEXT) $(DESTDIR)$(TEACHJOVEM) - - $(XJOVEM): doc/xjove.nr -- $(TINSTALL) doc/xjove.nr $(XJOVEM) -+ $(TINSTALL) doc/xjove.nr $(DESTDIR)$(XJOVEM) - - doc/jovetool.$(MANEXT): doc/jovetool.nr - sed -e 's;<MANDIR>;$(MANDIR);' \ - -e 's;<MANEXT>;$(MANEXT);' doc/jovetool.nr > doc/jovetool.$(MANEXT) - - $(JOVETOOLM): doc/jovetool.$(MANEXT) -- $(TINSTALL) doc/jovetool.$(MANEXT) $(JOVETOOLM) -+ $(TINSTALL) doc/jovetool.$(MANEXT) $(DESTDIR)$(JOVETOOLM) - - echo: - @echo $(C-FILES) $(HEADERS) diff --git a/source/ap/jove/jove.url b/source/ap/jove/jove.url index 024b00c40..1b3868917 100644 --- a/source/ap/jove/jove.url +++ b/source/ap/jove/jove.url @@ -1,3 +1 @@ -ftp://ftp.cs.toronto.edu/cs/ftp/pub/hugh/jove-dev -# Old stable site: -#ftp://ftp.cs.toronto.edu/cs/ftp/pub/moraes/jove +https://github.com/jonmacs/jove diff --git a/source/ap/ksh93/ksh93.SlackBuild b/source/ap/ksh93/ksh93.SlackBuild index af5614be7..5626a914d 100755 --- a/source/ap/ksh93/ksh93.SlackBuild +++ b/source/ap/ksh93/ksh93.SlackBuild @@ -30,7 +30,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -45,21 +45,12 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then exit 0 fi -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" -elif [ "$ARCH" = "armv7hl" ]; then - SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" - LIBDIRSUFFIX="" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" diff --git a/source/ap/libx86/libx86.SlackBuild b/source/ap/libx86/libx86.SlackBuild index cbf9f9867..2c6dfcd0f 100755 --- a/source/ap/libx86/libx86.SlackBuild +++ b/source/ap/libx86/libx86.SlackBuild @@ -64,6 +64,9 @@ else LIBDIRSUFFIX="" fi +# GCC 14 "fix": +SLKCFLAGS="$SLKCFLAGS -Wno-error=int-conversion -Wno-error=incompatible-pointer-types" + rm -rf $PKG mkdir -p $TMP $PKG cd $TMP diff --git a/source/ap/linuxdoc-tools/ChangeLog.txt b/source/ap/linuxdoc-tools/ChangeLog.txt index b5e57dc7d..affa8b00a 100644 --- a/source/ap/linuxdoc-tools/ChangeLog.txt +++ b/source/ap/linuxdoc-tools/ChangeLog.txt @@ -1,3 +1,22 @@ +Thu Apr 11 08:08:08 UTC 2024 + linuxdoc-tools 0.9.83, build 1. + Stuart Winter <mozes@slackware.com> + Version changes: + * Upgraded to linuxdoc-tools 0.9.83 + * Upgraded to gtk-doc 1.34.0 + * Upgraded to asciidoc 10.2.0 + Maintenance: + * postbuildfixes.sh: Eliminate any remaining empty Python directories + after purging Python cache files. + Comment asciidoc config file '.new' renaming code, as asciidoc no longer + provides such files. + * linuxdoc-tools.build: corrected detection of the RiscV64 architecture. + Drop 'install/doinst.sh' as it was only used to manage installation of + the asciidoc configuration files. + * gnome-doc-utils: Refreshed SRPM. Added a build-time configuration patch + in preparation for Python 3.12. + * docbook-style-xsl: Refreshed SRPM whilst looking for new patches. + Thu Aug 12 10:02:06 BST 2021 linuxdoc-tools 0.9.82, build 1. Stuart Winter <mozes@slackware.com> diff --git a/source/ap/linuxdoc-tools/arm/build b/source/ap/linuxdoc-tools/arm/build index 708dd6997..8ec625f74 100755 --- a/source/ap/linuxdoc-tools/arm/build +++ b/source/ap/linuxdoc-tools/arm/build @@ -1,15 +1,14 @@ #!/bin/bash -# armel/build -# Check package dependencies, set metadata and launch -# package build script. -# by Stuart Winter <stuart@armedslack.org> +# arm/build +# Build wrapper for ap/linuxdoc-tools on Slackware ARM +# Stuart Winter <mozes@slackware.com> # source /usr/share/slackdev/buildkit.sh # Package metadata: export PKGNAM=linuxdoc-tools -export VERSION=${VERSION:-0.9.82} +export VERSION=${VERSION:-0.9.83} export BUILD=${BUILD:-1} export PKGSERIES=${PKGSERIES:-ap} export SLACKPACKAGE=$PKGNAM-$VERSION-$PKGARCH-$BUILD.txz diff --git a/source/ap/linuxdoc-tools/doinst.sh b/source/ap/linuxdoc-tools/doinst.sh deleted file mode 100644 index b9a1d17b6..000000000 --- a/source/ap/linuxdoc-tools/doinst.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -config() { - NEW="$1" - OLD="$( dirname $NEW )/$( basename $NEW .new )" - # If there's no config file by that name, mv it over: - if [ ! -r $OLD ]; then - mv $NEW $OLD - elif [ "$( md5sum < $OLD )" = "$( md5sum < $NEW )" ]; then # toss the redundant copy - rm $NEW - fi - # Otherwise, we leave the .new copy for the admin to consider... -} - diff --git a/source/ap/linuxdoc-tools/linuxdoc-tools.build b/source/ap/linuxdoc-tools/linuxdoc-tools.build index e95d9b69c..c68a7b52e 100755 --- a/source/ap/linuxdoc-tools/linuxdoc-tools.build +++ b/source/ap/linuxdoc-tools/linuxdoc-tools.build @@ -4,7 +4,7 @@ # Script: linuxdoc-tools.build # Purpose: Build & install all components that form the linuxdoc-tools # Slackware Package. -# Credit: written by Stuart Winter <mozes@slackware.com> +# Author: Stuart Winter <mozes@slackware.com>, 2005-2024 # with the docbook build code by Jerome Pinot <ngc891@gmail.com> # and some script code taken from Debian, Red Hat/Fedora & # Linux From Scratch documentation @@ -23,7 +23,7 @@ LINUXDOCTOOLSVER=$PKGVERSION # Bundled package versions: -ASCIIDOCVER=9.1.0 +ASCIIDOCVER=10.2.0 DSSSLSTYLESHEETSVER=1.79 # docbook-dsssl-*.tar.xz (plus -doc- source archive), not SRPM. XSLSTYLESHEETSVER=1.79.2 # docbook-style-xsl-*src.rpm ("DocBook XSL Stylesheets" in our ChangeLog.txt) DOCBOOKUTILSVER=0.6.14 @@ -31,7 +31,7 @@ SGMLDTD3VER=3.1 SGMLDTD4VER=4.5 XMLDTDVER=4.5 GNOMEDOCUTILSVER=0.20.10 -GTKDOCVER=1.33.2 +GTKDOCVER=1.34.0 SGMLSPLVER=1.03ii OPENJADEVER=1.3.2 OPENSPVER=1.5.2 @@ -53,7 +53,7 @@ case $ARCH in export LIBDIRSUFFIX="64" export HOSTTARGET="" ;; - riscv) export SLKCFLAGS="-O2" + riscv64) export SLKCFLAGS="-O2" export LIBDIRSUFFIX="64" export HOSTTARGET="" ;; @@ -78,7 +78,7 @@ function build_asciidoc() { # Extract source: cd $TMP rm -rf asciidoc -mkdir asciidoc && cd asciidoc +mkdir -p asciidoc{,-collect} && cd asciidoc rpm2cpio $CWD/sources/asciidoc-${ASCIIDOCVER}*.src.rpm | cpio -div || exit 1 tar xvf asciidoc-py-*.tar.*z cd asciidoc-py-*/ || exit 1 @@ -92,11 +92,12 @@ find . \ # Apply patches: # Assemble patch list from spec file: # grep -E '^Patch[0-9].*: ' *.spec | awk -F: '{print $2" \\"}' -#for i in \ -# \ -# \ -# ; do patch -p1 --verbose < ../${i} || exit 1 -#done || exit 1 +for i in \ + \ + asciidoc-table-separator.patch \ + \ + ; do patch -p1 --verbose < ../${i} || exit 1 +done || exit 1 # Configure: autoreconf -v @@ -116,20 +117,34 @@ if [ "$1" = "nodocs" ]; then echo "*** Built asciidoc without documentation - expect errors above ***" echo "******************************************************************" else - make install docs || exit 1 + # It's the full build and installation: + # Install the documentation into a temporary location so that we can + # filter it manually, as it does not respect --mandir and there's a good + # amount of superfluous stuff that we don't want to package: + make install docs DESTDIR=$TMP/asciidoc-collect || exit 1 + # "make install" target doesn't include the docs, so we can install + # everything else for collection by slacktrack directly: + make install || exit 1 + [ ! -x /usr/bin/asciidoc ] && { echo "*** Error: asciidoc wasn't installed! ***" ; exit 1;} + + # Copy docs: + mkdir -vpm755 /usr/doc/asciidoc-$ASCIIDOCVER + cp -fav \ + BUGS.adoc CHANGELOG.adoc COPYRIGHT LICENSE README.md \ + /usr/doc/asciidoc-$ASCIIDOCVER/ + + # Collect what we want and place it into the file system for collection + # by slacktrack: + pushd $TMP/asciidoc-collect/usr/doc/asciidoc-*/ + # Man pages: + mv -fv doc/{asciidoc.1,a2x.1} /usr/man/man1/ + rm -fv doc/*.1.txt # wipe the sources + # Other stuff: + # We're omitting these dirs: dblatex/ docbook-xsl/ + mv -fv doc images /usr/doc/asciidoc-$ASCIIDOCVER/ + popd fi -find /etc/asciidoc -type f -print0 | xargs -0 chmod 644 - -# After the build completes, we'll rename the asciidoc config files to '.new' -# (see 'postbuildfixes.sh'), but for now we need them in place so that the -# application works, since asciidoc is used to build some of this monolithic package. - -# Copy docs: -mkdir -vpm755 /usr/doc/asciidoc-$ASCIIDOCVER -cp -fav \ - BUGS.txt CHANGELOG.txt COPY* README.asciidoc \ - /usr/doc/asciidoc-$ASCIIDOCVER/ } # Build asciidoc without any documentation (man pages). We'll have @@ -329,9 +344,8 @@ patch --verbose -p1 < ../opensp-nodeids.patch || exit 1 find . -name config.guess -print0 | xargs -0i cp -favv /usr/share/libtool/build-aux/config.guess '{}' find . -name config.sub -print0 | xargs -0i cp -favv /usr/share/libtool/build-aux/config.sub '{}' -# Configure without optimisation. OpenSP & OpenJade -# are sensitive to optimisations, resulting in segfaults, -# particularly on the ARM platform. Apparently -O1 will work but +# Configure without optimisation. OpenSP & OpenJade are sensitive to optimisations, +# resulting in segfaults, particularly on the ARM platform. Apparently -O1 will work but # let's just leave it as is. # # This is configured not to build the documentation. If anybody really needs @@ -395,7 +409,7 @@ mv -fv /usr/doc/OpenSP /usr/doc/OpenSP-$OPENSPVER ####################### Build OpenJade ############################ # Reference: -# http://cblfs.cross-lfs.org/index.php/OpenJade +# https://www.linuxfromscratch.org/blfs/view/stable/pst/openjade.html # Extract source: cd $TMP @@ -776,6 +790,7 @@ find . \ # Apply patches: # Note: 'docbook-style-xsl-non-recursive-string-subst.patch' is applied separately # as it needs a different patch level. +# We don't apply 'docbook-style-xsl-1.79.2-fix-gtk-doc-multilib.patch' for i in \ \ docbook-xsl-pagesetup.patch \ @@ -787,7 +802,7 @@ for i in \ \ ; do patch --verbose -p1 < ../../$i done || exit 1 -patch -p2 < ../../docbook-style-xsl-non-recursive-string-subst.patch || exit 1 +patch --verbose -p2 < ../../docbook-style-xsl-non-recursive-string-subst.patch || exit 1 cp -fav ../../docbook-style-xsl.Makefile Makefile # Switch to UTF-8 files: @@ -952,8 +967,8 @@ cd $TMP mkdir linuxdoc-tools && cd linuxdoc-tools #rpm2cpio $CWD/sources/linuxdoc-tools-${LINUXDOCTOOLSVER}*.src.rpm | cpio -div || exit 1 #tar xvf linuxdoc-tools_$LINUXDOCTOOLSVER.tar.gz -tar xvf $CWD/sources/linuxdoc-tools_$LINUXDOCTOOLSVER.tar.?z -cd linuxdoc-tools-$LINUXDOCTOOLSVER || exit 1 +tar xvf $CWD/sources/linuxdoc-tools-$LINUXDOCTOOLSVER.tar.?z +cd linuxdoc-tools*/ || exit 1 chown -R root:root . find . \ @@ -974,8 +989,8 @@ export PATH=$( echo $PATH | sed -e 's?:/usr/share/texmf/bin??g' -e 's?/usr/share # latest linuxdoc-tools source. It simply changed the default page size to 'Letter'. # Probably not too much to worry about there. for i in \ - linuxdoc-tools-0.9.20-lib64.patch.xz ; do - xzcat $CWD/sources/$i | patch -p1 || exit 1 + linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch.xz ; do + xzcat $CWD/sources/$i | patch --verbose -p1 || exit 1 done || exit 1 # Find out what our Vendor perl directory is: @@ -1055,6 +1070,7 @@ find . \ for i in \ \ gnome-doc-utils-0.20.10-python3.patch \ + gnome-doc-utils-0.20.10-configure-py312.patch \ \ ; do patch --verbose -p1 < ../$i done || exit 1 @@ -1113,7 +1129,7 @@ find . \ # and we've never included it. for i in \ \ - 0001-Partially-revert-a-gtk-doc-1.31-change-that-broke-e-.patch \ + 74.patch \ \ ; do patch --verbose -p1 < ../$i done || exit 1 @@ -1255,4 +1271,4 @@ build_asciidoc rm -rf /install mkdir -vpm755 /install install -vpm644 $CWD/slack-desc /install -zcat $CWD/doinst.sh.gz > /install/doinst.sh +#zcat $CWD/doinst.sh.gz > /install/doinst.sh diff --git a/source/ap/linuxdoc-tools/postbuildfixes.sh b/source/ap/linuxdoc-tools/postbuildfixes.sh index 9382245cc..e659c3763 100755 --- a/source/ap/linuxdoc-tools/postbuildfixes.sh +++ b/source/ap/linuxdoc-tools/postbuildfixes.sh @@ -40,6 +40,11 @@ chmod -R a-s . # Remove dangling symlinks from /usr/doc. asciidoc-8.6.7 was a culprit. find usr/doc -xtype l -print0 | xargs -0 rm -fv +# Delete any empty directories left over by the removal of the orphaned Python cache +# files. e.g. +# usr/lib/python3.11/site-packages/mesonbuild/__pycache__/ +find usr/lib*/python* -type d -empty -delete + # Ensure some permissions. # I don't know why but these dirs are installed chmod 1755: #drwxr-xr-t root/root 0 2006-05-27 15:42:44 var/lib/texmf/ @@ -75,20 +80,21 @@ find . -name "*.txt" | while read docfile ; do done popd +# Gone in asciidoc-10, but retaining for future reference: # Allow preservation of conf files for ascii-doc. Some of the other bundled # packages may benefit from this treatment, but nobody's asked for anything # other than asciidoc in over 10 years! -echo "Renaming configuration files to '.conf.new'.." -find etc/asciidoc -type f -name '*.conf' -print0 | xargs -0i mv -fv '{}' '{}.new' -# Search for any dangling symlinks created by renaming the files: -if [ ! -z "$( find -L etc/asciidoc -type l -print )" ]; then - echo "WARNING: Dangling symlinks in etc/asciidoc -- you need to fix them!" - find -L etc/asciidoc -type l -print -fi -# Populate the doinst.sh script -find etc/asciidoc -type f -name '*.conf.new' | while read cfile ; do - echo "config $cfile" >> install/doinst.sh -done +#echo "Renaming configuration files to '.conf.new'.." +##find etc/asciidoc -type f -name '*.conf' -print0 | xargs -0i mv -fv '{}' '{}.new' +## Search for any dangling symlinks created by renaming the files: +#if [ ! -z "$( find -L etc/asciidoc -type l -print )" ]; then +# echo "WARNING: Dangling symlinks in etc/asciidoc -- you need to fix them!" +# find -L etc/asciidoc -type l -print +#fi +## Populate the doinst.sh script +#find etc/asciidoc -type f -name '*.conf.new' | while read cfile ; do +# echo "config $cfile" >> install/doinst.sh +#done # Now you should manually extract the .t?z # - check through the install/doinst.sh script; diff --git a/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.20-lib64.patch b/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.20-lib64.patch deleted file mode 100644 index 66ff2a31e..000000000 --- a/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0.9.20-lib64.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- linuxdoc-tools-0.9.60/bin/linuxdoc.in.orig -+++ linuxdoc-tools-0.9.60/bin/linuxdoc.in -@@ -23,6 +23,7 @@ - $AuxBinDir = "@auxbindir@"; - - use lib "@pkgdatadir@"; -+use lib "@prefix@/lib64/perl5"; - use lib "@perl5libdir@"; - - # --------------------------------------------------------------------- diff --git a/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch b/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch new file mode 100644 index 000000000..429de253e --- /dev/null +++ b/source/ap/linuxdoc-tools/sources/linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch @@ -0,0 +1,25 @@ +From 453fa2fb9d10c2ded7a46d550592f79dd7653e39 Mon Sep 17 00:00:00 2001 +From: Julien Rische <jrische@redhat.com> +Date: Sun, 5 Feb 2023 23:30:27 +0100 +Subject: [PATCH] [downstream] Added fix to have lib64 in perl path on + 64bit machine + +--- + bin/linuxdoc.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/bin/linuxdoc.in b/bin/linuxdoc.in +index 615ef06..3d3455f 100755 +--- a/bin/linuxdoc.in ++++ b/bin/linuxdoc.in +@@ -12,6 +12,7 @@ use 5.006; + use strict; + + use lib "@pkgdatadir@"; ++use lib "@prefix@/lib64/perl5"; + use lib "@perl5libdir@"; + + use LinuxDocTools::Utils qw{ldt_which}; +-- +2.39.1 + diff --git a/source/ap/linuxdoc-tools/sources/source.download b/source/ap/linuxdoc-tools/sources/source.download index 4801ed32c..b86ef7a05 100755 --- a/source/ap/linuxdoc-tools/sources/source.download +++ b/source/ap/linuxdoc-tools/sources/source.download @@ -1,36 +1,44 @@ -# Extract all SRPM URLs to make it easy to download. -# Often there's nothing that's changed between the version of the SRPM we hold, and -# the upstream version - the version was increased due to a rebuild within Fedora. -# However, I update our copy of the SRPM regardless, since it eases maintenance. +# source/ap/linuxdoc-tools/sources/source.download +# Upstream source references. +# Stuart Winter <mozes@slackware.com> # -# grep -E "^wget.*src.rpm$" source.download -# - -# Incase you're wondering why we're using source RPMs, this is because -# they contain patches required to either fix build or runtime problems, -# and it's easier to maintain this hunk of a package when the patches & -# sources are self contained. +# Incase you're wondering why we're using source RPMs, this is because they contain +# patches required to either fix build or runtime problems, and it's easier to +# maintain this hunk of a package when the patches & sources are self contained. # # Some sources have been recompressed with LZMA for better compression results. +# +# Note: Due to the passage of time, certain SRPM URLs may no longer be accessible, +# having been stored in the Slackware repository for several years. To minimise +# unnecessary churn within in the Slackware source tree, we update the SRPMs only +# when their content has been modified. # linuxdoc-tools: +# "In the wild" references: # https://packages.debian.org/sid/linuxdoc-tools +# https://src.fedoraproject.org/rpms/linuxdoc-tools +# https://packages.gentoo.org/packages/app-text/linuxdoc-tools # # This provides things such as sgml2txt. -wget http://deb.debian.org/debian/pool/main/l/linuxdoc-tools/linuxdoc-tools_0.9.82.orig.tar.gz -# We're taking some patches from here - now separated out: -#wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/l/linuxdoc-tools-0.9.68-3.fc19.src.rpm +# This has been recompressed locally. +wget http://deb.debian.org/debian/pool/main/l/linuxdoc-tools/linuxdoc-tools_0.9.83.orig.tar.gz +# Applied patches: +# lib64 patch for perl path: +# Renamed locally: linuxdoc-tools-0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch.xz +# https://src.fedoraproject.org/rpms/linuxdoc-tools/raw/rawhide/f/0002-downstream-Added-fix-to-have-lib64-in-perl-path-on-6.patch # OpenSP: # http://openjade.sourceforge.net/download.html -# wget -c http://kent.dl.sourceforge.net/sourceforge/openjade/OpenSP-1.5.2.tar.gz +# wget http://kent.dl.sourceforge.net/sourceforge/openjade/OpenSP-1.5.2.tar.gz # +# https://src.fedoraproject.org/rpms/opensp # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/ # -wget -c https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/opensp-1.5.2-38.fc35.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/opensp-1.5.2-38.fc35.src.rpm # OpenJade: # http://openjade.sourceforge.net/ +# https://src.fedoraproject.org/rpms/openjade # We're only using a gcc 4.6 patch from Fedora's SRPM: # There are other patches such as "nola" and "nsl", but we aren't using them. # @@ -40,69 +48,61 @@ wget -c https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everyt wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/o/openjade-1.3.2-59.fc29.src.rpm # sgmltools-common. -# It's broken and needs patching so we'll use Fedora's. -#wget -c ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/sgml-common-0.6.3.tgz -# +# https://src.fedoraproject.org/rpms/sgml-common # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/s/ # wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/s/sgml-common-0.6.3-57.fc35.src.rpm +# Docbook Style DSSSL: # http://www.linuxfromscratch.org/blfs/view/stable/pst/docbook-dsssl.html -# Check versions: +# https://src.fedoraproject.org/rpms/docbook-style-dsssl # http://sourceforge.net/projects/docbook/files/ -wget -c ftp://ftp.linux.ee/pub/gentoo/distfiles/distfiles/docbook-dsssl-1.79.tar.bz2 -wget -c http://switch.dl.sourceforge.net/sourceforge/docbook/docbook-dsssl-doc-1.79.tar.bz2 -# Why don't they put the patches into the distributed source...??? -#wget -c ftp://sources.redhat.com/pub/docbook-tools/new-trials/SOURCES/docbook-utils-0.6.14.tar.gz -# -# +wget http://switch.dl.sourceforge.net/sourceforge/docbook/docbook-dsssl-doc-1.79.tar.bz2 + +# Docbook-utils: +# https://src.fedoraproject.org/rpms/docbook-utils # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/ # wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/docbook-utils-0.6.14-53.fc35.src.rpm # # - +# Docbook Style XSL +# +# https://src.fedoraproject.org/rpms/docbook-style-xsl +# # We use the Fedora "docbook-style-xsl" SRPM for this rather than the original source which is why # these "docbook-xsl*" files aren't in our sources directory. -#wget -c "http://downloads.sourceforge.net/project/docbook/docbook-xsl/1.75.2/docbook-xsl-1.75.2.tar.bz2?use_mirror=freefr" -##wget -c "http://downloads.sourceforge.net/project/docbook/docbook-xsl-doc/1.75.2/docbook-xsl-doc-1.75.2.tar.bz2?use_mirror=freefr" +#wget "http://downloads.sourceforge.net/project/docbook/docbook-xsl/1.75.2/docbook-xsl-1.75.2.tar.bz2?use_mirror=freefr" +##wget "http://downloads.sourceforge.net/project/docbook/docbook-xsl-doc/1.75.2/docbook-xsl-doc-1.75.2.tar.bz2?use_mirror=freefr" # # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/ # -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/docbook-style-xsl-1.79.2-15.fc35.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/d/docbook-style-xsl-1.79.2-22.fc40.src.rpm # http://www.linuxfromscratch.org/blfs/view/svn/pst/docbook.html -wget -c http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip +wget http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip # https://sourceforge.net/project/showfiles.php?group_id=21935&package_id=16608 # # gnome-doc-utils, needed to build gtk-doc: -# Recompressed with LZMA after download. -# I guess this mirror is out of date now. It's easier to just look at Fedora's development -# directory anyway :-) -# wget -c http://ftp.acc.umu.se/pub/GNOME/sources/gnome-doc-utils/0.20/gnome-doc-utils-0.20.0.tar.bz2 +# https://src.fedoraproject.org/rpms/gnome-doc-utils # # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/ # -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gnome-doc-utils-0.20.10-26.fc35.src.rpm +wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gnome-doc-utils-0.20.10-37.fc40.src.rpm # gtk-doc: # There aren't any patches taken from the SRPM, but you can check the version used in Fedora # and see if any are being applied. We will pull the source archive from the SRPM: # +# https://src.fedoraproject.org/rpms/gtk-doc # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/ # -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gtk-doc-1.33.2-4.fc35.src.rpm -https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gtk-doc-1.32-2.fc32.src.rpm -#wget -c http://ftp.acc.umu.se/pub/GNOME/sources/gtk-doc/1.21/gtk-doc-1.21.tar.xz -# http://git.gnome.org/browse/gtk-doc/commit/?id=2bffebcf9c125f5610b8fb660d42c3c5b9dfd4f0 +wget https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/g/gtk-doc-1.34.0-1.fc41.src.rpm # xmlto -# https://fedorahosted.org/releases/x/m/xmlto -# wget -c --no-check-certificate https://fedorahosted.org/releases/x/m/xmlto/xmlto-0.0.23.tar.bz2 -# Fedora includes a patch, so we'll take it: -# +# https://src.fedoraproject.org/rpms/xmlto # https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/x # wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/x/xmlto-0.0.28-12.fc31.src.rpm @@ -110,43 +110,44 @@ wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everythin # AsciiDoc # http://www.methods.co.nz/asciidoc/ <<--- no longer updated. Taking src from Fedora's SRPM. # Also http://asciidoc.org/ +# https://src.fedoraproject.org/rpms/asciidoc # Taken some patches from Fedora. # -wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/a/asciidoc-9.1.0-3.fc35.src.rpm +wget https://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/a/asciidoc-10.2.0-9.fc40.src.rpm # docbook2X: # # Pre-requisite PERL modules for docbook2X: # https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/ # +# https://src.fedoraproject.org/rpms/perl-XML-NamespaceSupport wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-NamespaceSupport-1.12-15.fc35.src.rpm +# https://src.fedoraproject.org/rpms/perl-XML-SAX wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-SAX-1.02-8.fc35.src.rpm +# https://src.fedoraproject.org/rpms/perl-XML-SAX-Base wget https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/p/perl-XML-SAX-Base-1.09-15.fc35.src.rpm - - # sgmlspl # http://www.cs.indiana.edu/~asengupt/sgml/SGMLSpm/DOC/HTML/sgmlspl/sgmlspl.html # http://packages.debian.org/search?keywords=sgmlspl&searchon=names&suite=all§ion=all # There's nothing in the FTP download site at this time, so I'll take it from Debian. -wget -c http://ftp.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii.orig.tar.gz -wget -c http://http.debian.net/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii-36.debian.tar.xz - +wget http://ftp.debian.org/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii.orig.tar.gz +wget http://http.debian.net/debian/pool/main/libs/libsgmls-perl/libsgmls-perl_1.03ii-36.debian.tar.xz # #http://packages.debian.org/sid/docbook2x # Fedora keep it here, but Debian have a couple of (what look to be useful) patches. -#wget -c ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/d/docbook2X-0.8.8-14.fc19.src.rpm +#wget ftp://ftp.mirrorservice.org/sites/download.fedora.redhat.com/pub/fedora/linux/development/rawhide/source/SRPMS/d/docbook2X-0.8.8-14.fc19.src.rpm # # https://packages.debian.org/search?keywords=docbook2x&searchon=names&suite=all§ion=all -wget -c http://ftp.de.debian.org/debian/pool/main/d/docbook2x/docbook2x_0.8.8.orig.tar.gz +wget http://ftp.de.debian.org/debian/pool/main/d/docbook2x/docbook2x_0.8.8.orig.tar.gz wget http://deb.debian.org/debian/pool/main/d/docbook2x/docbook2x_0.8.8-17.debian.tar.xz # DocBook docs: # http://www.oasis-open.org/docbook/sgml/ # -#wget -c http://www.oasis-open.org/docbook/sgml/3.1/docbk31.zip -#wget -c http://www.docbook.org/sgml/4.5/docbook-4.5.zip +#wget http://www.oasis-open.org/docbook/sgml/3.1/docbk31.zip +#wget http://www.docbook.org/sgml/4.5/docbook-4.5.zip # We use Debian's source because it's more convenient since they package all versions in one archive: # https://packages.debian.org/search?keywords=docbook&searchon=names&suite=all§ion=all -wget -c http://ftp.de.debian.org/debian/pool/main/d/docbook/docbook_4.5.orig.tar.gz +wget http://ftp.de.debian.org/debian/pool/main/d/docbook/docbook_4.5.orig.tar.gz # diff --git a/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools b/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools index b2e9c26f1..cd280da63 100755 --- a/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools +++ b/source/ap/linuxdoc-tools/trackbuild.linuxdoc-tools @@ -21,8 +21,8 @@ # Package info: PKGNAM=linuxdoc-tools -export PKGVERSION=0.9.82 # use the version of linuxdoc-tools as the package version. -BUILD=${BUILD:-4} +export PKGVERSION=0.9.83 # use the version of linuxdoc-tools as the package version. +BUILD=${BUILD:-1} PKGEXT=${PKGEXT:-txz} # Automatically determine the architecture we're building on: @@ -67,8 +67,8 @@ rm -rf ~/.texlive* # incase you were using Texlive rather than Textex-3 # but is slower. However, if you really want extra speed, copy # this entire package source directory to a temporary location # and run it from there. +# This is the recommended option to use during development cycles: # TFS="--touch-filesystem-faster" - TFS="--touch-filesystem-first" # Launch the build script: diff --git a/source/ap/lxc/lxc-slackware.in b/source/ap/lxc/lxc-slackware.in index 422fa1d82..c9678c183 100644 --- a/source/ap/lxc/lxc-slackware.in +++ b/source/ap/lxc/lxc-slackware.in @@ -146,6 +146,11 @@ sed -i "s,pg::powerokwait:/sbin/genpowerfail stop,pg::powerokwait:/sbin/shutdown # create the library symlinks chroot $rootfs ldconfig +# Make sure that the certificate links are updated: +if [ -x $rootfs/usr/sbin/update-ca-certificates ]; then + chroot $rootfs /bin/bash -c "LC_ALL=C /usr/sbin/update-ca-certificates" +fi + # set a default combination for the luggage echo "root:root" | chroot $rootfs chpasswd 2> /dev/null echo "Root default password is 'root', please change it!" @@ -238,6 +243,7 @@ bash bin bridge-utils bzip2 +ca-certificates coreutils cracklib cyrus-sasl @@ -255,18 +261,25 @@ etc eudev findutils gawk +glibc-zoneinfo +gnupg gnupg2 gnutls grep gzip hostname +icu4c iproute2 iptables iputils kmod less +libassuan libcap-ng libffi +libgcrypt +libgpg-error +libksba libmnl libnl3 libpcap @@ -280,16 +293,20 @@ net-tools nettle network-scripts ncurses +npth pam openssh +openssl openssl-solibs p11-kit +perl pkgtools procps-ng sed shadow sharutils slackpkg +sqlite sysklogd sysvinit sysvinit-functions diff --git a/source/ap/lxc/lxc.SlackBuild b/source/ap/lxc/lxc.SlackBuild index 69951be5f..a76649056 100755 --- a/source/ap/lxc/lxc.SlackBuild +++ b/source/ap/lxc/lxc.SlackBuild @@ -27,12 +27,12 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=lxc VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | rev | cut -f 2- -d -)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -49,14 +49,11 @@ fi NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" @@ -81,45 +78,38 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -# Our python package is not split: -#sed -i "s|PKG_CHECK_MODULES(\[PYTHONDEV.*||" configure.ac || exit 1 - -if [ ! -r configure ]; then - NOCONFIGURE=1 ./autogen.sh -fi - -# Enable python stuff only if python3 is installed. -python="" -# Python bindings don't seem to be part of the standard package at this time, -# so we'll comment this next line out for now: -#[ -x /usr/bin/python3 ] && export PYTHON=/usr/bin/python3 && python="--enable-python" - -# Configure: -# lua is autodetected -CFLAGS="$SLKCFLAGS -Wno-error=incompatible-pointer-types" \ -./configure \ +# Configure, build, and install: +export CFLAGS="$SLKCFLAGS" +export CXXFLAGS="$SLKCFLAGS" +mkdir meson-build +cd meson-build +meson setup \ --prefix=/usr \ + --libdir=lib${LIBDIRSUFFIX} \ + --libexecdir=/usr/libexec \ + --bindir=/usr/bin \ + --sbindir=/usr/sbin \ + --includedir=/usr/include \ + --datadir=/usr/share \ + --mandir=/usr/man \ --sysconfdir=/etc \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PKGNAM-$VERSION \ - --infodir=/usr/info \ - --with-global-conf=/etc/lxc/lxc.conf \ - --with-rootfs-path=/var/lib/rootfs-lxc \ - --disable-werror \ - --disable-apparmor \ - --disable-static \ - $python \ - --enable-pam \ - --build=$ARCH-slackware-linux || exit 1 - -# Build and install: -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 \ + -Ddoc-path=/usr/doc/$PKGNAM-$VERSION \ + -Dglobal-config-path=/etc/lxc \ + -Drootfs-mount-path=/var/lib/rootfs-lxc \ + -Dapparmor=false \ + -Dpam-cgroup=true \ + -Dinit-script=sysvinit \ + .. || exit 1 + "${NINJA:=ninja}" $NUMJOBS || exit 1 + DESTDIR=$PKG $NINJA install || exit 1 +cd .. + +# The PAM module gets installed in the wrong location and there's no config +# option to put it in the right place, so we'll do it ourselves: +mkdir -p $PKG/lib${LIBDIRSUFFIX} +mv $PKG/usr/lib${LIBDIRSUFFIX}/security $PKG/lib${LIBDIRSUFFIX} # Add the template file: cat $CWD/lxc-slackware.in > $PKG/usr/share/lxc/templates/lxc-slackware @@ -138,10 +128,11 @@ mv $PKG/etc/default/lxc $PKG/etc/default/lxc.new # Install an init script (non executable by default): install -D -m 0644 $CWD/rc.lxc $PKG/etc/rc.d/rc.lxc.new -# Put bash completion files in system directory: -mkdir -p $PKG/usr/share/bash-completion/completions -mv $PKG/etc/bash_completion.d/* $PKG/usr/share/bash-completion/completions -rm -r $PKG/etc/bash_completion.d +# Remove init scripts that we do not use: +rm -r $PKG/etc/init.d + +# --disable-static +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a # Strip binaries: ( cd $PKG @@ -152,7 +143,7 @@ rm -r $PKG/etc/bash_completion.d # Add a documentation directory: mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION cp -a \ - AUTHORS* CONTRIBUTING* COPYING* INSTALL* MAINTAINERS* NEWS* README* TODO* \ + AUTHORS* CODING_STYLE* CONTRIBUTING* COPYING* LICENSE* MAINTAINERS* README* \ doc/FAQ.txt \ $PKG/usr/doc/${PKGNAM}-$VERSION diff --git a/source/ap/man-db/man-db.SlackBuild b/source/ap/man-db/man-db.SlackBuild index 7868dfe40..749bb2477 100755 --- a/source/ap/man-db/man-db.SlackBuild +++ b/source/ap/man-db/man-db.SlackBuild @@ -8,7 +8,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=man-db VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} MAN2HTML=${MAN2HTML:-20180101} @@ -62,7 +62,7 @@ MAN2HTML=${MAN2HTML:-20180101} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i586 ;; + i?86) ARCH=i686 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -82,21 +82,12 @@ OUTPUT=${OUTPUT:-$TMP} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" -elif [ "$ARCH" = "armv7hl" ]; then - SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" - LIBDIRSUFFIX="" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" diff --git a/source/ap/man-db/man-db.cron b/source/ap/man-db/man-db.cron index caf447742..a8be995ce 100644 --- a/source/ap/man-db/man-db.cron +++ b/source/ap/man-db/man-db.cron @@ -10,4 +10,4 @@ mkdir -p /var/cache/man # Regenerate the index databases caches used by man-db. # These increase perfomance and provide features such as whatis and apropos. -ionice -c3 nice -n 19 /usr/bin/mandb --quiet +ionice -c3 nice -n 19 /usr/bin/mandb -c --quiet diff --git a/source/ap/man-pages/man-pages.SlackBuild b/source/ap/man-pages/man-pages.SlackBuild index 7acba4656..1815fe88a 100755 --- a/source/ap/man-pages/man-pages.SlackBuild +++ b/source/ap/man-pages/man-pages.SlackBuild @@ -43,8 +43,8 @@ mkdir -p $TMP $PKG cd $TMP rm -rf man-pages-$VERSION -tar xvf $CWD/man-pages-$VERSION.tar.?z -tar xvf $CWD/man-pages-posix-*.tar.?z +tar xvf $CWD/man-pages-$VERSION.tar.?z || exit 1 +tar xvf $CWD/man-pages-posix-*.tar.?z || exit 1 echo "Fixing permissions..." chown -R root:root man-pages-$VERSION man-pages-posix-* chmod -R a-s,u+rw,go+r-w man-pages-$VERSION man-pages-posix-* @@ -59,8 +59,20 @@ find man-pages-posix-* \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -mkdir -p $PKG/usr/man -cp -a man-pages-$VERSION/man* $PKG/usr/man +# Wow, this new build system is something else. +# Let's not use it. +# cd man-pages-$VERSION || exit 1 +#make || exit 1 +#make install prefix=/usr DESTDIR=$PKG || exit 1 +#mv $PKG/usr/share/man $PKG/usr +#rmdir $PKG/usr/share + +# Add the release version, which is about the only useful thing "make" does: +sed -i "s/(unreleased)/$VERSION/g" man-pages-${VERSION}/man/man*/* + +# Install the man pages: +mkdir -p $PKG/usr +cp -a man-pages-${VERSION}/man $PKG/usr # Are these other POSIX manpages of any real usefulness here? # Granted there may be some historical interest, and it's nice @@ -100,7 +112,7 @@ rm -r $TEMPDIR # Add a documentation directory: mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION cp -a \ - man-pages-$VERSION/{CONTRIBUTING,Changes,README,man-pages-${VERSION}.Announce,man-pages-${VERSION}.lsm} \ + man-pages-$VERSION/{CONTRIBUTING*,Changes,INSTALL,LICENSES*,README*,RELEASE,lsm} \ man-pages-posix-*/POSIX-COPYRIGHT \ $PKG/usr/doc/${PKGNAM}-$VERSION diff --git a/source/ap/mariadb/doinst.sh b/source/ap/mariadb/doinst.sh index f65d4269f..c7d5f91cd 100644 --- a/source/ap/mariadb/doinst.sh +++ b/source/ap/mariadb/doinst.sh @@ -15,6 +15,7 @@ config() { if [ -e etc/rc.d/rc.mysqld ]; then cp -a etc/rc.d/rc.mysqld etc/rc.d/rc.mysqld.new.incoming cat etc/rc.d/rc.mysqld.new > etc/rc.d/rc.mysqld.new.incoming + touch -r etc/rc.d/rc.mysqld.new etc/rc.d/rc.mysqld.new.incoming mv etc/rc.d/rc.mysqld.new.incoming etc/rc.d/rc.mysqld.new fi diff --git a/source/ap/mariadb/mariadb.SlackBuild b/source/ap/mariadb/mariadb.SlackBuild index e89014d08..a62aeb98a 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, 2022, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2012, 2013, 2014, 2017, 2018, 2020, 2021, 2022, 2023, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA # Copyright 2011, 2012, 2013, 2014, 2017 Heinz Wiesinger, Amsterdam, The Netherlands # All rights reserved. # @@ -50,7 +50,7 @@ KEEPTESTS=${KEEPTESTS:-NO} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -69,18 +69,15 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} TMP=${TMP:-/tmp} PKG=$TMP/package-${PKGNAM} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi rm -rf $PKG @@ -203,6 +200,7 @@ chmod 0755 $PKG/var/run/mysql mkdir -p $PKG/etc/rc.d # This is installed chmod 644 so that the server does not run by default. zcat $CWD/rc.mysqld.gz > $PKG/etc/rc.d/rc.mysqld.new +touch -r $CWD/rc.mysqld.gz $PKG/etc/rc.d/rc.mysqld.new rm -rf $PKG/etc/init.d $PKG/usr/libexec/rcmysql # Install mysqlaccess.conf diff --git a/source/ap/mc/bogus.cflags.diff b/source/ap/mc/bogus.cflags.diff new file mode 100644 index 000000000..0fec13e7f --- /dev/null +++ b/source/ap/mc/bogus.cflags.diff @@ -0,0 +1,10 @@ +--- ./m4.include/mc-cflags.m4.orig 2024-01-20 13:34:38.000000000 -0600 ++++ ./m4.include/mc-cflags.m4 2024-05-08 12:42:18.326695150 -0500 +@@ -57,7 +57,6 @@ + AX_APPEND_COMPILE_FLAGS([-Wmissing-format-attribute], [mc_configured_cflags], [$EXTRA_OPTION]) + AX_APPEND_COMPILE_FLAGS([-Wmissing-parameter-type], [mc_configured_cflags], [$EXTRA_OPTION]) + AX_APPEND_COMPILE_FLAGS([-Wmissing-prototypes], [mc_configured_cflags], [$EXTRA_OPTION]) +- AX_APPEND_COMPILE_FLAGS([-Wmissing-variable-declarations], [mc_configured_cflags], [$EXTRA_OPTION]) + AX_APPEND_COMPILE_FLAGS([-Wnested-externs], [mc_configured_cflags], [$EXTRA_OPTION]) + AX_APPEND_COMPILE_FLAGS([-Wno-long-long], [mc_configured_cflags], [$EXTRA_OPTION]) + AX_APPEND_COMPILE_FLAGS([-Wno-unreachable-code], [mc_configured_cflags], [$EXTRA_OPTION]) diff --git a/source/ap/mc/mc.SlackBuild b/source/ap/mc/mc.SlackBuild index 19082a848..557d6829c 100755 --- a/source/ap/mc/mc.SlackBuild +++ b/source/ap/mc/mc.SlackBuild @@ -29,7 +29,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -46,12 +46,10 @@ fi NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" else SLKCFLAGS="-O2" fi @@ -73,9 +71,8 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -if [ ! -x ./configure ]; then - ./autogen.sh -fi +cat $CWD/bogus.cflags.diff | patch -p1 --verbose || exit 1 +autoreconf -vif CFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/source/ap/moc/0011-ffmpeg-7.0.patch b/source/ap/moc/0011-ffmpeg-7.0.patch new file mode 100644 index 000000000..a1ce6d7e4 --- /dev/null +++ b/source/ap/moc/0011-ffmpeg-7.0.patch @@ -0,0 +1,37 @@ +--- ./decoder_plugins/ffmpeg/ffmpeg.m4.orig 2022-10-09 12:44:06.000000000 -0500 ++++ ./decoder_plugins/ffmpeg/ffmpeg.m4 2024-08-07 21:13:42.693200094 -0500 +@@ -44,7 +44,7 @@ + LIBS="$LIBS $ffmpeg_LIBS" + AC_CHECK_MEMBERS([struct AVProbeData.mime_type], [], [], + [#include <libavformat/avformat.h>]) +- AC_CHECK_HEADERS([libavutil/channel_layout.h]) ++ AC_CHECK_HEADERS([libavutil/ch_layout.h]) + AC_SEARCH_LIBS(av_packet_alloc, avcodec, + [AC_DEFINE([HAVE_AV_PACKET_FNS], 1, + [Define to 1 if you have the `av_packet_*' functions.])]) +--- ./decoder_plugins/ffmpeg/ffmpeg.c.orig 2022-10-09 12:44:06.000000000 -0500 ++++ ./decoder_plugins/ffmpeg/ffmpeg.c 2024-08-07 21:14:12.958229068 -0500 +@@ -35,9 +35,7 @@ + #include <libavformat/avformat.h> + #include <libavutil/mathematics.h> + #if HAVE_LIBAVUTIL_CHANNEL_LAYOUT_H +-# include <libavutil/channel_layout.h> +-#else +-# include <libavutil/audioconvert.h> ++# include <libavutil/ch_layout.h> + #endif + + /* FFmpeg also likes common names, without that, our common.h and log.h +@@ -561,10 +559,10 @@ + /* Downmix multi-channel audios to stereo. */ + static void set_downmixing (struct ffmpeg_data *data) + { +- if (av_get_channel_layout_nb_channels (data->enc->channel_layout) <= 2) ++ if (av_get_ch_layout_nb_channels (data->enc->ch_layout) <= 2) + return; + +- data->enc->request_channel_layout = AV_CH_LAYOUT_STEREO; ++ data->enc->request_ch_layout = AV_CH_LAYOUT_STEREO; + } + + static int ffmpeg_io_read_cb (void *s, uint8_t *buf, int count) diff --git a/source/ap/moc/moc.SlackBuild b/source/ap/moc/moc.SlackBuild index 673f9c28e..7c8a58131 100755 --- a/source/ap/moc/moc.SlackBuild +++ b/source/ap/moc/moc.SlackBuild @@ -24,12 +24,12 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=moc VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | rev | cut -f 2- -d -)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-4} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -46,14 +46,11 @@ fi NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" @@ -88,6 +85,10 @@ cat $CWD/0007-cur-dts.patch | patch -p1 --verbose || exit 1 cat $CWD/0008-Rename-configure.in-to-configure.ac.patch | patch -p1 --verbose || exit 1 cat $CWD/0009-Add-https-to-is_url.patch | patch -p1 --verbose || exit 1 cat $CWD/0010-ffmpeg-6.0.patch | patch -p1 --verbose || exit 1 +cat $CWD/0011-ffmpeg-7.0.patch | patch -p1 --verbose || exit 1 + +# We have a partial patch for ffmpeg7, but it still hits compile errors. +# We'll disable it pending a complete fix. # Configure: if [ ! -r configure ]; then @@ -97,7 +98,7 @@ if [ ! -r configure ]; then autoreconf -vif fi fi -CFLAGS="$SLKCFLAGS" \ +CFLAGS="$SLKCFLAGS -Wno-error=implicit-function-declaration" \ ./configure \ --prefix=/usr \ --sysconfdir=/etc \ @@ -105,6 +106,7 @@ CFLAGS="$SLKCFLAGS" \ --mandir=/usr/man \ --docdir=/usr/doc/$PKGNAM-$VERSION \ --infodir=/usr/info \ + --without-ffmpeg \ --build=$ARCH-slackware-linux || exit 1 # Build and install: diff --git a/source/ap/mpg123/mpg123.SlackBuild b/source/ap/mpg123/mpg123.SlackBuild index 262184756..496eae0d1 100755 --- a/source/ap/mpg123/mpg123.SlackBuild +++ b/source/ap/mpg123/mpg123.SlackBuild @@ -30,7 +30,7 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,16 +40,12 @@ fi TMP=${TMP:-/tmp} PKG=$TMP/package-${PKGNAM} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" - TARGET="x86" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" - TARGET="" + TARGET="sse" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" TARGET="x86-64" elif [ "$ARCH" = "arm" ]; then diff --git a/source/ap/nano/nano.SlackBuild b/source/ap/nano/nano.SlackBuild index a9b7b28a8..385e0c02e 100755 --- a/source/ap/nano/nano.SlackBuild +++ b/source/ap/nano/nano.SlackBuild @@ -31,7 +31,7 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -46,16 +46,13 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then exit 0 fi -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" ARCHQUADLET="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" ARCHQUADLET="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" ARCHQUADLET="" elif [ "$ARCH" = "arm" ]; then diff --git a/source/ap/nvme-cli/nvme-cli.SlackBuild b/source/ap/nvme-cli/nvme-cli.SlackBuild index a7f5e5b11..141f02554 100755 --- a/source/ap/nvme-cli/nvme-cli.SlackBuild +++ b/source/ap/nvme-cli/nvme-cli.SlackBuild @@ -29,7 +29,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$(uname -m)" in - i?86) ARCH=i586 ;; + i?86) ARCH=i686 ;; arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$(uname -m) ;; @@ -47,21 +47,12 @@ fi NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" -elif [ "$ARCH" = "armv7hl" ]; then - SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" - LIBDIRSUFFIX="" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" diff --git a/source/ap/pamixer/pamixer.SlackBuild b/source/ap/pamixer/pamixer.SlackBuild index b8041bcce..2cdbea4d5 100755 --- a/source/ap/pamixer/pamixer.SlackBuild +++ b/source/ap/pamixer/pamixer.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=pamixer 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 diff --git a/source/ap/powertop/powertop.SlackBuild b/source/ap/powertop/powertop.SlackBuild index fbfb597df..91af9cee4 100755 --- a/source/ap/powertop/powertop.SlackBuild +++ b/source/ap/powertop/powertop.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=powertop 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 diff --git a/source/ap/rpm/rpm.SlackBuild b/source/ap/rpm/rpm.SlackBuild index 1120faa73..48ed1fbeb 100755 --- a/source/ap/rpm/rpm.SlackBuild +++ b/source/ap/rpm/rpm.SlackBuild @@ -26,14 +26,14 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=rpm VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-3} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -52,10 +52,10 @@ if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" elif [ "$ARCH" = "arm" ]; then SLKCFLAGS="-O2 -march=armv4 -mtune=xscale" diff --git a/source/ap/rzip/rzip.SlackBuild b/source/ap/rzip/rzip.SlackBuild index 716b98ec0..352efbce2 100755 --- a/source/ap/rzip/rzip.SlackBuild +++ b/source/ap/rzip/rzip.SlackBuild @@ -55,6 +55,9 @@ else SLKCFLAGS="-O2" fi +# GCC 14 "fix": +SLKCFLAGS="$SLKCFLAGS -Wno-error=implicit-int" + TMP=${TMP:-/tmp} PKG=$TMP/package-rzip diff --git a/source/ap/sc-im/sc-im.SlackBuild b/source/ap/sc-im/sc-im.SlackBuild index b48e8fa7f..513754d69 100755 --- a/source/ap/sc-im/sc-im.SlackBuild +++ b/source/ap/sc-im/sc-im.SlackBuild @@ -29,7 +29,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$(uname -m)" in - i?86) ARCH=i586 ;; + i?86) ARCH=i686 ;; arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$(uname -m) ;; @@ -47,26 +47,20 @@ fi NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" -elif [ "$ARCH" = "armv7hl" ]; then - SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" - LIBDIRSUFFIX="" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi +# GCC 14 "fix": +export CFLAGS="$SLKCFLAGS -Wno-error=implicit-function-declaration" + TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM @@ -91,7 +85,7 @@ sed -i "s,/usr/local,/usr,g" Makefile sed -i "s,name = scim,name = sc-im,g" Makefile # Fix mandir: sed -i "s,share/man/man1,man/man1,g" Makefile -make || exit 1 +make $NUMJOBS || exit 1 make install DESTDIR=$PKG # Strip binaries: diff --git a/source/ap/sc/sc.SlackBuild b/source/ap/sc/sc.SlackBuild index 5cbd9be47..b815dd55f 100755 --- a/source/ap/sc/sc.SlackBuild +++ b/source/ap/sc/sc.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=sc VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-10} +BUILD=${BUILD:-11} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -87,6 +87,7 @@ find . \ # Old software, modern compiler: zcat $CWD/sc-7.16-3.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/sc.gcc14.diff.gz | patch -p1 --verbose || exit 1 # Build: make $NUMJOBS || exit 1 diff --git a/source/ap/sc/sc.gcc14.diff b/source/ap/sc/sc.gcc14.diff new file mode 100644 index 000000000..25c9f1e0b --- /dev/null +++ b/source/ap/sc/sc.gcc14.diff @@ -0,0 +1,11 @@ +--- ./Makefile.orig 2024-05-11 16:51:27.919158388 -0500 ++++ ./Makefile 2024-05-11 16:53:10.235160676 -0500 +@@ -336,7 +336,7 @@ + # real effect on the reliability of the program, but may concern some + # people who don't understand them. + #CFLAGS=-DSYSV3 -O2 -Wall -pipe +-CFLAGS=-DSYSV3 -O2 -pipe ++CFLAGS=-DSYSV3 -O2 -pipe -Wno-error=implicit-function-declaration -Wno-error=implicit-int + LIB=-lm -lncurses + + # All of the source files diff --git a/source/ap/scdoc/scdoc.SlackBuild b/source/ap/scdoc/scdoc.SlackBuild new file mode 100755 index 000000000..d0515a9a1 --- /dev/null +++ b/source/ap/scdoc/scdoc.SlackBuild @@ -0,0 +1,110 @@ +#!/bin/bash + +# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=scdoc +VERSION=${VERSION:-$(echo $PKGNAM-*.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 + case "$(uname -m)" in + i?86) ARCH=i686 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "} + +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \+ -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \+ + +CFLAGS="$SLKCFLAGS" \ +PREFIX=/usr \ +MANDIR=/usr/man \ +make $NUMJOBS || exit 1 + +CFLAGS="$SLKCFLAGS" \ +DESTDIR=$PKG \ +PREFIX=/usr \ +MANDIR=/usr/man \ +make install || exit 1 + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \+ +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + COPYING* README* \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/ap/scdoc/scdoc.url b/source/ap/scdoc/scdoc.url new file mode 100644 index 000000000..4126b0cf5 --- /dev/null +++ b/source/ap/scdoc/scdoc.url @@ -0,0 +1,2 @@ +https://git.sr.ht/~sircmpwn/scdoc +https://git.sr.ht/~sircmpwn/scdoc/archive/1.11.3.tar.gz diff --git a/source/ap/scdoc/slack-desc b/source/ap/scdoc/slack-desc new file mode 100644 index 000000000..660f9bde8 --- /dev/null +++ b/source/ap/scdoc/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +scdoc: scdoc (simple man page generator) +scdoc: +scdoc: scdoc is a simple man page generator for POSIX systems written in C99. +scdoc: +scdoc: Homepage: https://git.sr.ht/~sircmpwn/scdoc +scdoc: +scdoc: +scdoc: +scdoc: +scdoc: +scdoc: diff --git a/source/ap/screen/26source_encoding.patch b/source/ap/screen/26source_encoding.patch deleted file mode 100644 index 1094ac518..000000000 --- a/source/ap/screen/26source_encoding.patch +++ /dev/null @@ -1,353 +0,0 @@ -Author: Ben Finney <ben@benfinney.id.au> -Description: Replace the composed characters with their respective description. ---- a/process.c -+++ b/process.c -@@ -250,177 +250,177 @@ - - /* digraph table taken from old vim and rfc1345 */ - static struct digraph digraphs[MAX_DIGRAPH + 1] = { -- {{' ', ' '}, 160}, /* */ -- {{'N', 'S'}, 160}, /* */ -- {{'~', '!'}, 161}, /* */ -- {{'!', '!'}, 161}, /* */ -- {{'!', 'I'}, 161}, /* */ -- {{'c', '|'}, 162}, /* */ -- {{'c', 't'}, 162}, /* */ -- {{'$', '$'}, 163}, /* */ -- {{'P', 'd'}, 163}, /* */ -- {{'o', 'x'}, 164}, /* */ -- {{'C', 'u'}, 164}, /* */ -- {{'C', 'u'}, 164}, /* */ -- {{'E', 'u'}, 164}, /* */ -- {{'Y', '-'}, 165}, /* */ -- {{'Y', 'e'}, 165}, /* */ -- {{'|', '|'}, 166}, /* */ -- {{'B', 'B'}, 166}, /* */ -- {{'p', 'a'}, 167}, /* */ -- {{'S', 'E'}, 167}, /* */ -- {{'"', '"'}, 168}, /* */ -- {{'\'', ':'}, 168}, /* */ -- {{'c', 'O'}, 169}, /* */ -- {{'C', 'o'}, 169}, /* */ -- {{'a', '-'}, 170}, /* */ -- {{'<', '<'}, 171}, /* */ -- {{'-', ','}, 172}, /* */ -- {{'N', 'O'}, 172}, /* */ -- {{'-', '-'}, 173}, /* */ -- {{'r', 'O'}, 174}, /* */ -- {{'R', 'g'}, 174}, /* */ -- {{'-', '='}, 175}, /* */ -- {{'\'', 'm'}, 175}, /* */ -- {{'~', 'o'}, 176}, /* */ -- {{'D', 'G'}, 176}, /* */ -- {{'+', '-'}, 177}, /* */ -- {{'2', '2'}, 178}, /* */ -- {{'2', 'S'}, 178}, /* */ -- {{'3', '3'}, 179}, /* */ -- {{'3', 'S'}, 179}, /* */ -- {{'\'', '\''}, 180}, /* */ -- {{'j', 'u'}, 181}, /* */ -- {{'M', 'y'}, 181}, /* */ -- {{'p', 'p'}, 182}, /* */ -- {{'P', 'I'}, 182}, /* */ -- {{'~', '.'}, 183}, /* */ -- {{'.', 'M'}, 183}, /* */ -- {{',', ','}, 184}, /* */ -- {{'\'', ','}, 184}, /* */ -- {{'1', '1'}, 185}, /* */ -- {{'1', 'S'}, 185}, /* */ -- {{'o', '-'}, 186}, /* */ -- {{'>', '>'}, 187}, /* */ -- {{'1', '4'}, 188}, /* */ -- {{'1', '2'}, 189}, /* */ -- {{'3', '4'}, 190}, /* */ -- {{'~', '?'}, 191}, /* */ -- {{'?', '?'}, 191}, /* */ -- {{'?', 'I'}, 191}, /* */ -- {{'A', '`'}, 192}, /* */ -- {{'A', '!'}, 192}, /* */ -- {{'A', '\''}, 193}, /* */ -- {{'A', '^'}, 194}, /* */ -- {{'A', '>'}, 194}, /* */ -- {{'A', '~'}, 195}, /* */ -- {{'A', '?'}, 195}, /* */ -- {{'A', '"'}, 196}, /* */ -- {{'A', ':'}, 196}, /* */ -- {{'A', '@'}, 197}, /* */ -- {{'A', 'A'}, 197}, /* */ -- {{'A', 'E'}, 198}, /* */ -- {{'C', ','}, 199}, /* */ -- {{'E', '`'}, 200}, /* */ -- {{'E', '!'}, 200}, /* */ -- {{'E', '\''}, 201}, /* */ -- {{'E', '^'}, 202}, /* */ -- {{'E', '>'}, 202}, /* */ -- {{'E', '"'}, 203}, /* */ -- {{'E', ':'}, 203}, /* */ -- {{'I', '`'}, 204}, /* */ -- {{'I', '!'}, 204}, /* */ -- {{'I', '\''}, 205}, /* */ -- {{'I', '^'}, 206}, /* */ -- {{'I', '>'}, 206}, /* */ -- {{'I', '"'}, 207}, /* */ -- {{'I', ':'}, 207}, /* */ -- {{'D', '-'}, 208}, /* */ -- {{'N', '~'}, 209}, /* */ -- {{'N', '?'}, 209}, /* */ -- {{'O', '`'}, 210}, /* */ -- {{'O', '!'}, 210}, /* */ -- {{'O', '\''}, 211}, /* */ -- {{'O', '^'}, 212}, /* */ -- {{'O', '>'}, 212}, /* */ -- {{'O', '~'}, 213}, /* */ -- {{'O', '?'}, 213}, /* */ -- {{'O', '"'}, 214}, /* */ -- {{'O', ':'}, 214}, /* */ -- {{'/', '\\'}, 215}, /* */ -- {{'*', 'x'}, 215}, /* */ -- {{'O', '/'}, 216}, /* */ -- {{'U', '`'}, 217}, /* */ -- {{'U', '!'}, 217}, /* */ -- {{'U', '\''}, 218}, /* */ -- {{'U', '^'}, 219}, /* */ -- {{'U', '>'}, 219}, /* */ -- {{'U', '"'}, 220}, /* */ -- {{'U', ':'}, 220}, /* */ -- {{'Y', '\''}, 221}, /* */ -- {{'I', 'p'}, 222}, /* */ -- {{'T', 'H'}, 222}, /* */ -- {{'s', 's'}, 223}, /* */ -- {{'s', '"'}, 223}, /* */ -- {{'a', '`'}, 224}, /* */ -- {{'a', '!'}, 224}, /* */ -- {{'a', '\''}, 225}, /* */ -- {{'a', '^'}, 226}, /* */ -- {{'a', '>'}, 226}, /* */ -- {{'a', '~'}, 227}, /* */ -- {{'a', '?'}, 227}, /* */ -- {{'a', '"'}, 228}, /* */ -- {{'a', ':'}, 228}, /* */ -- {{'a', 'a'}, 229}, /* */ -- {{'a', 'e'}, 230}, /* */ -- {{'c', ','}, 231}, /* */ -- {{'e', '`'}, 232}, /* */ -- {{'e', '!'}, 232}, /* */ -- {{'e', '\''}, 233}, /* */ -- {{'e', '^'}, 234}, /* */ -- {{'e', '>'}, 234}, /* */ -- {{'e', '"'}, 235}, /* */ -- {{'e', ':'}, 235}, /* */ -- {{'i', '`'}, 236}, /* */ -- {{'i', '!'}, 236}, /* */ -- {{'i', '\''}, 237}, /* */ -- {{'i', '^'}, 238}, /* */ -- {{'i', '>'}, 238}, /* */ -- {{'i', '"'}, 239}, /* */ -- {{'i', ':'}, 239}, /* */ -- {{'d', '-'}, 240}, /* */ -- {{'n', '~'}, 241}, /* */ -- {{'n', '?'}, 241}, /* */ -- {{'o', '`'}, 242}, /* */ -- {{'o', '!'}, 242}, /* */ -- {{'o', '\''}, 243}, /* */ -- {{'o', '^'}, 244}, /* */ -- {{'o', '>'}, 244}, /* */ -- {{'o', '~'}, 245}, /* */ -- {{'o', '?'}, 245}, /* */ -- {{'o', '"'}, 246}, /* */ -- {{'o', ':'}, 246}, /* */ -- {{':', '-'}, 247}, /* */ -- {{'o', '/'}, 248}, /* */ -- {{'u', '`'}, 249}, /* */ -- {{'u', '!'}, 249}, /* */ -- {{'u', '\''}, 250}, /* */ -- {{'u', '^'}, 251}, /* */ -- {{'u', '>'}, 251}, /* */ -- {{'u', '"'}, 252}, /* */ -- {{'u', ':'}, 252}, /* */ -- {{'y', '\''}, 253}, /* */ -- {{'i', 'p'}, 254}, /* */ -- {{'t', 'h'}, 254}, /* */ -- {{'y', '"'}, 255}, /* */ -- {{'y', ':'}, 255}, /* */ -- {{'"', '['}, 196}, /* */ -- {{'"', '\\'}, 214}, /* */ -- {{'"', ']'}, 220}, /* */ -- {{'"', '{'}, 228}, /* */ -- {{'"', '|'}, 246}, /* */ -- {{'"', '}'}, 252}, /* */ -- {{'"', '~'}, 223} /* */ -+ {{' ', ' '}, 0x00a0}, /* NO-BREAK SPACE */ -+ {{'N', 'S'}, 0x00a0}, /* NO-BREAK SPACE */ -+ {{'~', '!'}, 0x00a1}, /* INVERTED EXCLAMATION MARK */ -+ {{'!', '!'}, 0x00a1}, /* INVERTED EXCLAMATION MARK */ -+ {{'!', 'I'}, 0x00a1}, /* INVERTED EXCLAMATION MARK */ -+ {{'c', '|'}, 0x00a2}, /* CENT SIGN */ -+ {{'c', 't'}, 0x00a2}, /* CENT SIGN */ -+ {{'$', '$'}, 0x00a3}, /* POUND SIGN */ -+ {{'P', 'd'}, 0x00a3}, /* POUND SIGN */ -+ {{'o', 'x'}, 0x00a4}, /* CURRENCY SIGN */ -+ {{'C', 'u'}, 0x00a4}, /* CURRENCY SIGN */ -+ {{'C', 'u'}, 0x00a4}, /* CURRENCY SIGN */ -+ {{'E', 'u'}, 0x00a4}, /* CURRENCY SIGN */ -+ {{'Y', '-'}, 0x00a5}, /* YEN SIGN */ -+ {{'Y', 'e'}, 0x00a5}, /* YEN SIGN */ -+ {{'|', '|'}, 0x00a6}, /* BROKEN BAR */ -+ {{'B', 'B'}, 0x00a6}, /* BROKEN BAR */ -+ {{'p', 'a'}, 0x00a7}, /* SECTION SIGN */ -+ {{'S', 'E'}, 0x00a7}, /* SECTION SIGN */ -+ {{'"', '"'}, 0x00a8}, /* DIAERESIS */ -+ {{'\'', ':'}, 0x00a8}, /* DIAERESIS */ -+ {{'c', 'O'}, 0x00a9}, /* COPYRIGHT SIGN */ -+ {{'C', 'o'}, 0x00a9}, /* COPYRIGHT SIGN */ -+ {{'-', 'a'}, 0x00aa}, /* FEMININE ORDINAL INDICATOR */ -+ {{'<', '<'}, 0x00ab}, /* LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ -+ {{'-', ','}, 0x00ac}, /* NOT SIGN */ -+ {{'N', 'O'}, 0x00ac}, /* NOT SIGN */ -+ {{'-', '-'}, 0x00ad}, /* SOFT HYPHEN */ -+ {{'r', 'O'}, 0x00ae}, /* REGISTERED SIGN */ -+ {{'R', 'g'}, 0x00ae}, /* REGISTERED SIGN */ -+ {{'-', '='}, 0x00af}, /* MACRON */ -+ {{'\'', 'm'}, 0x00af}, /* MACRON */ -+ {{'~', 'o'}, 0x00b0}, /* DEGREE SIGN */ -+ {{'D', 'G'}, 0x00b0}, /* DEGREE SIGN */ -+ {{'+', '-'}, 0x00b1}, /* PLUS-MINUS SIGN */ -+ {{'2', '2'}, 0x00b2}, /* SUPERSCRIPT TWO */ -+ {{'2', 'S'}, 0x00b2}, /* SUPERSCRIPT TWO */ -+ {{'3', '3'}, 0x00b3}, /* SUPERSCRIPT THREE */ -+ {{'3', 'S'}, 0x00b3}, /* SUPERSCRIPT THREE */ -+ {{'\'', '\''}, 0x00b4}, /* ACUTE ACCENT */ -+ {{'j', 'u'}, 0x00b5}, /* MICRO SIGN */ -+ {{'M', 'y'}, 0x00b5}, /* MICRO SIGN */ -+ {{'p', 'p'}, 0x00b6}, /* PILCROW SIGN */ -+ {{'P', 'I'}, 0x00b6}, /* PILCROW SIGN */ -+ {{'~', '.'}, 0x00b7}, /* MIDDLE DOT */ -+ {{'.', 'M'}, 0x00b7}, /* MIDDLE DOT */ -+ {{',', ','}, 0x00b8}, /* CEDILLA */ -+ {{'\'', ','}, 0x00b8}, /* CEDILLA */ -+ {{'1', '1'}, 0x00b9}, /* SUPERSCRIPT ONE */ -+ {{'1', 'S'}, 0x00b9}, /* SUPERSCRIPT ONE */ -+ {{'-', 'o'}, 0x00ba}, /* MASCULINE ORDINAL INDICATOR */ -+ {{'>', '>'}, 0x00bb}, /* RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ -+ {{'1', '4'}, 0x00bc}, /* VULGAR FRACTION ONE QUARTER */ -+ {{'1', '2'}, 0x00bd}, /* VULGAR FRACTION ONE HALF */ -+ {{'3', '4'}, 0x00be}, /* VULGAR FRACTION THREE QUARTERS */ -+ {{'~', '?'}, 0x00bf}, /* INVERTED QUESTION MARK */ -+ {{'?', '?'}, 0x00bf}, /* INVERTED QUESTION MARK */ -+ {{'?', 'I'}, 0x00bf}, /* INVERTED QUESTION MARK */ -+ {{'A', '`'}, 0x00c0}, /* LATIN CAPITAL LETTER A WITH GRAVE */ -+ {{'A', '!'}, 0x00c0}, /* LATIN CAPITAL LETTER A WITH GRAVE */ -+ {{'A', '\''}, 0x00c1}, /* LATIN CAPITAL LETTER A WITH ACUTE */ -+ {{'A', '^'}, 0x00c2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ -+ {{'A', '>'}, 0x00c2}, /* LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ -+ {{'A', '~'}, 0x00c3}, /* LATIN CAPITAL LETTER A WITH TILDE */ -+ {{'A', '?'}, 0x00c3}, /* LATIN CAPITAL LETTER A WITH TILDE */ -+ {{'A', '"'}, 0x00c4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */ -+ {{'A', ':'}, 0x00c4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */ -+ {{'A', '@'}, 0x00c5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */ -+ {{'A', 'A'}, 0x00c5}, /* LATIN CAPITAL LETTER A WITH RING ABOVE */ -+ {{'A', 'E'}, 0x00c6}, /* LATIN CAPITAL LETTER AE */ -+ {{'C', ','}, 0x00c7}, /* LATIN CAPITAL LETTER C WITH CEDILLA */ -+ {{'E', '`'}, 0x00c8}, /* LATIN CAPITAL LETTER E WITH GRAVE */ -+ {{'E', '!'}, 0x00c8}, /* LATIN CAPITAL LETTER E WITH GRAVE */ -+ {{'E', '\''}, 0x00c9}, /* LATIN CAPITAL LETTER E WITH ACUTE */ -+ {{'E', '^'}, 0x00ca}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ -+ {{'E', '>'}, 0x00ca}, /* LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ -+ {{'E', '"'}, 0x00cb}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */ -+ {{'E', ':'}, 0x00cb}, /* LATIN CAPITAL LETTER E WITH DIAERESIS */ -+ {{'I', '`'}, 0x00cc}, /* LATIN CAPITAL LETTER I WITH GRAVE */ -+ {{'I', '!'}, 0x00cc}, /* LATIN CAPITAL LETTER I WITH GRAVE */ -+ {{'I', '\''}, 0x00cd}, /* LATIN CAPITAL LETTER I WITH ACUTE */ -+ {{'I', '^'}, 0x00ce}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ -+ {{'I', '>'}, 0x00ce}, /* LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ -+ {{'I', '"'}, 0x00cf}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */ -+ {{'I', ':'}, 0x00cf}, /* LATIN CAPITAL LETTER I WITH DIAERESIS */ -+ {{'D', '-'}, 0x00d0}, /* LATIN CAPITAL LETTER ETH */ -+ {{'N', '~'}, 0x00d1}, /* LATIN CAPITAL LETTER N WITH TILDE */ -+ {{'N', '?'}, 0x00d1}, /* LATIN CAPITAL LETTER N WITH TILDE */ -+ {{'O', '`'}, 0x00d2}, /* LATIN CAPITAL LETTER O WITH GRAVE */ -+ {{'O', '!'}, 0x00d2}, /* LATIN CAPITAL LETTER O WITH GRAVE */ -+ {{'O', '\''}, 0x00d3}, /* LATIN CAPITAL LETTER O WITH ACUTE */ -+ {{'O', '^'}, 0x00d4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ -+ {{'O', '>'}, 0x00d4}, /* LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ -+ {{'O', '~'}, 0x00d5}, /* LATIN CAPITAL LETTER O WITH TILDE */ -+ {{'O', '?'}, 0x00d5}, /* LATIN CAPITAL LETTER O WITH TILDE */ -+ {{'O', '"'}, 0x00d6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */ -+ {{'O', ':'}, 0x00d6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */ -+ {{'/', '\\'}, 0x00d7}, /* MULTIPLICATION SIGN */ -+ {{'*', 'x'}, 0x00d7}, /* MULTIPLICATION SIGN */ -+ {{'O', '/'}, 0x00d8}, /* LATIN CAPITAL LETTER O WITH STROKE */ -+ {{'U', '`'}, 0x00d9}, /* LATIN CAPITAL LETTER U WITH GRAVE */ -+ {{'U', '!'}, 0x00d9}, /* LATIN CAPITAL LETTER U WITH GRAVE */ -+ {{'U', '\''}, 0x00da}, /* LATIN CAPITAL LETTER U WITH ACUTE */ -+ {{'U', '^'}, 0x00db}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ -+ {{'U', '>'}, 0x00db}, /* LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ -+ {{'U', '"'}, 0x00dc}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */ -+ {{'U', ':'}, 0x00dc}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */ -+ {{'Y', '\''}, 0x00dd}, /* LATIN CAPITAL LETTER Y WITH ACUTE */ -+ {{'I', 'p'}, 0x00de}, /* LATIN CAPITAL LETTER THORN */ -+ {{'T', 'H'}, 0x00de}, /* LATIN CAPITAL LETTER THORN */ -+ {{'s', 's'}, 0x00df}, /* LATIN SMALL LETTER SHARP S */ -+ {{'s', '"'}, 0x00df}, /* LATIN SMALL LETTER SHARP S */ -+ {{'a', '`'}, 0x00e0}, /* LATIN SMALL LETTER A WITH GRAVE */ -+ {{'a', '!'}, 0x00e0}, /* LATIN SMALL LETTER A WITH GRAVE */ -+ {{'a', '\''}, 0x00e1}, /* LATIN SMALL LETTER A WITH ACUTE */ -+ {{'a', '^'}, 0x00e2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */ -+ {{'a', '>'}, 0x00e2}, /* LATIN SMALL LETTER A WITH CIRCUMFLEX */ -+ {{'a', '~'}, 0x00e3}, /* LATIN SMALL LETTER A WITH TILDE */ -+ {{'a', '?'}, 0x00e3}, /* LATIN SMALL LETTER A WITH TILDE */ -+ {{'a', '"'}, 0x00e4}, /* LATIN SMALL LETTER A WITH DIAERESIS */ -+ {{'a', ':'}, 0x00e4}, /* LATIN SMALL LETTER A WITH DIAERESIS */ -+ {{'a', 'a'}, 0x00e5}, /* LATIN SMALL LETTER A WITH RING ABOVE */ -+ {{'a', 'e'}, 0x00e6}, /* LATIN SMALL LETTER AE */ -+ {{'c', ','}, 0x00e7}, /* LATIN SMALL LETTER C WITH CEDILLA */ -+ {{'e', '`'}, 0x00e8}, /* LATIN SMALL LETTER E WITH GRAVE */ -+ {{'e', '!'}, 0x00e8}, /* LATIN SMALL LETTER E WITH GRAVE */ -+ {{'e', '\''}, 0x00e9}, /* LATIN SMALL LETTER E WITH ACUTE */ -+ {{'e', '^'}, 0x00ea}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */ -+ {{'e', '>'}, 0x00ea}, /* LATIN SMALL LETTER E WITH CIRCUMFLEX */ -+ {{'e', '"'}, 0x00eb}, /* LATIN SMALL LETTER E WITH DIAERESIS */ -+ {{'e', ':'}, 0x00eb}, /* LATIN SMALL LETTER E WITH DIAERESIS */ -+ {{'i', '`'}, 0x00ec}, /* LATIN SMALL LETTER I WITH GRAVE */ -+ {{'i', '!'}, 0x00ec}, /* LATIN SMALL LETTER I WITH GRAVE */ -+ {{'i', '\''}, 0x00ed}, /* LATIN SMALL LETTER I WITH ACUTE */ -+ {{'i', '^'}, 0x00ee}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */ -+ {{'i', '>'}, 0x00ee}, /* LATIN SMALL LETTER I WITH CIRCUMFLEX */ -+ {{'i', '"'}, 0x00ef}, /* LATIN SMALL LETTER I WITH DIAERESIS */ -+ {{'i', ':'}, 0x00ef}, /* LATIN SMALL LETTER I WITH DIAERESIS */ -+ {{'d', '-'}, 0x00f0}, /* LATIN SMALL LETTER ETH */ -+ {{'n', '~'}, 0x00f1}, /* LATIN SMALL LETTER N WITH TILDE */ -+ {{'n', '?'}, 0x00f1}, /* LATIN SMALL LETTER N WITH TILDE */ -+ {{'o', '`'}, 0x00f2}, /* LATIN SMALL LETTER O WITH GRAVE */ -+ {{'o', '!'}, 0x00f2}, /* LATIN SMALL LETTER O WITH GRAVE */ -+ {{'o', '\''}, 0x00f3}, /* LATIN SMALL LETTER O WITH ACUTE */ -+ {{'o', '^'}, 0x00f4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */ -+ {{'o', '>'}, 0x00f4}, /* LATIN SMALL LETTER O WITH CIRCUMFLEX */ -+ {{'o', '~'}, 0x00f5}, /* LATIN SMALL LETTER O WITH TILDE */ -+ {{'o', '?'}, 0x00f5}, /* LATIN SMALL LETTER O WITH TILDE */ -+ {{'o', '"'}, 0x00f6}, /* LATIN SMALL LETTER O WITH DIAERESIS */ -+ {{'o', ':'}, 0x00f6}, /* LATIN SMALL LETTER O WITH DIAERESIS */ -+ {{'-', ':'}, 0x00f7}, /* DIVISION SIGN */ -+ {{'o', '/'}, 0x00f8}, /* LATIN SMALL LETTER O WITH STROKE */ -+ {{'u', '`'}, 0x00f9}, /* LATIN SMALL LETTER U WITH GRAVE */ -+ {{'u', '!'}, 0x00f9}, /* LATIN SMALL LETTER U WITH GRAVE */ -+ {{'u', '\''}, 0x00fa}, /* LATIN SMALL LETTER U WITH ACUTE */ -+ {{'u', '^'}, 0x00fb}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */ -+ {{'u', '>'}, 0x00fb}, /* LATIN SMALL LETTER U WITH CIRCUMFLEX */ -+ {{'u', '"'}, 0x00fc}, /* LATIN SMALL LETTER U WITH DIAERESIS */ -+ {{'u', ':'}, 0x00fc}, /* LATIN SMALL LETTER U WITH DIAERESIS */ -+ {{'y', '\''}, 0x00fd}, /* LATIN SMALL LETTER Y WITH ACUTE */ -+ {{'i', 'p'}, 0x00fe}, /* LATIN SMALL LETTER THORN */ -+ {{'t', 'h'}, 0x00fe}, /* LATIN SMALL LETTER THORN */ -+ {{'y', '"'}, 0x00ff}, /* LATIN SMALL LETTER Y WITH DIAERESIS */ -+ {{'y', ':'}, 0x00ff}, /* LATIN SMALL LETTER Y WITH DIAERESIS */ -+ {{'"', '['}, 0x00c4}, /* LATIN CAPITAL LETTER A WITH DIAERESIS */ -+ {{'"', '\\'}, 0x00d6}, /* LATIN CAPITAL LETTER O WITH DIAERESIS */ -+ {{'"', ']'}, 0x00dc}, /* LATIN CAPITAL LETTER U WITH DIAERESIS */ -+ {{'"', '{'}, 0x00e4}, /* LATIN SMALL LETTER A WITH DIAERESIS */ -+ {{'"', '|'}, 0x00f6}, /* LATIN SMALL LETTER O WITH DIAERESIS */ -+ {{'"', '}'}, 0x00fc}, /* LATIN SMALL LETTER U WITH DIAERESIS */ -+ {{'"', '~'}, 0x00df}, /* LATIN SMALL LETTER SHARP S */ - }; - - #define RESIZE_FLAG_H 1 diff --git a/source/ap/screen/45suppress_remap.patch b/source/ap/screen/45suppress_remap.patch deleted file mode 100644 index 85109a2ef..000000000 --- a/source/ap/screen/45suppress_remap.patch +++ /dev/null @@ -1,13 +0,0 @@ -Author: Loic Minier <lool@dooz.org> -Description: Unbreak several useful keybindings. ---- a/termcap.c -+++ b/termcap.c -@@ -552,8 +552,6 @@ - else - break; - } -- if (n < KMAP_KEYS) -- domap = 1; - if (map == 0 && domap) - return 0; - if (map && !domap) diff --git a/source/ap/screen/52fix_screen_utf8_nfd.patch b/source/ap/screen/52fix_screen_utf8_nfd.patch deleted file mode 100644 index 0aa72d5ed..000000000 --- a/source/ap/screen/52fix_screen_utf8_nfd.patch +++ /dev/null @@ -1,41 +0,0 @@ -## 52fix_screen_utf8_nfd.dpatch by Nobuhiro Iwamatsu <iwamatsu@debian.org> -## -## DP: screen outputs screen "ÿ" after a connected character. -## DP: This is a character without the need. -## DP: This happens in UTF-8 environment. -## DP: Before : screen$ ruby1.9.1 -e 'puts "\u304b\u3099.."' -## DP: がÿ... -## DP: patch applied : screen $ ruby1.9.1 -e 'puts "\u304b\u3099.."' -## DP: が.. -## DP: Report from http://d.hatena.ne.jp/mrkn/20101014/fix_screen_utf8_nfd_bug -## DP: Copyright Kenta Murata (mrkn) <mrkn@ruby-lang.org> -## DP: Modified by Nobuhiro Iwamatsu <iwamatsu@debian.org> - -Index: screen/ansi.c -=================================================================== ---- screen.orig/ansi.c 2012-03-20 22:15:02.000000000 +0100 -+++ screen/ansi.c 2012-03-20 22:41:45.000000000 +0100 -@@ -725,6 +725,10 @@ - LPutChar(&curr->w_layer, &omc, ox, oy); - LGotoPos(&curr->w_layer, curr->w_x, curr->w_y); - } -+ if (curr->w_mbcs) -+ { -+ curr->w_rend.mbcs = curr->w_mbcs = 0; -+ } - break; - } - font = curr->w_rend.font; -Index: screen/display.c -=================================================================== ---- screen.orig/display.c 2012-03-20 22:41:28.000000000 +0100 -+++ screen/display.c 2012-03-20 22:41:45.000000000 +0100 -@@ -603,7 +603,7 @@ - D_x += D_AM ? 1 : -1; - D_mbcs = 0; - } -- else if (utf8_isdouble(c)) -+ else if (utf8_isdouble(c) || (c >= 0xd800 && c < 0xe000)) - { - D_mbcs = c; - D_x++; diff --git a/source/ap/screen/screen.SlackBuild b/source/ap/screen/screen.SlackBuild index 960c38d3e..3353606c8 100755 --- a/source/ap/screen/screen.SlackBuild +++ b/source/ap/screen/screen.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2022, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -29,7 +29,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -44,14 +44,11 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then exit 0 fi -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" @@ -78,10 +75,8 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ -# Apply patches taken from Debian: +# Apply patches^H^H taken from Debian: for pf in \ - 26source_encoding.patch.gz \ - 45suppress_remap.patch.gz \ 52fix_screen_utf8_nfd.patch.gz \ ; do zcat $CWD/$pf | patch --verbose -p1 || exit 1 done diff --git a/source/ap/seejpeg/seejpeg.SlackBuild b/source/ap/seejpeg/seejpeg.SlackBuild index cb3ba4adb..6bb06e2a1 100755 --- a/source/ap/seejpeg/seejpeg.SlackBuild +++ b/source/ap/seejpeg/seejpeg.SlackBuild @@ -73,7 +73,7 @@ find . \ ( cd libjpeg-6a ; ./configure ; make || exit 1 ) || exit 1 ln -sf libjpeg-6a jpeglib -make seejpeg || exit 1 +CFLAGS="-Wno-error=incompatible-pointer-types" make seejpeg || exit 1 strip seejpeg cat seejpeg > $PKG/usr/bin/seejpeg @@ -89,4 +89,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc # Build the package: cd $PKG /sbin/makepkg -l y -c n $TMP/seejpeg-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/ap/slackpkg/files/core-functions.sh b/source/ap/slackpkg/files/core-functions.sh index ede3d3f42..626a9b8e8 100644 --- a/source/ap/slackpkg/files/core-functions.sh +++ b/source/ap/slackpkg/files/core-functions.sh @@ -31,6 +31,17 @@ One or more errors occurred while slackpkg was running: } trap 'cleanup' 2 14 15 # trap CTRL+C and kill +# Define which version of gnupg to use. We'll prefer gpg1 since it has fewer +# dependencies, then gpg2, and if we don't find that we'll blindly set this +# to gpg and deal with it later. +if which gpg1 > /dev/null 2> /dev/null ; then + GPG=gpg1 +elif which gpg2 > /dev/null 2> /dev/null ; then + GPG=gpg2 +else + GPG=gpg +fi + # This create an spinning bar spinning() { local WAITFILE @@ -371,7 +382,7 @@ as slackpkg cannot function without awk.\n" # Check if gpg is enabled but no GPG command are found. # - if ! [ "$(which gpg2 2>/dev/null)" ] && [ "${CHECKGPG}" = "on" ]; then + if ! [ "$(which $GPG 2>/dev/null)" ] && [ "${CHECKGPG}" = "on" ]; then CHECKGPG=off echo -e "\n\ gpg package not found! Please disable GPG in ${CONF}/slackpkg.conf or install\n\ @@ -384,7 +395,7 @@ file distributed with slackpkg.\n" # Check if the Slackware GPG key are found in the system # - GPGFIRSTTIME="$(gpg2 --list-keys \"$SLACKKEY\" 2>/dev/null \ + GPGFIRSTTIME="$($GPG --list-keys \"$SLACKKEY\" 2>/dev/null \ | grep -c "$SLACKKEY")" if [ "$GPGFIRSTTIME" = "0" ] && \ [ "$CMD" != "search" ] && \ @@ -546,7 +557,7 @@ function checkmd5() { # Verify the GPG signature of files/packages # function checkgpg() { - gpg2 --verify ${1}.asc ${1} 2>/dev/null && echo "1" || echo "0" + $GPG --verify ${1}.asc ${1} 2>/dev/null && echo "1" || echo "0" } # Fetch $SLACKKEY from a trusted source @@ -585,8 +596,8 @@ Do you want to import the GPG key from this source? (YES|NO)\n" # Import $SLACKKEY function import_gpg_key() { mkdir -p ~/.gnupg - gpg2 --yes --batch --delete-key "$SLACKKEY" &>/dev/null - gpg2 --import $TMPDIR/gpgkey &>/dev/null && \ + $GPG --yes --batch --delete-key "$SLACKKEY" &>/dev/null + $GPG --import $TMPDIR/gpgkey &>/dev/null && \ echo -e "\t\t\tSlackware Linux Project's GPG key added" } diff --git a/source/ap/slackpkg/slackpkg.SlackBuild b/source/ap/slackpkg/slackpkg.SlackBuild index eab285bb4..fa8cc2c92 100755 --- a/source/ap/slackpkg/slackpkg.SlackBuild +++ b/source/ap/slackpkg/slackpkg.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=slackpkg VERSION=${VERSION:-15.0.10} ARCH="noarch" -BUILD=${BUILD:-3} +BUILD=${BUILD:-4} # If the variable PRINT_PACKAGE_NAME is set, then this script will report what # the name of the created package would be, and then exit. This information diff --git a/source/ap/sox/sox.SlackBuild b/source/ap/sox/sox.SlackBuild index fa8c4d363..2cc0fb7ce 100755 --- a/source/ap/sox/sox.SlackBuild +++ b/source/ap/sox/sox.SlackBuild @@ -52,6 +52,9 @@ else LIBDIRSUFFIX="" fi +# GCC 14 "fix": +SLKCFLAGS="$SLKCFLAGS -Wno-error=implicit-function-declaration" + # If this package is being built for ALSA (no PulseAudio), use the _alsa $TAG: if [ ! -r /usr/lib${LIBDIRSUFFIX}/pkgconfig/libpulse.pc ]; then TAG="_alsa" diff --git a/source/ap/sqlite/sqlite.SlackBuild b/source/ap/sqlite/sqlite.SlackBuild index a9d8139fe..60baa99d0 100755 --- a/source/ap/sqlite/sqlite.SlackBuild +++ b/source/ap/sqlite/sqlite.SlackBuild @@ -50,7 +50,7 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -68,14 +68,11 @@ fi TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" diff --git a/source/ap/stow/slack-desc b/source/ap/stow/slack-desc new file mode 100644 index 000000000..9c2a9f33d --- /dev/null +++ b/source/ap/stow/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +stow: stow (symlink farm manager) +stow: +stow: GNU Stow is a symlink farm manager which takes distinct sets of +stow: software and/or data located in separate directories on the +stow: filesystem, and makes them all appear to be installed in a single +stow: directory tree. Stow helps to administer, upgrade, install, and remove +stow: files in independent software packages without confusing them with +stow: other files sharing the same file system space. +stow: +stow: Homepage: https://www.gnu.org/software/stow/ +stow: diff --git a/source/ap/stow/stow.SlackBuild b/source/ap/stow/stow.SlackBuild new file mode 100755 index 000000000..426a530d0 --- /dev/null +++ b/source/ap/stow/stow.SlackBuild @@ -0,0 +1,145 @@ +#!/bin/bash + +# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=stow +VERSION=${VERSION:-$(echo $PKGNAM-*.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 + case "$(uname -m)" in + i?86) ARCH=i686 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "} + +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \+ -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \+ + +# Configure, build, and install: +if [ ! -r configure ]; then + if [ -x ./autogen.sh ]; then + NOCONFIGURE=1 ./autogen.sh + else + autoreconf -vif + fi +fi +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --disable-static \ + --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 + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \+ +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi + +# We'll take care of this, thanks +rm -rf $PKG/usr/doc + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + ChangeLog INSTALL* README* \ + doc/manual-split \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# 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 + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/ap/sudo/sudo.SlackBuild b/source/ap/sudo/sudo.SlackBuild index 42b9895d6..23f8a39f2 100755 --- a/source/ap/sudo/sudo.SlackBuild +++ b/source/ap/sudo/sudo.SlackBuild @@ -29,7 +29,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -52,17 +52,11 @@ PKG=$TMP/package-sudo rm -rf $PKG mkdir -p $TMP $PKG/var/db -if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" diff --git a/source/ap/texinfo/texinfo.SlackBuild b/source/ap/texinfo/texinfo.SlackBuild index cba119234..0309cb0eb 100755 --- a/source/ap/texinfo/texinfo.SlackBuild +++ b/source/ap/texinfo/texinfo.SlackBuild @@ -29,7 +29,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -46,21 +46,12 @@ fi NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" +if [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=pentium4 -mtune=generic" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" + SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC" LIBDIRSUFFIX="64" -elif [ "$ARCH" = "armv7hl" ]; then - SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" - LIBDIRSUFFIX="" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" diff --git a/source/ap/undervolt/undervolt.SlackBuild b/source/ap/undervolt/undervolt.SlackBuild index afa15d021..d1b089b19 100755 --- a/source/ap/undervolt/undervolt.SlackBuild +++ b/source/ap/undervolt/undervolt.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2020 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2020, 2024 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=undervolt 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 @@ -58,7 +58,9 @@ 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 {} \+ -python3 setup.py install --root=$PKG || exit 1 +unshare -n python3 -m build --wheel --no-isolation || exit 1 + +python3 -m installer --destdir "$PKG" dist/*.whl || exit 1 mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION cp -a *.rst *.txt \ diff --git a/source/ap/vim/vim-gvim.SlackBuild b/source/ap/vim/vim-gvim.SlackBuild index 44b11e81d..ec9d0d1d1 100755 --- a/source/ap/vim/vim-gvim.SlackBuild +++ b/source/ap/vim/vim-gvim.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2010, 2013, 2016, 2018, 2019, 2021, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2013, 2016, 2018, 2019, 2021, 2023, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -43,7 +43,7 @@ LUAINTERP=${LUAINTERP:-dynamic} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; diff --git a/source/ap/vim/vim.SlackBuild b/source/ap/vim/vim.SlackBuild index 9897abc4a..ff6e8de6e 100755 --- a/source/ap/vim/vim.SlackBuild +++ b/source/ap/vim/vim.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2010, 2013, 2016, 2018, 2019, 2020, 2021, 2022, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2013, 2016, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -53,7 +53,7 @@ fi # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; diff --git a/source/ap/vorbis-tools/vorbis-tools.SlackBuild b/source/ap/vorbis-tools/vorbis-tools.SlackBuild index 7f23e008e..41d813480 100755 --- a/source/ap/vorbis-tools/vorbis-tools.SlackBuild +++ b/source/ap/vorbis-tools/vorbis-tools.SlackBuild @@ -69,6 +69,9 @@ else LIBDIRSUFFIX="" fi +# GCC 14 "fix": +SLKCFLAGS="$SLKCFLAGS -Wno-error=implicit-function-declaration" + rm -rf $PKG mkdir -p $TMP $PKG diff --git a/source/ap/xfsdump/xfsdump.SlackBuild b/source/ap/xfsdump/xfsdump.SlackBuild index 18d782cfa..e3d65f2d0 100755 --- a/source/ap/xfsdump/xfsdump.SlackBuild +++ b/source/ap/xfsdump/xfsdump.SlackBuild @@ -31,7 +31,7 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i586 ;; + i?86) export ARCH=i686 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; diff --git a/source/ap/zsh/0007-zsh-configure-c99.patch b/source/ap/zsh/0007-zsh-configure-c99.patch new file mode 100644 index 000000000..c4b36231b --- /dev/null +++ b/source/ap/zsh/0007-zsh-configure-c99.patch @@ -0,0 +1,44 @@ +Avoid incompatible pointer types in terminfo global variable checks. +Some compilers reject these incompatible pointer types, causing the +checks to always fail, when these variables are in fact available. + +Submitted upstream: <https://www.zsh.org/mla/workers/2023/msg01112.html> + +diff --git a/configure.ac b/configure.ac +index a58242f453b4a8f3..5534f42df14eb28c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1769,27 +1769,27 @@ if test x$zsh_cv_path_term_header != xnone; then + fi + + AC_MSG_CHECKING(if boolcodes is available) +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = boolcodes; puts(*test);]])],[AC_DEFINE(HAVE_BOOLCODES) boolcodes=yes],[boolcodes=no]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = (char **)boolcodes; puts(*test);]])],[AC_DEFINE(HAVE_BOOLCODES) boolcodes=yes],[boolcodes=no]) + AC_MSG_RESULT($boolcodes) + + AC_MSG_CHECKING(if numcodes is available) +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = numcodes; puts(*test);]])],[AC_DEFINE(HAVE_NUMCODES) numcodes=yes],[numcodes=no]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = (char **)numcodes; puts(*test);]])],[AC_DEFINE(HAVE_NUMCODES) numcodes=yes],[numcodes=no]) + AC_MSG_RESULT($numcodes) + + AC_MSG_CHECKING(if strcodes is available) +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = strcodes; puts(*test);]])],[AC_DEFINE(HAVE_STRCODES) strcodes=yes],[strcodes=no]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = (char **)strcodes; puts(*test);]])],[AC_DEFINE(HAVE_STRCODES) strcodes=yes],[strcodes=no]) + AC_MSG_RESULT($strcodes) + + AC_MSG_CHECKING(if boolnames is available) +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = boolnames; puts(*test);]])],[AC_DEFINE(HAVE_BOOLNAMES) boolnames=yes],[boolnames=no]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = (char **)boolnames; puts(*test);]])],[AC_DEFINE(HAVE_BOOLNAMES) boolnames=yes],[boolnames=no]) + AC_MSG_RESULT($boolnames) + + AC_MSG_CHECKING(if numnames is available) +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = numnames; puts(*test);]])],[AC_DEFINE(HAVE_NUMNAMES) numnames=yes],[numnames=no]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = (char **)numnames; puts(*test);]])],[AC_DEFINE(HAVE_NUMNAMES) numnames=yes],[numnames=no]) + AC_MSG_RESULT($numnames) + + AC_MSG_CHECKING(if strnames is available) +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = strnames; puts(*test);]])],[AC_DEFINE(HAVE_STRNAMES) strnames=yes],[strnames=no]) ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[$term_includes]], [[char **test = (char **)strnames; puts(*test);]])],[AC_DEFINE(HAVE_STRNAMES) strnames=yes],[strnames=no]) + AC_MSG_RESULT($strnames) + + dnl There are apparently defective terminal library headers on some diff --git a/source/ap/zsh/zsh.SlackBuild b/source/ap/zsh/zsh.SlackBuild index 3a5aa5c69..361b365ab 100755 --- a/source/ap/zsh/zsh.SlackBuild +++ b/source/ap/zsh/zsh.SlackBuild @@ -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 {} \+ +cat $CWD/0007-zsh-configure-c99.patch | patch -p1 --verbose || exit 1 + CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ |