Skip to Content.
Sympa Menu

sm-commit - [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (4443ce2b334c25ef314f2484e3e55cc1af53db3c)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Pavel Vinogradov <scm AT sourcemage.org>
  • To: sm-commit AT lists.ibiblio.org, sm-commit AT lists.sourcemage.org
  • Subject: [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (4443ce2b334c25ef314f2484e3e55cc1af53db3c)
  • Date: Wed, 10 Jul 2024 04:08:58 +0000

GIT changes to master grimoire by Pavel Vinogradov <public AT sourcemage.org>:

http/firefox/DEPENDS
| 2
http/firefox/DETAILS
| 4
http/firefox/HISTORY
| 5
http/firefox/patches/0002-bmo-847568-Support-system-harfbuzz.patch
| 43 ++-
http/firefox/patches/0003-bmo-847568-Support-system-graphite2.patch
| 32 +-
http/firefox/patches/0015-bgo-860033-firefox-wayland-no-dbus.patch
| 49 ----
http/firefox/patches/0015-bmo-1516803-gcc-lto-sandbox.patch
| 16 +
http/firefox/patches/0016-bmo-1516803-gcc-lto-sandbox.patch
| 16 -
http/firefox/patches/0016-enable-vaapi-on-all-amd-cards.patch
| 19 +
http/firefox/patches/0017-bgo-907963-rustflags-single-string.patch
| 76 ++++++
http/firefox/patches/0017-enable-vaapi-on-all-amd-cards.patch
| 19 -
http/firefox/patches/0018-bgo-907963-rustflags-single-string.patch
| 76 ------

http/firefox/patches/0018-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
| 20 +

http/firefox/patches/0019-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
| 20 -
http/firefox/patches/0019-gcc-lto-pgo.patch
| 66 +++++
http/firefox/patches/0020-bmo-1862601-system-icu-74.patch
| 41 +++
http/firefox/patches/0020-gcc-lto-patch-from-fedora.patch
| 117 ----------
http/firefox/patches/0021-bgo-748849-RUST_TARGET_override.patch
| 61 +++++
http/firefox/patches/0021-bmo-1862601-system-icu-74.patch
| 41 ---
http/firefox/patches/0022-bgo-748849-RUST_TARGET_override.patch
| 61 -----
http/firefox/patches/0022-bmo-1559213-Support-system-av1.patch
| 96 ++++++++
http/firefox/patches/0023-bmo-1559213-Support-system-av1.patch
| 96 --------
http/firefox/patches/0023-bmo-1874059-fix-libcxx-18.patch
| 16 +
http/firefox/patches/0024-bmo-1874059-fix-libcxx-18.patch
| 16 -
http/firefox/patches/0024-dont-use-build-id.patch
| 13 +
http/firefox/patches/0025-dont-use-build-id.patch
| 13 -

http/firefox/patches/0025-mozilla-bundled-ffmpeg-7-gcc-14-incompatible-pointer-types.patch
| 14 +

http/firefox/patches/0026-bmo-1900701-set-MOZ_SYSTEM_JPEG-when-with-system-jpeg-is-requested.patch
| 33 --

http/firefox/patches/0027-bmo-1900899-relrhack.cpp-add-missing-include-array.patch
| 11

http/firefox/patches/0028-mozilla-bundled-ffmpeg-7-gcc-14-incompatible-pointer-types.patch
| 14 -
30 files changed, 489 insertions(+), 617 deletions(-)

New commits:
commit 4443ce2b334c25ef314f2484e3e55cc1af53db3c
Author: Pavel Vinogradov <public AT sourcemage.org>
Commit: Pavel Vinogradov <public AT sourcemage.org>

http/firefox: version 128.0, SECURITY_PATCH++

diff --git a/http/firefox/DEPENDS b/http/firefox/DEPENDS
index fc77732..06efe7a 100755
--- a/http/firefox/DEPENDS
+++ b/http/firefox/DEPENDS
@@ -52,7 +52,7 @@ depends libwebp "--with-system-webp"
&&

depends nspr "--with-system-nspr" &&

-local NSS_BRANCH="3.100" &&
+local NSS_BRANCH="3.101" &&
if spell_ok nss &&
is_version_less "$(installed_version nss)" "${NSS_BRANCH}"; then
depends -sub "${NSS_BRANCH}" nss "--with-system-nss"
diff --git a/http/firefox/DETAILS b/http/firefox/DETAILS
index 2baa7c1..25d4144 100755
--- a/http/firefox/DETAILS
+++ b/http/firefox/DETAILS
@@ -1,6 +1,6 @@
SPELL=firefox
- VERSION=127.0.2
- SECURITY_PATCH=193
+ VERSION=128.0
+ SECURITY_PATCH=194
SOURCE="${SPELL}-${VERSION}.source.tar.xz"
# Watch: http://releases.mozilla.org/pub/firefox/releases/
/releases/([0-9.]+)/

SOURCE_URL[0]="http://releases.mozilla.org/pub/${SPELL}/releases/${VERSION}/source/${SOURCE}";
diff --git a/http/firefox/HISTORY b/http/firefox/HISTORY
index c97d82c..7a307c4 100644
--- a/http/firefox/HISTORY
+++ b/http/firefox/HISTORY
@@ -1,3 +1,8 @@
+2024-07-10 Pavel Vinogradov <public AT sourcemage.org>
+ * DETAILS: version 128.0, SECURITY_PATCH++
+ * DEPENDS: nss >= 3.101
+ * patches/*: updated
+
2024-06-25 Pavel Vinogradov <public AT sourcemage.org>
* DETAILS: version 127.0.2

diff --git
a/http/firefox/patches/0002-bmo-847568-Support-system-harfbuzz.patch
b/http/firefox/patches/0002-bmo-847568-Support-system-harfbuzz.patch
index dd58235..f7f877f 100644
--- a/http/firefox/patches/0002-bmo-847568-Support-system-harfbuzz.patch
+++ b/http/firefox/patches/0002-bmo-847568-Support-system-harfbuzz.patch
@@ -15,10 +15,10 @@ Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=847568
10 files changed, 40 insertions(+), 1 deletion(-)

diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
-index dc7f580..3bc9d31 100644
+index aa17660..7f416f9 100644
--- a/config/system-headers.mozbuild
+++ b/config/system-headers.mozbuild
-@@ -1240,6 +1240,13 @@ if CONFIG['OS_TARGET'] == 'Android':
+@@ -1253,6 +1253,13 @@ if CONFIG["OS_TARGET"] == "Android":
"vr/gvr/capi/include/gvr.h",
]

@@ -33,10 +33,10 @@ index dc7f580..3bc9d31 100644
system_headers += [
"jack/jack.h",
diff --git a/dom/base/moz.build b/dom/base/moz.build
-index 7c24df7..0c21e78 100644
+index fb7ed4b..ea65621 100644
--- a/dom/base/moz.build
+++ b/dom/base/moz.build
-@@ -608,6 +608,9 @@ FINAL_LIBRARY = "xul"
+@@ -616,6 +616,9 @@ FINAL_LIBRARY = "xul"
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]

@@ -69,10 +69,10 @@ index 56ea317..6cc19f8 100644
"thebes",
"ipc",
diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
-index 39675ea..6262eec 100755
+index b589efd..47f49e1 100755
--- a/gfx/skia/generate_mozbuild.py
+++ b/gfx/skia/generate_mozbuild.py
-@@ -91,6 +91,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
+@@ -95,6 +95,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
'-Wno-unused-private-field',
]

@@ -83,10 +83,10 @@ index 39675ea..6262eec 100755
LOCAL_INCLUDES += [
"/gfx/cairo/cairo/src",
diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
-index 1d92936..afef373 100644
+index 7fee545..ba1a403 100644
--- a/gfx/skia/moz.build
+++ b/gfx/skia/moz.build
-@@ -601,6 +601,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
+@@ -623,6 +623,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
'-Wno-unused-private-field',
]

@@ -97,10 +97,10 @@ index 1d92936..afef373 100644
LOCAL_INCLUDES += [
"/gfx/cairo/cairo/src",
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
-index 97f02d5..3067b49 100644
+index 48f2849..5e16334 100644
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
-@@ -292,6 +292,9 @@ LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
+@@ -297,6 +297,9 @@ LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]

DEFINES["GRAPHITE2_STATIC"] = True

@@ -111,7 +111,7 @@ index 97f02d5..3067b49 100644

include("/tools/fuzzing/libfuzzer-config.mozbuild")
diff --git a/intl/unicharutil/util/moz.build
b/intl/unicharutil/util/moz.build
-index 2bbd004..f66bd37 100644
+index 2396210..092baac 100644
--- a/intl/unicharutil/util/moz.build
+++ b/intl/unicharutil/util/moz.build
@@ -24,6 +24,9 @@ UNIFIED_SOURCES += [
@@ -125,10 +125,10 @@ index 2bbd004..f66bd37 100644

GeneratedFile(
diff --git a/netwerk/dns/moz.build b/netwerk/dns/moz.build
-index 17612ff..d6d5194 100644
+index c926d14..5082238 100644
--- a/netwerk/dns/moz.build
+++ b/netwerk/dns/moz.build
-@@ -109,4 +109,7 @@ LOCAL_INCLUDES += [
+@@ -119,4 +119,7 @@ LOCAL_INCLUDES += [
"/netwerk/protocol/http",
]

@@ -137,10 +137,10 @@ index 17612ff..d6d5194 100644
+
USE_LIBS += ["icu"]
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
-index 3faa037..fb81f6c 100644
+index a9feb0b..1d13418 100644
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
-@@ -286,6 +286,9 @@ if CONFIG["MOZ_ANDROID_GOOGLE_VR"]:
+@@ -288,6 +288,9 @@ if CONFIG["MOZ_ANDROID_GOOGLE_VR"]:
"-lgvr",
]

@@ -151,16 +151,23 @@ index 3faa037..fb81f6c 100644
OS_LIBS += CONFIG["MOZ_JPEG_LIBS"]

diff --git a/toolkit/moz.configure b/toolkit/moz.configure
-index 9837384..f5aae0e 100644
+index c5dcc65..0c9e5fe 100644
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
-@@ -679,6 +679,15 @@ def freetype2_combined_info(fontconfig_info,
freetype2_info):
+@@ -718,6 +718,22 @@ def freetype2_combined_info(fontconfig_info,
freetype2_info):
set_define("MOZ_HAVE_FREETYPE2", depends_if(freetype2_info)(lambda _: True))


+# HarfBuzz
+# ==============================================================
-+option('--with-system-harfbuzz', help="Use system harfbuzz (located with
pkgconfig)")
++option(
++ "--with-system-harfbuzz",
++ help="Use system harfbuzz (located with pkgconfig)",
++ when=use_pkg_config,
++)
++@depends("--with-system-harfbuzz", when=use_pkg_config)
++def enable_system_harfbuzz_option(enable_system_harfbuzz):
++ return enable_system_harfbuzz
+
+system_harfbuzz = pkg_check_modules('MOZ_HARFBUZZ', 'harfbuzz >= 2.7.4',
+ when='--with-system-harfbuzz')
diff --git
a/http/firefox/patches/0003-bmo-847568-Support-system-graphite2.patch
b/http/firefox/patches/0003-bmo-847568-Support-system-graphite2.patch
index 690e22d..93b49d5 100644
--- a/http/firefox/patches/0003-bmo-847568-Support-system-graphite2.patch
+++ b/http/firefox/patches/0003-bmo-847568-Support-system-graphite2.patch
@@ -1,8 +1,8 @@
diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
-index 3bc9d31..491c750 100644
+index 7f416f9..1193883 100644
--- a/config/system-headers.mozbuild
+++ b/config/system-headers.mozbuild
-@@ -1247,6 +1247,12 @@ if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
+@@ -1260,6 +1260,12 @@ if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
"harfbuzz/hb.h",
]

@@ -41,7 +41,7 @@ index 0000000..24e8d7a
+# Match bundled graphite2 configuration
+AllowCompilerWarnings()
+
-+FINAL_LIBRARY = 'gkmedias'
++FINAL_LIBRARY = 'xul'
diff --git a/gfx/moz.build b/gfx/moz.build
index 6cc19f8..14b08db 100644
--- a/gfx/moz.build
@@ -67,10 +67,10 @@ index 6cc19f8..14b08db 100644
"thebes",
"ipc",
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
-index 3067b49..04c75cc 100644
+index 5e16334..7d0a161 100644
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
-@@ -290,7 +290,10 @@ if CONFIG["MOZ_WAYLAND"]:
+@@ -295,7 +295,10 @@ if CONFIG["MOZ_WAYLAND"]:

LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]

@@ -83,10 +83,10 @@ index 3067b49..04c75cc 100644
if CONFIG["MOZ_SYSTEM_HARFBUZZ"]:
CXXFLAGS += CONFIG["MOZ_HARFBUZZ_CFLAGS"]
diff --git a/old-configure.in b/old-configure.in
-index 57a41cb..7d6b36c 100644
+index 2d2ad0b..f97051a 100644
--- a/old-configure.in
+++ b/old-configure.in
-@@ -1141,6 +1141,27 @@ fi
+@@ -703,6 +703,27 @@ fi
AC_DEFINE_UNQUOTED(MOZ_MACBUNDLE_ID,$MOZ_MACBUNDLE_ID)
AC_SUBST(MOZ_MACBUNDLE_ID)

@@ -115,10 +115,10 @@ index 57a41cb..7d6b36c 100644
dnl = Child Process Name for IPC
dnl ========================================================
diff --git a/toolkit/library/moz.build b/toolkit/library/moz.build
-index fb81f6c..e43d77d 100644
+index 1d13418..31c8158 100644
--- a/toolkit/library/moz.build
+++ b/toolkit/library/moz.build
-@@ -286,6 +286,9 @@ if CONFIG["MOZ_ANDROID_GOOGLE_VR"]:
+@@ -288,6 +288,9 @@ if CONFIG["MOZ_ANDROID_GOOGLE_VR"]:
"-lgvr",
]

@@ -129,18 +129,22 @@ index fb81f6c..e43d77d 100644
OS_LIBS += CONFIG["MOZ_HARFBUZZ_LIBS"]

diff --git a/toolkit/moz.configure b/toolkit/moz.configure
-index f5aae0e..df3409c 100644
+index 0c9e5fe..0c62ade 100644
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
-@@ -679,6 +679,19 @@ def freetype2_combined_info(fontconfig_info,
freetype2_info):
+@@ -718,6 +718,23 @@ def freetype2_combined_info(fontconfig_info,
freetype2_info):
set_define("MOZ_HAVE_FREETYPE2", depends_if(freetype2_info)(lambda _: True))


+# Graphite2
+# ==============================================================
-+option('--with-system-graphite2', help="Use system graphite2 (located with
pkgconfig)")
++option(
++ "--with-system-graphite2",
++ help="Use system graphite2 (located with pkgconfig)",
++ when=use_pkg_config,
++)
+
-+@depends('--with-system-graphite2')
++@depends("--with-system-graphite2", when=use_pkg_config)
+def check_for_graphite2(value):
+ return bool(value)
+
@@ -151,7 +155,7 @@ index f5aae0e..df3409c 100644
+
# HarfBuzz
# ==============================================================
- option('--with-system-harfbuzz', help="Use system harfbuzz (located with
pkgconfig)")
+ option(
--
2.34.1

diff --git
a/http/firefox/patches/0015-bgo-860033-firefox-wayland-no-dbus.patch
b/http/firefox/patches/0015-bgo-860033-firefox-wayland-no-dbus.patch
deleted file mode 100644
index 7cf532a..0000000
--- a/http/firefox/patches/0015-bgo-860033-firefox-wayland-no-dbus.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/toolkit/moz.configure b/toolkit/moz.configure
---- a/toolkit/moz.configure
-+++ b/toolkit/moz.configure
-@@ -2353,18 +2353,6 @@ with only_when(compile_environment & tar
- )
- set_config("MOZ_D3DCOMPILER_VISTA_DLL_PATH", d3d_compiler_dll.path)
-
--# Remoting protocol support
--# ==============================================================
--
--
--@depends(toolkit)
--def has_remote(toolkit):
-- if toolkit in ("gtk", "windows", "cocoa"):
-- return True
--
--
--set_config("MOZ_HAS_REMOTE", has_remote)
--set_define("MOZ_HAS_REMOTE", has_remote)
-
- # RLBox Library Sandboxing wasm support
- # ==============================================================
-@@ -2900,6 +2888,26 @@ with only_when(toolkit_gtk):
- set_config("MOZ_ENABLE_DBUS", True)
- set_define("MOZ_ENABLE_DBUS", True)
-
-+# Remoting protocol support
-+# ==============================================================
-+
-+@depends(
-+ toolkit,
-+ depends("--enable-dbus", when=toolkit_gtk)(lambda x: x),
-+ depends(wayland_headers, when=toolkit_gtk)(lambda x: x),
-+ depends(x11_headers, when=toolkit_gtk)(lambda x: x),
-+)
-+def has_remote(toolkit, dbus, wayland, x11):
-+ if toolkit in ("windows", "cocoa"):
-+ return True
-+ if toolkit == "gtk":
-+ if not dbus and wayland and not x11:
-+ return
-+ return True
-+
-+
-+set_config("MOZ_HAS_REMOTE", has_remote)
-+set_define("MOZ_HAS_REMOTE", has_remote)
-
- # Necko's wifi scanner
- # ==============================================================
diff --git a/http/firefox/patches/0015-bmo-1516803-gcc-lto-sandbox.patch
b/http/firefox/patches/0015-bmo-1516803-gcc-lto-sandbox.patch
new file mode 100644
index 0000000..eff08f6
--- /dev/null
+++ b/http/firefox/patches/0015-bmo-1516803-gcc-lto-sandbox.patch
@@ -0,0 +1,16 @@
+diff -Naur a/security/sandbox/linux/moz.build
b/security/sandbox/linux/moz.build
+--- a/security/sandbox/linux/moz.build 2023-07-04 13:57:56.029462755 +0300
++++ b/security/sandbox/linux/moz.build 2023-07-04 14:05:08.607221195 +0300
+@@ -114,9 +114,9 @@
+ # gcc lto likes to put the top level asm in syscall.cc in a different
partition
+ # from the function using it which breaks the build. Work around that by
+ # forcing there to be only one partition.
+-for f in CONFIG["OS_CXXFLAGS"]:
+- if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
+- LDFLAGS += ["--param lto-partitions=1"]
++if CONFIG['CC_TYPE'] != 'clang':
++ LDFLAGS += ['--param', 'lto-partitions=1']
++
+
+ DEFINES["NS_NO_XPCOM"] = True
+ DisableStlWrapping()
diff --git a/http/firefox/patches/0016-bmo-1516803-gcc-lto-sandbox.patch
b/http/firefox/patches/0016-bmo-1516803-gcc-lto-sandbox.patch
deleted file mode 100644
index eff08f6..0000000
--- a/http/firefox/patches/0016-bmo-1516803-gcc-lto-sandbox.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -Naur a/security/sandbox/linux/moz.build
b/security/sandbox/linux/moz.build
---- a/security/sandbox/linux/moz.build 2023-07-04 13:57:56.029462755 +0300
-+++ b/security/sandbox/linux/moz.build 2023-07-04 14:05:08.607221195 +0300
-@@ -114,9 +114,9 @@
- # gcc lto likes to put the top level asm in syscall.cc in a different
partition
- # from the function using it which breaks the build. Work around that by
- # forcing there to be only one partition.
--for f in CONFIG["OS_CXXFLAGS"]:
-- if f.startswith("-flto") and CONFIG["CC_TYPE"] != "clang":
-- LDFLAGS += ["--param lto-partitions=1"]
-+if CONFIG['CC_TYPE'] != 'clang':
-+ LDFLAGS += ['--param', 'lto-partitions=1']
-+
-
- DEFINES["NS_NO_XPCOM"] = True
- DisableStlWrapping()
diff --git a/http/firefox/patches/0016-enable-vaapi-on-all-amd-cards.patch
b/http/firefox/patches/0016-enable-vaapi-on-all-amd-cards.patch
new file mode 100644
index 0000000..112cd42
--- /dev/null
+++ b/http/firefox/patches/0016-enable-vaapi-on-all-amd-cards.patch
@@ -0,0 +1,19 @@
+diff -up firefox-115.0/widget/gtk/GfxInfo.cpp.firefox-enable-vaapi
firefox-115.0/widget/gtk/GfxInfo.cpp
+--- firefox-115.0/widget/gtk/GfxInfo.cpp.firefox-enable-vaapi 2023-06-29
12:18:53.179833765 +0200
++++ firefox-115.0/widget/gtk/GfxInfo.cpp 2023-06-29 12:19:33.256212776
+0200
+@@ -970,14 +970,6 @@ const nsTArray<GfxDriverInfo>& GfxInfo::
+ nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_COMPARISON_IGNORED,
+ V(0, 0, 0, 0), "FEATURE_HARDWARE_VIDEO_DECODING_NO_R600", "");
+
+- // Disable on Release/late Beta on AMD
+-#if !defined(EARLY_BETA_OR_EARLIER)
+- APPEND_TO_DRIVER_BLOCKLIST(OperatingSystem::Linux, DeviceFamily::AtiAll,
+- nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
+- nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
+- DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0),
+- "FEATURE_HARDWARE_VIDEO_DECODING_DISABLE",
"");
+-#endif
+ ////////////////////////////////////
+ // FEATURE_HW_DECODED_VIDEO_ZERO_COPY - ALLOWLIST
+ APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Linux, DeviceFamily::All,
+
diff --git
a/http/firefox/patches/0017-bgo-907963-rustflags-single-string.patch
b/http/firefox/patches/0017-bgo-907963-rustflags-single-string.patch
new file mode 100644
index 0000000..a56aec4
--- /dev/null
+++ b/http/firefox/patches/0017-bgo-907963-rustflags-single-string.patch
@@ -0,0 +1,76 @@
+--- firefox-111.0.1/build/moz.configure/rust.configure 2023-03-21
06:16:03.000000000 -0700
++++ firefox-111.0.1/build/moz.configure/rust.configure.new 2023-04-05
08:57:29.403219120 -0700
+@@ -593,7 +593,7 @@
+
+ # ==============================================================
+
+-option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags")
++option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags",
comma_split=False)
+ set_config("RUSTFLAGS", depends("RUSTFLAGS")(lambda flags: flags))
+
+
+--- firefox-111.0.1/python/mozbuild/mozbuild/configure/options.py
2023-03-21 06:16:09.000000000 -0700
++++ firefox-111.0.1/python/mozbuild/mozbuild/configure/options.py.new
2023-04-05 08:57:31.270193468 -0700
+@@ -191,6 +191,10 @@
+ to instantiate an option indirectly. Set this to a positive integer to
+ force the script to look into a deeper stack frame when inferring the
+ `category`.
++ - `comma_split` specifies whether the value string should be split on
++ commas. The default is True. Setting it False is necessary for things
++ like compiler flags which should be a single string that may contain
++ commas.
+ """
+
+ __slots__ = (
+@@ -205,6 +209,7 @@
+ "possible_origins",
+ "category",
+ "define_depth",
++ "comma_split",
+ )
+
+ def __init__(
+@@ -218,6 +223,7 @@
+ category=None,
+ help=None,
+ define_depth=0,
++ comma_split=True,
+ ):
+ if not name and not env:
+ raise InvalidOptionError(
+@@ -335,9 +341,10 @@
+ self.choices = choices
+ self.help = help
+ self.category = category or _infer_option_category(define_depth)
++ self.comma_split = comma_split
+
+ @staticmethod
+- def split_option(option):
++ def split_option(option, comma_split=True):
+ """Split a flag or variable into a prefix, a name and values
+
+ Variables come in the form NAME=values (no prefix).
+@@ -350,7 +357,13 @@
+
+ elements = option.split("=", 1)
+ name = elements[0]
+- values = tuple(elements[1].split(",")) if len(elements) == 2 else ()
++ if len(elements) == 2:
++ if comma_split:
++ values = tuple(elements[1].split(","))
++ else:
++ values = (elements[1],)
++ else:
++ values = ()
+ if name.startswith("--"):
+ name = name[2:]
+ if not name.islower():
+@@ -426,7 +439,7 @@
+ % (option, origin, ", ".join(self.possible_origins))
+ )
+
+- prefix, name, values = self.split_option(option)
++ prefix, name, values = self.split_option(option, self.comma_split)
+ option = self._join_option(prefix, name)
+
+ assert name in (self.name, self.env)
diff --git a/http/firefox/patches/0017-enable-vaapi-on-all-amd-cards.patch
b/http/firefox/patches/0017-enable-vaapi-on-all-amd-cards.patch
deleted file mode 100644
index 112cd42..0000000
--- a/http/firefox/patches/0017-enable-vaapi-on-all-amd-cards.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff -up firefox-115.0/widget/gtk/GfxInfo.cpp.firefox-enable-vaapi
firefox-115.0/widget/gtk/GfxInfo.cpp
---- firefox-115.0/widget/gtk/GfxInfo.cpp.firefox-enable-vaapi 2023-06-29
12:18:53.179833765 +0200
-+++ firefox-115.0/widget/gtk/GfxInfo.cpp 2023-06-29 12:19:33.256212776
+0200
-@@ -970,14 +970,6 @@ const nsTArray<GfxDriverInfo>& GfxInfo::
- nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_COMPARISON_IGNORED,
- V(0, 0, 0, 0), "FEATURE_HARDWARE_VIDEO_DECODING_NO_R600", "");
-
-- // Disable on Release/late Beta on AMD
--#if !defined(EARLY_BETA_OR_EARLIER)
-- APPEND_TO_DRIVER_BLOCKLIST(OperatingSystem::Linux, DeviceFamily::AtiAll,
-- nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING,
-- nsIGfxInfo::FEATURE_BLOCKED_DEVICE,
-- DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0),
-- "FEATURE_HARDWARE_VIDEO_DECODING_DISABLE",
"");
--#endif
- ////////////////////////////////////
- // FEATURE_HW_DECODED_VIDEO_ZERO_COPY - ALLOWLIST
- APPEND_TO_DRIVER_BLOCKLIST2(OperatingSystem::Linux, DeviceFamily::All,
-
diff --git
a/http/firefox/patches/0018-bgo-907963-rustflags-single-string.patch
b/http/firefox/patches/0018-bgo-907963-rustflags-single-string.patch
deleted file mode 100644
index a56aec4..0000000
--- a/http/firefox/patches/0018-bgo-907963-rustflags-single-string.patch
+++ /dev/null
@@ -1,76 +0,0 @@
---- firefox-111.0.1/build/moz.configure/rust.configure 2023-03-21
06:16:03.000000000 -0700
-+++ firefox-111.0.1/build/moz.configure/rust.configure.new 2023-04-05
08:57:29.403219120 -0700
-@@ -593,7 +593,7 @@
-
- # ==============================================================
-
--option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags")
-+option(env="RUSTFLAGS", nargs=1, help="Rust compiler flags",
comma_split=False)
- set_config("RUSTFLAGS", depends("RUSTFLAGS")(lambda flags: flags))
-
-
---- firefox-111.0.1/python/mozbuild/mozbuild/configure/options.py
2023-03-21 06:16:09.000000000 -0700
-+++ firefox-111.0.1/python/mozbuild/mozbuild/configure/options.py.new
2023-04-05 08:57:31.270193468 -0700
-@@ -191,6 +191,10 @@
- to instantiate an option indirectly. Set this to a positive integer to
- force the script to look into a deeper stack frame when inferring the
- `category`.
-+ - `comma_split` specifies whether the value string should be split on
-+ commas. The default is True. Setting it False is necessary for things
-+ like compiler flags which should be a single string that may contain
-+ commas.
- """
-
- __slots__ = (
-@@ -205,6 +209,7 @@
- "possible_origins",
- "category",
- "define_depth",
-+ "comma_split",
- )
-
- def __init__(
-@@ -218,6 +223,7 @@
- category=None,
- help=None,
- define_depth=0,
-+ comma_split=True,
- ):
- if not name and not env:
- raise InvalidOptionError(
-@@ -335,9 +341,10 @@
- self.choices = choices
- self.help = help
- self.category = category or _infer_option_category(define_depth)
-+ self.comma_split = comma_split
-
- @staticmethod
-- def split_option(option):
-+ def split_option(option, comma_split=True):
- """Split a flag or variable into a prefix, a name and values
-
- Variables come in the form NAME=values (no prefix).
-@@ -350,7 +357,13 @@
-
- elements = option.split("=", 1)
- name = elements[0]
-- values = tuple(elements[1].split(",")) if len(elements) == 2 else ()
-+ if len(elements) == 2:
-+ if comma_split:
-+ values = tuple(elements[1].split(","))
-+ else:
-+ values = (elements[1],)
-+ else:
-+ values = ()
- if name.startswith("--"):
- name = name[2:]
- if not name.islower():
-@@ -426,7 +439,7 @@
- % (option, origin, ", ".join(self.possible_origins))
- )
-
-- prefix, name, values = self.split_option(option)
-+ prefix, name, values = self.split_option(option, self.comma_split)
- option = self._join_option(prefix, name)
-
- assert name in (self.name, self.env)
diff --git
a/http/firefox/patches/0018-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch

b/http/firefox/patches/0018-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
new file mode 100644
index 0000000..bb0621a
--- /dev/null
+++
b/http/firefox/patches/0018-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
@@ -0,0 +1,20 @@
+--- a/security/sandbox/linux/Sandbox.cpp 2023-07-10 20:29:48.000000000 +0100
++++ b/security/sandbox/linux/Sandbox.cpp 2023-07-15 09:13:43.561724668
+0100
+@@ -18,6 +18,8 @@
+ #include <dirent.h>
+ #ifdef NIGHTLY_BUILD
+ # include "dlfcn.h"
++#else
++# include <dlfcn.h>
+ #endif
+ #include <errno.h>
+ #include <fcntl.h>
+@@ -685,7 +687,7 @@
+ files->Add("/proc/stat", SandboxOpenedFile::Error{});
+ files->Add("/proc/net/unix", SandboxOpenedFile::Error{});
+ files->Add("/proc/self/maps", SandboxOpenedFile::Error{});
+-
++ Unused << dlopen("libgcc_s.so.1", RTLD_GLOBAL|RTLD_LAZY);
+ // Finally, start the sandbox.
+ SetCurrentProcessSandbox(GetMediaSandboxPolicy(files));
+ }
\ No newline at end of file
diff --git
a/http/firefox/patches/0019-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch

b/http/firefox/patches/0019-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
deleted file mode 100644
index bb0621a..0000000
---
a/http/firefox/patches/0019-bgo-910309-dont-link-widevineplugin-to-libgcc_s.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/security/sandbox/linux/Sandbox.cpp 2023-07-10 20:29:48.000000000 +0100
-+++ b/security/sandbox/linux/Sandbox.cpp 2023-07-15 09:13:43.561724668
+0100
-@@ -18,6 +18,8 @@
- #include <dirent.h>
- #ifdef NIGHTLY_BUILD
- # include "dlfcn.h"
-+#else
-+# include <dlfcn.h>
- #endif
- #include <errno.h>
- #include <fcntl.h>
-@@ -685,7 +687,7 @@
- files->Add("/proc/stat", SandboxOpenedFile::Error{});
- files->Add("/proc/net/unix", SandboxOpenedFile::Error{});
- files->Add("/proc/self/maps", SandboxOpenedFile::Error{});
--
-+ Unused << dlopen("libgcc_s.so.1", RTLD_GLOBAL|RTLD_LAZY);
- // Finally, start the sandbox.
- SetCurrentProcessSandbox(GetMediaSandboxPolicy(files));
- }
\ No newline at end of file
diff --git a/http/firefox/patches/0019-gcc-lto-pgo.patch
b/http/firefox/patches/0019-gcc-lto-pgo.patch
new file mode 100644
index 0000000..d3bcbe5
--- /dev/null
+++ b/http/firefox/patches/0019-gcc-lto-pgo.patch
@@ -0,0 +1,66 @@
+diff -up firefox-122.0/build/moz.configure/lto-pgo.configure.pgo
firefox-122.0/build/moz.configure/lto-pgo.configure
+--- firefox-122.0/build/moz.configure/lto-pgo.configure.pgo 2024-01-18
21:41:19.000000000 +0100
++++ firefox-122.0/build/moz.configure/lto-pgo.configure 2024-01-19
18:21:17.974681504 +0100
+@@ -86,7 +86,7 @@ def pgo_flags(compiler, profdata, target
+ return namespace(
+ gen_cflags=["-fprofile-generate"],
+ gen_ldflags=["-fprofile-generate"],
+- use_cflags=["-fprofile-use", "-fprofile-correction",
"-Wcoverage-mismatch"],
++ use_cflags=["-fprofile-use", "-fprofile-correction",
"-Wno-coverage-mismatch"],
+ use_ldflags=["-fprofile-use"],
+ )
+
+diff -up firefox-122.0/build/pgo/profileserver.py.pgo
firefox-122.0/build/pgo/profileserver.py
+--- firefox-122.0/build/pgo/profileserver.py.pgo 2024-01-18
21:41:20.000000000 +0100
++++ firefox-122.0/build/pgo/profileserver.py 2024-01-19 18:21:17.974681504
+0100
+@@ -11,7 +11,7 @@ import subprocess
+ import sys
+
+ import mozcrash
+-from mozbuild.base import BinaryNotFoundException, MozbuildObject
++from mozbuild.base import BinaryNotFoundException, MozbuildObject,
BuildEnvironmentNotFoundException
+ from mozfile import TemporaryDirectory
+ from mozhttpd import MozHttpd
+ from mozprofile import FirefoxProfile, Preferences
+@@ -98,9 +98,22 @@ if __name__ == "__main__":
+ locations = ServerLocations()
+ locations.add_host(host="127.0.0.1", port=PORT,
options="primary,privileged")
+
+- old_profraw_files = glob.glob("*.profraw")
+- for f in old_profraw_files:
+- os.remove(f)
++ using_gcc = False
++ try:
++ if build.config_environment.substs.get('CC_TYPE') == 'gcc':
++ using_gcc = True
++ except BuildEnvironmentNotFoundException:
++ pass
++
++ if using_gcc:
++ for dirpath, _, filenames in os.walk('.'):
++ for f in filenames:
++ if f.endswith('.gcda'):
++ os.remove(os.path.join(dirpath, f))
++ else:
++ old_profraw_files = glob.glob('*.profraw')
++ for f in old_profraw_files:
++ os.remove(f)
+
+ with TemporaryDirectory() as profilePath:
+ # TODO: refactor this into mozprofile
+diff -up firefox-122.0/toolkit/components/terminator/nsTerminator.cpp.pgo
firefox-122.0/toolkit/components/terminator/nsTerminator.cpp
+--- firefox-122.0/toolkit/components/terminator/nsTerminator.cpp.pgo
2024-01-18 21:41:36.000000000 +0100
++++ firefox-122.0/toolkit/components/terminator/nsTerminator.cpp
2024-01-19 18:21:17.976681572 +0100
+@@ -460,6 +460,11 @@ void nsTerminator::StartWatchdog() {
+ }
+ #endif
+
++ // Disable watchdog for PGO train builds - writting profile information at
++ // exit may take time and it is better to make build hang rather than
++ // silently produce poorly performing binary.
++ crashAfterMS = INT32_MAX;
++
+ UniquePtr<Options> options(new Options());
+ // crashAfterTicks is guaranteed to be > 0 as
+ // crashAfterMS >= ADDITIONAL_WAIT_BEFORE_CRASH_MS >>
HEARTBEAT_INTERVAL_MS
+
diff --git a/http/firefox/patches/0020-bmo-1862601-system-icu-74.patch
b/http/firefox/patches/0020-bmo-1862601-system-icu-74.patch
new file mode 100644
index 0000000..617dd76
--- /dev/null
+++ b/http/firefox/patches/0020-bmo-1862601-system-icu-74.patch
@@ -0,0 +1,41 @@
+https://bugs.gentoo.org/917599
+https://bugzilla.mozilla.org/show_bug.cgi?id=1862601
+https://hg.mozilla.org/try/rev/d5f3b0c4f08a426ce00a153c04e177eecb6820e2
+
+# HG changeset patch
+# User André Bargull <andre.bargull AT gmail.com>
+# Date 1697435923 -7200
+# Node ID d5f3b0c4f08a426ce00a153c04e177eecb6820e2
+# Parent c63994f8259efdf6e745c960aa9e1409d5477049
+Bug xxx - Part 12: Add new line break classes. r?
+
+diff --git a/intl/lwbrk/LineBreaker.cpp b/intl/lwbrk/LineBreaker.cpp
+--- a/intl/lwbrk/LineBreaker.cpp
++++ b/intl/lwbrk/LineBreaker.cpp
+@@ -443,17 +443,23 @@ static int8_t GetClass(uint32_t u, LineB
+ /* JT = 34, [JT] */ CLASS_CHARACTER,
+ /* JV = 35, [JV] */ CLASS_CHARACTER,
+ /* CLOSE_PARENTHESIS = 36, [CP] */
CLASS_CLOSE_LIKE_CHARACTER,
+ /* CONDITIONAL_JAPANESE_STARTER = 37, [CJ] */ CLASS_CLOSE,
+ /* HEBREW_LETTER = 38, [HL] */ CLASS_CHARACTER,
+ /* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER,
+ /* E_BASE = 40, [EB] */ CLASS_BREAKABLE,
+ /* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER,
+- /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER};
++ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER,
++ /* AKSARA = 43, [AK] */ CLASS_CHARACTER,
++ /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER,
++ /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER,
++ /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER,
++ /* VIRAMA = 47, [VI] */ CLASS_CHARACTER,
++ };
+
+ static_assert(U_LB_COUNT ==
mozilla::ArrayLength(sUnicodeLineBreakToClass),
+ "Gecko vs ICU LineBreak class mismatch");
+
+ auto cls = GetLineBreakClass(u);
+ MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass));
+
+ // Overrides based on rules for the different line-break values given in
+
+
diff --git a/http/firefox/patches/0020-gcc-lto-patch-from-fedora.patch
b/http/firefox/patches/0020-gcc-lto-patch-from-fedora.patch
deleted file mode 100644
index 3ce9593..0000000
--- a/http/firefox/patches/0020-gcc-lto-patch-from-fedora.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff -up firefox-122.0/build/moz.configure/lto-pgo.configure.pgo
firefox-122.0/build/moz.configure/lto-pgo.configure
---- firefox-122.0/build/moz.configure/lto-pgo.configure.pgo 2024-01-18
21:41:19.000000000 +0100
-+++ firefox-122.0/build/moz.configure/lto-pgo.configure 2024-01-19
18:21:17.974681504 +0100
-@@ -86,7 +86,7 @@ def pgo_flags(compiler, profdata, target
- return namespace(
- gen_cflags=["-fprofile-generate"],
- gen_ldflags=["-fprofile-generate"],
-- use_cflags=["-fprofile-use", "-fprofile-correction",
"-Wcoverage-mismatch"],
-+ use_cflags=["-fprofile-use", "-fprofile-correction",
"-Wno-coverage-mismatch"],
- use_ldflags=["-fprofile-use"],
- )
-
-diff -up firefox-122.0/build/pgo/profileserver.py.pgo
firefox-122.0/build/pgo/profileserver.py
---- firefox-122.0/build/pgo/profileserver.py.pgo 2024-01-18
21:41:20.000000000 +0100
-+++ firefox-122.0/build/pgo/profileserver.py 2024-01-19 18:21:17.974681504
+0100
-@@ -11,7 +11,7 @@ import subprocess
- import sys
-
- import mozcrash
--from mozbuild.base import BinaryNotFoundException, MozbuildObject
-+from mozbuild.base import BinaryNotFoundException, MozbuildObject,
BuildEnvironmentNotFoundException
- from mozfile import TemporaryDirectory
- from mozhttpd import MozHttpd
- from mozprofile import FirefoxProfile, Preferences
-@@ -98,9 +98,22 @@ if __name__ == "__main__":
- locations = ServerLocations()
- locations.add_host(host="127.0.0.1", port=PORT,
options="primary,privileged")
-
-- old_profraw_files = glob.glob("*.profraw")
-- for f in old_profraw_files:
-- os.remove(f)
-+ using_gcc = False
-+ try:
-+ if build.config_environment.substs.get('CC_TYPE') == 'gcc':
-+ using_gcc = True
-+ except BuildEnvironmentNotFoundException:
-+ pass
-+
-+ if using_gcc:
-+ for dirpath, _, filenames in os.walk('.'):
-+ for f in filenames:
-+ if f.endswith('.gcda'):
-+ os.remove(os.path.join(dirpath, f))
-+ else:
-+ old_profraw_files = glob.glob('*.profraw')
-+ for f in old_profraw_files:
-+ os.remove(f)
-
- with TemporaryDirectory() as profilePath:
- # TODO: refactor this into mozprofile
-diff -up firefox-122.0/gfx/2d/moz.build.pgo firefox-122.0/gfx/2d/moz.build
---- firefox-122.0/gfx/2d/moz.build.pgo 2024-01-18 21:41:22.000000000 +0100
-+++ firefox-122.0/gfx/2d/moz.build 2024-01-19 18:21:17.974681504 +0100
-@@ -137,11 +137,11 @@ if CONFIG["INTEL_ARCHITECTURE"]:
- # The file uses SSE2 intrinsics, so it needs special compile flags on
some
- # compilers.
- SOURCES["BlurSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
-- SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2"]
-+ SOURCES["ConvolutionFilterAVX2.cpp"].flags += ["-mavx2", "-fno-lto"]
- SOURCES["ConvolutionFilterSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
- SOURCES["FilterProcessingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
- SOURCES["ImageScalingSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
-- SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2"]
-+ SOURCES["SwizzleAVX2.cpp"].flags += ["-mavx2", "-fno-lto"]
- SOURCES["SwizzleSSE2.cpp"].flags += CONFIG["SSE2_FLAGS"]
- SOURCES["SwizzleSSSE3.cpp"].flags += CONFIG["SSSE3_FLAGS"]
- SOURCES["ssse3-scaler.c"].flags += CONFIG["SSSE3_FLAGS"]
-diff -up firefox-122.0/gfx/skia/generate_mozbuild.py.pgo
firefox-122.0/gfx/skia/generate_mozbuild.py
---- firefox-122.0/gfx/skia/generate_mozbuild.py.pgo 2024-01-19
18:21:17.975681537 +0100
-+++ firefox-122.0/gfx/skia/generate_mozbuild.py 2024-01-19
18:24:15.494934133 +0100
-@@ -54,10 +54,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind
- if CONFIG['INTEL_ARCHITECTURE']:
- SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags +=
['-Dskvx=skvx_ssse3', '-mssse3']
- SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags +=
['-Dskvx=skvx_sse42', '-msse4.2']
-- SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx',
'-mavx']
-- SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw',
'-mavx2', '-mf16c', '-mfma']
-+ SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx',
'-mavx', '-fno-lto']
-+ SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw',
'-mavx2', '-mf16c', '-mfma', '-fno-lto']
- if not CONFIG["MOZ_CODE_COVERAGE"]:
-- SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags +=
['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw',
'-mavx512vl']
-+ SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags +=
['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw',
'-mavx512vl', '-fno-lto']
- elif CONFIG['TARGET_CPU'] == 'aarch64' and CONFIG['CC_TYPE'] in ('clang',
'gcc'):
- SOURCES['skia/src/opts/SkOpts_crc32.cpp'].flags +=
['-Dskvx=skvx_crc32', '-march=armv8-a+crc']
-
-diff -up firefox-122.0/gfx/skia/moz.build.pgo
firefox-122.0/gfx/skia/moz.build
---- firefox-122.0/gfx/skia/moz.build.pgo 2024-01-19 18:21:17.975681537
+0100
-+++ firefox-122.0/gfx/skia/moz.build 2024-01-19 18:25:13.472039275 +0100
-@@ -564,10 +564,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind
- if CONFIG['INTEL_ARCHITECTURE']:
- SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags +=
['-Dskvx=skvx_ssse3', '-mssse3']
- SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags +=
['-Dskvx=skvx_sse42', '-msse4.2']
-- SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx',
'-mavx']
-- SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw',
'-mavx2', '-mf16c', '-mfma']
-+ SOURCES['skia/src/opts/SkOpts_avx.cpp'].flags += ['-Dskvx=skvx_avx',
'-mavx', '-fno-lto']
-+ SOURCES['skia/src/opts/SkOpts_hsw.cpp'].flags += ['-Dskvx=skvx_hsw',
'-mavx2', '-mf16c', '-mfma', '-fno-lto']
- if not CONFIG["MOZ_CODE_COVERAGE"]:
-- SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags +=
['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw',
'-mavx512vl']
-+ SOURCES['skia/src/opts/SkOpts_skx.cpp'].flags +=
['-Dskvx=skvx_skx', '-mavx512f', '-mavx512dq', '-mavx512cd', '-mavx512bw',
'-mavx512vl', '-fno-lto']
- elif CONFIG['TARGET_CPU'] == 'aarch64' and CONFIG['CC_TYPE'] in ('clang',
'gcc'):
- SOURCES['skia/src/opts/SkOpts_crc32.cpp'].flags +=
['-Dskvx=skvx_crc32', '-march=armv8-a+crc']
-
-diff -up firefox-122.0/toolkit/components/terminator/nsTerminator.cpp.pgo
firefox-122.0/toolkit/components/terminator/nsTerminator.cpp
---- firefox-122.0/toolkit/components/terminator/nsTerminator.cpp.pgo
2024-01-18 21:41:36.000000000 +0100
-+++ firefox-122.0/toolkit/components/terminator/nsTerminator.cpp
2024-01-19 18:21:17.976681572 +0100
-@@ -460,6 +460,11 @@ void nsTerminator::StartWatchdog() {
- }
- #endif
-
-+ // Disable watchdog for PGO train builds - writting profile information at
-+ // exit may take time and it is better to make build hang rather than
-+ // silently produce poorly performing binary.
-+ crashAfterMS = INT32_MAX;
-+
- UniquePtr<Options> options(new Options());
- // crashAfterTicks is guaranteed to be > 0 as
- // crashAfterMS >= ADDITIONAL_WAIT_BEFORE_CRASH_MS >>
HEARTBEAT_INTERVAL_MS
-
diff --git a/http/firefox/patches/0021-bgo-748849-RUST_TARGET_override.patch
b/http/firefox/patches/0021-bgo-748849-RUST_TARGET_override.patch
new file mode 100644
index 0000000..f109538
--- /dev/null
+++ b/http/firefox/patches/0021-bgo-748849-RUST_TARGET_override.patch
@@ -0,0 +1,61 @@
+From: Sam James <sam AT gentoo.org>
+Subject: Allow RUST_TARGET override for detected Rust triplet (fixes musl
build)
+
+Respect RUST_TARGET from the environment to override Mozilla's
+own triplet detection.
+
+If the variable is unset, the old logic is used.
+
+The issue is that Gentoo supports both, say:
+- x86_64-unknown-linux-musl, and
+- x86-64-gentoo-linux-musl
+
+Our Rust is built to understand
+-gentoo- as a vendor target, but
+our Rust only actually includes
+-unknown-.
+
+Mozilla's configure sees -gentoo-
+in CHOST and that Rust _understands_
+-gentoo- and tries to use it, without
+verifying that we actually have
+-gentoo- installed as a Rust target.
+
+This requires exporting RUST_TARGET
+in the ebuild, possibly like:
+````
+inherit rust-toolchain
+
+src_configure() {
+ [...]
+ export RUST_TARGET=$(rust_abi)
+ [...]
+}
+````
+
+Inspired by Alpine's patch at
+https://git.alpinelinux.org/aports/tree/community/firefox/fix-rust-target.patch?id=740922900cf8042be6751fcfcccdd3fc11bd77d3.
+
+Bug: https://bugs.gentoo.org/748849
+Bug: https://bugs.gentoo.org/779178
+Bug: https://bugs.gentoo.org/836226
+Thanks-to: Georgy Yakovlev <gyakovlev AT gentoo.org>
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -275,6 +275,7 @@ def rust_supported_targets(rustc):
+ return data
+
+
++@imports('os')
+ def detect_rustc_target(
+ host_or_target, compiler_info, arm_target, rust_supported_targets
+ ):
+@@ -396,7 +397,7 @@ def detect_rustc_target(
+
+ return None
+
+- rustc_target = find_candidate(candidates)
++ rustc_target = os.environ.get('RUST_TARGET', find_candidate(candidates))
+
+ if rustc_target is None:
+ die("Don't know how to translate {} for
rustc".format(host_or_target.alias))
diff --git a/http/firefox/patches/0021-bmo-1862601-system-icu-74.patch
b/http/firefox/patches/0021-bmo-1862601-system-icu-74.patch
deleted file mode 100644
index 617dd76..0000000
--- a/http/firefox/patches/0021-bmo-1862601-system-icu-74.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-https://bugs.gentoo.org/917599
-https://bugzilla.mozilla.org/show_bug.cgi?id=1862601
-https://hg.mozilla.org/try/rev/d5f3b0c4f08a426ce00a153c04e177eecb6820e2
-
-# HG changeset patch
-# User André Bargull <andre.bargull AT gmail.com>
-# Date 1697435923 -7200
-# Node ID d5f3b0c4f08a426ce00a153c04e177eecb6820e2
-# Parent c63994f8259efdf6e745c960aa9e1409d5477049
-Bug xxx - Part 12: Add new line break classes. r?
-
-diff --git a/intl/lwbrk/LineBreaker.cpp b/intl/lwbrk/LineBreaker.cpp
---- a/intl/lwbrk/LineBreaker.cpp
-+++ b/intl/lwbrk/LineBreaker.cpp
-@@ -443,17 +443,23 @@ static int8_t GetClass(uint32_t u, LineB
- /* JT = 34, [JT] */ CLASS_CHARACTER,
- /* JV = 35, [JV] */ CLASS_CHARACTER,
- /* CLOSE_PARENTHESIS = 36, [CP] */
CLASS_CLOSE_LIKE_CHARACTER,
- /* CONDITIONAL_JAPANESE_STARTER = 37, [CJ] */ CLASS_CLOSE,
- /* HEBREW_LETTER = 38, [HL] */ CLASS_CHARACTER,
- /* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER,
- /* E_BASE = 40, [EB] */ CLASS_BREAKABLE,
- /* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER,
-- /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER};
-+ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER,
-+ /* AKSARA = 43, [AK] */ CLASS_CHARACTER,
-+ /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER,
-+ /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER,
-+ /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER,
-+ /* VIRAMA = 47, [VI] */ CLASS_CHARACTER,
-+ };
-
- static_assert(U_LB_COUNT ==
mozilla::ArrayLength(sUnicodeLineBreakToClass),
- "Gecko vs ICU LineBreak class mismatch");
-
- auto cls = GetLineBreakClass(u);
- MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass));
-
- // Overrides based on rules for the different line-break values given in
-
-
diff --git a/http/firefox/patches/0022-bgo-748849-RUST_TARGET_override.patch
b/http/firefox/patches/0022-bgo-748849-RUST_TARGET_override.patch
deleted file mode 100644
index f109538..0000000
--- a/http/firefox/patches/0022-bgo-748849-RUST_TARGET_override.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From: Sam James <sam AT gentoo.org>
-Subject: Allow RUST_TARGET override for detected Rust triplet (fixes musl
build)
-
-Respect RUST_TARGET from the environment to override Mozilla's
-own triplet detection.
-
-If the variable is unset, the old logic is used.
-
-The issue is that Gentoo supports both, say:
-- x86_64-unknown-linux-musl, and
-- x86-64-gentoo-linux-musl
-
-Our Rust is built to understand
--gentoo- as a vendor target, but
-our Rust only actually includes
--unknown-.
-
-Mozilla's configure sees -gentoo-
-in CHOST and that Rust _understands_
--gentoo- and tries to use it, without
-verifying that we actually have
--gentoo- installed as a Rust target.
-
-This requires exporting RUST_TARGET
-in the ebuild, possibly like:
-````
-inherit rust-toolchain
-
-src_configure() {
- [...]
- export RUST_TARGET=$(rust_abi)
- [...]
-}
-````
-
-Inspired by Alpine's patch at
-https://git.alpinelinux.org/aports/tree/community/firefox/fix-rust-target.patch?id=740922900cf8042be6751fcfcccdd3fc11bd77d3.
-
-Bug: https://bugs.gentoo.org/748849
-Bug: https://bugs.gentoo.org/779178
-Bug: https://bugs.gentoo.org/836226
-Thanks-to: Georgy Yakovlev <gyakovlev AT gentoo.org>
---- a/build/moz.configure/rust.configure
-+++ b/build/moz.configure/rust.configure
-@@ -275,6 +275,7 @@ def rust_supported_targets(rustc):
- return data
-
-
-+@imports('os')
- def detect_rustc_target(
- host_or_target, compiler_info, arm_target, rust_supported_targets
- ):
-@@ -396,7 +397,7 @@ def detect_rustc_target(
-
- return None
-
-- rustc_target = find_candidate(candidates)
-+ rustc_target = os.environ.get('RUST_TARGET', find_candidate(candidates))
-
- if rustc_target is None:
- die("Don't know how to translate {} for
rustc".format(host_or_target.alias))
diff --git a/http/firefox/patches/0022-bmo-1559213-Support-system-av1.patch
b/http/firefox/patches/0022-bmo-1559213-Support-system-av1.patch
new file mode 100644
index 0000000..240ef56
--- /dev/null
+++ b/http/firefox/patches/0022-bmo-1559213-Support-system-av1.patch
@@ -0,0 +1,96 @@
+diff --git a/config/external/moz.build b/config/external/moz.build
+index 2fc8df57992e..63d18e50a961 100644
+--- a/config/external/moz.build
++++ b/config/external/moz.build
+@@ -40,8 +40,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
+ external_dirs += ["media/libvpx"]
+
+ if CONFIG["MOZ_AV1"]:
+- external_dirs += ["media/libaom"]
+- external_dirs += ["media/libdav1d"]
++ if not CONFIG["MOZ_SYSTEM_AV1"]:
++ external_dirs += ["media/libaom"]
++ external_dirs += ["media/libdav1d"]
+
+ if not CONFIG["MOZ_SYSTEM_PNG"]:
+ external_dirs += ["media/libpng"]
+diff --git a/dom/media/platforms/moz.build b/dom/media/platforms/moz.build
+index 5c6e25b3980b..ce99ebfb6d3f 100644
+--- a/dom/media/platforms/moz.build
++++ b/dom/media/platforms/moz.build
+@@ -81,6 +81,11 @@ if CONFIG["MOZ_AV1"]:
+ "agnostic/AOMDecoder.cpp",
+ "agnostic/DAV1DDecoder.cpp",
+ ]
++ if CONFIG['MOZ_SYSTEM_AV1']:
++ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
++ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
++ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
++ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
+
+ if CONFIG["MOZ_OMX"]:
+ EXPORTS += [
+diff --git a/media/ffvpx/libavcodec/moz.build
b/media/ffvpx/libavcodec/moz.build
+index 761fc8cf4cd9..793a5b8697a8 100644
+--- a/media/ffvpx/libavcodec/moz.build
++++ b/media/ffvpx/libavcodec/moz.build
+@@ -120,10 +120,16 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']:
+ 'vp9recon.c',
+ 'vpx_rac.c',
+ ]
+- USE_LIBS += [
+- 'dav1d',
+- 'media_libdav1d_asm',
+- ]
++ if CONFIG["MOZ_SYSTEM_AV1"]:
++ CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
++ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
++ CFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
++ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
++ else:
++ USE_LIBS += [
++ 'dav1d',
++ 'media_libdav1d_asm',
++ ]
+ if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
+ LOCAL_INCLUDES += ['/media/mozva']
+ SOURCES += [
+diff --git a/toolkit/moz.configure b/toolkit/moz.configure
+index f93a5d64fec8..814357f4e979 100644
+--- a/toolkit/moz.configure
++++ b/toolkit/moz.configure
+@@ -744,7 +744,23 @@ def av1(value):
+ return True
+
+
+-@depends(target, when=av1 & compile_environment)
++option("--with-system-av1",
++ help="Use system av1 (located with pkgconfig)")
++
++system_libaom_info = pkg_check_modules("MOZ_SYSTEM_LIBAOM", "aom >= 1.0.0",
++ when="--with-system-av1")
++
++system_libdav1d_info = pkg_check_modules("MOZ_SYSTEM_LIBDAV1D", "dav1d >=
0.1.1",
++ when="--with-system-av1")
++
++@depends(system_libaom_info, system_libdav1d_info)
++def system_av1(system_libaom_info, system_libdav1d_info):
++ has_av1_libs = False
++ if system_libaom_info and system_libdav1d_info:
++ has_av1_libs = True
++ return has_av1_libs
++
++@depends(target, when=av1 & depends(system_av1)(lambda v: not v) &
compile_environment)
+ def dav1d_asm(target):
+ if target.cpu in ("aarch64", "x86", "x86_64"):
+ return True
+@@ -760,6 +776,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
+ set_define("MOZ_DAV1D_ASM", dav1d_asm)
+ set_config("MOZ_AV1", av1)
+ set_define("MOZ_AV1", av1)
++set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True))
+
+ # JXL Image Codec Support
+ # ==============================================================
+
+
diff --git a/http/firefox/patches/0023-bmo-1559213-Support-system-av1.patch
b/http/firefox/patches/0023-bmo-1559213-Support-system-av1.patch
deleted file mode 100644
index 240ef56..0000000
--- a/http/firefox/patches/0023-bmo-1559213-Support-system-av1.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-diff --git a/config/external/moz.build b/config/external/moz.build
-index 2fc8df57992e..63d18e50a961 100644
---- a/config/external/moz.build
-+++ b/config/external/moz.build
-@@ -40,8 +40,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
- external_dirs += ["media/libvpx"]
-
- if CONFIG["MOZ_AV1"]:
-- external_dirs += ["media/libaom"]
-- external_dirs += ["media/libdav1d"]
-+ if not CONFIG["MOZ_SYSTEM_AV1"]:
-+ external_dirs += ["media/libaom"]
-+ external_dirs += ["media/libdav1d"]
-
- if not CONFIG["MOZ_SYSTEM_PNG"]:
- external_dirs += ["media/libpng"]
-diff --git a/dom/media/platforms/moz.build b/dom/media/platforms/moz.build
-index 5c6e25b3980b..ce99ebfb6d3f 100644
---- a/dom/media/platforms/moz.build
-+++ b/dom/media/platforms/moz.build
-@@ -81,6 +81,11 @@ if CONFIG["MOZ_AV1"]:
- "agnostic/AOMDecoder.cpp",
- "agnostic/DAV1DDecoder.cpp",
- ]
-+ if CONFIG['MOZ_SYSTEM_AV1']:
-+ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
-+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
-+ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
-+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
-
- if CONFIG["MOZ_OMX"]:
- EXPORTS += [
-diff --git a/media/ffvpx/libavcodec/moz.build
b/media/ffvpx/libavcodec/moz.build
-index 761fc8cf4cd9..793a5b8697a8 100644
---- a/media/ffvpx/libavcodec/moz.build
-+++ b/media/ffvpx/libavcodec/moz.build
-@@ -120,10 +120,16 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']:
- 'vp9recon.c',
- 'vpx_rac.c',
- ]
-- USE_LIBS += [
-- 'dav1d',
-- 'media_libdav1d_asm',
-- ]
-+ if CONFIG["MOZ_SYSTEM_AV1"]:
-+ CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS']
-+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS']
-+ CFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS']
-+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS']
-+ else:
-+ USE_LIBS += [
-+ 'dav1d',
-+ 'media_libdav1d_asm',
-+ ]
- if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
- LOCAL_INCLUDES += ['/media/mozva']
- SOURCES += [
-diff --git a/toolkit/moz.configure b/toolkit/moz.configure
-index f93a5d64fec8..814357f4e979 100644
---- a/toolkit/moz.configure
-+++ b/toolkit/moz.configure
-@@ -744,7 +744,23 @@ def av1(value):
- return True
-
-
--@depends(target, when=av1 & compile_environment)
-+option("--with-system-av1",
-+ help="Use system av1 (located with pkgconfig)")
-+
-+system_libaom_info = pkg_check_modules("MOZ_SYSTEM_LIBAOM", "aom >= 1.0.0",
-+ when="--with-system-av1")
-+
-+system_libdav1d_info = pkg_check_modules("MOZ_SYSTEM_LIBDAV1D", "dav1d >=
0.1.1",
-+ when="--with-system-av1")
-+
-+@depends(system_libaom_info, system_libdav1d_info)
-+def system_av1(system_libaom_info, system_libdav1d_info):
-+ has_av1_libs = False
-+ if system_libaom_info and system_libdav1d_info:
-+ has_av1_libs = True
-+ return has_av1_libs
-+
-+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) &
compile_environment)
- def dav1d_asm(target):
- if target.cpu in ("aarch64", "x86", "x86_64"):
- return True
-@@ -760,6 +776,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm)
- set_define("MOZ_DAV1D_ASM", dav1d_asm)
- set_config("MOZ_AV1", av1)
- set_define("MOZ_AV1", av1)
-+set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True))
-
- # JXL Image Codec Support
- # ==============================================================
-
-
diff --git a/http/firefox/patches/0023-bmo-1874059-fix-libcxx-18.patch
b/http/firefox/patches/0023-bmo-1874059-fix-libcxx-18.patch
new file mode 100644
index 0000000..b21a93c
--- /dev/null
+++ b/http/firefox/patches/0023-bmo-1874059-fix-libcxx-18.patch
@@ -0,0 +1,16 @@
+--- a/build/moz.configure/toolchain.configure 2024-03-16 22:53:15.409390707
+0000
++++ b/build/moz.configure/toolchain.configure 2024-03-16 22:57:02.661805132
+0000
+@@ -2183,10 +2183,10 @@
+ set_define("_LIBCPP_HIDE_FROM_ABI",
libcxx_override_visibility.hide_from_abi)
+
+
+-@depends(target, build_environment)
+-def visibility_flags(target, env):
++@depends(target, build_environment, c_compiler)
++def visibility_flags(target, env, c_compiler):
+ if target.os != "WINNT":
+- if target.kernel == "Darwin":
++ if target.kernel == "Darwin" or (c_compiler.type == "clang" and
c_compiler.version >= "17.0.0"):
+ return ("-fvisibility=hidden", "-fvisibility-inlines-hidden")
+ return (
+ "-I%s/system_wrappers" % os.path.join(env.dist),
\ No newline at end of file
diff --git a/http/firefox/patches/0024-bmo-1874059-fix-libcxx-18.patch
b/http/firefox/patches/0024-bmo-1874059-fix-libcxx-18.patch
deleted file mode 100644
index b21a93c..0000000
--- a/http/firefox/patches/0024-bmo-1874059-fix-libcxx-18.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/build/moz.configure/toolchain.configure 2024-03-16 22:53:15.409390707
+0000
-+++ b/build/moz.configure/toolchain.configure 2024-03-16 22:57:02.661805132
+0000
-@@ -2183,10 +2183,10 @@
- set_define("_LIBCPP_HIDE_FROM_ABI",
libcxx_override_visibility.hide_from_abi)
-
-
--@depends(target, build_environment)
--def visibility_flags(target, env):
-+@depends(target, build_environment, c_compiler)
-+def visibility_flags(target, env, c_compiler):
- if target.os != "WINNT":
-- if target.kernel == "Darwin":
-+ if target.kernel == "Darwin" or (c_compiler.type == "clang" and
c_compiler.version >= "17.0.0"):
- return ("-fvisibility=hidden", "-fvisibility-inlines-hidden")
- return (
- "-I%s/system_wrappers" % os.path.join(env.dist),
\ No newline at end of file
diff --git a/http/firefox/patches/0024-dont-use-build-id.patch
b/http/firefox/patches/0024-dont-use-build-id.patch
new file mode 100644
index 0000000..4ec8ac1
--- /dev/null
+++ b/http/firefox/patches/0024-dont-use-build-id.patch
@@ -0,0 +1,13 @@
+diff '--color=auto' -Naur a/build/moz.configure/flags.configure
b/build/moz.configure/flags.configure
+--- a/build/moz.configure/flags.configure 2024-07-08 20:04:44.944708403
+0300
++++ b/build/moz.configure/flags.configure 2024-07-08 20:13:30.867064722
+0300
+@@ -197,9 +197,6 @@
+
+ check_and_add_flag("-pipe", when=building_with_gcc)
+
+-check_and_add_linker_flag("-Wl,--build-id=uuid", when=check_build_id_uuid)
+-check_and_add_linker_flag("-Wl,--build-id=sha1", when=check_build_id_sha1)
+-
+ check_and_add_asm_flag("-Wa,--noexecstack",
when=building_with_gnu_compatible_cc)
+ check_and_add_linker_flag("-Wl,-z,noexecstack",
when=building_with_gnu_compatible_cc)
+ check_and_add_linker_flag("-Wl,-z,text",
when=building_with_gnu_compatible_cc)
diff --git a/http/firefox/patches/0025-dont-use-build-id.patch
b/http/firefox/patches/0025-dont-use-build-id.patch
deleted file mode 100644
index 0c72417..0000000
--- a/http/firefox/patches/0025-dont-use-build-id.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur firefox-125.0.1/build/moz.configure/flags.configure
firefox-125.0.1-b/build/moz.configure/flags.configure
---- firefox-125.0.1/build/moz.configure/flags.configure 2024-04-16
06:56:47.000000000 +0300
-+++ firefox-125.0.1-b/build/moz.configure/flags.configure 2024-04-17
09:22:31.367849131 +0300
-@@ -157,9 +157,6 @@
-
- check_and_add_flag("-pipe", when=building_with_gcc)
-
--check_and_add_linker_flag("-Wl,--build-id=uuid", when=check_build_id_uuid)
--check_and_add_linker_flag("-Wl,--build-id=sha1", when=check_build_id_sha1)
--
- check_and_add_asm_flag("-Wa,--noexecstack", when=building_with_gnu_cc)
- check_and_add_linker_flag("-Wl,-z,noexecstack", when=building_with_gnu_cc)
- check_and_add_linker_flag("-Wl,-z,text", when=building_with_gnu_cc)
diff --git
a/http/firefox/patches/0025-mozilla-bundled-ffmpeg-7-gcc-14-incompatible-pointer-types.patch

b/http/firefox/patches/0025-mozilla-bundled-ffmpeg-7-gcc-14-incompatible-pointer-types.patch
new file mode 100644
index 0000000..1fca899
--- /dev/null
+++
b/http/firefox/patches/0025-mozilla-bundled-ffmpeg-7-gcc-14-incompatible-pointer-types.patch
@@ -0,0 +1,14 @@
+diff -Naur a/media/ffvpx/libavcodec/moz.build
b/media/ffvpx/libavcodec/moz.build
+--- a/media/ffvpx/libavcodec/moz.build 2024-06-07 00:33:58.000000000 +0300
++++ b/media/ffvpx/libavcodec/moz.build 2024-06-10 21:13:44.142620997 +0300
+@@ -143,6 +143,10 @@
+ c11_flags = ["-std=gnu11"]
+ if CONFIG["CC_TYPE"] == "clang-cl":
+ c11_flags.insert(0, "-Xclang")
++
++if CONFIG["CC_TYPE"] == "gcc" and int(CONFIG["CC_VERSION"].split(".")[0])
>= 14:
++ c11_flags.insert(0, "-Wno-error=incompatible-pointer-types")
++
+ CFLAGS += c11_flags
+
+ if not CONFIG["MOZ_SYSTEM_LIBVPX"]:
diff --git
a/http/firefox/patches/0026-bmo-1900701-set-MOZ_SYSTEM_JPEG-when-with-system-jpeg-is-requested.patch

b/http/firefox/patches/0026-bmo-1900701-set-MOZ_SYSTEM_JPEG-when-with-system-jpeg-is-requested.patch
deleted file mode 100644
index ff25a12..0000000
---
a/http/firefox/patches/0026-bmo-1900701-set-MOZ_SYSTEM_JPEG-when-with-system-jpeg-is-requested.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-
-# HG changeset patch
-# User Patrycja Rosa <mozcontrib AT ptrcnull.me>
-# Date 1717587615 0
-# Node ID 788870c93e7af0148ca7a9c7f945c6512b590267
-# Parent faaa4359e2c47658326dbe9f9edab30f48ac6a6b
-Bug 1900701 - Set MOZ_SYSTEM_JPEG when --with-system-jpeg has been
requested. r=firefox-build-system-reviewers,glandium
-
-Differential Revision: https://phabricator.services.mozilla.com/D212612
-
-diff --git a/toolkit/moz.configure b/toolkit/moz.configure
---- a/toolkit/moz.configure
-+++ b/toolkit/moz.configure
-@@ -2421,16 +2421,18 @@ with only_when(compile_environment):
- set_config("LIBJPEG_TURBO_HAVE_VLD1Q_U8_X4", jpeg_arm_neon_vld1q_u8_x4)
- set_config(
- "LIBJPEG_TURBO_NEON_INTRINSICS",
- jpeg_arm_neon_vld1_s16_x3
- & jpeg_arm_neon_vld1_u16_x2
- & jpeg_arm_neon_vld1q_u8_x4,
- )
-
-+ set_config("MOZ_SYSTEM_JPEG", True, when="--with-system-jpeg")
-+
-
- # PNG
- # ===
- with only_when(compile_environment):
- system_lib_option(
- "--with-system-png",
- nargs="?",
- help="Use system libpng",
-
diff --git
a/http/firefox/patches/0027-bmo-1900899-relrhack.cpp-add-missing-include-array.patch

b/http/firefox/patches/0027-bmo-1900899-relrhack.cpp-add-missing-include-array.patch
deleted file mode 100644
index 1193a09..0000000
---
a/http/firefox/patches/0027-bmo-1900899-relrhack.cpp-add-missing-include-array.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur a/build/unix/elfhack/relrhack.cpp
b/build/unix/elfhack/relrhack.cpp
---- a/build/unix/elfhack/relrhack.cpp 2024-06-03 17:26:20.000000000 +0100
-+++ b/build/unix/elfhack/relrhack.cpp 2024-06-05 20:31:23.480715619 +0100
-@@ -12,6 +12,7 @@
-
- #include "relrhack.h"
- #include <algorithm>
-+#include <array>
- #include <cstdio>
- #include <cstring>
- #include <filesystem>
diff --git
a/http/firefox/patches/0028-mozilla-bundled-ffmpeg-7-gcc-14-incompatible-pointer-types.patch

b/http/firefox/patches/0028-mozilla-bundled-ffmpeg-7-gcc-14-incompatible-pointer-types.patch
deleted file mode 100644
index 1fca899..0000000
---
a/http/firefox/patches/0028-mozilla-bundled-ffmpeg-7-gcc-14-incompatible-pointer-types.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Naur a/media/ffvpx/libavcodec/moz.build
b/media/ffvpx/libavcodec/moz.build
---- a/media/ffvpx/libavcodec/moz.build 2024-06-07 00:33:58.000000000 +0300
-+++ b/media/ffvpx/libavcodec/moz.build 2024-06-10 21:13:44.142620997 +0300
-@@ -143,6 +143,10 @@
- c11_flags = ["-std=gnu11"]
- if CONFIG["CC_TYPE"] == "clang-cl":
- c11_flags.insert(0, "-Xclang")
-+
-+if CONFIG["CC_TYPE"] == "gcc" and int(CONFIG["CC_VERSION"].split(".")[0])
>= 14:
-+ c11_flags.insert(0, "-Wno-error=incompatible-pointer-types")
-+
- CFLAGS += c11_flags
-
- if not CONFIG["MOZ_SYSTEM_LIBVPX"]:


  • [[SM-Commit] ] GIT changes to master grimoire by Pavel Vinogradov (4443ce2b334c25ef314f2484e3e55cc1af53db3c), Pavel Vinogradov, 07/10/2024

Archive powered by MHonArc 2.6.24.

Top of Page