Hi

Here is a patch updating librewolf to 159.0-1

Please note: this is for -current.

I don't currently do updates for -stable, e.g. 8.0 tree. yaydn if you're reading this, can you please:

cross reference backports of www/mozilla-firefox updates to -stable, specifically the difference between these updates and the ones in -current, if any differences exist

then:

further cross reference with my librewolf updates to -current. adapt, according to differences in firefox backporting on -stable, to also provide backported updates of librewolf in -stable

i will continue to provide librewolf update to ports in openbsd -current, but i'm not yet set up on openbsd -stable. i would also need to learn cvs.

i *will* eventually do both, but for now it's essential that at least something gets done for -stable.

--
Company director, Minifree Ltd
Registered in England, No. 9361826 | VAT No. GB202190462
Registered Office: 19 Hilton Road, Canvey Island, Essex SS8 9QA, UK

From 72446507b50962058cc02193b78e4c222fa9d103 Mon Sep 17 00:00:00 2001
From: Leah Rowe <[email protected]>
Date: Tue, 27 Oct 2026 23:16:34 +0000
Subject: [PATCH 1/1] www/librewolf: update to 159.0-1

Patching in sync with firefox

Signed-off-by: Leah Rowe <[email protected]>
---
 www/librewolf/Makefile                        |  6 ++--
 www/librewolf/distinfo                        |  8 ++---
 .../patches/patch-config_makefiles_rust_mk    | 17 ---------
 .../patches/patch-js_src_gc_Memory_cpp        | 36 -------------------
 .../patches/patch-js_src_gc_Memory_h          | 18 ----------
 .../patches/patch-js_src_wasm_WasmStacks_cpp  | 14 --------
 ...-python_mozbuild_mozbuild_rust_commands_py | 16 +++++++++
 7 files changed, 23 insertions(+), 92 deletions(-)
 delete mode 100644 www/librewolf/patches/patch-config_makefiles_rust_mk
 delete mode 100644 www/librewolf/patches/patch-js_src_gc_Memory_cpp
 delete mode 100644 www/librewolf/patches/patch-js_src_gc_Memory_h
 delete mode 100644 www/librewolf/patches/patch-js_src_wasm_WasmStacks_cpp
 create mode 100644 www/librewolf/patches/patch-python_mozbuild_mozbuild_rust_commands_py

diff --git a/www/librewolf/Makefile b/www/librewolf/Makefile
index f4de8cd0061..c299d569e29 100644
--- a/www/librewolf/Makefile
+++ b/www/librewolf/Makefile
@@ -13,7 +13,7 @@ ONLY_FOR_ARCHS =	amd64 aarch64 riscv64
 
 # If upstream adds revision number -x, it will become plx in OpenBSD, e.g.
 # librewolf-149.0.2-2 (upstream) becomes librewolf-149.0.2pl2 (patch level 2)
-MOZILLA_DIST_VERSION =	158.0.1-2
+MOZILLA_DIST_VERSION =	159.0-1
 MOZILLA_VERSION =	${MOZILLA_DIST_VERSION:C/-([0-9]+)$/pl\1/}
 
 MOZILLA_PROJECT =	librewolf
@@ -22,13 +22,13 @@ MAINTAINER =		Leah Rowe <[email protected]>
 
 # LibreWolf doesn't provide PGO data, but we use the data
 # provided by FireFox releases, re-using the OpenBSD distfile
