diff options
| author | kj-sh604 | 2024-06-30 07:12:03 -0400 |
|---|---|---|
| committer | kj-sh604 | 2024-06-30 07:12:03 -0400 |
| commit | 7987467847654ccfd49cbc798c66bde3f36ef5f4 (patch) | |
| tree | 6bcdc58d5997eb5a066adeb28f6c78904d5272bb | |
| parent | afd1642895f9ba61ff6b721e1a56b8e8cb6ccfb8 (diff) | |
kj-gitbot: coreutils-hybrid/
| -rw-r--r-- | coreutils-hybrid/.SRCINFO | 33 | ||||
| -rw-r--r-- | coreutils-hybrid/.gitignore | 7 | ||||
| -rw-r--r-- | coreutils-hybrid/PKGBUILD | 82 | ||||
| -rw-r--r-- | coreutils-hybrid/README | 1 |
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. |
