summaryrefslogtreecommitdiff
path: root/libre/iceweasel
diff options
context:
space:
mode:
authorbill-auger <mr.j.spam.me@gmail.com>2022-10-25 22:14:43 -0400
committerbill-auger <mr.j.spam.me@gmail.com>2022-10-26 00:57:17 -0400
commit61a58d1c70ea5d6fb627bf8e9271e1801cfddc20 (patch)
treec3bb27b579d1d8fd11f4681910c72651d1795f5c /libre/iceweasel
parent3ee464494a1c2c604821f6003edae2e2bb010f77 (diff)
[iceweasel]: merge arch32 changes for v106
Diffstat (limited to 'libre/iceweasel')
-rw-r--r--libre/iceweasel/PKGBUILD25
-rw-r--r--libre/iceweasel/firefox-106.0.1-fdlibm.patch19
-rw-r--r--libre/iceweasel/firefox-99.0.1-fdlibm-double.patch15
-rw-r--r--libre/iceweasel/fix-i686-build-moz-1792159.patch18
-rw-r--r--libre/iceweasel/simd_avx2.patch11
5 files changed, 67 insertions, 21 deletions
diff --git a/libre/iceweasel/PKGBUILD b/libre/iceweasel/PKGBUILD
index 4a808df6e..bb2a7bf77 100644
--- a/libre/iceweasel/PKGBUILD
+++ b/libre/iceweasel/PKGBUILD
@@ -92,8 +92,6 @@ makedepends+=( python-pydantic=1.9.2 ) # configure error: "pydantic 1.10.2 has r
[[ "${CARCH}" == 'i686' ]] && makedepends=( ${makedepends[*]/wasi-libc++*/} )
[[ "${CARCH}" == 'i686' ]] && makedepends+=( wasi-libc++=13.0.1-1.0 wasi-libc++abi=13.0.1-1.0 ) # dustbin
[[ "${CARCH}" == 'i686' ]] && makedepends+=( llvm13 ) # rustup: error while loading shared libraries: libLLVM-13.so: cannot open shared object file: No such file or directory
-# i686 FTBS - mozglue/misc/SIMD_avx2.cpp:66:10: error: ‘_mm_cvtsi64_si128’ was not declared in this scope; did you mean ‘_mm_cvtsi64_si32’?
-# https://bugs.archlinux32.org/index.php?do=details&task_id=281
optdepends=('networkmanager: Location detection via available WiFi networks'
'libnotify: Notification integration'
'pulseaudio: Audio support'
@@ -117,7 +115,9 @@ source+=(https://repo.parabola.nu/other/iceweasel/${pkgname}_${_brandingver}.bra
source_armv7h=(build-arm-libopus.patch)
source_i686=('avoid-libxul-OOM-python-check.patch'
'rust-static-disable-network-test-on-static-libraries.patch'
- 'firefox-99.0.1-fdlibm-double.patch')
+ 'firefox-106.0.1-fdlibm.patch'
+ 'simd_avx2.patch'
+ 'fix-i686-build-moz-1792159.patch')
sha256sums=('fb1ed65cd9e6698122885fe38984cfd00018c7a837109f511762b2986b391e25'
'SKIP'
'9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')
@@ -133,7 +133,9 @@ sha256sums+=('d29c194ed7b3b4fa0f511866723118938c2be40077b4e9aadf8b3e6bfff91049'
sha256sums_armv7h=('2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
sha256sums_i686=('2f0c81a38c4578f68f5456b618fe84a78974072821488173eb55e0e72287e353'
'10c5276eab2e87f400a6ec15d7ffbef3b0407ee888dea36f1128927ca55b9041'
- '62695e56daf8c0b8bb921980d475b3fd169b9134188ad9ffaeb9cd660589c23d')
+ 'ddc0945f2414828668dd922b6b8203f7fb54d7b1f0aac3e18299bccb5c2facab'
+ 'e68f8a9858f14a75813df608510e1f8143fd6eb1fcf233df8239d16d935e80f8'
+ '2fb39374fd3d80eea9e346032a2a4b2bc2e357dee7380855b24bcf19b1335d06')
validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com>
validpgpkeys+=('BFA8008A8265677063B11BF47171986E4B745536') # Andreas Grapentin
validpgpkeys+=('3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger
@@ -355,6 +357,7 @@ EOF
;;
i686)
export MOZ_SOURCE_CHANGESET="DEVEDITION_${pkgver//./_}_RELEASE"
+# export MOZ_MAKE_FLAGS=-j2
# disable LTO as it has little benefit and uses too many resources
# don't compile with clang, use gcc toolchain (clang has issues on IA32)
@@ -390,8 +393,17 @@ END
# /build/iceweasel/src/firefox-96.0.1/modules/fdlibm/src/math_private.h:34:21:
# error: conflicting declaration ‘typedef __double_t double_t’
# /usr/include/math.h:156:21: note: previous declaration as ‘typedef long double double_t’
- echo "applying firefox-99.0.1-fdlibm-double.patch"
- patch -p1 -i "$srcdir/firefox-99.0.1-fdlibm-double.patch"
+ echo "applying firefox-106.0.1-fdlibm.patch"
+ patch -p1 -i "$srcdir/firefox-106.0.1-fdlibm.patch"
+
+ # disable AVX2 the brutal way
+ # mozglue/misc/SIMD_avx2.cpp:66:10: error: ‘_mm_cvtsi64_si128’ was not declared in this scope; did you mean ‘_mm_cvtsi64_si32’?
+ echo "applying simd_avx2.patch"
+ patch -p1 -i "$srcdir/simd_avx2.patch"
+
+ # js/src/jit/shared/AtomicOperations-shared-jit.cpp:88:9: error: ‘AtomicCopyByteUnsynchronized’ was not declared in this scope; did you mean ‘AtomicMemcpyUpUnsynchronized’?
+ echo "applying fix-i686-build-moz-1792159.patch"
+ patch -p1 -i "$srcdir/fix-i686-build-moz-1792159.patch"
;;
x86_64)
;;
@@ -579,6 +591,7 @@ build() {
# try hard to tell ld and rust not to use too much memory (no lto, no debug info, etc.)
export RUSTFLAGS+=" -Cdebuginfo=0 -Clto=off"
export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+# export LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,--max-cache-size=16384000 "
# libvpx has some hard-coded compiler flags for MMX, SSE, SSE2, use the correct one
# per CARCH (75.0 uses an intrisic _mm_empty now, which required the corresponding
diff --git a/libre/iceweasel/firefox-106.0.1-fdlibm.patch b/libre/iceweasel/firefox-106.0.1-fdlibm.patch
new file mode 100644
index 000000000..5a15d2b3b
--- /dev/null
+++ b/libre/iceweasel/firefox-106.0.1-fdlibm.patch
@@ -0,0 +1,19 @@
+diff -rauN firefox-106.0.1/modules/fdlibm/src/math_private.h firefox-106.0.1-fdlibm-patches/modules/fdlibm/src/math_private.h
+--- firefox-106.0.1/modules/fdlibm/src/math_private.h 2022-10-19 21:20:25.000000000 +0200
++++ firefox-106.0.1-fdlibm-patches/modules/fdlibm/src/math_private.h 2022-10-24 20:43:41.469291933 +0200
+@@ -30,10 +30,14 @@
+ * 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;
+ typedef float __float_t;
+-typedef __float_t float_t;
++/*typedef __float_t float_t;*/
+
+ /*
+ * The original fdlibm code used statements like:
diff --git a/libre/iceweasel/firefox-99.0.1-fdlibm-double.patch b/libre/iceweasel/firefox-99.0.1-fdlibm-double.patch
deleted file mode 100644
index ffd4b1d7e..000000000
--- a/libre/iceweasel/firefox-99.0.1-fdlibm-double.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-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/libre/iceweasel/fix-i686-build-moz-1792159.patch b/libre/iceweasel/fix-i686-build-moz-1792159.patch
new file mode 100644
index 000000000..592dcad93
--- /dev/null
+++ b/libre/iceweasel/fix-i686-build-moz-1792159.patch
@@ -0,0 +1,18 @@
+--- a/js/src/jit/shared/AtomicOperations-shared-jit.cpp
++++ b/js/src/jit/shared/AtomicOperations-shared-jit.cpp
+@@ -5,4 +5,9 @@
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
++// bug 1792159
++#if defined(__i386__) && defined(__GNUC__) && !defined(__clang__)
++# include "../../../mfbt/Attributes.h"
++#endif
++
+ #include "jit/AtomicOperations.h"
+
+--- a/config/check_spidermonkey_style.py
++++ b/config/check_spidermonkey_style.py
+@@ -68,2 +68,3 @@
+ "jit/AtomicOperationsGenerated.h", # generated in $OBJDIR
++ "../../../mfbt/Attributes.h", # unrecognized path
+ "jit/CacheIROpsGenerated.h", # generated in $OBJDIR
diff --git a/libre/iceweasel/simd_avx2.patch b/libre/iceweasel/simd_avx2.patch
new file mode 100644
index 000000000..ee94a0340
--- /dev/null
+++ b/libre/iceweasel/simd_avx2.patch
@@ -0,0 +1,11 @@
+diff -rauN a/mozglue/misc/SIMD_avx2.cpp b/mozglue/misc/SIMD_avx2.cpp
+--- a/mozglue/misc/SIMD_avx2.cpp 2022-10-24 18:34:51.028779452 +0200
++++ b/mozglue/misc/SIMD_avx2.cpp 2022-10-24 18:35:07.818868490 +0200
+@@ -8,6 +8,7 @@
+ #include "mozilla/SSE.h"
+ #include "mozilla/Assertions.h"
+
++#undef MOZILLA_MAY_SUPPORT_AVX2
+ #ifdef MOZILLA_MAY_SUPPORT_AVX2
+
+ # include <cstring>