-MOZILLA_PROFDATA_TASKID =	ExMRLOtySd6x2mCJ0dFSrA
+MOZILLA_PROFDATA_TASKID =	UKqb36XTQgO0jyxyO2zhcg
 FFVERSION =			${MOZILLA_DIST_VERSION:C/-([0-9]+)$//}
 FFDIST =			firefox-${FFVERSION}.source
 DISTFILES.profdata = ${FFDIST}-profdata.tar.xz{profdata.tar.xz}
 
 HOMEPAGE =	https://librewolf.net/
-SO_VERSION =	7.0
+SO_VERSION =	8.0
 # Bump minor ver if shlibs deleted in components dir to avoid pkg_add -r issues
 MOZILLA_LIBS =	mozavcodec mozavutil mozgtk mozinference mozwayland xul \
 		clearkey gkcodecs lgpllibs mozsqlite3
diff --git a/www/librewolf/distinfo b/www/librewolf/distinfo
index a04cb2accc9..47d35b6eb4d 100644
--- a/www/librewolf/distinfo
+++ b/www/librewolf/distinfo
@@ -1,4 +1,4 @@
-SHA256 (mozilla/firefox-158.0.1.source-profdata.tar.xz) = IvyQShuGp7mBySK5fj5OcZ8W5MY5Aa1ShqygpMU2XsM=
-SHA256 (mozilla/librewolf-158.0.1-2.source.tar.gz) = 3R54L6+OjaUyZ5l8efa1wzDKDKHPGBjG1vqusIZC99s=
-SIZE (mozilla/firefox-158.0.1.source-profdata.tar.xz) = 19009428
-SIZE (mozilla/librewolf-158.0.1-2.source.tar.gz) = 1182292355
+SHA256 (mozilla/firefox-159.0.source-profdata.tar.xz) = kAz3ulTZ3dLGSJtSOTFe87tzFJMswrShfeNOlL8XORE=
+SHA256 (mozilla/librewolf-159.0-1.source.tar.gz) = whGcJP+/ItzJmKw5m9lbl+j9x4Xx5Xd2hHtGjz+ZKMs=
+SIZE (mozilla/firefox-159.0.source-profdata.tar.xz) = 19053704
+SIZE (mozilla/librewolf-159.0-1.source.tar.gz) = 1183423415
diff --git a/www/librewolf/patches/patch-config_makefiles_rust_mk b/www/librewolf/patches/patch-config_makefiles_rust_mk
deleted file mode 100644
index ec6c03fbb5f..00000000000
--- a/www/librewolf/patches/patch-config_makefiles_rust_mk
+++ /dev/null
@@ -1,17 +0,0 @@
-use lto=thin to reduce memory pressure when building gkrust
-https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
-https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
-
-Index: config/makefiles/rust.mk
---- config/makefiles/rust.mk.orig
-+++ config/makefiles/rust.mk
-@@ -56,7 +56,8 @@ cargo_build_flags += $(MOZ_CARGO_BUILD_STD_ARGS)
- cargo_rustc_flags = $(CARGO_RUSTCFLAGS)
- # Enable link-time optimization for release builds.
- ifdef RUST_LIBRARY_LTO
--cargo_rustc_flags += -Clto
-+cargo_rustc_flags += -Clto=thin
-+export CARGO_PROFILE_RELEASE_LTO=thin
- endif
- 
- ifdef CARGO_INCREMENTAL
diff --git a/www/librewolf/patches/patch-js_src_gc_Memory_cpp b/www/librewolf/patches/patch-js_src_gc_Memory_cpp
deleted file mode 100644
index 811d3308ad1..00000000000
--- a/www/librewolf/patches/patch-js_src_gc_Memory_cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-https://hg.mozilla.org/mozilla-central/rev/b3a14f8efa23
-
-Index: js/src/gc/Memory.cpp
---- js/src/gc/Memory.cpp.orig
-+++ js/src/gc/Memory.cpp
-@@ -534,6 +534,30 @@ void MapStack(size_t stackSize) {
- #endif
- }
- 
-+void* MapAlignedPagesAsStack(size_t length, size_t alignment,
-+                             StallAndRetry stallAndRetry) {
-+  void* region = MapAlignedPages(length, alignment, stallAndRetry);
-+  if (!region) {
-+    return nullptr;
-+  }
-+
-+#ifdef __OpenBSD__
-+  // OpenBSD kills the process if the stack pointer points into memory not
-+  // mapped with MAP_STACK. That flag can only be set at mmap() time, so remap
-+  // the region in place. The pages are freshly mapped and untouched, so
-+  // discarding their contents here is fine.
-+  void* result = MozTaggedAnonymousMmap(
-+      region, length, int(PageAccess::ReadWrite),
-+      MAP_PRIVATE | MAP_ANON | MAP_FIXED | MAP_STACK, -1, 0, "js-gc-stack");
-+  if (result != region) {
-+    UnmapPages(region, length);
-+    return nullptr;
-+  }
-+#endif
-+
-+  return region;
-+}
-+
- void CheckMemorySubsystemOnShutDown() {
-   MOZ_ASSERT(gMappedMemorySizeBytes == 0);
- }
diff --git a/www/librewolf/patches/patch-js_src_gc_Memory_h b/www/librewolf/patches/patch-js_src_gc_Memory_h
deleted file mode 100644
index 423697789b4..00000000000
--- a/www/librewolf/patches/patch-js_src_gc_Memory_h
+++ /dev/null
@@ -1,18 +0,0 @@
-https://hg.mozilla.org/mozilla-central/rev/b3a14f8efa23
-
-Index: js/src/gc/Memory.h
---- js/src/gc/Memory.h.orig
-+++ js/src/gc/Memory.h
-@@ -56,6 +56,12 @@ void UnmapPages(void* region, size_t length);
- // the space that the stack may expand into. (Only on Linux fuzzing builds.)
- void MapStack(size_t stackSize);
- 
-+// Like MapAlignedPages, but the returned region is also usable as a call stack.
-+// Some systems (notably OpenBSD) terminate the process if the stack pointer
-+// points into memory that was not mapped with MAP_STACK.
-+void* MapAlignedPagesAsStack(size_t length, size_t alignment,
-+                             StallAndRetry stallAndRetry = StallAndRetry::No);
-+
- // We only decommit unused pages if the system page size is the same as the
- // hardcoded page size for the build.
- bool DecommitEnabled();
diff --git a/www/librewolf/patches/patch-js_src_wasm_WasmStacks_cpp b/www/librewolf/patches/patch-js_src_wasm_WasmStacks_cpp
deleted file mode 100644
index badaabac523..00000000000
--- a/www/librewolf/patches/patch-js_src_wasm_WasmStacks_cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-https://hg.mozilla.org/mozilla-central/rev/b3a14f8efa23
-
-Index: js/src/wasm/WasmStacks.cpp
---- js/src/wasm/WasmStacks.cpp.orig
-+++ js/src/wasm/WasmStacks.cpp
-@@ -877,7 +877,7 @@ ContStackArena::~ContStackArena() {
- /* static */
- UniqueContStackArena ContStackArena::create(ContStackAllocator* owner) {
-   size_t arenaSize = owner->arenaSize();
--  void* arenaBase = gc::MapAlignedPages(arenaSize, ContStackAlignment);
-+  void* arenaBase = gc::MapAlignedPagesAsStack(arenaSize, ContStackAlignment);
-   if (!arenaBase) {
-     return nullptr;
-   }
diff --git a/www/librewolf/patches/patch-python_mozbuild_mozbuild_rust_commands_py b/www/librewolf/patches/patch-python_mozbuild_mozbuild_rust_commands_py
new file mode 100644
index 00000000000..79387447d55
--- /dev/null
+++ b/www/librewolf/patches/patch-python_mozbuild_mozbuild_rust_commands_py
@@ -0,0 +1,16 @@
+use lto=thin to reduce memory pressure when building gkrust
+https://bugzilla.mozilla.org/show_bug.cgi?id=1644409
+https://bugzilla.mozilla.org/show_bug.cgi?id=1640982
+
+Index: python/mozbuild/mozbuild/rust_commands.py
+--- python/mozbuild/mozbuild/rust_commands.py.orig
++++ python/mozbuild/mozbuild/rust_commands.py
+@@ -418,7 +418,7 @@ def _rustc_flags(cmd, substs, invocation):
+         flags += substs.get("MOZ_RUST_LIBRARY_RUSTCFLAGS")
+ 
+     if applies_library_lto(cmd.kind, cmd.lto, substs):
+-        flags.append("-Clto")
++        flags.append("-Clto=thin")
+ 
+     flags += invocation.cargo_rustcflags
+ 
-- 
2.56.0

Attachment: OpenPGP_0x5C654067D383B1FF.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to