# Contributor: # Maintainer: Joakim Hulthe pkgname=mullvad-vpn-daemon pkgver=2026.1_git pkgrel=1 pkgdesc="Mullvad VPN system service" url="https://mullvad.net/" arch="$(uname -m)" license="GPL-3-or-later" depends=" " makedepends=" build-base rustup musl-dev pkgconfig git protobuf-dev libmnl-dev libnftnl-dev dbus-dev " checkdepends="" # TODO: pre/post(de)install-scripts #install="$pkgname.pre-install $pkgname.post-install $pkgname.pre-deinstall $pkgname.post-deinstall" install="" subpackages="$pkgname-systemd" source="" builddir="$srcdir/" options="net !check suid" _cargo_target_dir="${CARGO_TARGET_DIR:-$startdir/mullvadvpn-app/target}" build() { # rustup-init -y --default-toolchain stable source "$HOME/.cargo/env" cd "$startdir/mullvadvpn-app" local target="$(rustup +stable show active-toolchain | sed 's/^[^-]*-//' | grep -o "^[^ ]*")" # * Force the `stable` toolchain since it's installed in the container. # We don't wan't to needlessly download rust while building. # * Specify `--target` so that the final binary ends up in target//release. cargo +stable build --release --locked \ --target "$target" \ -p mullvad-daemon \ -p mullvad-cli \ -p mullvad-exclude \ -p mullvad-problem-report } package() { local target="$(rustup +stable show active-toolchain | sed 's/^[^-]*-//' | grep -o "^[^ ]*")" install -m755 -D "$_cargo_target_dir/$target/release/mullvad-daemon" \ "$pkgdir"/usr/bin/mullvad-daemon install -m755 -D "$_cargo_target_dir/$target/release/mullvad" \ "$pkgdir"/usr/bin/mullvad install -m755 -D "$_cargo_target_dir/$target/release/mullvad-exclude" \ "$pkgdir"/usr/bin/mullvad-exclude chmod u+s "$pkgdir"/usr/bin/mullvad-exclude install -m755 -D "$_cargo_target_dir/$target/release/mullvad-problem-report" \ "$pkgdir"/usr/bin/mullvad-problem-report } systemd() { install -m755 -D "$startdir/mullvadvpn-app/dist-assets/linux/mullvad-daemon.service" \ "$subpkgdir"/usr/lib/systemd/system/mullvad-daemon.service }