reformat pkgbuilds

This commit is contained in:
Daryl Ronningen 2023-12-07 18:05:38 -08:00
parent 3ded85b35c
commit c149f856dc
Signed by: Daryl Ronningen
GPG key ID: FD23F0C934A5EC6B
35 changed files with 658 additions and 1043 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
*tar* *tar*
pkg pkg
src src
readline*

View file

@ -4,26 +4,27 @@ pkgname=argp-standalone
pkgver=1.5.0 pkgver=1.5.0
pkgrel=1 pkgrel=1
pkgdesc="Standalone version of Glibc's ARGP" pkgdesc="Standalone version of Glibc's ARGP"
arch=('x86_64') arch=("x86_64")
url="https://github.com/argp-standalone/argp-standalone" url="https://github.com/argp-standalone/argp-standalone"
license=('LGPL-2.1-or-later') license=("LGPL-2.1-or-later")
source=(https://github.com/argp-standalone/argp-standalone/archive/$pkgver.tar.gz) source=("$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz")
sha256sums=('c29eae929dfebd575c38174f2c8c315766092cec99a8f987569d0cad3c6d64f6') sha256sums=("c29eae929dfebd575c38174f2c8c315766092cec99a8f987569d0cad3c6d64f6")
prepare() { prepare() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
autoreconf -fi autoreconf -fi
} }
build() { build() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
CFLAGS+=" -fPIC" ./configure --prefix=/usr
make CFLAGS+=" -fPIC" ./configure --prefix=/usr
make
} }
package() { package() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
install -D -m644 argp.h "$pkgdir"/usr/include/argp.h install -D -m644 argp.h $pkgdir/usr/include/argp.h
install -D -m755 libargp.a "$pkgdir"/usr/lib/libargp.a install -D -m644 libargp.a $pkgdir/usr/lib/libargp.a
} }

View file

@ -3,28 +3,28 @@
pkgname=base pkgname=base
pkgver=1 pkgver=1
pkgrel=1 pkgrel=1
pkgdesc='Minimal package set to define a basic Ikeda Linux installation' pkgdesc="Minimal package set to define a basic Ikeda Linux installation"
url='https://www.ikedalinux.org' arch=("any")
arch=('any') url="https://www.ikedalinux.org"
depends=( depends=(
# very very base # very very base
'filesystem' "filesystem"
# libc # libc & runtimes
'musl' 'argp-standalone' 'musl-fts' 'musl-obstack' "musl" "argp-standalone" "musl-fts" "musl-obstack" "llvm-runtimes"
# POSIX tools # POSIX tools
'busybox' 'file' 'findutils' 'gawk' 'grep' 'procps-ng' 'libarchive' 'bash' "busybox" "file" "findutils" "gawk" "grep" "procps-ng" "libarchive" "bash"
# standard linux toolset # standard linux toolset
#'gettext' 'pciutils' 'psmisc' 'shadow' 'util-linux' #"gettext" "pciutils" "psmisc" "shadow" "util-linux"
# distro defined requirements # distro defined requirements
#'licenses' 'pacman' #"licenses" "pacman"
# libraries for tools # libraries for tools
'ncurses' 'readline' 'xz' 'zstd' 'zlib-ng' 'mpfr' 'gmp' 'pcre2' 'bzip2' 'libressl' 'expat' "ncurses" "readline" "xz" "zstd" "zlib-ng" "mpfr" "gmp" "pcre2" "bzip2" "libressl" "expat"
) )
optdepends=( optdepends=(
'linux: bare metal support' "linux: bare metal support"
) )

View file

@ -3,57 +3,64 @@
pkgname=bash pkgname=bash
pkgver=5.2.21 pkgver=5.2.21
pkgrel=1 pkgrel=1
pkgdesc='The GNU Bourne Again shell' pkgdesc="The GNU Bourne Again shell"
arch=(x86_64) arch=("x86_64")
license=(GPL) url="https://www.gnu.org/software/bash/bash.html"
url='https://www.gnu.org/software/bash/bash.html' license=("GPL-3.0")
depends=("ncurses" "readline")
optdepends=("bash-completion: for tab completion")
provides=("sh")
backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout}) backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout})
optdepends=('bash-completion: for tab completion')
provides=('sh')
install=bash.install install=bash.install
source=(https://ftp.gnu.org/gnu/bash/bash-$pkgver.tar.gz source=(
dot.bashrc "https://ftp.gnu.org/gnu/bash/bash-$pkgver.tar.gz"
dot.bash_profile "dot.bashrc"
dot.bash_logout "dot.bash_profile"
system.bashrc "dot.bash_logout"
system.bash_logout) "system.bashrc"
sha256sums=('c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8' "system.bash_logout"
'959bc596166c9758fdd68836581f6b8f1d6fdb947d580bf24dce607998a077b8' )
'e149407c2bee17779caec70a7edd3d0000d172e7e4347429b80cb4d55bcec9c2' sha256sums=(
'4330edf340394d0dae50afb04ac2a621f106fe67fb634ec81c4bfb98be2a1eb5' "c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8"
'51ceca7cd615ff4e2f8f3373a46ac7bfd453be70bbaddc074cb17f6db1ac7370' "959bc596166c9758fdd68836581f6b8f1d6fdb947d580bf24dce607998a077b8"
'025bccfb374a3edce0ff8154d990689f30976b78f7a932dc9a6fcef81821811e') "e149407c2bee17779caec70a7edd3d0000d172e7e4347429b80cb4d55bcec9c2"
"4330edf340394d0dae50afb04ac2a621f106fe67fb634ec81c4bfb98be2a1eb5"
"51ceca7cd615ff4e2f8f3373a46ac7bfd453be70bbaddc074cb17f6db1ac7370"
"025bccfb374a3edce0ff8154d990689f30976b78f7a932dc9a6fcef81821811e"
)
build() { build() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
_bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/bin\"\' _bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/bin\"\'
-DSTANDARD_UTILS_PATH=\'\"/usr/bin\"\' -DSTANDARD_UTILS_PATH=\'\"/usr/bin\"\'
-DSYS_BASHRC=\'\"/etc/bash.bashrc\"\' -DSYS_BASHRC=\'\"/etc/bash.bashrc\"\'
-DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\' -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\'
-DNON_INTERACTIVE_LOGIN_SHELLS) -DNON_INTERACTIVE_LOGIN_SHELLS)
export CFLAGS="$CFLAGS $_bashconfig[@]"
./configure \ ./configure \
--prefix=/usr \ --prefix=/usr \
--with-curses \ --with-curses \
--enable-readline \ --enable-readline \
--without-bash-malloc \ --without-bash-malloc \
--with-installed-readline --with-installed-readline
make
make
} }
package() { package() {
make -C $pkgname-$pkgver DESTDIR="$pkgdir" install make -C $pkgname-$pkgver DESTDIR=$pkgdir install
ln -s bash "$pkgdir/usr/bin/sh" ln -s bash $pkgdir/usr/bin/sh
ln -s bash "$pkgdir/usr/bin/rbash" ln -s bash $pkgdir/usr/bin/rbash
# system-wide configuration files # system-wide configuration files
install -Dm644 system.bashrc "$pkgdir/etc/bash.bashrc" install -Dm644 system.bashrc $pkgdir/etc/bash.bashrc
install -Dm644 system.bash_logout "$pkgdir/etc/bash.bash_logout" install -Dm644 system.bash_logout $pkgdir/etc/bash.bash_logout
# user configuration file skeletons # user configuration file skeletons
install -dm755 "$pkgdir/etc/skel/" install -dm755 $pkgdir/etc/skel/
install -m644 dot.bashrc "$pkgdir/etc/skel/.bashrc" install -m644 dot.bashrc $pkgdir/etc/skel/.bashrc
install -m644 dot.bash_profile "$pkgdir/etc/skel/.bash_profile" install -m644 dot.bash_profile $pkgdir/etc/skel/.bash_profile
install -m644 dot.bash_logout "$pkgdir/etc/skel/.bash_logout" install -m644 dot.bash_logout $pkgdir/etc/skel/.bash_logout
} }

View file

