i am mildly concerned, because wouldn't pkg_add see the same version numbers in -stable and -current, and not update if the user switches to -current? or am i wrong?
abi differences (kernel in openbsd doesn't guarantee abi stability unlike linux) between stable and current are such that this would concern me
i'm sure someone answered this a million times, and i have nothing to worry about, but i would like to know. it was unclear to me how that worked, looking at the ports infrastructure.
Am 31.10.26 um 06:26 schrieb [email protected]:
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, UKAlright 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-goingMOZCONFIG = ${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", ]
-- Company director, Minifree Ltd Registered in England, No. 9361826 | VAT No. GB202190462 Registered Office: 19 Hilton Road, Canvey Island, Essex SS8 9QA, UK
OpenPGP_0x5C654067D383B1FF.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
