Hi, Below is a diff that updates Tor Browser to 12.0a4. The diff is a bit big since upstream shuffled some stuff around (in particular related to Tor Launcher). Tested on amd64.
Comments or OKs? Caspar -- Tor Browser: update to 12.0a4 Better way of handling alpha release version numbers from landry@. Add back Xrandr to WANTLIB; based on email from Josh Grosse. OK ... -- Index: meta/tor-browser/Makefile =================================================================== RCS file: /cvs/ports/meta/tor-browser/Makefile,v retrieving revision 1.61 diff -u -p -r1.61 Makefile --- meta/tor-browser/Makefile 27 Oct 2022 17:37:13 -0000 1.61 +++ meta/tor-browser/Makefile 13 Nov 2022 19:17:51 -0000 @@ -2,10 +2,10 @@ COMMENT= Tor Browser meta package MAINTAINER= Caspar Schutijser <cas...@schutijser.com> -PKGNAME= tor-browser-12.0alpha3 +PKGNAME= tor-browser-12.0alpha4 ONLY_FOR_ARCHS = amd64 -RUN_DEPENDS= www/tor-browser/browser>=12.0alpha3 \ +RUN_DEPENDS= www/tor-browser/browser>=12.0alpha4 \ www/tor-browser/noscript>=11.4.11 \ net/tor>=0.4.7.10 Index: www/tor-browser/Makefile.inc =================================================================== RCS file: /cvs/ports/www/tor-browser/Makefile.inc,v retrieving revision 1.58 diff -u -p -r1.58 Makefile.inc --- www/tor-browser/Makefile.inc 27 Oct 2022 17:37:13 -0000 1.58 +++ www/tor-browser/Makefile.inc 13 Nov 2022 19:17:51 -0000 @@ -3,7 +3,7 @@ HOMEPAGE ?= https://www.torproject.org PERMIT_PACKAGE ?= Yes CATEGORIES = www BROWSER_NAME = tor-browser -TB_VERSION = 12.0a3 +TB_VERSION = 12.0a4 TB_PREFIX = tb SUBST_VARS += BROWSER_NAME TB_VERSION Index: www/tor-browser/browser/Makefile =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/Makefile,v retrieving revision 1.93 diff -u -p -r1.93 Makefile --- www/tor-browser/browser/Makefile 28 Oct 2022 10:00:48 -0000 1.93 +++ www/tor-browser/browser/Makefile 13 Nov 2022 19:17:51 -0000 @@ -13,16 +13,12 @@ TL_VERSION = 0.2.39 EXTRACT_SUFX = .tar.xz PATCHORIG = .pat.orig -# XXX -#PKGNAME = ${TB_PREFIX}-browser-${TB_VERSION} -PKGNAME = ${TB_PREFIX}-browser-12.0alpha3 -DISTNAME = src-firefox-tor-browser-102.3.0esr-12.0-1-build2 -REVISION = 0 +PKGNAME = ${TB_PREFIX}-browser-${TB_VERSION:S/a/alpha/} +DISTNAME = src-firefox-tor-browser-102.4.0esr-12.0-2-build1 FIX_EXTRACT_PERMISSIONS = Yes DISTFILES += ${DISTNAME}.tar.xz \ - src-tor-launcher-${TL_VERSION}.tar.xz \ - tor-browser-linux64-${TB_VERSION}_en-US.tar.xz + tor-browser-linux64-${TB_VERSION}_ALL.tar.xz SO_VERSION = 8.0 MOZILLA_LIBS = xul clearkey lgpllibs mozavcodec mozavutil mozgtk @@ -57,7 +53,7 @@ BUILD_DEPENDS += lang/wasi-sdk/compiler- # uses pledge() # Extra: Xcomposite.4 Xdamage.4 Xfixes.6 gdk-x11-2.0.2400 gtk-x11-2.0.2400 -WANTLIB += Xt gthread-2.0 pangoft2-1.0 +WANTLIB += Xrandr Xt gthread-2.0 pangoft2-1.0 # Regression tests are too hard to adapt to run here NO_TEST = Yes @@ -96,9 +92,7 @@ DEBUG_CONFIGURE_ARGS += --enable-debug-s --disable-install-strip post-extract: - mv ${WRKDIR}/tor-browser_en-US ${WRKSRC} - mv ${WRKDIR}/tor-launcher-${TL_VERSION}/ \ - ${WRKSRC}/browser/extensions/tor-launcher + mv ${WRKDIR}/tor-browser ${WRKSRC}/tor-browser-linux64/ post-patch: # hack config/baseconfig.mk to not use MOZ_APP_VERSION in a few places @@ -107,7 +101,7 @@ post-patch: # drop in sh front end to configure.py so CONFIGURE_STYLE=simple works ${SUBST_PROGRAM} ${FILESDIR}/configure ${WRKSRC}/configure ${SUBST_PROGRAM} ${FILESDIR}/configure ${WRKSRC}/js/src/configure - ${SUBST_CMD} ${WRKSRC}/browser/extensions/tor-launcher/src/defaults/preferences/torlauncher-prefs.js + ${SUBST_CMD} ${WRKSRC}/browser/app/profile/000-tor-browser.js # Not using a patch for this; patch context would contain UTF-8 sed -i 's/#ifdef XP_LINUX/#if defined(XP_LINUX) || defined(XP_OPENBSD)/' \ ${WRKSRC}/browser/app/profile/000-tor-browser.js @@ -158,10 +152,10 @@ post-install: # install fonts.conf and fonts ${INSTALL_DATA_DIR} ${BROWSER_DIR}/browser/fontconfig ${SUBST_DATA} \ - ${WRKSRC}/tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf \ + ${WRKSRC}/tor-browser-linux64/Browser/TorBrowser/Data/fontconfig/fonts.conf \ ${BROWSER_DIR}/browser/fontconfig/fonts.conf ${INSTALL_DATA_DIR} ${BROWSER_DIR}/browser/fonts - cp ${WRKSRC}/tor-browser_en-US/Browser/fonts/* \ + cp ${WRKSRC}/tor-browser-linux64/Browser/fonts/* \ ${BROWSER_DIR}/browser/fonts # install wrapper script (remove symlink first) Index: www/tor-browser/browser/distinfo =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/distinfo,v retrieving revision 1.56 diff -u -p -r1.56 distinfo --- www/tor-browser/browser/distinfo 27 Oct 2022 17:37:13 -0000 1.56 +++ www/tor-browser/browser/distinfo 13 Nov 2022 19:17:51 -0000 @@ -1,6 +1,4 @@ -SHA256 (mozilla/src-firefox-tor-browser-102.3.0esr-12.0-1-build2.tar.xz) = DKDsS/d5QHBPrM35Pofmpr2A5rK0KYV2XgNBObB3Qcg= -SHA256 (mozilla/src-tor-launcher-0.2.39.tar.xz) = w9zcO9aM433DWvGQeHuR3ea9yEqsxG3ttzjqIcxME68= -SHA256 (mozilla/tor-browser-linux64-12.0a3_en-US.tar.xz) = qEHwPxZouA6Of6c0zWUWHKbNLHpibI+TuOZe9wijwa0= -SIZE (mozilla/src-firefox-tor-browser-102.3.0esr-12.0-1-build2.tar.xz) = 511983476 -SIZE (mozilla/src-tor-launcher-0.2.39.tar.xz) = 262744 -SIZE (mozilla/tor-browser-linux64-12.0a3_en-US.tar.xz) = 113342676 +SHA256 (mozilla/src-firefox-tor-browser-102.4.0esr-12.0-2-build1.tar.xz) = 1ECZ70MRsUn8eXatwlHYYFTcnjjprRTeHEmw7VroErk= +SHA256 (mozilla/tor-browser-linux64-12.0a4_ALL.tar.xz) = oIxPAh+U3uw//SUlNSPyLLRpLcyg+Wk+RmdQDpFiwLA= +SIZE (mozilla/src-firefox-tor-browser-102.4.0esr-12.0-2-build1.tar.xz) = 512227588 +SIZE (mozilla/tor-browser-linux64-12.0a4_ALL.tar.xz) = 110950112 Index: www/tor-browser/browser/files/unveil.main =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/files/unveil.main,v retrieving revision 1.6 diff -u -p -r1.6 unveil.main --- www/tor-browser/browser/files/unveil.main 27 Oct 2022 17:37:13 -0000 1.6 +++ www/tor-browser/browser/files/unveil.main 13 Nov 2022 19:17:51 -0000 @@ -13,6 +13,7 @@ # normally "pledge dns" exempts this from unveil, but pledge might be disabled /etc/resolv.conf r +/usr/local/bin/tor rx /usr/local/lib r /usr/local/lib/tor-browser rx /usr/local/share r Index: www/tor-browser/browser/patches/patch-browser_app_profile_000-tor-browser_js =================================================================== RCS file: www/tor-browser/browser/patches/patch-browser_app_profile_000-tor-browser_js diff -N www/tor-browser/browser/patches/patch-browser_app_profile_000-tor-browser_js --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-browser_app_profile_000-tor-browser_js 13 Nov 2022 19:17:51 -0000 @@ -0,0 +1,26 @@ +Set all path-related prefs to minimize patching of tl-util.jsm/tl-process.js + +Index: browser/app/profile/000-tor-browser.js +--- browser/app/profile/000-tor-browser.js.orig ++++ browser/app/profile/000-tor-browser.js +@@ -132,14 +132,17 @@ pref("extensions.torlauncher.socks_port_flags", "Exten + // The tor_path is relative to the application directory. On Linux and + // Windows this is the Browser/ directory that contains the firefox + // executables, and on Mac OS it is the TorBrowser.app directory. +-pref("extensions.torlauncher.tor_path", ""); ++pref("extensions.torlauncher.tor_path", "${LOCALBASE}/bin/tor"); ++pref("extensions.torlauncher.torrc-defaults_path", "${LOCALBASE}/share/tor-browser/torrc-defaults"); ++pref("extensions.torlauncher.geoip_path", "${LOCALBASE}/share/tor/geoip"); ++pref("extensions.torlauncher.geoip6_path", "${LOCALBASE}/share/tor/geoip6"); + + // The torrc_path and tordatadir_path are relative to the data directory, + // which is TorBrowser-Data/ if it exists as a sibling of the application + // directory. If TorBrowser-Data/ does not exist, these paths are relative + // to the TorBrowser/ directory within the application directory. +-pref("extensions.torlauncher.torrc_path", ""); +-pref("extensions.torlauncher.tordatadir_path", ""); ++pref("extensions.torlauncher.torrc_path", "torrc"); ++pref("extensions.torlauncher.tordatadir_path", "tor_data"); + + // BridgeDB-related preferences (used for Moat). + pref("extensions.torlauncher.bridgedb_front", "cdn.sstatic.net"); Index: www/tor-browser/browser/patches/patch-browser_config_mozconfigs_base-browser =================================================================== RCS file: /cvs/ports/www/tor-browser/browser/patches/patch-browser_config_mozconfigs_base-browser,v retrieving revision 1.1 diff -u -p -r1.1 patch-browser_config_mozconfigs_base-browser --- www/tor-browser/browser/patches/patch-browser_config_mozconfigs_base-browser 29 Jul 2022 20:20:10 -0000 1.1 +++ www/tor-browser/browser/patches/patch-browser_config_mozconfigs_base-browser 13 Nov 2022 19:17:51 -0000 @@ -3,6 +3,10 @@ means we can not pass --disable-eme to c Don't use --enable-rust-simd, fails to build. +Remove $WASI_SYSROOT test, it breaks the build for us. Not sure if the test +is relevant for us. Was added upstream in +https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41406 + Index: browser/config/mozconfigs/base-browser --- browser/config/mozconfigs/base-browser.orig +++ browser/config/mozconfigs/base-browser @@ -28,3 +32,11 @@ Index: browser/config/mozconfigs/base-br ac_add_options --enable-proxy-bypass-protection # See bugs #30575 and #32418: system policies are harmful either because they # could allow proxy bypass, and override a number of other preferences we set +@@ -37,7 +37,3 @@ ac_add_options --enable-base-browser + + # Disable telemetry + ac_add_options MOZ_TELEMETRY_REPORTING= +- +-if test -z "$WASI_SYSROOT"; then +- ac_add_options --without-wasm-sandboxed-libraries +-fi Index: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_components_tl-process_js =================================================================== RCS file: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_components_tl-process_js diff -N www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_components_tl-process_js --- www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_components_tl-process_js 27 Oct 2022 17:37:13 -0000 1.9 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,36 +0,0 @@ -Let geoip/geoip6 file paths be set by prefs like everything else and let -the new getTorFile() deal with it. - -Index: browser/extensions/tor-launcher/src/components/tl-process.js ---- browser/extensions/tor-launcher/src/components/tl-process.js.orig -+++ browser/extensions/tor-launcher/src/components/tl-process.js -@@ -388,6 +388,8 @@ TorProcessService.prototype = - var torrcFile = TorLauncherUtil.getTorFile("torrc", true); - var torrcDefaultsFile = - TorLauncherUtil.getTorFile("torrc-defaults", false); -+ var geoipFile = TorLauncherUtil.getTorFile("geoip", false); -+ var geoip6File = TorLauncherUtil.getTorFile("geoip6", false); - var hashedPassword = this.mProtocolSvc.TorGetPassword(true); - var controlIPCFile = this.mProtocolSvc.TorGetControlIPCFile(); - var controlPort = this.mProtocolSvc.TorGetControlPort(); -@@ -415,19 +417,14 @@ TorProcessService.prototype = - return; - } - -- // The geoip and geoip6 files are in the same directory as torrc-defaults. -- var geoipFile = torrcDefaultsFile.clone(); -- geoipFile.leafName = "geoip"; - -- var geoip6File = torrcDefaultsFile.clone(); -- geoip6File.leafName = "geoip6"; -- - var args = []; - if (torrcDefaultsFile) - { - args.push("--defaults-torrc"); - args.push(torrcDefaultsFile.path); - } -+ args.push("--ignore-missing-torrc"); - args.push("-f"); - args.push(torrcFile.path); - args.push("DataDirectory"); Index: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_defaults_preferences_torlauncher-prefs_js =================================================================== RCS file: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_defaults_preferences_torlauncher-prefs_js diff -N www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_defaults_preferences_torlauncher-prefs_js --- www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_defaults_preferences_torlauncher-prefs_js 9 Mar 2022 20:48:33 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,26 +0,0 @@ -Set all path-related prefs to minimize patching of tl-util.jsm/tl-process.js - -Index: browser/extensions/tor-launcher/src/defaults/preferences/torlauncher-prefs.js ---- browser/extensions/tor-launcher/src/defaults/preferences/torlauncher-prefs.js.orig -+++ browser/extensions/tor-launcher/src/defaults/preferences/torlauncher-prefs.js -@@ -44,14 +44,17 @@ pref("extensions.torlauncher.socks_port_flags", "Exten - // The tor_path is relative to the application directory. On Linux and - // Windows this is the Browser/ directory that contains the firefox - // executables, and on Mac OS it is the TorBrowser.app directory. --pref("extensions.torlauncher.tor_path", ""); -+pref("extensions.torlauncher.tor_path", "${LOCALBASE}/bin/tor"); -+pref("extensions.torlauncher.torrc-defaults_path", "${LOCALBASE}/share/tor-browser/torrc-defaults"); -+pref("extensions.torlauncher.geoip_path", "${LOCALBASE}/share/tor/geoip"); -+pref("extensions.torlauncher.geoip6_path", "${LOCALBASE}/share/tor/geoip6"); - - // The torrc_path and tordatadir_path are relative to the data directory, - // which is TorBrowser-Data/ if it exists as a sibling of the application - // directory. If TorBrowser-Data/ does not exist, these paths are relative - // to the TorBrowser/ directory within the application directory. --pref("extensions.torlauncher.torrc_path", ""); --pref("extensions.torlauncher.tordatadir_path", ""); -+pref("extensions.torlauncher.torrc_path", "torrc"); -+pref("extensions.torlauncher.tordatadir_path", "tor_data"); - - // BridgeDB-related preferences (used for Moat). - pref("extensions.torlauncher.bridgedb_front", "cdn.sstatic.net"); Index: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_modules_tl-util_jsm =================================================================== RCS file: www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_modules_tl-util_jsm diff -N www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_modules_tl-util_jsm --- www/tor-browser/browser/patches/patch-browser_extensions_tor-launcher_src_modules_tl-util_jsm 9 Mar 2022 20:48:33 -0000 1.4 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -Force DataOutsideOfAppDir on OpenBSD since it will always be true -(turned on in ../browser/patches/patch-patch-xpcom_io_TorFileUtils_cpp) - -Index: browser/extensions/tor-launcher/src/modules/tl-util.jsm ---- browser/extensions/tor-launcher/src/modules/tl-util.jsm.orig -+++ browser/extensions/tor-launcher/src/modules/tl-util.jsm -@@ -836,7 +836,7 @@ let TLUtilInternal = // Private - mStringBundle : null, - mOS : "", - // mIsUserDataOutsideOfAppDir is true when TorBrowser-Data is used. -- mIsUserDataOutsideOfAppDir: undefined, // Boolean (cached; access via -+ mIsUserDataOutsideOfAppDir: true, // Boolean (cached; access via - // this._isUserDataOutsideOfAppDir) - mAppDir: null, // nsIFile (cached; access via this._appDir) - mDataDir: null, // nsIFile (cached; access via this._dataDir) Index: www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorLauncherUtil_jsm =================================================================== RCS file: www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorLauncherUtil_jsm diff -N www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorLauncherUtil_jsm --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorLauncherUtil_jsm 13 Nov 2022 19:17:51 -0000 @@ -0,0 +1,15 @@ +Force DataOutsideOfAppDir on OpenBSD since it will always be true +(turned on in patch-xpcom_io_TorFileUtils_cpp). + +Index: toolkit/components/tor-launcher/TorLauncherUtil.jsm +--- toolkit/components/tor-launcher/TorLauncherUtil.jsm.orig ++++ toolkit/components/tor-launcher/TorLauncherUtil.jsm +@@ -31,7 +31,7 @@ class TorFile { + checkIPCPathLen = true; + + static _isFirstIPCPathRequest = true; +- static _isUserDataOutsideOfAppDir = undefined; ++ static _isUserDataOutsideOfAppDir = true; + static _dataDir = null; + static _appDir = null; + Index: www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorProcess_jsm =================================================================== RCS file: www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorProcess_jsm diff -N www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorProcess_jsm --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-toolkit_components_tor-launcher_TorProcess_jsm 13 Nov 2022 19:17:51 -0000 @@ -0,0 +1,34 @@ +Let geoip/geoip6 file paths be set by prefs like everything else and let +the new getTorFile() deal with it. + +Index: toolkit/components/tor-launcher/TorProcess.jsm +--- toolkit/components/tor-launcher/TorProcess.jsm.orig ++++ toolkit/components/tor-launcher/TorProcess.jsm +@@ -253,6 +253,8 @@ class TorProcess { + const torrcFile = TorLauncherUtil.getTorFile("torrc", true); + this._dataDir = TorLauncherUtil.getTorFile("tordatadir", true); + const onionAuthDir = TorLauncherUtil.getTorFile("toronionauthdir", true); ++ const geoipFile = TorLauncherUtil.getTorFile("geoip", false); ++ const geoip6File = TorLauncherUtil.getTorFile("geoip6", false); + const hashedPassword = TorProtocolService.torGetPassword(true); + let detailsKey; + if (!this._exeFile) { +@@ -281,17 +283,13 @@ class TorProcess { + "torrc-defaults", + false + ); +- // The geoip and geoip6 files are in the same directory as torrc-defaults. +- const geoipFile = torrcDefaultsFile.clone(); +- geoipFile.leafName = "geoip"; +- const geoip6File = torrcDefaultsFile.clone(); +- geoip6File.leafName = "geoip6"; + + this._args = []; + if (torrcDefaultsFile) { + this._args.push("--defaults-torrc"); + this._args.push(torrcDefaultsFile.path); + } ++ this._args.push("--ignore-missing-torrc"); + this._args.push("-f"); + this._args.push(torrcFile.path); + this._args.push("DataDirectory"); Index: www/tor-browser/browser/patches/patch-tor-browser-linux64_Browser_TorBrowser_Data_fontconfig_fonts_conf =================================================================== RCS file: www/tor-browser/browser/patches/patch-tor-browser-linux64_Browser_TorBrowser_Data_fontconfig_fonts_conf diff -N www/tor-browser/browser/patches/patch-tor-browser-linux64_Browser_TorBrowser_Data_fontconfig_fonts_conf --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ www/tor-browser/browser/patches/patch-tor-browser-linux64_Browser_TorBrowser_Data_fontconfig_fonts_conf 13 Nov 2022 19:17:51 -0000 @@ -0,0 +1,14 @@ +Set path to bundled fonts. + +Index: tor-browser-linux64/Browser/TorBrowser/Data/fontconfig/fonts.conf +--- tor-browser-linux64/Browser/TorBrowser/Data/fontconfig/fonts.conf.orig ++++ tor-browser-linux64/Browser/TorBrowser/Data/fontconfig/fonts.conf +@@ -39,7 +39,7 @@ PERFORMANCE OF THIS SOFTWARE. + + <!-- Font directory list --> + +- <dir>fonts</dir> ++ <dir>${TRUEBROWSER_DIR}/browser/fonts</dir> + + <!-- + Accept deprecated 'mono' alias, replacing it with 'monospace' Index: www/tor-browser/browser/patches/patch-tor-browser_en-US_Browser_TorBrowser_Data_fontconfig_fonts_conf =================================================================== RCS file: www/tor-browser/browser/patches/patch-tor-browser_en-US_Browser_TorBrowser_Data_fontconfig_fonts_conf diff -N www/tor-browser/browser/patches/patch-tor-browser_en-US_Browser_TorBrowser_Data_fontconfig_fonts_conf --- www/tor-browser/browser/patches/patch-tor-browser_en-US_Browser_TorBrowser_Data_fontconfig_fonts_conf 27 Oct 2022 17:37:13 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -Set path to bundled fonts. - -Index: tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf ---- tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf.orig -+++ tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf -@@ -39,7 +39,7 @@ PERFORMANCE OF THIS SOFTWARE. - - <!-- Font directory list --> - -- <dir>fonts</dir> -+ <dir>${TRUEBROWSER_DIR}/browser/fonts</dir> - - <!-- - Accept deprecated 'mono' alias, replacing it with 'monospace'