summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkj-sh6042024-06-30 07:12:03 -0400
committerkj-sh6042024-06-30 07:12:03 -0400
commit7987467847654ccfd49cbc798c66bde3f36ef5f4 (patch)
tree6bcdc58d5997eb5a066adeb28f6c78904d5272bb
parentafd1642895f9ba61ff6b721e1a56b8e8cb6ccfb8 (diff)
kj-gitbot: coreutils-hybrid/
-rw-r--r--coreutils-hybrid/.SRCINFO33
-rw-r--r--coreutils-hybrid/.gitignore7
-rw-r--r--coreutils-hybrid/PKGBUILD82
-rw-r--r--coreutils-hybrid/README1
4 files changed, 123 insertions, 0 deletions
diff --git a/coreutils-hybrid/.SRCINFO b/coreutils-hybrid/.SRCINFO
new file mode 100644
index 0000000..00fac06
--- /dev/null
+++ b/coreutils-hybrid/.SRCINFO
@@ -0,0 +1,33 @@
+pkgbase = coreutils-hybrid
+ pkgdesc = GNU coreutils / uutils-coreutils hybrid package. Uses stable uutils programs mixed with GNU counterparts if uutils counterpart is unfinished / buggy
+ pkgver = 9.5_0.0.26
+ pkgrel = 604
+ url = https://www.gnu.org/software/coreutils/
+ arch = x86_64
+ license = GPL3
+ license = MIT
+ makedepends = rust
+ makedepends = cargo
+ makedepends = python-sphinx
+ depends = glibc
+ depends = acl
+ depends = attr
+ depends = gmp
+ depends = libcap
+ depends = openssl
+ depends = gcc-libs
+ depends = libkeccak
+ provides = coreutils
+ provides = b3sum
+ provides = sha3sum
+ conflicts = coreutils
+ conflicts = coreutils-hybrid
+ conflicts = coreutils-hybrid-git
+ conflicts = b3sum
+ conflicts = sha3sum
+ source = https://ftp.gnu.org/gnu/coreutils/coreutils-9.5.tar.xz
+ source = uutils-coreutils-0.0.26.tar.gz::https://github.com/uutils/coreutils/archive/0.0.26.tar.gz
+ sha512sums = 2ca0deac4dc10a80fd0c6fd131252e99d457fd03b7bd626a6bc74fe5a0529c0a3d48ce1f5da1d3b3a7a150a1ce44f0fbb6b68a6ac543dfd5baa3e71f5d65401c
+ sha512sums = ba3eb06b4a11ba1adbe28fd53282827a148a3dd616db06230f7d31810418fd80f024e55ecd29ff2556b307f146bd99b083bd337912a900e7190db1c32bdf5cb0
+
+pkgname = coreutils-hybrid
diff --git a/coreutils-hybrid/.gitignore b/coreutils-hybrid/.gitignore
new file mode 100644
index 0000000..af9a530
--- /dev/null
+++ b/coreutils-hybrid/.gitignore
@@ -0,0 +1,7 @@
+# Version: 9.4_0.0.23
+pkg/
+src/
+*.tar
+*.tar.zst
+*.tar.gz
+*.tar.xz
diff --git a/coreutils-hybrid/PKGBUILD b/coreutils-hybrid/PKGBUILD
new file mode 100644
index 0000000..2d0a3c4
--- /dev/null
+++ b/coreutils-hybrid/PKGBUILD
@@ -0,0 +1,82 @@
+pkgname=coreutils-hybrid
+pkgver=9.5_0.0.26
+pkgrel=604
+pkgdesc='GNU coreutils / uutils-coreutils hybrid package. Uses stable uutils programs mixed with GNU counterparts if uutils counterpart is unfinished / buggy'
+gnu_coreutils=coreutils
+rust_uutils=uutils-coreutils
+gnu_coreutils_version=9.5
+rust_uutils_version=0.0.26
+arch=('x86_64')
+license=('GPL3' 'MIT')
+url='https://www.gnu.org/software/coreutils/'
+_url='https://github.com/uutils/coreutils'
+depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl' 'gcc-libs' 'libkeccak')
+conflicts=('coreutils' 'coreutils-hybrid' 'coreutils-hybrid-git' 'b3sum' 'sha3sum')
+provides=('coreutils' 'b3sum' 'sha3sum')
+makedepends=('rust' 'cargo' 'python-sphinx')
+source=("https://ftp.gnu.org/gnu/$gnu_coreutils/$gnu_coreutils-$gnu_coreutils_version.tar.xz"
+ "$rust_uutils-$rust_uutils_version.tar.gz::$_url/archive/$rust_uutils_version.tar.gz")
+sha512sums=('2ca0deac4dc10a80fd0c6fd131252e99d457fd03b7bd626a6bc74fe5a0529c0a3d48ce1f5da1d3b3a7a150a1ce44f0fbb6b68a6ac543dfd5baa3e71f5d65401c'
+ 'ba3eb06b4a11ba1adbe28fd53282827a148a3dd616db06230f7d31810418fd80f024e55ecd29ff2556b307f146bd99b083bd337912a900e7190db1c32bdf5cb0')
+
+prepare() {
+ cd $gnu_coreutils-$gnu_coreutils_version
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ echo "Applying patch ${filename##*/}"
+ patch -p1 -N -i "$srcdir/${filename##*/}"
+ fi
+ done
+ :
+}
+
+build() {
+ # build gnu coreutils without the stable uutils programs counterparts
+ cd $gnu_coreutils-$gnu_coreutils_version
+ ./configure \
+ --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --with-openssl \
+ --enable-no-install-program="[,arch,b2sum,base32,base64,basename,basenc,cat,chgrp,chmod,chown,chroot,cksum,comm,csplit,cut,dir,dircolors,dirname,du,echo,env,expand,factor,false,fmt,fold,head,hostid,id,link,ln,logname,md5sum,mkdir,mkfifo,mknod,mktemp,mv,nice,nl,nohup,nproc,paste,pathchk,pinky,printenv,ptx,pwd,readlink,realpath,rm,rmdir,seq,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum,shred,shuf,sleep,stat,stdbuf,sum,sync,tee,timeout,touch,tr,true,truncate,tsort,tty,uname,unexpand,uniq,unlink,users,vdir,wc, who,whoami,yes"
+}
+
+package() {
+ # build uutils-coreutils, skip the buggy parts
+ cd $gnu_coreutils-$rust_uutils_version
+ make \
+ DESTDIR="$pkgdir" \
+ PREFIX=/usr \
+ MANDIR=/share/man/man1 \
+ PROG_PREFIX= \
+ PROFILE=release \
+ MULTICALL=y \
+ install
+ # install gnu coreutils over the uutils-coreutils
+ cd $srcdir && cd $gnu_coreutils-$gnu_coreutils_version
+ make DESTDIR="$pkgdir" install
+ # add libstdbuf.so
+ mkdir -p $pkgdir/usr/lib/coreutils
+ cd $srcdir && cd $gnu_coreutils-$rust_uutils_version/target/release/deps
+ mv liblibstdbuf.so $pkgdir/usr/lib/coreutils/libstdbuf.so
+ # clean conflicts, arch ships these in other apps
+ cd $pkgdir/usr/bin
+ rm groups hostname kill more uptime
+ # symlink missing binaries
+ if [ -f "coreutils" ]; then
+ local binaries=(
+ "b2sum" "b3sum" "md5sum" "sha1sum" "sha224sum"
+ "sha256sum" "sha3-224sum" "sha3-256sum" "sha3-384sum" "sha3-512sum"
+ "sha384sum" "sha3sum" "sha512sum" "shake128sum" "shake256sum"
+ )
+ for bin in "${binaries[@]}"; do
+ ln -s coreutils "$bin" || echo "warning: failed to create symlink for $bin"
+ done
+ else
+ echo "coreutils binary not found, skipping symlink creation."
+ fi
+ # additional cleanup
+ rm $pkgdir/usr/share/bash-completion/completions/*
+ rm $pkgdir/usr/share/man/man1/{groups.1,hostname.1,kill.1,more.1,uptime.1}
+}
diff --git a/coreutils-hybrid/README b/coreutils-hybrid/README
new file mode 100644
index 0000000..eccc27a
--- /dev/null
+++ b/coreutils-hybrid/README
@@ -0,0 +1 @@
+my personalized PKGBUILD of the "coreutils-hybrid" package found in the AUR.