aports/testing/oniux/APKBUILD
2025-05-25 15:21:39 +00:00

59 lines
1.6 KiB
Text

# Contributor: omni <omni+alpine@hack.org>
# Maintainer: omni <omni+alpine@hack.org>
pkgname=oniux
pkgver=0.5.0
pkgrel=0
pkgdesc="Linux namespace Tor isolation for any program (except libcurl/c-ares dependants)"
url="https://gitlab.torproject.org/tpo/core/oniux"
license="Apache-2.0"
# s390x: merlin crate doesn't support big-endian targets
arch="all !s390x"
makedepends="cargo openssl-dev>3 sqlite-dev zstd-dev xz-dev cargo-auditable"
subpackages="$pkgname-doc"
source="https://gitlab.torproject.org/tpo/core/oniux/-/archive/v$pkgver/oniux-v$pkgver.tar.gz
update-lockfile.patch
"
builddir="$srcdir/$pkgname-v$pkgver"
case "$CARCH" in
arm*|loongarch64|ppc64le|riscv64|s390x|x86)
# for aws-lc-sys
makedepends="$makedepends cmake clang-dev"
;;
esac
prepare() {
default_prepare
cargo fetch --target="$CTARGET" --locked
# Rust target triple.
local target=$(rustc -vV | sed -n 's/host: //p')
# Build against system-provided libs
mkdir -p .cargo
cat >> .cargo/config.toml <<-EOF
[target.$target]
zstd = { rustc-link-lib = ["zstd"] }
EOF
}
build() {
cargo auditable build --release --frozen
}
check() {
./target/release/"$pkgname" --help
# when using oniux in CI:
# Error: EPERM: Operation not permitted
}
package() {
install -Dm755 -t "$pkgdir"/usr/bin/ target/release/oniux
install -Dm755 -t "$pkgdir"/usr/share/doc/"$pkgname"/ README.md
}
sha512sums="
da92cd93c238b2822ee66f378cd5557c92f90e810a62ba3742f9274ec53ee296c9cb87ee52381746825c3d7f923b227eaa0060cb73c80201820d999d813799ed oniux-v0.5.0.tar.gz
ba0f417278f62812dbffba6eedb180f771b00ba4983b6802c144f068b43fa18e2e9b9f48428f02697f0a4db82e5b490678c6ecf12cc0cb87c55d2357c672b8ca update-lockfile.patch
"