diff --git a/www/chromium/Makefile b/www/chromium/Makefile index 0777430a96a8..d76b052f36cc 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,393 +1,392 @@ PORTNAME= chromium -PORTVERSION= 143.0.7499.109 -PORTREVISION= 2 +PORTVERSION= 143.0.7499.146 PULSEMV= 16 PULSEV= ${PULSEMV}.1 CATEGORIES= www wayland MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ https://nerd.hu/distfiles/:external \ https://freedesktop.org/software/pulseaudio/releases/:pulseaudio DISTFILES= ${DISTNAME}-lite${EXTRACT_SUFX} \ pulseaudio-${PULSEV}.tar.gz:pulseaudio MAINTAINER= chromium@FreeBSD.org COMMENT= Google web browser based on WebKit WWW= https://www.chromium.org/Home LICENSE= BSD3CLAUSE LGPL21 MPL11 LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 BUILD_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ bindgen:devel/rust-bindgen-cli \ gperf:devel/gperf \ flock:sysutils/flock \ node:www/node \ rustc:lang/rust \ xcb-proto>0:x11/xcb-proto \ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ ${LOCALBASE}/share/usbids/usb.ids:misc/usbids \ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \ ${LOCALBASE}/include/va/va.h:multimedia/libva \ ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri \ ${LOCALBASE}/libdata/pkgconfig/Qt5Core.pc:devel/qt5-core \ ${LOCALBASE}/libdata/pkgconfig/Qt5Widgets.pc:x11-toolkits/qt5-widgets LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core \ libatspi.so:accessibility/at-spi2-core \ libspeechd.so:accessibility/speech-dispatcher \ libFLAC.so:audio/flac \ libopus.so:audio/opus \ libspeex.so:audio/speex \ libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libepoll-shim.so:devel/libepoll-shim \ libevent.so:devel/libevent \ libffi.so:devel/libffi \ libicuuc.so:devel/icu \ libjsoncpp.so:devel/jsoncpp \ libpci.so:devel/libpci \ libnspr4.so:devel/nspr \ libre2.so:devel/re2 \ libcairo.so:graphics/cairo \ libdrm.so:graphics/libdrm \ libexif.so:graphics/libexif \ libpng.so:graphics/png \ libwebp.so:graphics/webp \ libdav1d.so:multimedia/dav1d \ libopenh264.so:multimedia/openh264 \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libharfbuzz-icu.so:print/harfbuzz-icu \ libgcrypt.so:security/libgcrypt \ libsecret-1.so:security/libsecret \ libnss3.so:security/nss \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig \ libwayland-client.so:graphics/wayland \ libxkbcommon.so:x11/libxkbcommon \ libxshmfence.so:x11/libxshmfence RUN_DEPENDS= xdg-open:devel/xdg-utils \ noto-basic>0:x11-fonts/noto-basic USES= bison compiler:c++17-lang cpe desktop-file-utils gl gmake gnome \ iconv:wchar_t jpeg localbase:ldflags ninja perl5 pkgconfig \ python:build qt:5 shebangfix tar:xz xorg CPE_VENDOR= google CPE_PRODUCT= chrome USE_GL= gbm gl USE_GNOME= atk dconf gdkpixbuf glib20 gtk30 libxml2 libxslt USE_LDCONFIG= ${DATADIR} USE_PERL5= build USE_XORG= x11 xcb xcomposite xcursor xext xdamage xfixes xi \ xorgproto xrandr xrender xscrnsaver xtst USE_QT= buildtools:build SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper #buildtools/linux64/clang-format MAKE_ARGS= -C out/${BUILDTYPE} ALL_TARGET= chrome BINARY_ALIAS= python3=${PYTHON_CMD} # TODO bz@ : install libwidevinecdm.so (see third_party/widevine/cdm/BUILD.gn) # # Run "./out/${BUILDTYPE}/gn args out/${BUILDTYPE} --list" for all variables. # Some parts don't have use_system_* flag, and can be turned on/off by using # replace_gn_files.py script, some parts just turned on/off for target host # OS "target_os == is_bsd", like libusb, libpci. GN_ARGS+= clang_use_chrome_plugins=false \ enable_backup_ref_ptr_support=false \ enable_hangout_services_extension=true \ enable_remoting=false \ enable_widevine=true \ fatal_linker_warnings=false \ icu_use_data_file=false \ is_clang=true \ moc_qt5_path="${QT_TOOLDIR}/moc" \ optimize_webui=true \ toolkit_views=true \ treat_warnings_as_errors=false \ use_allocator_shim=false \ use_aura=true \ use_custom_libcxx=true \ use_custom_libunwind=true \ use_lld=true \ use_partition_alloc=true \ use_partition_alloc_as_malloc=false \ use_qt5=true \ use_sysroot=false \ use_system_freetype=false \ use_system_harfbuzz=true \ use_system_libffi=true \ use_system_libjpeg=true \ use_udev=false \ extra_cxxflags="${CXXFLAGS} -I${LOCALBASE}/include/libepoll-shim ${PINCLUDES}" \ extra_ldflags="${LDFLAGS}" \ ffmpeg_branding="${FFMPEG_BRAND}" # TODO: investigate building with these options: # use_system_minigbm GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles # FreeBSD Chromium Api Key # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . # Note: these are for FreeBSD use ONLY. For your own distribution, # please get your own set of keys. GN_ARGS+= google_api_key="AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8" SUB_FILES= chromium-browser.desktop chrome SUB_LIST+= COMMENT="${COMMENT}" OPTIONS_DEFINE= CODECS CUPS DEBUG DRIVER KERBEROS LTO PIPEWIRE TEST WIDEVINE OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS PIPEWIRE SNDIO ALSA PULSEAUDIO OPTIONS_EXCLUDE_aarch64=LTO OPTIONS_GROUP= AUDIO OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO OPTIONS_RADIO= KERBEROS OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT OPTIONS_SUB= yes CODECS_DESC= Compile and enable patented codecs like H.264 DRIVER_DESC= Install chromedriver HEIMDAL_BASE_DESC= Heimdal Kerberos (base) HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) MIT_DESC= MIT Kerberos (security/krb5) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ alsa-lib>=1.1.1_1:audio/alsa-lib ALSA_VARS= GN_ARGS+=use_alsa=true ALSA_VARS_OFF= GN_ARGS+=use_alsa=false CODECS_VARS= GN_ARGS+=proprietary_codecs=true \ FFMPEG_BRAND="Chrome" CODECS_VARS_OFF= GN_ARGS+=proprietary_codecs=false \ FFMPEG_BRAND="Chromium" CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_VARS= GN_ARGS+=use_cups=true CUPS_VARS_OFF= GN_ARGS+=use_cups=false DEBUG_BUILD_DEPENDS= esbuild:devel/esbuild DEBUG_VARS= BUILDTYPE=Debug \ GN_ARGS+=is_debug=true \ GN_ARGS+=is_component_build=false \ GN_ARGS+=symbol_level=1 \ GN_BOOTSTRAP_FLAGS+=--debug \ WANTSPACE="60 GB" \ WANTMEM="32 GB" DEBUG_VARS_OFF= BUILDTYPE=Release \ GN_ARGS+=blink_symbol_level=0 \ GN_ARGS+=is_debug=false \ GN_ARGS+=is_official_build=true \ GN_ARGS+=symbol_level=0 \ WANTSPACE="35 GB" \ WANTMEM="8 GB" DRIVER_MAKE_ARGS= chromedriver HEIMDAL_LIB_DEPENDS= libkrb.so.26:security/heimdal KERBEROS_VARS= GN_ARGS+=use_kerberos=true KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false LTO_VARS= GN_ARGS+=use_thin_lto=true \ GN_ARGS+=thin_lto_enable_optimizations=true \ WANTSPACE="40 GB" \ WANTMEM="16 GB" LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false MIT_LIB_DEPENDS= libkrb.so.3:security/krb5 PIPEWIRE_DESC= Screen capture via PipeWire PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire PIPEWIRE_VARS= GN_ARGS+=rtc_use_pipewire=true \ GN_ARGS+=rtc_link_pipewire=true PIPEWIRE_VARS_OFF= GN_ARGS+=rtc_use_pipewire=false \ GN_ARGS+=rtc_link_pipewire=false PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true \ PINCLUDES="-I${WRKDIR}/pulseaudio-${PULSEV}/src -DPA_MAJOR=${PULSEMV}" PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= GN_ARGS+=use_sndio=true SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false WIDEVINE_DESC= Depend on foreign-cdm to enable playback of DRM content WIDEVINE_RUN_DEPENDS= foreign-cdm>0:www/foreign-cdm .include "Makefile.tests" TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} TEST_ALL_TARGET= ${TEST_TARGETS} .include .include # for COMPILER_VERSION .if ${PORT_OPTIONS:MHEIMDAL_BASE} && !exists(/usr/lib/libkrb5.so) IGNORE= you have selected HEIMDAL_BASE but do not have Heimdal installed in base .endif LLVM_DEFAULT= 21 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \ ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \ ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} # - swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only # - map ffmpeg target to ${ARCH} .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " FFMPEG_TARGET= arm64 .elif ${ARCH} == amd64 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= x64 .elif ${ARCH} == i386 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= ia32 .endif FFMPEG_BDIR= ${WRKSRC}/third_party/ffmpeg/build.${FFMPEG_TARGET}.freebsd/${FFMPEG_BRAND} FFMPEG_CDIR= ${WRKSRC}/third_party/ffmpeg/chromium/config/${FFMPEG_BRAND}/freebsd/${FFMPEG_TARGET} # Allow relocations against read-only segments (override lld default) LDFLAGS_i386= -Wl,-znotext # TODO: -isystem, would be just as ugly as this approach, but more reliably # build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set. MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ CPLUS_INCLUDE_PATH=${LOCALBASE}/include # rust MAKE_ENV+= RUSTC_BOOTSTRAP=1 GN_ARGS+= enable_rust=true \ rust_sysroot_absolute="${LOCALBASE}" pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build ${PORTNAME}, you should have at least:" @${ECHO_MSG} "- ${WANTMEM} of memory" @${ECHO_MSG} "- ${WANTSPACE} of free disk space" @${ECHO_MSG} "- 1.5 million free inodes" @${ECHO_MSG} pre-configure: # We used to remove bundled libraries to be sure that chromium uses # system libraries and not shipped ones. # cd ${WRKSRC} && ${PYTHON_CMD} \ #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ ./build/linux/unbundle/replace_gn_files.py --system-libraries \ dav1d flac fontconfig harfbuzz-ng libdrm libpng \ libusb libwebp libxml libxslt openh264 opus || ${FALSE} # Chromium uses an unreleased version of FFmpeg, so configure it cd ${WRKSRC}/media/ffmpeg && \ ${PYTHON_CMD} scripts/build_ffmpeg.py freebsd ${FFMPEG_TARGET} \ --config-only --branding=${FFMPEG_BRAND} cd ${FFMPEG_BDIR} && ${GMAKE} ffversion.h ${MKDIR} ${FFMPEG_CDIR} .for _e in config.h config.asm config_components.h libavcodec libavformat libavutil -${CP} -pR ${FFMPEG_BDIR}/${_e} ${FFMPEG_CDIR} .endfor touch ${WRKDIR}/pulseaudio-${PULSEV}/src/pulse/version.h @${REINPLACE_CMD} -e 's|$${LOCALBASE}|${LOCALBASE}|;s|$${MODCLANG_VERSION}|${LLVM_DEFAULT}|' \ ${WRKSRC}/build/linux/strip_binary.gni \ ${WRKSRC}/build/rust/rust_bindgen.gni \ ${WRKSRC}/build/rust/rust_bindgen_generator.gni do-configure: @( \ echo "#ifndef GPU_WEBGPU_DAWN_COMMIT_HASH_H_" ;\ echo "#define GPU_WEBGPU_DAWN_COMMIT_HASH_H_" ;\ echo "#define DAWN_COMMIT_HASH \"$$(cat ${WRKSRC}/gpu/webgpu/DAWN_VERSION)\"" ;\ echo "#endif // GPU_WEBGPU_DAWN_COMMIT_HASH_H_" \ ) > ${WRKSRC}/gpu/webgpu/dawn_commit_hash.h # GN generator bootstrapping and generating ninja files cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \ READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn \ gen --args='${GN_ARGS}' out/${BUILDTYPE} # Setup nodejs dependency @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node # Setup buildtools/freebsd @${MKDIR} ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/out/${BUILDTYPE}/gn ${WRKSRC}/buildtools/freebsd ${LN} -sf /usr/bin/strip ${WRKSRC}/buildtools/freebsd/strip do-install: @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_MAN} ${WRKSRC}/chrome/app/resources/manpage.1.in \ ${STAGEDIR}${PREFIX}/share/man/man1/chrome.1 @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \ ${STAGEDIR}${PREFIX}/share/man/man1/chrome.1 ${CP} ${WRKSRC}/chrome/app/theme/chromium/product_logo_22_mono.png ${WRKSRC}/chrome/app/theme/chromium/product_logo_22.png .for s in 22 24 48 64 128 256 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps ${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/chrome.png .endfor ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.png ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.pak ${STAGEDIR}${DATADIR} .for d in protoc mksnapshot ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor .for d in snapshot_blob.bin v8_context_snapshot.bin ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chrome \ ${STAGEDIR}${DATADIR} cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/chromium-browser.desktop \ ${STAGEDIR}${DESKTOPDIR} ${INSTALL_SCRIPT} ${WRKDIR}/chrome ${STAGEDIR}${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/chrome/tools/build/linux/chrome-wrapper \ ${STAGEDIR}${DATADIR} # ANGLE, EGL, Vk .for f in libEGL.so libGLESv2.so libVkICD_mock_icd.so ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 \ ${STAGEDIR}${DATADIR}/libvulkan.so .if ${BUILDTYPE} == Debug ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so ${STAGEDIR}${DATADIR} .endif # SwiftShader .if ${ARCH} != aarch64 ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvk_swiftshader.so ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/vk_swiftshader_icd.json ${STAGEDIR}${DATADIR} .endif post-install-DEBUG-on: ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \ ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \ ${STAGEDIR}${DATADIR} post-install-DRIVER-on: ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver.unstripped \ ${STAGEDIR}${PREFIX}/bin/chromedriver do-test-TEST-on: .for t in ${TEST_TARGETS} cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor .include diff --git a/www/chromium/distinfo b/www/chromium/distinfo index 1bb61bf5483f..05d5bf52031b 100644 --- a/www/chromium/distinfo +++ b/www/chromium/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1765526502 -SHA256 (chromium-143.0.7499.109-lite.tar.xz) = d3a3f3acbae7c9edc75fcea8c7725f90c6e5b57a21c8e37d3e629f2224184b51 -SIZE (chromium-143.0.7499.109-lite.tar.xz) = 1140751164 +TIMESTAMP = 1766134552 +SHA256 (chromium-143.0.7499.146-lite.tar.xz) = d79916348f34ecb154201ba2908a0c1ffaf8ae9670215c575b76cf95b10fb076 +SIZE (chromium-143.0.7499.146-lite.tar.xz) = 1140736788 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (chromium-143.0.7499.109-testdata.tar.xz) = 64df31b9d193c71705ec43a3fcd1120f6ec775e1660aa94276b9bc86fef715ce -SIZE (chromium-143.0.7499.109-testdata.tar.xz) = 1155272172 +SHA256 (chromium-143.0.7499.146-testdata.tar.xz) = 20b86e1557beeb1654005a7793dd796205a3b75fdb05df94ffbedf376485db17 +SIZE (chromium-143.0.7499.146-testdata.tar.xz) = 1155417248 diff --git a/www/chromium/files/patch-BUILD.gn b/www/chromium/files/patch-BUILD.gn index 58b7175718a4..31618ed2e0a6 100644 --- a/www/chromium/files/patch-BUILD.gn +++ b/www/chromium/files/patch-BUILD.gn @@ -1,98 +1,98 @@ ---- BUILD.gn.orig 2025-12-05 10:12:50 UTC +--- BUILD.gn.orig 2025-12-19 09:02:31 UTC +++ BUILD.gn -@@ -68,7 +68,7 @@ declare_args() { +@@ -67,7 +67,7 @@ declare_args() { root_extra_deps = [] } -if (is_official_build) { +if (is_official_build && !is_bsd) { # An official (maximally optimized!) component (optimized for build times) # build doesn't make sense and usually doesn't work. assert(!is_component_build) -@@ -101,7 +101,6 @@ group("gn_all") { +@@ -100,7 +100,6 @@ group("gn_all") { "//codelabs", "//components:components_unittests", "//components/gwp_asan:gwp_asan_unittests", - "//infra/orchestrator:orchestrator_all", "//net:net_unittests", "//sandbox:sandbox_unittests", "//services:services_unittests", -@@ -431,7 +430,7 @@ group("gn_all") { +@@ -430,7 +429,7 @@ group("gn_all") { } } - if (is_linux || is_chromeos || is_android) { + if ((is_linux && !is_bsd) || is_chromeos || is_android) { deps += [ "//third_party/breakpad:breakpad_unittests", "//third_party/breakpad:core-2-minidump", -@@ -598,6 +597,15 @@ group("gn_all") { +@@ -597,6 +596,15 @@ group("gn_all") { } } + if (is_bsd) { + deps -= [ + "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)", + "//third_party/breakpad:microdump_stackwalk($host_system_allocator_toolchain)", + "//third_party/breakpad:minidump_dump($host_system_allocator_toolchain)", + "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)", + ] + } + if (is_mac) { deps += [ "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)", -@@ -646,7 +654,7 @@ group("gn_all") { +@@ -645,7 +653,7 @@ group("gn_all") { } } - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { # The official builders use this binary from the default toolchain's # output directory after building in order to upload the symbols of that # binary. They build the binary like `ninja symupload` which requires the -@@ -681,7 +689,7 @@ group("gn_all") { +@@ -680,7 +688,7 @@ group("gn_all") { ] } - if (is_mac || is_win || is_android || is_linux || is_chromeos) { + if (!is_bsd && (is_mac || is_win || is_android || is_linux || is_chromeos)) { deps += [ "//third_party/crashpad/crashpad:crashpad_tests", "//third_party/crashpad/crashpad/handler:crashpad_handler", -@@ -1072,7 +1080,7 @@ if (use_blink && !is_cronet_build) { +@@ -1071,7 +1079,7 @@ if (use_blink && !is_cronet_build) { "//third_party/blink/public:all_blink", ] - if (!is_chromeos && !is_ios && !is_fuchsia && !is_android && !is_castos) { + if (!is_chromeos && !is_ios && !is_fuchsia && !is_android && !is_castos && !is_bsd) { deps += [ ":chrome_wpt_tests", ":headless_shell_wpt", -@@ -1225,7 +1233,7 @@ if (use_blink && !is_cronet_build) { +@@ -1224,7 +1232,7 @@ if (use_blink && !is_cronet_build) { data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ] } - if (!is_win && !is_android) { + if (!is_win && !is_android && !is_bsd) { # Using the default toolchain for this tool, as it's run during tests not # during the build. This places a symlink in the root_build_dir for scrips # to use. -@@ -1239,7 +1247,7 @@ if (use_blink && !is_cronet_build) { +@@ -1238,7 +1246,7 @@ if (use_blink && !is_cronet_build) { data_deps += [ "//third_party/breakpad:dump_syms" ] } - if (is_linux || is_chromeos) { + if ((is_linux && !is_bsd) || is_chromeos) { # Using the default toolchain for this tool, as it's run during tests not # during the build. This places a symlink in the root_build_dir for scrips # to use. -@@ -1536,7 +1544,7 @@ group("chromium_builder_perf") { +@@ -1535,7 +1543,7 @@ group("chromium_builder_perf") { data_deps += [ "//chrome/test:performance_browser_tests" ] } - if (!is_win) { + if (!is_win && !is_bsd) { data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)" ] } } diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc index a5d4ad8ace4f..7f84417c5abc 100644 --- a/www/chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/chromium/files/patch-chrome_browser_about__flags.cc @@ -1,466 +1,466 @@ ---- chrome/browser/about_flags.cc.orig 2025-12-12 12:11:50 UTC +--- chrome/browser/about_flags.cc.orig 2025-12-19 09:02:31 UTC +++ chrome/browser/about_flags.cc @@ -332,12 +332,12 @@ #include "components/stylus_handwriting/win/features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/allocator/buildflags.h" #include "ui/ozone/public/ozone_switches.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/contextual_cueing/contextual_cueing_features.h" // nogncheck #include "chrome/browser/enterprise/profile_management/profile_management_features.h" #include "chrome/browser/enterprise/webstore/features.h" @@ -866,6 +866,26 @@ const FeatureEntry::FeatureVariation std::size(kWebIdentityDigitalIdentityCredentialHighRiskDialogParam), nullptr}}; +#if BUILDFLAG(IS_BSD) +const FeatureEntry::FeatureParam kAudioBackendPulseAudio[] = { + { "audio-backend", "pulseaudio" }}; +const FeatureEntry::FeatureParam kAudioBackendSndio[] = { + { "audio-backend", "sndio" }}; +const FeatureEntry::FeatureParam kAudioBackendAlsa[] = { + { "audio-backend", "alsa" }}; +const FeatureEntry::FeatureVariation + kAudioBackendVariations[] = { + {"using PulseAudio by default if available", kAudioBackendPulseAudio, + std::size(kAudioBackendPulseAudio), + nullptr}, + {"using sndio by default if available", kAudioBackendSndio, + std::size(kAudioBackendSndio), + nullptr}, + {"using ALSA by default if available", kAudioBackendAlsa, + std::size(kAudioBackendAlsa), + nullptr}}; +#endif + const FeatureEntry::FeatureParam kClipboardMaximumAge60Seconds[] = { {"UIClipboardMaximumAge", "60"}}; const FeatureEntry::FeatureParam kClipboardMaximumAge90Seconds[] = { -@@ -1321,7 +1341,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada +@@ -1336,7 +1356,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // A limited number of combinations of the rich autocompletion params. const FeatureEntry::FeatureParam kOmniboxRichAutocompletionAggressive1[] = { -@@ -3975,7 +3995,7 @@ const FeatureEntry::FeatureVariation +@@ -3990,7 +4010,7 @@ const FeatureEntry::FeatureVariation #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOn[] = {{"link_capturing_state", "on_by_default"}}; const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOff[] = -@@ -4005,7 +4025,7 @@ const flags_ui::FeatureEntry::FeatureVariation +@@ -4020,7 +4040,7 @@ const flags_ui::FeatureEntry::FeatureVariation #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) const FeatureEntry::Choice kReplaceSyncPromosWithSignInPromosChoices[] = { {"Default", "", ""}, {"Disabled", switches::kDisableFeatures, -@@ -4231,7 +4251,7 @@ const FeatureEntry::FeatureVariation kSkiaGraphiteVari +@@ -4246,7 +4266,7 @@ const FeatureEntry::FeatureVariation kSkiaGraphiteVari std::size(kSkiaGraphite_DebugLabelsEnabled), nullptr}, }; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kTranslationAPI_SkipLanguagePackLimit[] = { {"TranslationAPIAcceptLanguagesCheck", "false"}, {"TranslationAPILimitLanguagePackCount", "false"}}; -@@ -4251,7 +4271,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent +@@ -4266,7 +4286,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent }; #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kContextualCueingEnabledNoEngagementCap[] = { {"BackoffTime", "0h"}, {"BackoffMultiplierBase", "0.0"}, -@@ -5020,7 +5040,7 @@ const FeatureEntry::FeatureVariation kMobilePromoOnDes +@@ -5035,7 +5055,7 @@ const FeatureEntry::FeatureVariation kMobilePromoOnDes }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kNtpCustomizeChromeAutoOpenOnEveryNTP[] = { {"max_customize_chrome_auto_shown_count", "5"}, {"max_customize_chrome_auto_shown_session_count", "5"}}; -@@ -5156,7 +5176,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa +@@ -5171,7 +5191,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa nullptr}}; #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kProfilePickerTextVariation1[] = { {"profile-picker-variation", "keep-work-and-life-separate"}}; const FeatureEntry::FeatureParam kProfilePickerTextVariation2[] = { -@@ -5735,7 +5755,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5750,7 +5770,7 @@ const FeatureEntry kFeatureEntries[] = { }, #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { "fluent-overlay-scrollbars", flag_descriptions::kFluentOverlayScrollbarsName, -@@ -6033,7 +6053,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6048,7 +6068,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableIsolatedWebAppDevModeName, flag_descriptions::kEnableIsolatedWebAppDevModeDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kIsolatedWebAppDevMode)}, -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"enable-iwa-key-distribution-component", flag_descriptions::kEnableIwaKeyDistributionComponentName, flag_descriptions::kEnableIwaKeyDistributionComponentDescription, -@@ -6225,7 +6245,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6240,7 +6260,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kUseSCContentSharingPicker)}, #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"pulseaudio-loopback-for-cast", flag_descriptions::kPulseaudioLoopbackForCastName, flag_descriptions::kPulseaudioLoopbackForCastDescription, kOsLinux, -@@ -6254,6 +6274,16 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6269,6 +6289,16 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWaylandSessionManagementName, flag_descriptions::kWaylandSessionManagementDescription, kOsLinux, FEATURE_VALUE_TYPE(features::kWaylandSessionManagement)}, + +#if BUILDFLAG(IS_BSD) + {"audio-backend", + flag_descriptions::kAudioBackendName, + flag_descriptions::kAudioBackendDescription, kOsLinux, + FEATURE_WITH_PARAMS_VALUE_TYPE( + media::kAudioBackend, + kAudioBackendVariations, + "AudioBackend")}, +#endif #endif // BUILDFLAG(IS_LINUX) #if BUILDFLAG(ENABLE_VR) -@@ -7124,7 +7154,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7139,7 +7169,7 @@ const FeatureEntry kFeatureEntries[] = { "MlUrlScoring")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-search-box-uses-contextual-search-provider", flag_descriptions::kContextualSearchBoxUsesContextualSearchProviderName, flag_descriptions:: -@@ -7540,7 +7570,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7555,7 +7585,7 @@ const FeatureEntry kFeatureEntries[] = { kNumSrpZpsRelatedSearches, "PowerTools")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"history-embeddings", flag_descriptions::kHistoryEmbeddingsName, flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop, FEATURE_VALUE_TYPE(history_embeddings::kHistoryEmbeddings)}, -@@ -7755,7 +7785,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7770,7 +7800,7 @@ const FeatureEntry kFeatureEntries[] = { "NtpRealboxNext")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"ntp-customize-chrome-auto-open", flag_descriptions::kNtpCustomizeChromeAutoOpenName, flag_descriptions::kNtpCustomizeChromeAutoOpenDescription, kOsDesktop, -@@ -8034,7 +8064,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8049,7 +8079,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(printing::features::kAddPrinterViaPrintscanmgr)}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"cups-ipp-printing-backend", flag_descriptions::kCupsIppPrintingBackendName, flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop, -@@ -8972,7 +9002,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8987,7 +9017,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kGlobalMediaControlsUpdatedUI)}, #endif // !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-network-service-sandbox", flag_descriptions::kEnableNetworkServiceSandboxName, flag_descriptions::kEnableNetworkServiceSandboxDescription, -@@ -9543,7 +9573,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9558,7 +9588,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kGlobalVaapiLockDescription, kOsCrOS | kOsLinux, FEATURE_VALUE_TYPE(media::kGlobalVaapiLock)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { "ui-debug-tools", flag_descriptions::kUIDebugToolsName, -@@ -10000,7 +10030,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10015,7 +10045,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"media-session-enter-picture-in-picture", flag_descriptions::kMediaSessionEnterPictureInPictureName, flag_descriptions::kMediaSessionEnterPictureInPictureDescription, -@@ -10197,7 +10227,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10212,7 +10242,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kReduceTransferSizeUpdatedIPCDescription, kOsAll, FEATURE_VALUE_TYPE(network::features::kReduceTransferSizeUpdatedIPC)}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"reduce-user-agent-data-linux-platform-version", flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionName, flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionDescription, -@@ -10759,7 +10789,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10774,7 +10804,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kRcapsDynamicProfileCountryDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kDynamicProfileCountry)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"enable-generic-oidc-auth-profile-management", flag_descriptions::kEnableGenericOidcAuthProfileManagementName, flag_descriptions::kEnableGenericOidcAuthProfileManagementDescription, -@@ -10780,7 +10810,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10795,7 +10825,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-user-navigation-capturing-pwa", flag_descriptions::kPwaNavigationCapturingName, flag_descriptions::kPwaNavigationCapturingDescription, -@@ -11294,7 +11324,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11309,7 +11339,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kResponsiveIframesDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kResponsiveIframes)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"replace-sync-promos-with-sign-in-promos-desktop", flag_descriptions::kReplaceSyncPromosWithSignInPromosName, flag_descriptions::kReplaceSyncPromosWithSignInPromosDescription, -@@ -11710,7 +11740,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11725,7 +11755,7 @@ const FeatureEntry kFeatureEntries[] = { segmentation_platform::features::kSegmentationSurveyPage)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later", flag_descriptions::kAutofillEnableBuyNowPayLaterName, flag_descriptions::kAutofillEnableBuyNowPayLaterDescription, -@@ -11781,7 +11811,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11796,7 +11826,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE( autofill::features::kAutofillEnableCardInfoRuntimeRetrieval)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"translation-api", flag_descriptions::kTranslationAPIName, flag_descriptions::kTranslationAPIDescription, kOsMac | kOsWin | kOsLinux, FEATURE_WITH_PARAMS_VALUE_TYPE(blink::features::kTranslationAPI, -@@ -11807,7 +11837,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11822,7 +11852,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE( password_manager::features::kPasswordFormClientsideClassifier)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"contextual-cueing", flag_descriptions::kContextualCueingName, flag_descriptions::kContextualCueingDescription, kOsLinux | kOsMac | kOsWin, -@@ -12183,7 +12213,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12198,7 +12228,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(ui::kUseNewEtc1Encoder)}, #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"automatic-usb-detach", flag_descriptions::kAutomaticUsbDetachName, flag_descriptions::kAutomaticUsbDetachDescription, kOsAndroid | kOsLinux, FEATURE_VALUE_TYPE(features::kAutomaticUsbDetach)}, -@@ -12219,7 +12249,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12234,7 +12264,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction", flag_descriptions::kAutofillEnableAmountExtractionName, flag_descriptions::kAutofillEnableAmountExtractionDescription, -@@ -12364,7 +12394,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12379,7 +12409,7 @@ const FeatureEntry kFeatureEntries[] = { apps::chrome_app_deprecation::kAllowUserInstalledChromeApps)}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"chrome-web-store-navigation-throttle", flag_descriptions::kChromeWebStoreNavigationThrottleName, flag_descriptions::kChromeWebStoreNavigationThrottleDescription, -@@ -12393,7 +12423,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12408,7 +12438,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(supervised_user::kSupervisedUserBlockInterstitialV3)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction-testing", flag_descriptions::kAutofillEnableAmountExtractionTestingName, flag_descriptions::kAutofillEnableAmountExtractionTestingDescription, -@@ -12408,7 +12438,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12423,7 +12453,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableWebAppPredictableAppUpdatingDescription, kOsAll, FEATURE_VALUE_TYPE(features::kWebAppPredictableAppUpdating)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"root-scrollbar-follows-browser-theme", flag_descriptions::kRootScrollbarFollowsTheme, flag_descriptions::kRootScrollbarFollowsThemeDescription, -@@ -12685,7 +12715,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12700,7 +12730,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"tab-group-home", tabs::flag_descriptions::kTabGroupHomeName, tabs::flag_descriptions::kTabGroupHomeDescription, kOsDesktop, FEATURE_VALUE_TYPE(tabs::kTabGroupHome)}, -@@ -12775,7 +12805,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12790,7 +12820,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-site-search-allow-user-override-policy", flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyName, flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyDescription, -@@ -12887,7 +12917,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12902,7 +12932,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-klarna", flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaName, flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaDescription, -@@ -12960,7 +12990,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12975,7 +13005,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-externally-linked", flag_descriptions::kAutofillEnableBuyNowPayLaterForExternallyLinkedName, flag_descriptions:: -@@ -13238,7 +13268,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13253,7 +13283,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID), #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-ntp-enterprise-shortcuts", flag_descriptions::kEnableNtpEnterpriseShortcutsName, flag_descriptions::kEnableNtpEnterpriseShortcutsDescription, -@@ -13345,7 +13375,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13360,7 +13390,7 @@ const FeatureEntry kFeatureEntries[] = { autofill::features::kAutofillAndPasswordsInSameSurface)}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-suggestion-ui-improvements", flag_descriptions::kContextualSuggestionsUiImprovementsName, flag_descriptions::kContextualSuggestionsUiImprovementsDescription, -@@ -13373,7 +13403,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13388,7 +13418,7 @@ const FeatureEntry kFeatureEntries[] = { "EnableBlockCanvasReadback")}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"autofill-enable-ai-based-amount-extraction", flag_descriptions::kAutofillEnableAiBasedAmountExtractionName, flag_descriptions::kAutofillEnableAiBasedAmountExtractionDescription, -@@ -13423,7 +13453,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13438,7 +13468,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kCryptographyComplianceCnsa)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-reinvocation-affordance", flag_descriptions::kLensSearchReinvocationAffordanceName, flag_descriptions::kLensSearchReinvocationAffordanceDescription, -@@ -13481,7 +13511,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13496,7 +13526,7 @@ const FeatureEntry kFeatureEntries[] = { STRING_VALUE_TYPE(variations::switches::kVariationsSeedCorpus, "")}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"passkey-unlock-error-ui", flag_descriptions::kPasskeyUnlockErrorUiName, flag_descriptions::kPasskeyUnlockErrorUiDescription, kOsDesktop, FEATURE_VALUE_TYPE(device::kPasskeyUnlockErrorUi)}, -@@ -13518,7 +13548,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13533,7 +13563,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kUserValueDefaultBrowserStrings)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-read-aloud-ts-text-segmentation", flag_descriptions::kReadAnythingReadAloudTsTextSegmentationName, flag_descriptions::kReadAnythingReadAloudTsTextSegmentationDescription, -@@ -13530,7 +13560,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13545,7 +13575,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kHandleMdmErrorsForDasherAccountsDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kHandleMdmErrorsForDasherAccounts)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-decline-signin-cta-experiment", flag_descriptions::kProfileCreationDeclineSigninCTAExperimentName, flag_descriptions::kProfileCreationDeclineSigninCTAExperimentDescription, -@@ -13538,7 +13568,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13553,7 +13583,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kProfileCreationDeclineSigninCTAExperiment)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"show-profile-picker-to-all-users-experiment", flag_descriptions::kShowProfilePickerToAllUsersExperimentName, flag_descriptions::kShowProfilePickerToAllUsersExperimentDescription, -@@ -13588,7 +13618,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13603,7 +13633,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kAndroidDesktopZoomScaling)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-picker-text-variations", flag_descriptions::kProfilePickerTextVariationsName, flag_descriptions::kProfilePickerTextVariationsDescription, -@@ -13599,7 +13629,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13614,7 +13644,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-optimization-filter", flag_descriptions::kLensOverlayOptimizationFilterName, flag_descriptions::kLensOverlayOptimizationFilterDescription, kOsDesktop, -@@ -13618,7 +13648,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13633,7 +13663,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(network::features::kConnectionAllowlists)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-with-readability-enabled", flag_descriptions::kReadAnythingWithReadabilityName, flag_descriptions::kReadAnythingWithReadabilityDescription, kOsDesktop, -@@ -13626,7 +13656,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13641,7 +13671,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-non-blocking-privacy-notice", flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeName, flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeDescription, diff --git a/www/ungoogled-chromium/Makefile b/www/ungoogled-chromium/Makefile index 5fd8e8a3029b..e8b7c37ecaa9 100644 --- a/www/ungoogled-chromium/Makefile +++ b/www/ungoogled-chromium/Makefile @@ -1,414 +1,413 @@ PORTNAME= ungoogled-chromium -PORTVERSION= 143.0.7499.109 -PORTREVISION= 2 +PORTVERSION= 143.0.7499.146 PULSEMV= 16 PULSEV= ${PULSEMV}.1 UGVERSION= ${DISTVERSION}-1 CATEGORIES= www wayland MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/:goo \ https://freedesktop.org/software/pulseaudio/releases/:pulseaudio DISTFILES= chromium-${DISTVERSION}-lite${EXTRACT_SUFX}:goo \ pulseaudio-${PULSEV}.tar.gz:pulseaudio USE_GITHUB= yes GH_ACCOUNT= ungoogled-software GH_TAGNAME= ${UGVERSION} MAINTAINER= chromium@FreeBSD.org COMMENT= Google web browser based on WebKit sans integration with Google WWW= https://github.com/ungoogled-software/ungoogled-chromium LICENSE= BSD3CLAUSE LGPL21 MPL11 LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 PATCH_DEPENDS= gpatch:devel/patch \ ${PYTHON_VERSION}:lang/python${PYTHON_SUFFIX} BUILD_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ bindgen:devel/rust-bindgen-cli \ gperf:devel/gperf \ flock:sysutils/flock \ node:www/node \ rustc:lang/rust \ xcb-proto>0:x11/xcb-proto \ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ ${LOCALBASE}/share/usbids/usb.ids:misc/usbids \ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \ ${LOCALBASE}/include/va/va.h:multimedia/libva \ ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri \ ${LOCALBASE}/libdata/pkgconfig/Qt5Core.pc:devel/qt5-core \ ${LOCALBASE}/libdata/pkgconfig/Qt5Widgets.pc:x11-toolkits/qt5-widgets LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core \ libatspi.so:accessibility/at-spi2-core \ libspeechd.so:accessibility/speech-dispatcher \ libFLAC.so:audio/flac \ libopus.so:audio/opus \ libspeex.so:audio/speex \ libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libepoll-shim.so:devel/libepoll-shim \ libevent.so:devel/libevent \ libffi.so:devel/libffi \ libicuuc.so:devel/icu \ libjsoncpp.so:devel/jsoncpp \ libpci.so:devel/libpci \ libnspr4.so:devel/nspr \ libre2.so:devel/re2 \ libcairo.so:graphics/cairo \ libdrm.so:graphics/libdrm \ libexif.so:graphics/libexif \ libpng.so:graphics/png \ libwebp.so:graphics/webp \ libdav1d.so:multimedia/dav1d \ libopenh264.so:multimedia/openh264 \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libharfbuzz-icu.so:print/harfbuzz-icu \ libgcrypt.so:security/libgcrypt \ libsecret-1.so:security/libsecret \ libnss3.so:security/nss \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig \ libwayland-client.so:graphics/wayland \ libxkbcommon.so:x11/libxkbcommon \ libxshmfence.so:x11/libxshmfence RUN_DEPENDS= xdg-open:devel/xdg-utils \ noto-basic>0:x11-fonts/noto-basic USES= bison compiler:c++17-lang cpe desktop-file-utils gl gmake gnome \ iconv:wchar_t jpeg localbase:ldflags ninja perl5 pkgconfig \ python:build qt:5 shebangfix tar:xz xorg CPE_VENDOR= google CPE_PRODUCT= chrome USE_GL= gbm gl USE_GNOME= atk dconf gdkpixbuf glib20 gtk30 libxml2 libxslt USE_LDCONFIG= ${DATADIR} USE_PERL5= build USE_XORG= x11 xcb xcomposite xcursor xext xdamage xfixes xi \ xorgproto xrandr xrender xscrnsaver xtst USE_QT= buildtools:build SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper MAKE_ARGS= -C out/${BUILDTYPE} ALL_TARGET= chrome BINARY_ALIAS= python3=${PYTHON_CMD} # TODO bz@ : install libwidevinecdm.so (see third_party/widevine/cdm/BUILD.gn) # # Run "./out/${BUILDTYPE}/gn args out/${BUILDTYPE} --list" for all variables. # Some parts don't have use_system_* flag, and can be turned on/off by using # replace_gn_files.py script, some parts just turned on/off for target host # OS "target_os == is_bsd", like libusb, libpci. GN_ARGS+= enable_widevine=true \ fatal_linker_warnings=false \ icu_use_data_file=false \ is_clang=true \ moc_qt5_path="${QT_TOOLDIR}/moc" \ optimize_webui=true \ toolkit_views=true \ use_allocator_shim=false \ use_aura=true \ use_custom_libcxx=true \ use_custom_libunwind=true \ use_lld=true \ use_partition_alloc=true \ use_partition_alloc_as_malloc=false \ use_qt5=true \ use_sysroot=false \ use_system_freetype=false \ use_system_harfbuzz=true \ use_system_libffi=true \ use_system_libjpeg=true \ use_udev=false \ extra_cxxflags="${CXXFLAGS} -I${LOCALBASE}/include/libepoll-shim ${PINCLUDES}" \ extra_ldflags="${LDFLAGS}" \ ffmpeg_branding="${FFMPEG_BRAND}" # sync with flags.gni GN_ARGS+= build_with_tflite_lib=false \ chrome_pgo_phase=0 \ clang_use_chrome_plugins=false \ disable_fieldtrial_testing_config=true \ enable_backup_ref_ptr_support=false \ enable_hangout_services_extension=false \ enable_mdns=false \ enable_remoting=false \ enable_reporting=false \ enable_service_discovery=false \ exclude_unwind_tables=true \ google_api_key="" \ google_default_client_id="" \ google_default_client_secret="" \ safe_browsing_mode=0 \ treat_warnings_as_errors=false \ use_official_google_api_keys=false \ use_unofficial_version_number=false # TODO: investigate building with these options: # use_system_minigbm GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles SUB_FILES= ungoogled-chromium.desktop ungoogled-chromium SUB_LIST+= COMMENT="${COMMENT}" OPTIONS_DEFINE= CODECS CUPS DEBUG DRIVER KERBEROS LTO PIPEWIRE TEST WIDEVINE OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS PIPEWIRE SNDIO ALSA PULSEAUDIO OPTIONS_EXCLUDE_aarch64=LTO OPTIONS_GROUP= AUDIO OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO OPTIONS_RADIO= KERBEROS OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT OPTIONS_SUB= yes CODECS_DESC= Compile and enable patented codecs like H.264 DRIVER_DESC= Install chromedriver HEIMDAL_BASE_DESC= Heimdal Kerberos (base) HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) MIT_DESC= MIT Kerberos (security/krb5) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ alsa-lib>=1.1.1_1:audio/alsa-lib ALSA_VARS= GN_ARGS+=use_alsa=true ALSA_VARS_OFF= GN_ARGS+=use_alsa=false CODECS_VARS= GN_ARGS+=proprietary_codecs=true \ FFMPEG_BRAND="Chrome" CODECS_VARS_OFF= GN_ARGS+=proprietary_codecs=false \ FFMPEG_BRAND="Chromium" CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_VARS= GN_ARGS+=use_cups=true CUPS_VARS_OFF= GN_ARGS+=use_cups=false DEBUG_BUILD_DEPENDS= esbuild:devel/esbuild DEBUG_VARS= BUILDTYPE=Debug \ GN_ARGS+=is_debug=true \ GN_ARGS+=is_component_build=false \ GN_ARGS+=symbol_level=1 \ GN_BOOTSTRAP_FLAGS+=--debug \ WANTSPACE="60 GB" \ WANTMEM="8 GB" DEBUG_VARS_OFF= BUILDTYPE=Release \ GN_ARGS+=blink_symbol_level=0 \ GN_ARGS+=is_debug=false \ GN_ARGS+=is_official_build=true \ GN_ARGS+=symbol_level=0 \ WANTSPACE="35 GB" \ WANTMEM="8 GB" DRIVER_MAKE_ARGS= chromedriver HEIMDAL_LIB_DEPENDS= libkrb.so.26:security/heimdal KERBEROS_VARS= GN_ARGS+=use_kerberos=true KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false LTO_VARS= GN_ARGS+=use_thin_lto=true \ GN_ARGS+=thin_lto_enable_optimizations=true \ WANTSPACE="40 GB" \ WANTMEM="16 GB" LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false MIT_LIB_DEPENDS= libkrb.so.3:security/krb5 PIPEWIRE_DESC= Screen capture via PipeWire PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire PIPEWIRE_VARS= GN_ARGS+=rtc_use_pipewire=true \ GN_ARGS+=rtc_link_pipewire=true PIPEWIRE_VARS_OFF= GN_ARGS+=rtc_use_pipewire=false \ GN_ARGS+=rtc_link_pipewire=false PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true \ PINCLUDES="-I${WRKDIR}/pulseaudio-${PULSEV}/src -DPA_MAJOR=${PULSEMV}" PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= GN_ARGS+=use_sndio=true SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false WIDEVINE_DESC= Depend on foreign-cdm to enable playback of DRM content WIDEVINE_RUN_DEPENDS= foreign-cdm>0:www/foreign-cdm .include "Makefile.tests" TEST_DISTFILES= chromium-${DISTVERSION}-testdata${EXTRACT_SUFX} TEST_ALL_TARGET= ${TEST_TARGETS} .include .include # for COMPILER_VERSION .if ${PORT_OPTIONS:MHEIMDAL_BASE} && !exists(/usr/lib/libkrb5.so) IGNORE= you have selected HEIMDAL_BASE but do not have Heimdal installed in base .endif LLVM_DEFAULT= 21 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \ ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \ ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} # - swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only # - map ffmpeg target to ${ARCH} .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " FFMPEG_TARGET= arm64 .elif ${ARCH} == amd64 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= x64 .elif ${ARCH} == i386 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= ia32 .endif FFMPEG_BDIR= ${WRKSRC}/third_party/ffmpeg/build.${FFMPEG_TARGET}.freebsd/${FFMPEG_BRAND} FFMPEG_CDIR= ${WRKSRC}/third_party/ffmpeg/chromium/config/${FFMPEG_BRAND}/freebsd/${FFMPEG_TARGET} # Allow relocations against read-only segments (override lld default) LDFLAGS_i386= -Wl,-znotext # TODO: -isystem, would be just as ugly as this approach, but more reliably # build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set. MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ CPLUS_INCLUDE_PATH=${LOCALBASE}/include WRKSRC= ${WRKDIR}/chromium-${DISTVERSION} # rust MAKE_ENV+= RUSTC_BOOTSTRAP=1 GN_ARGS+= enable_rust=true \ rust_sysroot_absolute="${LOCALBASE}" pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build ${PORTNAME}, you should have at least:" @${ECHO_MSG} "- ${WANTMEM} of memory" @${ECHO_MSG} "- ${WANTSPACE} of free disk space" @${ECHO_MSG} "- 1.5 million free inodes" @${ECHO_MSG} pre-patch: cd ${WRKDIR}/ungoogled-chromium-${UGVERSION} && ${PYTHON_CMD} \ utils/prune_binaries.py ${WRKSRC} pruning.list cd ${WRKDIR}/ungoogled-chromium-${UGVERSION} && PATCH_BIN=gpatch \ ${PYTHON_CMD} utils/patches.py apply ${WRKSRC} patches cd ${WRKDIR}/ungoogled-chromium-${UGVERSION} && ${PYTHON_CMD} \ utils/domain_substitution.py apply -r domain_regex.list -f \ domain_substitution.list -c ${WRKSRC}/domsubcache.tar.gz ${WRKSRC} pre-configure: # We used to remove bundled libraries to be sure that chromium uses # system libraries and not shipped ones. # cd ${WRKSRC} && ${PYTHON_CMD} \ #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ ./build/linux/unbundle/replace_gn_files.py --system-libraries \ dav1d flac fontconfig harfbuzz-ng libdrm libpng \ libusb libwebp libxml libxslt openh264 opus || ${FALSE} # Chromium uses an unreleased version of FFmpeg, so configure it cd ${WRKSRC}/media/ffmpeg && \ ${PYTHON_CMD} scripts/build_ffmpeg.py freebsd ${FFMPEG_TARGET} \ --config-only --branding=${FFMPEG_BRAND} cd ${FFMPEG_BDIR} && ${GMAKE} ffversion.h ${MKDIR} ${FFMPEG_CDIR} .for _e in config.h config.asm config_components.h libavcodec libavformat libavutil -${CP} -pR ${FFMPEG_BDIR}/${_e} ${FFMPEG_CDIR} .endfor touch ${WRKDIR}/pulseaudio-${PULSEV}/src/pulse/version.h @${REINPLACE_CMD} -e 's|$${LOCALBASE}|${LOCALBASE}|;s|$${MODCLANG_VERSION}|${LLVM_DEFAULT}|' \ ${WRKSRC}/build/linux/strip_binary.gni \ ${WRKSRC}/build/rust/rust_bindgen.gni \ ${WRKSRC}/build/rust/rust_bindgen_generator.gni do-configure: # GN generator bootstrapping and generating ninja files cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \ READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn \ gen --args='${GN_ARGS}' out/${BUILDTYPE} # Setup nodejs dependency @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node # Setup buildtools/freebsd @${MKDIR} ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/out/${BUILDTYPE}/gn ${WRKSRC}/buildtools/freebsd ${LN} -sf /usr/bin/strip ${WRKSRC}/buildtools/freebsd/strip do-install: @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_MAN} ${WRKSRC}/chrome/app/resources/manpage.1.in \ ${STAGEDIR}${PREFIX}/share/man/man1/ungoogled-chromium.1 @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \ ${STAGEDIR}${PREFIX}/share/man/man1/ungoogled-chromium.1 ${CP} ${WRKSRC}/chrome/app/theme/chromium/product_logo_22_mono.png ${WRKSRC}/chrome/app/theme/chromium/product_logo_22.png .for s in 22 24 48 64 128 256 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps ${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/ungoogled-chromium.png .endfor ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.png ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.pak ${STAGEDIR}${DATADIR} .for d in protoc mksnapshot ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor .for d in snapshot_blob.bin v8_context_snapshot.bin ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chrome \ ${STAGEDIR}${DATADIR}/ungoogled-chromium cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/ungoogled-chromium.desktop \ ${STAGEDIR}${DESKTOPDIR} ${INSTALL_SCRIPT} ${WRKDIR}/ungoogled-chromium ${STAGEDIR}${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/chrome/tools/build/linux/chrome-wrapper \ ${STAGEDIR}${DATADIR} # ANGLE, EGL, Vk .for f in libEGL.so libGLESv2.so libVkICD_mock_icd.so ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 \ ${STAGEDIR}${DATADIR}/libvulkan.so .if ${BUILDTYPE} == Debug ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so ${STAGEDIR}${DATADIR} .endif # SwiftShader .if ${ARCH} != aarch64 ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvk_swiftshader.so ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/vk_swiftshader_icd.json ${STAGEDIR}${DATADIR} .endif post-install-DEBUG-on: ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \ ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \ ${STAGEDIR}${DATADIR} post-install-DRIVER-on: ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver \ ${STAGEDIR}${PREFIX}/bin/ungoogled-chromedriver do-test-TEST-on: .for t in ${TEST_TARGETS} cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor .include diff --git a/www/ungoogled-chromium/distinfo b/www/ungoogled-chromium/distinfo index a2babacc7321..8971ac611eac 100644 --- a/www/ungoogled-chromium/distinfo +++ b/www/ungoogled-chromium/distinfo @@ -1,9 +1,9 @@ -TIMESTAMP = 1765574950 -SHA256 (chromium-143.0.7499.109-lite.tar.xz) = d3a3f3acbae7c9edc75fcea8c7725f90c6e5b57a21c8e37d3e629f2224184b51 -SIZE (chromium-143.0.7499.109-lite.tar.xz) = 1140751164 +TIMESTAMP = 1766134663 +SHA256 (chromium-143.0.7499.146-lite.tar.xz) = d79916348f34ecb154201ba2908a0c1ffaf8ae9670215c575b76cf95b10fb076 +SIZE (chromium-143.0.7499.146-lite.tar.xz) = 1140736788 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (chromium-143.0.7499.109-testdata.tar.xz) = 64df31b9d193c71705ec43a3fcd1120f6ec775e1660aa94276b9bc86fef715ce -SIZE (chromium-143.0.7499.109-testdata.tar.xz) = 1155272172 -SHA256 (ungoogled-software-ungoogled-chromium-143.0.7499.109-143.0.7499.109-1_GH0.tar.gz) = d5b8561004cb19ef56d7f0e23e3045f01a5971edb7ec84c5c6e7b2e2335378da -SIZE (ungoogled-software-ungoogled-chromium-143.0.7499.109-143.0.7499.109-1_GH0.tar.gz) = 651168 +SHA256 (chromium-143.0.7499.146-testdata.tar.xz) = 20b86e1557beeb1654005a7793dd796205a3b75fdb05df94ffbedf376485db17 +SIZE (chromium-143.0.7499.146-testdata.tar.xz) = 1155417248 +SHA256 (ungoogled-software-ungoogled-chromium-143.0.7499.146-143.0.7499.146-1_GH0.tar.gz) = 705de8c2619c4d26a796f8425643f0e66b4706ac501cf9dc1f7acdd8a5290173 +SIZE (ungoogled-software-ungoogled-chromium-143.0.7499.146-143.0.7499.146-1_GH0.tar.gz) = 651128 diff --git a/www/ungoogled-chromium/files/patch-BUILD.gn b/www/ungoogled-chromium/files/patch-BUILD.gn index 97a01b4ca623..1f3e53c2b663 100644 --- a/www/ungoogled-chromium/files/patch-BUILD.gn +++ b/www/ungoogled-chromium/files/patch-BUILD.gn @@ -1,98 +1,98 @@ ---- BUILD.gn.orig 2025-12-06 13:30:52 UTC +--- BUILD.gn.orig 2025-12-19 08:56:42 UTC +++ BUILD.gn -@@ -68,7 +68,7 @@ declare_args() { +@@ -67,7 +67,7 @@ declare_args() { root_extra_deps = [] } -if (is_official_build) { +if (is_official_build && !is_bsd) { # An official (maximally optimized!) component (optimized for build times) # build doesn't make sense and usually doesn't work. assert(!is_component_build) -@@ -101,7 +101,6 @@ group("gn_all") { +@@ -100,7 +100,6 @@ group("gn_all") { "//codelabs", "//components:components_unittests", "//components/gwp_asan:gwp_asan_unittests", - "//infra/orchestrator:orchestrator_all", "//net:net_unittests", "//sandbox:sandbox_unittests", "//services:services_unittests", -@@ -431,7 +430,7 @@ group("gn_all") { +@@ -430,7 +429,7 @@ group("gn_all") { } } - if (is_linux || is_chromeos || is_android) { + if ((is_linux && !is_bsd) || is_chromeos || is_android) { deps += [ "//third_party/breakpad:breakpad_unittests", "//third_party/breakpad:core-2-minidump", -@@ -590,6 +589,15 @@ group("gn_all") { +@@ -589,6 +588,15 @@ group("gn_all") { } } + if (is_bsd) { + deps -= [ + "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)", + "//third_party/breakpad:microdump_stackwalk($host_system_allocator_toolchain)", + "//third_party/breakpad:minidump_dump($host_system_allocator_toolchain)", + "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)", + ] + } + if (is_mac) { deps += [ "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)", -@@ -638,7 +646,7 @@ group("gn_all") { +@@ -637,7 +645,7 @@ group("gn_all") { } } - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { # The official builders use this binary from the default toolchain's # output directory after building in order to upload the symbols of that # binary. They build the binary like `ninja symupload` which requires the -@@ -673,7 +681,7 @@ group("gn_all") { +@@ -672,7 +680,7 @@ group("gn_all") { ] } - if (is_mac || is_win || is_android || is_linux || is_chromeos) { + if (!is_bsd && (is_mac || is_win || is_android || is_linux || is_chromeos)) { deps += [ "//third_party/crashpad/crashpad:crashpad_tests", "//third_party/crashpad/crashpad/handler:crashpad_handler", -@@ -1064,7 +1072,7 @@ if (use_blink && !is_cronet_build) { +@@ -1063,7 +1071,7 @@ if (use_blink && !is_cronet_build) { "//third_party/blink/public:all_blink", ] - if (!is_chromeos && !is_ios && !is_fuchsia && !is_android && !is_castos) { + if (!is_chromeos && !is_ios && !is_fuchsia && !is_android && !is_castos && !is_bsd) { deps += [ ":chrome_wpt_tests", ":headless_shell_wpt", -@@ -1217,7 +1225,7 @@ if (use_blink && !is_cronet_build) { +@@ -1216,7 +1224,7 @@ if (use_blink && !is_cronet_build) { data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ] } - if (!is_win && !is_android) { + if (!is_win && !is_android && !is_bsd) { # Using the default toolchain for this tool, as it's run during tests not # during the build. This places a symlink in the root_build_dir for scrips # to use. -@@ -1231,7 +1239,7 @@ if (use_blink && !is_cronet_build) { +@@ -1230,7 +1238,7 @@ if (use_blink && !is_cronet_build) { data_deps += [ "//third_party/breakpad:dump_syms" ] } - if (is_linux || is_chromeos) { + if ((is_linux && !is_bsd) || is_chromeos) { # Using the default toolchain for this tool, as it's run during tests not # during the build. This places a symlink in the root_build_dir for scrips # to use. -@@ -1528,7 +1536,7 @@ group("chromium_builder_perf") { +@@ -1527,7 +1535,7 @@ group("chromium_builder_perf") { data_deps += [ "//chrome/test:performance_browser_tests" ] } - if (!is_win) { + if (!is_win && !is_bsd) { data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)" ] } } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc b/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc index e11bfcb9b08d..149dba70018c 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc @@ -1,466 +1,466 @@ ---- chrome/browser/about_flags.cc.orig 2025-12-12 21:27:37 UTC +--- chrome/browser/about_flags.cc.orig 2025-12-19 08:56:42 UTC +++ chrome/browser/about_flags.cc @@ -333,12 +333,12 @@ #include "components/stylus_handwriting/win/features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/allocator/buildflags.h" #include "ui/ozone/public/ozone_switches.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/contextual_cueing/contextual_cueing_features.h" // nogncheck #include "chrome/browser/enterprise/profile_management/profile_management_features.h" #include "chrome/browser/enterprise/webstore/features.h" @@ -867,6 +867,26 @@ const FeatureEntry::FeatureVariation std::size(kWebIdentityDigitalIdentityCredentialHighRiskDialogParam), nullptr}}; +#if BUILDFLAG(IS_BSD) +const FeatureEntry::FeatureParam kAudioBackendPulseAudio[] = { + { "audio-backend", "pulseaudio" }}; +const FeatureEntry::FeatureParam kAudioBackendSndio[] = { + { "audio-backend", "sndio" }}; +const FeatureEntry::FeatureParam kAudioBackendAlsa[] = { + { "audio-backend", "alsa" }}; +const FeatureEntry::FeatureVariation + kAudioBackendVariations[] = { + {"using PulseAudio by default if available", kAudioBackendPulseAudio, + std::size(kAudioBackendPulseAudio), + nullptr}, + {"using sndio by default if available", kAudioBackendSndio, + std::size(kAudioBackendSndio), + nullptr}, + {"using ALSA by default if available", kAudioBackendAlsa, + std::size(kAudioBackendAlsa), + nullptr}}; +#endif + const FeatureEntry::FeatureParam kClipboardMaximumAge60Seconds[] = { {"UIClipboardMaximumAge", "60"}}; const FeatureEntry::FeatureParam kClipboardMaximumAge90Seconds[] = { -@@ -1322,7 +1342,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada +@@ -1337,7 +1357,7 @@ const FeatureEntry::FeatureVariation kRemotePageMetada }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // A limited number of combinations of the rich autocompletion params. const FeatureEntry::FeatureParam kOmniboxRichAutocompletionAggressive1[] = { -@@ -3976,7 +3996,7 @@ const FeatureEntry::FeatureVariation +@@ -3991,7 +4011,7 @@ const FeatureEntry::FeatureVariation #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOn[] = {{"link_capturing_state", "on_by_default"}}; const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOff[] = -@@ -4006,7 +4026,7 @@ const flags_ui::FeatureEntry::FeatureVariation +@@ -4021,7 +4041,7 @@ const flags_ui::FeatureEntry::FeatureVariation #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) const FeatureEntry::Choice kReplaceSyncPromosWithSignInPromosChoices[] = { {"Default", "", ""}, {"Disabled", switches::kDisableFeatures, -@@ -4232,7 +4252,7 @@ const FeatureEntry::FeatureVariation kSkiaGraphiteVari +@@ -4247,7 +4267,7 @@ const FeatureEntry::FeatureVariation kSkiaGraphiteVari std::size(kSkiaGraphite_DebugLabelsEnabled), nullptr}, }; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kTranslationAPI_SkipLanguagePackLimit[] = { {"TranslationAPIAcceptLanguagesCheck", "false"}, {"TranslationAPILimitLanguagePackCount", "false"}}; -@@ -4252,7 +4272,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent +@@ -4267,7 +4287,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent }; #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kContextualCueingEnabledNoEngagementCap[] = { {"BackoffTime", "0h"}, {"BackoffMultiplierBase", "0.0"}, -@@ -5021,7 +5041,7 @@ const FeatureEntry::FeatureVariation kMobilePromoOnDes +@@ -5036,7 +5056,7 @@ const FeatureEntry::FeatureVariation kMobilePromoOnDes }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kNtpCustomizeChromeAutoOpenOnEveryNTP[] = { {"max_customize_chrome_auto_shown_count", "5"}, {"max_customize_chrome_auto_shown_session_count", "5"}}; -@@ -5157,7 +5177,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa +@@ -5172,7 +5192,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa nullptr}}; #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kProfilePickerTextVariation1[] = { {"profile-picker-variation", "keep-work-and-life-separate"}}; const FeatureEntry::FeatureParam kProfilePickerTextVariation2[] = { -@@ -5744,7 +5764,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5759,7 +5779,7 @@ const FeatureEntry kFeatureEntries[] = { }, #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { "fluent-overlay-scrollbars", flag_descriptions::kFluentOverlayScrollbarsName, -@@ -6042,7 +6062,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6057,7 +6077,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableIsolatedWebAppDevModeName, flag_descriptions::kEnableIsolatedWebAppDevModeDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kIsolatedWebAppDevMode)}, -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"enable-iwa-key-distribution-component", flag_descriptions::kEnableIwaKeyDistributionComponentName, flag_descriptions::kEnableIwaKeyDistributionComponentDescription, -@@ -6234,7 +6254,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6249,7 +6269,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kUseSCContentSharingPicker)}, #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"pulseaudio-loopback-for-cast", flag_descriptions::kPulseaudioLoopbackForCastName, flag_descriptions::kPulseaudioLoopbackForCastDescription, kOsLinux, -@@ -6263,6 +6283,16 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6278,6 +6298,16 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWaylandSessionManagementName, flag_descriptions::kWaylandSessionManagementDescription, kOsLinux, FEATURE_VALUE_TYPE(features::kWaylandSessionManagement)}, + +#if BUILDFLAG(IS_BSD) + {"audio-backend", + flag_descriptions::kAudioBackendName, + flag_descriptions::kAudioBackendDescription, kOsLinux, + FEATURE_WITH_PARAMS_VALUE_TYPE( + media::kAudioBackend, + kAudioBackendVariations, + "AudioBackend")}, +#endif #endif // BUILDFLAG(IS_LINUX) #if BUILDFLAG(ENABLE_VR) -@@ -7133,7 +7163,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7148,7 +7178,7 @@ const FeatureEntry kFeatureEntries[] = { "MlUrlScoring")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-search-box-uses-contextual-search-provider", flag_descriptions::kContextualSearchBoxUsesContextualSearchProviderName, flag_descriptions:: -@@ -7549,7 +7579,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7564,7 +7594,7 @@ const FeatureEntry kFeatureEntries[] = { kNumSrpZpsRelatedSearches, "PowerTools")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"history-embeddings", flag_descriptions::kHistoryEmbeddingsName, flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop, FEATURE_VALUE_TYPE(history_embeddings::kHistoryEmbeddings)}, -@@ -7764,7 +7794,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7779,7 +7809,7 @@ const FeatureEntry kFeatureEntries[] = { "NtpRealboxNext")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"ntp-customize-chrome-auto-open", flag_descriptions::kNtpCustomizeChromeAutoOpenName, flag_descriptions::kNtpCustomizeChromeAutoOpenDescription, kOsDesktop, -@@ -8043,7 +8073,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8058,7 +8088,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(printing::features::kAddPrinterViaPrintscanmgr)}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"cups-ipp-printing-backend", flag_descriptions::kCupsIppPrintingBackendName, flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop, -@@ -8981,7 +9011,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8996,7 +9026,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kGlobalMediaControlsUpdatedUI)}, #endif // !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-network-service-sandbox", flag_descriptions::kEnableNetworkServiceSandboxName, flag_descriptions::kEnableNetworkServiceSandboxDescription, -@@ -9552,7 +9582,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9567,7 +9597,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kGlobalVaapiLockDescription, kOsCrOS | kOsLinux, FEATURE_VALUE_TYPE(media::kGlobalVaapiLock)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { "ui-debug-tools", flag_descriptions::kUIDebugToolsName, -@@ -10009,7 +10039,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10024,7 +10054,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"media-session-enter-picture-in-picture", flag_descriptions::kMediaSessionEnterPictureInPictureName, flag_descriptions::kMediaSessionEnterPictureInPictureDescription, -@@ -10206,7 +10236,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10221,7 +10251,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kReduceTransferSizeUpdatedIPCDescription, kOsAll, FEATURE_VALUE_TYPE(network::features::kReduceTransferSizeUpdatedIPC)}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"reduce-user-agent-data-linux-platform-version", flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionName, flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionDescription, -@@ -10768,7 +10798,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10783,7 +10813,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kRcapsDynamicProfileCountryDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kDynamicProfileCountry)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"enable-generic-oidc-auth-profile-management", flag_descriptions::kEnableGenericOidcAuthProfileManagementName, flag_descriptions::kEnableGenericOidcAuthProfileManagementDescription, -@@ -10789,7 +10819,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10804,7 +10834,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-user-navigation-capturing-pwa", flag_descriptions::kPwaNavigationCapturingName, flag_descriptions::kPwaNavigationCapturingDescription, -@@ -11303,7 +11333,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11318,7 +11348,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kResponsiveIframesDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kResponsiveIframes)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"replace-sync-promos-with-sign-in-promos-desktop", flag_descriptions::kReplaceSyncPromosWithSignInPromosName, flag_descriptions::kReplaceSyncPromosWithSignInPromosDescription, -@@ -11719,7 +11749,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11734,7 +11764,7 @@ const FeatureEntry kFeatureEntries[] = { segmentation_platform::features::kSegmentationSurveyPage)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later", flag_descriptions::kAutofillEnableBuyNowPayLaterName, flag_descriptions::kAutofillEnableBuyNowPayLaterDescription, -@@ -11790,7 +11820,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11805,7 +11835,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE( autofill::features::kAutofillEnableCardInfoRuntimeRetrieval)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"translation-api", flag_descriptions::kTranslationAPIName, flag_descriptions::kTranslationAPIDescription, kOsMac | kOsWin | kOsLinux, FEATURE_WITH_PARAMS_VALUE_TYPE(blink::features::kTranslationAPI, -@@ -11816,7 +11846,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11831,7 +11861,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE( password_manager::features::kPasswordFormClientsideClassifier)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"contextual-cueing", flag_descriptions::kContextualCueingName, flag_descriptions::kContextualCueingDescription, kOsLinux | kOsMac | kOsWin, -@@ -12192,7 +12222,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12207,7 +12237,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(ui::kUseNewEtc1Encoder)}, #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"automatic-usb-detach", flag_descriptions::kAutomaticUsbDetachName, flag_descriptions::kAutomaticUsbDetachDescription, kOsAndroid | kOsLinux, FEATURE_VALUE_TYPE(features::kAutomaticUsbDetach)}, -@@ -12228,7 +12258,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12243,7 +12273,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction", flag_descriptions::kAutofillEnableAmountExtractionName, flag_descriptions::kAutofillEnableAmountExtractionDescription, -@@ -12373,7 +12403,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12388,7 +12418,7 @@ const FeatureEntry kFeatureEntries[] = { apps::chrome_app_deprecation::kAllowUserInstalledChromeApps)}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"chrome-web-store-navigation-throttle", flag_descriptions::kChromeWebStoreNavigationThrottleName, flag_descriptions::kChromeWebStoreNavigationThrottleDescription, -@@ -12402,7 +12432,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12417,7 +12447,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(supervised_user::kSupervisedUserBlockInterstitialV3)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction-testing", flag_descriptions::kAutofillEnableAmountExtractionTestingName, flag_descriptions::kAutofillEnableAmountExtractionTestingDescription, -@@ -12417,7 +12447,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12432,7 +12462,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableWebAppPredictableAppUpdatingDescription, kOsAll, FEATURE_VALUE_TYPE(features::kWebAppPredictableAppUpdating)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"root-scrollbar-follows-browser-theme", flag_descriptions::kRootScrollbarFollowsTheme, flag_descriptions::kRootScrollbarFollowsThemeDescription, -@@ -12694,7 +12724,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12709,7 +12739,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"tab-group-home", tabs::flag_descriptions::kTabGroupHomeName, tabs::flag_descriptions::kTabGroupHomeDescription, kOsDesktop, FEATURE_VALUE_TYPE(tabs::kTabGroupHome)}, -@@ -12784,7 +12814,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12799,7 +12829,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-site-search-allow-user-override-policy", flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyName, flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyDescription, -@@ -12896,7 +12926,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12911,7 +12941,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-klarna", flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaName, flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaDescription, -@@ -12969,7 +12999,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12984,7 +13014,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-externally-linked", flag_descriptions::kAutofillEnableBuyNowPayLaterForExternallyLinkedName, flag_descriptions:: -@@ -13247,7 +13277,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13262,7 +13292,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID), #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-ntp-enterprise-shortcuts", flag_descriptions::kEnableNtpEnterpriseShortcutsName, flag_descriptions::kEnableNtpEnterpriseShortcutsDescription, -@@ -13354,7 +13384,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13369,7 +13399,7 @@ const FeatureEntry kFeatureEntries[] = { autofill::features::kAutofillAndPasswordsInSameSurface)}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-suggestion-ui-improvements", flag_descriptions::kContextualSuggestionsUiImprovementsName, flag_descriptions::kContextualSuggestionsUiImprovementsDescription, -@@ -13382,7 +13412,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13397,7 +13427,7 @@ const FeatureEntry kFeatureEntries[] = { "EnableBlockCanvasReadback")}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"autofill-enable-ai-based-amount-extraction", flag_descriptions::kAutofillEnableAiBasedAmountExtractionName, flag_descriptions::kAutofillEnableAiBasedAmountExtractionDescription, -@@ -13432,7 +13462,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13447,7 +13477,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kCryptographyComplianceCnsa)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-reinvocation-affordance", flag_descriptions::kLensSearchReinvocationAffordanceName, flag_descriptions::kLensSearchReinvocationAffordanceDescription, -@@ -13490,7 +13520,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13505,7 +13535,7 @@ const FeatureEntry kFeatureEntries[] = { STRING_VALUE_TYPE(variations::switches::kVariationsSeedCorpus, "")}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"passkey-unlock-error-ui", flag_descriptions::kPasskeyUnlockErrorUiName, flag_descriptions::kPasskeyUnlockErrorUiDescription, kOsDesktop, FEATURE_VALUE_TYPE(device::kPasskeyUnlockErrorUi)}, -@@ -13527,7 +13557,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13542,7 +13572,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kUserValueDefaultBrowserStrings)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-read-aloud-ts-text-segmentation", flag_descriptions::kReadAnythingReadAloudTsTextSegmentationName, flag_descriptions::kReadAnythingReadAloudTsTextSegmentationDescription, -@@ -13539,7 +13569,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13554,7 +13584,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kHandleMdmErrorsForDasherAccountsDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kHandleMdmErrorsForDasherAccounts)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-decline-signin-cta-experiment", flag_descriptions::kProfileCreationDeclineSigninCTAExperimentName, flag_descriptions::kProfileCreationDeclineSigninCTAExperimentDescription, -@@ -13547,7 +13577,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13562,7 +13592,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kProfileCreationDeclineSigninCTAExperiment)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"show-profile-picker-to-all-users-experiment", flag_descriptions::kShowProfilePickerToAllUsersExperimentName, flag_descriptions::kShowProfilePickerToAllUsersExperimentDescription, -@@ -13597,7 +13627,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13612,7 +13642,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kAndroidDesktopZoomScaling)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-picker-text-variations", flag_descriptions::kProfilePickerTextVariationsName, flag_descriptions::kProfilePickerTextVariationsDescription, -@@ -13608,7 +13638,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13623,7 +13653,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-optimization-filter", flag_descriptions::kLensOverlayOptimizationFilterName, flag_descriptions::kLensOverlayOptimizationFilterDescription, kOsDesktop, -@@ -13627,7 +13657,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13642,7 +13672,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(network::features::kConnectionAllowlists)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-with-readability-enabled", flag_descriptions::kReadAnythingWithReadabilityName, flag_descriptions::kReadAnythingWithReadabilityDescription, kOsDesktop, -@@ -13635,7 +13665,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13650,7 +13680,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-non-blocking-privacy-notice", flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeName, flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeDescription,