repo/proj/guru:dev commit in: net-vpn/mullvadvpn-app/

"Itai Ferber" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1786109642.ff7f3a3b43ef379a74d5035408f11bf1529d41b7.itai@gentoo>
commit:     ff7f3a3b43ef379a74d5035408f11bf1529d41b7
Author:     Itai Ferber <itai <AT> itaiferber <DOT> net>
AuthorDate: Tue Aug  4 14:16:52 2026 +0000
Commit:     Itai Ferber <itai <AT> itaiferber <DOT> net>
CommitDate: Fri Aug  7 13:34:02 2026 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=ff7f3a3b

net-vpn/mullvadvpn-app: add 2026.4_beta1

Signed-off-by: Itai Ferber <itai <AT> itaiferber.net>

 net-vpn/mullvadvpn-app/Manifest                    |   2 +
 .../mullvadvpn-app-2026.4_beta1.ebuild             | 156 +++++++++++++++++++++
 2 files changed, 158 insertions(+)

diff --git a/net-vpn/mullvadvpn-app/Manifest b/net-vpn/mullvadvpn-app/Manifest
index 2cd7992eba..d4529b1a3e 100644
--- a/net-vpn/mullvadvpn-app/Manifest
+++ b/net-vpn/mullvadvpn-app/Manifest
@@ -1,2 +1,4 @@
 DIST MullvadVPN-2026.3_aarch64.rpm 86586701 BLAKE2B 19e23dd53116df4fa0dbd3affce1eb3edf9ef769aba48eb3e8ddeadf7d08bc3345ae9d5e18b18ff6d11907082f4d1bb3dfab54f49864cf9ffbc47c15aefd7368 SHA512 69ab22c8946c7189272daf889b5f2df01ef0537a016febcc1de00e329291a21d545a1b03dbf11b8beadb4022ed51f541559e3abd7fd5d16202b9377e63baf26f
 DIST MullvadVPN-2026.3_x86_64.rpm 92403313 BLAKE2B e61b732f108e043b38f99ece7f560cc8d9a6d1b68b180b334dc7b80e7be9b9b364e90c42a711d7a8011e0dd1ee278bd62db4323027bd53b3d2ec89e136d0d523 SHA512 3df078700eb02310a7d31ec11dc538c9e2a328eaaa12d1a7753c11e7bbddc8cc6047ce198a283becd91130bbafebf17aebaaf449dd72c34e8c45dae335ee9e9f
+DIST MullvadVPN-2026.4-beta1_aarch64.rpm 90111669 BLAKE2B cdc7ad3d5142f5a52f2ac58955a654572eee440ccdca25771291d909324a80811895ec32e1864f51672098bf1eaf2d171a9256874e90c9d3db4f4c4f79004625 SHA512 2363a014ed0ca27a08fe5b8512712fbd386e3deef00caf6c1be8531e5bc21f411130a20e9b408ea975882793c73fe5879d188f9a4bfd5e2679d7f8b277d553a5
+DIST MullvadVPN-2026.4-beta1_x86_64.rpm 95958245 BLAKE2B 640d76b5d7b08434084bcb6ad0df64437fed03e5aa13bb2a129b83ce3775d12ad180506512180ce969fc08ffc3e250cc02d6e13d91bc03c8b10f326f1f272805 SHA512 6151da9d636db605ae9921f4f09b6d1c85fed6b33f4ab60f45b3e53842a4600db9c1a3f4efb44fdd9737ea4fa17fad6d18109076d217090cb008eed19ce8d0b8