@ -6,39 +6,41 @@ pkgrel=1
pkgdesc="Utilities for rescue and embedded systems" pkgdesc="Utilities for rescue and embedded systems"
arch=("x86_64") arch=("x86_64")
url="https://www.busybox.net" url="https://www.busybox.net"
license=('GPL-2.0-ONLY') license=("GPL-2.0-ONLY")
#makedepends=("ncurses") source=(
source=("https://busybox.net/downloads/busybox-$pkgver.tar.bz2" "$url/downloads/busybox-$pkgver.tar.bz2"
"config") "config"
sha256sums=('b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314' )
'5c5664f75ae5649c9e55f0d3a52fad4e67428f1accf37e555af7f28efbd566e1') sha256sums=(
"b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314"
"5c5664f75ae5649c9e55f0d3a52fad4e67428f1accf37e555af7f28efbd566e1"
)
build() { build() {
cd "$srcdir/$pkgname-$pkgver" cd $pkgname-$pkgver
cp "$srcdir"/config .config cp $srcdir/config .config
# reproducible build # reproducible build
export KCONFIG_NOTIMESTAMP=1 export KCONFIG_NOTIMESTAMP=1
make make
} }
package() { package() {
cd "$srcdir/$pkgname-$pkgver" cd $pkgname-$pkgver
make install make install
# Move all applets into /usr/bin # Move all applets into /usr/bin
cd "$pkgdir" cd $pkgdir
mv bin/* usr/bin/ mv bin/* usr/bin/
mv sbin/* usr/bin/ mv sbin/* usr/bin/
mv usr/sbin/* usr/bin/ mv usr/sbin/* usr/bin/
rm -rf bin/ sbin/ usr/sbin/ rm -rf bin/ sbin/ usr/sbin/
cd "$srcdir/$pkgname-$pkgver" cd $pkgname-$pkgver
# docs # docs
install -Dm644 docs/busybox.1 "$pkgdir"/usr/share/man/man1/busybox.1 install -Dm644 docs/busybox.1 $pkgdir/usr/share/man/man1/busybox.1
for doc in BusyBox.html BusyBox.txt; do for doc in BusyBox.html BusyBox.txt; do
install -Dm644 docs/$doc "$pkgdir"/usr/share/doc/$pkgname/$doc install -Dm644 docs/$doc $pkgdir/usr/share/doc/$pkgname/$doc
done done
} }

View file

@ -4,38 +4,32 @@ pkgname=bzip2
pkgver=1.0.8 pkgver=1.0.8
pkgrel=1 pkgrel=1
pkgdesc="A high-quality data compression program" pkgdesc="A high-quality data compression program"
arch=('x86_64') arch=("x86_64")
license=('BSD')
url="https://sourceware.org/bzip2/" url="https://sourceware.org/bzip2/"
source=(https://sourceware.org/pub/bzip2/$pkgname-$pkgver.tar.gz) license=("BSD")
sha256sums=('ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269') source=("https://sourceware.org/pub/bzip2/$pkgname-$pkgver.tar.gz")
sha256sums=("ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269")
build() { build() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
make -f Makefile-libbz2_so CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS" make -f Makefile-libbz2_so
make bzip2 bzip2recover CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS" make
} }
package() { package() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
install -dm755 "$pkgdir"/usr/{bin,lib,include,share/man/man1} make install PREFIX=$pkgdir/usr
install -m755 bzip2-shared "$pkgdir"/usr/bin/bzip2 # Fix symlinks
install -m755 bzip2recover bzdiff bzgrep bzmore "$pkgdir"/usr/bin rm $pkgdir/usr/bin/bz{cmp,egrep,fgrep,less}
ln -sf bzip2 "$pkgdir"/usr/bin/bunzip2 ln -s bzdiff $pkgdir/usr/bin/bzcmp
ln -sf bzip2 "$pkgdir"/usr/bin/bzcat ln -s bzgrep $pkgdir/usr/bin/bzegrep
ln -s bzgrep $pkgdir/usr/bin/bzfgrep
ln -s bzmore $pkgdir/usr/bin/bzless
cp -a libbz2.so* "$pkgdir"/usr/lib cp -a libbz2.so* $pkgdir/usr/lib
ln -s libbz2.so.$pkgver "$pkgdir"/usr/lib/libbz2.so ln -s libbz2.so.$pkgver $pkgdir/usr/lib/libbz2.so
ln -s libbz2.so.$pkgver "$pkgdir"/usr/lib/libbz2.so.1 # For compatibility with some other distros ln -s libbz2.so.$pkgver $pkgdir/usr/lib/libbz2.so.1 # For compatibility with some other distros
install -m644 bzlib.h "$pkgdir"/usr/include/
install -m644 bzip2.1 "$pkgdir"/usr/share/man/man1/
ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bunzip2.1
ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bzcat.1
ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bzip2recover.1
} }

View file

@ -4,28 +4,25 @@ pkgname=expat
pkgver=2.5.0 pkgver=2.5.0
pkgrel=1 pkgrel=1
pkgdesc="An XML parser library" pkgdesc="An XML parser library"
arch=(x86_64) arch=("x86_64")
url="https://libexpat.github.io/" url="https://libexpat.github.io/"
license=(MIT) license=("MIT")
makedepends=(cmake) source=("https://github.com/libexpat/libexpat/releases/download/R_${pkgver//./_}/$pkgname-$pkgver.tar.bz2")
source=(https://github.com/libexpat/libexpat/releases/download/R_${pkgver//./_}/$pkgname-$pkgver.tar.bz2) sha256sums=("6f0e6e01f7b30025fa05c85fdad1e5d0ec7fd35d9f61b22f34998de11969ff67")
sha512sums=('22fd904d75aab7506a85c03519b9cf79e44898c8e1ba6abf6cb7f95de71b8e63a7e2d5cf4395e3627d46035ea29342b3e631a8809fef8aad3f59976dc075ad17')
build() { build() {
cmake -DCMAKE_INSTALL_PREFIX=/usr \ cd $pkgname-$pkgver
-DCMAKE_BUILD_TYPE=None \
-W no-dev \ cmake -G Ninja \
-B build \ -DCMAKE_INSTALL_PREFIX=/usr \
-S $pkgname-$pkgver -DCMAKE_BUILD_TYPE=Release \
make VERBOSE=1 -C build -B build
ninja -C build
} }
package() { package() {
make VERBOSE=1 DESTDIR="$pkgdir" -C build install cd $pkgname-$pkgver
mkdir $pkgdir/usr/lib DESTDIR=$pkgdir ninja -C build install
mv $pkgdir/usr/lib64/* $pkgdir/usr/lib/
rm -rf $pkgdir/usr/lib64
install -vDm 644 $pkgname-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
install -vDm 644 $pkgname-$pkgver/{AUTHORS,Changes,README.md} -t "$pkgdir/usr/share/doc/$pkgname/"
} }

View file

@ -3,30 +3,25 @@
pkgname=file pkgname=file
pkgver=5.45 pkgver=5.45
pkgrel=1 pkgrel=1
pkgdesc='File type identification utility' pkgdesc="File type identification utility"
arch=('x86_64') arch=("x86_64")
license=('custom') url="https://www.darwinsys.com/file/"
url='https://www.darwinsys.com/file/' license=("custom")
#depends=('xz' 'zstd')
source=("https://astron.com/pub/$pkgname/$pkgname-$pkgver.tar.gz") source=("https://astron.com/pub/$pkgname/$pkgname-$pkgver.tar.gz")
sha256sums=('fc97f51029bb0e2c9f4e3bffefdaf678f0e039ee872b9de5c002a6d09c784d82') sha256sums=("fc97f51029bb0e2c9f4e3bffefdaf678f0e039ee872b9de5c002a6d09c784d82")
build() { build() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
# Fix linking libmagic (vfork needs libpthread) ./configure \
CFLAGS+=" -pthread" --prefix=/usr \
--datadir=/usr/share/file \
--enable-fsect-man5
./configure \ make
--prefix=/usr \
--datadir=/usr/share/file \
--enable-fsect-man5 \
--enable-libseccomp
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
} }
package() { package() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install make DESTDIR=$pkgdir install
} }

View file

@ -3,86 +3,88 @@
pkgname=filesystem pkgname=filesystem
pkgver=2023.12.04 pkgver=2023.12.04
pkgrel=1 pkgrel=1
pkgdesc='Base Ikeda Linux files' pkgdesc="Base Ikeda Linux files"
arch=('any') arch=("any")
license=('GPL-3.0-or-later') url="https://archlinux.org"
url='https://archlinux.org' license=("GPL-3.0-or-later")
backup=('etc/fstab' 'etc/group' 'etc/gshadow' 'etc/hosts' 'etc/issue' 'etc/passwd' 'etc/profile' 'etc/resolv.conf' 'etc/shadow' 'etc/shells') backup=("etc/fstab" "etc/group" "etc/gshadow" "etc/hosts" "etc/issue" "etc/passwd" "etc/profile" "etc/resolv.conf" "etc/shadow" "etc/shells")
source=('fstab' 'group' 'gshadow' 'hosts' 'issue' 'os-release' 'profile' 'passwd' 'resolv.conf' 'shadow' 'shells') source=("fstab" "group" "gshadow" "hosts" "issue" "os-release" "profile" "passwd" "resolv.conf" "shadow" "shells")
sha256sums=('e54626e74ed8fee4173b62a545ab1c3a3a069e4217a0ee8fc398d9933e9c1696' sha256sums=(
'244f0718ee2a9d6862ae59d6c18c1dd1568651eada91a704574fa527fbac2b3a' "e54626e74ed8fee4173b62a545ab1c3a3a069e4217a0ee8fc398d9933e9c1696"
'90d879374f77bac47f132164c1e7fc4892e994ff1d1ac376efa0c1c26ea37273' "244f0718ee2a9d6862ae59d6c18c1dd1568651eada91a704574fa527fbac2b3a"
'd9cd8a77d9e0aa5e90d7f4ed74c8745c17b525e720e28e4c44364150003c35f9' "90d879374f77bac47f132164c1e7fc4892e994ff1d1ac376efa0c1c26ea37273"
'37c99de580e5de5f8f50b242a9afcee1bb1bc8a59cb5053b44811081f18d243b' "d9cd8a77d9e0aa5e90d7f4ed74c8745c17b525e720e28e4c44364150003c35f9"
'7b547a6a4cbbb8f4b98bfb8efa439678f9b6d0f14846cb1cf06555cdd4cd860c' "37c99de580e5de5f8f50b242a9afcee1bb1bc8a59cb5053b44811081f18d243b"
'8f08231922fe185d3132f9aedded5cd688fb7c482a6f6f272402ded82fa4849a' "7b547a6a4cbbb8f4b98bfb8efa439678f9b6d0f14846cb1cf06555cdd4cd860c"
'5e06477834f51abf42ea4e8dc199632afc6afbfd8c44354685a271e9a48d2c0a' "8f08231922fe185d3132f9aedded5cd688fb7c482a6f6f272402ded82fa4849a"
'5557d8e601b17a80d1ea7de78a9869be69637cb6a02fbfe334e22fdf64e61d4c' "5e06477834f51abf42ea4e8dc199632afc6afbfd8c44354685a271e9a48d2c0a"
'6e13705ac4d6f69cdba118c6b70c722346fd3c45224133e6bbfe28aca719563c' "5557d8e601b17a80d1ea7de78a9869be69637cb6a02fbfe334e22fdf64e61d4c"
'ec289c03aa0d150e90e8287f001c8e6552ab9dd54f450bdb5c2d2254e477965b') "6e13705ac4d6f69cdba118c6b70c722346fd3c45224133e6bbfe28aca719563c"
"ec289c03aa0d150e90e8287f001c8e6552ab9dd54f450bdb5c2d2254e477965b"
)
package() { package() {
cd "$pkgdir" cd $pkgdir
# setup root filesystem # setup root filesystem
for d in boot dev etc home mnt usr var opt srv/http run; do for d in boot dev etc home mnt usr var opt srv/http run; do
install -d -m755 $d install -d -m755 $d
done done
install -d -m555 proc install -d -m555 proc
install -d -m555 sys install -d -m555 sys
install -d -m0750 root install -d -m0750 root
install -d -m1777 tmp install -d -m1777 tmp
# vsftpd won't run with write perms on /srv/ftp # vsftpd won't run with write perms on /srv/ftp
# ftp (uid 14/gid 11) # ftp (uid 14/gid 11)
install -d -m555 -g 11 srv/ftp install -d -m555 -g 11 srv/ftp
# setup /etc and /usr/share/factory/etc # setup /etc and /usr/share/factory/etc
install -d etc/{skel,profile.d} usr/share/factory/etc install -d etc/{skel,profile.d} usr/share/factory/etc
for f in fstab group hosts issue passwd resolv.conf shells profile; do for f in fstab group hosts issue passwd resolv.conf shells profile; do
install -m644 "$srcdir"/$f etc/ install -m644 $srcdir/$f etc/
install -m644 "$srcdir"/$f usr/share/factory/etc/ install -m644 $srcdir/$f usr/share/factory/etc/
done done
ln -s ../proc/self/mounts etc/mtab ln -s ../proc/self/mounts etc/mtab
for f in gshadow; do for f in gshadow; do
install -m600 "$srcdir"/$f etc/ install -m600 $srcdir/$f etc/
install -m600 "$srcdir"/$f usr/share/factory/etc/ install -m600 $srcdir/$f usr/share/factory/etc/
done done
touch etc/ikeda-release touch etc/ikeda-release
install -Dm644 "$srcdir"/os-release usr/lib/os-release install -Dm644 "$srcdir"/os-release usr/lib/os-release
# setup /var # setup /var
for d in cache local opt log/old lib/misc empty; do for d in cache local opt log/old lib/misc empty; do
install -d -m755 var/$d install -d -m755 var/$d
done done
install -d -m1777 var/{tmp,spool/mail} install -d -m1777 var/{tmp,spool/mail}
# allow setgid games (gid 50) to write scores # allow setgid games (gid 50) to write scores
install -d -m775 -g 50 var/games install -d -m775 -g 50 var/games
ln -s spool/mail var/mail ln -s spool/mail var/mail
ln -s ../run var/run ln -s ../run var/run
ln -s ../run/lock var/lock ln -s ../run/lock var/lock
# setup /usr hierarchy # setup /usr hierarchy
for d in bin include lib share/{misc,pixmaps} src; do for d in bin include lib share/{misc,pixmaps} src; do
install -d -m755 usr/$d install -d -m755 usr/$d
done done
for d in {1..8}; do for d in {1..8}; do
install -d -m755 usr/share/man/man$d install -d -m755 usr/share/man/man$d
done done
ln -s usr/lib lib ln -s usr/lib lib
ln -s usr/bin bin ln -s usr/bin bin
ln -s usr/bin sbin ln -s usr/bin sbin
ln -s bin usr/sbin ln -s bin usr/sbin
[[ $CARCH = 'x86_64' ]] && { [[ $CARCH = "x86_64" ]] && {
ln -s usr/lib lib64 ln -s usr/lib lib64
ln -s lib usr/lib64 ln -s lib usr/lib64
} }
# setup /usr/local hierarchy # setup /usr/local hierarchy
for d in bin etc games include lib man sbin share src; do for d in bin etc games include lib man sbin share src; do
install -d -m755 usr/local/$d install -d -m755 usr/local/$d
done done
ln -s ../man usr/local/share/man ln -s ../man usr/local/share/man
} }

View file

@ -4,27 +4,20 @@ pkgname=findutils
pkgver=4.9.0 pkgver=4.9.0
pkgrel=1 pkgrel=1
pkgdesc="GNU utilities to locate files" pkgdesc="GNU utilities to locate files"
arch=('x86_64') arch=("x86_64")
license=('GPL3') url="https://www.gnu.org/software/findutils/"
url='https://www.gnu.org/software/findutils/' license=("GPL3")
source=("https://ftp.gnu.org/pub/gnu/findutils/${pkgname}-${pkgver}.tar.xz") source=("https://ftp.gnu.org/pub/gnu/findutils/findutils-${pkgver}.tar.xz")
sha256sums=('a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe') sha256sums=("a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe")
build() { build() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
# Don't build or install locate because we use mlocate, ./configure --prefix=/usr
# which is a secure version of locate. make
sed -e '/^SUBDIRS/s/locate//' -e 's/frcode locate updatedb//' -i Makefile.in
./configure --prefix=/usr
# don't build locate, but the docs want a file in there.
make -C locate dblocation.texi
make
} }
package() { package() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install make DESTDIR=$pkgdir install
} }

View file

@ -4,19 +4,20 @@ pkgname=gawk
pkgver=5.3.0 pkgver=5.3.0
pkgrel=1 pkgrel=1
pkgdesc="GNU version of awk" pkgdesc="GNU version of awk"
arch=('x86_64') arch=("x86_64")
url="https://www.gnu.org/software/gawk/" url="https://www.gnu.org/software/gawk/"
license=('GPL') license=("GPL")
source=(https://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz) source=("https://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz")
sha256sums=('378f8864ec21cfceaa048f7e1869ac9b4597b449087caf1eb55e440d30273336') sha256sums=("378f8864ec21cfceaa048f7e1869ac9b4597b449087caf1eb55e440d30273336")
build() { build() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
./configure --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc --without-libsigsegv
make ./configure --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc
make
} }
package() { package() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
make DESTDIR="${pkgdir}" install make DESTDIR=$pkgdir install
} }

View file

@ -3,24 +3,26 @@
pkgname=gmp pkgname=gmp
pkgver=6.3.0 pkgver=6.3.0
pkgrel=1 pkgrel=1
pkgdesc='A free library for arbitrary precision arithmetic' pkgdesc="A free library for arbitrary precision arithmetic"
arch=(x86_64) arch=("x86_64")
url='https://gmplib.org/' url="https://gmplib.org/"
license=(LGPL3 GPL) license=(LGPL3 GPL)
source=(https://gmplib.org/download/gmp/gmp-$pkgver.tar.lz) source=("https://gmplib.org/download/gmp/gmp-$pkgver.tar.lz")
sha256sums=('be5c908a7a836c3a9bd9d62aa58563c5e9e7fef94c43a7f42dbc35bb6d02733c') sha256sums=("be5c908a7a836c3a9bd9d62aa58563c5e9e7fef94c43a7f42dbc35bb6d02733c")
build() { build() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
./configure --build=${CHOST} --prefix=/usr \ ./configure \
--enable-cxx \ --build=$CHOST \
--enable-fat --prefix=/usr \
make --enable-cxx \
--enable-fat
make
} }
package() { package() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
make DESTDIR="${pkgdir}" install make DESTDIR=$pkgdir install
} }

View file

@ -3,20 +3,21 @@
pkgname=grep pkgname=grep
pkgver=3.11 pkgver=3.11
pkgrel=1 pkgrel=1
pkgdesc='A string search utility' pkgdesc="A string search utility"
arch=('x86_64') arch=("x86_64")
license=('GPL3') license=("GPL3")
url='https://www.gnu.org/software/grep/' url="https://www.gnu.org/software/grep/"
source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz") source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz")
sha256sums=('1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab') sha256sums=("1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab")
build() { build() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
./configure --prefix=/usr
make ./configure --prefix=/usr
make
} }
package() { package() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install make DESTDIR=$pkgdir install
} }

View file

@ -3,33 +3,32 @@
pkgname=libarchive pkgname=libarchive
pkgver=3.7.2 pkgver=3.7.2
pkgrel=1 pkgrel=1
pkgdesc='Multi-format archive and compression library' pkgdesc="Multi-format archive and compression library"
arch=('x86_64') arch=("x86_64")
url='https://libarchive.org/' url="https://libarchive.org/"
provides=(tar) license=("BSD")
license=('BSD') provides=("tar")
source=("https://github.com/${pkgname}/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.xz") source=("https://github.com/$pkgname/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.xz")
sha256sums=('04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb') sha256sums=("04357661e6717b6941682cde02ad741ae4819c67a260593dfb2431861b251acb")
build() { build() {
cd "${pkgname}-${pkgver}" cd $pkgname-$pkgver
./configure \ ./configure \
--prefix=/usr \ --prefix=/usr \
--without-xml2 \ --without-xml2 \
--without-nettle \ --without-nettle \
--disable-static --disable-static
make make
} }
package() { package() {
cd "${pkgname}-${pkgver}" cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install make DESTDIR=$pkgdir install
cd $pkgdir cd $pkgdir
ln -s bsdtar usr/bin/tar ln -s bsdtar usr/bin/tar
ln -s bsdcpio usr/bin/cpio ln -s bsdcpio usr/bin/cpio
ln -s bsdunzip usr/bin/unzip ln -s bsdunzip usr/bin/unzip
} }

View file

@ -4,28 +4,28 @@ pkgname=libressl
pkgver=3.8.2 pkgver=3.8.2
pkgrel=1 pkgrel=1
pkgdesc="Free version of the TLS/crypto stack forked from OpenSSL" pkgdesc="Free version of the TLS/crypto stack forked from OpenSSL"
arch=(x86_64) arch=("x86_64")
url="https://www.libressl.org/" url="https://www.libressl.org/"
license=(ISC custom:OpenSSL) license=(ISC custom:OpenSSL)
optdepends=(ca-certificates) optdepends=("ca-certificates")
backup=(etc/libressl/openssl.cnf) backup=("etc/libressl/openssl.cnf")
source=(https://cdn.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${pkgver}.tar.gz) source=("https://cdn.openbsd.org/pub/OpenBSD/LibreSSL/libressl-$pkgver.tar.gz")
sha256sums=('6d4b8d5bbb25a1f8336639e56ec5088052d43a95256697a85c4ce91323c25954') sha256sums=('6d4b8d5bbb25a1f8336639e56ec5088052d43a95256697a85c4ce91323c25954')
prepare() { prepare() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
autoreconf -vfi autoreconf -vfi
} }
build() { build() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
./configure \ ./configure \
--prefix=/usr --prefix=/usr
make make
} }
package() { package() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
make DESTDIR="${pkgdir}" install make DESTDIR=$pkgdir install
install -Dm644 COPYING -t "${pkgdir}"/usr/share/licenses/${pkgname}/ install -Dm644 COPYING -t $pkgdir/usr/share/licenses/$pkgname/
} }

View file

@ -2,10 +2,10 @@
pkgbase=llvm-project pkgbase=llvm-project
pkgname=( pkgname=(
llvm llvm
llvm-runtimes llvm-runtimes
clang clang
lld lld
) )
pkgver=17.0.6 pkgver=17.0.6
pkgrel=1 pkgrel=1
@ -16,109 +16,109 @@ license=("LLVM-exception")
depends=("zlib-ng") depends=("zlib-ng")
makedepends=() makedepends=()
source=("https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/llvm-project-$pkgver.src.tar.xz") source=("https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.6/llvm-project-$pkgver.src.tar.xz")
sha256sums=('58a8818c60e6627064f312dbf46c02d9949956558340938b71cf731ad8bc0813') sha256sums=("58a8818c60e6627064f312dbf46c02d9949956558340938b71cf731ad8bc0813")
build() { build() {
cd $pkgbase-$pkgver.src cd $pkgbase-$pkgver.src
local cmake_args=( local cmake_args=(
-G Ninja \ -G Ninja
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release
-DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_C_COMPILER=clang \ -DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_CXX_COMPILER=clang++
-DLLVM_TARGETS_TO_BUILD=X86 \ -DLLVM_TARGETS_TO_BUILD=X86
-DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-pc-linux-musl \ -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-pc-linux-musl
-DLLVM_HOST_TRIPLE=x86_64-pc-linux-musl \ -DLLVM_HOST_TRIPLE=x86_64-pc-linux-musl
-DLLVM_ENABLE_EH=ON \ -DLLVM_ENABLE_EH=ON
-DLLVM_ENABLE_RTTI=ON \ -DLLVM_ENABLE_RTTI=ON
-DLLVM_ENABLE_ZLIB=ON \ -DLLVM_ENABLE_ZLIB=ON
-DLLVM_BUILD_LLVM_DYLIB=ON \ -DLLVM_BUILD_LLVM_DYLIB=ON
-DLLVM_LINK_LLVM_DYLIB=ON \ -DLLVM_LINK_LLVM_DYLIB=ON
-DENABLE_LINKER_BUILD_ID=ON \ -DENABLE_LINKER_BUILD_ID=ON
-DLLVM_ENABLE_LIBCXX=ON \ -DLLVM_ENABLE_LIBCXX=ON
-DLLVM_ENABLE_ZSTD=ON \ -DLLVM_ENABLE_ZSTD=ON
-DLLVM_ENABLE_TERMINFO=ON \ -DLLVM_ENABLE_TERMINFO=ON
-DLLVM_ENABLE_LIBEDIT=OFF \ -DLLVM_ENABLE_LIBEDIT=OFF
-DLLVM_ENABLE_LIBXML2=OFF \ -DLLVM_ENABLE_LIBXML2=OFF
-DLLVM_ENABLE_LIBPFM=OFF \ -DLLVM_ENABLE_LIBPFM=OFF
-DLLVM_ENABLE_OCAMLDOC=OFF \ -DLLVM_ENABLE_OCAMLDOC=OFF
-DLLVM_ENABLE_LLD=ON \ -DLLVM_ENABLE_LLD=ON
-DLLVM_INSTALL_UTILS=ON \ -DLLVM_INSTALL_UTILS=ON
-DLLVM_INSTALL_BINUTILS_SYMLINKS=ON \ -DLLVM_INSTALL_BINUTILS_SYMLINKS=ON
-DLLVM_INSTALL_CCTOOLS_SYMLINKS=ON \ -DLLVM_INSTALL_CCTOOLS_SYMLINKS=ON
-DLLVM_INCLUDE_BENCHMARKS=OFF \ -DLLVM_INCLUDE_BENCHMARKS=OFF
-DLLVM_INCLUDE_DOCS=OFF \ -DLLVM_INCLUDE_DOCS=OFF
-DLLVM_INCLUDE_EXAMPLES=OFF \ -DLLVM_INCLUDE_EXAMPLES=OFF
-DLLVM_INCLUDE_TESTS=OFF \ -DLLVM_INCLUDE_TESTS=OFF
-DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=x86_64-pc-linux-musl \ -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=x86_64-pc-linux-musl
-DCOMPILER_RT_BUILD_SANITIZERS=OFF \ -DCOMPILER_RT_BUILD_SANITIZERS=OFF
-DCOMPILER_RT_BUILD_XRAY=OFF \ -DCOMPILER_RT_BUILD_XRAY=OFF
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF \ -DCOMPILER_RT_BUILD_LIBFUZZER=OFF
-DCOMPILER_RT_BUILD_PROFILE=OFF \ -DCOMPILER_RT_BUILD_PROFILE=OFF
-DCOMPILER_RT_BUILD_MEMPROF=OFF \ -DCOMPILER_RT_BUILD_MEMPROF=OFF
-DCOMPILER_RT_BUILD_GWP_ASAN=OFF \ -DCOMPILER_RT_BUILD_GWP_ASAN=OFF
-DCOMPILER_RT_USE_LLVM_UNWINDER=ON \ -DCOMPILER_RT_USE_LLVM_UNWINDER=ON
-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \ -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON
-DCOMPILER_RT_CXX_LIBRARY=libcxx \ -DCOMPILER_RT_CXX_LIBRARY=libcxx
-DCOMPILER_RT_INSTALL_PATH=/usr/lib/clang/${pkgver%%.*} \ -DCOMPILER_RT_INSTALL_PATH=/usr/lib/clang/${pkgver%%.*}
-DCLANG_DEFAULT_CXX_STDLIB=libc++ \ -DCLANG_DEFAULT_CXX_STDLIB=libc++
-DCLANG_DEFAULT_RTLIB=compiler-rt \ -DCLANG_DEFAULT_RTLIB=compiler-rt
-DCLANG_DEFAULT_UNWINDLIB=libunwind \ -DCLANG_DEFAULT_UNWINDLIB=libunwind
-DCLANG_INCLUDE_TESTS=OFF \ -DCLANG_INCLUDE_TESTS=OFF
-DCLANG_VENDOR="Ikeda Linux" \ -DCLANG_VENDOR="Ikeda Linux"
-DLIBCXX_HAS_MUSL_LIBC=ON \ -DLIBCXX_HAS_MUSL_LIBC=ON
-DLIBCXX_ENABLE_LOCALIZATION=ON \ -DLIBCXX_ENABLE_LOCALIZATION=ON
-DLIBCXX_ENABLE_NEW_DELETE_DEFINITIONS=ON \ -DLIBCXX_ENABLE_NEW_DELETE_DEFINITIONS=ON
-DLIBCXX_CXX_ABI=libcxxabi \ -DLIBCXX_CXX_ABI=libcxxabi
-DLIBCXX_USE_COMPILER_RT=ON \ -DLIBCXX_USE_COMPILER_RT=ON
-DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON \ -DLIBCXX_ENABLE_STATIC_ABI_LIBRARY=ON
-DLIBCXX_ENABLE_ASSERTIONS=ON \ -DLIBCXX_ENABLE_ASSERTIONS=ON
-DLIBCXXABI_USE_LLVM_UNWINDER=ON \ -DLIBCXXABI_USE_LLVM_UNWINDER=ON
-DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON \ -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON
-DLIBCXXABI_USE_COMPILER_RT=ON \ -DLIBCXXABI_USE_COMPILER_RT=ON
-DLIBUNWIND_INSTALL_HEADERS=ON \ -DLIBUNWIND_INSTALL_HEADERS=ON
-DLIBUNWIND_USE_COMPILER_RT=ON \ -DLIBUNWIND_USE_COMPILER_RT=ON
-DLLD_VENDOR="Ikeda Linux" -DLLD_VENDOR="Ikeda Linux"
) )
cmake -B build-llvm -S llvm "${cmake_args[@]}" cmake -B build-llvm -S llvm "${cmake_args[@]}"
cmake -B build-llvm-runtimes -S runtimes -DLLVM_ENABLE_RUNTIMES="compiler-rt;libunwind;libcxx;libcxxabi" "${cmake_args[@]}" cmake -B build-llvm-runtimes -S runtimes -DLLVM_ENABLE_RUNTIMES="compiler-rt;libunwind;libcxx;libcxxabi" "${cmake_args[@]}"
cmake -B build-clang -S clang "${cmake_args[@]}" cmake -B build-clang -S clang "${cmake_args[@]}"
cmake -B build-lld -S lld "${cmake_args[@]}" cmake -B build-lld -S lld "${cmake_args[@]}"
ninja -C build-llvm ninja -C build-llvm
ninja -C build-llvm-runtimes ninja -C build-llvm-runtimes
ninja -C build-clang ninja -C build-clang
ninja -C build-lld ninja -C build-lld
} }
package_llvm() { package_llvm() {
cd $pkgbase-$pkgver.src cd $pkgbase-$pkgver.src
DESTDIR=$pkgdir ninja -C build-llvm install DESTDIR=$pkgdir ninja -C build-llvm install
} }
package_llvm-runtimes() { package_llvm-runtimes() {
cd $pkgbase-$pkgver.src cd $pkgbase-$pkgver.src
DESTDIR=$pkgdir ninja -C build-llvm-runtimes install DESTDIR=$pkgdir ninja -C build-llvm-runtimes install
} }
package_clang() { package_clang() {
cd $pkgbase-$pkgver.src cd $pkgbase-$pkgver.src
DESTDIR=$pkgdir ninja -C build-clang install DESTDIR=$pkgdir ninja -C build-clang install
ln -s clang $pkgdir/usr/bin/cc ln -s clang $pkgdir/usr/bin/cc
ln -s clang++ $pkgdir/usr/bin/cpp ln -s clang++ $pkgdir/usr/bin/cpp
} }
package_lld() { package_lld() {
cd $pkgbase-$pkgver.src cd $pkgbase-$pkgver.src
DESTDIR=$pkgdir ninja -C build-lld install DESTDIR=$pkgdir ninja -C build-lld install
ln -s ld.lld $pkgdir/usr/bin/ld ln -s ld.lld $pkgdir/usr/bin/ld
} }

View file

@ -3,25 +3,28 @@
pkgname=mpfr pkgname=mpfr
pkgver=4.2.1 pkgver=4.2.1
pkgrel=1 pkgrel=1
pkgdesc='Multiple-precision floating-point library' pkgdesc="Multiple-precision floating-point library"
arch=(x86_64) arch=("x86_64")
url='https://www.mpfr.org/' url="https://www.mpfr.org/"
license=( license=(
GPL-3.0-or-later GPL-3.0-or-later
LGPL-3.0-or-later LGPL-3.0-or-later
) )
source=(https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz) source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz")
sha512sums=('bc68c0d755d5446403644833ecbb07e37360beca45f474297b5d5c40926df1efc3e2067eecffdf253f946288bcca39ca89b0613f545d46a9e767d1d4cf358475') sha256sums=('277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2')
build() { build() {
cd $pkgname-${pkgver} cd $pkgname-$pkgver
./configure --prefix=/usr \
--enable-thread-safe \ ./configure \
--enable-shared --prefix=/usr \
make --enable-thread-safe \
--enable-shared
make
} }
package() { package() {
cd $pkgname-${pkgver} cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install make DESTDIR=$pkgdir install
} }

View file

@ -4,11 +4,11 @@ pkgname=musl-fts
pkgver=1.2.7 pkgver=1.2.7
pkgrel=1 pkgrel=1
pkgdesc="Provides the fts(3) functions, which are missing in musl libc" pkgdesc="Provides the fts(3) functions, which are missing in musl libc"
arch=("any")
url="https://github.com/void-linux/musl-fts/" url="https://github.com/void-linux/musl-fts/"
arch=(any) license=("BSD-3-Clause")
license=(BSD-3-Clause) source=("https://github.com/void-linux/musl-fts/archive/refs/tags/v$pkgver.tar.gz")
source=(https://github.com/void-linux/musl-fts/archive/refs/tags/v$pkgver.tar.gz) sha256sums=("49ae567a96dbab22823d045ffebe0d6b14b9b799925e9ca9274d47d26ff482a6")
sha256sums=('49ae567a96dbab22823d045ffebe0d6b14b9b799925e9ca9274d47d26ff482a6')
prepare() { prepare() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
@ -25,6 +25,6 @@ build() {
package() { package() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install make DESTDIR=$pkgdir install
install -Dm644 musl-fts.pc -t "$pkgdir"/usr/lib/pkgconfig/ install -Dm644 musl-fts.pc -t $pkgdir/usr/lib/pkgconfig/
} }

View file

@ -4,11 +4,11 @@ pkgname=musl-obstack
pkgver=1.2.3 pkgver=1.2.3
pkgrel=1 pkgrel=1
pkgdesc="Standalone library to implement GNU libc's obstack" pkgdesc="Standalone library to implement GNU libc's obstack"
arch=("any")
url="https://github.com/void-linux/musl-obstack/" url="https://github.com/void-linux/musl-obstack/"
arch=(any) license=("BSD-3-Clause")
license=(BSD-3-Clause) source=("https://github.com/void-linux/musl-obstack/archive/refs/tags/v$pkgver.tar.gz")
source=(https://github.com/void-linux/musl-obstack/archive/refs/tags/v$pkgver.tar.gz) sha256sums=("9ffb3479b15df0170eba4480e51723c3961dbe0b461ec289744622db03a69395")
sha256sums=('9ffb3479b15df0170eba4480e51723c3961dbe0b461ec289744622db03a69395')
prepare() { prepare() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
@ -25,5 +25,5 @@ build() {
package() { package() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install make DESTDIR=$pkgdir install
} }

View file

@ -1,38 +1,42 @@
# Maintainer: Eli Schwartz <eschwartz@archlinux.org> # Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=musl pkgname=musl
pkgver=1.2.4 pkgver=1.2.4
pkgrel=1 pkgrel=1
pkgdesc='Lightweight implementation of C standard library' pkgdesc="Lightweight implementation of C standard library"
arch=('x86_64') arch=("x86_64")
url='https://musl.libc.org/' url="https://musl.libc.org/"
license=('MIT') license=("MIT")
source=(https://musl.libc.org/releases/musl-$pkgver.tar.gz add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch) source=(
sha256sums=('7a35eae33d5372a7c0da1188de798726f68825513b7ae3ebe97aaaa52114f039' "https://musl.libc.org/releases/musl-$pkgver.tar.gz"
'd5f639c6f38504805a07a426ccc4fbb0f657205047009143baf972f6687335f4') "add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch"
)
sha256sums=(
"7a35eae33d5372a7c0da1188de798726f68825513b7ae3ebe97aaaa52114f039"
"d5f639c6f38504805a07a426ccc4fbb0f657205047009143baf972f6687335f4"
)
prepare() { prepare() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
patch -p1 < ../add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch patch -p1 <$srcdir/add-typedefs-for-Elf64_Relr-and-Elf32_Relr.patch
} }
build() { build() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
./configure --prefix=/usr ./configure --prefix=/usr
make make
} }
package() { package() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install make DESTDIR="$pkgdir" install
mv $pkgdir/lib/* $pkgdir/usr/lib/ mv $pkgdir/lib/* $pkgdir/usr/lib/
rm -rf $pkgdir/lib rm -rf $pkgdir/lib
mkdir $pkgdir/usr/bin mkdir $pkgdir/usr/bin
ln -s ../lib/ld-musl-x86_64.so.1 $pkgdir/usr/bin/ldd ln -s ../lib/ld-musl-x86_64.so.1 $pkgdir/usr/bin/ldd
install -Dm0644 README "$pkgdir"/usr/share/doc/musl/README install -Dm0644 README "$pkgdir"/usr/share/doc/musl/README
install -Dm0644 COPYRIGHT "$pkgdir"/usr/share/licenses/musl/COPYRIGHT install -Dm0644 COPYRIGHT "$pkgdir"/usr/share/licenses/musl/COPYRIGHT
} }

View file

@ -3,58 +3,58 @@
pkgname=ncurses pkgname=ncurses
pkgver=6.4_20231202 pkgver=6.4_20231202
pkgrel=1 pkgrel=1
pkgdesc='System V Release 4.0 curses emulation library' pkgdesc="System V Release 4.0 curses emulation library"
arch=(x86_64) arch=("x86_64")
url='https://invisible-island.net/ncurses/ncurses.html' url="https://invisible-island.net/ncurses/ncurses.html"
license=(MIT) license=("MIT")
source=(https://invisible-mirror.net/archives/$pkgname/current/$pkgname-${pkgver/_/-}.tgz) source=("https://invisible-mirror.net/archives/$pkgname/current/$pkgname-${pkgver/_/-}.tgz")
sha256sums=('f3f42e800eb8af42dddfb2e44ed9c91a7e5f51cf529e0cd91450e0b4db8cc471') sha256sums=("f3f42e800eb8af42dddfb2e44ed9c91a7e5f51cf529e0cd91450e0b4db8cc471")
build() { build() {
local configure_options=( local configure_options=(
--prefix=/usr --prefix=/usr
--disable-root-access --disable-root-access
--disable-root-environ --disable-root-environ
--disable-setuid-environ --disable-setuid-environ
--enable-widec --enable-widec
--enable-pc-files --enable-pc-files
--mandir=/usr/share/man --mandir=/usr/share/man
--with-cxx-binding --with-cxx-binding
--with-cxx-shared --with-cxx-shared
--with-manpage-format=normal --with-manpage-format=normal
--with-pkg-config-libdir=/usr/lib/pkgconfig --with-pkg-config-libdir=/usr/lib/pkgconfig
--with-shared --with-shared
--with-versioned-syms --with-versioned-syms
--with-xterm-kbs=del --with-xterm-kbs=del
--without-ada --without-ada
) )
cd $pkgname-${pkgver/_/-} cd $pkgname-${pkgver/_/-}
./configure "${configure_options[@]}" ./configure "${configure_options[@]}"
make make
} }
package() { package() {
local _pkgver=${pkgver/_*/} local _pkgver=${pkgver/_*/}
make DESTDIR="$pkgdir" install -C $pkgname-${pkgver/_/-} make DESTDIR=$pkgdir install -C $pkgname-${pkgver/_/-}
install -vDm 644 $pkgname-${pkgver/_/-}/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/" install -vDm 644 $pkgname-${pkgver/_/-}/COPYING -t $pkgdir/usr/share/licenses/$pkgname/
# fool packages looking to link to non-wide-character ncurses libraries # fool packages looking to link to non-wide-character ncurses libraries
for lib in ncurses ncurses++ form panel menu; do for lib in ncurses ncurses++ form panel menu; do
printf "INPUT(-l%sw)\n" "${lib}" > "$pkgdir/usr/lib/lib${lib}.so" printf "INPUT(-l%sw)\n" "$lib" >$pkgdir/usr/lib/lib${lib}.so
ln -sv ${lib}w.pc "$pkgdir/usr/lib/pkgconfig/${lib}.pc" ln -sv ${lib}w.pc $pkgdir/usr/lib/pkgconfig/$lib.pc
done done
# some packages look for -lcurses during build # some packages look for -lcurses during build
printf 'INPUT(-lncursesw)\n' > "$pkgdir/usr/lib/libcursesw.so" printf "INPUT(-lncursesw)\n" >$pkgdir/usr/lib/libcursesw.so
ln -sv libncurses.so "$pkgdir/usr/lib/libcurses.so" ln -sv libncurses.so $pkgdir/usr/lib/libcurses.so
# tic and ticinfo functionality is built in by default # tic and ticinfo functionality is built in by default
# make sure that anything linking against it links against libncursesw.so instead # make sure that anything linking against it links against libncursesw.so instead
for lib in tic tinfo; do for lib in tic tinfo; do
printf "INPUT(libncursesw.so.%s)\n" "${_pkgver:0:1}" > "$pkgdir/usr/lib/lib${lib}.so" printf "INPUT(libncursesw.so.%s)\n" ${_pkgver:0:1} >$pkgdir/usr/lib/lib${lib}.so
ln -sv libncursesw.so.${pkgver:0:1} "$pkgdir/usr/lib/lib${lib}.so.${_pkgver:0:1}" ln -sv libncursesw.so.${pkgver:0:1} $pkgdir/usr/lib/lib${lib}.so.${_pkgver:0:1}
ln -sv ncursesw.pc "$pkgdir/usr/lib/pkgconfig/${lib}.pc" ln -sv ncursesw.pc $pkgdir/usr/lib/pkgconfig/${lib}.pc
done done
} }

