diff options
Diffstat (limited to 'extra/firefox/PKGBUILD')
-rw-r--r-- | extra/firefox/PKGBUILD | 64 |
1 files changed, 62 insertions, 2 deletions
diff --git a/extra/firefox/PKGBUILD b/extra/firefox/PKGBUILD index 03ae45d7..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+=('feff56a60ab5b96982f950e5ced76516256564b68976c6cc5ed13e284d0f4b36') + sha256sums+=('6aafff15bc3e11137a295869c16bf07aaf110f5fa39545bb27da1a182d1e9b4a') eval "$( declare -f prepare | \ sed ' @@ -14,7 +14,7 @@ eval "$( fi if [ "${CARCH}" = "i686" ]; then source+=('mozconfig-i686.patch') - sha256sums+=('06e51017d43369fefdc65a6321b07d3fd18802449b56a167767eefd5e88e65a8') + 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" + ' +)" |