Initial base packages

This commit is contained in:
Daryl Ronningen 2023-12-04 20:47:04 -08:00
commit d7f6dc81c4
Signed by: Daryl Ronningen
GPG key ID: FD23F0C934A5EC6B
53 changed files with 2751 additions and 0 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
*tar*
pkg
src

29
argp-standalone/PKGBUILD Normal file
View file

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

30
base/PKGBUILD Normal file
View file

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

59
bash/PKGBUILD Normal file
View file

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

9
bash/bash.install Normal file
View file

@ -0,0 +1,9 @@
post_upgrade() {
grep -qe '^/bin/bash$' etc/shells || echo '/bin/bash' >> etc/shells
grep -qe '^/usr/bin/bash$' etc/shells || echo '/usr/bin/bash' >> etc/shells
grep -qe '^/bin/rbash$' etc/shells || echo '/bin/rbash' >> etc/shells
grep -qe '^/usr/bin/rbash$' etc/shells || echo '/usr/bin/rbash' >> etc/shells
grep -qe '^/bin/sh$' etc/shells || echo '/bin/sh' >> etc/shells
grep -qe '^/usr/bin/sh$' etc/shells || echo '/usr/bin/sh' >> etc/shells
}

3
bash/dot.bash_logout Normal file
View file

@ -0,0 +1,3 @@
#
# ~/.bash_logout
#

5
bash/dot.bash_profile Normal file
View file

@ -0,0 +1,5 @@
#
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc

10
bash/dot.bashrc Normal file
View file

@ -0,0 +1,10 @@
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
alias grep='grep --color=auto'
PS1='[\u@\h \W]\$ '

3
bash/system.bash_logout Normal file
View file

@ -0,0 +1,3 @@
#
# /etc/bash.bash_logout
#

24
bash/system.bashrc Normal file
View file

@ -0,0 +1,24 @@
#
# /etc/bash.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
[[ $DISPLAY ]] && shopt -s checkwinsize
PS1='[\u@\h \W]\$ '
case ${TERM} in
Eterm*|alacritty*|aterm*|foot*|gnome*|konsole*|kterm*|putty*|rxvt*|tmux*|xterm*)
PROMPT_COMMAND+=('printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"')
;;
screen*)
PROMPT_COMMAND+=('printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"')
;;
esac
if [[ -r /usr/share/bash-completion/bash_completion ]]; then
. /usr/share/bash-completion/bash_completion
fi

44
busybox/PKGBUILD Normal file
View file

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

1231
busybox/config Normal file

File diff suppressed because it is too large Load diff

41
bzip2/PKGBUILD Normal file
View file

