From 4083aa2a33bbfa0b7fb97c2f80250ca1ca75a3a3 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Sun, 30 Aug 2026 20:51:18 +0100 Subject: [PATCH 1/1] www/librewolf: enable speed optimisations use firefox PGO data, matched to the corresponding firefox version (154.0.1) matching librewolf 154.0.1-3. although librewolf doesn't provide PGO data, the two codebases are so similar that using PGO for speed optimisation will work on areas of the code that remain untouched by librewolf, which is most of the code. i've re-added the rust simd build option, which is fine so long as you keep both librewolf and rustc/cargo up to date in the ports system. i initially removed this option during development of the port, and i was often using older versions of librewolf or its libraries, which includes rust libraries, which sometimes caused build errors that removing this option mitigated. for regular ports maintenance, it is best that this option remains enabled as it enables a nice performance boost for users in certain workloads. Signed-off-by: Leah Rowe --- www/librewolf/Makefile | 9 ++++++++- www/librewolf/distinfo | 2 ++ www/librewolf/patches/patch-mozconfig | 12 ++++-------- www/mozilla/mozilla.port.mk | 2 +- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/www/librewolf/Makefile b/www/librewolf/Makefile index ba70810ef68..6058e04cdf4 100644 --- a/www/librewolf/Makefile +++ b/www/librewolf/Makefile @@ -15,12 +15,19 @@ ONLY_FOR_ARCHS = amd64 aarch64 riscv64 # librewolf-149.0.2-2 (upstream) becomes librewolf-149.0.2pl2 (patch level 2) MOZILLA_DIST_VERSION = 154.0.1-3 MOZILLA_VERSION = ${MOZILLA_DIST_VERSION:C/-([0-9]+)$/pl\1/} -REVISION = 0 +REVISION = 1 MOZILLA_PROJECT = librewolf MOZILLA_CODENAME = browser MAINTAINER = Leah Rowe +# LibreWolf doesn't provide PGO data, but we use the data +# provided by FireFox releases, re-using the OpenBSD distfile +MOZILLA_PROFDATA_TASKID = bR-VI2yqTky87DcaKP4BRQ +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 = 3.0 # Bump minor ver if shlibs deleted in components dir to avoid pkg_add -r issues diff --git a/www/librewolf/distinfo b/www/librewolf/distinfo index a9b3cc0a0e6..5a98137d487 100644 --- a/www/librewolf/distinfo +++ b/www/librewolf/distinfo @@ -1,2 +1,4 @@ +SHA256 (librewolf/firefox-154.0.1.source-profdata.tar.xz) = BrlSCR20VLpGVd9ypwbr2A44WUherRdCu9EpR4ZJPT8= SHA256 (librewolf/librewolf-154.0.1-3.source.tar.gz) = /ubKrDD5r/bf2P6GjOhDYCsDwwcmCchv9/xsF8OXpsw= +SIZE (librewolf/firefox-154.0.1.source-profdata.tar.xz) = 18840512 SIZE (librewolf/librewolf-154.0.1-3.source.tar.gz) = 1175015645 diff --git a/www/librewolf/patches/patch-mozconfig b/www/librewolf/patches/patch-mozconfig index 011bd84fadf..51454968286 100644 --- a/www/librewolf/patches/patch-mozconfig +++ b/www/librewolf/patches/patch-mozconfig @@ -10,7 +10,7 @@ restored on re-builds, matching what was produced by this patch. Index: mozconfig --- mozconfig.orig +++ mozconfig -@@ -1,20 +1,29 @@ +@@ -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 @@ -29,12 +29,8 @@ Index: mozconfig ac_add_options --disable-updater ac_add_options --disable-cargo-incremental 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 -+# Rust SIMD option causes build errors on OpenBSD: -+# ac_add_options --enable-rust-simd +@@ -13,8 +20,9 @@ + 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 @@ -45,7 +41,7 @@ Index: mozconfig ac_add_options --with-app-name=librewolf ac_add_options --with-branding=browser/branding/librewolf -@@ -33,7 +42,19 @@ +@@ -33,7 +41,19 @@ export CFLAGS="-ftrivial-auto-var-init=zero -fwrapv -Wno-backend-plugin $CFLAGS" export CXXFLAGS="-ftrivial-auto-var-init=zero -fwrapv -Wno-backend-plugin $CXXFLAGS" diff --git a/www/mozilla/mozilla.port.mk b/www/mozilla/mozilla.port.mk index b583e5af521..68e7bc78668 100644 --- a/www/mozilla/mozilla.port.mk +++ b/www/mozilla/mozilla.port.mk @@ -53,7 +53,7 @@ EXTRACT_SUFX ?= .tar.xz DIST_SUBDIR ?= mozilla .if defined(MOZILLA_PROFDATA_TASKID) -DISTFILES.profdata = ${DISTNAME}-profdata${EXTRACT_SUFX}{profdata${EXTRACT_SUFX}} +DISTFILES.profdata ?= ${DISTNAME}-profdata${EXTRACT_SUFX}{profdata${EXTRACT_SUFX}} SITES.profdata = https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/${MOZILLA_PROFDATA_TASKID}/runs/0/artifacts/public/build/ .if ${MACHINE_ARCH:Mamd64} CONFIGURE_ARGS += --enable-profile-use -- 2.55.0