diff options
Diffstat (limited to 'www/tor-browser')
19 files changed, 248 insertions, 568 deletions
diff --git a/www/tor-browser/Makefile b/www/tor-browser/Makefile index ed510b698151..dc17a4db1534 100644 --- a/www/tor-browser/Makefile +++ b/www/tor-browser/Makefile @@ -1,15 +1,15 @@ PORTNAME= tor-browser -DISTVERSION= 14.5.2 +DISTVERSION= 16.0a1 CATEGORIES= www net security wayland -TAG_BASE= b54e21b36db35ad390c4f385b76cbd293a58cbc6 -TAG_TOR= 94aae5dcdfa2e99b516acb6a834a54f7de76e54f +TAG_BASE= d366318349af0977ff23b492fa87e436e8672fdd +TAG_TOR= 45b67d3be52f79e8a4b361fd04ab12f342ab0016 MASTER_SITES= TOR \ LOCAL/vvd \ https://build-sources.tbb.torproject.org/:source1 \ LOCAL/vvd:source1 \ LOCAL/jsm:source2 \ LOCAL/vvd:source2 \ - https://secure.informaction.com/:source3 \ + https://dist.torproject.org/torbrowser/noscript/:source3 \ LOCAL/vvd:source3 \ https://gitlab.torproject.org/tpo/translation/-/archive/${TAG_BASE}.tar.gz?dummy=/:source4 \ LOCAL/vvd:source4 \ @@ -17,9 +17,9 @@ MASTER_SITES= TOR \ LOCAL/vvd:source5 MASTER_SITE_SUBDIR= torbrowser/${DISTVERSION}/:DEFAULT \ download/releases/:source3 -DISTNAME= src-firefox-tor-browser-128.10.1esr-14.5-1-build1 +DISTNAME= src-firefox-tor-browser-146.0a1-16.0-2-build2 MANUAL= manual_215922.zip -NOSCRIPT= noscript-12.1.1.xpi +NOSCRIPT= noscript-13.5.4.1984.xpi DISTFILES= ${DISTNAME}.tar.xz \ ${MANUAL}:source1 \ fonts-3--4348e1.tar.zst:source2 \ @@ -35,12 +35,12 @@ LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= nspr>=4.32:devel/nspr \ - nss>=3.101:security/nss \ - icu>=73.1,1:devel/icu \ + nss>=3.112:security/nss \ + icu>=76.1:devel/icu \ libevent>=2.1.8:devel/libevent \ - harfbuzz>=8.5.0:print/harfbuzz \ + harfbuzz>=10.1.0:print/harfbuzz \ graphite2>=1.3.14:graphics/graphite2 \ - png>=1.6.43:graphics/png \ + png>=1.6.45:graphics/png \ dav1d>=1.0.0:multimedia/dav1d \ libvpx>=1.14:multimedia/libvpx \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ @@ -56,7 +56,7 @@ USES= compiler:c++11-lib libtool localbase:ldflags perl5 pkgconfig \ python shebangfix tar:xz USE_GECKO= gecko USE_GITHUB= nodefault -TAG_L10N= fcd0300e8478d1ec4d1c097a073ddb8e1e0351e3 +TAG_L10N= 4b41b2ae00d50633e5e9d8204b0f45e468920743 GH_TUPLE= mozilla-l10n:firefox-l10n:${TAG_L10N}:ffl10n USE_MOZILLA= -sqlite @@ -65,8 +65,8 @@ LOCALES= af ar az be bg bs ca cs da de el es-ES et fa fi fr ga-IE gu-IN \ nb-NO nl nn-NO pa-IN pl pt-BR pt-PT ro ru sk sl sq sr sv-SE ta \ te th tl tr uk ur vi zh-CN zh-TW -CONFIGURE_ENV+= BINDGEN_CFLAGS="-I${LOCALBASE}/include" \ - MOZ_CHROME_MULTILOCALE="${LOCALES}" +CONFIGURE_ENV+= BINDGEN_CFLAGS="-I${LOCALBASE}/include" +CONFIGURE_ENV+= MOZ_CHROME_MULTILOCALE="${LOCALES}" MAKE_ENV+= LOCALES="${LOCALES}" @@ -78,7 +78,7 @@ SUB_FILES= fonts.conf tor-browser.desktop torrc-defaults WRKSRC= ${WRKDIR}/${DISTNAME:S/src-//} -MOZ_EXPORT+= MOZ_TELEMETRY_REPORTING="" \ +MOZ_EXPORT= MOZ_TELEMETRY_REPORTING="" \ MOZILLA_OFFICIAL="1" \ MOZ_OFFICIAL_BRANDING="1" \ MOZ_APP_DISPLAYNAME="Tor Browser" \ @@ -104,6 +104,12 @@ MOZ_OPTIONS= --with-base-browser-version=${DISTVERSION} \ .include <bsd.port.options.mk> +.if ${ARCH} == i386 && ${MACHINE_CPU:Msse2} +# is not enabled on i386 by default +# Fix for error: always_inline function '_mm_setzero_si64' requires target feature 'sse2' +CFLAGS_i386+= -msse2 +.endif + .if ${ARCH} == amd64 MOZ_OPTIONS+= --enable-rust-simd .endif @@ -140,11 +146,11 @@ post-configure: ${WRKDIR}/.mozbuild/l10n-central/${i}/toolkit/toolkit/global/ ${CP} ${WRKDIR}/translation-${TAG_TOR}/${i}/tor-browser.ftl \ ${WRKDIR}/.mozbuild/l10n-central/${i}/toolkit/toolkit/global/ - ${MKDIR} ${WRKDIR}/.mozbuild/l10n-central/${i}/browser/branding/tb-release + ${MKDIR} ${WRKDIR}/.mozbuild/l10n-central/${i}/browser/branding/tb-release \ + ${WRKSRC}/toolkit/torbutton/chrome/locale/${i} ${CP} ${WRKDIR}/translation-${TAG_TOR}/${i}/brand.properties \ ${WRKDIR}/translation-${TAG_TOR}/${i}/branding/brand.ftl \ ${WRKDIR}/.mozbuild/l10n-central/${i}/browser/branding/tb-release - ${MKDIR} ${WRKSRC}/toolkit/torbutton/chrome/locale/${i}/ . for j in onionLocation.properties settings.properties torConnect.properties \ torlauncher.properties ${CP} ${WRKDIR}/translation-${TAG_TOR}/${i}/${j} \ @@ -160,18 +166,17 @@ post-build: ${WRKSRC}/mach package-multi-locale --locales ${LOCALES} post-install: - @${MKDIR} ${STAGEDIR}${DATADIR} + ${MKDIR} ${STAGEDIR}${DATADIR} \ + ${STAGEDIR}${PREFIX}/lib/tor-browser/fontconfig \ + ${STAGEDIR}${PREFIX}/lib/tor-browser/fonts \ + ${STAGEDIR}${PREFIX}/lib/tor-browser/distribution/extensions ${INSTALL_DATA} ${WRKDIR}/torrc-defaults \ ${STAGEDIR}${DATADIR}/torrc-defaults - ${INSTALL_DATA} ${WRKDIR}/tor-browser.desktop \ - ${STAGEDIR}${PREFIX}/share/applications/tor-browser.desktop - ${MKDIR} ${STAGEDIR}${PREFIX}/lib/tor-browser/fontconfig - ${MKDIR} ${STAGEDIR}${PREFIX}/lib/tor-browser/fonts + ${INSTALL_DATA} ${WRKDIR}/tor-browser.desktop ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/fonts.conf \ ${STAGEDIR}${PREFIX}/lib/tor-browser/fontconfig/fonts.conf (cd ${WRKDIR}/fonts && \ ${COPYTREE_SHARE} "*.otf *.ttf" ${STAGEDIR}${PREFIX}/lib/tor-browser/fonts) - ${MKDIR} ${STAGEDIR}${PREFIX}/lib/tor-browser/distribution/extensions ${INSTALL_DATA} ${DISTDIR}/${NOSCRIPT} \ "${STAGEDIR}${PREFIX}/lib/tor-browser/distribution/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" diff --git a/www/tor-browser/distinfo b/www/tor-browser/distinfo index ba1810215ff8..9dc1dc197464 100644 --- a/www/tor-browser/distinfo +++ b/www/tor-browser/distinfo @@ -1,15 +1,15 @@ -TIMESTAMP = 1747646474 -SHA256 (src-firefox-tor-browser-128.10.1esr-14.5-1-build1.tar.xz) = 221056bed25507e84d74bf679580b66762f718506b98e4f0b2ca3687cd46b11f -SIZE (src-firefox-tor-browser-128.10.1esr-14.5-1-build1.tar.xz) = 611165768 +TIMESTAMP = 1765909794 +SHA256 (src-firefox-tor-browser-146.0a1-16.0-2-build2.tar.xz) = 669e5cc998224f1ba1624cade95d4344615f8cdd21066f1b6ad44c9025e1fb67 +SIZE (src-firefox-tor-browser-146.0a1-16.0-2-build2.tar.xz) = 704013880 SHA256 (manual_215922.zip) = b5ed703f54d52e9f197320f3698e936d585a3fed23cc4f9fbf59edce2869f885 SIZE (manual_215922.zip) = 28305786 SHA256 (fonts-3--4348e1.tar.zst) = 7fbbecece6de777f196982f6eb567970a6d8e7ac2bf5b1ad6b90e1ea36374032 SIZE (fonts-3--4348e1.tar.zst) = 27441580 -SHA256 (noscript-12.1.1.xpi) = f9639e63ffcfc352036de00e4ff6694bb0ca65a0bb8fbd103bd08f32dc1ff31a -SIZE (noscript-12.1.1.xpi) = 980626 -SHA256 (tpo-translation-b54e21b36db35ad390c4f385b76cbd293a58cbc6_GL0.tar.gz) = 3548ab34d48c8d4a6eaf74130fb3ae4040acb3fcea6d3463ff95669b839e3112 -SIZE (tpo-translation-b54e21b36db35ad390c4f385b76cbd293a58cbc6_GL0.tar.gz) = 792132 -SHA256 (tpo-translation-94aae5dcdfa2e99b516acb6a834a54f7de76e54f_GL0.tar.gz) = 0962ba706da369264b659308f64824d0a7ba87a8438f539bff9ca922e2f0d9ff -SIZE (tpo-translation-94aae5dcdfa2e99b516acb6a834a54f7de76e54f_GL0.tar.gz) = 2831434 -SHA256 (mozilla-l10n-firefox-l10n-fcd0300e8478d1ec4d1c097a073ddb8e1e0351e3_GH0.tar.gz) = d07ecc7fe021998b523357849f71d52c9cb5248cb79bba29793e1ba353bae5bb -SIZE (mozilla-l10n-firefox-l10n-fcd0300e8478d1ec4d1c097a073ddb8e1e0351e3_GH0.tar.gz) = 68409826 +SHA256 (noscript-13.5.4.1984.xpi) = ce83b75d2d6c15c3ffbab412dddbb26ddf55977aacd2ba8f99301b9a0b1766f1 +SIZE (noscript-13.5.4.1984.xpi) = 1049081 +SHA256 (tpo-translation-d366318349af0977ff23b492fa87e436e8672fdd_GL0.tar.gz) = 190fe79bc223db676cd6d405adddeb8ef16175e13de806d1daff04ec06aeabce +SIZE (tpo-translation-d366318349af0977ff23b492fa87e436e8672fdd_GL0.tar.gz) = 1024797 +SHA256 (tpo-translation-45b67d3be52f79e8a4b361fd04ab12f342ab0016_GL0.tar.gz) = 1474e0c3bbfdc50cd0930fb941677ee45a35d5bfd84a1876464c194a49b243fa +SIZE (tpo-translation-45b67d3be52f79e8a4b361fd04ab12f342ab0016_GL0.tar.gz) = 2901730 +SHA256 (mozilla-l10n-firefox-l10n-4b41b2ae00d50633e5e9d8204b0f45e468920743_GH0.tar.gz) = cdd9341832325d24067bf752250e52e61035b762066c7cb0b4dde2b6c4b951d2 +SIZE (mozilla-l10n-firefox-l10n-4b41b2ae00d50633e5e9d8204b0f45e468920743_GH0.tar.gz) = 72440248 diff --git a/www/tor-browser/files/patch-bug1559213 b/www/tor-browser/files/patch-bug1559213 deleted file mode 100644 index ead3425fa70b..000000000000 --- a/www/tor-browser/files/patch-bug1559213 +++ /dev/null @@ -1,131 +0,0 @@ -commit 25a5572d5cd137aa6d893e09a00bd39908a59a18 -Author: Christoph Moench-Tegeder <cmt@burggraben.net> -Date: Tue Sep 10 22:23:32 2024 +0200 - - based on: - commit 717bba28411c - Author: Jory A. Pratt <anarchy@gentoo.org> - Date: Thu Jun 13 11:53:00 2019 -0700 - - Bug 1559213 - Allow to use system av1 libs instead of bundled. - -diff --git config/external/moz.build config/external/moz.build -index a24b470396cf..547f5f5c9e04 100644 ---- config/external/moz.build -+++ config/external/moz.build -@@ -40,8 +40,9 @@ if not CONFIG["MOZ_SYSTEM_LIBVPX"]: - external_dirs += ["media/libvpx"] - - if CONFIG["MOZ_AV1"]: -- external_dirs += ["media/libaom"] -- external_dirs += ["media/libdav1d"] -+ if not CONFIG["MOZ_SYSTEM_AV1"]: -+ external_dirs += ["media/libaom"] -+ external_dirs += ["media/libdav1d"] - - if not CONFIG["MOZ_SYSTEM_PNG"]: - external_dirs += ["media/libpng"] -diff --git dom/media/platforms/moz.build dom/media/platforms/moz.build -index 61536cc6e225..29cf635bbb44 100644 ---- dom/media/platforms/moz.build -+++ dom/media/platforms/moz.build -@@ -71,6 +71,11 @@ if CONFIG["MOZ_AV1"]: - "agnostic/AOMDecoder.cpp", - "agnostic/DAV1DDecoder.cpp", - ] -+ if CONFIG['MOZ_SYSTEM_AV1']: -+ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS'] -+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS'] -+ CXXFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS'] -+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS'] - - if CONFIG["MOZ_OMX"]: - EXPORTS += [ -diff --git media/ffvpx/libavcodec/moz.build media/ffvpx/libavcodec/moz.build -index 6f09049a6068..90a82a19a9d1 100644 ---- media/ffvpx/libavcodec/moz.build -+++ media/ffvpx/libavcodec/moz.build -@@ -119,10 +119,16 @@ if not CONFIG['MOZ_FFVPX_AUDIOONLY']: - 'vp9recon.c', - 'vpx_rac.c', - ] -- USE_LIBS += [ -- 'dav1d', -- 'media_libdav1d_asm', -- ] -+ if CONFIG["MOZ_SYSTEM_AV1"]: -+ CFLAGS += CONFIG['MOZ_SYSTEM_LIBDAV1D_CFLAGS'] -+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBDAV1D_LIBS'] -+ CFLAGS += CONFIG['MOZ_SYSTEM_LIBAOM_CFLAGS'] -+ OS_LIBS += CONFIG['MOZ_SYSTEM_LIBAOM_LIBS'] -+ else: -+ USE_LIBS += [ -+ 'dav1d', -+ 'media_libdav1d_asm', -+ ] - if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": - LOCAL_INCLUDES += ['/media/mozva'] - SOURCES += [ -diff --git media/libopus/moz.build media/libopus/moz.build -index 943aee79ee99..4ad07e3e98af 100644 ---- media/libopus/moz.build -+++ media/libopus/moz.build -@@ -58,7 +58,7 @@ if not CONFIG["MOZ_SAMPLE_TYPE_FLOAT32"]: - DEFINES["FIXED_POINT"] = 1 - DEFINES["DISABLE_FLOAT_API"] = True - --if CONFIG["OS_ARCH"] == "Linux": -+if CONFIG["OS_ARCH"] in ("FreeBSD", "Linux"): - OS_LIBS += [ - "m", - ] -diff --git media/libvorbis/moz.build media/libvorbis/moz.build -index cd17d4f89759..816edd72a000 100644 ---- media/libvorbis/moz.build -+++ media/libvorbis/moz.build -@@ -45,7 +45,7 @@ LOCAL_INCLUDES += ['lib'] - if CONFIG['OS_ARCH'] == 'SunOS': - DEFINES['HAVE_ALLOCA_H'] = True - --if CONFIG["OS_ARCH"] == "Linux": -+if CONFIG["OS_ARCH"] in ("FreeBSD", "Linux"): - OS_LIBS += [ - "m", - ] -diff --git toolkit/moz.configure toolkit/moz.configure -index 1f85d2831f2f..07294b93f850 100644 ---- toolkit/moz.configure -+++ toolkit/moz.configure -@@ -883,7 +883,23 @@ def av1(value): - return True - - --@depends(target, when=av1 & compile_environment) -+option("--with-system-av1", -+ help="Use system av1 (located with pkgconfig)") -+ -+system_libaom_info = pkg_check_modules("MOZ_SYSTEM_LIBAOM", "aom >= 1.0.0", -+ when="--with-system-av1") -+ -+system_libdav1d_info = pkg_check_modules("MOZ_SYSTEM_LIBDAV1D", "dav1d >= 0.1.1", -+ when="--with-system-av1") -+ -+@depends(system_libaom_info, system_libdav1d_info) -+def system_av1(system_libaom_info, system_libdav1d_info): -+ has_av1_libs = False -+ if system_libaom_info and system_libdav1d_info: -+ has_av1_libs = True -+ return has_av1_libs -+ -+@depends(target, when=av1 & depends(system_av1)(lambda v: not v) & compile_environment) - def dav1d_asm(target): - if target.cpu in ("aarch64", "x86", "x86_64"): - return True -@@ -899,6 +915,7 @@ set_config("MOZ_DAV1D_ASM", dav1d_asm) - set_define("MOZ_DAV1D_ASM", dav1d_asm) - set_config("MOZ_AV1", av1) - set_define("MOZ_AV1", av1) -+set_config("MOZ_SYSTEM_AV1", depends_if(system_av1)(lambda _: True)) - - # JXL Image Codec Support - # ============================================================== diff --git a/www/tor-browser/files/patch-bug1859752 b/www/tor-browser/files/patch-bug1859752 deleted file mode 100644 index 3050a31cf0cf..000000000000 --- a/www/tor-browser/files/patch-bug1859752 +++ /dev/null @@ -1,42 +0,0 @@ -# HG changeset patch -# User André Bargull <andre.bargull@gmail.com> -# Date 1699346749 0 -# Node ID 0e7eefda24250041d7f008cc77dfa79045afa791 -# Parent 1e39572cb1c784039a9e14b8c36396c66cf58a5d -Bug 1859752 - Part 9: Add new line break classes. r=platform-i18n-reviewers,dminor - -Use `CLASS_CHARACTER` because that matches the previous character class for most -characters which are now part of the new character classes. - -Depends on D192733 - -Differential Revision: https://phabricator.services.mozilla.com/D192734 - -diff --git intl/lwbrk/LineBreaker.cpp intl/lwbrk/LineBreaker.cpp ---- intl/lwbrk/LineBreaker.cpp -+++ intl/lwbrk/LineBreaker.cpp -@@ -443,17 +443,23 @@ static int8_t GetClass(uint32_t u, LineB - /* JT = 34, [JT] */ CLASS_CHARACTER, - /* JV = 35, [JV] */ CLASS_CHARACTER, - /* CLOSE_PARENTHESIS = 36, [CP] */ CLASS_CLOSE_LIKE_CHARACTER, - /* CONDITIONAL_JAPANESE_STARTER = 37, [CJ] */ CLASS_CLOSE, - /* HEBREW_LETTER = 38, [HL] */ CLASS_CHARACTER, - /* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER, - /* E_BASE = 40, [EB] */ CLASS_BREAKABLE, - /* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER, -- /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER}; -+ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER, -+ /* AKSARA = 43, [AK] */ CLASS_CHARACTER, -+ /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER, -+ /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER, -+ /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER, -+ /* VIRAMA = 47, [VI] */ CLASS_CHARACTER, -+ }; - - static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass), - "Gecko vs ICU LineBreak class mismatch"); - - auto cls = GetLineBreakClass(u); - MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass)); - - // Overrides based on rules for the different line-break values given in diff --git a/www/tor-browser/files/patch-bug1874059 b/www/tor-browser/files/patch-bug1874059 deleted file mode 100644 index 3fa954ef9def..000000000000 --- a/www/tor-browser/files/patch-bug1874059 +++ /dev/null @@ -1,25 +0,0 @@ -commit 56c888446600991803fd92d668349101ad4bf160 -Author: Christoph Moench-Tegeder <cmt@burggraben.net> -Date: Tue Feb 6 22:51:27 2024 +0100 - - switch to -fvisibility flags - - this fixes linkage with llvm18 (which does not like the former - approach via the #pragma in gcc_hidden.h - - PR: 276746 - Submitted by: dim@ - -diff --git build/moz.configure/toolchain.configure build/moz.configure/toolchain.configure -index d08b748db250..4696f69153f6 100644 ---- build/moz.configure/toolchain.configure -+++ build/moz.configure/toolchain.configure -@@ -2186,7 +2186,7 @@ set_define("_LIBCPP_HIDE_FROM_ABI", libcxx_override_visibility.hide_from_abi) - @depends(target, build_environment) - def visibility_flags(target, env): - if target.os != "WINNT": -- if target.kernel == "Darwin": -+ if target.kernel == "Darwin" or target.kernel == "FreeBSD": - return ("-fvisibility=hidden", "-fvisibility-inlines-hidden") - return ( - "-I%s/system_wrappers" % os.path.join(env.dist), diff --git a/www/tor-browser/files/patch-bug1876366 b/www/tor-browser/files/patch-bug1876366 deleted file mode 100644 index 78483c3fbab7..000000000000 --- a/www/tor-browser/files/patch-bug1876366 +++ /dev/null @@ -1,23 +0,0 @@ -commit 46a89fb0319d673b3139a068e3d89aed9f44fc16 -Author: Christoph Moench-Tegeder <cmt@burggraben.net> - - use gdk legacy cursor interface by default - - Upstream https://bugzilla.mozilla.org/show_bug.cgi?id=1876366#c16 - hints that we could re-test this once we have GTK 3.24.42 (with the - now-current gtk3-3.24.41 the original problem is still reproducable, - but toggling this flag does fix it for me) - -diff --git modules/libpref/init/StaticPrefList.yaml modules/libpref/init/StaticPrefList.yaml -index 835450712a12..f2249006c36d 100644 ---- modules/libpref/init/StaticPrefList.yaml -+++ modules/libpref/init/StaticPrefList.yaml -@@ -16070,7 +16070,7 @@ - # Whether to use gtk legacy cursor API. - - name: widget.gtk.legacy-cursors.enabled - type: bool -- value: false -+ value: true - mirror: always - - # Whether to use gtk high contrast themes to disable content styling like on diff --git a/www/tor-browser/files/patch-bug847568 b/www/tor-browser/files/patch-bug847568 index 2ee46579d43d..5b557e0e5a86 100644 --- a/www/tor-browser/files/patch-bug847568 +++ b/www/tor-browser/files/patch-bug847568 @@ -1,10 +1,10 @@ -# Allow building against system-wide graphite2/harfbuzz. +Allow building against system-wide graphite2/harfbuzz diff --git config/system-headers.mozbuild config/system-headers.mozbuild -index 0c06f581b33b..10f125be25ab 100644 +index af44c89057fc..c0ac271917fb 100644 --- config/system-headers.mozbuild +++ config/system-headers.mozbuild -@@ -1307,6 +1307,19 @@ if CONFIG["MOZ_ENABLE_LIBPROXY"]: +@@ -1304,6 +1304,19 @@ if CONFIG["MOZ_ENABLE_LIBPROXY"]: "proxy.h", ] @@ -25,10 +25,10 @@ index 0c06f581b33b..10f125be25ab 100644 system_headers += [ "unicode/calendar.h", diff --git dom/base/moz.build dom/base/moz.build -index 14c9f9dd96fb..bd1c8f241e9b 100644 +index 170d19f09aa9..a47fc8b1193c 100644 --- dom/base/moz.build +++ dom/base/moz.build -@@ -606,6 +606,9 @@ FINAL_LIBRARY = "xul" +@@ -620,6 +620,9 @@ FINAL_LIBRARY = "xul" if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] @@ -40,7 +40,7 @@ index 14c9f9dd96fb..bd1c8f241e9b 100644 script="gen-usecounters.py", diff --git gfx/graphite2/geckoextra/moz.build gfx/graphite2/geckoextra/moz.build new file mode 100644 -index 000000000000..24e8d7a03274 +index 000000000000..ed0323eba9d5 --- /dev/null +++ gfx/graphite2/geckoextra/moz.build @@ -0,0 +1,21 @@ @@ -104,10 +104,10 @@ index 56ea317bedfc..07dd7f66f1bc 100644 "thebes", "ipc", diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py -index c161d24df853..8c7dd395b371 100755 +index b589efde1c5c..47f49e10df70 100755 --- gfx/skia/generate_mozbuild.py +++ gfx/skia/generate_mozbuild.py -@@ -91,6 +91,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): +@@ -95,6 +95,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): '-Wno-unused-private-field', ] @@ -118,10 +118,10 @@ index c161d24df853..8c7dd395b371 100755 LOCAL_INCLUDES += [ "/gfx/cairo/cairo/src", diff --git gfx/skia/moz.build gfx/skia/moz.build -index 83aa2957a938..0859316a1f09 100644 +index 7fee54534878..ba1a4038e4a0 100644 --- gfx/skia/moz.build +++ gfx/skia/moz.build -@@ -601,6 +601,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): +@@ -623,6 +623,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'): '-Wno-unused-private-field', ] @@ -132,10 +132,10 @@ index 83aa2957a938..0859316a1f09 100644 LOCAL_INCLUDES += [ "/gfx/cairo/cairo/src", diff --git gfx/thebes/moz.build gfx/thebes/moz.build -index fd1fcf236d81..958d3f699ffd 100644 +index 48f2849e2025..7d0a161a91b4 100644 --- gfx/thebes/moz.build +++ gfx/thebes/moz.build -@@ -293,7 +293,13 @@ if CONFIG["MOZ_WAYLAND"]: +@@ -295,7 +295,13 @@ if CONFIG["MOZ_WAYLAND"]: LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"] @@ -151,7 +151,7 @@ index fd1fcf236d81..958d3f699ffd 100644 CXXFLAGS += ["-Werror=switch"] diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build -index 2bbd00415cae..f66bd37695d4 100644 +index 2396210428ee..092baac6f79c 100644 --- intl/unicharutil/util/moz.build +++ intl/unicharutil/util/moz.build @@ -24,6 +24,9 @@ UNIFIED_SOURCES += [ @@ -165,10 +165,10 @@ index 2bbd00415cae..f66bd37695d4 100644 GeneratedFile( diff --git netwerk/dns/moz.build netwerk/dns/moz.build -index c926d14707d1..35a3f33e2885 100644 +index 1bb0430f01aa..0360e0f468c0 100644 --- netwerk/dns/moz.build +++ netwerk/dns/moz.build -@@ -112,6 +112,9 @@ GeneratedFile( +@@ -111,6 +111,9 @@ GeneratedFile( "etld_data.inc", script="prepare_tlds.py", inputs=["effective_tld_names.dat"] ) @@ -178,43 +178,24 @@ index c926d14707d1..35a3f33e2885 100644 # need to include etld_data.inc LOCAL_INCLUDES += [ "/netwerk/base", -diff --git old-configure.in old-configure.in -index 2ca88a20a4b3..88bc9b873eff 100644 ---- old-configure.in -+++ old-configure.in -@@ -1067,6 +1067,27 @@ fi - AC_DEFINE_UNQUOTED(MOZ_MACBUNDLE_ID,$MOZ_MACBUNDLE_ID) - AC_SUBST(MOZ_MACBUNDLE_ID) - -+dnl ======================================================== -+dnl Check for graphite2 -+dnl ======================================================== -+if test -n "$MOZ_SYSTEM_GRAPHITE2"; then -+ dnl graphite2.pc has bogus version, check manually -+ _SAVE_CFLAGS=$CFLAGS -+ CFLAGS="$CFLAGS $MOZ_GRAPHITE2_CFLAGS" -+ AC_TRY_COMPILE([ #include <graphite2/Font.h> -+ #define GR2_VERSION_REQUIRE(major,minor,bugfix) \ -+ ( GR2_VERSION_MAJOR * 10000 + GR2_VERSION_MINOR \ -+ * 100 + GR2_VERSION_BUGFIX >= \ -+ (major) * 10000 + (minor) * 100 + (bugfix) ) -+ ], [ -+ #if !GR2_VERSION_REQUIRE(1,3,14) -+ #error "Insufficient graphite2 version." -+ #endif -+ ], [], -+ [AC_MSG_ERROR([--with-system-graphite2 requested but no working libgraphite2 found])]) -+ CFLAGS=$_SAVE_CFLAGS -+fi -+ - dnl ======================================================== - dnl = Child Process Name for IPC - dnl ======================================================== +diff --git security/rlbox/moz.build security/rlbox/moz.build +index 7ad8d076f0f1..835b9d905e03 100644 +--- security/rlbox/moz.build ++++ security/rlbox/moz.build +@@ -47,6 +47,8 @@ if CONFIG["MOZ_WASM_SANDBOXING_GRAPHITE"]: + for k, v in graphite_defines: + WASM_DEFINES[k] = v + LOCAL_INCLUDES += ["/gfx/graphite2/src"] ++ if CONFIG["MOZ_SYSTEM_GRAPHITE2"]: ++ WASM_CXXFLAGS += CONFIG["MOZ_GRAPHITE2_CFLAGS"] + + if CONFIG["MOZ_WASM_SANDBOXING_OGG"]: + include("/media/libogg/sources.mozbuild") diff --git toolkit/library/moz.build toolkit/library/moz.build -index 76746f308011..f6844f4c400b 100644 +index ee6051567c8e..c24a5a513bbc 100644 --- toolkit/library/moz.build +++ toolkit/library/moz.build -@@ -292,6 +292,12 @@ if CONFIG["MOZ_SYSTEM_PNG"]: +@@ -298,6 +298,12 @@ if CONFIG["MOZ_SYSTEM_PNG"]: if CONFIG["MOZ_SYSTEM_WEBP"]: OS_LIBS += CONFIG["MOZ_WEBP_LIBS"] @@ -228,10 +209,10 @@ index 76746f308011..f6844f4c400b 100644 OS_LIBS += CONFIG["MOZ_LIBEVENT_LIBS"] diff --git toolkit/moz.configure toolkit/moz.configure -index a060a59f728f..f0778d1ae2d6 100644 +index 1f85d2831f2f..04ce56e2cc0b 100644 --- toolkit/moz.configure +++ toolkit/moz.configure -@@ -1218,6 +1218,26 @@ def enable_cairo_ft(target, tree_freetype, freetype2_info): +@@ -1397,6 +1397,26 @@ def enable_cairo_ft(target, tree_freetype, freetype2_info): set_config("MOZ_ENABLE_CAIRO_FT", True, when=enable_cairo_ft) set_config("CAIRO_FT_CFLAGS", ft2_info.cflags, when=enable_cairo_ft) diff --git a/www/tor-browser/files/patch-python_mozbuild_mozbuild_gn__processor.py b/www/tor-browser/files/patch-build_gn__processor.py index 94584d8b160b..08e7f1211613 100644 --- a/www/tor-browser/files/patch-python_mozbuild_mozbuild_gn__processor.py +++ b/www/tor-browser/files/patch-build_gn__processor.py @@ -1,13 +1,13 @@ -commit 6bfdff4afcc9e3843b9c3a5d7e884e281a305398 -Author: Christoph Moench-Tegeder <cmt@burggraben.net> +commit bcf74d8c7a315c4f8ef70f1a60d4ce957cebac1d +Author: Christoph Moench-Tegeder <cmt@FreeBSD.org> - chase gn_processor.py changes + FreeBSD workings for webrtc configure (gn_processor.py) -diff --git python/mozbuild/mozbuild/gn_processor.py python/mozbuild/mozbuild/gn_processor.py -index a77b6c7759f1..e5498ac5e9df 100644 ---- python/mozbuild/mozbuild/gn_processor.py -+++ python/mozbuild/mozbuild/gn_processor.py -@@ -185,6 +185,7 @@ def filter_gn_config(path, gn_result, sandbox_vars, input_vars, gn_target): +diff --git build/gn_processor.py build/gn_processor.py +index 36cc6bdfe492..ed0fb2b7aa45 100644 +--- build/gn_processor.py ++++ build/gn_processor.py +@@ -186,6 +186,7 @@ def filter_gn_config(path, gn_result, sandbox_vars, input_vars, gn_target): } oses = { "android": "Android", @@ -15,7 +15,7 @@ index a77b6c7759f1..e5498ac5e9df 100644 "linux": "Linux", "mac": "Darwin", "openbsd": "OpenBSD", -@@ -742,17 +743,17 @@ def main(): +@@ -801,17 +802,17 @@ def main(): vars_set = [] for is_debug in (True, False): @@ -35,15 +35,15 @@ index a77b6c7759f1..e5498ac5e9df 100644 target_cpus.append("riscv64") - if target_os == "linux": + if target_os in ("freebsd", "linux"): - target_cpus.extend(["ppc64", "mipsel", "mips64el"]) + target_cpus.extend(["loong64", "ppc64", "mipsel", "mips64el"]) for target_cpu in target_cpus: vars = { -@@ -761,7 +762,7 @@ def main(): +@@ -820,7 +821,7 @@ def main(): "target_cpu": target_cpu, "target_os": target_os, } - if target_os == "linux": + if target_os in ("freebsd", "linux"): - for use_x11 in (True, False): - vars["use_x11"] = use_x11 + for enable_x11 in (True, False): + vars["ozone_platform_x11"] = enable_x11 vars_set.append(vars.copy()) diff --git a/www/tor-browser/files/patch-dom_media_webrtc_libwebrtc__overrides_moz.build b/www/tor-browser/files/patch-dom_media_webrtc_libwebrtc__overrides_moz.build new file mode 100644 index 000000000000..ac01cff0e211 --- /dev/null +++ b/www/tor-browser/files/patch-dom_media_webrtc_libwebrtc__overrides_moz.build @@ -0,0 +1,25 @@ +commit 18ea032974539d7f4db64d21a87fd174333b9e2c +Author: Christoph Moench-Tegeder <cmt@FreeBSD.org> + + build XErrorTrap for FreeBSD, too + +diff --git dom/media/webrtc/libwebrtc_overrides/moz.build dom/media/webrtc/libwebrtc_overrides/moz.build +index ed9c450e5649..1ac213e48b28 100644 +--- dom/media/webrtc/libwebrtc_overrides/moz.build ++++ dom/media/webrtc/libwebrtc_overrides/moz.build +@@ -49,13 +49,13 @@ + "call/call_basic_stats.cc", + ] + +-if CONFIG["OS_TARGET"] == "OpenBSD": ++if CONFIG["OS_TARGET"] in ("FreeBSD", "OpenBSD"): + CXXFLAGS += CONFIG["MOZ_X11_CFLAGS"] + UNIFIED_SOURCES += [ + "modules/desktop_capture/linux/x11/x_error_trap.cc", + ] + +-if CONFIG["TARGET_CPU"] in ("loongarch64", "ppc64"): ++if CONFIG["TARGET_CPU"] in ("loongarch64"): + UNIFIED_SOURCES += [ + "modules/desktop_capture/linux/x11/x_error_trap.cc", + ] diff --git a/www/tor-browser/files/patch-gfx_skia_skia_src_core_SkRasterPipeline.h b/www/tor-browser/files/patch-gfx_skia_skia_src_core_SkRasterPipeline.h deleted file mode 100644 index 05cf110b1192..000000000000 --- a/www/tor-browser/files/patch-gfx_skia_skia_src_core_SkRasterPipeline.h +++ /dev/null @@ -1,13 +0,0 @@ -diff --git gfx/skia/skia/src/core/SkRasterPipeline.h gfx/skia/skia/src/core/SkRasterPipeline.h -index 2475ea0d398d..67967483656d 100644 ---- gfx/skia/skia/src/core/SkRasterPipeline.h -+++ gfx/skia/skia/src/core/SkRasterPipeline.h -@@ -27,7 +27,7 @@ struct SkImageInfo; - struct skcms_TransferFunction; - - #if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && \ -- !defined(SK_CPU_LOONGARCH) -+ !defined(SK_CPU_LOONGARCH) && !defined(__powerpc__) - #define SK_HAS_MUSTTAIL 1 - #else - #define SK_HAS_MUSTTAIL 0 diff --git a/www/tor-browser/files/patch-ipc_glue_GeckoChildProcessHost.cpp b/www/tor-browser/files/patch-ipc_glue_GeckoChildProcessHost.cpp new file mode 100644 index 000000000000..42f5f25add33 --- /dev/null +++ b/www/tor-browser/files/patch-ipc_glue_GeckoChildProcessHost.cpp @@ -0,0 +1,13 @@ +diff --git ipc/glue/GeckoChildProcessHost.cpp ipc/glue/GeckoChildProcessHost.cpp +index 9bb8314bd98c..2bc0382a9385 100644 +--- ipc/glue/GeckoChildProcessHost.cpp ++++ ipc/glue/GeckoChildProcessHost.cpp +@@ -1121,7 +1121,7 @@ Result<Ok, LaunchError> BaseProcessLauncher::DoSetup() { + #if defined(MOZ_WIDGET_COCOA) || defined(XP_WIN) + geckoargs::sCrashReporter.Put(CrashReporter::GetChildNotificationPipe(), + mChildArgs); +-#elif defined(XP_UNIX) && !defined(XP_IOS) ++#elif defined(XP_UNIX) && !defined(XP_IOS) && !defined(XP_FREEBSD) + UniqueFileHandle childCrashFd = CrashReporter::GetChildNotificationPipe(); + if (!childCrashFd) { + return Err(LaunchError("DuplicateFileHandle failed")); diff --git a/www/tor-browser/files/patch-memory_mozalloc_throw__gcc.h b/www/tor-browser/files/patch-memory_mozalloc_throw__gcc.h deleted file mode 100644 index 53db05bc0803..000000000000 --- a/www/tor-browser/files/patch-memory_mozalloc_throw__gcc.h +++ /dev/null @@ -1,69 +0,0 @@ ---- memory/mozalloc/throw_gcc.h.orig 2022-03-05 00:14:41 UTC -+++ memory/mozalloc/throw_gcc.h -@@ -74,50 +74,66 @@ __throw_bad_function_call(void) { - mozalloc_abort("fatal: STL threw bad_function_call"); - } - -+#if !defined(_LIBCPP_VERSION) - MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_logic_error( - const char* msg) { - mozalloc_abort(msg); - } -+#endif // _LIBCPP_VERSION - -+#if !defined(_LIBCPP_VERSION) - MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_domain_error( - const char* msg) { - mozalloc_abort(msg); - } -+#endif // _LIBCPP_VERSION - -+#if !defined(_LIBCPP_VERSION) - MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void - __throw_invalid_argument(const char* msg) { - mozalloc_abort(msg); - } -+#endif // _LIBCPP_VERSION - -+#if !defined(_LIBCPP_VERSION) - MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_length_error( - const char* msg) { - mozalloc_abort(msg); - } -+#endif // _LIBCPP_VERSION - -+#if !defined(_LIBCPP_VERSION) - MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_out_of_range( - const char* msg) { - mozalloc_abort(msg); - } -+#endif // _LIBCPP_VERSION - - MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_runtime_error( - const char* msg) { - mozalloc_abort(msg); - } - -+#if !defined(_LIBCPP_VERSION) - MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_range_error( - const char* msg) { - mozalloc_abort(msg); - } -+#endif // _LIBCPP_VERSION - -+#if !defined(_LIBCPP_VERSION) - MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void - __throw_overflow_error(const char* msg) { - mozalloc_abort(msg); - } -+#endif // _LIBCPP_VERSION - -+#if !defined(_LIBCPP_VERSION) - MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void - __throw_underflow_error(const char* msg) { - mozalloc_abort(msg); - } -+#endif // _LIBCPP_VERSION - - MOZ_THROW_NORETURN MOZ_THROW_EXPORT MOZ_THROW_INLINE void __throw_ios_failure( - const char* msg) { diff --git a/www/tor-browser/files/patch-python_sites_mach.txt b/www/tor-browser/files/patch-python_sites_mach.txt new file mode 100644 index 000000000000..706f285b0731 --- /dev/null +++ b/www/tor-browser/files/patch-python_sites_mach.txt @@ -0,0 +1,18 @@ +commit 10ee367cbe7ff5a19acfcfe3bfb75a49671e4132 +Author: Christoph Moench-Tegeder <cmt@FreeBSD.org> + + bump psutil (same as ports) + + 5.9.x breaks mach + +diff --git python/sites/mach.txt python/sites/mach.txt +index 6e3db1c848f7..10ba12c2f13b 100644 +--- python/sites/mach.txt ++++ python/sites/mach.txt +@@ -108,5 +108,5 @@ pypi-optional:glean-sdk==63.1.0:telemetry will not be collected + # Mach gracefully handles the case where `psutil` is unavailable. + # We aren't (yet) able to pin packages in automation, so we have to + # support down to the oldest locally-installed version (5.4.2). +-pypi-optional:psutil>=5.4.2,<=5.9.4:telemetry will be missing some data ++pypi-optional:psutil>=5.4.2,<=7.0.0:telemetry will be missing some data + pypi-optional:zstandard>=0.11.1,<=0.24.0:zstd archives will not be possible to extract diff --git a/www/tor-browser/files/patch-third__party_chromium_build_toolchain_toolchain.gni b/www/tor-browser/files/patch-third__party_chromium_build_toolchain_toolchain.gni new file mode 100644 index 000000000000..7cfd8c79d2da --- /dev/null +++ b/www/tor-browser/files/patch-third__party_chromium_build_toolchain_toolchain.gni @@ -0,0 +1,18 @@ +commit 66fb0f122ef1ddf961b333c8377b84b603d75b27 +Author: Christoph Moench-Tegeder <cmt@FreeBSD.org> + + support FreeBSD as a host platform + +diff --git third_party/chromium/build/toolchain/toolchain.gni third_party/chromium/build/toolchain/toolchain.gni +index 754f0e3bbd7e..238d79631ba8 100644 +--- third_party/chromium/build/toolchain/toolchain.gni ++++ third_party/chromium/build/toolchain/toolchain.gni +@@ -75,7 +75,7 @@ if (host_os == "mac") { + host_shlib_extension = ".dylib" + } else if (host_os == "win") { + host_shlib_extension = ".dll" +-} else if (host_os == "linux" || host_os == "aix" || host_os == "zos") { ++} else if (host_os == "linux" || host_os == "aix" || host_os == "freebsd" || host_os == "zos") { + host_shlib_extension = ".so" + } else { + assert(false, "Host platform not supported") diff --git a/www/tor-browser/files/patch-third__party_libwebrtc_build_config_BUILDCONFIG.gn b/www/tor-browser/files/patch-third__party_libwebrtc_build_config_BUILDCONFIG.gn index 331a94015301..7774855c7941 100644 --- a/www/tor-browser/files/patch-third__party_libwebrtc_build_config_BUILDCONFIG.gn +++ b/www/tor-browser/files/patch-third__party_libwebrtc_build_config_BUILDCONFIG.gn @@ -1,26 +1,13 @@ -commit 93615ae859d1d819b33bbe0e32c5260a467b3625 -Author: Christoph Moench-Tegeder <cmt@burggraben.net> +commit e8a3b91abdc00edd7633aabbe5e63bfc0d0825e4 +Author: Christoph Moench-Tegeder <cmt@FreeBSD.org> enable pipewire on bsd -diff --git third_party/libwebrtc/BUILD.gn third_party/libwebrtc/BUILD.gn -index 6eb14773b0a7..d63fd1d5529f 100644 ---- third_party/libwebrtc/BUILD.gn -+++ third_party/libwebrtc/BUILD.gn -@@ -106,7 +106,7 @@ if (!build_with_chromium && !build_with_mozilla) { - "tools_webrtc/perf:webrtc_dashboard_upload", - ] - } -- if ((is_linux || is_chromeos) && rtc_use_pipewire) { -+ if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { - deps += [ "modules/desktop_capture:shared_screencast_stream_test" ] - } - if (is_fuchsia) { -diff --git third_party/libwebrtc/build/config/BUILDCONFIG.gn third_party/libwebrtc/build/config/BUILDCONFIG.gn -index 571ae5f0d60d..863d428fc676 100644 ---- third_party/libwebrtc/build/config/BUILDCONFIG.gn -+++ third_party/libwebrtc/build/config/BUILDCONFIG.gn -@@ -132,6 +132,7 @@ declare_args() { +diff --git third_party/chromium/build/config/BUILDCONFIG.gn third_party/chromium/build/config/BUILDCONFIG.gn +index 4bb38fe31ff2..b10eb19f521a 100644 +--- third_party/chromium/build/config/BUILDCONFIG.gn ++++ third_party/chromium/build/config/BUILDCONFIG.gn +@@ -137,6 +137,7 @@ declare_args() { # Set to true when compiling with the Clang compiler. is_clang = current_os != "linux" || current_os == "openbsd" || @@ -28,25 +15,25 @@ index 571ae5f0d60d..863d428fc676 100644 (current_cpu != "s390x" && current_cpu != "s390" && current_cpu != "ppc64" && current_cpu != "ppc" && current_cpu != "mips" && current_cpu != "mips64" && -@@ -184,7 +185,7 @@ if (host_toolchain == "") { +@@ -206,7 +207,7 @@ if (host_toolchain == "") { # TODO(dpranke): Add some sort of assert here that verifies that # no toolchain omitted host_toolchain from its toolchain_args(). - if (host_os == "linux" || host_os == "openbsd") { + if (host_os == "linux" || host_os == "openbsd" || host_os == "freebsd") { if (target_os != "linux") { - host_toolchain = "//build/toolchain/linux:clang_$host_cpu" + host_toolchain = "//chromium/build/toolchain/linux:clang_$host_cpu" } else if (is_clang) { -@@ -222,7 +223,7 @@ if (target_os == "android") { - assert(host_os == "linux" || host_os == "mac", - "Android builds are only supported on Linux and Mac hosts.") - _default_toolchain = "//build/toolchain/android:android_clang_$target_cpu" +@@ -246,7 +247,7 @@ if (target_os == "android") { + # Targeting android on Mac is best-effort and not guaranteed to work. + #assert(host_os == "linux", "Android builds are only supported on Linux.") + _default_toolchain = "//chromium/build/toolchain/android:android_clang_$target_cpu" -} else if (target_os == "chromeos" || target_os == "linux" || target_os == "openbsd") { +} else if (target_os == "chromeos" || target_os == "linux" || target_os == "openbsd" || target_os == "freebsd") { # See comments in build/toolchain/cros/BUILD.gn about board compiles. if (is_clang) { - _default_toolchain = "//build/toolchain/linux:clang_$target_cpu" -@@ -288,7 +289,7 @@ is_chromeos = current_os == "chromeos" + _default_toolchain = "//chromium/build/toolchain/linux:clang_$target_cpu" +@@ -314,7 +315,7 @@ is_chromeos = current_os == "chromeos" is_fuchsia = current_os == "fuchsia" is_ios = current_os == "ios" is_linux = current_os == "linux" @@ -54,12 +41,25 @@ index 571ae5f0d60d..863d428fc676 100644 +is_bsd = current_os == "openbsd" || current_os == "freebsd" is_mac = current_os == "mac" is_nacl = current_os == "nacl" - is_win = current_os == "win" || current_os == "winuwp" + is_wasm = current_os == "emscripten" +diff --git third_party/libwebrtc/BUILD.gn third_party/libwebrtc/BUILD.gn +index ac8569efaa40..5d6c5953491c 100644 +--- third_party/libwebrtc/BUILD.gn ++++ third_party/libwebrtc/BUILD.gn +@@ -111,7 +111,7 @@ if (!build_with_chromium && !build_with_mozilla) { + "tools_webrtc/perf:webrtc_dashboard_upload", + ] + } +- if ((is_linux || is_chromeos) && rtc_use_pipewire) { ++ if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { + deps += [ "modules/desktop_capture:shared_screencast_stream_test" ] + } + } diff --git third_party/libwebrtc/modules/desktop_capture/BUILD.gn third_party/libwebrtc/modules/desktop_capture/BUILD.gn -index c184e2fbbcac..e1af29734d8b 100644 +index 5c843cfc2b6a..0ed9f98a964f 100644 --- third_party/libwebrtc/modules/desktop_capture/BUILD.gn +++ third_party/libwebrtc/modules/desktop_capture/BUILD.gn -@@ -75,7 +75,7 @@ if (rtc_include_tests) { +@@ -76,7 +76,7 @@ if (rtc_include_tests) { "window_finder_unittest.cc", ] @@ -68,7 +68,7 @@ index c184e2fbbcac..e1af29734d8b 100644 configs += [ "../portal:gio" ] } -@@ -87,7 +87,7 @@ if (rtc_include_tests) { +@@ -88,7 +88,7 @@ if (rtc_include_tests) { } } @@ -77,7 +77,7 @@ index c184e2fbbcac..e1af29734d8b 100644 rtc_test("shared_screencast_stream_test") { testonly = true -@@ -146,7 +146,7 @@ if (rtc_include_tests) { +@@ -148,7 +148,7 @@ if (rtc_include_tests) { "test_utils_unittest.cc", ] @@ -86,16 +86,25 @@ index c184e2fbbcac..e1af29734d8b 100644 configs += [ "../portal:gio" ] } -@@ -255,7 +255,7 @@ if (rtc_include_tests) { +@@ -215,7 +215,7 @@ if (rtc_include_tests) { + "screen_drawer.h", + ] + +- if (is_linux || is_chromeos) { ++ if (is_linux || is_chromeos || is_bsd) { + sources += [ "screen_drawer_linux.cc" ] + libs = [ "X11" ] + } +@@ -254,7 +254,7 @@ if (rtc_include_tests) { "mock_desktop_capturer_callback.h", ] - if ((is_linux || is_chromeos) && rtc_use_pipewire) { -+ if ((is_linux || is_chromeos || is_bsd) && rtc_use_pipewire) { ++ if ((is_linux || is_chromeos || us_bsd) && rtc_use_pipewire) { configs += [ "../portal:gio" ] } -@@ -268,7 +268,7 @@ if (rtc_include_tests) { +@@ -267,7 +267,7 @@ if (rtc_include_tests) { } # TODO(bugs.webrtc.org/14187): remove when all users are gone @@ -104,20 +113,11 @@ index c184e2fbbcac..e1af29734d8b 100644 config("pipewire_config") { configs = [ "../portal:pipewire_config" ] } -@@ -326,7 +326,7 @@ rtc_library("desktop_capture") { - "window_finder.cc", - "window_finder.h", - ] -- if (is_linux && !is_castos && rtc_use_pipewire) { -+ if ((is_linux || is_bsd) && !is_castos && rtc_use_pipewire) { - sources += [ "desktop_capture_metadata.h" ] - } - if (is_mac) { diff --git third_party/libwebrtc/modules/portal/BUILD.gn third_party/libwebrtc/modules/portal/BUILD.gn -index d7768b2323c9..3593a6959277 100644 +index 70b4739ad0c4..99ab95d441f3 100644 --- third_party/libwebrtc/modules/portal/BUILD.gn +++ third_party/libwebrtc/modules/portal/BUILD.gn -@@ -10,7 +10,7 @@ import("//build/config/linux/pkg_config.gni") +@@ -10,7 +10,7 @@ import("//chromium/build/config/linux/pkg_config.gni") import("//tools/generate_stubs/rules.gni") import("../../webrtc.gni") @@ -127,10 +127,10 @@ index d7768b2323c9..3593a6959277 100644 pkg_config("gio") { packages = [ diff --git third_party/libwebrtc/webrtc.gni third_party/libwebrtc/webrtc.gni -index b1db8ff88415..64e0cb8f7c79 100644 +index 1e87de20e545..77a8a55d8659 100644 --- third_party/libwebrtc/webrtc.gni +++ third_party/libwebrtc/webrtc.gni -@@ -153,7 +153,7 @@ declare_args() { +@@ -151,7 +151,7 @@ declare_args() { # By default it's only enabled on desktop Linux (excludes ChromeOS) and # only when using the sysroot as PipeWire is not available in older and # supported Ubuntu and Debian distributions. diff --git a/www/tor-browser/files/patch-third__party_libwebrtc_modules_desktop__capture_linux_wayland__egl__dmabuf.cc b/www/tor-browser/files/patch-third__party_libwebrtc_modules_desktop__capture_linux_wayland__egl__dmabuf.cc index e83c56760a7c..13a23c835960 100644 --- a/www/tor-browser/files/patch-third__party_libwebrtc_modules_desktop__capture_linux_wayland__egl__dmabuf.cc +++ b/www/tor-browser/files/patch-third__party_libwebrtc_modules_desktop__capture_linux_wayland__egl__dmabuf.cc @@ -1,26 +1,19 @@ -commit 3524023ca1d2184ab9a5a7cc61695923e6834cc1 -Author: Christoph Moench-Tegeder <cmt@burggraben.net> +commit f53507857647459d4a48935901f80f27a5ae58a9 +Author: Christoph Moench-Tegeder <cmt@FreeBSD.org> avoid linux-only includes diff --git third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc -index 6a019c64b4b3..18bb43d797dd 100644 +index 821fdfb487b7..e000c1c104fe 100644 --- third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc +++ third_party/libwebrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc -@@ -10,12 +10,16 @@ - - #include "modules/desktop_capture/linux/wayland/egl_dmabuf.h" - +@@ -15,7 +15,9 @@ + #include <EGL/eglplatform.h> + #include <GL/gl.h> + #include <GL/glext.h> +#if !defined(__FreeBSD__) #include <asm/ioctl.h> +#endif #include <dlfcn.h> #include <fcntl.h> - #include <gdk/gdk.h> - #include <libdrm/drm_fourcc.h> -+#if !defined(__FreeBSD__) - #include <linux/types.h> -+#endif - #include <spa/param/video/format-utils.h> - #include <unistd.h> - #include <xf86drm.h> + #include <gbm.h> diff --git a/www/tor-browser/files/patch-third__party_libwebrtc_modules_portal_pipewire__utils.h b/www/tor-browser/files/patch-third__party_libwebrtc_modules_portal_pipewire__utils.h new file mode 100644 index 000000000000..14ed30920d6a --- /dev/null +++ b/www/tor-browser/files/patch-third__party_libwebrtc_modules_portal_pipewire__utils.h @@ -0,0 +1,19 @@ +commit 9f34111f6f4e2ebefd878a3c256fc012826e6936 +Author: Christoph Moench-Tegeder <cmt@FreeBSD.org> + + FreeBSD does not know asm-generic/ioctl.h + +diff --git third_party/libwebrtc/modules/portal/pipewire_utils.h third_party/libwebrtc/modules/portal/pipewire_utils.h +index c3d4f347a8cd..14a36260c292 100644 +--- third_party/libwebrtc/modules/portal/pipewire_utils.h ++++ third_party/libwebrtc/modules/portal/pipewire_utils.h +@@ -11,7 +11,9 @@ + #ifndef MODULES_PORTAL_PIPEWIRE_UTILS_H_ + #define MODULES_PORTAL_PIPEWIRE_UTILS_H_ + ++#if !defined(__FreeBSD__) + #include <asm-generic/ioctl.h> ++#endif + #include <sys/ioctl.h> + #include <sys/mman.h> + diff --git a/www/tor-browser/files/patch-third__party_sqlite3_ext_sqlite-vec_sqlite-vec.c b/www/tor-browser/files/patch-third__party_sqlite3_ext_sqlite-vec_sqlite-vec.c new file mode 100644 index 000000000000..662857e65bc5 --- /dev/null +++ b/www/tor-browser/files/patch-third__party_sqlite3_ext_sqlite-vec_sqlite-vec.c @@ -0,0 +1,15 @@ +diff --git third_party/sqlite3/ext/sqlite-vec/sqlite-vec.c third_party/sqlite3/ext/sqlite-vec/sqlite-vec.c +index 96612e26d385..c43c46136bef 100644 +--- third_party/sqlite3/ext/sqlite-vec/sqlite-vec.c ++++ third_party/sqlite3/ext/sqlite-vec/sqlite-vec.c +@@ -11,6 +11,10 @@ + #include <stdlib.h> + #include <string.h> + ++#ifdef __FreeBSD__ ++#include <sys/types.h> ++#endif ++ + #ifndef SQLITE_VEC_OMIT_FS + #include <stdio.h> + #endif diff --git a/www/tor-browser/files/patch-toolkit_components_processtools_procinfo__bsd.c b/www/tor-browser/files/patch-toolkit_components_processtools_procinfo__bsd.c deleted file mode 100644 index e2e9a3cc88f4..000000000000 --- a/www/tor-browser/files/patch-toolkit_components_processtools_procinfo__bsd.c +++ /dev/null @@ -1,104 +0,0 @@ -diff --git toolkit/components/processtools/ProcInfo_bsd.cpp toolkit/components/processtools/ProcInfo_bsd.cpp -index a6ff4881940c..f041ed5e50ce 100644 ---- toolkit/components/processtools/ProcInfo_bsd.cpp -+++ toolkit/components/processtools/ProcInfo_bsd.cpp -@@ -18,6 +18,9 @@ - #include <cstdio> - #include <cstring> - #include <unistd.h> -+#ifdef __FreeBSD__ -+#include <sys/user.h> -+#endif - - namespace mozilla { - -@@ -50,25 +53,39 @@ ProcInfoPromise::ResolveOrRejectValue GetProcInfoSync( - } - for (const auto& request : aRequests) { - size_t size; -+#ifdef __FreeBSD__ -+ int mib[4]; -+ int mibsize = 4; -+ mib[0] = CTL_KERN; -+ mib[1] = KERN_PROC; -+ mib[2] = KERN_PROC_PID | KERN_PROC_INC_THREAD; -+ mib[3] = request.pid; -+#else - int mib[6]; -+ int mibsize = 6; - mib[0] = CTL_KERN; - mib[1] = KERN_PROC; - mib[2] = KERN_PROC_PID | KERN_PROC_SHOW_THREADS; - mib[3] = request.pid; - mib[4] = sizeof(kinfo_proc); - mib[5] = 0; -- if (sysctl(mib, 6, nullptr, &size, nullptr, 0) == -1) { -+#endif -+ if (sysctl(mib, mibsize, nullptr, &size, nullptr, 0) == -1) { - // Can't get info for this process. Skip it. - continue; - } - -+#ifdef __FreeBSD__ -+ auto procs = MakeUniqueFallible<kinfo_proc[]>(size / sizeof(kinfo_proc)); -+#else - mib[5] = size / sizeof(kinfo_proc); - auto procs = MakeUniqueFallible<kinfo_proc[]>(mib[5]); -+#endif - if (!procs) { - result.SetReject(NS_ERROR_OUT_OF_MEMORY); - return result; - } -- if (sysctl(mib, 6, procs.get(), &size, nullptr, 0) == -1 && -+ if (sysctl(mib, mibsize, procs.get(), &size, nullptr, 0) == -1 && - errno != ENOMEM) { - continue; - } -@@ -84,19 +101,34 @@ ProcInfoPromise::ResolveOrRejectValue GetProcInfoSync( - bool found = false; - for (size_t i = 0; i < size / sizeof(kinfo_proc); i++) { - const auto& p = procs[i]; -+#ifdef __FreeBSD__ -+ if (i == 0) { -+#else - if (p.p_tid == -1) { -+#endif - // This is the process. - found = true; -+#ifdef __FreeBSD__ -+ info.cpuTime = uint64_t(p.ki_runtime) * 1'000u; -+ info.memory = (p.ki_tsize + p.ki_dsize + p.ki_ssize) * getpagesize(); -+#else - info.cpuTime = uint64_t(p.p_rtime_sec) * 1'000'000'000u + - uint64_t(p.p_rtime_usec) * 1'000u; - info.memory = - (p.p_vm_tsize + p.p_vm_dsize + p.p_vm_ssize) * getpagesize(); -+#endif -+ - } else { - // This is one of its threads. - ThreadInfo threadInfo; -+#ifdef __FreeBSD__ -+ threadInfo.tid = p.ki_tid; -+ threadInfo.cpuTime = uint64_t(p.ki_runtime) * 1'000u; -+#else - threadInfo.tid = p.p_tid; - threadInfo.cpuTime = uint64_t(p.p_rtime_sec) * 1'000'000'000u + - uint64_t(p.p_rtime_usec) * 1'000u; -+#endif - info.threads.AppendElement(threadInfo); - } - } -diff --git toolkit/components/processtools/moz.build toolkit/components/processtools/moz.build -index b7c164c1b0ac..a41dad52c343 100644 ---- toolkit/components/processtools/moz.build -+++ toolkit/components/processtools/moz.build -@@ -39,7 +39,7 @@ BROWSER_CHROME_MANIFESTS += ["tests/browser/browser.ini"] - # Platform-specific implementations of `ProcInfo`. - toolkit = CONFIG["MOZ_WIDGET_TOOLKIT"] - if toolkit == "gtk" or toolkit == "android": -- if CONFIG["OS_TARGET"] == "OpenBSD": -+ if CONFIG["OS_TARGET"] == "FreeBSD" or CONFIG["OS_TARGET"] == "OpenBSD": - UNIFIED_SOURCES += ["ProcInfo_bsd.cpp"] - else: - UNIFIED_SOURCES += ["ProcInfo_linux.cpp"] |
