119 lines
2.8 KiB
Plaintext
119 lines
2.8 KiB
Plaintext
maintainer="Joakim Hulthe <joakim@hulthe.net>"
|
|
pkgname=mullvad-vpn-daemon
|
|
pkgver=2026.2_beta1
|
|
pkgrel=1
|
|
pkgdesc="Mullvad VPN client (daemon and CLI)"
|
|
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
|
|
"
|
|
install="
|
|
$pkgname.post-install
|
|
$pkgname.pre-upgrade
|
|
$pkgname.post-upgrade
|
|
$pkgname.pre-deinstall
|
|
$pkgname.post-deinstall
|
|
$pkgname-systemd.post-install
|
|
$pkgname-systemd.post-upgrade
|
|
$pkgname-systemd.pre-deinstall
|
|
"
|
|
subpackages="
|
|
$pkgname-systemd
|
|
$pkgname-suid
|
|
"
|
|
source="
|
|
https://github.com/mullvad/mullvadvpn-app/archive/refs/tags/${pkgver//_/-}.tar.gz
|
|
"
|
|
builddir="$srcdir/mullvadvpn-app-${pkgver//_/-}/"
|
|
options="net suid"
|
|
|
|
_cargo_target_dir="${CARGO_TARGET_DIR:-$builddir/target}"
|
|
_cargo_release_dir="$_cargo_target_dir/$CHOST/release"
|
|
|
|
prepare() {
|
|
default_prepare
|
|
|
|
cargo fetch --target "$CHOST" --locked
|
|
}
|
|
|
|
build() {
|
|
# Specify `--target` so that build artifacts will be in target/<target>/release
|
|
# This avoids clashes with host system when building in a container.
|
|
|
|
# Compile all binaries
|
|
cargo auditable build --release --frozen \
|
|
--target "$CHOST" \
|
|
-p mullvad-cli \
|
|
-p mullvad-daemon \
|
|
-p mullvad-exclude \
|
|
-p mullvad-problem-report \
|
|
-p mullvad-setup
|
|
|
|
# Generate vendored relay list
|
|
cargo run --frozen \
|
|
-p mullvad-api --bin relay_list \
|
|
--target "$CHOST" \
|
|
> "$builddir/relays.json"
|
|
}
|
|
|
|
check() {
|
|
cargo test --target "$CHOST" --frozen
|
|
}
|
|
|
|
package() {
|
|
install -m755 -D "$_cargo_release_dir/mullvad" \
|
|
"$pkgdir/usr/bin/mullvad"
|
|
|
|
install -m755 -D "$_cargo_release_dir/mullvad-daemon" \
|
|
"$pkgdir/usr/bin/mullvad-daemon"
|
|
|
|
install -m755 -D "$_cargo_release_dir/mullvad-problem-report" \
|
|
"$pkgdir/usr/bin/mullvad-problem-report"
|
|
|
|
install -m755 -D "$_cargo_release_dir/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 "$builddir/dist-assets/linux/mullvad-daemon.service" \
|
|
"$subpkgdir/usr/lib/systemd/system/mullvad-daemon.service"
|
|
|
|
install -m755 -D "$builddir/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_release_dir/mullvad-exclude" \
|
|
"$subpkgdir/usr/bin/mullvad-exclude"
|
|
}
|
|
|
|
sha512sums="
|
|
9af0c263f0e5985d7842099f50a5070da0b23691f08ffe57c3b6d239d2c1c9acea89c07890f31d89bd75448a2dd1fd3c878b85be458baba0bcd90760e714b032 2026.2-beta1.tar.gz
|
|
"
|