diff --git a/net-vpn/mullvadvpn-app/mullvadvpn-app-2026.4_beta1.ebuild b/net-vpn/mullvadvpn-app/mullvadvpn-app-2026.4_beta1.ebuild
new file mode 100644
index 0000000000..3407daab5e
--- /dev/null
+++ b/net-vpn/mullvadvpn-app/mullvadvpn-app-2026.4_beta1.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+RPM_COMPRESS_TYPE="xz"
+inherit desktop rpm systemd shell-completion xdg
+
+MYPV="${PV/_beta/-beta}"
+DESCRIPTION="Tool used to manage daemon setup"
+HOMEPAGE="https://github.com/mullvad/mullvadvpn-app https://mullvad.net/"
+SRC_URI="
+	amd64? ( https://github.com/mullvad/mullvadvpn-app/releases/download/${MYPV}/MullvadVPN-${MYPV}_x86_64.rpm )
+	arm64? ( https://github.com/mullvad/mullvadvpn-app/releases/download/${MYPV}/MullvadVPN-${MYPV}_aarch64.rpm )
+"
+
+S="${WORKDIR}"
+LICENSE="GPL-3"
+SLOT="0"
+
+# Betas are kept unkeyworded; users can opt in to testing by accepting '**' instead of '~amd64'/
+# '~arm64' keywords.
+#
+# See https://bugs.gentoo.org/966989
+if [[ "${PV}" != *_beta* ]]; then
+	KEYWORDS="-* ~amd64 ~arm64"
+fi
+
+RESTRICT="bindist mirror strip"
+
+RDEPEND="
+	app-accessibility/at-spi2-core:2
+	dev-libs/expat
+	dev-libs/glib:2
+	dev-libs/nspr
+	dev-libs/nss
+	media-libs/alsa-lib
+	media-libs/mesa
+	net-print/cups
+	sys-apps/dbus
+	x11-libs/cairo
+	x11-libs/gtk+:3
+	x11-libs/libdrm
+	x11-libs/libX11
+	x11-libs/libxcb
+	x11-libs/libXcomposite
+	x11-libs/libXdamage
+	x11-libs/libXext
+	x11-libs/libXfixes
+	x11-libs/libxkbcommon
+	x11-libs/libXrandr
+	x11-libs/pango
+	|| (
+		net-firewall/nftables
+		net-firewall/iptables[nftables]
+	)
+"
+
+QA_PREBUILT="*"
+
+src_install() {
+	sed -i "s|SCRIPT_DIR=.*|SCRIPT_DIR=\"/opt/Mullvad VPN/\"|g" "${S}/opt/Mullvad VPN/mullvad-vpn" || die
+
+	# Using doins -r would strip executable bits from all binaries
+	cp -pPR opt "${D}"/ || die "Failed to copy files"
+	fperms +x "/opt/Mullvad VPN/chrome_crashpad_handler"
+	fperms 4755 "/opt/Mullvad VPN/chrome-sandbox"
+
+	dobin ./usr/bin/mullvad
+	dobin ./usr/bin/mullvad-daemon
+	dobin ./usr/bin/mullvad-exclude
+	dosym -r "/opt/Mullvad VPN/mullvad-vpn" /usr/bin/mullvad-vpn
+	dosym -r "/opt/Mullvad VPN/resources/mullvad-problem-report" /usr/bin/mullvad-problem-report
+
+	# mullvad-exclude uses cgroups to manage exclusions, which requires root permissions, but is
+	# also most often used to exclude graphical applications which can't or shouldn't run as root
+	# (i.e., can't be run under `sudo/doas /usr/bin/mullvad-exclude ...`, because `sudo`/`doas`
+	# change user). The setuid bit allows any user to exclude executables under their own UID.
+	fperms 4755 /usr/bin/mullvad-exclude
+
+	newinitd "${FILESDIR}"/mullvad-daemon.initd mullvad-daemon
+
+	systemd_newunit ./usr/lib/systemd/system/mullvad-daemon.service mullvad-daemon.service
+	systemd_newunit ./usr/lib/systemd/system/mullvad-early-boot-blocking.service mullvad-early-boot-blocking.service
+
+	newbashcomp ./usr/share/bash-completion/completions/mullvad mullvad
+	newfishcomp ./usr/share/fish/vendor_completions.d/mullvad.fish mullvad
+	newzshcomp ./usr/share/zsh/site-functions/_mullvad _mullvad
+
+	domenu ./usr/share/applications/mullvad-vpn.desktop
+	local x
+	for x in 16 32 48 64 128 256 512 1024; do
+		doicon -s "${x}" "./usr/share/icons/hicolor/${x}x${x}/apps/mullvad-vpn.png"
+	done
+}
+
+pkg_postrm() {
+	xdg_pkg_postrm
+
+	if [[ -z ${REPLACED_BY_VERSION} ]]; then
+		if ! command -v pgrep &>/dev/null || pgrep -f "mullvad-(daemon|gui)"; then
+			elog "Mullvad has been uninstalled. To stop the service,"
+			elog "1. Quit the Mullvad app"
+			elog "   * Manually: 'Disconnect & quit' from the Mullvad menu"
+			elog "     OR"
+			elog "   * Command line: pkill -f mullvad-gui"
+			elog "2. Stop the daemon"
+			elog "   * OpenRC: rc-service mullvad-daemon stop"
+			elog "     OR"
+			elog "   * systemd: systemctl stop mullvad-daemon"
+			elog "     OR"
+			elog "   * other: pkill -f mullvad-daemon"
+		fi
+	fi
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+
+	if [[ -n ${REPLACING_VERSIONS} ]]; then
+		if command -v pgrep &>/dev/null && pgrep -f "mullvad-(daemon|gui)" &>/dev/null; then
+			elog "Mullvad has been updated. To restart the service,"
+			elog "1. Restart the daemon"
+			elog "   * OpenRC: rc-service mullvad-daemon restart"
+			elog "     OR"
+			elog "   * systemd: systemctl restart mullvad-daemon"
+			elog "2. Restart the app"
+			elog "   * Manually: 'Disconnect & quit' from the Mullvad menu and relaunch using"
+			elog "               your preferred desktop launcher"
+			elog "     OR"
+			elog "   * Command line: pkill -f mullvad-gui && '/opt/Mullvad VPN/mullvad-vpn' & disown"
+		else
+			elog "Mullvad has been updated. To start the service,"
+			elog "1. Start the daemon"
+			elog "   * OpenRC: rc-service mullvad-daemon start"
+			elog "     OR"
+			elog "   * systemd: systemctl start mullvad-daemon"
+			elog "2. Launch the app"
+			elog "   * Manually: use your preferred desktop launcher"
+			elog "     OR"
+			elog "   * Command line: '/opt/Mullvad VPN/mullvad-vpn' & disown"
+		fi
+	else
+		elog "Mullvad has been installed. To start the service,"
+		elog "1. Enable and start the daemon"
+		elog "   * OpenRC: rc-update add mullvad-daemon default"
+		elog "             rc-service mullvad-daemon start"
+		elog "     OR"
+		elog "   * systemd: systemctl enable mullvad-daemon"
+		elog "              systemctl start mullvad-daemon"
+		elog "2. Launch the app"
+		elog "   * Manually: use your preferred desktop launcher"
+		elog "     OR"
+		elog "   * Command line: '/opt/Mullvad VPN/mullvad-vpn' & disown"
+	fi
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.