mirror of
https://github.com/gentoo-mirror/guru.git
synced 2025-04-10 20:18:41 -04:00
95 lines
2.8 KiB
Bash
95 lines
2.8 KiB
Bash
# Copyright 2024-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit desktop optfeature toolchain-funcs xdg
|
|
|
|
DESCRIPTION="The Mullvad Browser is developed to minimize tracking and fingerprinting."
|
|
HOMEPAGE="https://github.com/mullvad/mullvad-browser/ https://mullvad.net/"
|
|
SRC_URI="https://github.com/mullvad/mullvad-browser/releases/download/${PV}/mullvad-browser-linux-x86_64-${PV}.tar.xz -> ${P}.tar.xz"
|
|
|
|
S="${WORKDIR}"
|
|
LICENSE="MPL-2.0"
|
|
SLOT="0"
|
|
KEYWORDS="-* ~amd64"
|
|
|
|
IUSE="X"
|
|
|
|
RDEPEND="
|
|
app-accessibility/at-spi2-core
|
|
app-misc/mime-types
|
|
dev-libs/dbus-glib
|
|
dev-libs/glib
|
|
dev-libs/nspr
|
|
dev-libs/nss
|
|
gui-libs/gtk
|
|
media-libs/alsa-lib
|
|
media-libs/fontconfig
|
|
media-libs/freetype
|
|
media-video/ffmpeg
|
|
sys-apps/dbus
|
|
x11-libs/cairo
|
|
x11-themes/hicolor-icon-theme
|
|
x11-libs/libX11
|
|
x11-libs/libxcb
|
|
x11-libs/libXcomposite
|
|
x11-libs/libXcursor
|
|
x11-libs/libXdamage
|
|
x11-libs/libXfixes
|
|
x11-libs/libXi
|
|
x11-libs/libXrandr
|
|
x11-libs/libXrender
|
|
x11-libs/libXt
|
|
x11-libs/libXtst
|
|
"
|
|
|
|
QA_PREBUILT="*"
|
|
|
|
src_install() {
|
|
# Install profiles to home dir
|
|
touch mullvad-browser/Browser/is-packaged-app || die
|
|
|
|
# Fix desktop file vars
|
|
sed -i \
|
|
-e 's|Name=.*|Name=Mullvad Browser|g' \
|
|
-e 's|Exec=.*|Exec=/opt/mullvad-browser/Browser/start-mullvad-browser --detach|g' \
|
|
-e 's|Icon=.*|Icon=mullvad-browser|g' \
|
|
mullvad-browser/start-mullvad-browser.desktop || die
|
|
|
|
# Install shim for X11. Browser doesn't seem to launch without it, see upstream issue:
|
|
# https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40565
|
|
#
|
|
# The X11 shim below does not affect the browser's fingerprint or functionality.
|
|
if use X ; then
|
|
echo "#include <stdlib.h>
|
|
void gdk_wayland_display_get_wl_compositor() { abort(); }
|
|
void gdk_wayland_device_get_wl_pointer() { abort(); }
|
|
void gdk_wayland_window_get_wl_surface() { abort(); }
|
|
void gdk_wayland_display_get_wl_display() { abort(); }" > X11shim.c || die
|
|
$(tc-getCC) -shared -o mullvad-browser/X11shim.so X11shim.c || die
|
|
sed -i '1a export LD_PRELOAD=/opt/mullvad-browser/X11shim.so' mullvad-browser/Browser/start-mullvad-browser || die
|
|
fi
|
|
|
|
insinto /opt/
|
|
doins -r mullvad-browser
|
|
|
|
dosym ../../opt/mullvad-browser/Browser/start-mullvad-browser /usr/bin/${PN}
|
|
domenu mullvad-browser/start-mullvad-browser.desktop
|
|
local x
|
|
for x in 16 32 48 64 128; do
|
|
newicon -s ${x} mullvad-browser/Browser/browser/chrome/icons/default/default${x}.png mullvad-browser.png
|
|
done
|
|
|
|
fperms 755 /opt/mullvad-browser/Browser/abicheck
|
|
fperms +x /opt/mullvad-browser/Browser/start-mullvad-browser
|
|
fperms +x /opt/mullvad-browser/Browser/mullvadbrowser
|
|
fperms +x /opt/mullvad-browser/Browser/mullvadbrowser.real
|
|
}
|
|
|
|
pkg_postinst() {
|
|
xdg_pkg_postinst
|
|
|
|
optfeature "wayland screensharing support" sys-apps/xdg-desktop-portal
|
|
}
|