1
0
Fork 0
mirror of https://gitlab.alpinelinux.org/alpine/aports.git synced 2025-07-16 04:35:13 +03:00
aports/community/shadowsocks-rust/APKBUILD

126 lines
2.3 KiB
Text

# Maintainer: Celeste <cielesti@protonmail.com>
maintainer="Celeste <cielesti@protonmail.com>"
pkgname=shadowsocks-rust
pkgver=1.23.4
pkgrel=0
pkgdesc="Rust port of shadowsocks"
url="https://github.com/shadowsocks/shadowsocks-rust"
arch="all"
license="MIT"
makedepends="
cargo
cargo-auditable
mimalloc2-dev
openssl-dev
"
subpackages="
$pkgname-sslocal
$pkgname-ssmanager
$pkgname-ssserver
$pkgname-ssservice
$pkgname-ssurl
"
source="$pkgname-$pkgver.tar.gz::https://github.com/shadowsocks/shadowsocks-rust/archive/refs/tags/v$pkgver.tar.gz"
options="net !check" # fail for some reason
prepare() {
default_prepare
# 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]
mimalloc = { rustc-link-lib = ["mimalloc"] }
EOF
cargo fetch --target="$CTARGET" --locked
}
build() {
local features="
aead-cipher-2022
local-dns
local-http-native-tls
local-redir
local-socks4
local-tunnel
logging
manager
mimalloc
multi-threaded
server
service
utility
"
case "$CARCH" in
ppc64le|s390x|riscv64|loongarch64)
;;
*)
# ioctl-sys
features="$features local-tun"
;;
esac
cargo auditable build --release \
--frozen \
--bins \
--no-default-features \
--features="$(echo $features | tr -s " " ",")"
}
check() {
cargo test --frozen
}
package() {
depends="
$pkgname-sslocal=$pkgver-r$pkgrel
$pkgname-ssmanager=$pkgver-r$pkgrel
$pkgname-ssserver=$pkgver-r$pkgrel
$pkgname-ssservice=$pkgver-r$pkgrel
$pkgname-ssurl=$pkgver-r$pkgrel
"
cd target/release
install -Dm755 -t "$pkgdir"/usr/bin/ \
sslocal \
ssmanager \
ssserver \
ssservice \
ssurl
}
sslocal() {
pkgdesc="$pkgdesc (sslocal binary)"
amove usr/bin/sslocal
}
ssmanager() {
pkgdesc="$pkgdesc (ssmanager binary)"
amove usr/bin/ssmanager
}
ssserver() {
pkgdesc="$pkgdesc (ssserver binary)"
amove usr/bin/ssserver
}
ssservice() {
pkgdesc="$pkgdesc (ssservice binary)"
amove usr/bin/ssservice
}
ssurl() {
pkgdesc="$pkgdesc (ssurl binary)"
amove usr/bin/ssurl
}
sha512sums="
362bf44f79f7964530a5b52ad71c070d558aeea77fc895427959886f15f30c4e0c6047066256eb374eac2dab285bf79bf2413c2ac4b0ae39493eb7ff0f69e5db shadowsocks-rust-1.23.4.tar.gz
"