diff --git a/www/ungoogled-chromium/Makefile b/www/ungoogled-chromium/Makefile index 878873f6a963..4549baf4033c 100644 --- a/www/ungoogled-chromium/Makefile +++ b/www/ungoogled-chromium/Makefile @@ -1,420 +1,420 @@ PORTNAME= ungoogled-chromium -PORTVERSION= 148.0.7778.178 +PORTVERSION= 148.0.7778.215 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+= 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= 22 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 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.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 rustc dependency @${MKDIR} ${WRKSRC}/third_party/rust-toolchain/bin ${LN} -sf ${LOCALBASE}/bin/rustc ${WRKSRC}/third_party/rust-toolchain/bin/rustc # Setup gperf dependency @${MKDIR} ${WRKSRC}/third_party/gperf/cipd/bin ${LN} -sf ${LOCALBASE}/bin/gperf ${WRKSRC}/third_party/gperf/cipd/bin/gperf # 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 7363f802885b..3f6d5885dca2 100644 --- a/www/ungoogled-chromium/distinfo +++ b/www/ungoogled-chromium/distinfo @@ -1,9 +1,9 @@ -TIMESTAMP = 1779310172 -SHA256 (chromium-148.0.7778.178-lite.tar.xz) = 074cc06fd96c7d47abfe4a4bb4b09b99f4261a3f1a4e49a07624810e83ef4556 -SIZE (chromium-148.0.7778.178-lite.tar.xz) = 1592183916 +TIMESTAMP = 1780145329 +SHA256 (chromium-148.0.7778.215-lite.tar.xz) = 27b23b4c7877f41dcbf96fd3c17104f2de7c3df20569d9e19debba438094ba81 +SIZE (chromium-148.0.7778.215-lite.tar.xz) = 1593195044 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (chromium-148.0.7778.178-testdata.tar.xz) = 5a965729d604b1e0656ae5311b0b42afbfbefd905c43d6b41bea95e82938d968 -SIZE (chromium-148.0.7778.178-testdata.tar.xz) = 1306779736 -SHA256 (ungoogled-software-ungoogled-chromium-148.0.7778.178-148.0.7778.178-1_GH0.tar.gz) = 39ce1309e8808f00f846b368c5b34fd469f4f5335730fd629c00b23fc808c4d4 -SIZE (ungoogled-software-ungoogled-chromium-148.0.7778.178-148.0.7778.178-1_GH0.tar.gz) = 661720 +SHA256 (chromium-148.0.7778.215-testdata.tar.xz) = 337226c43f17ec19143b2f03fde4bba50ca9f106cb5ec9004fe60ff0e9acf7e4 +SIZE (chromium-148.0.7778.215-testdata.tar.xz) = 1306574148 +SHA256 (ungoogled-software-ungoogled-chromium-148.0.7778.215-148.0.7778.215-1_GH0.tar.gz) = 803473e73f50507218774e0853111167f52cf3286d098eb21fd89d70a3ab211d +SIZE (ungoogled-software-ungoogled-chromium-148.0.7778.215-148.0.7778.215-1_GH0.tar.gz) = 662274 diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info__freebsd.cc b/www/ungoogled-chromium/files/patch-base_system_sys__info__freebsd.cc index 0467f313dbfa..4a917956ea0d 100644 --- a/www/ungoogled-chromium/files/patch-base_system_sys__info__freebsd.cc +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info__freebsd.cc @@ -1,101 +1,99 @@ ---- base/system/sys_info_freebsd.cc.orig 2026-02-15 10:01:45 UTC +--- base/system/sys_info_freebsd.cc.orig 2026-05-30 12:46:06 UTC +++ base/system/sys_info_freebsd.cc -@@ -10,21 +10,75 @@ +@@ -10,21 +10,73 @@ #include "base/notreached.h" #include "base/numerics/safe_conversions.h" +#include "base/process/process_metrics.h" +#include "base/strings/string_util.h" namespace base { +int SysInfo::NumberOfProcessors() { + int mib[] = {CTL_HW, HW_NCPU}; + int ncpu; + size_t size = sizeof(ncpu); + if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { + NOTREACHED(); + return 1; + } + return ncpu; +} + ByteSize SysInfo::AmountOfTotalPhysicalMemoryImpl() { - int pages, page_size; + int pages, page_size, r = 0; size_t size = sizeof(pages); - sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); - sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); - if (pages == -1 || page_size == -1) { + + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); + + if (r == -1) { NOTREACHED(); } + return ByteSize(checked_cast(page_size)) * pages; } +ByteSize SysInfo::AmountOfAvailablePhysicalMemoryImpl() { + int page_size, r = 0; -+ unsigned int pgfree, pginact, pgcache; ++ unsigned int pgfree, pginact; + size_t size = sizeof(page_size); + size_t szpg = sizeof(pgfree); + + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_free_count", &pgfree, &szpg, NULL, 0); + if (r == 0) + r = sysctlbyname("vm.stats.vm.v_inactive_count", &pginact, &szpg, NULL, 0); -+ if (r == 0) -+ r = sysctlbyname("vm.stats.vm.v_cache_count", &pgcache, &szpg, NULL, 0); + + if (r == -1) { + NOTREACHED(); + return ByteSize(0); + } + -+ return ByteSize((pgfree + pginact + pgcache) * checked_cast(page_size)); ++ return ByteSize((pgfree + pginact) * checked_cast(page_size)); +} + // static +std::string SysInfo::CPUModelName() { + int mib[] = { CTL_HW, HW_MODEL }; + char name[256]; + size_t size = std::size(name); + + if (sysctl(mib, std::size(mib), &name, &size, NULL, 0) == 0) { + return name; + } + + return std::string(); +} + +// static uint64_t SysInfo::MaxSharedMemorySize() { size_t limit; size_t size = sizeof(limit); -@@ -32,6 +86,18 @@ uint64_t SysInfo::MaxSharedMemorySize() { +@@ -32,6 +84,18 @@ uint64_t SysInfo::MaxSharedMemorySize() { NOTREACHED(); } return static_cast(limit); +} + +SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { + HardwareInfo info; + + info.manufacturer = "FreeBSD"; + info.model = HardwareModelName(); + + DCHECK(IsStringUTF8(info.manufacturer)); + DCHECK(IsStringUTF8(info.model)); + + return info; } } // namespace base diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc index a51e77fd2d40..5f7dacc94899 100644 --- a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/browser_view.cc.orig 2026-05-14 09:18:10 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2026-05-30 12:46:06 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -2475,7 +2475,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating +@@ -2476,7 +2476,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating } void BrowserView::TabDraggingStatusChanged(bool is_dragging) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) UpdateFastResizeForContentViews(is_dragging); if (!is_dragging) { -@@ -6000,7 +6000,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { +@@ -6002,7 +6002,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { } void BrowserView::MaybeShowSupervisedUserProfileSignInIPH() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ShouldShowAvatarToolbarIPH()) { return; } -@@ -6010,7 +6010,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn +@@ -6012,7 +6012,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn } void BrowserView::MaybeShowSignInBenefitsIPH() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ShouldShowAvatarToolbarIPH()) { return; } diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.cc index a2589c21a232..d9a3de0a97f7 100644 --- a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.cc +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_features_password__features.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/features/password_features.cc.orig 2026-05-09 18:09:27 UTC +--- components/password_manager/core/browser/features/password_features.cc.orig 2026-05-30 12:46:06 UTC +++ components/password_manager/core/browser/features/password_features.cc @@ -78,7 +78,7 @@ BASE_FEATURE(kClearUndecryptablePasswords, BASE_FEATURE(kClearUndecryptablePasswordsOnSync, "ClearUndecryptablePasswordsInSync", #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -174,7 +174,7 @@ BASE_FEATURE(kReduceRequirementsForPasswordChange, +@@ -180,7 +180,7 @@ BASE_FEATURE(kReduceRequirementsForPasswordChange, BASE_FEATURE(kPasswordCheckupPrototype, base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kRestartToGainAccessToKeychain, #if BUILDFLAG(IS_MAC) base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc index ee1d9ee35e51..e2681906544f 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl.cc.orig 2025-05-06 12:23:00 UTC +--- content/browser/gpu/gpu_data_manager_impl.cc.orig 2026-05-30 12:46:06 UTC +++ content/browser/gpu/gpu_data_manager_impl.cc -@@ -412,7 +412,7 @@ void GpuDataManagerImpl::OnDisplayMetricsChanged( +@@ -427,7 +427,7 @@ void GpuDataManagerImpl::OnDisplayMetricsChanged( private_->OnDisplayMetricsChanged(display, changed_metrics); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuDataManagerImpl::IsGpuMemoryBufferNV12Supported() { base::AutoLock auto_lock(lock_); return private_->IsGpuMemoryBufferNV12Supported(); diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h index 27776b92916d..b593f9c773b3 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl.h.orig 2025-09-10 13:22:16 UTC +--- content/browser/gpu/gpu_data_manager_impl.h.orig 2026-05-30 12:46:06 UTC +++ content/browser/gpu/gpu_data_manager_impl.h -@@ -224,7 +224,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa +@@ -233,7 +233,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa void OnDisplayMetricsChanged(const display::Display& display, uint32_t changed_metrics) override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGpuMemoryBufferNV12Supported(); #endif // BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc index d40fea6daf01..c90af80caa53 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2026-03-15 18:32:51 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2026-05-30 12:46:06 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1720,7 +1720,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( +@@ -1747,7 +1747,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( UMA_HISTOGRAM_ENUMERATION("GPU.CompositingMode", compositing_mode); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuDataManagerImplPrivate::IsGpuMemoryBufferNV12Supported() { return gpu_extra_info_.is_gmb_nv12_supported; } diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h index 68da22575b40..eac81c68d0bf 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h @@ -1,20 +1,20 @@ ---- content/browser/gpu/gpu_data_manager_impl_private.h.orig 2025-11-01 06:40:37 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.h.orig 2026-05-30 12:46:06 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.h -@@ -149,7 +149,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -152,7 +152,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { void OnDisplayMetricsChanged(const display::Display& display, uint32_t changed_metrics); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGpuMemoryBufferNV12Supported(); #endif // BUILDFLAG(IS_LINUX) -@@ -311,7 +311,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -315,7 +315,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { bool application_is_visible_ = true; bool disable_gpu_compositing_ = false; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool is_gpu_memory_buffer_NV12_supported_ = false; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__process__host.cc b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__process__host.cc index bfb4eb29c6f6..3eba0ccbf0a0 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__process__host.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__process__host.cc @@ -1,19 +1,19 @@ ---- content/browser/gpu/gpu_process_host.cc.orig 2025-12-06 13:30:52 UTC +--- content/browser/gpu/gpu_process_host.cc.orig 2026-05-30 12:46:06 UTC +++ content/browser/gpu/gpu_process_host.cc @@ -282,6 +282,7 @@ static const char* const kSwitchNames[] = { switches::kDisableSkiaGraphite, switches::kDisableSkiaGraphitePrecompilation, switches::kDisableLowEndDeviceMode, + switches::kDisableUnveil, switches::kProfilingAtStart, switches::kProfilingFile, switches::kProfilingFlush, -@@ -307,7 +308,7 @@ static const char* const kSwitchNames[] = { +@@ -306,7 +307,7 @@ static const char* const kSwitchNames[] = { switches::kEnableNativeGpuMemoryBuffers, switches::kRenderNodeOverride, #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) switches::kX11Display, switches::kNoXshm, #endif diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc index 8ae07c323b0e..30c49fa7ec72 100644 --- a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc @@ -1,47 +1,47 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2026-05-09 18:09:27 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2026-05-30 12:46:06 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -129,7 +129,7 @@ +@@ -130,7 +130,7 @@ #include "ui/gfx/win/gdi_util.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/accessibility/platform/browser_accessibility_auralinux.h" #include "ui/base/ime/linux/text_edit_command_auralinux.h" #include "ui/base/ime/text_input_flags.h" -@@ -554,7 +554,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge +@@ -555,7 +555,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge return ToBrowserAccessibilityWin(manager->GetBrowserAccessibilityRoot()) ->GetCOM(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ui::BrowserAccessibilityManager* manager = host()->GetOrCreateRootBrowserAccessibilityManager(); if (manager && manager->GetBrowserAccessibilityRoot()) -@@ -1984,7 +1984,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { +@@ -2003,7 +2003,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { return host() && host()->delegate() && host()->delegate()->ShouldDoLearning(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool RenderWidgetHostViewAura::SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) { -@@ -3016,7 +3016,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -3046,7 +3046,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { } bool RenderWidgetHostViewAura::NeedsMouseCapture() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return NeedsInputGrab(); #else return false; -@@ -3202,7 +3202,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -3256,7 +3256,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit if (!target_host) return; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto* linux_ui = ui::LinuxUi::instance(); if (!event.skip_if_unhandled && linux_ui && event.os_event) { const auto command = linux_ui->GetTextEditCommandForEvent( diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc index 97c82c641016..5502fa5f0e09 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2026-05-09 18:09:27 UTC +--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2026-05-30 12:46:06 UTC +++ gpu/command_buffer/service/gles2_cmd_decoder.cc -@@ -2857,7 +2857,7 @@ std::unique_ptr GLES2Decoder::Create( +@@ -2865,7 +2865,7 @@ std::unique_ptr GLES2Decoder::Create( } // Allow linux to run fuzzers. -#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(client, command_buffer_service, outputter, group); #else diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc index e6a10a7cb7cf..6ec893831fcc 100644 --- a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc @@ -1,47 +1,47 @@ ---- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2026-05-09 18:09:27 UTC +--- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2026-05-30 12:46:06 UTC +++ gpu/command_buffer/service/shared_image/shared_image_factory.cc @@ -55,7 +55,7 @@ #include "gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.h" #include "gpu/vulkan/vulkan_device_queue.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.h" #endif -@@ -118,7 +118,7 @@ const char* GmbTypeToString(gfx::GpuMemoryBufferType t +@@ -123,7 +123,7 @@ const char* GmbTypeToString(gfx::GpuMemoryBufferType t case gfx::IO_SURFACE_BUFFER: return "platform"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) case gfx::NATIVE_PIXMAP: return "platform"; #endif -@@ -139,7 +139,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() { +@@ -144,7 +144,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() { return gfx::GpuMemoryBufferType::IO_SURFACE_BUFFER; #elif BUILDFLAG(IS_ANDROID) return gfx::GpuMemoryBufferType::ANDROID_HARDWARE_BUFFER; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return gfx::GpuMemoryBufferType::NATIVE_PIXMAP; #elif BUILDFLAG(IS_WIN) return gfx::GpuMemoryBufferType::DXGI_SHARED_HANDLE; -@@ -316,7 +316,7 @@ SharedImageFactory::SharedImageFactory( +@@ -322,7 +322,7 @@ SharedImageFactory::SharedImageFactory( factories_.push_back(std::move(ozone_factory)); } -#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)) +#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)) if (gr_context_type_ == GrContextType::kVulkan #if BUILDFLAG(USE_WEBGPU_ON_VULKAN_VIA_GL_INTEROP) /* We support GL context for WebGPU gl-vulkan interop (on linux).*/ -@@ -1040,7 +1040,7 @@ void SharedImageFactory::LogGetFactoryFailed(gpu::Shar +@@ -1051,7 +1051,7 @@ void SharedImageFactory::LogGetFactoryFailed(gpu::Shar } #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // VizBufferQueue with Vulkan enabled over command-line for Linux does not // work. Suppress dumps for these cases. if (context_state_->GrContextIsVulkan() && diff --git a/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__image.h b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__image.h index b1b869db7782..4ad7b952b930 100644 --- a/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__image.h +++ b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__image.h @@ -1,20 +1,20 @@ ---- gpu/vulkan/vulkan_image.h.orig 2025-09-10 13:22:16 UTC +--- gpu/vulkan/vulkan_image.h.orig 2026-05-30 12:46:06 UTC +++ gpu/vulkan/vulkan_image.h @@ -86,7 +86,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { VkImageUsageFlags usage, VkImageCreateFlags flags); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) static std::unique_ptr CreateWithExternalMemoryAndModifiers( VulkanDeviceQueue* device_queue, const gfx::Size& size, -@@ -198,7 +198,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { +@@ -210,7 +210,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { VkImageTiling image_tiling, uint32_t queue_family_index); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool InitializeWithExternalMemoryAndModifiers(VulkanDeviceQueue* device_queue, const gfx::Size& size, VkFormat format, diff --git a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc index bb6e4b920908..01ad6ecb0ae8 100644 --- a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc +++ b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc @@ -1,13 +1,13 @@ ---- media/gpu/chromeos/gl_image_processor_backend.cc.orig 2026-04-15 11:25:12 UTC +--- media/gpu/chromeos/gl_image_processor_backend.cc.orig 2026-05-30 12:46:06 UTC +++ media/gpu/chromeos/gl_image_processor_backend.cc -@@ -27,6 +27,10 @@ +@@ -28,6 +28,10 @@ #include "ui/ozone/public/ozone_platform.h" #include "ui/ozone/public/surface_factory_ozone.h" +#ifndef GL_CONTEXT_LOST_KHR +#define GL_CONTEXT_LOST_KHR 0x0507 +#endif + namespace media { namespace { diff --git a/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.cc b/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.cc index 91a5c1f4a60b..0b26ad06944c 100644 --- a/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.cc +++ b/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.cc @@ -1,16 +1,16 @@ ---- services/device/public/cpp/device_features.cc.orig 2026-04-17 05:46:07 UTC +--- services/device/public/cpp/device_features.cc.orig 2026-05-30 12:46:06 UTC +++ services/device/public/cpp/device_features.cc -@@ -135,11 +135,11 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() { +@@ -152,11 +152,11 @@ bool IsOsLevelGeolocationPermissionSupportEnabled() { // a USB interface is busy. #if BUILDFLAG(IS_ANDROID) BASE_FEATURE(kAutomaticUsbDetach, base::FEATURE_ENABLED_BY_DEFAULT); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kAutomaticUsbDetach, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Controls whether we report the product name (like macOS and Win) // over the HID_NAME in the WebHID API. BASE_FEATURE(kProductNameOverHidName, base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.h b/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.h index 6d58c32e07d1..3d48c928918b 100644 --- a/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.h +++ b/www/ungoogled-chromium/files/patch-services_device_public_cpp_device__features.h @@ -1,16 +1,16 @@ ---- services/device/public/cpp/device_features.h.orig 2026-04-17 05:46:07 UTC +--- services/device/public/cpp/device_features.h.orig 2026-05-30 12:46:06 UTC +++ services/device/public/cpp/device_features.h -@@ -54,11 +54,11 @@ extern const DEVICE_FEATURES_EXPORT +@@ -58,11 +58,11 @@ extern const DEVICE_FEATURES_EXPORT DEVICE_FEATURES_EXPORT bool IsOsLevelGeolocationPermissionSupportEnabled(); -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) DEVICE_FEATURES_EXPORT BASE_DECLARE_FEATURE(kAutomaticUsbDetach); #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DEVICE_FEATURES_EXPORT BASE_DECLARE_FEATURE(kProductNameOverHidName); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 index fec41c2cc82c..29a51947637f 100644 --- a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 @@ -1,128 +1,128 @@ ---- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2026-05-09 18:09:27 UTC +--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2026-05-30 12:46:06 UTC +++ third_party/blink/renderer/platform/runtime_enabled_features.json5 @@ -411,7 +411,7 @@ name: "AIPromptAPILegacyParams", public: true, origin_trial_feature_name: "AIPromptAPIParams", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, implied_by: ["AIPromptAPIParams"], }, @@ -437,7 +437,7 @@ "default": "", }, origin_trial_feature_name: "AIPromptAPIParams", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, }, { @@ -469,7 +469,7 @@ "default": "", }, origin_trial_feature_name: "AIProofreaderAPI", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", @@ -484,7 +484,7 @@ "default": "", }, origin_trial_feature_name: "AIRewriterAPI", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", @@ -521,7 +521,7 @@ "default": "", }, origin_trial_feature_name: "AIWriterAPI", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", @@ -662,7 +662,7 @@ name: "AppTitle", status: "experimental", origin_trial_feature_name: "AppTitle", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], base_feature: "WebAppEnableAppTitle", }, { @@ -1425,7 +1425,7 @@ name: "CSPHashesV1", base_feature: "none", origin_trial_feature_name: "CSPExtendedScriptSrcHashes", - origin_trial_os: ["win", "linux", "mac", "android", "chromeos"], + origin_trial_os: ["win", "linux", "mac", "android", "chromeos", "openbsd", "freebsd"], status: "experimental", public: true, }, @@ -2257,7 +2257,7 @@ name: "DocumentIsolationPolicy", status: "experimental", origin_trial_feature_name: "DocumentIsolationPolicy", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], base_feature: "none", }, { @@ -2575,7 +2575,7 @@ base_feature: "none", public: true, origin_trial_feature_name: "FedCmMultipleIdentityProviders", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, }, { @@ -3393,7 +3393,7 @@ name: "InstallElement", status: {"Android": "", "default": "test"}, origin_trial_feature_name: "InstallElement", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], public: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -6001,7 +6001,7 @@ +@@ -6009,7 +6009,7 @@ name: "UnrestrictedSharedArrayBuffer", base_feature: "none", origin_trial_feature_name: "UnrestrictedSharedArrayBuffer", - origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"], }, // Enables using policy-controlled feature "usb-unrestricted" to allow // isolated context to access protected USB interface classes and to -@@ -6098,7 +6098,7 @@ +@@ -6106,7 +6106,7 @@ status: "experimental", origin_trial_feature_name: "UserMediaElement", public: true, - origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "android"], + origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "android", "openbsd", "freebsd"], base_feature_status: "enabled", copied_from_base_feature_if: "overridden", }, -@@ -6209,7 +6209,7 @@ +@@ -6217,7 +6217,7 @@ name: "WebAppInstallation", status: {"Android": "", "default": "test"}, origin_trial_feature_name: "WebAppInstallation", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], public: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -6223,7 +6223,7 @@ +@@ -6231,7 +6231,7 @@ { name: "WebAppScopeExtensions", origin_trial_feature_name: "WebAppScopeExtensions", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], status: "experimental", base_feature: "none", }, diff --git a/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.cc b/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.cc index 4fecd9f58650..999f58bf9410 100644 --- a/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.cc +++ b/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.cc @@ -1,65 +1,65 @@ ---- ui/views/controls/textfield/textfield.cc.orig 2026-05-09 18:09:27 UTC +--- ui/views/controls/textfield/textfield.cc.orig 2026-05-30 12:46:06 UTC +++ ui/views/controls/textfield/textfield.cc @@ -88,7 +88,7 @@ #include "base/win/win_util.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/base/ime/linux/text_edit_command_auralinux.h" #include "ui/base/ime/text_input_flags.h" #include "ui/linux/linux_ui.h" @@ -185,7 +185,7 @@ bool IsControlKeyModifier(int flags) { // Control-modified key combination, but we cannot extend it to other platforms // as Control has different meanings and behaviors. // https://crrev.com/2580483002/#msg46 -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return flags & ui::EF_CONTROL_DOWN; #else return false; @@ -796,7 +796,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event return handled; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!handled) { if (auto* linux_ui = ui::LinuxUi::instance()) { const auto command = @@ -981,7 +981,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo } bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Skip any accelerator handling that conflicts with custom keybindings. if (auto* linux_ui = ui::LinuxUi::instance()) { if (IsTextEditCommandEnabled(linux_ui->GetTextEditCommandForEvent( -@@ -2092,7 +2092,7 @@ bool Textfield::ShouldDoLearning() { +@@ -2100,7 +2100,7 @@ bool Textfield::ShouldDoLearning() { return false; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(crbug.com/41452689): Implement this method to support Korean IME // reconversion feature on native text fields (e.g. find bar). bool Textfield::SetCompositionFromExistingText( -@@ -2619,7 +2619,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( +@@ -2627,7 +2627,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( #endif return ui::TextEditCommand::DELETE_BACKWARD; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only erase by line break on Linux and ChromeOS. if (shift) { return ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE; -@@ -2627,7 +2627,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( +@@ -2635,7 +2635,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( #endif return ui::TextEditCommand::DELETE_WORD_BACKWARD; case ui::VKEY_DELETE: -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only erase by line break on Linux and ChromeOS. if (shift && control) { return ui::TextEditCommand::DELETE_TO_END_OF_LINE; diff --git a/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.h b/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.h index 7fa61aea0966..f59b96c9aefc 100644 --- a/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.h +++ b/www/ungoogled-chromium/files/patch-ui_views_controls_textfield_textfield.h @@ -1,20 +1,20 @@ ---- ui/views/controls/textfield/textfield.h.orig 2026-05-09 18:09:27 UTC +--- ui/views/controls/textfield/textfield.h.orig 2026-05-30 12:46:06 UTC +++ ui/views/controls/textfield/textfield.h @@ -51,7 +51,7 @@ #include "ui/views/view_observer.h" #include "ui/views/word_lookup_client.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #endif -@@ -483,7 +483,7 @@ class VIEWS_EXPORT Textfield : public View, +@@ -484,7 +484,7 @@ class VIEWS_EXPORT Textfield : public View, // Set whether the text should be used to improve typing suggestions. void SetShouldDoLearning(bool value) { should_do_learning_ = value; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override;