more package updates and changes

This commit is contained in:
Daryl Ronningen 2023-12-11 05:18:00 -08:00
parent 6b9168b68a
commit 5a58981d91
Signed by: Daryl Ronningen
GPG key ID: FD23F0C934A5EC6B
50 changed files with 1828 additions and 79 deletions

1
.gitignore vendored
View file

@ -1,5 +1,4 @@
*tar.*
pkg
src
readline*
*.tgz

28
acl/PKGBUILD Normal file
View file

@ -0,0 +1,28 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
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
}

29
attr/PKGBUILD Normal file
View file

@ -0,0 +1,29 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
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
}

View file

@ -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"

View file

@ -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 \

24
blake2/PKGBUILD Normal file
View file

@ -0,0 +1,24 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
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
}

View file

@ -13,7 +13,7 @@ source=(
)
sha256sums=(
"b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314"
"035fb8b3a475a9264a4c443ab83f123a40d758ae7d969e59523985a4f9070376"
"690096523071b0074fc62db2c6308b2853d7a2a081b7103c2117cd4f33f98d9f"
)
build() {

View file

@ -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

View file

@ -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() {

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,111 @@
From 8b754551389ec6faa44f04ba0cd785f0e6a588fd Mon Sep 17 00:00:00 2001
From: Daniel Kolesa <daniel@octaforge.org>
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

View file

@ -0,0 +1,30 @@
From b32a0c3fc5ce209751e5a139d9c39628a85db48a Mon Sep 17 00:00:00 2001
From: Daryl Ronningen <relms@relms.dev>
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 <sys/types.h>
--
2.43.0

47
fakeroot/PKGBUILD Normal file
View file

@ -0,0 +1,47 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
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"
}

View file

@ -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
}

View file

@ -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")

View file

@ -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}
}

View file

@ -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")

View file

@ -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")

View file

@ -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")

View file

@ -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")

21
libatomic/PKGBUILD Normal file
View file

@ -0,0 +1,21 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
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
}

View file

@ -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/
}

24
libseccomp/PKGBUILD Normal file
View file

@ -0,0 +1,24 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
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
}

View file

@ -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

22
lz4/PKGBUILD Normal file
View file

@ -0,0 +1,22 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
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
}

28
lzlib/PKGBUILD Normal file
View file

@ -0,0 +1,28 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
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
}

View file

@ -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')

View file

@ -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 <vimproved@inventati.org>
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

View file

@ -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 <relms@relms.dev>
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 ++++++++++++++--

View file

@ -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 <daniel@octaforge.org>
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 +-

View file

@ -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 <daniel@octaforge.org>
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 +++++++++++++++++++++++---------

View file

@ -0,0 +1,728 @@
From fb4380062eedf5c477c40af3c42663b49eb6ca8f Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
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

View file

@ -0,0 +1,237 @@
From e785f60f730e6b51ce1bd0cf8375245ce9683555 Mon Sep 17 00:00:00 2001
From: psykose <alice@ayaya.dev>
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 <sys/select.h>
#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

View file

@ -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
}

1
musl/ld-musl.path Normal file
View file

@ -0,0 +1 @@
/usr/lib

View file

@ -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 \

View file

@ -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

View file

@ -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")

View file

@ -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

View file

@ -1,4 +1,4 @@
#Maintainer: Daryl Ronningen <relms@relms.dev>
# Maintainer: Daryl Ronningen <relms@relms.dev>
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
}

View file

@ -0,0 +1,42 @@
READLINE PATCH REPORT
=====================
Readline-Release: 8.2
Patch-ID: readline82-001
Bug-Reported-by: Kan-Ru Chen <koster@debian.org>
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

View file

@ -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

View file

@ -0,0 +1,43 @@
READLINE PATCH REPORT
=====================
Readline-Release: 8.2
Patch-ID: readline82-003
Bug-Reported-by: Stefan Klinger <readline-gnu.org@stefan-klinger.de>
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

View file

@ -0,0 +1,65 @@
READLINE PATCH REPORT
=====================
Readline-Release: 8.2
Patch-ID: readline82-004
Bug-Reported-by: Henry Bent <henry.r.bent@gmail.com>
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

View file

@ -0,0 +1,50 @@
READLINE PATCH REPORT
=====================
Readline-Release: 8.2
Patch-ID: readline82-005
Bug-Reported-by: Simon Marchi <simon.marchi@polymtl.ca>
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

View file

@ -0,0 +1,99 @@
READLINE PATCH REPORT
=====================
Readline-Release: 8.2
Patch-ID: readline82-006
Bug-Reported-by: Tom de Vries <tdevries@suse.de>
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

View file

@ -0,0 +1,48 @@
READLINE PATCH REPORT
=====================
Readline-Release: 8.2
Patch-ID: readline82-007
Bug-Reported-by: Kevin Pulo <kev@pulo.com.au>
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

View file

@ -14,6 +14,7 @@ sha256sums=("3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04")
build() {
cd "$pkgname-$pkgver"
CFLAGS="$CFLAGS -fPIC"
./configure \
--prefix=/usr \
--zlib-compat

View file

@ -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
}