# Maintainer: dr460nf1r3 # Contributor: torvic9 AT mailbox DOT org # Contributor: lsf pkgname=firedragon _pkgname=FireDragon pkgver=100.0.2 pkgrel=1 pkgdesc="Librewolf fork build using custom branding, settings & KDE patches by OpenSUSE" arch=(x86_64 x86_64_v3) backup=('usr/lib/firedragon/firedragon.cfg' 'usr/lib/firedragon/distribution/policies.json') license=(MPL GPL LGPL) url="https://gitlab.com/dr460nf1r3/settings/" depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse aom harfbuzz libvpx libjpeg zlib icu libevent pipewire kfiredragonhelper) makedepends=(unzip zip diffutils yasm mesa imake inetutils rust xorg-server-xwayland xorg-server-xvfb ccache autoconf2.13 clang llvm jack nodejs cbindgen nasm python-setuptools python-zstandard git binutils lld dump_syms wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi) optdepends=('firejail-git: Sandboxing the browser using the included profiles' 'profile-sync-daemon: Load the browser profile into RAM' 'whoogle: Searching the web using a locally running Whoogle instance' 'searx: Searching the web using a locally running searX instance' 'networkmanager: Location detection via available WiFi networks' 'libnotify: Notification integration' 'pulseaudio: Audio support' 'speech-dispatcher: Text-to-Speech' 'hunspell-en_US: Spell checking, American English' 'libappindicator-gtk3: Global menu support for GTK apps' 'appmenu-gtk-module-git: Appmenu for GTK only' 'plasma5-applets-window-appmenu: Appmenu for Plasma only') options=(!emptydirs !makeflags !strip !lto !debug) conflicts=('firedragon-hg') install=$pkgname.install source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz $pkgname.desktop "git+https://gitlab.com/dr460nf1r3/common.git" "git+https://gitlab.com/dr460nf1r3/settings.git") sha256sums=('13bc55e1c32a6ad32b4a3b37296a0459f41b0981489fc22da491256773c51c9d' '158152bdb9ef6a83bad62ae03a3d9bc8ae693b34926e53cc8c4de07df20ab22d' 'SKIP' 'SKIP') prepare() { if [[ ! -d mozbuild ]]; then mkdir mozbuild fi cd firefox-$pkgver local _patches_dir _patches_dir="${srcdir}/common/patches" # Prepare patches, then return to the source directory cd ${_patches_dir} && sh ${srcdir}/common/rebrand.sh cd $srcdir/firefox-$pkgver # Ubuntu patches echo "---- Misc patches" patch -Np1 -i ${_patches_dir}/misc/fix-hidden-buttons-with-csd-menubar.patch # Rust patch -Np1 -i ${_patches_dir}/misc/reduce-rust-debuginfo.patch # Gentoo patches echo "---- Gentoo patches" patch -Np1 -i ${_patches_dir}/gentoo/0018-bmo-1516081-Disable-watchdog-during-PGO-builds.patch # Remove some pre-installed addons that might be questionable echo "---- Librewolf patches" patch -Np1 -i ${_patches_dir}/librewolf/remove_addons.patch # somewhat experimental patch to fix bus/dbus/remoting names to io.gitlab.librewolf # should not break things, buuuuuuuuuut we'll see. patch -Np1 -i ${_patches_dir}/librewolf/dbus_name.patch # add custom uBO assets (on first launch only) patch -Np1 -i ${_patches_dir}/librewolf/custom-ubo-assets-bootstrap-location.patch # Debian patch to enable global menubar patch -Np1 -i ${_patches_dir}/librewolf/unity-menubar.patch # custom patch that does not conflict with the unity patch patch -Np1 -i ${_patches_dir}/librewolf/mozilla-kde_after_unity.patch # Remove Mozilla VPN ads patch -Np1 -i ${_patches_dir}/librewolf/mozilla-vpn-ad2.patch # Allow SearchEngines option in non-ESR builds patch -Np1 -i ${_patches_dir}/sed-patches/allow-searchengines-non-esr.patch # Stop some undesired requests (https://gitlab.com/librewolf-community/browser/common/-/issues/10) patch -Np1 -i ${_patches_dir}/sed-patches/stop-undesired-requests.patch echo "---- Librewolf patches - UI" # Remove references to Firefox from the settings UI, change text in some of the links, # explain that we force en-US and suggest enabling history near the session restore checkbox. patch -Np1 -i ${_patches_dir}/librewolf-ui/pref-naming.patch # Privacy preferences patch -Np1 -i ${_patches_dir}/librewolf-ui/privacy-preferences.patch # Remove Firefox references in the urlbar, when suggesting opened tabs. patch -Np1 -i ${_patches_dir}/librewolf-ui/remove-branding-urlbar.patch # Remove cfr UI elements, as they are disabled and locked already. patch -Np1 -i ${_patches_dir}/librewolf-ui/remove-cfrprefs.patch # Do not display your browser is being managed by your organization in the settings. patch -Np1 -i ${_patches_dir}/librewolf-ui/remove-organization-policy-banner.patch # Hide "snippets" section from the home page settings, as it was already locked. patch -Np1 -i ${_patches_dir}/librewolf-ui/remove-snippets-from-home.patch # Add warning that sanitizing exceptions are bypassed by the options in History > Clear History when LibreWolf closes > Settings patch -Np1 -i ${_patches_dir}/librewolf-ui/sanitizing-description.patch patch -Np1 -i ${_patches_dir}/librewolf-ui/hide-default-browser.patch # Misc patch -Np1 -i ${_patches_dir}/librewolf-ui/remap-links.patch patch -Np1 -i ${_patches_dir}/librewolf/native-messaging-registry-path.patch # Pref pane - custom FireDragon svg patch -Np1 -i ${_patches_dir}/librewolf/librewolf-pref-pane.patch patch -Np1 -i ${_patches_dir}/misc/add_firedragon_svg.patch patch -Np1 -i ${_patches_dir}/librewolf-ui/website-appearance-ui-rfp.patch # fix telemetry removal, see https://gitlab.com/librewolf-community/browser/linux/-/merge_requests/17, for example patch -Np1 -i ${_patches_dir}/librewolf/disable-data-reporting-at-compile-time.patch cat >../mozconfig <.mozconfig ../mozconfig - <