From 5a58981d914a4401dedd76e5506094220c3fe875 Mon Sep 17 00:00:00 2001 From: Daryl Ronningen Date: Mon, 11 Dec 2023 05:18:00 -0800 Subject: [PATCH] more package updates and changes --- .gitignore | 1 - acl/PKGBUILD | 28 + attr/PKGBUILD | 29 + base/PKGBUILD | 3 - bash/PKGBUILD | 2 +- blake2/PKGBUILD | 24 + busybox/PKGBUILD | 2 +- busybox/config | 10 +- bzip2/PKGBUILD | 4 +- curl/PKGBUILD | 2 +- expat/PKGBUILD | 2 + fakeroot/0001-musl-build.patch | 111 +++ fakeroot/0002-do-not-redefine-id_t.patch | 30 + fakeroot/PKGBUILD | 47 ++ fakeroot/fakeroot.install | 9 + file/PKGBUILD | 1 + findutils/PKGBUILD | 7 +- gawk/PKGBUILD | 1 + gmp/PKGBUILD | 2 +- grep/PKGBUILD | 3 +- libarchive/PKGBUILD | 1 + libatomic/PKGBUILD | 21 + libressl/PKGBUILD | 11 +- libseccomp/PKGBUILD | 24 + llvm-project/PKGBUILD | 16 +- lz4/PKGBUILD | 22 + lzlib/PKGBUILD | 28 + mpfr/PKGBUILD | 6 +- ...pedefs-for-Elf64_Relr-and-Elf32_Relr.patch | 4 +- musl/0002-scudo-add-necessary-plumbing.patch | 4 +- ...lingering-weak-symbols-we-don-t-want.patch | 4 +- ...-rely-on-system-headers-for-cpu-info.patch | 4 +- ...S64-symbol-aliases-replace-with-dyna.patch | 728 ++++++++++++++++++ ...S64-programming-interfaces-macro-onl.patch | 237 ++++++ musl/PKGBUILD | 19 +- musl/ld-musl.path | 1 + pacman/PKGBUILD | 9 +- pacman/pacman.conf | 4 +- pcre2/PKGBUILD | 1 + procps-ng/PKGBUILD | 7 +- readline/PKGBUILD | 25 +- readline/readline82-001.patch | 42 + readline/readline82-002.patch | 48 ++ readline/readline82-003.patch | 43 ++ readline/readline82-004.patch | 65 ++ readline/readline82-005.patch | 50 ++ readline/readline82-006.patch | 99 +++ readline/readline82-007.patch | 48 ++ zlib-ng/PKGBUILD | 1 + zstd/PKGBUILD | 17 +- 50 files changed, 1828 insertions(+), 79 deletions(-) create mode 100644 acl/PKGBUILD create mode 100644 attr/PKGBUILD create mode 100644 blake2/PKGBUILD create mode 100644 fakeroot/0001-musl-build.patch create mode 100644 fakeroot/0002-do-not-redefine-id_t.patch create mode 100644 fakeroot/PKGBUILD create mode 100644 fakeroot/fakeroot.install create mode 100644 libatomic/PKGBUILD create mode 100644 libseccomp/PKGBUILD create mode 100644 lz4/PKGBUILD create mode 100644 lzlib/PKGBUILD create mode 100644 musl/0005-Revert-remove-LFS64-symbol-aliases-replace-with-dyna.patch create mode 100644 musl/0006-Revert-remove-LFS64-programming-interfaces-macro-onl.patch create mode 100644 musl/ld-musl.path create mode 100644 readline/readline82-001.patch create mode 100644 readline/readline82-002.patch create mode 100644 readline/readline82-003.patch create mode 100644 readline/readline82-004.patch create mode 100644 readline/readline82-005.patch create mode 100644 readline/readline82-006.patch create mode 100644 readline/readline82-007.patch diff --git a/.gitignore b/.gitignore index b33b39b..d649eba 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ *tar.* pkg src -readline* *.tgz diff --git a/acl/PKGBUILD b/acl/PKGBUILD new file mode 100644 index 0000000..e596fa1 --- /dev/null +++ b/acl/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Daryl Ronningen + +pkgname=acl +pkgver=2.3.1 +pkgrel=1 +pkgdesc="Access control list utilities, libraries and headers" +arch=("x86_64") +url="https://savannah.nongnu.org/projects/acl" +license=("LGPL") +makedepends=("attr") +source=("https://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.gz") +sha256sums=("760c61c68901b37fdd5eefeeaf4c0c7a26bdfdd8ac747a1edff1ce0e243c11af") + +build() { + cd $pkgname-$pkgver + + ./configure \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR=$pkgdir install +} diff --git a/attr/PKGBUILD b/attr/PKGBUILD new file mode 100644 index 0000000..4cc064d --- /dev/null +++ b/attr/PKGBUILD @@ -0,0 +1,29 @@ +# Maintainer: Daryl Ronningen + +pkgname=attr +pkgver=2.5.1 +pkgrel=1 +pkgdesc="Extended attribute support library for ACL support" +arch=("x86_64") +url="https://savannah.nongnu.org/projects/attr" +license=("LGPL") +backup=("etc/xattr.conf") +source=("https://download.savannah.gnu.org/releases/$pkgname/$pkgname-$pkgver.tar.xz") +sha256sums=("db448a626f9313a1a970d636767316a8da32aede70518b8050fa0de7947adc32") + +build() { + cd $pkgname-$pkgver + + ./configure \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --prefix=/usr \ + --sysconfdir=/etc + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR=$pkgdir install +} diff --git a/base/PKGBUILD b/base/PKGBUILD index 5ab37f1..2bcbc00 100644 --- a/base/PKGBUILD +++ b/base/PKGBUILD @@ -21,9 +21,6 @@ depends=( # distro defined requirements "pacman" #"licenses" - - # libraries for tools - "ncurses" "readline" "xz" "zstd" "zlib-ng" "mpfr" "gmp" "pcre2" "bzip2" "libressl" "expat" "gzip" "curl" ) optdepends=( "linux: bare metal support" diff --git a/bash/PKGBUILD b/bash/PKGBUILD index 887f815..a5a7c47 100644 --- a/bash/PKGBUILD +++ b/bash/PKGBUILD @@ -37,7 +37,7 @@ build() { -DSYS_BASHRC=\'\"/etc/bash.bashrc\"\' -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\' -DNON_INTERACTIVE_LOGIN_SHELLS) - export CFLAGS="$CFLAGS $_bashconfig[@]" + export CFLAGS="$CFLAGS ${_bashconfig[@]}" ./configure \ --prefix=/usr \ diff --git a/blake2/PKGBUILD b/blake2/PKGBUILD new file mode 100644 index 0000000..3218e32 --- /dev/null +++ b/blake2/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Daryl Ronningen + +pkgname=blake2 +pkgver=0.98.1 +pkgrel=1 +pkgdesc="C library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp hash functions" +arch=("x86_64") +url="https://blake2.net/" +license=("custom:CC0") +source=("https://github.com/BLAKE2/libb2/releases/download/v$pkgver/libb2-$pkgver.tar.gz") +sha256sums=("53626fddce753c454a3fea581cbbc7fe9bbcf0bc70416d48fdbbf5d87ef6c72e") + +export CC="${CC-cc} $CFLAGS" + +build() { + cd libb2-$pkgver + ./configure --prefix=/usr --disable-static --enable-shared --disable-native --enable-fat + make +} + +package() { + cd libb2-$pkgver + make DESTDIR=$pkgdir install +} diff --git a/busybox/PKGBUILD b/busybox/PKGBUILD index d5e9571..f1cadb6 100644 --- a/busybox/PKGBUILD +++ b/busybox/PKGBUILD @@ -13,7 +13,7 @@ source=( ) sha256sums=( "b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314" - "035fb8b3a475a9264a4c443ab83f123a40d758ae7d969e59523985a4f9070376" + "690096523071b0074fc62db2c6308b2853d7a2a081b7103c2117cd4f33f98d9f" ) build() { diff --git a/busybox/config b/busybox/config index 6332f64..9646787 100644 --- a/busybox/config +++ b/busybox/config @@ -838,7 +838,7 @@ CONFIG_READAHEAD=y CONFIG_RUNLEVEL=y CONFIG_RX=y CONFIG_SEEDRNG=y -CONFIG_SETFATTR=y +# CONFIG_SETFATTR is not set CONFIG_SETSERIAL=y # CONFIG_STRINGS is not set CONFIG_TIME=y @@ -945,11 +945,11 @@ CONFIG_FAKEIDENTD=y CONFIG_NAMEIF=y CONFIG_FEATURE_NAMEIF_EXTENDED=y CONFIG_NBDCLIENT=y -CONFIG_NC=y +# CONFIG_NC is not set # CONFIG_NETCAT is not set -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -CONFIG_NC_110_COMPAT=y +# CONFIG_NC_SERVER is not set +# CONFIG_NC_EXTRA is not set +# CONFIG_NC_110_COMPAT is not set CONFIG_NETSTAT=y CONFIG_FEATURE_NETSTAT_WIDE=y CONFIG_FEATURE_NETSTAT_PRG=y diff --git a/bzip2/PKGBUILD b/bzip2/PKGBUILD index 59a7582..4ec1e77 100644 --- a/bzip2/PKGBUILD +++ b/bzip2/PKGBUILD @@ -13,8 +13,8 @@ sha256sums=("ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269") build() { cd $pkgname-$pkgver - make -f Makefile-libbz2_so - make + make CC=cc -f Makefile-libbz2_so + make CC=cc } package() { diff --git a/curl/PKGBUILD b/curl/PKGBUILD index bf07281..2e41703 100644 --- a/curl/PKGBUILD +++ b/curl/PKGBUILD @@ -7,6 +7,7 @@ pkgdesc="command line tool and library for transferring data with URLs" arch=("x86_64") url="https://curl.se/" license=("MIT") +depends=("libressl" "zstd" "zlib-ng") source=("https://github.com/curl/curl/releases/download/curl-${pkgver//./_}/curl-$pkgver.tar.xz") sha256sums=("42ab8db9e20d8290a3b633e7fbb3cec15db34df65fd1015ef8ac1e4723750eeb") @@ -22,7 +23,6 @@ build() { --enable-ipv6 \ --enable-threaded-resolver \ --with-gssapi \ - --with-libssh2 \ --with-random="/dev/urandom" \ --with-openssl \ --disable-versioned-symbols diff --git a/expat/PKGBUILD b/expat/PKGBUILD index f9bdf67..e3a5172 100644 --- a/expat/PKGBUILD +++ b/expat/PKGBUILD @@ -7,6 +7,7 @@ pkgdesc="An XML parser library" arch=("x86_64") url="https://libexpat.github.io/" license=("MIT") +makedepends=("cmake" "ninja") source=("https://github.com/libexpat/libexpat/releases/download/R_${pkgver//./_}/$pkgname-$pkgver.tar.bz2") sha256sums=("6f0e6e01f7b30025fa05c85fdad1e5d0ec7fd35d9f61b22f34998de11969ff67") @@ -15,6 +16,7 @@ build() { cmake -G Ninja \ -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_BUILD_TYPE=Release \ -B build diff --git a/fakeroot/0001-musl-build.patch b/fakeroot/0001-musl-build.patch new file mode 100644 index 0000000..c5dc6d9 --- /dev/null +++ b/fakeroot/0001-musl-build.patch @@ -0,0 +1,111 @@ +From 8b754551389ec6faa44f04ba0cd785f0e6a588fd Mon Sep 17 00:00:00 2001 +From: Daniel Kolesa +Date: Sat, 6 Nov 2021 19:15:09 +0100 +Subject: [PATCH 1/2] musl build + +--- + communicate.h | 3 --- + configure | 2 +- + doc/Makefile.in | 2 +- + faked.c | 8 ++++---- + libfakeroot.c | 2 ++ + 5 files changed, 8 insertions(+), 9 deletions(-) + +diff --git a/communicate.h b/communicate.h +index a586108..e4138b7 100644 +--- a/communicate.h ++++ b/communicate.h +@@ -69,9 +69,6 @@ + || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__) + # define STAT64_SUPPORT + #else +-# ifndef __APPLE__ +-# warning Not using stat64 support +-# endif + /* if glibc is 2.0 or older, undefine these again */ + # undef STAT64_SUPPORT + # undef _LARGEFILE64_SOURCE +diff --git a/configure b/configure +index 75627a0..c8cba08 100755 +--- a/configure ++++ b/configure +@@ -14468,7 +14468,7 @@ for SEARCH in %stat f%stat l%stat f%statat %stat64 f%stat64 l%stat64 f%statat64 + FUNC=`echo $SEARCH|sed -e 's/.*%//'` + PRE=`echo $SEARCH|sed -e 's/%.*//'` + FOUND= +- for WRAPPED in __${PRE}x${FUNC} _${PRE}x${FUNC} __${PRE}${FUNC}13 ${PRE}${FUNC} __${PRE}${FUNC}; do ++ for WRAPPED in ${PRE}${FUNC} __${PRE}${FUNC}; do + + for ac_func in $WRAPPED + do : +diff --git a/doc/Makefile.in b/doc/Makefile.in +index 2934c85..6e20a9e 100644 +--- a/doc/Makefile.in ++++ b/doc/Makefile.in +@@ -346,7 +346,7 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + AUTOMAKE_OPTIONS = foreign +-SUBDIRS = de es fr nl pt ro sv ++SUBDIRS = + man_MANS = faked.1 fakeroot.1 + + #another automake bug workaround +diff --git a/faked.c b/faked.c +index ea51a23..b595a38 100644 +--- a/faked.c ++++ b/faked.c +@@ -615,11 +615,11 @@ int save_database(const uint32_t remote) + + #ifdef FAKEROOT_DB_PATH + if (find_path(i->buf.dev, i->buf.ino, roots, path)) +- fprintf(f,"mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu %s\n", ++ fprintf(f,"mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" %s\n", + (uint64_t) i->buf.mode,(uint64_t) i->buf.uid,(uint64_t) i->buf.gid, + (uint64_t) i->buf.nlink,(uint64_t) i->buf.rdev,path); + #else +- fprintf(f,"dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n", ++ fprintf(f,"dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n", + (uint64_t) i->buf.dev,(uint64_t) i->buf.ino,(uint64_t) i->buf.mode, + (uint64_t) i->buf.uid,(uint64_t) i->buf.gid,(uint64_t) i->buf.nlink, + (uint64_t) i->buf.rdev); +@@ -645,7 +645,7 @@ int load_database(const uint32_t remote) + + while(1){ + #ifdef FAKEROOT_DB_PATH +- r=scanf("mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu "DB_PATH_SCAN"\n", ++ r=scanf("mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64" "DB_PATH_SCAN"\n", + &stmode, &stuid, &stgid, &stnlink, &strdev, &path); + if (r != 6) + break; +@@ -660,7 +660,7 @@ int load_database(const uint32_t remote) + stdev = path_st.st_dev; + stino = path_st.st_ino; + #else +- r=scanf("dev=%llx,ino=%llu,mode=%llo,uid=%llu,gid=%llu,nlink=%llu,rdev=%llu\n", ++ r=scanf("dev=%"PRIx64",ino=%"PRIu64",mode=%"PRIo64",uid=%"PRIu64",gid=%"PRIu64",nlink=%"PRIu64",rdev=%"PRIu64"\n", + &stdev, &stino, &stmode, &stuid, &stgid, &stnlink, &strdev); + if (r != 7) + break; +diff --git a/libfakeroot.c b/libfakeroot.c +index f821ad5..32dade8 100644 +--- a/libfakeroot.c ++++ b/libfakeroot.c +@@ -86,12 +86,14 @@ + #define SEND_STAT64(a,b,c) send_stat64(a,b,c) + #define SEND_GET_STAT(a,b) send_get_stat(a,b) + #define SEND_GET_STAT64(a,b) send_get_stat64(a,b) ++#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b,c) + #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b,c) + #else + #define SEND_STAT(a,b,c) send_stat(a,b) + #define SEND_STAT64(a,b,c) send_stat64(a,b) + #define SEND_GET_STAT(a,b) send_get_stat(a) + #define SEND_GET_STAT64(a,b) send_get_stat64(a) ++#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b) + #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b) + #endif + +-- +2.43.0 + diff --git a/fakeroot/0002-do-not-redefine-id_t.patch b/fakeroot/0002-do-not-redefine-id_t.patch new file mode 100644 index 0000000..ee1bf89 --- /dev/null +++ b/fakeroot/0002-do-not-redefine-id_t.patch @@ -0,0 +1,30 @@ +From b32a0c3fc5ce209751e5a139d9c39628a85db48a Mon Sep 17 00:00:00 2001 +From: Daryl Ronningen +Date: Mon, 11 Dec 2023 05:01:10 -0800 +Subject: [PATCH 2/2] do not redefine id_t + +--- + libfakeroot.c | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/libfakeroot.c b/libfakeroot.c +index 32dade8..52607a7 100644 +--- a/libfakeroot.c ++++ b/libfakeroot.c +@@ -141,13 +141,6 @@ + #define INT_SEND_STAT(a,b) SEND_STAT(a,b,_STAT_VER) + #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER) + #define INT_SEND_GET_STAT(a,b) SEND_GET_STAT(a,b) +- +-/* 10.10 uses id_t in getpriority/setpriority calls, so pretend +- id_t is used everywhere, just happens to be int on some OSes */ +-#ifndef _ID_T +-#define _ID_T +-typedef int id_t; +-#endif + #endif + + #include +-- +2.43.0 + diff --git a/fakeroot/PKGBUILD b/fakeroot/PKGBUILD new file mode 100644 index 0000000..395af69 --- /dev/null +++ b/fakeroot/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Daryl Ronningen + +pkgname=fakeroot +pkgver=1.32.2 +pkgrel=1 +pkgdesc="Tool for simulating superuser privileges" +arch=("x86_64") +url="https://tracker.debian.org/pkg/fakeroot" +license=("GPL") +#depends=("sed" "util-linux") +install=fakeroot.install +source=( + "https://deb.debian.org/debian/pool/main/f/$pkgname/${pkgname}_${pkgver}.orig.tar.gz" + "0001-musl-build.patch" + "0002-do-not-redefine-id_t.patch" +) +sha256sums=( + "f0f72b504f288eea5b043cd5fe37585bc163f5acaacd386e1976b1055686116d" + "45eed64e0411bd1217ee3e0fade94dc299847f00993844bf3834412cf906db91" + "81f0c5c2bc2683d1f698ea4497215ac416bf55ca868726148bcfb13769da1b7a" +) + +prepare() { + cd $pkgname-$pkgver + + patch -p1 <$srcdir/0001-musl-build.patch + patch -p1 <$srcdir/0002-do-not-redefine-id_t.patch +} + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr \ + --libdir=/usr/lib/libfakeroot \ + --disable-static \ + --with-ipc=sysv + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + # install README for sysv/tcp usage + install -Dm0644 README "$pkgdir/usr/share/doc/$pkgname/README" +} diff --git a/fakeroot/fakeroot.install b/fakeroot/fakeroot.install new file mode 100644 index 0000000..31d95f3 --- /dev/null +++ b/fakeroot/fakeroot.install @@ -0,0 +1,9 @@ +#!/bin/sh + +post_install() { + echo '/usr/lib/libfakeroot' >>/etc/ld-musl-$(uname -m).path +} + +pre_remove() { + sed -i '/^\/usr\/lib\/libfakeroot$/d' /etc/ld-musl-$(uname -m).path +} diff --git a/file/PKGBUILD b/file/PKGBUILD index dc55578..3b0b120 100644 --- a/file/PKGBUILD +++ b/file/PKGBUILD @@ -7,6 +7,7 @@ pkgdesc="File type identification utility" arch=("x86_64") url="https://www.darwinsys.com/file/" license=("custom") +depends=("lzlib" "zstd" "xz" "bzip2" "zlib-ng" "libseccomp") source=("https://astron.com/pub/$pkgname/$pkgname-$pkgver.tar.gz") sha256sums=("fc97f51029bb0e2c9f4e3bffefdaf678f0e039ee872b9de5c002a6d09c784d82") diff --git a/findutils/PKGBUILD b/findutils/PKGBUILD index 2aca951..0622cf9 100644 --- a/findutils/PKGBUILD +++ b/findutils/PKGBUILD @@ -7,17 +7,20 @@ pkgdesc="GNU utilities to locate files" arch=("x86_64") url="https://www.gnu.org/software/findutils/" license=("GPL3") -source=("https://ftp.gnu.org/pub/gnu/findutils/findutils-${pkgver}.tar.xz") +source=("https://ftp.gnu.org/pub/gnu/findutils/findutils-$pkgver.tar.xz") sha256sums=("a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe") build() { cd $pkgname-$pkgver - ./configure --prefix=/usr + ./configure --prefix=/usr --libexecdir=/usr/lib --enable-leaf-optimisation --enable-d_type-optimization make } package() { cd $pkgname-$pkgver make DESTDIR=$pkgdir install + + # mlocate instead + rm -rf $pkgdir/usr/bin/{locate,updatedb} } diff --git a/gawk/PKGBUILD b/gawk/PKGBUILD index 3d63cab..a20bb1c 100644 --- a/gawk/PKGBUILD +++ b/gawk/PKGBUILD @@ -7,6 +7,7 @@ pkgdesc="GNU version of awk" arch=("x86_64") url="https://www.gnu.org/software/gawk/" license=("GPL") +depends=("readline" "mpfr" "gmp" "ncurses") source=("https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz") sha256sums=("378f8864ec21cfceaa048f7e1869ac9b4597b449087caf1eb55e440d30273336") diff --git a/gmp/PKGBUILD b/gmp/PKGBUILD index ef813e1..c8a10d1 100644 --- a/gmp/PKGBUILD +++ b/gmp/PKGBUILD @@ -6,7 +6,7 @@ pkgrel=1 pkgdesc="A free library for arbitrary precision arithmetic" arch=("x86_64") url="https://gmplib.org/" -license=(LGPL3 GPL) +license=("LGPL3" "GPL") source=("https://gmplib.org/download/gmp/gmp-$pkgver.tar.lz") sha256sums=("be5c908a7a836c3a9bd9d62aa58563c5e9e7fef94c43a7f42dbc35bb6d02733c") diff --git a/grep/PKGBUILD b/grep/PKGBUILD index 252d6c7..ce93aee 100644 --- a/grep/PKGBUILD +++ b/grep/PKGBUILD @@ -5,8 +5,9 @@ pkgver=3.11 pkgrel=1 pkgdesc="A string search utility" arch=("x86_64") -license=("GPL3") url="https://www.gnu.org/software/grep/" +license=("GPL3") +depends=("pcre2") source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz") sha256sums=("1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab") diff --git a/libarchive/PKGBUILD b/libarchive/PKGBUILD index 7711d1a..53c90e3 100644 --- a/libarchive/PKGBUILD +++ b/libarchive/PKGBUILD @@ -7,6 +7,7 @@ pkgdesc="Multi-format archive and compression library" arch=("x86_64") url="https://libarchive.org/" license=("BSD") +depends=("libressl" "acl" "expat" "xz" "zstd" "lz4" "blake2" "bzip2" "zlib-ng") provides=("tar") source=("https://github.com/$pkgname/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.xz") sha256sums=("04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb") diff --git a/libatomic/PKGBUILD b/libatomic/PKGBUILD new file mode 100644 index 0000000..17be6f1 --- /dev/null +++ b/libatomic/PKGBUILD @@ -0,0 +1,21 @@ +# Maintainer: Daryl Ronningen + +pkgname=libatomic +pkgver=0.90.0 +pkgrel=1 +pkgdesc="An implementation of libatomic" +arch=("x86_64") +url="https://github.com/chimera-linux/libatomic-chimera" +license=("APACHE-2.0") +source=("https://github.com/chimera-linux/libatomic-chimera/archive/refs/tags/v$pkgver.tar.gz") +sha256sums=("fccbd8c0ef7fd473275f835b3fca9275fb27a0c196cdcdff1f6d14ab12ed3a53") + +build() { + cd $pkgname-chimera-$pkgver + make PREFIX=$pkgver/usr +} + +package() { + cd $pkgname-chimera-$pkgver + make PREFIX=$pkgdir/usr install +} diff --git a/libressl/PKGBUILD b/libressl/PKGBUILD index 61bba6c..d7001fd 100644 --- a/libressl/PKGBUILD +++ b/libressl/PKGBUILD @@ -8,24 +8,19 @@ arch=("x86_64") url="https://www.libressl.org/" license=(ISC custom:OpenSSL) optdepends=("ca-certificates") -backup=("etc/libressl/openssl.cnf") source=("https://cdn.openbsd.org/pub/OpenBSD/LibreSSL/libressl-$pkgver.tar.gz") sha256sums=('6d4b8d5bbb25a1f8336639e56ec5088052d43a95256697a85c4ce91323c25954') -prepare() { - cd $pkgname-$pkgver - autoreconf -vfi -} - build() { cd $pkgname-$pkgver ./configure \ - --prefix=/usr + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-nc make } package() { cd $pkgname-$pkgver make DESTDIR=$pkgdir install - install -Dm644 COPYING -t $pkgdir/usr/share/licenses/$pkgname/ } diff --git a/libseccomp/PKGBUILD b/libseccomp/PKGBUILD new file mode 100644 index 0000000..b8adf92 --- /dev/null +++ b/libseccomp/PKGBUILD @@ -0,0 +1,24 @@ +# Maintainer: Daryl Ronningen + +pkgname=libseccomp +pkgver=2.5.5 +pkgrel=1 +pkgdesc="Enhanced seccomp library" +arch=("x86_64") +url="https://github.com/seccomp/libseccomp" +license=("LGPL2.1") +source=("https://github.com/seccomp/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz") +sha256sums=("248a2c8a4d9b9858aa6baf52712c34afefcf9c9e94b76dce02c1c9aa25fb3375") + +build() { + cd $pkgbase-$pkgver + + ./configure --prefix=/usr + make +} + +package() { + cd $pkgbase-$pkgver + + make DESTDIR=$pkgdir install +} diff --git a/llvm-project/PKGBUILD b/llvm-project/PKGBUILD index 8b5252d..acc4ceb 100644 --- a/llvm-project/PKGBUILD +++ b/llvm-project/PKGBUILD @@ -13,8 +13,9 @@ pkgdesc="collection of modular and reusable compiler and toolchain technologies. arch=("x86_64") url="https://llvm.org" license=("LLVM-exception") -depends=("zlib-ng") -makedepends=() +depends=("zlib-ng" "libatomic") +makedepends=("cmake" "ninja") +options=("staticlibs") source=( "https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/llvm-project-$pkgver.src.tar.xz" "0001-clang-add-fortify-include-paths-for-musl-triplets-en.patch" @@ -52,7 +53,8 @@ build() { -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr - -DCMAKE_INSTALL_LIBDIR=lib + -DCMAKE_INSTALL_LIBDIR=/usr/lib + -DCMAKE_PREFIX_PATH=/usr -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-pc-linux-musl -DLLVM_HOST_TRIPLE=x86_64-pc-linux-musl @@ -120,18 +122,24 @@ build() { } package_llvm() { + pkgdesc+=" (Default LLVM libraries)" + cd $pkgbase-$pkgver.src DESTDIR=$pkgdir ninja -C build-llvm install } package_llvm-runtimes() { + pkgdesc+=" (C++, Unwind and Atomic Runtimes)" + cd $pkgbase-$pkgver.src DESTDIR=$pkgdir ninja -C build-llvm-runtimes install } package_clang() { + pkgdesc+=" (Default System C/C++ Compiler)" + cd $pkgbase-$pkgver.src DESTDIR=$pkgdir ninja -C build-clang install @@ -142,6 +150,8 @@ package_clang() { } package_lld() { + pkgdesc+=" (Default Syetem Linker)" + cd $pkgbase-$pkgver.src DESTDIR=$pkgdir ninja -C build-lld install diff --git a/lz4/PKGBUILD b/lz4/PKGBUILD new file mode 100644 index 0000000..d58b00b --- /dev/null +++ b/lz4/PKGBUILD @@ -0,0 +1,22 @@ +# Maintainer: Daryl Ronningen + +pkgname=lz4 +pkgver=1.9.4 +pkgrel=1 +pkgdesc="Extremely fast compression algorithm" +arch=("x86_64") +url="https://lz4.github.io/lz4/" +license=("GPL2") +source=("https://github.com/lz4/lz4/releases/download/v$pkgver/lz4-$pkgver.tar.gz") +sha256sums=("0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b") + +build() { + cd $pkgname-$pkgver + make -C lib PREFIX=/usr + make -C programs PREFIX=/usr lz4 lz4c +} + +package() { + cd $pkgname-$pkgver + make install PREFIX=/usr DESTDIR=$pkgdir +} diff --git a/lzlib/PKGBUILD b/lzlib/PKGBUILD new file mode 100644 index 0000000..1e0162c --- /dev/null +++ b/lzlib/PKGBUILD @@ -0,0 +1,28 @@ +# Maintainer: Daryl Ronningen + +pkgname=lzlib +pkgver=1.13 +pkgrel=1 +pkgdesc="A library providing in-memory LZMA compression and decompression functions" +arch=("x86_64") +url="http://www.nongnu.org/lzip/lzlib.html" +license=("BSD") +source=("https://download.savannah.gnu.org/releases/lzip/$pkgname/$pkgname-$pkgver.tar.gz") +sha256sums=("a1ab58f3148ba4b2674e938438166042137a9275bed747306641acfddc9ffb80") + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr --enable-shared + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR=$pkgdir install{,-man} + + install -Dm755 minilzip $pkgdir/usr/bin/minilzip + + install -Dm644 COPYING $pkgdir/usr/share/licenses/$pkgname/COPYING +} diff --git a/mpfr/PKGBUILD b/mpfr/PKGBUILD index a1dd7a4..e21d343 100644 --- a/mpfr/PKGBUILD +++ b/mpfr/PKGBUILD @@ -6,10 +6,8 @@ pkgrel=1 pkgdesc="Multiple-precision floating-point library" arch=("x86_64") url="https://www.mpfr.org/" -license=( - GPL-3.0-or-later - LGPL-3.0-or-later -) +license=("GPL-3.0-or-later" "LGPL-3.0-or-later") +depends=("gmp") source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz") sha256sums=('277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2') diff --git a/musl/0001-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch b/musl/0001-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch index 06b6414..e06da1a 100644 --- a/musl/0001-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch +++ b/musl/0001-elf.h-add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch @@ -1,7 +1,7 @@ -From 5ff8adc05ce929726c60edc3a5bf9a936a6dfe7c Mon Sep 17 00:00:00 2001 +From 5c69c0aef233a2945916a09a16e1e5e1892a7e58 Mon Sep 17 00:00:00 2001 From: Violet Purcell Date: Sat, 4 Nov 2023 12:09:20 -0400 -Subject: [PATCH 1/4] elf.h: add typedefs for Elf64_Relr and Elf32_Relr +Subject: [PATCH 1/6] elf.h: add typedefs for Elf64_Relr and Elf32_Relr These were overlooked when DT_RELR was added in commit d32dadd60efb9d3b255351a3b532f8e4c3dd0db1, potentially breaking diff --git a/musl/0002-scudo-add-necessary-plumbing.patch b/musl/0002-scudo-add-necessary-plumbing.patch index 20a534e..03f2687 100644 --- a/musl/0002-scudo-add-necessary-plumbing.patch +++ b/musl/0002-scudo-add-necessary-plumbing.patch @@ -1,7 +1,7 @@ -From e8cb1cb5235c8b928893305fe18e896411f4979b Mon Sep 17 00:00:00 2001 +From 7861991a3c003faf60ac185caf4f08e01077b0aa Mon Sep 17 00:00:00 2001 From: Daryl Ronningen Date: Fri, 8 Dec 2023 12:31:42 -0800 -Subject: [PATCH 2/4] scudo: add necessary plumbing +Subject: [PATCH 2/6] scudo: add necessary plumbing --- Makefile | 31 ++++++++++++++-- diff --git a/musl/0003-scudo-clean-up-lingering-weak-symbols-we-don-t-want.patch b/musl/0003-scudo-clean-up-lingering-weak-symbols-we-don-t-want.patch index ae4e0e4..79d776f 100644 --- a/musl/0003-scudo-clean-up-lingering-weak-symbols-we-don-t-want.patch +++ b/musl/0003-scudo-clean-up-lingering-weak-symbols-we-don-t-want.patch @@ -1,7 +1,7 @@ -From 2619aa091426b124e91e631e4214f0d3a85bb251 Mon Sep 17 00:00:00 2001 +From ab2da75af3f57c3090da91f98c23935af17cfa5d Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Fri, 9 Dec 2022 00:15:57 +0100 -Subject: [PATCH 3/4] scudo: clean up lingering weak symbols we don't want +Subject: [PATCH 3/6] scudo: clean up lingering weak symbols we don't want --- src/malloc/scudo/checksum.h | 2 +- diff --git a/musl/0004-do-not-rely-on-system-headers-for-cpu-info.patch b/musl/0004-do-not-rely-on-system-headers-for-cpu-info.patch index 7dfe11d..c5f2393 100644 --- a/musl/0004-do-not-rely-on-system-headers-for-cpu-info.patch +++ b/musl/0004-do-not-rely-on-system-headers-for-cpu-info.patch @@ -1,7 +1,7 @@ -From 78ca6e5e5fe60bff41b5792a4734e2cba1ced8be Mon Sep 17 00:00:00 2001 +From 2afaade4b554fa0d5aedfb121f37f039f1fe4a4a Mon Sep 17 00:00:00 2001 From: Daniel Kolesa Date: Sat, 10 Dec 2022 17:24:17 +0100 -Subject: [PATCH 4/4] do not rely on system headers for cpu info +Subject: [PATCH 4/6] do not rely on system headers for cpu info --- src/malloc/scudo/checksum.cpp | 32 +++++++++++++++++++++++--------- diff --git a/musl/0005-Revert-remove-LFS64-symbol-aliases-replace-with-dyna.patch b/musl/0005-Revert-remove-LFS64-symbol-aliases-replace-with-dyna.patch new file mode 100644 index 0000000..340722a --- /dev/null +++ b/musl/0005-Revert-remove-LFS64-symbol-aliases-replace-with-dyna.patch @@ -0,0 +1,728 @@ +From fb4380062eedf5c477c40af3c42663b49eb6ca8f Mon Sep 17 00:00:00 2001 +From: psykose +Date: Tue, 11 Apr 2023 19:51:56 +0200 +Subject: [PATCH 5/6] Revert "remove LFS64 symbol aliases; replace with dynamic + linker remapping" + +This reverts commit 246f1c811448f37a44b41cd8df8d0ef9736d95f4. +--- + compat/time32/__xstat.c | 8 +++---- + compat/time32/aio_suspend_time32.c | 2 ++ + compat/time32/fstat_time32.c | 2 ++ + compat/time32/fstatat_time32.c | 2 ++ + compat/time32/lstat_time32.c | 2 ++ + compat/time32/stat_time32.c | 2 ++ + ldso/dynlink.c | 35 ------------------------------ + src/aio/aio.c | 7 ++++++ + src/aio/aio_suspend.c | 4 ++++ + src/aio/lio_listio.c | 2 ++ + src/dirent/alphasort.c | 2 ++ + src/dirent/readdir.c | 2 ++ + src/dirent/readdir_r.c | 2 ++ + src/dirent/scandir.c | 2 ++ + src/dirent/versionsort.c | 3 +++ + src/fcntl/creat.c | 2 ++ + src/fcntl/open.c | 2 ++ + src/fcntl/openat.c | 2 ++ + src/fcntl/posix_fadvise.c | 2 ++ + src/fcntl/posix_fallocate.c | 2 ++ + src/legacy/ftw.c | 2 ++ + src/linux/fallocate.c | 3 +++ + src/linux/getdents.c | 2 ++ + src/linux/prlimit.c | 3 +++ + src/linux/sendfile.c | 2 ++ + src/misc/getrlimit.c | 2 ++ + src/misc/lockf.c | 2 ++ + src/misc/nftw.c | 2 ++ + src/misc/setrlimit.c | 2 ++ + src/mman/mmap.c | 2 ++ + src/regex/glob.c | 3 +++ + src/stat/__xstat.c | 5 +++++ + src/stat/fstat.c | 4 ++++ + src/stat/fstatat.c | 4 ++++ + src/stat/lstat.c | 4 ++++ + src/stat/stat.c | 4 ++++ + src/stat/statvfs.c | 5 +++++ + src/stdio/fgetpos.c | 2 ++ + src/stdio/fopen.c | 2 ++ + src/stdio/freopen.c | 2 ++ + src/stdio/fseek.c | 2 ++ + src/stdio/fsetpos.c | 2 ++ + src/stdio/ftell.c | 2 ++ + src/stdio/tmpfile.c | 2 ++ + src/temp/mkostemp.c | 2 ++ + src/temp/mkostemps.c | 1 + + src/temp/mkstemp.c | 2 ++ + src/temp/mkstemps.c | 2 ++ + src/unistd/ftruncate.c | 2 ++ + src/unistd/lseek.c | 1 + + src/unistd/mipsn32/lseek.c | 1 + + src/unistd/pread.c | 2 ++ + src/unistd/preadv.c | 2 ++ + src/unistd/pwrite.c | 2 ++ + src/unistd/pwritev.c | 2 ++ + src/unistd/truncate.c | 2 ++ + src/unistd/x32/lseek.c | 1 + + 57 files changed, 135 insertions(+), 39 deletions(-) + +diff --git a/compat/time32/__xstat.c b/compat/time32/__xstat.c +index e52b5deb..acfbd3cc 100644 +--- a/compat/time32/__xstat.c ++++ b/compat/time32/__xstat.c +@@ -3,22 +3,22 @@ + + struct stat32; + +-int __fxstat(int ver, int fd, struct stat32 *buf) ++int __fxstat64(int ver, int fd, struct stat32 *buf) + { + return __fstat_time32(fd, buf); + } + +-int __fxstatat(int ver, int fd, const char *path, struct stat32 *buf, int flag) ++int __fxstatat64(int ver, int fd, const char *path, struct stat32 *buf, int flag) + { + return __fstatat_time32(fd, path, buf, flag); + } + +-int __lxstat(int ver, const char *path, struct stat32 *buf) ++int __lxstat64(int ver, const char *path, struct stat32 *buf) + { + return __lstat_time32(path, buf); + } + +-int __xstat(int ver, const char *path, struct stat32 *buf) ++int __xstat64(int ver, const char *path, struct stat32 *buf) + { + return __stat_time32(path, buf); + } +diff --git a/compat/time32/aio_suspend_time32.c b/compat/time32/aio_suspend_time32.c +index d99cb651..ed5119bd 100644 +--- a/compat/time32/aio_suspend_time32.c ++++ b/compat/time32/aio_suspend_time32.c +@@ -7,3 +7,5 @@ int __aio_suspend_time32(const struct aiocb *const cbs[], int cnt, const struct + return aio_suspend(cbs, cnt, ts32 ? (&(struct timespec){ + .tv_sec = ts32->tv_sec, .tv_nsec = ts32->tv_nsec}) : 0); + } ++ ++weak_alias(aio_suspend, aio_suspend64); +diff --git a/compat/time32/fstat_time32.c b/compat/time32/fstat_time32.c +index e5d52022..3e084398 100644 +--- a/compat/time32/fstat_time32.c ++++ b/compat/time32/fstat_time32.c +@@ -13,3 +13,5 @@ int __fstat_time32(int fd, struct stat32 *restrict st32) + if (!r) memcpy(st32, &st, offsetof(struct stat, st_atim)); + return r; + } ++ ++weak_alias(fstat, fstat64); +diff --git a/compat/time32/fstatat_time32.c b/compat/time32/fstatat_time32.c +index 31d42e63..85dcb008 100644 +--- a/compat/time32/fstatat_time32.c ++++ b/compat/time32/fstatat_time32.c +@@ -13,3 +13,5 @@ int __fstatat_time32(int fd, const char *restrict path, struct stat32 *restrict + if (!r) memcpy(st32, &st, offsetof(struct stat, st_atim)); + return r; + } ++ ++weak_alias(fstatat, fstatat64); +diff --git a/compat/time32/lstat_time32.c b/compat/time32/lstat_time32.c +index 28cb5a0b..c1257a14 100644 +--- a/compat/time32/lstat_time32.c ++++ b/compat/time32/lstat_time32.c +@@ -13,3 +13,5 @@ int __lstat_time32(const char *restrict path, struct stat32 *restrict st32) + if (!r) memcpy(st32, &st, offsetof(struct stat, st_atim)); + return r; + } ++ ++weak_alias(lstat, lstat64); +diff --git a/compat/time32/stat_time32.c b/compat/time32/stat_time32.c +index b154b0f9..8c6121da 100644 +--- a/compat/time32/stat_time32.c ++++ b/compat/time32/stat_time32.c +@@ -13,3 +13,5 @@ int __stat_time32(const char *restrict path, struct stat32 *restrict st32) + if (!r) memcpy(st32, &st, offsetof(struct stat, st_atim)); + return r; + } ++ ++weak_alias(stat, stat64); +diff --git a/ldso/dynlink.c b/ldso/dynlink.c +index ceca3c98..0ae3e945 100644 +--- a/ldso/dynlink.c ++++ b/ldso/dynlink.c +@@ -343,40 +343,6 @@ static struct symdef find_sym(struct dso *dso, const char *s, int need_def) + return find_sym2(dso, s, need_def, 0); + } + +-static struct symdef get_lfs64(const char *name) +-{ +- const char *p; +- static const char lfs64_list[] = +- "aio_cancel\0aio_error\0aio_fsync\0aio_read\0aio_return\0" +- "aio_suspend\0aio_write\0alphasort\0creat\0fallocate\0" +- "fgetpos\0fopen\0freopen\0fseeko\0fsetpos\0fstat\0" +- "fstatat\0fstatfs\0fstatvfs\0ftello\0ftruncate\0ftw\0" +- "getdents\0getrlimit\0glob\0globfree\0lio_listio\0" +- "lockf\0lseek\0lstat\0mkostemp\0mkostemps\0mkstemp\0" +- "mkstemps\0mmap\0nftw\0open\0openat\0posix_fadvise\0" +- "posix_fallocate\0pread\0preadv\0prlimit\0pwrite\0" +- "pwritev\0readdir\0scandir\0sendfile\0setrlimit\0" +- "stat\0statfs\0statvfs\0tmpfile\0truncate\0versionsort\0" +- "__fxstat\0__fxstatat\0__lxstat\0__xstat\0"; +- size_t l; +- char buf[16]; +- for (l=0; name[l]; l++) { +- if (l >= sizeof buf) goto nomatch; +- buf[l] = name[l]; +- } +- if (!strcmp(name, "readdir64_r")) +- return find_sym(&ldso, "readdir_r", 1); +- if (l<2 || name[l-2]!='6' || name[l-1]!='4') +- goto nomatch; +- buf[l-=2] = 0; +- for (p=lfs64_list; *p; p++) { +- if (!strcmp(buf, p)) return find_sym(&ldso, buf, 1); +- while (*p) p++; +- } +-nomatch: +- return (struct symdef){ 0 }; +-} +- + static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stride) + { + unsigned char *base = dso->base; +@@ -430,7 +396,6 @@ static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stri + def = (sym->st_info>>4) == STB_LOCAL + ? (struct symdef){ .dso = dso, .sym = sym } + : find_sym(ctx, name, type==REL_PLT); +- if (!def.sym) def = get_lfs64(name); + if (!def.sym && (sym->st_shndx != SHN_UNDEF + || sym->st_info>>4 != STB_WEAK)) { + if (dso->lazy && (type==REL_PLT || type==REL_GOT)) { +diff --git a/src/aio/aio.c b/src/aio/aio.c +index d7e063bf..37309d34 100644 +--- a/src/aio/aio.c ++++ b/src/aio/aio.c +@@ -430,3 +430,10 @@ void __aio_atfork(int who) + * We are not a lock holder anyway; the thread in the parent was. */ + pthread_rwlock_init(&maplock, 0); + } ++ ++weak_alias(aio_cancel, aio_cancel64); ++weak_alias(aio_error, aio_error64); ++weak_alias(aio_fsync, aio_fsync64); ++weak_alias(aio_read, aio_read64); ++weak_alias(aio_write, aio_write64); ++weak_alias(aio_return, aio_return64); +diff --git a/src/aio/aio_suspend.c b/src/aio/aio_suspend.c +index 1f0c9aaa..290b43f2 100644 +--- a/src/aio/aio_suspend.c ++++ b/src/aio/aio_suspend.c +@@ -73,3 +73,7 @@ int aio_suspend(const struct aiocb *const cbs[], int cnt, const struct timespec + } + } + } ++ ++#if !_REDIR_TIME64 ++weak_alias(aio_suspend, aio_suspend64); ++#endif +diff --git a/src/aio/lio_listio.c b/src/aio/lio_listio.c +index a672812f..0799c15d 100644 +--- a/src/aio/lio_listio.c ++++ b/src/aio/lio_listio.c +@@ -139,3 +139,5 @@ int lio_listio(int mode, struct aiocb *restrict const *restrict cbs, int cnt, st + + return 0; + } ++ ++weak_alias(lio_listio, lio_listio64); +diff --git a/src/dirent/alphasort.c b/src/dirent/alphasort.c +index ab2624e2..bee672eb 100644 +--- a/src/dirent/alphasort.c ++++ b/src/dirent/alphasort.c +@@ -5,3 +5,5 @@ int alphasort(const struct dirent **a, const struct dirent **b) + { + return strcoll((*a)->d_name, (*b)->d_name); + } ++ ++weak_alias(alphasort, alphasort64); +diff --git a/src/dirent/readdir.c b/src/dirent/readdir.c +index 5a03b363..569fc705 100644 +--- a/src/dirent/readdir.c ++++ b/src/dirent/readdir.c +@@ -25,3 +25,5 @@ struct dirent *readdir(DIR *dir) + dir->tell = de->d_off; + return de; + } ++ ++weak_alias(readdir, readdir64); +diff --git a/src/dirent/readdir_r.c b/src/dirent/readdir_r.c +index 0d5de5f5..e2a818f3 100644 +--- a/src/dirent/readdir_r.c ++++ b/src/dirent/readdir_r.c +@@ -25,3 +25,5 @@ int readdir_r(DIR *restrict dir, struct dirent *restrict buf, struct dirent **re + *result = buf; + return 0; + } ++ ++weak_alias(readdir_r, readdir64_r); +diff --git a/src/dirent/scandir.c b/src/dirent/scandir.c +index 7456b9b8..7ee195dd 100644 +--- a/src/dirent/scandir.c ++++ b/src/dirent/scandir.c +@@ -43,3 +43,5 @@ int scandir(const char *path, struct dirent ***res, + *res = names; + return cnt; + } ++ ++weak_alias(scandir, scandir64); +diff --git a/src/dirent/versionsort.c b/src/dirent/versionsort.c +index 97696105..d4c48923 100644 +--- a/src/dirent/versionsort.c ++++ b/src/dirent/versionsort.c +@@ -6,3 +6,6 @@ int versionsort(const struct dirent **a, const struct dirent **b) + { + return strverscmp((*a)->d_name, (*b)->d_name); + } ++ ++#undef versionsort64 ++weak_alias(versionsort, versionsort64); +diff --git a/src/fcntl/creat.c b/src/fcntl/creat.c +index c9c43910..8f8aab64 100644 +--- a/src/fcntl/creat.c ++++ b/src/fcntl/creat.c +@@ -4,3 +4,5 @@ int creat(const char *filename, mode_t mode) + { + return open(filename, O_CREAT|O_WRONLY|O_TRUNC, mode); + } ++ ++weak_alias(creat, creat64); +diff --git a/src/fcntl/open.c b/src/fcntl/open.c +index 4c3c8275..1d817a2d 100644 +--- a/src/fcntl/open.c ++++ b/src/fcntl/open.c +@@ -19,3 +19,5 @@ int open(const char *filename, int flags, ...) + + return __syscall_ret(fd); + } ++ ++weak_alias(open, open64); +diff --git a/src/fcntl/openat.c b/src/fcntl/openat.c +index 83a9e0d0..ad165ec3 100644 +--- a/src/fcntl/openat.c ++++ b/src/fcntl/openat.c +@@ -15,3 +15,5 @@ int openat(int fd, const char *filename, int flags, ...) + + return syscall_cp(SYS_openat, fd, filename, flags|O_LARGEFILE, mode); + } ++ ++weak_alias(openat, openat64); +diff --git a/src/fcntl/posix_fadvise.c b/src/fcntl/posix_fadvise.c +index 07346d21..75b8e1ae 100644 +--- a/src/fcntl/posix_fadvise.c ++++ b/src/fcntl/posix_fadvise.c +@@ -14,3 +14,5 @@ int posix_fadvise(int fd, off_t base, off_t len, int advice) + __SYSCALL_LL_E(len), advice); + #endif + } ++ ++weak_alias(posix_fadvise, posix_fadvise64); +diff --git a/src/fcntl/posix_fallocate.c b/src/fcntl/posix_fallocate.c +index 80a65cbf..c57a24ae 100644 +--- a/src/fcntl/posix_fallocate.c ++++ b/src/fcntl/posix_fallocate.c +@@ -6,3 +6,5 @@ int posix_fallocate(int fd, off_t base, off_t len) + return -__syscall(SYS_fallocate, fd, 0, __SYSCALL_LL_E(base), + __SYSCALL_LL_E(len)); + } ++ ++weak_alias(posix_fallocate, posix_fallocate64); +diff --git a/src/legacy/ftw.c b/src/legacy/ftw.c +index e757fc6f..506bd29c 100644 +--- a/src/legacy/ftw.c ++++ b/src/legacy/ftw.c +@@ -7,3 +7,5 @@ int ftw(const char *path, int (*fn)(const char *, const struct stat *, int), int + * actually undefined, but works on all real-world machines. */ + return nftw(path, (int (*)())fn, fd_limit, FTW_PHYS); + } ++ ++weak_alias(ftw, ftw64); +diff --git a/src/linux/fallocate.c b/src/linux/fallocate.c +index 9146350e..7d68bc8f 100644 +--- a/src/linux/fallocate.c ++++ b/src/linux/fallocate.c +@@ -7,3 +7,6 @@ int fallocate(int fd, int mode, off_t base, off_t len) + return syscall(SYS_fallocate, fd, mode, __SYSCALL_LL_E(base), + __SYSCALL_LL_E(len)); + } ++ ++#undef fallocate64 ++weak_alias(fallocate, fallocate64); +diff --git a/src/linux/getdents.c b/src/linux/getdents.c +index 97f76e14..796c1e5c 100644 +--- a/src/linux/getdents.c ++++ b/src/linux/getdents.c +@@ -8,3 +8,5 @@ int getdents(int fd, struct dirent *buf, size_t len) + if (len>INT_MAX) len = INT_MAX; + return syscall(SYS_getdents, fd, buf, len); + } ++ ++weak_alias(getdents, getdents64); +diff --git a/src/linux/prlimit.c b/src/linux/prlimit.c +index fcf45aab..3df9ffba 100644 +--- a/src/linux/prlimit.c ++++ b/src/linux/prlimit.c +@@ -21,3 +21,6 @@ int prlimit(pid_t pid, int resource, const struct rlimit *new_limit, struct rlim + } + return r; + } ++ ++#undef prlimit64 ++weak_alias(prlimit, prlimit64); +diff --git a/src/linux/sendfile.c b/src/linux/sendfile.c +index fc1577d3..9afe6dd6 100644 +--- a/src/linux/sendfile.c ++++ b/src/linux/sendfile.c +@@ -5,3 +5,5 @@ ssize_t sendfile(int out_fd, int in_fd, off_t *ofs, size_t count) + { + return syscall(SYS_sendfile, out_fd, in_fd, ofs, count); + } ++ ++weak_alias(sendfile, sendfile64); +diff --git a/src/misc/getrlimit.c b/src/misc/getrlimit.c +index a5558d81..bf676307 100644 +--- a/src/misc/getrlimit.c ++++ b/src/misc/getrlimit.c +@@ -26,3 +26,5 @@ int getrlimit(int resource, struct rlimit *rlim) + return ret; + #endif + } ++ ++weak_alias(getrlimit, getrlimit64); +diff --git a/src/misc/lockf.c b/src/misc/lockf.c +index 0162442b..16a80bec 100644 +--- a/src/misc/lockf.c ++++ b/src/misc/lockf.c +@@ -28,3 +28,5 @@ int lockf(int fd, int op, off_t size) + errno = EINVAL; + return -1; + } ++ ++weak_alias(lockf, lockf64); +diff --git a/src/misc/nftw.c b/src/misc/nftw.c +index 71bc62ee..e1bcf1a3 100644 +--- a/src/misc/nftw.c ++++ b/src/misc/nftw.c +@@ -140,3 +140,5 @@ int nftw(const char *path, int (*fn)(const char *, const struct stat *, int, str + pthread_setcancelstate(cs, 0); + return r; + } ++ ++weak_alias(nftw, nftw64); +diff --git a/src/misc/setrlimit.c b/src/misc/setrlimit.c +index edb413fa..5b713cf3 100644 +--- a/src/misc/setrlimit.c ++++ b/src/misc/setrlimit.c +@@ -49,3 +49,5 @@ int setrlimit(int resource, const struct rlimit *rlim) + return __syscall_ret(ret); + #endif + } ++ ++weak_alias(setrlimit, setrlimit64); +diff --git a/src/mman/mmap.c b/src/mman/mmap.c +index 43e5e029..eff88d82 100644 +--- a/src/mman/mmap.c ++++ b/src/mman/mmap.c +@@ -37,3 +37,5 @@ void *__mmap(void *start, size_t len, int prot, int flags, int fd, off_t off) + } + + weak_alias(__mmap, mmap); ++ ++weak_alias(mmap, mmap64); +diff --git a/src/regex/glob.c b/src/regex/glob.c +index a4906446..9de080ed 100644 +--- a/src/regex/glob.c ++++ b/src/regex/glob.c +@@ -306,3 +306,6 @@ void globfree(glob_t *g) + g->gl_pathc = 0; + g->gl_pathv = NULL; + } ++ ++weak_alias(glob, glob64); ++weak_alias(globfree, globfree64); +diff --git a/src/stat/__xstat.c b/src/stat/__xstat.c +index b4560df7..630936a0 100644 +--- a/src/stat/__xstat.c ++++ b/src/stat/__xstat.c +@@ -22,6 +22,11 @@ int __xstat(int ver, const char *path, struct stat *buf) + return stat(path, buf); + } + ++weak_alias(__fxstat, __fxstat64); ++weak_alias(__fxstatat, __fxstatat64); ++weak_alias(__lxstat, __lxstat64); ++weak_alias(__xstat, __xstat64); ++ + #endif + + int __xmknod(int ver, const char *path, mode_t mode, dev_t *dev) +diff --git a/src/stat/fstat.c b/src/stat/fstat.c +index fd28b8ac..27db0ccb 100644 +--- a/src/stat/fstat.c ++++ b/src/stat/fstat.c +@@ -11,3 +11,7 @@ int __fstat(int fd, struct stat *st) + } + + weak_alias(__fstat, fstat); ++ ++#if !_REDIR_TIME64 ++weak_alias(fstat, fstat64); ++#endif +diff --git a/src/stat/fstatat.c b/src/stat/fstatat.c +index 04506375..74c51cf5 100644 +--- a/src/stat/fstatat.c ++++ b/src/stat/fstatat.c +@@ -151,3 +151,7 @@ int __fstatat(int fd, const char *restrict path, struct stat *restrict st, int f + } + + weak_alias(__fstatat, fstatat); ++ ++#if !_REDIR_TIME64 ++weak_alias(fstatat, fstatat64); ++#endif +diff --git a/src/stat/lstat.c b/src/stat/lstat.c +index 6822fcae..6fe004de 100644 +--- a/src/stat/lstat.c ++++ b/src/stat/lstat.c +@@ -5,3 +5,7 @@ int lstat(const char *restrict path, struct stat *restrict buf) + { + return fstatat(AT_FDCWD, path, buf, AT_SYMLINK_NOFOLLOW); + } ++ ++#if !_REDIR_TIME64 ++weak_alias(lstat, lstat64); ++#endif +diff --git a/src/stat/stat.c b/src/stat/stat.c +index 23570e7a..ea70efc4 100644 +--- a/src/stat/stat.c ++++ b/src/stat/stat.c +@@ -5,3 +5,7 @@ int stat(const char *restrict path, struct stat *restrict buf) + { + return fstatat(AT_FDCWD, path, buf, 0); + } ++ ++#if !_REDIR_TIME64 ++weak_alias(stat, stat64); ++#endif +diff --git a/src/stat/statvfs.c b/src/stat/statvfs.c +index bfbb5fee..f65d1b54 100644 +--- a/src/stat/statvfs.c ++++ b/src/stat/statvfs.c +@@ -56,3 +56,8 @@ int fstatvfs(int fd, struct statvfs *buf) + fixup(buf, &kbuf); + return 0; + } ++ ++weak_alias(statvfs, statvfs64); ++weak_alias(statfs, statfs64); ++weak_alias(fstatvfs, fstatvfs64); ++weak_alias(fstatfs, fstatfs64); +diff --git a/src/stdio/fgetpos.c b/src/stdio/fgetpos.c +index 392f7323..50813d2c 100644 +--- a/src/stdio/fgetpos.c ++++ b/src/stdio/fgetpos.c +@@ -7,3 +7,5 @@ int fgetpos(FILE *restrict f, fpos_t *restrict pos) + *(long long *)pos = off; + return 0; + } ++ ++weak_alias(fgetpos, fgetpos64); +diff --git a/src/stdio/fopen.c b/src/stdio/fopen.c +index 80bc341e..e1b91e12 100644 +--- a/src/stdio/fopen.c ++++ b/src/stdio/fopen.c +@@ -29,3 +29,5 @@ FILE *fopen(const char *restrict filename, const char *restrict mode) + __syscall(SYS_close, fd); + return 0; + } ++ ++weak_alias(fopen, fopen64); +diff --git a/src/stdio/freopen.c b/src/stdio/freopen.c +index 1641a4c5..96bfbb42 100644 +--- a/src/stdio/freopen.c ++++ b/src/stdio/freopen.c +@@ -51,3 +51,5 @@ fail: + fclose(f); + return NULL; + } ++ ++weak_alias(freopen, freopen64); +diff --git a/src/stdio/fseek.c b/src/stdio/fseek.c +index c7425802..c07f7e95 100644 +--- a/src/stdio/fseek.c ++++ b/src/stdio/fseek.c +@@ -46,3 +46,5 @@ int fseek(FILE *f, long off, int whence) + } + + weak_alias(__fseeko, fseeko); ++ ++weak_alias(fseeko, fseeko64); +diff --git a/src/stdio/fsetpos.c b/src/stdio/fsetpos.c +index 779cb3cc..77ab8d82 100644 +--- a/src/stdio/fsetpos.c ++++ b/src/stdio/fsetpos.c +@@ -4,3 +4,5 @@ int fsetpos(FILE *f, const fpos_t *pos) + { + return __fseeko(f, *(const long long *)pos, SEEK_SET); + } ++ ++weak_alias(fsetpos, fsetpos64); +diff --git a/src/stdio/ftell.c b/src/stdio/ftell.c +index 1e1a08d8..1a2afbbc 100644 +--- a/src/stdio/ftell.c ++++ b/src/stdio/ftell.c +@@ -37,3 +37,5 @@ long ftell(FILE *f) + } + + weak_alias(__ftello, ftello); ++ ++weak_alias(ftello, ftello64); +diff --git a/src/stdio/tmpfile.c b/src/stdio/tmpfile.c +index 2fa8803f..ae493987 100644 +--- a/src/stdio/tmpfile.c ++++ b/src/stdio/tmpfile.c +@@ -27,3 +27,5 @@ FILE *tmpfile(void) + } + return 0; + } ++ ++weak_alias(tmpfile, tmpfile64); +diff --git a/src/temp/mkostemp.c b/src/temp/mkostemp.c +index e3dfdd91..d8dcb805 100644 +--- a/src/temp/mkostemp.c ++++ b/src/temp/mkostemp.c +@@ -5,3 +5,5 @@ int mkostemp(char *template, int flags) + { + return __mkostemps(template, 0, flags); + } ++ ++weak_alias(mkostemp, mkostemp64); +diff --git a/src/temp/mkostemps.c b/src/temp/mkostemps.c +index 093d2380..ef24eeae 100644 +--- a/src/temp/mkostemps.c ++++ b/src/temp/mkostemps.c +@@ -26,3 +26,4 @@ int __mkostemps(char *template, int len, int flags) + } + + weak_alias(__mkostemps, mkostemps); ++weak_alias(__mkostemps, mkostemps64); +diff --git a/src/temp/mkstemp.c b/src/temp/mkstemp.c +index 76c835bb..166b8afe 100644 +--- a/src/temp/mkstemp.c ++++ b/src/temp/mkstemp.c +@@ -4,3 +4,5 @@ int mkstemp(char *template) + { + return __mkostemps(template, 0, 0); + } ++ ++weak_alias(mkstemp, mkstemp64); +diff --git a/src/temp/mkstemps.c b/src/temp/mkstemps.c +index f8eabfec..6b7531b5 100644 +--- a/src/temp/mkstemps.c ++++ b/src/temp/mkstemps.c +@@ -5,3 +5,5 @@ int mkstemps(char *template, int len) + { + return __mkostemps(template, len, 0); + } ++ ++weak_alias(mkstemps, mkstemps64); +diff --git a/src/unistd/ftruncate.c b/src/unistd/ftruncate.c +index 54ff34bc..b41be0fa 100644 +--- a/src/unistd/ftruncate.c ++++ b/src/unistd/ftruncate.c +@@ -5,3 +5,5 @@ int ftruncate(int fd, off_t length) + { + return syscall(SYS_ftruncate, fd, __SYSCALL_LL_O(length)); + } ++ ++weak_alias(ftruncate, ftruncate64); +diff --git a/src/unistd/lseek.c b/src/unistd/lseek.c +index f5b66682..b4984f3e 100644 +--- a/src/unistd/lseek.c ++++ b/src/unistd/lseek.c +@@ -12,3 +12,4 @@ off_t __lseek(int fd, off_t offset, int whence) + } + + weak_alias(__lseek, lseek); ++weak_alias(__lseek, lseek64); +diff --git a/src/unistd/mipsn32/lseek.c b/src/unistd/mipsn32/lseek.c +index 0f6cbcaa..60e74a51 100644 +--- a/src/unistd/mipsn32/lseek.c ++++ b/src/unistd/mipsn32/lseek.c +@@ -17,3 +17,4 @@ off_t __lseek(int fd, off_t offset, int whence) + } + + weak_alias(__lseek, lseek); ++weak_alias(__lseek, lseek64); +diff --git a/src/unistd/pread.c b/src/unistd/pread.c +index b03fb0ad..5681b045 100644 +--- a/src/unistd/pread.c ++++ b/src/unistd/pread.c +@@ -5,3 +5,5 @@ ssize_t pread(int fd, void *buf, size_t size, off_t ofs) + { + return syscall_cp(SYS_pread, fd, buf, size, __SYSCALL_LL_PRW(ofs)); + } ++ ++weak_alias(pread, pread64); +diff --git a/src/unistd/preadv.c b/src/unistd/preadv.c +index 890ab403..8376d60f 100644 +--- a/src/unistd/preadv.c ++++ b/src/unistd/preadv.c +@@ -8,3 +8,5 @@ ssize_t preadv(int fd, const struct iovec *iov, int count, off_t ofs) + return syscall_cp(SYS_preadv, fd, iov, count, + (long)(ofs), (long)(ofs>>32)); + } ++ ++weak_alias(preadv, preadv64); +diff --git a/src/unistd/pwrite.c b/src/unistd/pwrite.c +index 869b69f0..ca376576 100644 +--- a/src/unistd/pwrite.c ++++ b/src/unistd/pwrite.c +@@ -5,3 +5,5 @@ ssize_t pwrite(int fd, const void *buf, size_t size, off_t ofs) + { + return syscall_cp(SYS_pwrite, fd, buf, size, __SYSCALL_LL_PRW(ofs)); + } ++ ++weak_alias(pwrite, pwrite64); +diff --git a/src/unistd/pwritev.c b/src/unistd/pwritev.c +index becf9deb..f5a612c4 100644 +--- a/src/unistd/pwritev.c ++++ b/src/unistd/pwritev.c +@@ -8,3 +8,5 @@ ssize_t pwritev(int fd, const struct iovec *iov, int count, off_t ofs) + return syscall_cp(SYS_pwritev, fd, iov, count, + (long)(ofs), (long)(ofs>>32)); + } ++ ++weak_alias(pwritev, pwritev64); +diff --git a/src/unistd/truncate.c b/src/unistd/truncate.c +index 077351e1..97296800 100644 +--- a/src/unistd/truncate.c ++++ b/src/unistd/truncate.c +@@ -5,3 +5,5 @@ int truncate(const char *path, off_t length) + { + return syscall(SYS_truncate, path, __SYSCALL_LL_O(length)); + } ++ ++weak_alias(truncate, truncate64); +diff --git a/src/unistd/x32/lseek.c b/src/unistd/x32/lseek.c +index 5f93292f..32636429 100644 +--- a/src/unistd/x32/lseek.c ++++ b/src/unistd/x32/lseek.c +@@ -12,3 +12,4 @@ off_t __lseek(int fd, off_t offset, int whence) + } + + weak_alias(__lseek, lseek); ++weak_alias(__lseek, lseek64); +-- +2.43.0 + diff --git a/musl/0006-Revert-remove-LFS64-programming-interfaces-macro-onl.patch b/musl/0006-Revert-remove-LFS64-programming-interfaces-macro-onl.patch new file mode 100644 index 0000000..d4437d7 --- /dev/null +++ b/musl/0006-Revert-remove-LFS64-programming-interfaces-macro-onl.patch @@ -0,0 +1,237 @@ +From e785f60f730e6b51ce1bd0cf8375245ce9683555 Mon Sep 17 00:00:00 2001 +From: psykose +Date: Tue, 11 Apr 2023 21:28:51 +0200 +Subject: [PATCH 6/6] Revert "remove LFS64 programming interfaces (macro-only) + from _GNU_SOURCE" + +This reverts commit 25e6fee27f4a293728dd15b659170e7b9c7db9bc. +--- + include/aio.h | 2 +- + include/dirent.h | 2 +- + include/fcntl.h | 2 +- + include/ftw.h | 2 +- + include/glob.h | 2 +- + include/stdio.h | 2 +- + include/stdlib.h | 2 +- + include/sys/mman.h | 2 +- + include/sys/resource.h | 2 +- + include/sys/sendfile.h | 2 +- + include/sys/stat.h | 2 +- + include/sys/statfs.h | 2 +- + include/sys/statvfs.h | 2 +- + include/sys/types.h | 2 +- + include/sys/uio.h | 2 +- + include/unistd.h | 2 +- + 16 files changed, 16 insertions(+), 16 deletions(-) + +diff --git a/include/aio.h b/include/aio.h +index a938fcad..453c41b7 100644 +--- a/include/aio.h ++++ b/include/aio.h +@@ -49,7 +49,7 @@ int aio_fsync(int, struct aiocb *); + + int lio_listio(int, struct aiocb *__restrict const *__restrict, int, struct sigevent *__restrict); + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define aiocb64 aiocb + #define aio_read64 aio_read + #define aio_write64 aio_write +diff --git a/include/dirent.h b/include/dirent.h +index 2d8fffb2..650ecf64 100644 +--- a/include/dirent.h ++++ b/include/dirent.h +@@ -56,7 +56,7 @@ int getdents(int, struct dirent *, size_t); + int versionsort(const struct dirent **, const struct dirent **); + #endif + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define dirent64 dirent + #define readdir64 readdir + #define readdir64_r readdir_r +diff --git a/include/fcntl.h b/include/fcntl.h +index 515f255d..b664cdc4 100644 +--- a/include/fcntl.h ++++ b/include/fcntl.h +@@ -195,7 +195,7 @@ ssize_t tee(int, int, size_t, unsigned); + #define loff_t off_t + #endif + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define F_GETLK64 F_GETLK + #define F_SETLK64 F_SETLK + #define F_SETLKW64 F_SETLKW +diff --git a/include/ftw.h b/include/ftw.h +index d0445e8a..b15c062a 100644 +--- a/include/ftw.h ++++ b/include/ftw.h +@@ -29,7 +29,7 @@ struct FTW { + int ftw(const char *, int (*)(const char *, const struct stat *, int), int); + int nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int); + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define ftw64 ftw + #define nftw64 nftw + #endif +diff --git a/include/glob.h b/include/glob.h +index fed06745..4a562a20 100644 +--- a/include/glob.h ++++ b/include/glob.h +@@ -39,7 +39,7 @@ void globfree(glob_t *); + #define GLOB_NOMATCH 3 + #define GLOB_NOSYS 4 + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define glob64 glob + #define globfree64 globfree + #define glob64_t glob_t +diff --git a/include/stdio.h b/include/stdio.h +index cb858618..d1ed01f0 100644 +--- a/include/stdio.h ++++ b/include/stdio.h +@@ -205,7 +205,7 @@ typedef struct _IO_cookie_io_functions_t { + FILE *fopencookie(void *, const char *, cookie_io_functions_t); + #endif + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define tmpfile64 tmpfile + #define fopen64 fopen + #define freopen64 freopen +diff --git a/include/stdlib.h b/include/stdlib.h +index 475190bf..02e1507e 100644 +--- a/include/stdlib.h ++++ b/include/stdlib.h +@@ -163,7 +163,7 @@ double strtod_l(const char *__restrict, char **__restrict, struct __locale_struc + long double strtold_l(const char *__restrict, char **__restrict, struct __locale_struct *); + #endif + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define mkstemp64 mkstemp + #define mkostemp64 mkostemp + #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +diff --git a/include/sys/mman.h b/include/sys/mman.h +index 3d5d0f9c..80a3baae 100644 +--- a/include/sys/mman.h ++++ b/include/sys/mman.h +@@ -141,7 +141,7 @@ int mincore (void *, size_t, unsigned char *); + int shm_open (const char *, int, mode_t); + int shm_unlink (const char *); + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define mmap64 mmap + #define off64_t off_t + #endif +diff --git a/include/sys/resource.h b/include/sys/resource.h +index e8bfbe1f..3068328d 100644 +--- a/include/sys/resource.h ++++ b/include/sys/resource.h +@@ -95,7 +95,7 @@ int prlimit(pid_t, int, const struct rlimit *, struct rlimit *); + + #define RLIM_NLIMITS RLIMIT_NLIMITS + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define RLIM64_INFINITY RLIM_INFINITY + #define RLIM64_SAVED_CUR RLIM_SAVED_CUR + #define RLIM64_SAVED_MAX RLIM_SAVED_MAX +diff --git a/include/sys/sendfile.h b/include/sys/sendfile.h +index 253a041b..e7570d8e 100644 +--- a/include/sys/sendfile.h ++++ b/include/sys/sendfile.h +@@ -10,7 +10,7 @@ extern "C" { + + ssize_t sendfile(int, int, off_t *, size_t); + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define sendfile64 sendfile + #define off64_t off_t + #endif +diff --git a/include/sys/stat.h b/include/sys/stat.h +index e6d0049c..10d446c4 100644 +--- a/include/sys/stat.h ++++ b/include/sys/stat.h +@@ -98,7 +98,7 @@ int lchmod(const char *, mode_t); + #define S_IEXEC S_IXUSR + #endif + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define stat64 stat + #define fstat64 fstat + #define lstat64 lstat +diff --git a/include/sys/statfs.h b/include/sys/statfs.h +index 7a2e11cd..6f4c6230 100644 +--- a/include/sys/statfs.h ++++ b/include/sys/statfs.h +@@ -18,7 +18,7 @@ typedef struct __fsid_t { + int statfs (const char *, struct statfs *); + int fstatfs (int, struct statfs *); + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define statfs64 statfs + #define fstatfs64 fstatfs + #define fsblkcnt64_t fsblkcnt_t +diff --git a/include/sys/statvfs.h b/include/sys/statvfs.h +index 57a6b806..793490b6 100644 +--- a/include/sys/statvfs.h ++++ b/include/sys/statvfs.h +@@ -42,7 +42,7 @@ int fstatvfs (int, struct statvfs *); + #define ST_NODIRATIME 2048 + #define ST_RELATIME 4096 + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define statvfs64 statvfs + #define fstatvfs64 fstatvfs + #define fsblkcnt64_t fsblkcnt_t +diff --git a/include/sys/types.h b/include/sys/types.h +index 3363374f..0c35541d 100644 +--- a/include/sys/types.h ++++ b/include/sys/types.h +@@ -71,7 +71,7 @@ typedef unsigned long long u_quad_t; + #include + #endif + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define blkcnt64_t blkcnt_t + #define fsblkcnt64_t fsblkcnt_t + #define fsfilcnt64_t fsfilcnt_t +diff --git a/include/sys/uio.h b/include/sys/uio.h +index 90e5939e..00f73a2f 100644 +--- a/include/sys/uio.h ++++ b/include/sys/uio.h +@@ -29,7 +29,7 @@ ssize_t writev (int, const struct iovec *, int); + #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + ssize_t preadv (int, const struct iovec *, int, off_t); + ssize_t pwritev (int, const struct iovec *, int, off_t); +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define preadv64 preadv + #define pwritev64 pwritev + #define off64_t off_t +diff --git a/include/unistd.h b/include/unistd.h +index 5bc7f798..0e8149e4 100644 +--- a/include/unistd.h ++++ b/include/unistd.h +@@ -198,7 +198,7 @@ ssize_t copy_file_range(int, off_t *, int, off_t *, size_t, unsigned); + pid_t gettid(void); + #endif + +-#if defined(_LARGEFILE64_SOURCE) ++#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) + #define lseek64 lseek + #define pread64 pread + #define pwrite64 pwrite +-- +2.43.0 + diff --git a/musl/PKGBUILD b/musl/PKGBUILD index 0d4f226..a0f13f9 100644 --- a/musl/PKGBUILD +++ b/musl/PKGBUILD @@ -13,6 +13,7 @@ optdepends=( "musl-fts: adds fts(3) functions" "musl-obstack: add obstack from Glibc" ) +backup=("etc/ld-musl-$CARCH.path") source=( "https://musl.libc.org/releases/musl-$pkgver.tar.gz" "https://github.com/llvm/llvm-project/releases/download/llvmorg-$_llvmver/compiler-rt-$_llvmver.src.tar.xz" @@ -20,16 +21,22 @@ source=( "0002-scudo-add-necessary-plumbing.patch" "0003-scudo-clean-up-lingering-weak-symbols-we-don-t-want.patch" "0004-do-not-rely-on-system-headers-for-cpu-info.patch" + "0005-Revert-remove-LFS64-symbol-aliases-replace-with-dyna.patch" + "0006-Revert-remove-LFS64-programming-interfaces-macro-onl.patch" "wrappers.cpp" + "ld-musl.path" ) sha256sums=( "7a35eae33d5372a7c0da1188de798726f68825513b7ae3ebe97aaaa52114f039" "11b8d09dcf92a0f91c5c82defb5ad9ff4acf5cf073a80c317204baa922d136b4" - "34927e9de1a3e48fa8ccbbe5dbc13b2f4b04c66672f65b2647ab341007c84cf4" - "8c15025c99091ab2b903232359093029e15658d05484aae8254005046d86ff3a" - "cb3e01d5011c48b86f390246a3b710e02fd2e28278743f65098c4242c3cb3241" - "2827fefaf25076d5638d713f4dbd99c44330ca83d28989566cc1c089c66c4613" + "1eed14011716974fcc7d9ff6cbfd46e3bf247e43152c69fd4d0e68a26129277f" + "416dac6bdbd19e65e6c8717e573a424e0efb61e26b28ed5a161a0a2420df8f3b" + "5c84f0cea68f9cc04356b75193d16d31852e468d06182163783997f8eced6574" + "9b119297d5d1550d57d98ad0c3a6f87e654c852430db44e1df53afacae1fc141" + "017751764328d3c4fc3bd5873b0cee446df470432c6464e0cb663ba12dae808d" + "0c6c89c7b0c4e3918de323d0015f28ec6e8f7d27301f56a95bb55e1bb31e5d54" "55b485a26ec69a4fdb44169b12e09d239ad2eea922a2de8d56caf76fd8355e12" + "de2f97888ddbaca502e0e7417c6ab7be1123c8d1d33a18aa7df7fa95887be11b" ) prepare() { @@ -48,6 +55,8 @@ prepare() { patch -p1 <$srcdir/0002-scudo-add-necessary-plumbing.patch patch -p1 <$srcdir/0003-scudo-clean-up-lingering-weak-symbols-we-don-t-want.patch patch -p1 <$srcdir/0004-do-not-rely-on-system-headers-for-cpu-info.patch + patch -p1 <$srcdir/0005-Revert-remove-LFS64-symbol-aliases-replace-with-dyna.patch + patch -p1 <$srcdir/0006-Revert-remove-LFS64-programming-interfaces-macro-onl.patch } build() { @@ -66,6 +75,8 @@ package() { mkdir $pkgdir/usr/bin ln -s ../lib/ld-musl-$CARCH.so.1 $pkgdir/usr/bin/ldd + install -Dm644 $srcdir/ld-musl.path $pkgdir/etc/ld-musl-$CARCH.path + install -Dm0644 README "$pkgdir"/usr/share/doc/musl/README install -Dm0644 COPYRIGHT "$pkgdir"/usr/share/licenses/musl/COPYRIGHT } diff --git a/musl/ld-musl.path b/musl/ld-musl.path new file mode 100644 index 0000000..0bf940b --- /dev/null +++ b/musl/ld-musl.path @@ -0,0 +1 @@ +/usr/lib diff --git a/pacman/PKGBUILD b/pacman/PKGBUILD index 7675251..5b67307 100644 --- a/pacman/PKGBUILD +++ b/pacman/PKGBUILD @@ -7,6 +7,8 @@ pkgdesc="A library-based package manager with dependency support" arch=("x86_64") url="https://www.archlinux.org/pacman/" license=("GPL") +depends=("curl" "libarchive" "libressl" "fakeroot") +makedepends=("ninja") backup=(etc/pacman.conf etc/makepkg.conf) source=( "https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.xz" @@ -15,15 +17,14 @@ source=( ) sha256sums=( "7d8e3e8c5121aec0965df71f59bedf46052c6cf14f96365c4411ec3de0a4c1a5" - "169638c79e0f53fbfce8e437deb61fe2139271b534b9d2c1d90c378fb02a0095" - "ca31972632118b7091698e353444e32b1594a465b8e768f90c5a5a1a1dee76c5" + "ae4611ae0236b27c56ca70bc509062d7ebe1863ed6a79e7a708e1cdcc56bb288" + "78c9149c20d979ceaec5de71a5ea72d95705ba59d5903b595dff01e54075fe5b" ) build() { cd $pkgname-$pkgver - meson \ - --prefix=/usr \ + meson --prefix=/usr \ --buildtype=plain \ -Dscriptlet-shell=/usr/bin/bash \ -Dldconfig=/usr/bin/ldconfig \ diff --git a/pacman/pacman.conf b/pacman/pacman.conf index 41a563c..eacc03a 100644 --- a/pacman/pacman.conf +++ b/pacman/pacman.conf @@ -38,8 +38,8 @@ ParallelDownloads = 5 # By default, pacman accepts packages signed by keys that its local keyring # trusts (see pacman-key and its man page), as well as unsigned packages. -SigLevel = Required DatabaseOptional -LocalFileSigLevel = Optional +#SigLevel = Required DatabaseOptional +#LocalFileSigLevel = Optional #RemoteFileSigLevel = Required # NOTE: You must run `pacman-key --init` before first using pacman; the local diff --git a/pcre2/PKGBUILD b/pcre2/PKGBUILD index c67544a..91dad3a 100644 --- a/pcre2/PKGBUILD +++ b/pcre2/PKGBUILD @@ -7,6 +7,7 @@ pkgdesc="A library that implements Perl 5-style regular expressions. 2nd version arch=("x86_64") url="https://www.pcre.org/" license=("BSD") +depends=("bzip2" "zlib-ng" "readline" "ncurses") source=("https://github.com/PCRE2Project/pcre2/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2") sha256sums=("8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840") diff --git a/procps-ng/PKGBUILD b/procps-ng/PKGBUILD index 6963956..8871849 100644 --- a/procps-ng/PKGBUILD +++ b/procps-ng/PKGBUILD @@ -4,9 +4,10 @@ pkgname=procps-ng pkgver=4.0.4 pkgrel=1 pkgdesc="Utilities for monitoring your system and its processes" -url="https://gitlab.com/procps-ng/procps" -license=(GPL LGPL) arch=("x86_64") +url="https://gitlab.com/procps-ng/procps" +license=("GPL" "LGPL") +depends=("ncurses") source=("https://downloads.sourceforge.net/project/$pkgname/Production/$pkgname-$pkgver.tar.xz") sha256sums=("22870d6feb2478adb617ce4f09a787addaf2d260c5a8aa7b17d889a962c5e42e") @@ -26,8 +27,8 @@ build() { --bindir=/usr/bin \ --sbindir=/usr/bin \ --enable-watch8bit \ + --enable-colorwatch \ --without-systemd \ - --disable-modern-top \ --disable-kill make diff --git a/readline/PKGBUILD b/readline/PKGBUILD index 7d758aa..93fd819 100644 --- a/readline/PKGBUILD +++ b/readline/PKGBUILD @@ -1,4 +1,4 @@ -#Maintainer: Daryl Ronningen +# Maintainer: Daryl Ronningen pkgname=readline _basever=8.2 @@ -9,10 +9,18 @@ pkgdesc="GNU readline library" arch=("x86_64") url="https://tiswww.case.edu/php/chet/readline/rltop.html" license=("GPL") +depends=("ncurses") backup=("etc/inputrc") source=( "https://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz" "inputrc" + "readline82-001.patch" + "readline82-002.patch" + "readline82-003.patch" + "readline82-004.patch" + "readline82-005.patch" + "readline82-006.patch" + "readline82-007.patch" ) sha256sums=( "3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35" @@ -26,21 +34,12 @@ sha256sums=( "5911a5b980d7900aabdbee483f86dab7056851e6400efb002776a0a4a1bab6f6" ) -if [ $_patchlevel -gt 0 ]; then - for ((_p = 1; _p <= $((10#${_patchlevel})); _p++)); do - source=(${source[@]} https://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//./}-$(printf "%03d" $_p)) - done -fi - prepare() { cd $pkgname-$_basever for ((_p = 1; _p <= $((10#${_patchlevel})); _p++)); do msg "applying patch readline${_basever//./}-$(printf "%03d" $_p)" - patch -p0 -i ../readline${_basever//./}-$(printf "%03d" $_p) + patch -p0 -i ../readline${_basever//./}-$(printf "%03d" $_p).patch done - - # remove RPATH from shared objects (FS#14366) - sed -i "s|-Wl,-rpath,$(libdir) ||g" support/shobj-conf } build() { @@ -53,6 +52,6 @@ build() { package() { cd $pkgname-$_basever - make -C $pkgname-$_basever DESTDIR=$pkgdir install - install -Dm644 inputrc $pkgdir/etc/inputrc + make DESTDIR=$pkgdir install + install -Dm644 $srcdir/inputrc $pkgdir/etc/inputrc } diff --git a/readline/readline82-001.patch b/readline/readline82-001.patch new file mode 100644 index 0000000..a13ff42 --- /dev/null +++ b/readline/readline82-001.patch @@ -0,0 +1,42 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 8.2 +Patch-ID: readline82-001 + +Bug-Reported-by: Kan-Ru Chen +Bug-Reference-ID: +Bug-Reference-URL: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1021109 + +Bug-Description: + +Starting a readline application with an invalid locale specification for +LC_ALL/LANG/LC_CTYPE can cause it crash on the first call to readline. + +Patch (apply with `patch -p0'): + +*** ../readline-8.2-patched/nls.c 2022-08-15 09:38:51.000000000 -0400 +--- nls.c 2022-10-05 09:23:22.000000000 -0400 +*************** +*** 142,145 **** +--- 142,149 ---- + lspec = ""; + ret = setlocale (LC_CTYPE, lspec); /* ok, since it does not change locale */ ++ if (ret == 0 || *ret == 0) ++ ret = setlocale (LC_CTYPE, (char *)NULL); ++ if (ret == 0 || *ret == 0) ++ ret = RL_DEFAULT_LOCALE; + #else + ret = (lspec == 0 || *lspec == 0) ? RL_DEFAULT_LOCALE : lspec; + +*** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 0 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 1 diff --git a/readline/readline82-002.patch b/readline/readline82-002.patch new file mode 100644 index 0000000..453b9b8 --- /dev/null +++ b/readline/readline82-002.patch @@ -0,0 +1,48 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 8.2 +Patch-ID: readline82-002 + +Bug-Reported-by: srobertson@peratonlabs.com +Bug-Reference-ID: +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2022-09/msg00049.html + +Bug-Description: + +It's possible for readline to try to zero out a line that's not null- +terminated, leading to a memory fault. + +Patch (apply with `patch -p0'): + +*** ../readline-8.2-patched/display.c 2022-04-05 10:47:31.000000000 -0400 +--- display.c 2022-12-13 13:11:22.000000000 -0500 +*************** +*** 2684,2692 **** + + if (visible_line) +! { +! temp = visible_line; +! while (*temp) +! *temp++ = '\0'; +! } + rl_on_new_line (); + forced_display++; +--- 2735,2740 ---- + + if (visible_line) +! memset (visible_line, 0, line_size); +! + rl_on_new_line (); + forced_display++; +*** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 1 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 2 diff --git a/readline/readline82-003.patch b/readline/readline82-003.patch new file mode 100644 index 0000000..e9fe2c0 --- /dev/null +++ b/readline/readline82-003.patch @@ -0,0 +1,43 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 8.2 +Patch-ID: readline82-003 + +Bug-Reported-by: Stefan Klinger +Bug-Reference-ID: +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2023-08/msg00018.html + +Bug-Description: + +Patch (apply with `patch -p0'): + +The custom color prefix that readline uses to color possible completions +must have a leading `.'. + +*** ../readline-8.2-patched/colors.c 2021-12-08 11:38:25.000000000 -0500 +--- colors.c 2023-08-28 16:40:04.000000000 -0400 +*************** +*** 74,78 **** + static void restore_default_color (void); + +! #define RL_COLOR_PREFIX_EXTENSION "readline-colored-completion-prefix" + + COLOR_EXT_TYPE *_rl_color_ext_list = 0; +--- 74,78 ---- + static void restore_default_color (void); + +! #define RL_COLOR_PREFIX_EXTENSION ".readline-colored-completion-prefix" + + COLOR_EXT_TYPE *_rl_color_ext_list = 0; +*** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 2 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 3 diff --git a/readline/readline82-004.patch b/readline/readline82-004.patch new file mode 100644 index 0000000..d60c662 --- /dev/null +++ b/readline/readline82-004.patch @@ -0,0 +1,65 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 8.2 +Patch-ID: readline82-004 + +Bug-Reported-by: Henry Bent +Bug-Reference-ID: +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2022-11/msg00044.html + +Bug-Description: + +Patch (apply with `patch -p0'): + +There are systems that supply one of select or pselect, but not both. + +*** ../readline-8.2-patched/input.c 2022-04-08 15:43:24.000000000 -0400 +--- input.c 2022-11-28 09:41:08.000000000 -0500 +*************** +*** 152,156 **** +--- 152,158 ---- + int _rl_timeout_init (void); + int _rl_timeout_sigalrm_handler (void); ++ #if defined (RL_TIMEOUT_USE_SELECT) + int _rl_timeout_select (int, fd_set *, fd_set *, fd_set *, const struct timeval *, const sigset_t *); ++ #endif + + static void _rl_timeout_handle (void); +*************** +*** 249,253 **** + int chars_avail, k; + char input; +! #if defined(HAVE_SELECT) + fd_set readfds, exceptfds; + struct timeval timeout; +--- 251,255 ---- + int chars_avail, k; + char input; +! #if defined (HAVE_PSELECT) || defined (HAVE_SELECT) + fd_set readfds, exceptfds; + struct timeval timeout; +*************** +*** 806,810 **** + unsigned char c; + int fd; +! #if defined (HAVE_PSELECT) + sigset_t empty_set; + fd_set readfds; +--- 815,819 ---- + unsigned char c; + int fd; +! #if defined (HAVE_PSELECT) || defined (HAVE_SELECT) + sigset_t empty_set; + fd_set readfds; +*** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 3 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 4 diff --git a/readline/readline82-005.patch b/readline/readline82-005.patch new file mode 100644 index 0000000..57f507f --- /dev/null +++ b/readline/readline82-005.patch @@ -0,0 +1,50 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 8.2 +Patch-ID: readline82-005 + +Bug-Reported-by: Simon Marchi +Bug-Reference-ID: +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-09/msg00005.html + +Bug-Description: + +If an application is using readline in callback mode, and a signal arrives +after readline checks for it in rl_callback_read_char() but before it +restores the application's signal handlers, it won't get processed until the +next time the application calls rl_callback_read_char(). Readline needs to +check for and resend any pending signals after restoring the application's +signal handlers. + +Patch (apply with `patch -p0'): + +*** ../readline-8.2-patched/callback.c 2022-04-29 12:02:56.000000000 -0400 +--- callback.c 2022-10-11 10:59:06.000000000 -0400 +*************** +*** 116,120 **** + do { \ + if (rl_persistent_signal_handlers == 0) \ +! rl_clear_signals (); \ + return; \ + } while (0) +--- 116,123 ---- + do { \ + if (rl_persistent_signal_handlers == 0) \ +! { \ +! rl_clear_signals (); \ +! if (_rl_caught_signal) _rl_signal_handler (_rl_caught_signal); \ +! } \ + return; \ + } while (0) +*** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 4 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 5 diff --git a/readline/readline82-006.patch b/readline/readline82-006.patch new file mode 100644 index 0000000..9e315e8 --- /dev/null +++ b/readline/readline82-006.patch @@ -0,0 +1,99 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 8.2 +Patch-ID: readline82-006 + +Bug-Reported-by: Tom de Vries +Bug-Reference-ID: +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-09/msg00001.html + +Bug-Description: + +This is a variant of the same issue as the one fixed by patch 5. In this +case, the signal arrives and is pending before readline calls rl_getc(). +When this happens, the pending signal will be handled by the loop, but may +alter or destroy some state that the callback uses. Readline needs to treat +this case the same way it would if a signal interrupts pselect/select, so +compound operations like searches and reading numeric arguments get cleaned +up properly. + +Patch (apply with `patch -p0'): + +*** ../readline-8.2-patched/input.c 2022-12-22 16:15:48.000000000 -0500 +--- input.c 2023-01-10 11:53:45.000000000 -0500 +*************** +*** 812,816 **** + rl_getc (FILE *stream) + { +! int result; + unsigned char c; + int fd; +--- 812,816 ---- + rl_getc (FILE *stream) + { +! int result, ostate, osig; + unsigned char c; + int fd; +*************** +*** 823,828 **** +--- 823,842 ---- + while (1) + { ++ osig = _rl_caught_signal; ++ ostate = rl_readline_state; ++ + RL_CHECK_SIGNALS (); + ++ #if defined (READLINE_CALLBACKS) ++ /* Do signal handling post-processing here, but just in callback mode ++ for right now because the signal cleanup can change some of the ++ callback state, and we need to either let the application have a ++ chance to react or abort some current operation that gets cleaned ++ up by rl_callback_sigcleanup(). If not, we'll just run through the ++ loop again. */ ++ if (osig != 0 && (ostate & RL_STATE_CALLBACK)) ++ goto postproc_signal; ++ #endif ++ + /* We know at this point that _rl_caught_signal == 0 */ + +*************** +*** 888,891 **** +--- 902,908 ---- + + handle_error: ++ osig = _rl_caught_signal; ++ ostate = rl_readline_state; ++ + /* If the error that we received was EINTR, then try again, + this is simply an interrupted system call to read (). We allow +*************** +*** 928,933 **** +--- 945,959 ---- + #endif /* SIGALRM */ + ++ postproc_signal: ++ /* POSIX says read(2)/pselect(2)/select(2) don't return EINTR for any ++ reason other than being interrupted by a signal, so we can safely ++ call the application's signal event hook. */ + if (rl_signal_event_hook) + (*rl_signal_event_hook) (); ++ #if defined (READLINE_CALLBACKS) ++ else if (osig == SIGINT && (ostate & RL_STATE_CALLBACK) && (ostate & (RL_STATE_ISEARCH|RL_STATE_NSEARCH|RL_STATE_NUMERICARG))) ++ /* just these cases for now */ ++ _rl_abort_internal (); ++ #endif + } + } +*** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 5 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 6 diff --git a/readline/readline82-007.patch b/readline/readline82-007.patch new file mode 100644 index 0000000..b0394e0 --- /dev/null +++ b/readline/readline82-007.patch @@ -0,0 +1,48 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 8.2 +Patch-ID: readline82-007 + +Bug-Reported-by: Kevin Pulo +Bug-Reference-ID: +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2022-11/msg00002.html + +Bug-Description: + +If readline is called with no prompt, it should display a newline if return +is typed on an empty line. It should still suppress the final newline if +return is typed on the last (empty) line of a multi-line command. + +Patch (apply with `patch -p0'): + +*** ../readline-8.2-patched/display.c 2022-04-05 10:47:31.000000000 -0400 +--- display.c 2022-12-13 13:11:22.000000000 -0500 +*************** +*** 3342,3348 **** + &last_face[_rl_screenwidth - 1 + woff], 1); + } +! _rl_vis_botlin = 0; +! if (botline_length > 0 || _rl_last_c_pos > 0) + rl_crlf (); + fflush (rl_outstream); + rl_display_fixed++; +--- 3394,3400 ---- + &last_face[_rl_screenwidth - 1 + woff], 1); + } +! if ((_rl_vis_botlin == 0 && botline_length == 0) || botline_length > 0 || _rl_last_c_pos > 0) + rl_crlf (); ++ _rl_vis_botlin = 0; + fflush (rl_outstream); + rl_display_fixed++; +*** ../readline-8.2/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 6 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 7 diff --git a/zlib-ng/PKGBUILD b/zlib-ng/PKGBUILD index d3fbac1..1d3c9ad 100644 --- a/zlib-ng/PKGBUILD +++ b/zlib-ng/PKGBUILD @@ -14,6 +14,7 @@ sha256sums=("3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04") build() { cd "$pkgname-$pkgver" + CFLAGS="$CFLAGS -fPIC" ./configure \ --prefix=/usr \ --zlib-compat diff --git a/zstd/PKGBUILD b/zstd/PKGBUILD index c7d4d36..74219cf 100644 --- a/zstd/PKGBUILD +++ b/zstd/PKGBUILD @@ -6,26 +6,20 @@ pkgrel=1 pkgdesc="Zstandard - Fast real-time compression algorithm" arch=("x86_64") url="https://facebook.github.io/zstd/" -license=(BSD GPL2) +license=("BSD" "GPL2") +depends=("zlib-ng") +makedepends=("cmake" "ninja") source=("https://github.com/facebook/zstd/releases/download/v$pkgver/zstd-$pkgver.tar.gz") sha256sums=("9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4") -prepare() { - cd $pkgname-$pkgver - # avoid error on tests without static libs, we use LD_LIBRARY_PATH - sed "/build static library to build tests/d" -i build/cmake/CMakeLists.txt - sed "s/libzstd_static/libzstd_shared/g" -i build/cmake/tests/CMakeLists.txt -} - build() { cd $pkgname-$pkgver cmake -S build/cmake -B build -G Ninja \ - -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DZSTD_ZLIB_SUPPORT=ON \ -DZSTD_BUILD_CONTRIB=ON \ - -DZSTD_BUILD_STATIC=OFF \ -DZSTD_BUILD_TESTS=ON \ -DZSTD_PROGRAMS_LINK_SHARED=ON @@ -34,8 +28,7 @@ build() { package() { cd $pkgname-$pkgver - DESTDIR=$pkgdir ninja -C build install - install -Dm 644 LICENSE -t $pkgdir/usr/share/licenses/$pkgname + DESTDIR=$pkgdir ninja -C build install mv $pkgdir/usr/lib64 $pkgdir/usr/lib }