View file

@ -3,32 +3,29 @@
pkgname=pcre2 pkgname=pcre2
pkgver=10.42 pkgver=10.42
pkgrel=1 pkgrel=1
pkgdesc='A library that implements Perl 5-style regular expressions. 2nd version' pkgdesc="A library that implements Perl 5-style regular expressions. 2nd version"
arch=('x86_64') arch=("x86_64")
url='https://www.pcre.org/' url="https://www.pcre.org/"
license=('BSD') license=("BSD")
source=("https://github.com/PCRE2Project/pcre2/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2") source=("https://github.com/PCRE2Project/pcre2/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.bz2")
sha512sums=('72fbde87fecec3aa4b47225dd919ea1d55e97f2cbcf02aba26e5a0d3b1ffb58c25a80a9ef069eb99f9cf4e41ba9604ad06a7ec159870e1e875d86820e12256d3') sha256sums=("8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840")
build() { build() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
# use fat LTO objects for static libraries ./configure \
CFLAGS+=" -ffat-lto-objects" --prefix=/usr \
CXXFLAGS+=" -ffat-lto-objects" --enable-pcre2-16 \
--enable-pcre2-32 \
--enable-jit \
--enable-pcre2grep-libz \
--enable-pcre2grep-libbz2 \
--enable-pcre2test-libreadline
./configure \ make
--prefix=/usr \
--enable-pcre2-16 \
--enable-pcre2-32 \
--enable-jit \
--enable-pcre2grep-libz \
--enable-pcre2grep-libbz2 \
--enable-pcre2test-libreadline
make
} }
package() { package() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install make DESTDIR=$pkgdir install
} }