@ -0,0 +1,41 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=bzip2
pkgver=1.0.8
pkgrel=1
pkgdesc="A high-quality data compression program"
arch=('x86_64')
license=('BSD')
url="https://sourceware.org/bzip2/"
source=(https://sourceware.org/pub/bzip2/$pkgname-$pkgver.tar.gz)
sha256sums=('ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269')
build() {
cd $pkgname-$pkgver
make -f Makefile-libbz2_so CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS"
make bzip2 bzip2recover CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS"
}
package() {
cd $pkgname-$pkgver
install -dm755 "$pkgdir"/usr/{bin,lib,include,share/man/man1}
install -m755 bzip2-shared "$pkgdir"/usr/bin/bzip2
install -m755 bzip2recover bzdiff bzgrep bzmore "$pkgdir"/usr/bin
ln -sf bzip2 "$pkgdir"/usr/bin/bunzip2
ln -sf bzip2 "$pkgdir"/usr/bin/bzcat
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.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
}

31
expat/PKGBUILD Normal file
View file

@ -0,0 +1,31 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=expat
pkgver=2.5.0
pkgrel=1
pkgdesc="An XML parser library"
arch=(x86_64)
url="https://libexpat.github.io/"
license=(MIT)
makedepends=(cmake)
source=(https://github.com/libexpat/libexpat/releases/download/R_${pkgver//./_}/$pkgname-$pkgver.tar.bz2)
sha512sums=('22fd904d75aab7506a85c03519b9cf79e44898c8e1ba6abf6cb7f95de71b8e63a7e2d5cf4395e3627d46035ea29342b3e631a8809fef8aad3f59976dc075ad17')
build() {
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=None \
-W no-dev \
-B build \
-S $pkgname-$pkgver
make VERBOSE=1 -C build
}
package() {
make VERBOSE=1 DESTDIR="$pkgdir" -C build install
mkdir $pkgdir/usr/lib
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/"
}

32
file/PKGBUILD Normal file
View file

@ -0,0 +1,32 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=file
pkgver=5.45
pkgrel=1
pkgdesc='File type identification utility'
arch=('x86_64')
license=('custom')
url='https://www.darwinsys.com/file/'
#depends=('xz' 'zstd')
source=("https://astron.com/pub/$pkgname/$pkgname-$pkgver.tar.gz")
sha256sums=('fc97f51029bb0e2c9f4e3bffefdaf678f0e039ee872b9de5c002a6d09c784d82')
build() {
cd $pkgname-$pkgver
# Fix linking libmagic (vfork needs libpthread)
CFLAGS+=" -pthread"
./configure \
--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() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}

88
filesystem/PKGBUILD Normal file
View file

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

4
filesystem/fstab Normal file
View file

@ -0,0 +1,4 @@
# Static information about the filesystems.
# See fstab(5) for details.
# <file system> <dir> <type> <options> <dump> <pass>

1
filesystem/group Normal file
View file

@ -0,0 +1 @@
root:x:0:root

1
filesystem/gshadow Normal file
View file

@ -0,0 +1 @@
root:::root

2
filesystem/hosts Normal file
View file

@ -0,0 +1,2 @@
# Static table lookup for hostnames.
# See hosts(5) for details.

2
filesystem/issue Normal file
View file

@ -0,0 +1,2 @@
Ikeda Linux \r (\l)

4
filesystem/os-release Normal file
View file

@ -0,0 +1,4 @@
NAME="Ikeda Linux"
PRETTY_NAME="Ikeda Linux (Rolling)"
ID=ikeda
BUILD_ID=rolling

1
filesystem/passwd Normal file
View file

@ -0,0 +1 @@
root:x:0:0::/root:/bin/bash

47
filesystem/profile Normal file
View file

@ -0,0 +1,47 @@
# /etc/profile
# Append "$1" to $PATH when not already in.
# This function API is accessible to scripts in /etc/profile.d
append_path () {
case ":$PATH:" in
*:"$1":*)
;;
*)
PATH="${PATH:+$PATH:}$1"
esac
}
# Append our default paths
append_path '/usr/local/sbin'
append_path '/usr/local/bin'
append_path '/usr/bin'
# Force PATH to be environment
export PATH
# Load profiles from /etc/profile.d
if test -d /etc/profile.d/; then
for profile in /etc/profile.d/*.sh; do
test -r "$profile" && . "$profile"
done
unset profile
fi
# Unload our profile API functions
unset -f append_path
# Source global bash config, when interactive but not posix or sh mode
if test "$BASH" &&\
test "$PS1" &&\
test -z "$POSIXLY_CORRECT" &&\
test "${0#-}" != sh &&\
test -r /etc/bash.bashrc
then
. /etc/bash.bashrc
fi
# Termcap is outdated, old, and crusty, kill it.
unset TERMCAP
# Man is much better than us at figuring this out
unset MANPATH

2
filesystem/resolv.conf Normal file
View file

@ -0,0 +1,2 @@
# Resolver configuration file.
# See resolv.conf(5) for details.

1
filesystem/shadow Normal file
View file

@ -0,0 +1 @@
root:*:14871::::::

9
filesystem/shells Normal file
View file

@ -0,0 +1,9 @@
# Pathnames of valid login shells.
# See shells(5) for details.
/bin/sh
/bin/bash
/bin/rbash
/usr/bin/sh
/usr/bin/bash
/usr/bin/rbash

30
findutils/PKGBUILD Normal file
View file

@ -0,0 +1,30 @@
# Maintainers: Daryl Ronningen <relms@relms.dev>
pkgname=findutils
pkgver=4.9.0
pkgrel=1
pkgdesc="GNU utilities to locate files"
arch=('x86_64')
license=('GPL3')
url='https://www.gnu.org/software/findutils/'
source=("https://ftp.gnu.org/pub/gnu/findutils/${pkgname}-${pkgver}.tar.xz")
sha256sums=('a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe')
build() {
cd ${pkgname}-${pkgver}
# Don't build or install locate because we use mlocate,
# which is a secure version of locate.
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() {
cd ${pkgname}-${pkgver}
make DESTDIR="$pkgdir" install
}

22
gawk/PKGBUILD Normal file
View file

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

26
gmp/PKGBUILD Normal file
View file

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

22
grep/PKGBUILD Normal file
View file

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

35
libarchive/PKGBUILD Normal file
View file

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

31
libressl/PKGBUILD Normal file
View file

@ -0,0 +1,31 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=libressl
pkgver=3.8.2
pkgrel=1
pkgdesc="Free version of the TLS/crypto stack forked from OpenSSL"
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
make
}
package() {
cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
install -Dm644 COPYING -t "${pkgdir}"/usr/share/licenses/${pkgname}/
}

27
mpfr/PKGBUILD Normal file
View file

@ -0,0 +1,27 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=mpfr
pkgver=4.2.1
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
)
source=(https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz)
sha512sums=('bc68c0d755d5446403644833ecbb07e37360beca45f474297b5d5c40926df1efc3e2067eecffdf253f946288bcca39ca89b0613f545d46a9e767d1d4cf358475')
build() {
cd $pkgname-${pkgver}
./configure --prefix=/usr \
--enable-thread-safe \
--enable-shared
make
}
package() {
cd $pkgname-${pkgver}
make DESTDIR="$pkgdir" install
}

30
musl-fts/PKGBUILD Normal file
View file

@ -0,0 +1,30 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=musl-fts
pkgver=1.2.7
pkgrel=1
pkgdesc="Provides the fts(3) functions, which are missing in musl libc"
url="https://github.com/void-linux/musl-fts/"
arch=(any)
license=(BSD-3-Clause)
source=(https://github.com/void-linux/musl-fts/archive/refs/tags/v$pkgver.tar.gz)
sha256sums=('49ae567a96dbab22823d045ffebe0d6b14b9b799925e9ca9274d47d26ff482a6')
prepare() {
cd $pkgname-$pkgver
./bootstrap.sh
}
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr
make
}
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
install -Dm644 musl-fts.pc -t "$pkgdir"/usr/lib/pkgconfig/
}

29
musl-obstack/PKGBUILD Normal file
View file

@ -0,0 +1,29 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=musl-obstack
pkgver=1.2.3
pkgrel=1
pkgdesc="Standalone library to implement GNU libc's obstack"
url="https://github.com/void-linux/musl-obstack/"
arch=(any)
license=(BSD-3-Clause)
source=(https://github.com/void-linux/musl-obstack/archive/refs/tags/v$pkgver.tar.gz)
sha256sums=('9ffb3479b15df0170eba4480e51723c3961dbe0b461ec289744622db03a69395')
prepare() {
cd $pkgname-$pkgver
./bootstrap.sh
}
build() {
cd $pkgname-$pkgver
./configure --prefix=/usr
make
}
package() {
cd $pkgname-$pkgver
make DESTDIR="$pkgdir" install
}

38
musl/PKGBUILD Normal file
View file

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

View file

@ -0,0 +1,32 @@
From 6be76895f6863100a311d474a42abdbb6466189d Mon Sep 17 00:00:00 2001
From: Violet Purcell <vimproved@inventati.org>
Date: Sat, 4 Nov 2023 12:09:20 -0400
Subject: elf.h: add typedefs for Elf64_Relr and Elf32_Relr
These were overlooked when DT_RELR was added in commit
d32dadd60efb9d3b255351a3b532f8e4c3dd0db1, potentially breaking
software that treats presence of the DT_RELR macro as implying they
exist.
---
include/elf.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/include/elf.h b/include/elf.h
index 23f2c4bc..72d17c3a 100644
--- a/include/elf.h
+++ b/include/elf.h
@@ -558,6 +558,11 @@ typedef struct {
+typedef Elf32_Word Elf32_Relr;
+typedef Elf64_Xword Elf64_Relr;
+
+
+
#define ELF32_R_SYM(val) ((val) >> 8)
#define ELF32_R_TYPE(val) ((val) & 0xff)
#define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff))
--
cgit v1.2.1

60
ncurses/PKGBUILD Normal file
View file

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

34
pcre2/PKGBUILD Normal file
View file

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

39
procps-ng/PKGBUILD Normal file
View file

@ -0,0 +1,39 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
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)
source=(https://downloads.sourceforge.net/project/$pkgname/Production/${pkgname}-${pkgver}.tar.xz)
sha256sums=('22870d6feb2478adb617ce4f09a787addaf2d260c5a8aa7b17d889a962c5e42e')
prepare() {
cd procps-ng-$pkgver
sed 's:<ncursesw/:<:g' -i src/watch.c
}
build() {
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
}
package() {
cd procps-ng-$pkgver
make DESTDIR="$pkgdir" install
}

52
readline/PKGBUILD Normal file
View file

@ -0,0 +1,52 @@
#Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=readline
_basever=8.2
_patchlevel=007
pkgver=${_basever}.${_patchlevel}
pkgrel=1
pkgdesc='GNU readline library'
arch=('x86_64')
url='https://tiswww.case.edu/php/chet/readline/rltop.html'
license=('GPL')
backup=('etc/inputrc')
source=(https://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz
inputrc)
sha256sums=('3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35'
'182e38c1eb37c5e84cb84c40a2121d5ec149aad9cfd372eba9e5cee7bb9b9f5c'
'bbf97f1ec40a929edab5aa81998c1e2ef435436c597754916e6a5868f273aff7'
'e06503822c62f7bc0d9f387d4c78c09e0ce56e53872011363c74786c7cd4c053'
'24f587ba46b46ed2b1868ccaf9947504feba154bb8faabd4adaea63ef7e6acb0'
'79572eeaeb82afdc6869d7ad4cba9d4f519b1218070e17fa90bbecd49bd525ac'
'622ba387dae5c185afb4b9b20634804e5f6c1c6e5e87ebee7c35a8f065114c99'
'c7b45ff8c0d24d81482e6e0677e81563d13c74241f7b86c4de00d239bc81f5a1'
'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)
done
# remove RPATH from shared objects (FS#14366)
sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf
}
build() {
cd $pkgname-$_basever
./configure --prefix=/usr
make SHLIB_LIBS=-lncurses
}
package() {
make -C $pkgname-$_basever DESTDIR="$pkgdir" install
install -Dm644 inputrc "$pkgdir"/etc/inputrc
}

35
readline/inputrc Normal file
View file

@ -0,0 +1,35 @@
set bell-style none
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
$if mode=emacs
# for linux console and RH/Debian xterm
"\e[1~": beginning-of-line
"\e[4~": end-of-line
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[7~": beginning-of-line
"\e[3~": delete-char
"\e[2~": quoted-insert
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
# for rxvt
"\e[8~": end-of-line
# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line
# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif

42
readline/readline82-001 Normal file
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

48
readline/readline82-002 Normal file
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

43
readline/readline82-003 Normal file
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

65
readline/readline82-004 Normal file
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

50
readline/readline82-005 Normal file
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

99
readline/readline82-006 Normal file
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

48
readline/readline82-007 Normal file
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

27
xz/PKGBUILD Normal file
View file

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

29
zlib-ng/PKGBUILD Normal file
View file

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

42
zstd/PKGBUILD Normal file
View file

@ -0,0 +1,42 @@
# Maintainer: Daryl Ronningen <relms@relms.dev>
pkgname=zstd
pkgver=1.5.5
pkgrel=1
pkgdesc='Zstandard - Fast real-time compression algorithm'
url='https://facebook.github.io/zstd/'
arch=(x86_64)
license=(BSD GPL2)
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}
export CFLAGS+=' -ffat-lto-objects'
export CXXFLAGS+=' -ffat-lto-objects'
cmake -S build/cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-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
cmake --build build
}
package() {
cd ${pkgname}-${pkgver}
DESTDIR="${pkgdir}" cmake --install build
install -Dm 644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
mv $pkgdir/usr/lib64 $pkgdir/usr/lib
}