På onsdag 28. oktober 2026 kl. 10:41, skrev Leah Rowe:

> 
> 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
> 
> 

Alright ports,

Here is a -stable update submission for librewolf after a string of 
drive failures and other tech issues. I checked in with Leah off-list,
and Leah said, "It looks to me like the patch is correct though."

This is my first -stable submission, so apologies if I missed
something obvious. Attached inline and as a separate diff file.

Built and installed on -stable/amd64; ran it for a few minutes on sway
and kde-plasma.

Testing, comments, concerns, and okays welcome.

As always thanks to Landry, Leah, and also Espie and the other ports
devs for the ease of patching/building for this silly goose.

Sorry it took so long.

May you all surf with confidence, security, and some measure of privacy.
--
yaydn


Index: Makefile
===================================================================
RCS file: /cvs/ports/www/librewolf/Makefile,v
diff -u -p -u -p -r1.20.2.1 Makefile
--- Makefile    8 Oct 2026 08:48:50 -0000       1.20.2.1
+++ Makefile    30 Oct 2026 14:51:05 -0000
@@ -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 = 157.0-1
+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 <leah@libreboot.
 
 # LibreWolf doesn't provide PGO data, but we use the data
 # provided by FireFox releases, re-using the OpenBSD distfile
-MOZILLA_PROFDATA_TASKID =      BnF3vh8WT4OW53JJ0ow3mQ
+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 =   6.0
+SO_VERSION =   7.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
@@ -132,14 +132,8 @@ do-test:
                    ./mach xpcshell-test --sequential --keep-going
 
 MOZCONFIG = ${WRKSRC}/mozconfig
-MOZCONFIG_ORIG = ${WRKSRC}/mozconfig.obsd
 pre-configure:
-       if [ ! -f "${MOZCONFIG_ORIG}" ]; \
-       then \
-               cp "${MOZCONFIG}" "${MOZCONFIG_ORIG}" ; \
-       fi
-
-       cp "${MOZCONFIG_ORIG}" "${MOZCONFIG}"
+       cp "${FILESDIR}/mozconfig" "${MOZCONFIG}"
        sed -i -e "s,%%PREFIX%%,${PREFIX},g" "${MOZCONFIG}"
        sed -i -e "s,%%LOCALBASE%%,${LOCALBASE},g" "${MOZCONFIG}"
 .if defined(DEBUG)
