summaryrefslogtreecommitdiff
path: root/PKGBUILD
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2021-06-16 01:23:39 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2021-06-16 01:23:39 -0700
commit7b062ca16d2b2e2515156ce161eb9f92bc99c43e (patch)
treea708646bb44c20e4b872e2211a555b55a69e119a /PKGBUILD
parentUpdated to 88.0.1 (diff)
downloadfirefox-7b062ca16d2b2e2515156ce161eb9f92bc99c43e.tar.xz
Updated to 89.0.1
Switch to clang until I can get gcc working again No pgo with clang yet either
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD89
1 files changed, 57 insertions, 32 deletions
diff --git a/PKGBUILD b/PKGBUILD
index d884456..0152d9f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -15,11 +15,10 @@
# Arch version lacks privacy and security by default
_modclang=0
-#_modclang=1 # FIXME
-_testgcc=0
+_modpgo=0
pkgname=firefox
-pkgver=88.0.1
+pkgver=89.0.1
pkgrel=1
pkgdesc="Standalone web browser from mozilla.org"
arch=(x86_64 aarch64)
@@ -37,6 +36,7 @@ optdepends=('networkmanager: Location detection via available WiFi networks'
'pulseaudio: PulseAudio support'
'speech-dispatcher: Text-to-Speech'
'hunspell-en_CA: Spell checking, Canadian English'
+ 'xdg-desktop-portal: Screensharing with Wayland'
'firefox-preferences: Custom vendor.js with security by default'
'firefox-preferences-basic: Custom vendor.js with less breaking changes')
options=(!emptydirs !makeflags)
@@ -46,59 +46,75 @@ source=(
0001-Use-remoting-name-for-GDK-application-names.patch
$pkgname.desktop
distribution.ini
- mozconfig.in
- mozconfig.in.pgo
+ mozconfig.in.gcc
mozconfig.in.clang
- mozconfig.in.clang.pgo
mozconfig.common.override
arc4_enable-lto-for-gcc.patch
+ firefox-gcc-build.patch
arc4_enable-pgo-for-gcc.patch
+ pgo.patch
arc4_remove-health-reporting.patch
arc4_remove-system-addons.patch
)
-b2sums=('9a5f5b77e927de9a2bd6a448d1037438e2481b252c28398ded19e01ca4f371595c089a215144b010d35a16437d4e54e2055c176bc47e63492b6bec87ca621f99'
+b2sums=('43d37d0c916b5da6b5fa077e876349983733fa84be2c7341851c34cfa58588c8be3c30fc86db4c576c7ee32eaba3650914688ed82e03471fa8f5a246a5734db1'
'SKIP'
- '896ea03a4f4cf9f095eee2aa0933bd1dd7cdf18c4a8bdad2fc099bf24af0a4d89dbf2c8f0387107f2cf0ce98035d06c388aa5df19e5c387cbed640261d873a24'
+ '284615a601003e0ca9d6abd3e986a13cd67dcdcda9ba201fac5d94fd15f30e91b8b2b215d9f3161c2a0954a2ce09f0b8a0a03959feadfd414b6d3bda23f13053'
'e18f2c22e394ca3b6758bc130245b254947e4d15921be3da443d6d7c3c4b0d22ead1b39fbc10a4f896edd19e2a1dffbd1cbb34dc4beb0621a6ddb70ccc53b3a7'
'877eda442eb4730600dccf209a6e961ad3122ab456bbfda4ff041e8493ebaaf96224ac218360931259ff4214482f6bf65b3a3052f977ade1a274f38ffd859535'
- '715b4f8d73bf07a02ea3cfdb75cb992331f354880b8194717720e45872fdbcd99534b6d73bf4caf7dc561df4060f07239eb1172b604cc7cbd31be9d3d72331e0'
- '08d4e0768c2323b4905b3ba539594e88132b487a4eac2ab61df36020fe6f933c338afba918aea0becd10ecf29795bf94146cefc4f6b111ea658a20fdf6e899cd'
- 'aa87016dabc182a4da3db1f29f4a6b274095be883febf848ddbe86615639b6a85f12b2c78ce6b18bba18516982330fb775083f4bab330738d95ee26d70f02dfa'
- 'ffb7ca117004a084b1bd7baed6a11b0914ec391459d662fc8887edc3206eb25c41b09f713e9bfe0ed474333d9537295842b0617dd29e9ce222fde548cd9111aa'
+ '9a8bce9797afa2d62393e3cfe403d22d9c265cc490f0dbcef9851f07957736cf67fb7e9fb6dc4f2bf87f28ba67d6c6e5747571f2048a1f919491c6385403fae3'
+ 'da9bd7ed811ac7804862dba1c4401b9f810a975ba9f539e3445e98c2ccaf5fcc5108c0769fd2b46bae704fb0493d46bc342cbd34fbaeb5714f9d18d7cba305ba'
'1c7ac58af8b817067c7d79ffef8d9100f513d77f4fc1a2bce2684ff8d8d3cbc3d37b31865c7e5d873fd71d4649374bbd25ca08166d8afb25ffbd597759655063'
'3b76cfb76a3e527d4c77d61a127606aef0b46826d7a0f7866164e0b490098714cc11429002fc35ac32b75ffbc61f76596a5e984aea37f8876bcd939030bcfa21'
+ '69624493c96e98caecf5286ed77946f104feff9b61679bcc842f6d989a2b4b28acce47324f805925f55170935a37a0bc10c596b82b41391f9f8ef342c09a3d0e'
'1250b2d4a713b241d9768dc386ecf9130d295587efd5070c2e494185436ca9d99a465b97ed80fe23ab14d6d07ecde8537a3a3d11ba843c4e3791b4df52e08f27'
+ '87dd810443be6acf41dad2cbdf8b14ba6ae68d55364e80560e96200e1acb866858068234088bae261c26e65e171b49d4f530ee4098f41e5c8cf855d1f2fe0e12'
'1dce1277c0c8b83089551057ed61c8794aa65242d0c19573dab96081f00b1042af73fbc0a40ba49dfa31eff46f4636ffd985cf8e6bd28db614a639ca6c11c74e'
'379adf3726664668f6167eaeab35dec40342d9288ff081d22a8363f163ab0945b17ce69e7d4276a31e99e56f690afa070c410c51a5060ed835356fd216256e7b')
validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases
prepare() {
-# mkdir mozbuild
+ mkdir mozbuild
cd ${pkgname}-${pkgver}
# https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch
- if [ "${_modclang}" != "1" ]; then
- # Apply gcc pgo patches
+ if [ "${_modclang}" == "0" ]; then
+ # Apply gcc lto patches
patch -Np1 -i ../arc4_enable-lto-for-gcc.patch
+ patch -Np1 -i ../firefox-gcc-build.patch
fi
- if [ "${_testgcc}" == "1" ]; then
+ if [ "${_modclang}" == "0" ] && [ "${_modpgo}" == "1" ]; then
# Apply gcc pgo patches
patch -Np1 -i ../arc4_enable-pgo-for-gcc.patch
+ patch -Np1 -i ../pgo.patch
fi
- if [ "${_modclang}" == "1" ]; then
+ if [ "${_modclang}" == "1" ] && [ "${_modpgo}" == "1" ]; then
# Add the custom mozconfig for clang pgo
- cp $srcdir/mozconfig.in.clang.pgo $srcdir/${pkgname}-${pkgver}/.mozconfig
- elif [ "${_testgcc}" == "1" ]; then
+ cp $srcdir/mozconfig.in.clang $srcdir/${pkgname}-${pkgver}/.mozconfig
+ cat >$srcdir/${pkgname}-${pkgver}/.mozconfig - <<END
+mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
+ac_add_options --enable-profile-generate=cross
+END
+ elif [ "${_modclang}" == "1" ] && [ "${_modpgo}" == "0" ]; then
+ # Add the custom mozconfig for clang
+ cp $srcdir/mozconfig.in.clang $srcdir/${pkgname}-${pkgver}/.mozconfig
+ cat >$srcdir/${pkgname}-${pkgver}/.mozconfig - <<END
+mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
+END
+ elif [ "${_modclang}" == "0" ] && [ "${_modpgo}" == "1" ]; then
# Add the custom mozconfig for gcc pgo
- cp $srcdir/mozconfig.in.pgo $srcdir/${pkgname}-${pkgver}/.mozconfig
+ cp $srcdir/mozconfig.in.gcc $srcdir/${pkgname}-${pkgver}/.mozconfig
+ cat >$srcdir/${pkgname}-${pkgver}/.mozconfig - <<END
+mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
+ac_add_options --enable-profile-generate=cross
+END
else
- # Add the custom mozconfig
- cp $srcdir/mozconfig.in $srcdir/${pkgname}-${pkgver}/.mozconfig
+ # Add the custom mozconfig for gcc
+ cp $srcdir/mozconfig.in.gcc $srcdir/${pkgname}-${pkgver}/.mozconfig
fi
# MOZ_TELEMETRY_REPORTING only applied correctly when set in this override file
@@ -106,7 +122,7 @@ prepare() {
# Disable various components at the source level
- #sed -i 's|[;]1|;0|' $srcdir/${pkgname}-${pkgver}/toolkit/components/telemetry/TelemetryStartup.manifest
+ sed -i 's|[;]1|;0|' $srcdir/${pkgname}-${pkgver}/toolkit/components/telemetry/TelemetryStartup.manifest
sed -i 's/;1/;0/' $srcdir/${pkgname}-${pkgver}/toolkit/components/telemetry/components.conf
# Patch out health reporting so that MOZ_DATA_REPORTING=0 can be applied.
@@ -144,7 +160,7 @@ build() {
ulimit -n 4096
- if [ "${_modclang}" == "1" ]; then
+ if [ "${_modclang}" == "1" ] && [ "${_modclangpgo}" == "1" ]; then
# clang does not support -fstack-clash-protection, so remove it
#export CFLAGS="$(echo $CFLAGS | sed 's/ -fstack-clash-protection//' - )"
#export CXXFLAGS="$(echo $CXXFLAGS | sed 's/ -fstack-clash-protection//' - )"
@@ -172,14 +188,16 @@ build() {
echo "Building optimized browser..."
# Add the custom mozconfig
cp $srcdir/mozconfig.in.clang $srcdir/${pkgname}-${pkgver}/.mozconfig
- cat >.mozconfig - <<END
+ cat >$srcdir/${pkgname}-${pkgver}/.mozconfig - <<END
+mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
+ac_add_options --enable-lto=cross
+ac_add_options --enable-profile-use=cross
ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
-mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
END
./mach build
- elif [ "${_testgcc}" == "1" ]; then
+ elif [ "${_modclang}" == "0" ] && [ "${_modpgo}" == "1" ]; then
# Do 3-tier PGO
echo "Building instrumented browser..."
@@ -203,11 +221,13 @@ END
echo "Building optimized browser..."
# Add the custom mozconfig
- cp $srcdir/mozconfig.in $srcdir/${pkgname}-${pkgver}/.mozconfig
+ cp $srcdir/mozconfig.in.gcc $srcdir/${pkgname}-${pkgver}/.mozconfig
cat >.mozconfig - <<END
+mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
-mk_add_options MOZ_OBJDIR=${PWD@Q}/obj
+ac_add_options --enable-lto=cross
+ac_add_options --enable-profile-use=cross
END
./mach build
@@ -221,13 +241,18 @@ package() {
cd ${pkgname}-${pkgver}
DESTDIR="$pkgdir" ./mach install
+ # Don't install in /usr/local
+ rm -rf "$pkgdir/usr/local/bin"
+ mkdir "$pkgdir/usr/lib"
+ mkdir "$pkgdir/usr/bin"
+ cp -r --reflink "$pkgdir/usr/local/lib/firefox" "$pkgdir/usr/lib/firefox"
+ rm -rf "$pkgdir/usr/local/lib/firefox"
install -Dm644 $srcdir/distribution.ini \
"$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
- # don't duplicate the binary, use a symlink instead
- rm "$pkgdir/usr/bin/firefox"
- ln -s "/usr/lib/$pkgname/firefox" "$pkgdir/usr/bin/firefox"
+ # use a symlink in /usr/bin instead
+ ln -sf "/usr/lib/$pkgname/firefox" "$pkgdir/usr/bin/firefox"
# icons