forked from AUR/firedragon
Redo some stuff
This commit is contained in:
parent
4e1fbbba6b
commit
0f291b2b95
19
.SRCINFO
19
.SRCINFO
@ -17,9 +17,10 @@ pkgbase = firedragon
|
|||||||
makedepends = mesa
|
makedepends = mesa
|
||||||
makedepends = imake
|
makedepends = imake
|
||||||
makedepends = inetutils
|
makedepends = inetutils
|
||||||
makedepends = xorg-server-xvfb
|
|
||||||
makedepends = rust
|
|
||||||
makedepends = ccache
|
makedepends = ccache
|
||||||
|
makedepends = rust
|
||||||
|
makedepends = xorg-server-xwayland
|
||||||
|
makedepends = xorg-server-xvfb
|
||||||
makedepends = autoconf2.13
|
makedepends = autoconf2.13
|
||||||
makedepends = clang
|
makedepends = clang
|
||||||
makedepends = llvm
|
makedepends = llvm
|
||||||
@ -34,27 +35,27 @@ pkgbase = firedragon
|
|||||||
makedepends = binutils
|
makedepends = binutils
|
||||||
makedepends = lld
|
makedepends = lld
|
||||||
makedepends = dump_syms
|
makedepends = dump_syms
|
||||||
|
makedepends = wasi-compiler-rt
|
||||||
|
makedepends = wasi-libc
|
||||||
|
makedepends = wasi-libc++
|
||||||
|
makedepends = wasi-libc++abi
|
||||||
depends = gtk3
|
depends = gtk3
|
||||||
depends = libxt
|
depends = libxt
|
||||||
depends = mime-types
|
depends = mime-types
|
||||||
depends = dbus-glib
|
depends = dbus-glib
|
||||||
depends = ffmpeg
|
depends = ffmpeg
|
||||||
depends = nss
|
depends = nss
|
||||||
depends = nspr
|
|
||||||
depends = ttf-font
|
depends = ttf-font
|
||||||
depends = libpulse
|
depends = libpulse
|
||||||
depends = libwebp
|
depends = aom
|
||||||
|
depends = harfbuzz
|
||||||
|
depends = graphite
|
||||||
depends = libvpx
|
depends = libvpx
|
||||||
depends = libjpeg
|
depends = libjpeg
|
||||||
depends = zlib
|
depends = zlib
|
||||||
depends = icu
|
depends = icu
|
||||||
depends = libevent
|
depends = libevent
|
||||||
depends = pipewire
|
depends = pipewire
|
||||||
depends = aom
|
|
||||||
depends = harfbuzz
|
|
||||||
depends = graphite
|
|
||||||
depends = dav1d
|
|
||||||
depends = kfiredragonhelper
|
|
||||||
optdepends = firejail-git: Sandboxing the browser using the included profiles
|
optdepends = firejail-git: Sandboxing the browser using the included profiles
|
||||||
optdepends = profile-sync-daemon: Load the browser profile into RAM
|
optdepends = profile-sync-daemon: Load the browser profile into RAM
|
||||||
optdepends = whoogle: Searching the web using a locally running Whoogle instance
|
optdepends = whoogle: Searching the web using a locally running Whoogle instance
|
||||||
|
99
PKGBUILD
99
PKGBUILD
@ -12,13 +12,13 @@ backup=('usr/lib/firedragon/firedragon.cfg'
|
|||||||
'usr/lib/firedragon/distribution/policies.json')
|
'usr/lib/firedragon/distribution/policies.json')
|
||||||
license=(MPL GPL LGPL)
|
license=(MPL GPL LGPL)
|
||||||
url="https://gitlab.com/dr460nf1r3/settings/"
|
url="https://gitlab.com/dr460nf1r3/settings/"
|
||||||
depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss nspr ttf-font libpulse
|
depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse
|
||||||
libwebp libvpx libjpeg zlib icu libevent pipewire aom harfbuzz
|
aom harfbuzz graphite libvpx libjpeg zlib icu libevent pipewire)
|
||||||
graphite dav1d kfiredragonhelper)
|
makedepends=(unzip zip diffutils yasm mesa imake inetutils ccache
|
||||||
makedepends=(unzip zip diffutils yasm mesa imake inetutils xorg-server-xvfb
|
rust xorg-server-xwayland xorg-server-xvfb
|
||||||
rust ccache autoconf2.13 clang llvm jack nodejs cbindgen nasm
|
autoconf2.13 clang llvm jack nodejs cbindgen nasm
|
||||||
python-setuptools python-psutil python-zstandard git binutils lld dump_syms wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi
|
python-setuptools python-psutil python-zstandard git binutils
|
||||||
xorg-server-xwayland python-pip)
|
lld dump_syms wasi-compiler-rt wasi-libc wasi-libc++ wasi-libc++abi)
|
||||||
optdepends=('firejail-git: Sandboxing the browser using the included profiles'
|
optdepends=('firejail-git: Sandboxing the browser using the included profiles'
|
||||||
'profile-sync-daemon: Load the browser profile into RAM'
|
'profile-sync-daemon: Load the browser profile into RAM'
|
||||||
'whoogle: Searching the web using a locally running Whoogle instance'
|
'whoogle: Searching the web using a locally running Whoogle instance'
|
||||||
@ -63,7 +63,6 @@ prepare() {
|
|||||||
echo "---- Patching for KDE"
|
echo "---- Patching for KDE"
|
||||||
patch -Np1 -i ${_patches_dir}/kde/mozilla-nongnome-proxies.patch
|
patch -Np1 -i ${_patches_dir}/kde/mozilla-nongnome-proxies.patch
|
||||||
patch -Np1 -i ${_patches_dir}/kde/mozilla-kde.patch
|
patch -Np1 -i ${_patches_dir}/kde/mozilla-kde.patch
|
||||||
#patch -Np1 -i ${_patches_dir}/kde/firefox-kde.patch Currently broken with PGO
|
|
||||||
|
|
||||||
# Ubuntu patches
|
# Ubuntu patches
|
||||||
echo "---- Misc patches"
|
echo "---- Misc patches"
|
||||||
@ -75,8 +74,14 @@ prepare() {
|
|||||||
# Gentoo patches
|
# Gentoo patches
|
||||||
echo "---- Gentoo patches"
|
echo "---- Gentoo patches"
|
||||||
patch -Np1 -i ${_patches_dir}/gentoo/0021-bmo-1516081-Disable-watchdog-during-PGO-builds.patch
|
patch -Np1 -i ${_patches_dir}/gentoo/0021-bmo-1516081-Disable-watchdog-during-PGO-builds.patch
|
||||||
patch -Np1 -i ${_patches_dir}/gentoo/0029-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch
|
patch -Np1 -i ${_patches_dir}/gentoo/0026-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch
|
||||||
|
patch -Np1 -i ${_patches_dir}/gentoo/0002-Fortify-sources-properly.patch
|
||||||
|
patch -Np1 -i ${_patches_dir}/gentoo/0008-bmo-878089-Don-t-fail-when-TERM-is-not-set.patch
|
||||||
|
patch -Np1 -i ${_patches_dir}/gentoo/0022-bmo-1196777-Set-GDK_FOCUS_CHANGE_MASK.patch
|
||||||
|
patch -Np1 -i ${_patches_dir}/gentoo/0027-Make-elfhack-use-toolchain.patch
|
||||||
|
patch -Np1 -i ${_patches_dir}/gentoo/0029-Enable-FLAC-on-platforms-without-ffvpx-via-ffmpeg.patch
|
||||||
|
patch -Np1 -i ${_patches_dir}/gentoo/0030-bmo-1670333-OpenH264-Fix-decoding-if-it-starts-on-no.patch
|
||||||
|
patch -Np1 -i ${_patches_dir}/gentoo/0031-bmo-1663844-OpenH264-Allow-using-OpenH264-GMP-decode.patch
|
||||||
# Use more system libs
|
# Use more system libs
|
||||||
echo "---- Patching for system libs"
|
echo "---- Patching for system libs"
|
||||||
patch -Np1 -i ${_patches_dir}/gentoo/0004-bmo-847568-Support-system-harfbuzz.patch
|
patch -Np1 -i ${_patches_dir}/gentoo/0004-bmo-847568-Support-system-harfbuzz.patch
|
||||||
@ -94,18 +99,12 @@ prepare() {
|
|||||||
# Debian patch to enable global menubar
|
# Debian patch to enable global menubar
|
||||||
patch -Np1 -i ${_patches_dir}/librewolf/unity-menubar.patch
|
patch -Np1 -i ${_patches_dir}/librewolf/unity-menubar.patch
|
||||||
|
|
||||||
# Custom link in about dialogue
|
|
||||||
patch -Np1 -i ${_patches_dir}/librewolf/about-dialog.patch
|
|
||||||
|
|
||||||
# Disabling Pocket
|
# Disabling Pocket
|
||||||
patch -Np1 -i ${_patches_dir}/sed-patches/disable-pocket.patch
|
patch -Np1 -i ${_patches_dir}/sed-patches/disable-pocket.patch
|
||||||
|
|
||||||
# Remove Mozilla VPN ads
|
# Remove Mozilla VPN ads
|
||||||
patch -Np1 -i ${_patches_dir}/librewolf/mozilla-vpn-ad.patch
|
patch -Np1 -i ${_patches_dir}/librewolf/mozilla-vpn-ad.patch
|
||||||
|
|
||||||
# Allow overriding the color scheme light/dark preference with RFP (deprecated, probably dropped soon)
|
|
||||||
# patch -Np1 -i ${_patches_dir}/librewolf/allow_dark_preference_with_rfp.patch
|
|
||||||
|
|
||||||
# Remove Internal Plugin Certificates
|
# Remove Internal Plugin Certificates
|
||||||
# => breaks profiled builds since 90.0, it seems
|
# => breaks profiled builds since 90.0, it seems
|
||||||
# patch -Np1 -i ${_patches_dir}/sed-patches/remove-internal-plugin-certs.patch
|
# patch -Np1 -i ${_patches_dir}/sed-patches/remove-internal-plugin-certs.patch
|
||||||
@ -149,36 +148,30 @@ ac_add_options --enable-application=browser
|
|||||||
mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
|
mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
|
||||||
|
|
||||||
ac_add_options --prefix=/usr
|
ac_add_options --prefix=/usr
|
||||||
ac_add_options --enable-linker=lld
|
|
||||||
ac_add_options --enable-release
|
ac_add_options --enable-release
|
||||||
ac_add_options --enable-hardening
|
ac_add_options --enable-hardening
|
||||||
ac_add_options --enable-rust-simd
|
ac_add_options --enable-rust-simd
|
||||||
ac_add_options --with-ccache
|
ac_add_options --with-ccache
|
||||||
export AR=llvm-ar
|
ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
|
||||||
|
ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
|
||||||
export CC='clang'
|
export CC='clang'
|
||||||
export CXX='clang++'
|
export CXX='clang++'
|
||||||
export MOZ_APP_REMOTINGNAME=$_pkgname
|
|
||||||
export MOZ_REQUIRE_SIGNING=
|
|
||||||
export NM=llvm-nm
|
|
||||||
export OBJCOPY='/usr/bin/llvm-objcopy'
|
|
||||||
export RANLIB=llvm-ranlib
|
|
||||||
export STRIP=llvm-strip
|
|
||||||
|
|
||||||
# Branding
|
# Branding
|
||||||
ac_add_options --enable-update-channel=release
|
ac_add_options --enable-update-channel=release
|
||||||
ac_add_options --with-app-name=${pkgname}
|
ac_add_options --with-app-name=${pkgname}
|
||||||
ac_add_options --with-app-basename='${_pkgname}'
|
ac_add_options --with-app-basename=${_pkgname}
|
||||||
ac_add_options --with-branding=browser/branding/firedragon
|
ac_add_options --with-branding=browser/branding/${pkgname}
|
||||||
ac_add_options --with-distribution-id=org.garudalinux
|
ac_add_options --with-distribution-id=org.garudalinux
|
||||||
ac_add_options --with-unsigned-addon-scopes=app,system
|
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||||
ac_add_options --allow-addon-sideload
|
ac_add_options --allow-addon-sideload
|
||||||
|
export MOZ_REQUIRE_SIGNING=1
|
||||||
|
export MOZ_ADDON_SIGNING=1
|
||||||
|
export MOZ_APP_REMOTINGNAME=${pkgname}
|
||||||
|
|
||||||
# System libraries
|
# System libraries
|
||||||
ac_add_options --disable-libproxy
|
#ac_add_options --with-system-av1
|
||||||
ac_add_options --enable-system-pixman
|
#ac_add_options --with-system-graphite2
|
||||||
#ac_add_options --with-system-av1 breaks build as of 13.12.
|
|
||||||
ac_add_options --with-system-ffi
|
|
||||||
#ac_add_options --with-system-graphite2 breaks build as of 13.12
|
|
||||||
ac_add_options --with-system-harfbuzz
|
ac_add_options --with-system-harfbuzz
|
||||||
ac_add_options --with-system-icu
|
ac_add_options --with-system-icu
|
||||||
ac_add_options --with-system-jpeg
|
ac_add_options --with-system-jpeg
|
||||||
@ -186,19 +179,28 @@ ac_add_options --with-system-libevent
|
|||||||
ac_add_options --with-system-libvpx
|
ac_add_options --with-system-libvpx
|
||||||
ac_add_options --with-system-nspr
|
ac_add_options --with-system-nspr
|
||||||
ac_add_options --with-system-nss
|
ac_add_options --with-system-nss
|
||||||
ac_add_options --with-system-webp
|
|
||||||
ac_add_options --with-system-zlib
|
ac_add_options --with-system-zlib
|
||||||
|
|
||||||
# Features
|
# Features
|
||||||
ac_add_options --disable-crashreporter
|
ac_add_options --disable-crashreporter
|
||||||
|
ac_add_options --disable-debug
|
||||||
|
ac_add_options --disable-debug-js-modules
|
||||||
|
ac_add_options --disable-debug-symbols
|
||||||
ac_add_options --disable-gpsd
|
ac_add_options --disable-gpsd
|
||||||
|
ac_add_options --disable-ipdl-tests
|
||||||
|
ac_add_options --disable-necko-wifi
|
||||||
|
ac_add_options --disable-rust-tests
|
||||||
|
ac_add_options --disable-synth-speechd
|
||||||
ac_add_options --disable-tests
|
ac_add_options --disable-tests
|
||||||
|
ac_add_options --disable-trace-logging
|
||||||
ac_add_options --disable-updater
|
ac_add_options --disable-updater
|
||||||
|
ac_add_options --disable-warnings-as-errors
|
||||||
|
ac_add_options --disable-webspeech
|
||||||
|
ac_add_options --disable-webspeechtestbackend
|
||||||
ac_add_options --enable-alsa
|
ac_add_options --enable-alsa
|
||||||
ac_add_options --enable-jack
|
ac_add_options --enable-jack
|
||||||
ac_add_options --enable-pulseaudio
|
ac_add_options --enable-pulseaudio
|
||||||
ac_add_options --enable-strip
|
ac_add_options --enable-strip
|
||||||
ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
|
|
||||||
|
|
||||||
# Disables crash reporting, telemetry and other data gathering tools
|
# Disables crash reporting, telemetry and other data gathering tools
|
||||||
mk_add_options MOZ_CRASHREPORTER=0
|
mk_add_options MOZ_CRASHREPORTER=0
|
||||||
@ -249,34 +251,18 @@ build() {
|
|||||||
|
|
||||||
export MOZ_NOSPAM=1
|
export MOZ_NOSPAM=1
|
||||||
export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
|
export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
|
||||||
export MOZ_ENABLE_FULL_SYMBOLS=1
|
|
||||||
export MACH_USE_SYSTEM_PYTHON=1
|
export MACH_USE_SYSTEM_PYTHON=1
|
||||||
|
|
||||||
# LTO needs more open files
|
# LTO needs more open files
|
||||||
ulimit -n 4096
|
ulimit -n 4096
|
||||||
|
|
||||||
# -fno-plt with cross-LTO causes obscure LLVM errors
|
|
||||||
# LLVM ERROR: Function Import: link error
|
|
||||||
CFLAGS="${CFLAGS/-fno-plt/}"
|
|
||||||
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
|
||||||
|
|
||||||
# Do 3-tier PGO
|
# Do 3-tier PGO
|
||||||
echo "Building instrumented browser..."
|
echo "Building instrumented browser..."
|
||||||
|
|
||||||
if [[ $CARCH == 'aarch64' ]]; then
|
|
||||||
|
|
||||||
cat >.mozconfig ../mozconfig - <<END
|
|
||||||
ac_add_options --enable-profile-generate
|
|
||||||
END
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
cat >.mozconfig ../mozconfig - <<END
|
cat >.mozconfig ../mozconfig - <<END
|
||||||
ac_add_options --enable-profile-generate=cross
|
ac_add_options --enable-profile-generate=cross
|
||||||
END
|
END
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
./mach build
|
./mach build
|
||||||
|
|
||||||
echo "Profiling instrumented browser..."
|
echo "Profiling instrumented browser..."
|
||||||
@ -297,18 +283,6 @@ fi
|
|||||||
|
|
||||||
echo "Building optimized browser..."
|
echo "Building optimized browser..."
|
||||||
|
|
||||||
if [[ $CARCH == 'aarch64' ]]; then
|
|
||||||
|
|
||||||
cat >.mozconfig ../mozconfig - <<END
|
|
||||||
ac_add_options --enable-lto
|
|
||||||
ac_add_options --enable-profile-use
|
|
||||||
ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
|
|
||||||
ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
|
|
||||||
ac_add_options --enable-linker=lld
|
|
||||||
END
|
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
cat >.mozconfig ../mozconfig - <<END
|
cat >.mozconfig ../mozconfig - <<END
|
||||||
ac_add_options --enable-lto=cross
|
ac_add_options --enable-lto=cross
|
||||||
ac_add_options --enable-profile-use=cross
|
ac_add_options --enable-profile-use=cross
|
||||||
@ -319,8 +293,6 @@ ac_add_options --disable-elf-hack
|
|||||||
ac_add_options --disable-bootstrap
|
ac_add_options --disable-bootstrap
|
||||||
END
|
END
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
./mach build
|
./mach build
|
||||||
|
|
||||||
echo "Building symbol archive..."
|
echo "Building symbol archive..."
|
||||||
@ -330,6 +302,7 @@ fi
|
|||||||
package() {
|
package() {
|
||||||
cd firefox-$pkgver
|
cd firefox-$pkgver
|
||||||
DESTDIR="$pkgdir" ./mach install
|
DESTDIR="$pkgdir" ./mach install
|
||||||
|
rm "$pkgdir"/usr/lib/${pkgname}/pingsender
|
||||||
|
|
||||||
install -Dvm644 "$srcdir/settings/$pkgname.psd" "$pkgdir/usr/share/psd/browsers/$pkgname"
|
install -Dvm644 "$srcdir/settings/$pkgname.psd" "$pkgdir/usr/share/psd/browsers/$pkgname"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user