Index: distinfo
===================================================================
RCS file: /cvs/ports/www/librewolf/distinfo,v
diff -u -p -u -p -r1.15.2.1 distinfo
--- distinfo    8 Oct 2026 08:48:50 -0000       1.15.2.1
+++ distinfo    30 Oct 2026 14:51:05 -0000
@@ -1,4 +1,4 @@
-SHA256 (mozilla/firefox-157.0.source-profdata.tar.xz) = 
lwkzOiqkOrreLbO+tEnGwySn0Mb2+W4bNQBL39D/7/c=
-SHA256 (mozilla/librewolf-157.0-1.source.tar.gz) = 
vqPMfFfz+4ko1YOgYDsPQBMLAvZi4DJ0Y0WlHg9V/7M=
-SIZE (mozilla/firefox-157.0.source-profdata.tar.xz) = 18900828
-SIZE (mozilla/librewolf-157.0-1.source.tar.gz) = 1178691023
+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
Index: files/mozconfig
===================================================================
RCS file: files/mozconfig
diff -N files/mozconfig
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ files/mozconfig     30 Oct 2026 14:51:05 -0000
@@ -0,0 +1,62 @@
+# %%VARIABLE%% is replaced with a string set by the
+# OpenBSD port Makefile at build time. In addition to
+# these changes, the LibreWolf OpenBSD port Makefile
+# inserts conditional changes at build-time.
+
+ac_add_options --enable-application=browser
+
+ac_add_options --disable-crashreporter
+# OpenBSD configures this in the port Makefile:
+# ac_add_options --disable-debug
+ac_add_options --disable-default-browser-agent
+# OpenBSD configures this in the port Makefile:
+# ac_add_options --disable-tests
+ac_add_options --disable-updater
+ac_add_options --disable-cargo-incremental
+ac_add_options --enable-update-channel=release
+ac_add_options --enable-hardening
+ac_add_options --enable-stl-hardening
+ac_add_options --enable-optimize
+ac_add_options --enable-release
+ac_add_options --enable-rust-simd
+ac_add_options --enable-proxy-bypass-protection
+# allow replacing malloc manually, will not affect regular systems
+# not compatible with ac_add_options --disable-jemalloc, which only works when 
preloading custom malloc
+# NOTE: mozjemalloc is broken on OpenBSD, so we disable it there.
+# ac_add_options --enable-replace-malloc
+# ac_add_options --enable-jemalloc
+
+ac_add_options --with-app-name=librewolf
+ac_add_options --with-branding=browser/branding/librewolf
+
+ac_add_options --with-l10n-base=$PWD/lw/l10n
+
+export MOZ_TELEMETRY_REPORTING=
+export MOZ_REQUIRE_SIGNING=
+export MOZILLA_OFFICIAL=1
+export MOZ_APP_REMOTINGNAME=LibreWolf
+export MOZ_PKG_VERSION=
+
+mk_add_options MOZ_CRASHREPORTER=0
+mk_add_options MOZ_DATA_REPORTING=0
+mk_add_options MOZ_SERVICES_HEALTHREPORT=0
+mk_add_options MOZ_TELEMETRY_REPORTING=0
+
+export CFLAGS="-ftrivial-auto-var-init=zero -fwrapv -Wno-backend-plugin 
$CFLAGS"
+export CXXFLAGS="-ftrivial-auto-var-init=zero -fwrapv -Wno-backend-plugin 
$CXXFLAGS"
+# Uncommented and populated for the ports system
+export LDFLAGS="$LDFLAGS"
+
+# Add your own stuff, libraries, architecture, etc..
+# ex: `cat mozconfig.orig mozconfig.my > mozconfig`
+
+# OpenBSD uses e.g. -fno-ret-protector
+export CPPFLAGS="$CPPFLAGS"
+
+ac_add_options --prefix=%%PREFIX%%
+ac_add_options --enable-sandbox
+ac_add_options --enable-forkserver
+ac_add_options --with-wasi-sysroot=%%LOCALBASE%%/share/wasi-sysroot
+
+# ff/lw >= 46 defaults to gtk+3
+ac_add_options --enable-default-toolkit=cairo-gtk3
Index: patches/patch-config_makefiles_rust_mk
===================================================================
RCS file: patches/patch-config_makefiles_rust_mk
diff -N patches/patch-config_makefiles_rust_mk
--- patches/patch-config_makefiles_rust_mk      1 Sep 2026 16:18:18 -0000       
1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -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
-@@ -91,7 +91,8 @@ ifeq (,$(RUST_SANCOV_FLAGS))
- # Never enable when coverage is enabled to work around 
https://github.com/rust-lang/rust/issues/90045.
- ifndef MOZ_CODE_COVERAGE
- ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
--cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
-+cargo_rustc_flags += -Clto=thin
-+export CARGO_PROFILE_RELEASE_LTO=thin
- endif
- # We need -Cembed-bitcode=yes for all crates when using -Clto.
- RUSTFLAGS += -Cembed-bitcode=yes
Index: patches/patch-js_src_gc_Memory_cpp
===================================================================
RCS file: patches/patch-js_src_gc_Memory_cpp
diff -N patches/patch-js_src_gc_Memory_cpp
--- patches/patch-js_src_gc_Memory_cpp  8 Oct 2026 08:48:50 -0000       1.1.2.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -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
-@@ -532,6 +532,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);
- }
Index: patches/patch-js_src_gc_Memory_h
===================================================================
RCS file: patches/patch-js_src_gc_Memory_h
diff -N patches/patch-js_src_gc_Memory_h
--- patches/patch-js_src_gc_Memory_h    8 Oct 2026 08:48:50 -0000       1.1.2.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -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();
Index: patches/patch-js_src_wasm_WasmStacks_cpp
===================================================================
RCS file: patches/patch-js_src_wasm_WasmStacks_cpp
diff -N patches/patch-js_src_wasm_WasmStacks_cpp
--- patches/patch-js_src_wasm_WasmStacks_cpp    8 Oct 2026 08:48:50 -0000       
1.1.2.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -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
-@@ -874,7 +874,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;
-   }
Index: patches/patch-lw_policies_json
===================================================================
RCS file: patches/patch-lw_policies_json
diff -N patches/patch-lw_policies_json
--- patches/patch-lw_policies_json      30 Aug 2026 19:17:10 -0000      1.7
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,81 +0,0 @@
-perhaps send these to librewolf upstream as well
-
-Index: lw/policies.json
---- lw/policies.json.orig
-+++ lw/policies.json
-@@ -1,26 +1,47 @@
- {
-     "__COMMENT__ More Information": 
"https://github.com/mozilla/policy-templates/blob/master/README.md";,
-     "policies": {
--        "AIControls": {
-+
-+      "GenerativeAI": {
-+        "Enabled": false,
-+        "Chatbot": false,
-+        "LinkPreviews": false,
-+        "TabGroups": false,
-+        "Locked": true
-+      },
-+      "AIControls": {
-+            "Default": {
-+              "Value": "blocked",
-+              "Locked": true
-+            },
-             "Translations": {
--                "Value": "available"
-+              "Value": "blocked",
-+              "Locked": false
-             },
-             "PDFAltText": {
--                "Value": "blocked"
-+              "Value": "blocked",
-+              "Locked": false
-             },
-             "SmartTabGroups": {
--                "Value": "blocked"
-+              "Value": "blocked",
-+              "Locked": true
-             },
-             "LinkPreviewKeyPoints": {
--                "Value": "blocked"
-+              "Value": "blocked",
-+              "Locked": true
-             },
-             "SidebarChatbot": {
--                "Value": "blocked"
-+              "Value": "blocked",
-+              "Locked": true
-             },
-             "SmartWindow": {
--                "Value": "blocked"
-+              "Value": "blocked",
-+              "Locked": true
-             }
--        },
-+
-+          },
-+
-+
-         "AppUpdateURL": "https://localhost";,
-         "DisableAppUpdate": true,
-         "DisableDefaultBrowserAgent": true,
-@@ -73,6 +94,7 @@
-             "EnablePrompting": true
-         },
-         "NoDefaultBookmarks": true,
-+        "GoToIntranetSiteForSingleWordEntryInAddressBar": true,
-         "OverridePostUpdatePage": "",
-         "SkipTermsOfUse": true,
-         "SupportMenu": {
-@@ -84,6 +106,11 @@
-             "SkipOnboarding": true,
-             "MoreFromMozilla": false,
-             "FirefoxLabs": false
-+        },
-+        "SearchEngines": {
-+          "Remove": [
-+            "Perplexity"
-+          ]
-         }
-     }
- }
Index: patches/patch-mozconfig
===================================================================
RCS file: patches/patch-mozconfig
diff -N patches/patch-mozconfig
--- patches/patch-mozconfig     1 Sep 2026 16:18:18 -0000       1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,64 +0,0 @@
-OpenBSD-specific build-time configuration for the LibreWolf Web Browser port
-
-The mozconfig is conditionally modified at build time, by the OpenBSD LibreWolf
-port Makefile, e.g. add --enable-dbus if MOZILLA_USE_DBUS is set.
-
-Makefile-based configuration is done in pre-configure, on a copy of mozconfig
-created when the build is first conducted. The originally patched mozconfig is
-restored on re-builds, matching what was produced by this patch.
-
-Index: mozconfig
---- mozconfig.orig
-+++ mozconfig
-@@ -1,9 +1,16 @@
-+# %%VARIABLE%% is replaced with a string set by the
-+# OpenBSD port Makefile at build time. In addition to
-+# these changes, the LibreWolf OpenBSD port Makefile
-+# inserts conditional changes at build-time.
-+
- ac_add_options --enable-application=browser
- 
- ac_add_options --disable-crashreporter
--ac_add_options --disable-debug
-+# OpenBSD configures this in the port Makefile:
-+# ac_add_options --disable-debug
- ac_add_options --disable-default-browser-agent
--ac_add_options --disable-tests
-+# OpenBSD configures this in the port Makefile:
-+# ac_add_options --disable-tests
- ac_add_options --disable-updater
- ac_add_options --disable-cargo-incremental
- ac_add_options --enable-hardening
-@@ -13,8 +20,9 @@ ac_add_options --enable-release
- ac_add_options --enable-rust-simd
- # allow replacing malloc manually, will not affect regular systems
- # not compatible with ac_add_options --disable-jemalloc, which only works 
when preloading custom malloc
--ac_add_options --enable-replace-malloc
--ac_add_options --enable-jemalloc
-+# NOTE: mozjemalloc is broken on OpenBSD, so we disable it there.
-+# ac_add_options --enable-replace-malloc
-+# ac_add_options --enable-jemalloc
- 
- ac_add_options --with-app-name=librewolf
- ac_add_options --with-branding=browser/branding/librewolf
-@@ -33,7 +41,19 @@ mk_add_options MOZ_TELEMETRY_REPORTING=0
- 
- export CFLAGS="-ftrivial-auto-var-init=zero -fwrapv -Wno-backend-plugin 
$CFLAGS"
- export CXXFLAGS="-ftrivial-auto-var-init=zero -fwrapv -Wno-backend-plugin 
$CXXFLAGS"
--#export LDFLAGS=
-+# Uncommented and populated for the ports system
-+export LDFLAGS="$LDFLAGS"
- 
- # Add your own stuff, libraries, architecture, etc..
- # ex: `cat mozconfig.orig mozconfig.my > mozconfig`
-+
-+# OpenBSD uses e.g. -fno-ret-protector
-+export CPPFLAGS="$CPPFLAGS"
-+
-+ac_add_options --prefix=%%PREFIX%%
-+ac_add_options --enable-sandbox
-+ac_add_options --enable-forkserver
-+ac_add_options --with-wasi-sysroot=%%LOCALBASE%%/share/wasi-sysroot
-+
-+# ff/lw >= 46 defaults to gtk+3
-+ac_add_options --enable-default-toolkit=cairo-gtk3
Index: patches/patch-python_mozbuild_mozbuild_rust_commands_py
===================================================================
RCS file: patches/patch-python_mozbuild_mozbuild_rust_commands_py
diff -N patches/patch-python_mozbuild_mozbuild_rust_commands_py
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-python_mozbuild_mozbuild_rust_commands_py     30 Oct 2026 
14:51:05 -0000
@@ -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
+ 
Index: patches/patch-security_nss_lib_nss_nss_h
===================================================================
RCS file: patches/patch-security_nss_lib_nss_nss_h
diff -N patches/patch-security_nss_lib_nss_nss_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-security_nss_lib_nss_nss_h    30 Oct 2026 14:51:05 -0000
@@ -0,0 +1,15 @@
+Index: security/nss/lib/nss/nss.h
+--- security/nss/lib/nss/nss.h.orig
++++ security/nss/lib/nss/nss.h
+@@ -22,9 +22,9 @@
+  * The format of the version string should be
+  *     "<major version>.<minor version>[.<patch level>[.<build number>]][ 
<ECC>][ <Beta>]"
+  */
+-#define NSS_VERSION "3.131" _NSS_CUSTOMIZED
++#define NSS_VERSION "3.130" _NSS_CUSTOMIZED
+ #define NSS_VMAJOR 3
+-#define NSS_VMINOR 131
++#define NSS_VMINOR 130
+ #define NSS_VPATCH 0
+ #define NSS_VBUILD 0
+ #define NSS_BETA PR_FALSE
Index: patches/patch-third_party_llama_cpp_moz_build
===================================================================
RCS file: 
/cvs/ports/www/librewolf/patches/patch-third_party_llama_cpp_moz_build,v
diff -u -p -u -p -r1.1 patch-third_party_llama_cpp_moz_build
--- patches/patch-third_party_llama_cpp_moz_build       28 Aug 2026 19:04:38 
-0000      1.1
+++ patches/patch-third_party_llama_cpp_moz_build       30 Oct 2026 14:51:05 
-0000
@@ -17,7 +17,7 @@ Example error at compile time:
 Index: third_party/llama.cpp/moz.build
 --- third_party/llama.cpp/moz.build.orig
 +++ third_party/llama.cpp/moz.build
-@@ -135,6 +135,18 @@ if CONFIG["OS_TARGET"] == "Linux":
+@@ -174,6 +174,18 @@ if CONFIG["OS_TARGET"] == "Linux":
    OS_LIBS += [
        "dl",
    ]

Attachment: librewolf-159.0-1_stable.diff
Description: Binary data

Reply via email to