View file

@ -3,37 +3,38 @@
pkgname=procps-ng pkgname=procps-ng
pkgver=4.0.4 pkgver=4.0.4
pkgrel=1 pkgrel=1
pkgdesc='Utilities for monitoring your system and its processes' pkgdesc="Utilities for monitoring your system and its processes"
url='https://gitlab.com/procps-ng/procps' url="https://gitlab.com/procps-ng/procps"
license=(GPL LGPL) license=(GPL LGPL)
arch=(x86_64) arch=("x86_64")
source=(https://downloads.sourceforge.net/project/$pkgname/Production/${pkgname}-${pkgver}.tar.xz) source=("https://downloads.sourceforge.net/project/$pkgname/Production/$pkgname-$pkgver.tar.xz")
sha256sums=('22870d6feb2478adb617ce4f09a787addaf2d260c5a8aa7b17d889a962c5e42e') sha256sums=("22870d6feb2478adb617ce4f09a787addaf2d260c5a8aa7b17d889a962c5e42e")
prepare() { prepare() {
cd procps-ng-$pkgver cd procps-ng-$pkgver
sed 's:<ncursesw/:<:g' -i src/watch.c sed "s:<ncursesw/:<:g" -i src/watch.c
} }
build() { build() {
cd procps-ng-$pkgver cd procps-ng-$pkgver
./configure \
--prefix=/usr \
--exec-prefix=/ \
--sysconfdir=/etc \
--libdir=/usr/lib \
--bindir=/usr/bin \
--sbindir=/usr/bin \
--enable-watch8bit \
--without-systemd \
--disable-modern-top \
--disable-kill
make ./configure \
--prefix=/usr \
--exec-prefix=/ \
--sysconfdir=/etc \
--libdir=/usr/lib \
--bindir=/usr/bin \
--sbindir=/usr/bin \
--enable-watch8bit \
--without-systemd \
--disable-modern-top \
--disable-kill
make
} }
package() { package() {
cd procps-ng-$pkgver cd procps-ng-$pkgver
make DESTDIR="$pkgdir" install
}
make DESTDIR=$pkgdir install
}

View file

@ -3,50 +3,56 @@
pkgname=readline pkgname=readline
_basever=8.2 _basever=8.2
_patchlevel=007 _patchlevel=007
pkgver=${_basever}.${_patchlevel} pkgver=$_basever.$_patchlevel
pkgrel=1 pkgrel=1
pkgdesc='GNU readline library' pkgdesc="GNU readline library"
arch=('x86_64') arch=("x86_64")
url='https://tiswww.case.edu/php/chet/readline/rltop.html' url="https://tiswww.case.edu/php/chet/readline/rltop.html"
license=('GPL') license=("GPL")
backup=('etc/inputrc') backup=("etc/inputrc")
source=(https://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz source=(
inputrc) "https://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz"
sha256sums=('3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35' "inputrc"
'182e38c1eb37c5e84cb84c40a2121d5ec149aad9cfd372eba9e5cee7bb9b9f5c' )
'bbf97f1ec40a929edab5aa81998c1e2ef435436c597754916e6a5868f273aff7' sha256sums=(
'e06503822c62f7bc0d9f387d4c78c09e0ce56e53872011363c74786c7cd4c053' "3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35"
'24f587ba46b46ed2b1868ccaf9947504feba154bb8faabd4adaea63ef7e6acb0' "182e38c1eb37c5e84cb84c40a2121d5ec149aad9cfd372eba9e5cee7bb9b9f5c"
'79572eeaeb82afdc6869d7ad4cba9d4f519b1218070e17fa90bbecd49bd525ac' "bbf97f1ec40a929edab5aa81998c1e2ef435436c597754916e6a5868f273aff7"
'622ba387dae5c185afb4b9b20634804e5f6c1c6e5e87ebee7c35a8f065114c99' "e06503822c62f7bc0d9f387d4c78c09e0ce56e53872011363c74786c7cd4c053"
'c7b45ff8c0d24d81482e6e0677e81563d13c74241f7b86c4de00d239bc81f5a1' "24f587ba46b46ed2b1868ccaf9947504feba154bb8faabd4adaea63ef7e6acb0"
'5911a5b980d7900aabdbee483f86dab7056851e6400efb002776a0a4a1bab6f6') "79572eeaeb82afdc6869d7ad4cba9d4f519b1218070e17fa90bbecd49bd525ac"
"622ba387dae5c185afb4b9b20634804e5f6c1c6e5e87ebee7c35a8f065114c99"
"c7b45ff8c0d24d81482e6e0677e81563d13c74241f7b86c4de00d239bc81f5a1"
"5911a5b980d7900aabdbee483f86dab7056851e6400efb002776a0a4a1bab6f6"
)
if [ $_patchlevel -gt 0 ]; then if [ $_patchlevel -gt 0 ]; then
for (( _p=1; _p <= $((10#${_patchlevel})); _p++ )); do for ((_p = 1; _p <= $((10#${_patchlevel})); _p++)); do
source=(${source[@]} https://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//.}-$(printf "%03d" $_p)) source=(${source[@]} https://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//./}-$(printf "%03d" $_p))
done done
fi fi
prepare() { prepare() {
cd $pkgname-$_basever cd $pkgname-$_basever
for (( _p=1; _p <= $((10#${_patchlevel})); _p++ )); do for ((_p = 1; _p <= $((10#${_patchlevel})); _p++)); do
msg "applying patch readline${_basever//.}-$(printf "%03d" $_p)" msg "applying patch readline${_basever//./}-$(printf "%03d" $_p)"
patch -p0 -i ../readline${_basever//.}-$(printf "%03d" $_p) patch -p0 -i ../readline${_basever//./}-$(printf "%03d" $_p)
done done
# remove RPATH from shared objects (FS#14366) # remove RPATH from shared objects (FS#14366)
sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf sed -i "s|-Wl,-rpath,$(libdir) ||g" support/shobj-conf
} }
build() { build() {
cd $pkgname-$_basever cd $pkgname-$_basever
./configure --prefix=/usr ./configure --prefix=/usr
make SHLIB_LIBS=-lncurses make SHLIB_LIBS=-lncurses
} }
package() { package() {
make -C $pkgname-$_basever DESTDIR="$pkgdir" install cd $pkgname-$_basever
install -Dm644 inputrc "$pkgdir"/etc/inputrc
make -C $pkgname-$_basever DESTDIR=$pkgdir install
install -Dm644 inputrc $pkgdir/etc/inputrc
} }

View file

@ -1,42 +0,0 @@
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

@ -1,48 +0,0 @@
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

@ -1,43 +0,0 @@
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

@ -1,65 +0,0 @@
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

@ -1,50 +0,0 @@
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

@ -1,99 +0,0 @@
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

@ -1,48 +0,0 @@
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

@ -1,42 +1,46 @@
pkgname='vim' # Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=vim
pkgver=9.0.2153 pkgver=9.0.2153
pkgrel=1 pkgrel=1
pkgdesc='Vi Improved, a highly configurable, improved version of the vi text editor' pkgdesc="Vi Improved, a highly configurable, improved version of the vi text editor"
url='https://www.vim.org' url="https://www.vim.org"
arch=('x86_64') arch=("x86_64")
license=('custom:vim') license=("custom:vim")
source=(https://github.com/vim/vim/archive/refs/tags/v$pkgver.tar.gz) source=("https://github.com/vim/vim/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('94cb108fa9c5454d295ace27fc47b130b68febdc8910dd6d2d899a8531840dde') sha256sums=("94cb108fa9c5454d295ace27fc47b130b68febdc8910dd6d2d899a8531840dde")
build() { build() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
./configure \
--prefix=/usr \ ./configure \
--localstatedir=/var/lib/vim \ --prefix=/usr \
--with-features=huge \ --localstatedir=/var/lib/vim \
--with-compiledby='Ikeda Linux' \ --with-features=huge \
--with-x=no \ --with-compiledby="Ikeda Linux" \
--disable-gui \ --with-x=no \
--enable-multibyte \ --disable-gui \
--enable-perlinterp=dynamic \ --enable-multibyte \
--enable-python3interp=dynamic \ --enable-perlinterp=dynamic \
--enable-rubyinterp=dynamic \ --enable-python3interp=dynamic \
--enable-luainterp=dynamic \ --enable-rubyinterp=dynamic \
--enable-tclinterp=dynamic \ --enable-luainterp=dynamic \
--disable-canberra --enable-tclinterp=dynamic \
make --disable-canberra
make
} }
package_vim() { package_vim() {
cd $pkgname-$pkgver cd $pkgname-$pkgver
make VIMRCLOC=/etc DESTDIR="${pkgdir}" install make VIMRCLOC=/etc DESTDIR=$pkgdir install
# remove gvim.desktop as not included # remove gvim.desktop as not included
rm "${pkgdir}"/usr/share/applications/gvim.desktop rm $pkgdir/usr/share/applications/gvim.desktop
ln -s vim $pkgdir/usr/bin/vi ln -s vim $pkgdir/usr/bin/vi
# license # license
install -Dm 644 runtime/doc/uganda.txt \ install -Dm 644 runtime/doc/uganda.txt \
"${pkgdir}"/usr/share/licenses/${pkgname}/license.txt $pkgdir/usr/share/licenses/$pkgname/license.txt
} }

View file

@ -3,25 +3,26 @@
pkgname=xz pkgname=xz
pkgver=5.4.5 pkgver=5.4.5
pkgrel=1 pkgrel=1
pkgdesc='Library and command line tools for XZ and LZMA compressed files' pkgdesc="Library and command line tools for XZ and LZMA compressed files"
arch=('x86_64') arch=("x86_64")
url='https://tukaani.org/xz/' url="https://tukaani.org/xz/"
license=('GPL' 'LGPL' 'custom') license=("GPL" "LGPL" "custom")
source=("https://tukaani.org/${pkgname}/${pkgname}-${pkgver}.tar.gz") source=("https://tukaani.org/$pkgname/$pkgname-$pkgver.tar.gz")
sha256sums=('135c90b934aee8fbc0d467de87a05cb70d627da36abe518c357a873709e5b7d6') sha256sums=("135c90b934aee8fbc0d467de87a05cb70d627da36abe518c357a873709e5b7d6")
build() { build() {
cd "${srcdir}/${pkgname}-${pkgver}" cd $pkgname-$pkgver
./configure \ ./configure \
--prefix=/usr \ --prefix=/usr \
--disable-rpath \ --disable-rpath \
--enable-werror --enable-werror
make
make
} }
package() { package() {
cd "${srcdir}/${pkgname}-${pkgver}" cd $pkgname-$pkgver
make DESTDIR="${pkgdir}" install make DESTDIR=$pkgdir install
} }

View file

@ -3,27 +3,27 @@
pkgname=zlib-ng pkgname=zlib-ng
pkgver=2.1.5 pkgver=2.1.5
pkgrel=1 pkgrel=1
pkgdesc='zlib replacement with optimizations for next generation systems' pkgdesc="zlib replacement with optimizations for next generation systems"
url='https://github.com/zlib-ng/zlib-ng' url="https://github.com/zlib-ng/zlib-ng"
arch=('x86_64') arch=("x86_64")
provices=('zlib') provices=("zlib")
license=('custom:zlib') license=("custom:zlib")
source=("${url}/archive/refs/tags/$pkgver/${pkgname}-${pkgver}.tar.gz") source=("$url/archive/refs/tags/$pkgver/$pkgname-$pkgver.tar.gz")
sha256sums=('3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04') sha256sums=("3f6576971397b379d4205ae5451ff5a68edf6c103b2f03c4188ed7075fbb5f04")
build() { build() {
cd "${pkgname}-${pkgver}" cd "$pkgname-$pkgver"
./configure --prefix=/usr \ ./configure \
--zlib-compat --prefix=/usr \
--zlib-compat
make make
} }
package() { package() {
cd "${pkgname}-${pkgver}" cd $pkgname-$pkgver
make DESTDIR=$pkgdir install make DESTDIR=$pkgdir install
ln -s libz.so.1.3.0.zlib-ng $pkgdir/usr/lib/libz.so.2.1.5
ln -s libz.so.1.3.0.zlib-ng $pkgdir/usr/lib/libz.so.2.1.5
} }

View file

@ -3,40 +3,39 @@
pkgname=zstd pkgname=zstd
pkgver=1.5.5 pkgver=1.5.5
pkgrel=1 pkgrel=1
pkgdesc='Zstandard - Fast real-time compression algorithm' pkgdesc="Zstandard - Fast real-time compression algorithm"
url='https://facebook.github.io/zstd/' arch=("x86_64")
arch=(x86_64) url="https://facebook.github.io/zstd/"
license=(BSD GPL2) license=(BSD GPL2)
source=(https://github.com/facebook/zstd/releases/download/v${pkgver}/zstd-${pkgver}.tar.gz) source=("https://github.com/facebook/zstd/releases/download/v$pkgver/zstd-$pkgver.tar.gz")
sha256sums=('9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4') sha256sums=("9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4")
prepare() { prepare() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
# avoid error on tests without static libs, we use LD_LIBRARY_PATH # 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 "/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 sed "s/libzstd_static/libzstd_shared/g" -i build/cmake/tests/CMakeLists.txt
} }
build() { build() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
export CFLAGS+=' -ffat-lto-objects'
export CXXFLAGS+=' -ffat-lto-objects'
cmake -S build/cmake -B build -G Ninja \ cmake -S build/cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \ -DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_PREFIX=/usr \
-DZSTD_ZLIB_SUPPORT=ON \ -DZSTD_ZLIB_SUPPORT=ON \
-DZSTD_BUILD_CONTRIB=ON \ -DZSTD_BUILD_CONTRIB=ON \
-DZSTD_BUILD_STATIC=OFF \ -DZSTD_BUILD_STATIC=OFF \
-DZSTD_BUILD_TESTS=ON \ -DZSTD_BUILD_TESTS=ON \
-DZSTD_PROGRAMS_LINK_SHARED=ON -DZSTD_PROGRAMS_LINK_SHARED=ON
cmake --build build
ninja -C build
} }
package() { package() {
cd ${pkgname}-${pkgver} cd $pkgname-$pkgver
DESTDIR="${pkgdir}" cmake --install build DESTDIR=$pkgdir ninja -C build install
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}" install -Dm 644 LICENSE -t $pkgdir/usr/share/licenses/$pkgname
mv $pkgdir/usr/lib64 $pkgdir/usr/lib mv $pkgdir/usr/lib64 $pkgdir/usr/lib
} }