Files
mullvad-vpn-alpine/mullvad-vpn-daemon/APKBUILD

116 lines
2.7 KiB
Plaintext

# Contributor:
# Maintainer: Joakim Hulthe <joakim@hulthe.net>
pkgname=mullvad-vpn-daemon
pkgver=2026.1_git
pkgrel=5
pkgdesc="Mullvad VPN system service"
url="https://mullvad.net/"
arch="all"
license="GPL-3-or-later"
depends="
dbus
libmnl
libnftnl
"
makedepends="
build-base
cargo-auditable
rust
pkgconfig
git
protobuf-dev
dbus-dev
libmnl-dev
libnftnl-dev
"
checkdepends=""
install="
$pkgname.post-install
$pkgname.pre-upgrade
$pkgname.post-upgrade
$pkgname.pre-deinstall
$pkgname.post-deinstall
$pkgname-systemd.post-install
$pkgname-systemd.post-upgrade
"
subpackages="
$pkgname-systemd
$pkgname-suid
"
source=""
builddir="$srcdir/"
options="net suid"
_cargo_target_dir="${CARGO_TARGET_DIR:-$startdir/mullvadvpn-app/target}"
prepare() {
default_prepare
cd "$startdir/mullvadvpn-app"
cargo fetch --target "$CHOST" --locked
}
build() {
cd "$startdir/mullvadvpn-app"
# Specify `--target` so that the build artifacts ends up in target/<target>/release to
# avoid clashes with host system when running in a container with a mounted target folder.
# Compile all binaries
cargo auditable build --release --locked \
--target "$CHOST" \
-p mullvad-cli \
-p mullvad-daemon \
-p mullvad-exclude \
-p mullvad-problem-report \
-p mullvad-setup
# Generate vendored relay list
cargo run --release --locked \
-p mullvad-api --bin relay_list \
--target "$CHOST" \
> "$builddir/relays.json"
}
check() {
cd "$startdir/mullvadvpn-app"
cargo test --target "$CHOST" --frozen
}
package() {
install -m755 -D "$_cargo_target_dir/$CHOST/release/mullvad" \
"$pkgdir"/usr/bin/mullvad
install -m755 -D "$_cargo_target_dir/$CHOST/release/mullvad-daemon" \
"$pkgdir"/usr/bin/mullvad-daemon
install -m755 -D "$_cargo_target_dir/$CHOST/release/mullvad-problem-report" \
"$pkgdir"/usr/bin/mullvad-problem-report
install -m755 -D "$_cargo_target_dir/$CHOST/release/mullvad-setup" \
"$pkgdir"/usr/bin/mullvad-setup
# Bundle the vendored relay list. It's copied to /var/cache/mullvad-vpn/ by the post-* scripts.
install -m644 -D "$builddir/relays.json" \
"$pkgdir"/usr/share/mullvad-vpn/relays.json
}
systemd() {
pkgdesc="systemd service files for Mullvad VPN"
depends="$pkgname=$pkgver-r$pkgrel"
install -m755 -D "$startdir/mullvadvpn-app/dist-assets/linux/mullvad-daemon.service" \
"$subpkgdir"/usr/lib/systemd/system/mullvad-daemon.service
install -m755 -D "$startdir/mullvadvpn-app/dist-assets/linux/mullvad-early-boot-blocking.service" \
"$subpkgdir"/usr/lib/systemd/system/mullvad-early-boot-blocking.service
}
suid() {
pkgdesc="mullvad-exclude cli for split tunneling"
depends="$pkgname=$pkgver-r$pkgrel"
install -m4755 -D "$_cargo_target_dir/$CHOST/release/mullvad-exclude" \
"$subpkgdir"/usr/bin/mullvad-exclude
}