summaryrefslogtreecommitdiff
path: root/extra/firefox/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'extra/firefox/PKGBUILD')
-rw-r--r--extra/firefox/PKGBUILD64
1 files changed, 62 insertions, 2 deletions
diff --git a/extra/firefox/PKGBUILD b/extra/firefox/PKGBUILD
index 7c21b896..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+=('dd49547b516936fe372f6f63c94e62dd975021ad97bcf31e98551ecff9890aed')
+ sha256sums+=('6aafff15bc3e11137a295869c16bf07aaf110f5fa39545bb27da1a182d1e9b4a')
eval "$(
declare -f prepare | \
sed '
@@ -14,7 +14,7 @@ eval "$(
fi
if [ "${CARCH}" = "i686" ]; then
source+=('mozconfig-i686.patch')
- sha256sums+=('dd49547b516936fe372f6f63c94e62dd975021ad97bcf31e98551ecff9890aed')
+ 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,
@@ -185,3 +189,59 @@ if [ "${CARCH}" = "i686" ]; then
CFLAGS="$CFLAGS -mmmx"
CXXFLAGS="$CXXFLAGS -mmmx"
fi
+
+# actually, this should be fixed in gcc 11?
+# for now let's build with gcc10
+#
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1713071
+# https://bugzilla.mozilla.org/show_bug.cgi?id=1710235
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100644
+#
+#11:28.22 /usr/include/c++/11.1.0/type_traits:2933:11: error: no type named ‘type’ in
+# ‘struct std::invoke_result<nsTHashtable<nsBaseHashtableET<nsUint32HashKey, RefPtr<m
+#ozilla::dom::AccessibleNode> > >::PutEntry(nsTHashtable<nsBaseHashtableET<nsUint32Ha
+#shKey, RefPtr<mozilla::dom::AccessibleNode> > >::KeyType, const fallible_t&)::<lambd
+#a(auto:7)>, mozilla::Maybe<nsTHashtable<nsBaseHashtableET<nsUint32HashKey, RefPtr<mo
+#zilla::dom::AccessibleNode> > >::EntryHandle>&&>’
+#11:28.22 2933 | using invoke_result_t = typename invoke_result<_Fn, _Args...>::
+#type;
+makedepends+=(gcc10)
+
+# do not build and phone back symbols, fails anyway with:
+# "panic occurred at library/alloc/src/raw_vec.rs:537: capacity overflow\n" in
+# dump_syms (see also FS32#174)
+eval "$(
+ declare -f build | \
+ sed '
+ /echo.*symbol archive/,/mach buildsymbols/{s/\(.*\)/#\1/g}
+ '
+)"
+
+eval "$(
+ declare -f package | \
+ sed '
+ /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"
+ '
+)"