summaryrefslogtreecommitdiffstats
path: root/coreutils-uutils/PKGBUILD
diff options
context:
space:
mode:
authorkj-sh6042025-08-29 23:14:28 -0400
committerkj-sh6042025-08-29 23:14:28 -0400
commit9968adbfe4364cd0e96efe9e83199586777d5a31 (patch)
tree95a1d7cea2d5497b833f1bf4b0fb7a6769eb9e1d /coreutils-uutils/PKGBUILD
parent5210dfc9ef7a4ec3292359f21bcda70cb0711f7c (diff)
refactor: temporary workaround for broken stty (from oech3)
also migrate the package to utilize symlinks in relation to the uutils-coreutils package
Diffstat (limited to 'coreutils-uutils/PKGBUILD')
-rw-r--r--coreutils-uutils/PKGBUILD100
1 files changed, 26 insertions, 74 deletions
diff --git a/coreutils-uutils/PKGBUILD b/coreutils-uutils/PKGBUILD
index 88c0954..f51153e 100644
--- a/coreutils-uutils/PKGBUILD
+++ b/coreutils-uutils/PKGBUILD
@@ -1,87 +1,39 @@
-# Maintainer: kj_sh604 <406hs_jk@proton.me>
+# Maintainer: kj_sh604
+# Maintainer: oech3
pkgname=coreutils-uutils
pkgver=0.1.0
-pkgrel=4
-pkgdesc='Cross-platform Rust rewrite of the GNU coreutils installed as system
+pkgrel=5
+pkgdesc='Cross-platform Rust rewrite of the GNU coreutils symlinked as system
core utilities (WARNING: use at own risk).'
arch=('x86_64')
license=('MIT')
-url='https://github.com/uutils/coreutils'
-conflicts=(
- coreutils
- b3sum
- sha3sum
-)
-provides=(
- coreutils
- b3sum
- sha3sum
-)
-depends=(
- gcc-libs
- glibc
- oniguruma
-)
-makedepends=(
- cargo
- clang
- python-sphinx
- rust
-)
-source=("uutils-coreutils-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
- disable_selinux.patch
- build-stty.patch)
-sha256sums=('55c528f2b53c1b30cb704550131a806e84721c87b3707b588a961a6c97f110d8'
- '302614165d99f04600627222ddad0444a0144fcad6a1ff59ad43fb0b3162060e'
- '0bd635cc349cfe133ddad0b1d05256c023b46f4a30f81aee123100119762df8e')
-
-prepare() {
- cd ${pkgname%-uutils}-${pkgver}
- patch -Np1 -i $srcdir/disable_selinux.patch
- patch -Np1 -i $srcdir/build-stty.patch
+url=https://github.com/uutils/coreutils
+conflicts=(coreutils b3sum sha3sum)
+provides=(coreutils b3sum sha3sum)
+depends=(uutils-coreutils=${pkgver}) # avoid random version bump
+makedepends=(rust-musl make)
+source=("${url}/archive/${pkgver}.tar.gz")
+sha256sums=('55c528f2b53c1b30cb704550131a806e84721c87b3707b588a961a6c97f110d8')
+build() {
+ cd coreutils-${pkgver}
+ cargo build -p uu_stty --release --target=x86_64-unknown-linux-musl # temporary stty workaround
}
package() {
- cd ${pkgname%-uutils}-${pkgver}
- export RUSTONIG_DYNAMIC_LIBONIG=1
- make install \
- DESTDIR="$pkgdir" \
- PREFIX=/usr \
- MANDIR=/share/man/man1 \
- PROG_PREFIX= \
- PROFILE=release \
- MULTICALL=y \
- SKIP_UTILS="hostname kill more uptime"
- # add libstdbuf.so
- mkdir -p $pkgdir/usr/lib/coreutils
- cd $srcdir && cd ${pkgname%-uutils}-${pkgver}/target/release/deps
- mv liblibstdbuf.so $pkgdir/usr/lib/coreutils/libstdbuf.so
- # clean conflicts (arch ships these in the bash-completion package)
- rm $pkgdir/usr/share/bash-completion/completions/*
- # symlink missing binaries
- cd $pkgdir/usr/bin
- 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
-
- # create dummy shell scripts for chcon and runcon
- install -m 755 <(echo "#!/bin/sh
-echo \"warning: chcon is no longer built with the coreutils-uutils package\"
-exit 1") $pkgdir/usr/bin/chcon
- install -m 755 <(echo "#!/bin/sh
-echo \"warning: runcon is no longer built with the coreutils-uutils package\"
-exit 1") $pkgdir/usr/bin/runcon
+ cd coreutils-$pkgver
+ install -Dm755 target/x86_64-unknown-linux-musl/release/stty "$pkgdir"/usr/bin/stty
+ # fail if uu-coreutils binary is renamed in the uutils-coreutils package
+ /usr/bin/uu-coreutils install -d "$pkgdir"/usr/{bin,share/{man/man1,zsh/site-functions,fish/vendor_completions.d}}
+ cd "$pkgdir"/usr
+ cp -sf /usr/bin/uu-coreutils bin/\[ # avoid completion err
+ for f in $(uu-coreutils --list|grep -v -E '^(kill|more|uptime|hostname|\[)$') chcon runcon ; do
+ ln -sf /usr/bin/uu-coreutils bin/"$f"
+ ln -sf /usr/share/man/man1/uu-"$f".1.gz share/man/man1/"$f".1.gz
+ echo -e "#compdef ${f}=uu-${f}\n_uu-${f}" > share/zsh/site-functions/_$f
+ echo "complete -c ${f} -w uu-${f}" > share/fish/vendor_completions.d/${f}.fish
+ done
}
# vim: ts=2 sw=2 et: