summaryrefslogtreecommitdiff
path: root/extra/firefox
diff options
context:
space:
mode:
Diffstat (limited to 'extra/firefox')
-rw-r--r--extra/firefox/PKGBUILD30
-rw-r--r--extra/firefox/firefox-99.0.1-fdlibm-double.patch15
-rw-r--r--extra/firefox/mozconfig-i686.patch2
-rw-r--r--extra/firefox/mozconfig-pentium4.patch2
4 files changed, 47 insertions, 2 deletions
diff --git a/extra/firefox/PKGBUILD b/extra/firefox/PKGBUILD
index 96bfabae..329e0b96 100644
--- a/extra/firefox/PKGBUILD
+++ b/extra/firefox/PKGBUILD
@@ -4,7 +4,7 @@
# set correct compiler and toochain tools
if [ "${CARCH}" = "pentium4" ]; then
source+=('mozconfig-pentium4.patch')
- sha256sums+=('ca75f01d9c56fff5de04395ec91b65fb87d94bc8d10acd44472d50ca8deaeda6')
+ sha256sums+=('6aafff15bc3e11137a295869c16bf07aaf110f5fa39545bb27da1a182d1e9b4a')
eval "$(
declare -f prepare | \
sed '
@@ -14,7 +14,7 @@ eval "$(
fi
if [ "${CARCH}" = "i686" ]; then
source+=('mozconfig-i686.patch')
- sha256sums+=('3de39ec7cdb2305ae635666e2909739c44d2270a8733faff90d5439c92149cdd')
+ sha256sums+=('56f7faa75bc16b9948c37e84309efd59c7d932a6f9a579135040fa7f94da35db')
eval "$(
declare -f prepare | \
sed '
@@ -122,6 +122,10 @@ eval "$(
sed '
2 a export MOZ_MAKE_FLAGS=-j1
'
+ declare -f package | \
+ sed '
+ 2 a export MOZ_MAKE_FLAGS=-j1
+ '
)"
# test failure in rust code (complaining about network functions) when PGO is used,
@@ -219,3 +223,25 @@ eval "$(
/export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE/,/fi/{s/\(.*\)/#\1/g}
'
)"
+
+# 214:49.30 /build/firefox/src/firefox-99.0.1/modules/fdlibm/src/math_private.h:34:21: error: conflicting
+# declaration ‘typedef __double_t double_t’
+source+=('firefox-99.0.1-fdlibm-double.patch')
+sha256sums+=('62695e56daf8c0b8bb921980d475b3fd169b9134188ad9ffaeb9cd660589c23d')
+eval "$(
+ declare -f prepare | \
+ sed '
+ $ i patch -p1 -i "$srcdir/firefox-99.0.1-fdlibm-double.patch"
+ '
+)"
+
+# disable stripping in mozconfig.<arch> (insists to use llvm-strip which runs
+# out of memory on libxul.so). Now 2.5 GB can be stripped to 166 MB, so we do
+# that with the normal 'strip' from binutils after 'mach install'
+eval "$(
+ declare -f package | \
+ sed '
+ /.*mach.*install/ a \
+ strip "$pkgdir/usr/lib/$pkgname/libxul.so"
+ '
+)"
diff --git a/extra/firefox/firefox-99.0.1-fdlibm-double.patch b/extra/firefox/firefox-99.0.1-fdlibm-double.patch
new file mode 100644
index 00000000..ffd4b1d7
--- /dev/null
+++ b/extra/firefox/firefox-99.0.1-fdlibm-double.patch
@@ -0,0 +1,15 @@
+diff -rauN firefox-99.0.1/modules/fdlibm/src/math_private.h firefox-99.0.1-fdlibm-double-patch/modules/fdlibm/src/math_private.h
+--- firefox-99.0.1/modules/fdlibm/src/math_private.h 2022-04-12 00:00:09.000000000 +0200
++++ firefox-99.0.1-fdlibm-double-patch/modules/fdlibm/src/math_private.h 2022-04-25 16:47:00.697715429 +0200
+@@ -30,7 +30,11 @@
+ * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
+ */
+
++#if defined __FLT_EVAL_METHOD__ && (__FLT_EVAL_METHOD__ == 2)
++typedef long double __double_t;
++#else
+ typedef double __double_t;
++#endif
+ typedef __double_t double_t;
+
+ /*
diff --git a/extra/firefox/mozconfig-i686.patch b/extra/firefox/mozconfig-i686.patch
index bfe954a0..f4d3c077 100644
--- a/extra/firefox/mozconfig-i686.patch
+++ b/extra/firefox/mozconfig-i686.patch
@@ -19,8 +19,10 @@ diff -rauN a/mozconfig b/mozconfig
+
+# pentium4 specific options
+ac_add_options --disable-lto
++ac_add_options --disable-install-strip
+export CC=gcc-10
+export CXX=g++-10
+export AR=gcc-ar-10
+export NM=gcc-nm-10
+export RANLIB=gcc-ranlib-10
++export STRIP=strip
diff --git a/extra/firefox/mozconfig-pentium4.patch b/extra/firefox/mozconfig-pentium4.patch
index ff2b1602..0201a74f 100644
--- a/extra/firefox/mozconfig-pentium4.patch
+++ b/extra/firefox/mozconfig-pentium4.patch
@@ -17,8 +17,10 @@ diff -rauN a/mozconfig b/mozconfig
+
+# pentium4 specific options
+ac_add_options --disable-lto
++ac_add_options --disable-install-strip
+export CC=gcc-10
+export CXX=g++-10
+export AR=gcc-ar-10
+export NM=gcc-nm-10
+export RANLIB=gcc-ranlib-10
++export STRIP=strip