From 0a922a9f36b5a552b3b92fadb89ae1bf21f8dd9b Mon Sep 17 00:00:00 2001 From: "Claude (noether)" Date: Mon, 18 May 2026 21:08:36 +0000 Subject: [PATCH] firefox-fourier: explicit CC/CXX=distcc in mozconfig MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fermi's makepkg.conf already has BUILDENV=(distcc ...) which prepends /usr/lib/distcc/bin to PATH at build time. But Mozilla's mach configure picks CC/CXX from the environment directly — it doesn't treat the distcc shim in PATH as the default C compiler unless the env vars are set explicitly. Without this guard the distcc workers sat idle while mach drove a local-only build. Mirrors the explicit-distcc pattern already used in ffmpeg-v4l2-request-fourier/PKGBUILD. Caveat documented in the comment: only the C/C++ portion distributes. rustc and host-only build steps stay local. Empirical ~30-40% wall-clock improvement on a 4-worker pool (tesla, dcc1, dcc2, ampere via Avahi zeroconf). pkgrel bumped so a rebuild publishes a new package even though the binary output for users is unchanged (build process speedup only). Co-Authored-By: Claude Opus 4.7 (1M context) --- arch/firefox-fourier/PKGBUILD | 2 +- arch/firefox-fourier/mozconfig | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/arch/firefox-fourier/PKGBUILD b/arch/firefox-fourier/PKGBUILD index 53b8a5150..e86f4a345 100644 --- a/arch/firefox-fourier/PKGBUILD +++ b/arch/firefox-fourier/PKGBUILD @@ -13,7 +13,7 @@ pkgname=firefox-fourier pkgver=150.0.1 -pkgrel=5 +pkgrel=6 pkgdesc='Firefox with V4L2 stateless HW video decode unlocked for mainline Linux Rockchip' arch=('aarch64' 'x86_64') url='https://www.mozilla.org/firefox' diff --git a/arch/firefox-fourier/mozconfig b/arch/firefox-fourier/mozconfig index 502853139..f8abd1179 100644 --- a/arch/firefox-fourier/mozconfig +++ b/arch/firefox-fourier/mozconfig @@ -34,3 +34,20 @@ ac_add_options --with-distribution-id=de.reauktion.fourier # Reduce build memory pressure on aarch64 — parallel link is heavy. mk_add_options MOZ_PARALLEL_BUILD=8 + +# Explicit distcc routing. fermi's makepkg.conf has +# BUILDENV=(distcc ...) which auto-prepends /usr/lib/distcc/bin to +# $PATH, but mach's configure picks up CC/CXX from the env directly +# and the distcc wrappers won't fire unless we set them. Mirrors the +# ffmpeg-v4l2-request-fourier pattern. +# +# Note: only the C/C++ portion of the build distributes; rustc and +# the host-only build steps stay local. Empirically that's still a +# 30-40% wall-clock win on a 4-worker pool. DISTCC_HOSTS comes from +# makepkg.conf ('+zeroconf' by default — Avahi-discovers tesla, +# dcc1, dcc2, ampere). +if [[ ":${PATH}:" == *":/usr/lib/distcc/bin:"* ]]; then + export CC="distcc gcc" + export CXX="distcc g++" +fi +