# Maintainer: dr460nf1r3 # Contributor: Sébastien "Seblu" Luttringer # Contributor: Bartłomiej Piotrowski # Contributor: Allan McRae # Contributor: judd pkgname=coreutils-hybrid _pkgname=coreutils __pkgname=uutils-coreutils _pkgver=9.4 __pkgver=0.0.26 pkgver="$_pkgver"_"$__pkgver" pkgrel=1 pkgdesc='GNU coreutils / uutils-coreutils hybrid package. Uses stable uutils programs mixed with GNU counterparts if uutils counterpart is unfinished / buggy' 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') conflicts=('coreutils') provides=('coreutils') makedepends=('rust' 'cargo') options=(!lto) source=("https://ftp.gnu.org/gnu/$_pkgname/$_pkgname-$_pkgver.tar.xz" "$__pkgname-$__pkgver.tar.gz::$_url/archive/$__pkgver.tar.gz") sha512sums=('7c55ee23b685a0462bbbd118b04d25278c902604a0dcf3bf4f8bf81faa0500dee5a7813cba6f586d676c98e520cafd420f16479619305e94ea6798d8437561f5' 'ba3eb06b4a11ba1adbe28fd53282827a148a3dd616db06230f7d31810418fd80f024e55ecd29ff2556b307f146bd99b083bd337912a900e7190db1c32bdf5cb0') prepare() { cd $_pkgname-$_pkgver # 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 leaving out: stat, touch, realpath (genfstab broken), ln (no -s option) cd $_pkgname-$_pkgver ./configure \ --prefix=/usr \ --libexecdir=/usr/lib \ --with-openssl \ --enable-no-install-program="groups,hostname,kill,uptime,arch,base32,base64,basename,cat,chgrp,chmod,chown,chroot,cksum,comm,csplit,cut,dircolors,dirname,du,env,echo,expand,factor,false,fmt,fold,groups,head,hostid,hostname,id,kill,link,logname,mkdir,mkfifo,mknod,mktemp,mv,nice,nl,nohup,nproc,paste,pathk,pinky,printenv,ptx,pwd,readlink,relpath,rm,rmdir,seq,shred,shuf,sleep,stdbuf,sum,sync,tac,tee,timeout,tr,true,truncate,tsort,tty,uname,unexpand,uniq,unlink,uptime,users,who,wc,whoami,yes" } package() { # Install uutils-coreutils, skip the buggy parts cd $_pkgname-$__pkgver make \ DESTDIR="$pkgdir" \ PREFIX=/usr \ MANDIR=/share/man/man1 \ PROG_PREFIX= \ install # Install GNU coreutils over the uutils-coreutils cd $srcdir && cd $_pkgname-$_pkgver make DESTDIR="$pkgdir" install # Clean conflicts, Arch ships these in other apps cd $pkgdir/usr/bin rm groups hostname kill more uptime rm $pkgdir/usr/share/bash-completion/completions/* rm $pkgdir/usr/share/man/man1/{groups.1,hostname.1,kill.1,more.1,uptime.1} }