diff options
| author | Robert Nagy <robert@openbsd.org> | 2022-10-01 10:52:12 +0000 |
|---|---|---|
| committer | Rene Ladan <rene@FreeBSD.org> | 2022-10-04 21:01:34 +0000 |
| commit | bfe7b23f5c54dae039349ef81792b05c7b6495a5 (patch) | |
| tree | a726c3663d05d3e0ecba25faec7aafcd3a026daa | |
| parent | f1d8b3346b6ad98a622ec17b6a4cfe32ae3c4936 (diff) | |
www/ungoogled-chromium: add port of ungoogled chromium
ungoogled-chromium is a free and open-source Chromium-based web browser with
the aim of increasing privacy through removing Google components and blobs.
additionaly to the upstream version of ungoogled-chromium, patches have been
added to support parallel installation by using separate cache and config
directories
1112 files changed, 38541 insertions, 0 deletions
diff --git a/www/Makefile b/www/Makefile index 33e3d5b45761..fa7369c33f50 100644 --- a/www/Makefile +++ b/www/Makefile @@ -2302,6 +2302,7 @@ SUBDIR += uchiwa SUBDIR += ufdbguard SUBDIR += ulfius + SUBDIR += ungoogled-chromium SUBDIR += unit SUBDIR += unit-java SUBDIR += unit-perl diff --git a/www/ungoogled-chromium/Makefile b/www/ungoogled-chromium/Makefile new file mode 100644 index 000000000000..b60659369fbf --- /dev/null +++ b/www/ungoogled-chromium/Makefile @@ -0,0 +1,372 @@ +PORTNAME= ungoogled-chromium +PORTVERSION= 106.0.5249.91 +UGVERSION= ${DISTVERSION}-1 +CATEGORIES= www wayland +MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ + https://nerd.hu/distfiles/:external +DISTFILES= chromium-${DISTVERSION}${EXTRACT_SUFX} \ + ungoogled-chromium-${UGVERSION}.tar.gz:external + +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 i386 + +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} \ + gperf:devel/gperf \ + flock:sysutils/flock \ + node:www/node \ + 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 + +LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \ + libatspi.so:accessibility/at-spi2-core \ + libspeechd.so:accessibility/speech-dispatcher \ + libsnappy.so:archivers/snappy \ + libFLAC.so:audio/flac \ + libopus.so:audio/opus \ + libspeex.so:audio/speex \ + libdbus-1.so:devel/dbus \ + libdbus-glib-1.so:devel/dbus-glib \ + libevent.so:devel/libevent \ + 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 \ + 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 gnome iconv jpeg \ + localbase:ldflags ninja perl5 pkgconfig python:3.7+,build shebangfix \ + tar:xz xorg + +CPE_VENDOR= google +CPE_PRODUCT= chrome +USE_GL= gbm gl +USE_GNOME= atk dconf gdkpixbuf2 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 +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+= fatal_linker_warnings=false \ + icu_use_data_file=false \ + is_clang=true \ + optimize_webui=true \ + toolkit_views=true \ + use_allocator="none" \ + use_allocator_shim=false \ + use_aura=true \ + use_custom_libcxx=false \ + use_gnome_keyring=false \ + use_lld=true \ + use_sysroot=false \ + use_system_freetype=false \ + use_system_harfbuzz=true \ + use_system_libjpeg=true \ + use_system_libwayland=true \ + use_system_wayland_scanner=true \ + use_udev=false \ + extra_cxxflags="${CXXFLAGS}" \ + extra_ldflags="${LDFLAGS}" + +# 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_hangout_services_extension=false \ + enable_js_type_check=false \ + enable_mdns=false \ + enable_mse_mpeg2ts_stream_parser=true \ + enable_nacl=false \ + enable_reading_list=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 TEST +OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS SNDIO +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+=ffmpeg_branding="Chrome" \ + GN_ARGS+=proprietary_codecs=true +CODECS_VARS_OFF= GN_ARGS+=ffmpeg_branding="Chromium" \ + GN_ARGS+=proprietary_codecs=false + +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="21 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="14 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="14 GB" +LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false + +MIT_LIB_DEPENDS= libkrb.so.3:security/krb5 +PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio +PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true +PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false + +# With SNDIO=on we exclude audio_manager_linux from the build (see +# media/audio/BUILD.gn) and use audio_manager_openbsd which does not +# support falling back to ALSA or PulseAudio. +SNDIO_PREVENTS= ALSA PULSEAUDIO +SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio +SNDIO_VARS= GN_ARGS+=use_sndio=true +SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false + +.include "Makefile.tests" +TEST_DISTFILES= chromium-${DISTVERSION}-testdata${EXTRACT_SUFX} \ + test_fonts-336e775eec536b2d785cc80eff6ac39051931286.tar.gz:external +TEST_ALL_TARGET= ${TEST_TARGETS} + +.include <bsd.port.options.mk> +.include <bsd.port.pre.mk> + +.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 + +.if ${COMPILER_VERSION} != 130 +LLVM_DEFAULT= 13 +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} +.else +BINARY_ALIAS+= ar=/usr/bin/llvm-ar \ + nm=/usr/bin/llvm-nm +.endif + +# swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only +.if ${ARCH} == aarch64 +PLIST_SUB+= NOT_AARCH64="@comment " +.else +PLIST_SUB+= NOT_AARCH64="" +.endif + +# 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} + +pre-everything:: + @${ECHO_MSG} + @${ECHO_MSG} "To build Ungoogled Chromium, you should have around 2GB of memory" + @${ECHO_MSG} "and around ${WANTSPACE} of free disk space." + @${ECHO_MSG} + +post-extract-TEST-on: + @${MKDIR} ${WRKSRC}/third_party/test_fonts/test_fonts + @${MV} ${WRKDIR}/test_fonts ${WRKSRC}/third_party/test_fonts/ + +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 \ + flac fontconfig freetype harfbuzz-ng icu libdrm libevent libpng \ + libusb libwebp libxml libxslt openh264 opus snappy || ${FALSE} + # Chromium uses an unreleased version of FFmpeg, so configure it +.for brand in Chrome Chromium + ${CP} -R \ + ${WRKSRC}/third_party/ffmpeg/chromium/config/${brand}/linux/ \ + ${WRKSRC}/third_party/ffmpeg/chromium/config/${brand}/freebsd +.endfor + +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}${MANPREFIX}/man/man1/ungoogled-chromium.1 + @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \ + ${STAGEDIR}${MANPREFIX}/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} +.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 <bsd.port.post.mk> diff --git a/www/ungoogled-chromium/Makefile.tests b/www/ungoogled-chromium/Makefile.tests new file mode 100644 index 000000000000..a635e949f167 --- /dev/null +++ b/www/ungoogled-chromium/Makefile.tests @@ -0,0 +1,16 @@ +TEST_TARGETS= base_unittests \ + blink_unittests \ + chromedriver_unittests \ + components_unittests \ + content_unittests \ + crypto_unittests \ + gl_tests \ + gpu_unittests \ + headless_unittests \ + media_unittests \ + mojo_unittests \ + net_unittests \ + printing_unittests \ + skia_unittests \ + url_unittests \ + wm_unittests diff --git a/www/ungoogled-chromium/distinfo b/www/ungoogled-chromium/distinfo new file mode 100644 index 000000000000..46a2a72cf840 --- /dev/null +++ b/www/ungoogled-chromium/distinfo @@ -0,0 +1,9 @@ +TIMESTAMP = 1664607238 +SHA256 (chromium-106.0.5249.91.tar.xz) = 5740496b406db5357e2dad131e1ed2cd1c5831732df7aea5f21036ece8e7549a +SIZE (chromium-106.0.5249.91.tar.xz) = 1611228868 +SHA256 (ungoogled-chromium-106.0.5249.91-1.tar.gz) = 2f49d563a079fd50b68c898889c327f3b9f413ecad5b6c5030f96b932e6d0b30 +SIZE (ungoogled-chromium-106.0.5249.91-1.tar.gz) = 664907 +SHA256 (chromium-106.0.5249.91-testdata.tar.xz) = 3a72db5fadd4a370decac2c90d04b18c26054fd00aa099e1b0abad8c2ce95de7 +SIZE (chromium-106.0.5249.91-testdata.tar.xz) = 265399980 +SHA256 (test_fonts-336e775eec536b2d785cc80eff6ac39051931286.tar.gz) = a2ca2962daf482a8f943163541e1c73ba4b2694fabcd2510981f2db4eda493c8 +SIZE (test_fonts-336e775eec536b2d785cc80eff6ac39051931286.tar.gz) = 32624734 diff --git a/www/ungoogled-chromium/files/patch-BUILD.gn b/www/ungoogled-chromium/files/patch-BUILD.gn new file mode 100644 index 000000000000..0508cd496d04 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-BUILD.gn @@ -0,0 +1,80 @@ +--- BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ BUILD.gn +@@ -53,7 +53,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) +@@ -83,7 +83,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", +@@ -441,7 +440,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", +@@ -634,6 +633,15 @@ group("gn_all") { + deps += [ "//gpu/tools/compositor_model_bench" ] + } + ++ if (is_bsd) { ++ deps -= [ ++ "//third_party/breakpad:dump_syms($host_toolchain)", ++ "//third_party/breakpad:microdump_stackwalk($host_toolchain)", ++ "//third_party/breakpad:minidump_dump($host_toolchain)", ++ "//third_party/breakpad:minidump_stackwalk($host_toolchain)", ++ ] ++ } ++ + if (is_mac) { + deps += [ + "//third_party/breakpad:crash_inspector", +@@ -682,7 +690,7 @@ group("gn_all") { + host_os == "win") { + deps += [ "//chrome/test/mini_installer:mini_installer_tests" ] + } +- } else if (!is_android && !is_ios && !is_fuchsia) { ++ } else if (!is_android && !is_ios && !is_fuchsia && !is_bsd) { + deps += [ "//third_party/breakpad:symupload($host_toolchain)" ] + } + +@@ -1194,7 +1202,7 @@ if (!is_ios) { + data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ] + } + +- if (!is_win && !is_android) { ++ if (!is_win && !is_android && !is_bsd) { + data_deps += + [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] + } +@@ -1203,7 +1211,7 @@ if (!is_ios) { + data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux && !is_bsd) || is_chromeos) { + data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] + } + +@@ -1646,7 +1654,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_toolchain)" ] + } diff --git a/www/ungoogled-chromium/files/patch-apps_ui_views_app__window__frame__view.cc b/www/ungoogled-chromium/files/patch-apps_ui_views_app__window__frame__view.cc new file mode 100644 index 000000000000..14f75eb0a3ae --- /dev/null +++ b/www/ungoogled-chromium/files/patch-apps_ui_views_app__window__frame__view.cc @@ -0,0 +1,11 @@ +--- apps/ui/views/app_window_frame_view.cc.orig 2022-10-01 07:40:07 UTC ++++ apps/ui/views/app_window_frame_view.cc +@@ -137,7 +137,7 @@ gfx::Rect AppWindowFrameView::GetWindowBoundsForClient + gfx::Rect window_bounds = client_bounds; + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Get the difference between the widget's client area bounds and window + // bounds, and grow |window_bounds| by that amount. + gfx::Insets native_frame_insets = diff --git a/www/ungoogled-chromium/files/patch-ash_display_mirror__window__controller.cc b/www/ungoogled-chromium/files/patch-ash_display_mirror__window__controller.cc new file mode 100644 index 000000000000..a59bc463b2a5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-ash_display_mirror__window__controller.cc @@ -0,0 +1,14 @@ +--- ash/display/mirror_window_controller.cc.orig 2022-10-01 07:40:07 UTC ++++ ash/display/mirror_window_controller.cc +@@ -296,7 +296,11 @@ void MirrorWindowController::UpdateWindow( + return info.id() == iter->first; + }) == display_info_list.end()) { + CloseAndDeleteHost(iter->second, true); ++#if defined(__llvm__) ++ mirroring_host_info_map_.erase(iter++); ++#else + iter = mirroring_host_info_map_.erase(iter); ++#endif + } else { + ++iter; + } diff --git a/www/ungoogled-chromium/files/patch-base_BUILD.gn b/www/ungoogled-chromium/files/patch-base_BUILD.gn new file mode 100644 index 000000000000..6744bd068762 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_BUILD.gn @@ -0,0 +1,164 @@ +--- base/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ base/BUILD.gn +@@ -162,7 +162,7 @@ buildflag_header("ios_cronet_buildflags") { + flags = [ "CRONET_BUILD=$is_cronet_build" ] + } + +-enable_message_pump_epoll = is_linux || is_chromeos || is_android ++enable_message_pump_epoll = (is_linux || is_chromeos || is_android) && !is_bsd + buildflag_header("message_pump_buildflags") { + header = "message_pump_buildflags.h" + header_dir = "base/message_loop" +@@ -1031,7 +1031,7 @@ mixed_component("base") { + "timer/hi_res_timer_manager_posix.cc", + ] + +- if (!is_nacl && !is_apple) { ++ if (!is_nacl && !is_apple && !is_bsd) { + sources += [ + "profiler/stack_copier_signal.cc", + "profiler/stack_copier_signal.h", +@@ -1040,6 +1040,12 @@ mixed_component("base") { + "profiler/thread_delegate_posix.h", + ] + } ++ ++ if (is_bsd) { ++ sources += [ ++ "profiler/stack_sampler_posix.cc", ++ ] ++ } + } + + if (is_win) { +@@ -1541,11 +1547,23 @@ mixed_component("base") { + # Needed for <atomic> if using newer C++ library than sysroot, except if + # building inside the cros_sdk environment - use host_toolchain as a + # more robust check for this. +- if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) && ++ if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos && !is_bsd)) && + host_toolchain != "//build/toolchain/cros:host") { + libs += [ "atomic" ] + } + ++ # *BSD needs libkvm ++ if (is_bsd) { ++ libs += [ "kvm" ] ++ } ++ ++ if (is_freebsd) { ++ libs += [ ++ "execinfo", ++ "util", ++ ] ++ } ++ + if (use_allocator_shim) { + sources += [ + "allocator/allocator_shim.cc", +@@ -1573,7 +1591,7 @@ mixed_component("base") { + ] + configs += [ "//base/allocator:mac_no_default_new_delete_symbols" ] + } +- if (is_chromeos || is_linux) { ++ if (is_chromeos || (is_linux && !is_bsd)) { + sources += [ + "allocator/allocator_shim_override_cpp_symbols.h", + "allocator/allocator_shim_override_glibc_weak_symbols.h", +@@ -1629,7 +1647,7 @@ mixed_component("base") { + + # Allow more direct string conversions on platforms with native utf8 + # strings +- if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia) { ++ if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia || is_bsd) { + defines += [ "SYSTEM_NATIVE_UTF8" ] + } + +@@ -2211,6 +2229,42 @@ mixed_component("base") { + } + } + ++ if (is_bsd) { ++ sources -= [ ++ "files/file_path_watcher_inotify.cc", ++ "files/file_util_linux.cc", ++ "files/scoped_file_linux.cc", ++ "process/memory_linux.cc", ++ "process/process_linux.cc", ++ "system/sys_info_linux.cc", ++ "process/process_iterator_linux.cc", ++ "process/process_metrics_linux.cc", ++ "process/process_handle_linux.cc" ++ ] ++ sources += [ ++ "process/memory_stubs.cc", ++ "files/file_path_watcher_kqueue.cc", ++ "files/file_path_watcher_kqueue.h", ++ "files/file_path_watcher_bsd.cc", ++ ] ++ } ++ ++ if (is_openbsd) { ++ sources += [ ++ "process/process_handle_openbsd.cc", ++ "process/process_iterator_openbsd.cc", ++ "process/process_metrics_openbsd.cc", ++ "system/sys_info_openbsd.cc", ++ ] ++ } else if (is_freebsd) { ++ sources += [ ++ "process/process_handle_freebsd.cc", ++ "process/process_iterator_freebsd.cc", ++ "process/process_metrics_freebsd.cc", ++ "system/sys_info_freebsd.cc", ++ ] ++ } ++ + # iOS + if (is_ios) { + sources -= [ +@@ -2310,7 +2364,7 @@ mixed_component("base") { + } + + if (dep_libevent) { +- deps += [ "//third_party/libevent" ] ++ public_deps += [ "//third_party/libevent" ] + } + + if (use_libevent) { +@@ -3545,7 +3599,7 @@ test("base_unittests") { + } + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ + "debug/proc_maps_linux_unittest.cc", + "files/scoped_file_linux_unittest.cc", +@@ -3593,7 +3647,7 @@ test("base_unittests") { + "posix/file_descriptor_shuffle_unittest.cc", + "posix/unix_domain_socket_unittest.cc", + ] +- if (!is_nacl && !is_apple) { ++ if (!is_nacl && !is_apple && !is_bsd) { + sources += [ + "profiler/stack_copier_signal_unittest.cc", + "profiler/thread_delegate_posix_unittest.cc", +@@ -3603,7 +3657,7 @@ test("base_unittests") { + + # Allow more direct string conversions on platforms with native utf8 + # strings +- if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia) { ++ if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia || is_bsd) { + defines += [ "SYSTEM_NATIVE_UTF8" ] + } + +@@ -3791,7 +3845,7 @@ test("base_unittests") { + } + } + +- if (is_fuchsia || is_linux || is_chromeos) { ++ if ((is_fuchsia || is_linux || is_chromeos) && !is_bsd) { + sources += [ + "debug/elf_reader_unittest.cc", + "debug/test_elf_image_builder.cc", diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h new file mode 100644 index 000000000000..bbdbf6a76c02 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h @@ -0,0 +1,20 @@ +--- base/allocator/partition_allocator/address_space_randomization.h.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/address_space_randomization.h +@@ -38,7 +38,7 @@ AslrMask(uintptr_t bits) { + + #if defined(ARCH_CPU_64_BITS) + +- #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) ++ #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !defined(OS_BSD) + + // We shouldn't allocate system pages at all for sanitizer builds. However, + // we do, and if random hint addresses interfere with address ranges +@@ -128,7 +128,7 @@ AslrMask(uintptr_t bits) { + return AslrAddress(0x20000000ULL); + } + +- #elif BUILDFLAG(IS_LINUX) ++ #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + // Linux on arm64 can use 39, 42, 48, or 52-bit user space, depending on + // page size and number of levels of translation pages used. We use diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_page__allocator.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_page__allocator.h new file mode 100644 index 000000000000..49d3070a84cd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_page__allocator.h @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/page_allocator.h.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/page_allocator.h +@@ -206,7 +206,7 @@ void DecommitAndZeroSystemPages(void* address, size_t + // recommitted. Do not assume that this will not change over time. + constexpr PA_COMPONENT_EXPORT( + PARTITION_ALLOC) bool DecommittedMemoryIsAlwaysZeroed() { +-#if BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + return false; + #else + return true; diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_page__allocator__constants.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_page__allocator__constants.h new file mode 100644 index 000000000000..c8db5e5a3584 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_page__allocator__constants.h @@ -0,0 +1,38 @@ +--- base/allocator/partition_allocator/page_allocator_constants.h.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/page_allocator_constants.h +@@ -25,7 +25,7 @@ + // elimination. + #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const)) + +-#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) + // This should work for all POSIX (if needed), but currently all other + // supported OS/architecture combinations use either hard-coded values + // (such as x86) or have means to determine these values without needing +@@ -81,7 +81,7 @@ PageAllocationGranularityShift() { + return 14; // 16kB + #elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS) + return static_cast<size_t>(vm_page_shift); +-#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) + // arm64 supports 4kb (shift = 12), 16kb (shift = 14), and 64kb (shift = 16) + // page sizes. Retrieve from or initialize cache. + size_t shift = page_characteristics.shift.load(std::memory_order_relaxed); +@@ -102,7 +102,7 @@ PageAllocationGranularity() { + // This is literally equivalent to |1 << PageAllocationGranularityShift()| + // below, but was separated out for IS_APPLE to avoid << on a non-constexpr. + return vm_page_size; +-#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) + // arm64 supports 4kb, 16kb, and 64kb page sizes. Retrieve from or + // initialize cache. + size_t size = page_characteristics.size.load(std::memory_order_relaxed); +@@ -141,7 +141,7 @@ SystemPageShift() { + PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t + SystemPageSize() { + #if (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ +- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) ++ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)) + // This is literally equivalent to |1 << SystemPageShift()| below, but was + // separated out for 64-bit IS_APPLE and arm64 on Linux to avoid << on a + // non-constexpr. diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h new file mode 100644 index 000000000000..7178749831fe --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h @@ -0,0 +1,16 @@ +--- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/page_allocator_internals_posix.h +@@ -347,8 +347,12 @@ bool TryRecommitSystemPagesInternal( + + void DiscardSystemPagesInternal(uintptr_t address, size_t length) { + void* ptr = reinterpret_cast<void*>(address); +-#if BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) ++#if BUILDFLAG(IS_BSD) ++ int ret = madvise(ptr, length, MADV_FREE); ++#else + int ret = madvise(ptr, length, MADV_FREE_REUSABLE); ++#endif + if (ret) { + // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED. + ret = madvise(ptr, length, MADV_DONTNEED); diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc new file mode 100644 index 000000000000..eb97978cde25 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__address__space.cc @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/partition_address_space.cc.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/partition_address_space.cc +@@ -238,7 +238,7 @@ void PartitionAddressSpace::UninitConfigurablePoolForT + setup_.configurable_pool_ = 0; + } + +-#if BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) + + PageCharacteristics page_characteristics; + diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc new file mode 100644 index 000000000000..3d4b7cced3c8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc @@ -0,0 +1,17 @@ +--- base/allocator/partition_allocator/partition_alloc.cc.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/partition_alloc.cc +@@ -63,8 +63,14 @@ void PartitionAllocGlobalInit(OomFunction on_out_of_me + "maximum direct mapped allocation"); + + // Check that some of our zanier calculations worked out as expected. ++#if defined(__i386__) && defined(OS_FREEBSD) ++ // alignof(std::max_align_t) is only 4 on FreeBSD/i386 ++ static_assert(internal::kSmallestBucket >= internal::kAlignment, ++ "generic smallest bucket"); ++#else + static_assert(internal::kSmallestBucket == internal::kAlignment, + "generic smallest bucket"); ++#endif + static_assert(internal::kMaxBucketed == 917504, "generic max bucketed"); + STATIC_ASSERT_OR_PA_CHECK( + internal::MaxSystemPagesPerRegularSlotSpan() <= 16, diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc new file mode 100644 index 000000000000..bff3736161f6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc @@ -0,0 +1,13 @@ +--- base/allocator/partition_allocator/partition_alloc_base/rand_util_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/partition_alloc_base/rand_util_posix.cc +@@ -86,6 +86,10 @@ void RandBytes(void* output, size_t output_length) { + if (getentropy(output, output_length) == 0) { + return; + } ++#elif BUILDFLAG(IS_BSD) ++ if (getentropy(output, output_length) == 0) { ++ return; ++ } + #endif + + // If the OS-specific mechanisms didn't work, fall through to reading from diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h new file mode 100644 index 000000000000..025d6762fd2f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h +@@ -10,7 +10,7 @@ + + namespace partition_alloc::internal::base::internal { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Current thread id is cached in thread local storage for performance reasons. + // In some rare cases it's important to invalidate that cache explicitly (e.g. + // after going through clone() syscall which does not call pthread_atfork() diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc new file mode 100644 index 000000000000..3b22be9a746d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_posix.cc +@@ -17,7 +17,7 @@ + #include "base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <sys/syscall.h> + #include <atomic> + #endif diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h new file mode 100644 index 000000000000..bf7b17bdeace --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h @@ -0,0 +1,29 @@ +--- base/allocator/partition_allocator/partition_alloc_config.h.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/partition_alloc_config.h +@@ -76,7 +76,7 @@ static_assert(sizeof(void*) != 8, ""); + + // POSIX is not only UNIX, e.g. macOS and other OSes. We do use Linux-specific + // features such as futex(2). +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #define PA_HAS_LINUX_KERNEL + #endif + +@@ -195,7 +195,7 @@ constexpr bool kUseLazyCommit = false; + + // On these platforms, lock all the partitions before fork(), and unlock after. + // This may be required on more platforms in the future. +-#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #define PA_HAS_ATFORK_HANDLER + #endif + +@@ -235,7 +235,7 @@ constexpr bool kUseLazyCommit = false; + // + // Also enabled on ARM64 macOS, as the 16kiB pages on this platform lead to + // larger slot spans. +-#if BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) ++#if BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) || BUILDFLAG(IS_BSD) + #define PA_PREFER_SMALLER_SLOT_SPANS + #endif // BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) + diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h new file mode 100644 index 000000000000..0ba2a5b4a10a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h @@ -0,0 +1,20 @@ +--- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/partition_alloc_constants.h +@@ -91,7 +91,7 @@ PartitionPageShift() { + return 18; // 256 KiB + } + #elif (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ +- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) ++ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)) + PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR PA_ALWAYS_INLINE size_t + PartitionPageShift() { + return PageAllocationGranularityShift() + 2; +@@ -270,7 +270,7 @@ constexpr size_t kNumPools = 3; + // Special-case Android and iOS, which incur test failures with larger + // GigaCage. Regardless, allocating >8GiB with malloc() on these platforms is + // unrealistic as of 2022. +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + constexpr size_t kPoolMaxSize = 8 * kGiB; + #else + constexpr size_t kPoolMaxSize = 16 * kGiB; diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__page.h b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__page.h new file mode 100644 index 000000000000..b395f9ec7f7d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__page.h @@ -0,0 +1,29 @@ +--- base/allocator/partition_allocator/partition_page.h.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/partition_page.h +@@ -131,13 +131,14 @@ struct SlotSpanMetadata { + PartitionBucket<thread_safe>* const bucket = nullptr; + + // CHECK()ed in AllocNewSlotSpan(). +-#if defined(PA_HAS_64_BITS_POINTERS) && BUILDFLAG(IS_APPLE) ++#if (defined(PA_HAS_64_BITS_POINTERS) && BUILDFLAG(IS_APPLE)) || \ ++ (BUILDFLAG(IS_FREEBSD) && defined(__i386__)) + // System page size is not a constant on Apple OSes, but is either 4 or 16kiB + // (1 << 12 or 1 << 14), as checked in PartitionRoot::Init(). And + // PartitionPageSize() is 4 times the OS page size. + static constexpr size_t kMaxSlotsPerSlotSpan = + 4 * (1 << 14) / kSmallestBucket; +-#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) + // System page size can be 4, 16, or 64 kiB on Linux on arm64. 64 kiB is + // currently (kMaxSlotsPerSlotSpanBits == 13) not supported by the code, + // so we use the 16 kiB maximum (64 kiB will crash). +@@ -151,7 +152,9 @@ struct SlotSpanMetadata { + #endif // defined(PA_HAS_64_BITS_POINTERS) && BUILDFLAG(IS_APPLE) + // The maximum number of bits needed to cover all currently supported OSes. + static constexpr size_t kMaxSlotsPerSlotSpanBits = 13; ++#if !BUILDFLAG(IS_FREEBSD) && defined(__i386__) + static_assert(kMaxSlotsPerSlotSpan < (1 << kMaxSlotsPerSlotSpanBits), ""); ++#endif + + // |marked_full| isn't equivalent to being full. Slot span is marked as full + // iff it isn't on the active slot span list (or any other list). diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__root.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__root.cc new file mode 100644 index 000000000000..9e911ca9bc1b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_partition__root.cc @@ -0,0 +1,38 @@ +--- base/allocator/partition_allocator/partition_root.cc.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/partition_root.cc +@@ -33,7 +33,7 @@ + #include "wow64apiset.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <pthread.h> + #endif + +@@ -230,7 +230,7 @@ void PartitionAllocMallocInitOnce() { + if (!g_global_init_called.compare_exchange_strong(expected, true)) + return; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // When fork() is called, only the current thread continues to execute in the + // child process. If the lock is held, but *not* by this thread when fork() is + // called, we have a deadlock. +@@ -321,7 +321,7 @@ static size_t PartitionPurgeSlotSpan( + constexpr size_t kMaxSlotCount = + (PartitionPageSize() * kMaxPartitionPagesPerRegularSlotSpan) / + MaxPurgeableSlotSize(); +-#elif BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) ++#elif BUILDFLAG(IS_APPLE) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) && defined(ARCH_CPU_ARM64)) + // It's better for slot_usage to be stack-allocated and fixed-size, which + // demands that its size be constexpr. On IS_APPLE and Linux on arm64, + // PartitionPageSize() is always SystemPageSize() << 2, so regardless of +@@ -709,7 +709,7 @@ void PartitionRoot<thread_safe>::Init(PartitionOptions + // apple OSes. + PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) || + (internal::SystemPageSize() == (size_t{1} << 14))); +-#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) + // Check runtime pagesize. Though the code is currently the same, it is + // not merged with the IS_APPLE case above as a 1 << 16 case needs to be + // added here in the future, to allow 64 kiB pagesize. That is only diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc new file mode 100644 index 000000000000..f99049492e24 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc @@ -0,0 +1,47 @@ +--- base/allocator/partition_allocator/spinning_mutex.cc.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/spinning_mutex.cc +@@ -18,7 +18,15 @@ + + #if defined(PA_HAS_LINUX_KERNEL) + #include <errno.h> ++#if defined(OS_OPENBSD) ++#include <sys/futex.h> ++#elif defined(OS_FREEBSD) ++#include <sys/types.h> ++#include <sys/thr.h> ++#include <sys/umtx.h> ++#else + #include <linux/futex.h> ++#endif + #include <sys/syscall.h> + #include <unistd.h> + #endif // defined(PA_HAS_LINUX_KERNEL) +@@ -107,8 +115,13 @@ void SpinningMutex::FutexWait() { + // |kLockedContended| anymore. Note that even without spurious wakeups, the + // value of |state_| is not guaranteed when this returns, as another thread + // may get the lock before we get to run. ++#if defined(OS_FREEBSD) ++ int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE, ++ kLockedContended, nullptr, nullptr); ++#else + int err = syscall(SYS_futex, &state_, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, + kLockedContended, nullptr, nullptr, 0); ++#endif + + if (err) { + // These are programming error, check them. +@@ -120,8 +133,14 @@ void SpinningMutex::FutexWait() { + + void SpinningMutex::FutexWake() { + int saved_errno = errno; ++#if defined(OS_FREEBSD) ++ long retval = _umtx_op(&state_, UMTX_OP_WAKE_PRIVATE, ++ 1 /* wake up a single waiter */, nullptr, nullptr); ++#else + long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, + 1 /* wake up a single waiter */, nullptr, nullptr, 0); ++#endif ++ + PA_CHECK(retval != -1); + errno = saved_errno; + } diff --git a/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc new file mode 100644 index 000000000000..79c8624b6350 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc @@ -0,0 +1,50 @@ +--- base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2022-10-01 07:40:07 UTC ++++ base/allocator/partition_allocator/starscan/stack/stack.cc +@@ -17,6 +17,10 @@ + #include <pthread.h> + #endif + ++#if defined(OS_BSD) ++#include <pthread_np.h> ++#endif ++ + #if defined(LIBC_GLIBC) + extern "C" void* __libc_stack_end; + #endif +@@ -47,6 +51,36 @@ void* GetStackTop() { + + void* GetStackTop() { + return pthread_get_stackaddr_np(pthread_self()); ++} ++ ++#elif defined(OS_OPENBSD) ++ ++void* GetStackTop() { ++ stack_t ss; ++ if (pthread_stackseg_np(pthread_self(), &ss) != 0) ++ return nullptr; ++ return reinterpret_cast<uint8_t*>(ss.ss_sp); ++} ++ ++#elif defined(OS_FREEBSD) ++ ++void* GetStackTop() { ++ pthread_attr_t attr; ++ int error = pthread_attr_init(&attr); ++ if (error) { ++ return nullptr; ++ } ++ error = pthread_attr_get_np(pthread_self(), &attr); ++ if (!error) { ++ void* base; ++ size_t size; ++ error = pthread_attr_getstack(&attr, &base, &size); ++ PA_CHECK(!error); ++ pthread_attr_destroy(&attr); ++ return reinterpret_cast<uint8_t*>(base) + size; ++ } ++ pthread_attr_destroy(&attr); ++ return nullptr; + } + + #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) diff --git a/www/ungoogled-chromium/files/patch-base_atomicops.h b/www/ungoogled-chromium/files/patch-base_atomicops.h new file mode 100644 index 000000000000..ed8ded9f1c96 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_atomicops.h @@ -0,0 +1,14 @@ +--- base/atomicops.h.orig 2022-10-01 07:40:07 UTC ++++ base/atomicops.h +@@ -56,7 +56,11 @@ typedef intptr_t Atomic64; + + // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or + // Atomic64 routines below, depending on your architecture. ++#if !defined(OS_OPENBSD) && defined(__i386__) ++typedef Atomic32 AtomicWord; ++#else + typedef intptr_t AtomicWord; ++#endif + + // Atomically execute: + // result = *ptr; diff --git a/www/ungoogled-chromium/files/patch-base_base__paths__posix.cc b/www/ungoogled-chromium/files/patch-base_base__paths__posix.cc new file mode 100644 index 000000000000..091857f7db2a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_base__paths__posix.cc @@ -0,0 +1,98 @@ +--- base/base_paths_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/base_paths_posix.cc +@@ -15,6 +15,7 @@ + #include <ostream> + #include <string> + ++#include "base/command_line.h" + #include "base/environment.h" + #include "base/files/file_path.h" + #include "base/files/file_util.h" +@@ -25,9 +26,13 @@ + #include "base/process/process_metrics.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_FREEBSD) ++#if BUILDFLAG(IS_BSD) + #include <sys/param.h> + #include <sys/sysctl.h> ++#if BUILDFLAG(IS_OPENBSD) ++#include <kvm.h> ++#define MAXTOKENS 2 ++#endif + #elif BUILDFLAG(IS_SOLARIS) || BUILDFLAG(IS_AIX) + #include <stdlib.h> + #endif +@@ -68,13 +73,65 @@ bool PathProviderPosix(int key, FilePath* result) { + *result = FilePath(bin_dir); + return true; + #elif BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_AIX) +- // There is currently no way to get the executable path on OpenBSD +- char* cpath; +- if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) +- *result = FilePath(cpath); +- else +- *result = FilePath("/usr/local/chrome/chrome"); +- return true; ++ char *cpath; ++#if !BUILDFLAG(IS_AIX) ++ struct kinfo_file *files; ++ kvm_t *kd = NULL; ++ char errbuf[_POSIX2_LINE_MAX]; ++ static char retval[PATH_MAX]; ++ int cnt; ++ struct stat sb; ++ pid_t cpid = getpid(); ++ bool ret = false; ++ ++ const base::CommandLine* command_line = ++ base::CommandLine::ForCurrentProcess(); ++ ++ VLOG(1) << "PathProviderPosix argv: " << command_line->argv()[0]; ++ ++ if (realpath(command_line->argv()[0].c_str(), retval) == NULL) ++ goto out; ++ ++ if (stat(command_line->argv()[0].c_str(), &sb) < 0) ++ goto out; ++ ++ if (!command_line->HasSwitch("no-sandbox")) { ++ ret = true; ++ *result = FilePath(retval); ++ VLOG(1) << "PathProviderPosix (sandbox) result: " << retval; ++ goto out; ++ } ++ ++ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL) ++ goto out; ++ ++ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, cpid, ++ sizeof(struct kinfo_file), &cnt)) == NULL) ++ goto out; ++ ++ for (int i = 0; i < cnt; i++) { ++ if (files[i].fd_fd == KERN_FILE_TEXT && ++ files[i].va_fsid == static_cast<uint32_t>(sb.st_dev) && ++ files[i].va_fileid == sb.st_ino) { ++ ret = true; ++ *result = FilePath(retval); ++ VLOG(1) << "PathProviderPosix result: " << retval; ++ } ++ } ++out: ++ if (kd) ++ kvm_close(kd); ++ if (!ret) { ++#endif ++ if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) ++ *result = FilePath(cpath); ++ else ++ *result = FilePath("/usr/local/ungoogled-chromium/ungoogled-chromium"); ++ return true; ++#if !BUILDFLAG(IS_AIX) ++ } ++ return ret; ++#endif + #endif + } + case DIR_SRC_TEST_DATA_ROOT: { diff --git a/www/ungoogled-chromium/files/patch-base_base__switches.cc b/www/ungoogled-chromium/files/patch-base_base__switches.cc new file mode 100644 index 000000000000..a5d89d37a139 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_base__switches.cc @@ -0,0 +1,11 @@ +--- base/base_switches.cc.orig 2022-10-01 07:40:07 UTC ++++ base/base_switches.cc +@@ -170,7 +170,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria + + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/1176772): Remove kEnableCrashpad and IsCrashpadEnabled() when + // Crashpad is fully enabled on Linux. Indicates that Crashpad should be + // enabled. diff --git a/www/ungoogled-chromium/files/patch-base_base__switches.h b/www/ungoogled-chromium/files/patch-base_base__switches.h new file mode 100644 index 000000000000..71316c4d96ef --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_base__switches.h @@ -0,0 +1,11 @@ +--- base/base_switches.h.orig 2022-10-01 07:40:07 UTC ++++ base/base_switches.h +@@ -60,7 +60,7 @@ extern const char kEnableIdleTracing[]; + extern const char kForceFieldTrialParams[]; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/1176772): Remove kEnableCrashpad and IsCrashpadEnabled() when + // Crashpad is fully enabled on Linux. + extern const char kEnableCrashpad[]; diff --git a/www/ungoogled-chromium/files/patch-base_cpu.h b/www/ungoogled-chromium/files/patch-base_cpu.h new file mode 100644 index 000000000000..75f3fbb02cd2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_cpu.h @@ -0,0 +1,11 @@ +--- base/cpu.h.orig 2022-10-01 07:40:07 UTC ++++ base/cpu.h +@@ -108,7 +108,7 @@ class BASE_EXPORT CPU final { + const std::string& cpu_brand() const { return cpu_brand_; } + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + enum class CoreType { + kUnknown = 0, + kOther, diff --git a/www/ungoogled-chromium/files/patch-base_debug_debugger__posix.cc b/www/ungoogled-chromium/files/patch-base_debug_debugger__posix.cc new file mode 100644 index 000000000000..2215c8de0bab --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_debug_debugger__posix.cc @@ -0,0 +1,68 @@ +--- base/debug/debugger_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/debug/debugger_posix.cc +@@ -35,6 +35,10 @@ + #include <sys/sysctl.h> + #endif + ++#if BUILDFLAG(IS_OPENBSD) ++#include <sys/proc.h> ++#endif ++ + #if BUILDFLAG(IS_FREEBSD) + #include <sys/user.h> + #endif +@@ -95,32 +99,51 @@ bool BeingDebugged() { + + // Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and + // binary interfaces may change. ++#if BUILDFLAG(IS_OPENBSD) ++ struct kinfo_proc *info; ++ size_t info_size; ++#else + struct kinfo_proc info; + size_t info_size = sizeof(info); ++#endif + + #if BUILDFLAG(IS_OPENBSD) + if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0) + return -1; + + mib[5] = (info_size / sizeof(struct kinfo_proc)); ++ if ((info = reinterpret_cast<kinfo_proc*>(malloc(info_size))) == NULL) { ++ is_set = true; ++ being_debugged = false; ++ return being_debugged; ++ } ++ ++ int sysctl_result = sysctl(mib, std::size(mib), info, &info_size, NULL, 0); + #endif + ++#if !BUILDFLAG(IS_OPENBSD) + int sysctl_result = sysctl(mib, std::size(mib), &info, &info_size, NULL, 0); ++#endif + DCHECK_EQ(sysctl_result, 0); + if (sysctl_result != 0) { + is_set = true; + being_debugged = false; +- return being_debugged; ++ goto out; + } + + // This process is being debugged if the P_TRACED flag is set. + is_set = true; + #if BUILDFLAG(IS_FREEBSD) + being_debugged = (info.ki_flag & P_TRACED) != 0; +-#elif BUILDFLAG(IS_BSD) +- being_debugged = (info.p_flag & P_TRACED) != 0; ++#elif BUILDFLAG(IS_OPENBSD) ++ being_debugged = (info->p_psflags & PS_TRACED) != 0; + #else + being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0; ++#endif ++ ++out: ++#if BUILDFLAG(IS_OPENBSD) ++ free(info); + #endif + return being_debugged; + } diff --git a/www/ungoogled-chromium/files/patch-base_debug_elf__reader.cc b/www/ungoogled-chromium/files/patch-base_debug_elf__reader.cc new file mode 100644 index 000000000000..8fbbd906e0c7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_debug_elf__reader.cc @@ -0,0 +1,18 @@ +--- base/debug/elf_reader.cc.orig 2022-10-01 07:40:07 UTC ++++ base/debug/elf_reader.cc +@@ -78,6 +78,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, + bool found = false; + while (current_section < section_end) { + current_note = reinterpret_cast<const Nhdr*>(current_section); ++#if !defined(OS_BSD) + if (current_note->n_type == NT_GNU_BUILD_ID) { + StringPiece note_name(current_section + sizeof(Nhdr), + current_note->n_namesz); +@@ -87,6 +88,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, + break; + } + } ++#endif + + size_t section_size = bits::AlignUp(current_note->n_namesz, 4u) + + bits::AlignUp(current_note->n_descsz, 4u) + diff --git a/www/ungoogled-chromium/files/patch-base_debug_proc__maps__linux.cc b/www/ungoogled-chromium/files/patch-base_debug_proc__maps__linux.cc new file mode 100644 index 000000000000..30c6e6205902 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_debug_proc__maps__linux.cc @@ -0,0 +1,11 @@ +--- base/debug/proc_maps_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ base/debug/proc_maps_linux.cc +@@ -13,7 +13,7 @@ + #include "base/strings/string_split.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include <inttypes.h> + #endif + diff --git a/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc b/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc new file mode 100644 index 000000000000..f828c074ab75 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_debug_stack__trace__posix.cc @@ -0,0 +1,38 @@ +--- base/debug/stack_trace_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/debug/stack_trace_posix.cc +@@ -39,7 +39,7 @@ + #include <AvailabilityMacros.h> + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/debug/proc_maps_linux.h" + #endif + +@@ -698,6 +698,9 @@ class SandboxSymbolizeHelper { + // for the modules that are loaded in the current process. + // Returns true on success. + bool CacheMemoryRegions() { ++#if BUILDFLAG(IS_BSD) ++ return false; ++#else + // Reads /proc/self/maps. + std::string contents; + if (!ReadProcMaps(&contents)) { +@@ -715,6 +718,7 @@ class SandboxSymbolizeHelper { + + is_initialized_ = true; + return true; ++#endif + } + + // Opens all object files and caches their file descriptors. +@@ -871,7 +875,7 @@ size_t CollectStackTrace(void** trace, size_t count) { + // If we do not have unwind tables, then try tracing using frame pointers. + return base::debug::TraceStackFramePointers(const_cast<const void**>(trace), + count, 0); +-#elif !defined(__UCLIBC__) && !defined(_AIX) ++#elif !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD) + // Though the backtrace API man page does not list any possible negative + // return values, we take no chance. + return base::saturated_cast<size_t>( diff --git a/www/ungoogled-chromium/files/patch-base_files_dir__reader__linux.h b/www/ungoogled-chromium/files/patch-base_files_dir__reader__linux.h new file mode 100644 index 000000000000..74f2516ba6e6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_files_dir__reader__linux.h @@ -0,0 +1,39 @@ +--- base/files/dir_reader_linux.h.orig 2022-10-01 07:40:07 UTC ++++ base/files/dir_reader_linux.h +@@ -16,10 +16,16 @@ + #include "base/logging.h" + #include "base/posix/eintr_wrapper.h" + ++#include "build/build_config.h" ++ + // See the comments in dir_reader_posix.h about this. + + namespace base { + ++#if BUILDFLAG(IS_BSD) ++#include <dirent.h> ++typedef struct dirent linux_dirent; ++#else + struct linux_dirent { + uint64_t d_ino; + int64_t d_off; +@@ -27,6 +33,7 @@ struct linux_dirent { + unsigned char d_type; + char d_name[0]; + }; ++#endif + + class DirReaderLinux { + public: +@@ -61,7 +68,11 @@ class DirReaderLinux { + if (offset_ != size_) + return true; + ++#if BUILDFLAG(IS_BSD) ++ const int r = getdents(fd_, reinterpret_cast<char *>(buf_), sizeof(buf_)); ++#else + const long r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_)); ++#endif + if (r == 0) + return false; + if (r < 0) { diff --git a/www/ungoogled-chromium/files/patch-base_files_dir__reader__posix.h b/www/ungoogled-chromium/files/patch-base_files_dir__reader__posix.h new file mode 100644 index 000000000000..131f7afcd8c5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_files_dir__reader__posix.h @@ -0,0 +1,20 @@ +--- base/files/dir_reader_posix.h.orig 2022-10-01 07:40:07 UTC ++++ base/files/dir_reader_posix.h +@@ -17,7 +17,7 @@ + // seems worse than falling back to enumerating all file descriptors so we will + // probably never implement this on the Mac. + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "base/files/dir_reader_linux.h" + #else + #include "base/files/dir_reader_fallback.h" +@@ -25,7 +25,7 @@ + + namespace base { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + typedef DirReaderLinux DirReaderPosix; + #else + typedef DirReaderFallback DirReaderPosix; diff --git a/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__bsd.cc b/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__bsd.cc new file mode 100644 index 000000000000..5e17eef81845 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__bsd.cc @@ -0,0 +1,57 @@ +--- base/files/file_path_watcher_bsd.cc.orig 2022-10-01 07:40:07 UTC ++++ base/files/file_path_watcher_bsd.cc +@@ -0,0 +1,54 @@ ++// Copyright 2021 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include <memory> ++ ++#include "base/files/file_path_watcher.h" ++#include "base/files/file_path_watcher_kqueue.h" ++#include "base/memory/ptr_util.h" ++#include "build/build_config.h" ++ ++namespace base { ++ ++namespace { ++ ++class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate { ++ public: ++ FilePathWatcherImpl() = default; ++ FilePathWatcherImpl(const FilePathWatcherImpl&) = delete; ++ FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete; ++ ~FilePathWatcherImpl() override = default; ++ ++ bool Watch(const FilePath& path, ++ Type type, ++ const FilePathWatcher::Callback& callback) override { ++ DCHECK(!impl_.get()); ++ if (type == Type::kRecursive) { ++ if (!FilePathWatcher::RecursiveWatchAvailable()) ++ return false; ++ } else { ++ impl_ = std::make_unique<FilePathWatcherKQueue>(); ++ } ++ DCHECK(impl_.get()); ++ return impl_->Watch(path, type, callback); ++ } ++ ++ void Cancel() override { ++ if (impl_.get()) ++ impl_->Cancel(); ++ set_cancelled(); ++ } ++ ++ private: ++ std::unique_ptr<PlatformDelegate> impl_; ++}; ++ ++} // namespace ++ ++FilePathWatcher::FilePathWatcher() { ++ sequence_checker_.DetachFromSequence(); ++ impl_ = std::make_unique<FilePathWatcherImpl>(); ++} ++ ++} // namespace base diff --git a/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__kqueue.h b/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__kqueue.h new file mode 100644 index 000000000000..f359a963aea5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__kqueue.h @@ -0,0 +1,10 @@ +--- base/files/file_path_watcher_kqueue.h.orig 2022-10-01 07:40:07 UTC ++++ base/files/file_path_watcher_kqueue.h +@@ -5,6 +5,7 @@ + #ifndef BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ + #define BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ + ++#include <sys/time.h> + #include <sys/event.h> + + #include <memory> diff --git a/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__unittest.cc b/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__unittest.cc new file mode 100644 index 000000000000..0da5585ec8dc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_files_file__path__watcher__unittest.cc @@ -0,0 +1,29 @@ +--- base/files/file_path_watcher_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/files/file_path_watcher_unittest.cc +@@ -498,7 +498,7 @@ TEST_F(FilePathWatcherTest, MAYBE_WatchDirectory) { + VLOG(1) << "Waiting for file1 creation"; + ASSERT_TRUE(WaitForEvents()); + +-#if !BUILDFLAG(IS_APPLE) ++#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + // Mac implementation does not detect files modified in a directory. + ASSERT_TRUE(WriteFile(file1, "content v2")); + VLOG(1) << "Waiting for file1 modification"; +@@ -1118,7 +1118,7 @@ enum Permission { + Execute + }; + +-#if BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) { + struct stat stat_buf; + +@@ -1149,7 +1149,7 @@ bool ChangeFilePermissions(const FilePath& path, Permi + } + #endif // BUILDFLAG(IS_APPLE) + +-#if BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + // Linux implementation of FilePathWatcher doesn't catch attribute changes. + // http://crbug.com/78043 + // Windows implementation of FilePathWatcher catches attribute changes that diff --git a/www/ungoogled-chromium/files/patch-base_files_file__util__posix.cc b/www/ungoogled-chromium/files/patch-base_files_file__util__posix.cc new file mode 100644 index 000000000000..50b63ab9e370 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_files_file__util__posix.cc @@ -0,0 +1,52 @@ +--- base/files/file_util_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/files/file_util_posix.cc +@@ -700,32 +700,34 @@ bool CreateDirectoryAndGetError(const FilePath& full_p + File::Error* error) { + ScopedBlockingCall scoped_blocking_call( + FROM_HERE, BlockingType::MAY_BLOCK); // For call to mkdir(). ++ const FilePath kFileSystemRoot("/"); + std::vector<FilePath> subpaths; + + // Collect a list of all parent directories. + FilePath last_path = full_path; +- subpaths.push_back(full_path); ++ if (full_path != kFileSystemRoot) ++ subpaths.push_back(full_path); + for (FilePath path = full_path.DirName(); +- path.value() != last_path.value(); path = path.DirName()) { ++ (path.value() != last_path.value() && ++ (path != kFileSystemRoot)); path = path.DirName()) { + subpaths.push_back(path); + last_path = path; + } + + // Iterate through the parents and create the missing ones. + for (const FilePath& subpath : base::Reversed(subpaths)) { +- if (DirectoryExists(subpath)) +- continue; +- if (mkdir(subpath.value().c_str(), 0700) == 0) +- continue; +- // Mkdir failed, but it might have failed with EEXIST, or some other error +- // due to the directory appearing out of thin air. This can occur if +- // two processes are trying to create the same file system tree at the same +- // time. Check to see if it exists and make sure it is a directory. +- int saved_errno = errno; +- if (!DirectoryExists(subpath)) { +- if (error) +- *error = File::OSErrorToFileError(saved_errno); +- return false; ++ if (!PathExists(subpath)) { ++ if ((mkdir(subpath.value().c_str(), 0700) == -1) && ++ ((full_path != subpath) ? (errno != ENOENT) : (-1))) { ++ int saved_errno = errno; ++ if (error) ++ *error = File::OSErrorToFileError(saved_errno); ++ return false; ++ } ++ } else if (!DirectoryExists(subpath)) { ++ if (error) ++ *error = File::OSErrorToFileError(ENOTDIR); ++ return false; + } + } + return true; diff --git a/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc b/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc new file mode 100644 index 000000000000..619d941c725e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_files_file__util__unittest.cc @@ -0,0 +1,20 @@ +--- base/files/file_util_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/files/file_util_unittest.cc +@@ -3522,7 +3522,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { + } + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) { + FilePath file_path("/proc/cpuinfo"); + std::string data = "temp"; +@@ -4245,7 +4245,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles + NULL); + #else + size_t bytes_written = +- ::write(::fileno(output_file.get()), content.c_str(), content.length()); ++ ::write(fileno(output_file.get()), content.c_str(), content.length()); + #endif + EXPECT_EQ(content.length(), bytes_written); + ::fflush(output_file.get()); diff --git a/www/ungoogled-chromium/files/patch-base_files_important__file__writer__cleaner.cc b/www/ungoogled-chromium/files/patch-base_files_important__file__writer__cleaner.cc new file mode 100644 index 000000000000..bd72445b2df1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_files_important__file__writer__cleaner.cc @@ -0,0 +1,12 @@ +--- base/files/important_file_writer_cleaner.cc.orig 2022-10-01 07:40:07 UTC ++++ base/files/important_file_writer_cleaner.cc +@@ -25,7 +25,8 @@ namespace base { + namespace { + + base::Time GetUpperBoundTime() { +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) ++// needed because of .CreationTime() pledge ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // If process creation time is not available then use instance creation + // time as the upper-bound for old files. Modification times may be + // rounded-down to coarse-grained increments, e.g. FAT has 2s granularity, diff --git a/www/ungoogled-chromium/files/patch-base_files_scoped__file.cc b/www/ungoogled-chromium/files/patch-base_files_scoped__file.cc new file mode 100644 index 000000000000..3ddf2f9aaaac --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_files_scoped__file.cc @@ -0,0 +1,11 @@ +--- base/files/scoped_file.cc.orig 2022-10-01 07:40:07 UTC ++++ base/files/scoped_file.cc +@@ -31,7 +31,7 @@ void ScopedFDCloseTraits::Free(int fd) { + int ret = IGNORE_EINTR(close(fd)); + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ +- BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // NB: Some file descriptors can return errors from close() e.g. network + // filesystems such as NFS and Linux input devices. On Linux, macOS, and + // Fuchsia's POSIX layer, errors from close other than EBADF do not indicate diff --git a/www/ungoogled-chromium/files/patch-base_i18n_icu__util.cc b/www/ungoogled-chromium/files/patch-base_i18n_icu__util.cc new file mode 100644 index 000000000000..fd39d74dbe60 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_i18n_icu__util.cc @@ -0,0 +1,20 @@ +--- base/i18n/icu_util.cc.orig 2022-10-01 07:40:07 UTC ++++ base/i18n/icu_util.cc +@@ -53,7 +53,7 @@ + #include "third_party/icu/source/common/unicode/unistr.h" + #endif + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) || \ + BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) + #include "third_party/icu/source/i18n/unicode/timezone.h" + #endif +@@ -325,7 +325,7 @@ void InitializeIcuTimeZone() { + FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization(); + icu::TimeZone::adoptDefault( + icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id))); +-#elif BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) ++#elif BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) + // To respond to the time zone change properly, the default time zone + // cache in ICU has to be populated on starting up. + // See TimeZoneMonitorLinux::NotifyClientsFromImpl(). diff --git a/www/ungoogled-chromium/files/patch-base_linux__util.cc b/www/ungoogled-chromium/files/patch-base_linux__util.cc new file mode 100644 index 000000000000..b001a14e9375 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_linux__util.cc @@ -0,0 +1,28 @@ +--- base/linux_util.cc.orig 2022-10-01 07:40:07 UTC ++++ base/linux_util.cc +@@ -15,6 +15,7 @@ + + #include <iomanip> + #include <memory> ++#include <sstream> + + #include "base/base_export.h" + #include "base/files/dir_reader_posix.h" +@@ -135,6 +136,9 @@ void SetLinuxDistro(const std::string& distro) { + } + + bool GetThreadsForProcess(pid_t pid, std::vector<pid_t>* tids) { ++#if defined(OS_BSD) ++ return false; ++#else + // 25 > strlen("/proc//task") + strlen(std::to_string(INT_MAX)) + 1 = 22 + char buf[25]; + strings::SafeSPrintf(buf, "/proc/%d/task", pid); +@@ -152,6 +156,7 @@ bool GetThreadsForProcess(pid_t pid, std::vector<pid_t + } + + return true; ++#endif + } + + pid_t FindThreadIDWithSyscall(pid_t pid, const std::string& expected_data, diff --git a/www/ungoogled-chromium/files/patch-base_logging__unittest.cc b/www/ungoogled-chromium/files/patch-base_logging__unittest.cc new file mode 100644 index 000000000000..e4e536b7f81e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_logging__unittest.cc @@ -0,0 +1,31 @@ +--- base/logging_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/logging_unittest.cc +@@ -32,7 +32,7 @@ + #include "base/posix/eintr_wrapper.h" + #endif // BUILDFLAG(IS_POSIX) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) + #include <ucontext.h> + #endif + +@@ -574,14 +574,18 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo + // need the arch-specific boilerplate below, which is inspired by breakpad. + // At the same time, on OSX, ucontext.h is deprecated but si_addr works fine. + uintptr_t crash_addr = 0; +-#if BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FREEBSD) + crash_addr = reinterpret_cast<uintptr_t>(info->si_addr); + #else // OS_* + ucontext_t* context = reinterpret_cast<ucontext_t*>(context_ptr); + #if defined(ARCH_CPU_X86) + crash_addr = static_cast<uintptr_t>(context->uc_mcontext.gregs[REG_EIP]); + #elif defined(ARCH_CPU_X86_64) ++#if BUILDFLAG(IS_OPENBSD) ++ crash_addr = static_cast<uintptr_t>(context->sc_rip); ++#else + crash_addr = static_cast<uintptr_t>(context->uc_mcontext.gregs[REG_RIP]); ++#endif + #elif defined(ARCH_CPU_ARMEL) + crash_addr = static_cast<uintptr_t>(context->uc_mcontext.arm_pc); + #elif defined(ARCH_CPU_ARM64) diff --git a/www/ungoogled-chromium/files/patch-base_memory_discardable__memory.cc b/www/ungoogled-chromium/files/patch-base_memory_discardable__memory.cc new file mode 100644 index 000000000000..5ab46fa58774 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_memory_discardable__memory.cc @@ -0,0 +1,38 @@ +--- base/memory/discardable_memory.cc.orig 2022-10-01 07:40:07 UTC ++++ base/memory/discardable_memory.cc +@@ -25,7 +25,7 @@ const base::Feature kMadvFreeDiscardableMemory{ + "MadvFreeDiscardableMemory", base::FEATURE_DISABLED_BY_DEFAULT}; + #endif // BUILDFLAG(IS_POSIX) + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const base::Feature kDiscardableMemoryBackingTrial{ + "DiscardableMemoryBackingTrial", base::FEATURE_DISABLED_BY_DEFAULT}; + +@@ -50,7 +50,7 @@ const base::FeatureParam<DiscardableMemoryTrialGroup> + + namespace { + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + DiscardableMemoryBacking GetBackingForFieldTrial() { + DiscardableMemoryTrialGroup trial_group = +@@ -69,7 +69,7 @@ DiscardableMemoryBacking GetBackingForFieldTrial() { + + } // namespace + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + // Probe capabilities of this device to determine whether we should participate + // in the discardable memory backing trial. +@@ -99,7 +99,7 @@ DiscardableMemory::DiscardableMemory() = default; + DiscardableMemory::~DiscardableMemory() = default; + + DiscardableMemoryBacking GetDiscardableMemoryBacking() { +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (DiscardableMemoryBackingFieldTrialIsEnabled()) { + return GetBackingForFieldTrial(); + } diff --git a/www/ungoogled-chromium/files/patch-base_memory_discardable__memory__internal.h b/www/ungoogled-chromium/files/patch-base_memory_discardable__memory__internal.h new file mode 100644 index 000000000000..74d6b371cef8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_memory_discardable__memory__internal.h @@ -0,0 +1,11 @@ +--- base/memory/discardable_memory_internal.h.orig 2022-10-01 07:40:07 UTC ++++ base/memory/discardable_memory_internal.h +@@ -10,7 +10,7 @@ + #include "base/metrics/field_trial_params.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + namespace base { + diff --git a/www/ungoogled-chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc b/www/ungoogled-chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc new file mode 100644 index 000000000000..b621decda352 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc @@ -0,0 +1,21 @@ +--- base/memory/madv_free_discardable_memory_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/memory/madv_free_discardable_memory_posix.cc +@@ -295,6 +295,10 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT + + bool MadvFreeDiscardableMemoryPosix::IsResident() const { + DFAKE_SCOPED_RECURSIVE_LOCK(thread_collision_warner_); ++// XXX mincore ++#if BUILDFLAG(IS_BSD) ++ return false; ++#else + #if BUILDFLAG(IS_APPLE) + std::vector<char> vec(allocated_pages_); + #else +@@ -310,6 +314,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons + return false; + } + return true; ++#endif + } + + bool MadvFreeDiscardableMemoryPosix::IsDiscarded() const { diff --git a/www/ungoogled-chromium/files/patch-base_memory_platform__shared__memory__region.h b/www/ungoogled-chromium/files/patch-base_memory_platform__shared__memory__region.h new file mode 100644 index 000000000000..71079157dd1d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_memory_platform__shared__memory__region.h @@ -0,0 +1,29 @@ +--- base/memory/platform_shared_memory_region.h.orig 2022-10-01 07:40:07 UTC ++++ base/memory/platform_shared_memory_region.h +@@ -16,7 +16,7 @@ + + #include <stdint.h> + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + namespace content { + class SandboxIPCHandler; + } +@@ -83,7 +83,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { + kMaxValue = GET_SHMEM_TEMP_DIR_FAILURE + }; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Structure to limit access to executable region creation. + struct ExecutableRegion { + private: +@@ -211,7 +211,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { + CheckPlatformHandlePermissionsCorrespondToMode); + static PlatformSharedMemoryRegion Create(Mode mode, + size_t size +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + , + bool executable = false + #endif diff --git a/www/ungoogled-chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc b/www/ungoogled-chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc new file mode 100644 index 000000000000..ac7afdc29e95 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc @@ -0,0 +1,29 @@ +--- base/memory/platform_shared_memory_region_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/memory/platform_shared_memory_region_posix.cc +@@ -55,7 +55,7 @@ bool CheckFDAccessMode(int fd, int expected_mode) { + + } // namespace + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // static + ScopedFD PlatformSharedMemoryRegion::ExecutableRegion::CreateFD(size_t size) { + PlatformSharedMemoryRegion region = +@@ -171,7 +171,7 @@ bool PlatformSharedMemoryRegion::ConvertToUnsafe() { + // static + PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode, + size_t size +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + , + bool executable + #endif +@@ -200,7 +200,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion: + // flag. + FilePath directory; + if (!GetShmemTempDir( +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + executable, + #else + false /* executable */, diff --git a/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__glib.cc b/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__glib.cc new file mode 100644 index 000000000000..84eece67a91e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_message__loop_message__pump__glib.cc @@ -0,0 +1,28 @@ +--- base/message_loop/message_pump_glib.cc.orig 2022-10-01 07:40:07 UTC ++++ base/message_loop/message_pump_glib.cc +@@ -8,6 +8,11 @@ + #include <glib.h> + #include <math.h> + ++#if BUILDFLAG(IS_BSD) ++#include <pthread.h> ++#include <pthread_np.h> ++#endif ++ + #include "base/logging.h" + #include "base/memory/raw_ptr.h" + #include "base/notreached.h" +@@ -51,9 +56,13 @@ int GetTimeIntervalMilliseconds(TimeTicks next_task_ti + } + + bool RunningOnMainThread() { ++#if BUILDFLAG(IS_BSD) ++ return pthread_main_np(); ++#else + auto pid = getpid(); + auto tid = PlatformThread::CurrentId(); + return pid > 0 && tid > 0 && pid == tid; ++#endif + } + + // A brief refresher on GLib: diff --git a/www/ungoogled-chromium/files/patch-base_native__library__posix.cc b/www/ungoogled-chromium/files/patch-base_native__library__posix.cc new file mode 100644 index 000000000000..7cbb17fce86a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_native__library__posix.cc @@ -0,0 +1,11 @@ +--- base/native_library_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/native_library_posix.cc +@@ -33,7 +33,7 @@ NativeLibrary LoadNativeLibraryWithOptions(const FileP + // http://crbug.com/17943, http://crbug.com/17557, http://crbug.com/36892, + // and http://crbug.com/40794. + int flags = RTLD_LAZY; +-#if BUILDFLAG(IS_ANDROID) || !defined(RTLD_DEEPBIND) ++#if BUILDFLAG(IS_ANDROID) || !defined(RTLD_DEEPBIND) || BUILDFLAG(IS_BSD) + // Certain platforms don't define RTLD_DEEPBIND. Android dlopen() requires + // further investigation, as it might vary across versions. Crash here to + // warn developers that they're trying to rely on uncertain behavior. diff --git a/www/ungoogled-chromium/files/patch-base_native__library__unittest.cc b/www/ungoogled-chromium/files/patch-base_native__library__unittest.cc new file mode 100644 index 000000000000..332fe755fd4a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_native__library__unittest.cc @@ -0,0 +1,11 @@ +--- base/native_library_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/native_library_unittest.cc +@@ -119,7 +119,7 @@ TEST(NativeLibraryTest, LoadLibrary) { + // versions with respect to symbol resolution scope. + // TSan and MSan error out on RTLD_DEEPBIND, https://crbug.com/705255 + #if !BUILDFLAG(IS_ANDROID) && !defined(THREAD_SANITIZER) && \ +- !defined(MEMORY_SANITIZER) ++ !defined(MEMORY_SANITIZER) && !BUILDFLAG(IS_BSD) + + // Verifies that the |prefer_own_symbols| option satisfies its guarantee that + // a loaded library will always prefer local symbol resolution before diff --git a/www/ungoogled-chromium/files/patch-base_posix_can__lower__nice__to.cc b/www/ungoogled-chromium/files/patch-base_posix_can__lower__nice__to.cc new file mode 100644 index 000000000000..b2c7da827da8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_posix_can__lower__nice__to.cc @@ -0,0 +1,16 @@ +--- base/posix/can_lower_nice_to.cc.orig 2022-10-01 07:40:07 UTC ++++ base/posix/can_lower_nice_to.cc +@@ -11,8 +11,12 @@ + + #include "build/build_config.h" + ++#if BUILDFLAG(IS_FREEBSD) ++#include <sys/param.h> ++#endif ++ + // Not defined on AIX by default. +-#if BUILDFLAG(IS_AIX) ++#if BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + #if defined(RLIMIT_NICE) + #error Assumption about OS_AIX is incorrect + #endif diff --git a/www/ungoogled-chromium/files/patch-base_posix_unix__domain__socket.cc b/www/ungoogled-chromium/files/patch-base_posix_unix__domain__socket.cc new file mode 100644 index 000000000000..a361dc6d8ccf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_posix_unix__domain__socket.cc @@ -0,0 +1,39 @@ +--- base/posix/unix_domain_socket.cc.orig 2022-10-01 07:40:07 UTC ++++ base/posix/unix_domain_socket.cc +@@ -51,7 +51,7 @@ bool CreateSocketPair(ScopedFD* one, ScopedFD* two) { + + // static + bool UnixDomainSocket::EnableReceiveProcessId(int fd) { +-#if !BUILDFLAG(IS_APPLE) ++#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + const int enable = 1; + return setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable)) == 0; + #else +@@ -149,7 +149,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + + const size_t kControlBufferSize = + CMSG_SPACE(sizeof(int) * kMaxFileDescriptors) +-#if !BUILDFLAG(IS_APPLE) ++#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + // macOS does not support ucred. + // macOS supports xucred, but this structure is insufficient. + + CMSG_SPACE(sizeof(struct ucred)) +@@ -177,7 +177,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + wire_fds = reinterpret_cast<int*>(CMSG_DATA(cmsg)); + wire_fds_len = payload_len / sizeof(int); + } +-#if !BUILDFLAG(IS_APPLE) ++#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + // macOS does not support SCM_CREDENTIALS. + if (cmsg->cmsg_level == SOL_SOCKET && + cmsg->cmsg_type == SCM_CREDENTIALS) { +@@ -211,6 +211,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + socklen_t pid_size = sizeof(pid); + if (getsockopt(fd, SOL_LOCAL, LOCAL_PEERPID, &pid, &pid_size) != 0) + pid = -1; ++#elif BUILDFLAG(IS_BSD) ++ NOTIMPLEMENTED(); ++ pid = -1; + #else + // |pid| will legitimately be -1 if we read EOF, so only DCHECK if we + // actually received a message. Unfortunately, Linux allows sending zero diff --git a/www/ungoogled-chromium/files/patch-base_posix_unix__domain__socket__unittest.cc b/www/ungoogled-chromium/files/patch-base_posix_unix__domain__socket__unittest.cc new file mode 100644 index 000000000000..969253ca926e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_posix_unix__domain__socket__unittest.cc @@ -0,0 +1,11 @@ +--- base/posix/unix_domain_socket_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/posix/unix_domain_socket_unittest.cc +@@ -10,6 +10,8 @@ + #include <sys/types.h> + #include <unistd.h> + ++#include <signal.h> ++ + #include "base/bind.h" + #include "base/callback_helpers.h" + #include "base/files/file_util.h" diff --git a/www/ungoogled-chromium/files/patch-base_process_kill.h b/www/ungoogled-chromium/files/patch-base_process_kill.h new file mode 100644 index 000000000000..8470d2dbfea6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_kill.h @@ -0,0 +1,11 @@ +--- base/process/kill.h.orig 2022-10-01 07:40:07 UTC ++++ base/process/kill.h +@@ -113,7 +113,7 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro + BASE_EXPORT TerminationStatus GetKnownDeadTerminationStatus( + ProcessHandle handle, int* exit_code); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Spawns a thread to wait asynchronously for the child |process| to exit + // and then reaps it. + BASE_EXPORT void EnsureProcessGetsReaped(Process process); diff --git a/www/ungoogled-chromium/files/patch-base_process_kill__posix.cc b/www/ungoogled-chromium/files/patch-base_process_kill__posix.cc new file mode 100644 index 000000000000..43688c37dc81 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_kill__posix.cc @@ -0,0 +1,11 @@ +--- base/process/kill_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/kill_posix.cc +@@ -158,7 +158,7 @@ void EnsureProcessTerminated(Process process) { + 0, new BackgroundReaper(std::move(process), Seconds(2))); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void EnsureProcessGetsReaped(Process process) { + DCHECK(!process.is_current()); + diff --git a/www/ungoogled-chromium/files/patch-base_process_launch.h b/www/ungoogled-chromium/files/patch-base_process_launch.h new file mode 100644 index 000000000000..f77e6e9d9143 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_launch.h @@ -0,0 +1,11 @@ +--- base/process/launch.h.orig 2022-10-01 07:40:07 UTC ++++ base/process/launch.h +@@ -198,7 +198,7 @@ struct BASE_EXPORT LaunchOptions { + bool clear_environment = false; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // If non-zero, start the process using clone(), using flags as provided. + // Unlike in clone, clone_flags may not contain a custom termination signal + // that is sent to the parent when the child dies. The termination signal will diff --git a/www/ungoogled-chromium/files/patch-base_process_launch__posix.cc b/www/ungoogled-chromium/files/patch-base_process_launch__posix.cc new file mode 100644 index 000000000000..75b6612ffbd1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_launch__posix.cc @@ -0,0 +1,12 @@ +--- base/process/launch_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/launch_posix.cc +@@ -64,6 +64,9 @@ + #error "macOS should use launch_mac.cc" + #endif + ++#if defined(OS_FREEBSD) ++#pragma weak environ ++#endif + extern char** environ; + + namespace base { diff --git a/www/ungoogled-chromium/files/patch-base_process_memory.cc b/www/ungoogled-chromium/files/patch-base_process_memory.cc new file mode 100644 index 000000000000..0428c9c57337 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_memory.cc @@ -0,0 +1,11 @@ +--- base/process/memory.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/memory.cc +@@ -29,7 +29,7 @@ namespace base { + // Defined in memory_mac.mm for macOS + use_allocator="none". In case of + // USE_PARTITION_ALLOC_AS_MALLOC, no need to route the call to the system + // default calloc of macOS. +-#if !BUILDFLAG(IS_APPLE) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) ++#if (!BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD)) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) + + bool UncheckedCalloc(size_t num_items, size_t size, void** result) { + const size_t alloc_size = num_items * size; diff --git a/www/ungoogled-chromium/files/patch-base_process_process__handle.cc b/www/ungoogled-chromium/files/patch-base_process_process__handle.cc new file mode 100644 index 000000000000..f33e81ebacf8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__handle.cc @@ -0,0 +1,11 @@ +--- base/process/process_handle.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_handle.cc +@@ -30,7 +30,7 @@ UniqueProcId GetUniqueIdForProcess() { + : UniqueProcId(GetCurrentProcId()); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + + void InitUniqueIdForProcessInPidNamespace(ProcessId pid_outside_of_namespace) { + DCHECK(pid_outside_of_namespace != kNullProcessId); diff --git a/www/ungoogled-chromium/files/patch-base_process_process__handle.h b/www/ungoogled-chromium/files/patch-base_process_process__handle.h new file mode 100644 index 000000000000..9015f4dbd03d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__handle.h @@ -0,0 +1,11 @@ +--- base/process/process_handle.h.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_handle.h +@@ -106,7 +106,7 @@ BASE_EXPORT ProcessId GetCurrentProcId(); + // processes may be reused. + BASE_EXPORT UniqueProcId GetUniqueIdForProcess(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // When a process is started in a different PID namespace from the browser + // process, this function must be called with the process's PID in the browser's + // PID namespace in order to initialize its unique ID. Not thread safe. diff --git a/www/ungoogled-chromium/files/patch-base_process_process__handle__freebsd.cc b/www/ungoogled-chromium/files/patch-base_process_process__handle__freebsd.cc new file mode 100644 index 000000000000..07eed6768732 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__handle__freebsd.cc @@ -0,0 +1,25 @@ +--- base/process/process_handle_freebsd.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_handle_freebsd.cc +@@ -3,6 +3,7 @@ + // found in the LICENSE file. + + #include "base/process/process_handle.h" ++#include "base/files/file_util.h" + + #include <limits.h> + #include <stddef.h> +@@ -15,10 +16,13 @@ namespace base { + + ProcessId GetParentProcessId(ProcessHandle process) { + struct kinfo_proc info; +- size_t length; ++ size_t length = sizeof(struct kinfo_proc); + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + + if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) ++ return -1; ++ ++ if (length < sizeof(struct kinfo_proc)) + return -1; + + return info.ki_ppid; diff --git a/www/ungoogled-chromium/files/patch-base_process_process__handle__openbsd.cc b/www/ungoogled-chromium/files/patch-base_process_process__handle__openbsd.cc new file mode 100644 index 000000000000..5d2e2ba47fe7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__handle__openbsd.cc @@ -0,0 +1,89 @@ +--- base/process/process_handle_openbsd.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_handle_openbsd.cc +@@ -3,8 +3,11 @@ + // found in the LICENSE file. + + #include "base/process/process_handle.h" ++#include "base/files/file_util.h" + + #include <stddef.h> ++#include <sys/param.h> ++#include <sys/proc.h> + #include <sys/sysctl.h> + #include <sys/types.h> + #include <unistd.h> +@@ -12,39 +15,59 @@ + namespace base { + + ProcessId GetParentProcessId(ProcessHandle process) { +- struct kinfo_proc info; ++ struct kinfo_proc *info; + size_t length; ++ pid_t ppid; + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process, + sizeof(struct kinfo_proc), 0 }; + + if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) + return -1; + ++ info = (struct kinfo_proc *)malloc(length); ++ + mib[5] = (length / sizeof(struct kinfo_proc)); + +- if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) +- return -1; ++ if (sysctl(mib, std::size(mib), info, &length, NULL, 0) < 0) { ++ ppid = -1; ++ goto out; ++ } + +- return info.p_ppid; ++ ppid = info->p_ppid; ++ ++out: ++ free(info); ++ return ppid; + } + + FilePath GetProcessExecutablePath(ProcessHandle process) { +- struct kinfo_proc kp; +- size_t len; ++ struct kinfo_proc *info; ++ size_t length; ++ char *path = NULL; + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process, + sizeof(struct kinfo_proc), 0 }; + +- if (sysctl(mib, std::size(mib), NULL, &len, NULL, 0) == -1) ++ if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) == -1) + return FilePath(); +- mib[5] = (len / sizeof(struct kinfo_proc)); +- if (sysctl(mib, std::size(mib), &kp, &len, NULL, 0) < 0) +- return FilePath(); +- if ((kp.p_flag & P_SYSTEM) != 0) +- return FilePath(); +- if (strcmp(kp.p_comm, "chrome") == 0) +- return FilePath(kp.p_comm); + +- return FilePath(); ++ info = (struct kinfo_proc *)malloc(length); ++ ++ mib[5] = (length / sizeof(struct kinfo_proc)); ++ ++ if (sysctl(mib, std::size(mib), info, &length, NULL, 0) < 0) ++ goto out; ++ ++ if ((info->p_flag & P_SYSTEM) != 0) ++ goto out; ++ ++ if (strcmp(info->p_comm, "chrome") == 0) { ++ path = info->p_comm; ++ goto out; ++ } ++ ++out: ++ free(info); ++ return FilePath(path); + } + + } // namespace base diff --git a/www/ungoogled-chromium/files/patch-base_process_process__iterator__freebsd.cc b/www/ungoogled-chromium/files/patch-base_process_process__iterator__freebsd.cc new file mode 100644 index 000000000000..461a5de769d8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__iterator__freebsd.cc @@ -0,0 +1,51 @@ +--- base/process/process_iterator_freebsd.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_iterator_freebsd.cc +@@ -20,7 +20,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + : index_of_kinfo_proc_(), + filter_(filter) { + +- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid() }; ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, (int) getuid() }; + + bool done = false; + int try_num = 1; +@@ -39,7 +39,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + num_of_kinfo_proc += 16; + kinfo_procs_.resize(num_of_kinfo_proc); + len = num_of_kinfo_proc * sizeof(struct kinfo_proc); +- if (sysctl(mib, std::size(mib), &kinfo_procs_[0], &len, NULL, 0) < 0) { ++ if (sysctl(mib, std::size(mib), kinfo_procs_.data(), &len, NULL, 0) < 0) { + // If we get a mem error, it just means we need a bigger buffer, so + // loop around again. Anything else is a real error and give up. + if (errno != ENOMEM) { +@@ -49,7 +49,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + } + } else { + // Got the list, just make sure we're sized exactly right +- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); ++ num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + kinfo_procs_.resize(num_of_kinfo_proc); + done = true; + } +@@ -71,18 +71,13 @@ bool ProcessIterator::CheckForNextProcess() { + for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) { + size_t length; + struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_]; +- int mib[] = { CTL_KERN, KERN_PROC_ARGS, kinfo.ki_pid }; ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ARGS, kinfo.ki_pid }; + + if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB)) + continue; + +- length = 0; +- if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) { +- LOG(ERROR) << "failed to figure out the buffer size for a command line"; +- continue; +- } +- +- data.resize(length); ++ data.resize(ARG_MAX); ++ length = ARG_MAX; + + if (sysctl(mib, std::size(mib), &data[0], &length, NULL, 0) < 0) { + LOG(ERROR) << "failed to fetch a commandline"; diff --git a/www/ungoogled-chromium/files/patch-base_process_process__iterator__openbsd.cc b/www/ungoogled-chromium/files/patch-base_process_process__iterator__openbsd.cc new file mode 100644 index 000000000000..56f8a2f82b3e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__iterator__openbsd.cc @@ -0,0 +1,45 @@ +--- base/process/process_iterator_openbsd.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_iterator_openbsd.cc +@@ -6,6 +6,9 @@ + + #include <errno.h> + #include <stddef.h> ++#include <unistd.h> ++#include <sys/param.h> ++#include <sys/proc.h> + #include <sys/sysctl.h> + + #include "base/logging.h" +@@ -18,12 +21,13 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + : index_of_kinfo_proc_(), + filter_(filter) { + +- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid(), ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, static_cast<int>(getuid()), + sizeof(struct kinfo_proc), 0 }; + + bool done = false; + int try_num = 1; + const int max_tries = 10; ++ size_t num_of_kinfo_proc; + + do { + size_t len = 0; +@@ -32,7 +36,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + kinfo_procs_.resize(0); + done = true; + } else { +- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); ++ num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + // Leave some spare room for process table growth (more could show up + // between when we check and now) + num_of_kinfo_proc += 16; +@@ -48,7 +52,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + } + } else { + // Got the list, just make sure we're sized exactly right +- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); ++ num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + kinfo_procs_.resize(num_of_kinfo_proc); + done = true; + } diff --git a/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc b/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc new file mode 100644 index 000000000000..a2dc3e96f5b6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics.cc @@ -0,0 +1,47 @@ +--- base/process/process_metrics.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_metrics.cc +@@ -17,7 +17,7 @@ namespace base { + namespace { + + #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + int CalculateEventsPerSecond(uint64_t event_count, + uint64_t* last_event_count, + base::TimeTicks* last_calculated) { +@@ -54,7 +54,7 @@ SystemMetrics SystemMetrics::Sample() { + SystemMetrics system_metrics; + + system_metrics.committed_memory_ = GetSystemCommitCharge(); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + GetSystemMemoryInfo(&system_metrics.memory_info_); + GetVmStatInfo(&system_metrics.vmstat_info_); + GetSystemDiskInfo(&system_metrics.disk_info_); +@@ -73,7 +73,7 @@ Value SystemMetrics::ToValue() const { + Value res(Value::Type::DICTIONARY); + + res.SetIntKey("committed_memory", static_cast<int>(committed_memory_)); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + Value meminfo = memory_info_.ToValue(); + Value vmstat = vmstat_info_.ToValue(); + meminfo.MergeDictionary(&vmstat); +@@ -99,7 +99,7 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create + #endif // !BUILDFLAG(IS_MAC) + } + +-#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) ++#if !BUILDFLAG(IS_FREEBSD) + double ProcessMetrics::GetPlatformIndependentCPUUsage() { + TimeDelta cumulative_cpu = GetCumulativeCPUUsage(); + TimeTicks time = TimeTicks::Now(); +@@ -150,7 +150,7 @@ double ProcessMetrics::GetPreciseCPUUsage() { + #endif // BUILDFLAG(IS_WIN) + + #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + int ProcessMetrics::CalculateIdleWakeupsPerSecond( + uint64_t absolute_idle_wakeups) { + return CalculateEventsPerSecond(absolute_idle_wakeups, diff --git a/www/ungoogled-chromium/files/patch-base_process_process__metrics.h b/www/ungoogled-chromium/files/patch-base_process_process__metrics.h new file mode 100644 index 000000000000..c37d15293fcf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics.h @@ -0,0 +1,129 @@ +--- base/process/process_metrics.h.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_metrics.h +@@ -36,7 +36,7 @@ + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + #include <string> + #include <utility> + #include <vector> +@@ -52,7 +52,7 @@ class Value; + // Full declaration is in process_metrics_iocounters.h. + struct IoCounters; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Minor and major page fault counts since the process creation. + // Both counts are process-wide, and exclude child processes. + // +@@ -107,7 +107,7 @@ class BASE_EXPORT ProcessMetrics { + // convenience wrapper for CreateProcessMetrics(). + static std::unique_ptr<ProcessMetrics> CreateCurrentProcessMetrics(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Resident Set Size is a Linux/Android specific memory concept. Do not + // attempt to extend this to other platforms. + BASE_EXPORT size_t GetResidentSetSize() const; +@@ -155,7 +155,7 @@ class BASE_EXPORT ProcessMetrics { + #endif // BUILDFLAG(IS_WIN) + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + // Emits the cumulative CPU usage for all currently active threads since they + // were started into the output parameter (replacing its current contents). + // Threads that have already terminated will not be reported. Thus, the sum of +@@ -238,7 +238,7 @@ class BASE_EXPORT ProcessMetrics { + int GetOpenFdSoftLimit() const; + #endif // BUILDFLAG(IS_POSIX) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Bytes of swap as reported by /proc/[pid]/status. + uint64_t GetVmSwapBytes() const; + +@@ -259,7 +259,7 @@ class BASE_EXPORT ProcessMetrics { + #endif // !BUILDFLAG(IS_MAC) + + #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups); + #endif + #if BUILDFLAG(IS_APPLE) +@@ -270,7 +270,7 @@ class BASE_EXPORT ProcessMetrics { + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + CPU::CoreType GetCoreType(uint32_t core_index); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || + // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_AIX) +@@ -284,9 +284,7 @@ class BASE_EXPORT ProcessMetrics { + // Used to store the previous times and CPU usage counts so we can + // compute the CPU usage between calls. + TimeTicks last_cpu_time_; +-#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) + TimeDelta last_cumulative_cpu_; +-#endif + + #if BUILDFLAG(IS_WIN) + TimeTicks last_cpu_time_for_precise_cpu_usage_; +@@ -294,7 +292,7 @@ class BASE_EXPORT ProcessMetrics { + #endif + + #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + // Same thing for idle wakeups. + TimeTicks last_idle_wakeups_time_; + uint64_t last_absolute_idle_wakeups_; +@@ -337,7 +335,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_AIX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // Data about system-wide memory consumption. Values are in KB. Available on + // Windows, Mac, Linux, Android and Chrome OS. + // +@@ -372,7 +370,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + // This provides an estimate of available memory as described here: + // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 + // NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always +@@ -387,7 +385,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { + #endif + + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + int buffers = 0; + int cached = 0; + int active_anon = 0; +@@ -424,7 +422,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK + // BUILDFLAG(IS_FUCHSIA) + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + // Parse the data found in /proc/<pid>/stat and return the sum of the + // CPU-related ticks. Returns -1 on parse error. + // Exposed for testing. +@@ -611,7 +609,7 @@ class BASE_EXPORT SystemMetrics { + FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics); + + size_t committed_memory_; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + SystemMemoryInfoKB memory_info_; + VmStatInfo vmstat_info_; + SystemDiskInfo disk_info_; diff --git a/www/ungoogled-chromium/files/patch-base_process_process__metrics__freebsd.cc b/www/ungoogled-chromium/files/patch-base_process_process__metrics__freebsd.cc new file mode 100644 index 000000000000..a1dce10fea0e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics__freebsd.cc @@ -0,0 +1,290 @@ +--- base/process/process_metrics_freebsd.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_metrics_freebsd.cc +@@ -3,20 +3,39 @@ + // found in the LICENSE file. + + #include "base/process/process_metrics.h" ++#include "base/notreached.h" + + #include <stddef.h> ++#include <sys/types.h> + #include <sys/sysctl.h> + #include <sys/user.h> + #include <unistd.h> + ++#include <fcntl.h> /* O_RDONLY */ ++#include <kvm.h> ++#include <libutil.h> ++ + #include "base/memory/ptr_util.h" + #include "base/process/process_metrics_iocounters.h" ++#include "base/values.h" + + namespace base { ++namespace { ++int GetPageShift() { ++ int pagesize = getpagesize(); ++ int pageshift = 0; + ++ while (pagesize > 1) { ++ pageshift++; ++ pagesize >>= 1; ++ } ++ ++ return pageshift; ++} ++} ++ + ProcessMetrics::ProcessMetrics(ProcessHandle process) +- : process_(process), +- last_cpu_(0) {} ++ : process_(process) {} + + // static + std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics( +@@ -26,17 +45,18 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create + + double ProcessMetrics::GetPlatformIndependentCPUUsage() { + struct kinfo_proc info; +- int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, process_}; +- size_t length = sizeof(info); ++ size_t length = sizeof(struct kinfo_proc); + ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_ }; ++ + if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) +- return 0; ++ return 0.0; + +- return (info.ki_pctcpu / FSCALE) * 100.0; ++ return static_cast<double>((info.ki_pctcpu * 100.0) / FSCALE); + } + + TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { +- NOTREACHED(); ++ NOTIMPLEMENTED(); + return TimeDelta(); + } + +@@ -67,4 +87,221 @@ size_t GetSystemCommitCharge() { + return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); + } + ++int64_t GetNumberOfThreads(ProcessHandle process) { ++ // Taken from FreeBSD top (usr.bin/top/machine.c) ++ ++ kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open"); ++ if (kd == NULL) ++ return 0; ++ ++ struct kinfo_proc* pbase; ++ int nproc; ++ pbase = kvm_getprocs(kd, KERN_PROC_PID, process, &nproc); ++ if (pbase == NULL) ++ return 0; ++ ++ if (kvm_close(kd) == -1) ++ return 0; ++ ++ return nproc; ++} ++ ++bool GetSystemMemoryInfo(SystemMemoryInfoKB *meminfo) { ++ unsigned int mem_total, mem_free, swap_total, swap_used; ++ size_t length; ++ int pagesizeKB; ++ ++ pagesizeKB = getpagesize() / 1024; ++ ++ length = sizeof(mem_total); ++ if (sysctlbyname("vm.stats.vm.v_page_count", &mem_total, ++ &length, NULL, 0) != 0 || length != sizeof(mem_total)) ++ return false; ++ ++ length = sizeof(mem_free); ++ if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &length, NULL, 0) ++ != 0 || length != sizeof(mem_free)) ++ return false; ++ ++ length = sizeof(swap_total); ++ if (sysctlbyname("vm.swap_size", &swap_total, &length, NULL, 0) ++ != 0 || length != sizeof(swap_total)) ++ return false; ++ ++ length = sizeof(swap_used); ++ if (sysctlbyname("vm.swap_anon_use", &swap_used, &length, NULL, 0) ++ != 0 || length != sizeof(swap_used)) ++ return false; ++ ++ meminfo->total = mem_total * pagesizeKB; ++ meminfo->free = mem_free * pagesizeKB; ++ meminfo->swap_total = swap_total * pagesizeKB; ++ meminfo->swap_free = (swap_total - swap_used) * pagesizeKB; ++ ++ return true; ++} ++ ++int ProcessMetrics::GetOpenFdCount() const { ++ struct kinfo_file * kif; ++ int cnt; ++ ++ if ((kif = kinfo_getfile(process_, &cnt)) == NULL) ++ return -1; ++ ++ free(kif); ++ ++ return cnt; ++} ++ ++int ProcessMetrics::GetOpenFdSoftLimit() const { ++ size_t length; ++ int total_count = 0; ++ int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC }; ++ ++ length = sizeof(total_count); ++ ++ if (sysctl(mib, std::size(mib), &total_count, &length, NULL, 0) < 0) { ++ total_count = -1; ++ } ++ ++ return total_count; ++} ++ ++size_t ProcessMetrics::GetResidentSetSize() const { ++ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); ++ ++ if (kd == nullptr) ++ return 0; ++ ++ struct kinfo_proc *pp; ++ int nproc; ++ ++ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { ++ kvm_close(kd); ++ return 0; ++ } ++ ++ size_t rss; ++ ++ if (nproc > 0) { ++ rss = pp->ki_rssize << GetPageShift(); ++ } else { ++ rss = 0; ++ } ++ ++ kvm_close(kd); ++ return rss; ++} ++ ++uint64_t ProcessMetrics::GetVmSwapBytes() const { ++ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); ++ ++ if (kd == nullptr) ++ return 0; ++ ++ struct kinfo_proc *pp; ++ int nproc; ++ ++ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { ++ kvm_close(kd); ++ return 0; ++ } ++ ++ size_t swrss; ++ ++ if (nproc > 0) { ++ swrss = pp->ki_swrss > pp->ki_rssize ++ ? (pp->ki_swrss - pp->ki_rssize) << GetPageShift() ++ : 0; ++ } else { ++ swrss = 0; ++ } ++ ++ kvm_close(kd); ++ return swrss; ++} ++ ++int ProcessMetrics::GetIdleWakeupsPerSecond() { ++ NOTIMPLEMENTED(); ++ return 0; ++} ++ ++bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++bool GetVmStatInfo(VmStatInfo* vmstat) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++SystemDiskInfo::SystemDiskInfo() { ++ reads = 0; ++ reads_merged = 0; ++ sectors_read = 0; ++ read_time = 0; ++ writes = 0; ++ writes_merged = 0; ++ sectors_written = 0; ++ write_time = 0; ++ io = 0; ++ io_time = 0; ++ weighted_io_time = 0; ++} ++ ++SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; ++ ++SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; ++ ++Value SystemDiskInfo::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ ++ // Write out uint64_t variables as doubles. ++ // Note: this may discard some precision, but for JS there's no other option. ++ res.SetDoubleKey("reads", static_cast<double>(reads)); ++ res.SetDoubleKey("reads_merged", static_cast<double>(reads_merged)); ++ res.SetDoubleKey("sectors_read", static_cast<double>(sectors_read)); ++ res.SetDoubleKey("read_time", static_cast<double>(read_time)); ++ res.SetDoubleKey("writes", static_cast<double>(writes)); ++ res.SetDoubleKey("writes_merged", static_cast<double>(writes_merged)); ++ res.SetDoubleKey("sectors_written", static_cast<double>(sectors_written)); ++ res.SetDoubleKey("write_time", static_cast<double>(write_time)); ++ res.SetDoubleKey("io", static_cast<double>(io)); ++ res.SetDoubleKey("io_time", static_cast<double>(io_time)); ++ res.SetDoubleKey("weighted_io_time", static_cast<double>(weighted_io_time)); ++ ++ return res; ++} ++ ++Value SystemMemoryInfoKB::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ ++ res.SetIntKey("total", total); ++ res.SetIntKey("free", free); ++ res.SetIntKey("available", available); ++ res.SetIntKey("buffers", buffers); ++ res.SetIntKey("cached", cached); ++ res.SetIntKey("active_anon", active_anon); ++ res.SetIntKey("inactive_anon", inactive_anon); ++ res.SetIntKey("active_file", active_file); ++ res.SetIntKey("inactive_file", inactive_file); ++ res.SetIntKey("swap_total", swap_total); ++ res.SetIntKey("swap_free", swap_free); ++ res.SetIntKey("swap_used", swap_total - swap_free); ++ res.SetIntKey("dirty", dirty); ++ res.SetIntKey("reclaimable", reclaimable); ++ ++ return res; ++} ++ ++Value VmStatInfo::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ ++ res.SetIntKey("pswpin", pswpin); ++ res.SetIntKey("pswpout", pswpout); ++ res.SetIntKey("pgmajfault", pgmajfault); ++ ++ return res; ++} + } // namespace base diff --git a/www/ungoogled-chromium/files/patch-base_process_process__metrics__openbsd.cc b/www/ungoogled-chromium/files/patch-base_process_process__metrics__openbsd.cc new file mode 100644 index 000000000000..c143d5d66c2d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics__openbsd.cc @@ -0,0 +1,215 @@ +--- base/process/process_metrics_openbsd.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_metrics_openbsd.cc +@@ -6,14 +6,23 @@ + + #include <stddef.h> + #include <stdint.h> ++#include <fcntl.h> + #include <sys/param.h> + #include <sys/sysctl.h> ++#include <sys/vmmeter.h> + ++#include <kvm.h> ++ + #include "base/memory/ptr_util.h" + #include "base/process/process_metrics_iocounters.h" ++#include "base/values.h" ++#include "base/notreached.h" + + namespace base { + ++ProcessMetrics::ProcessMetrics(ProcessHandle process) ++ : process_(process) {} ++ + // static + std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics( + ProcessHandle process) { +@@ -24,49 +33,23 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun + return false; + } + +-static int GetProcessCPU(pid_t pid) { ++TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { + struct kinfo_proc info; +- size_t length; +- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid, +- sizeof(struct kinfo_proc), 0 }; ++ size_t length = sizeof(struct kinfo_proc); ++ struct timeval tv; + +- if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) +- return -1; ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_, ++ sizeof(struct kinfo_proc), 1 }; + +- mib[5] = (length / sizeof(struct kinfo_proc)); +- + if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) +- return 0; ++ return TimeDelta(); + +- return info.p_pctcpu; +-} ++ tv.tv_sec = info.p_rtime_sec; ++ tv.tv_usec = info.p_rtime_usec; + +-double ProcessMetrics::GetPlatformIndependentCPUUsage() { +- TimeTicks time = TimeTicks::Now(); +- +- if (last_cpu_time_.is_zero()) { +- // First call, just set the last values. +- last_cpu_time_ = time; +- return 0; +- } +- +- int cpu = GetProcessCPU(process_); +- +- last_cpu_time_ = time; +- double percentage = static_cast<double>((cpu * 100.0) / FSCALE); +- +- return percentage; ++ return Microseconds(TimeValToMicroseconds(tv)); + } + +-TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { +- NOTREACHED(); +- return TimeDelta(); +-} +- +-ProcessMetrics::ProcessMetrics(ProcessHandle process) +- : process_(process), +- last_cpu_(0) {} +- + size_t GetSystemCommitCharge() { + int mib[] = { CTL_VM, VM_METER }; + int pagesize; +@@ -84,6 +67,129 @@ size_t GetSystemCommitCharge() { + pagesize = getpagesize(); + + return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); ++} ++ ++int ProcessMetrics::GetOpenFdCount() const { ++ struct kinfo_file *files; ++ kvm_t *kd = NULL; ++ int total_count = 0; ++ char errbuf[_POSIX2_LINE_MAX]; ++ ++ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL) ++ goto out; ++ ++ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, process_, ++ sizeof(struct kinfo_file), &total_count)) == NULL) { ++ total_count = 0; ++ goto out; ++ } ++ ++ kvm_close(kd); ++ ++out: ++ return total_count; ++} ++ ++int ProcessMetrics::GetOpenFdSoftLimit() const { ++ return GetMaxFds(); ++} ++ ++uint64_t ProcessMetrics::GetVmSwapBytes() const { ++ NOTIMPLEMENTED(); ++ return 0; ++} ++ ++bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) { ++ NOTIMPLEMENTED_LOG_ONCE(); ++ return false; ++} ++ ++SystemDiskInfo::SystemDiskInfo() { ++ reads = 0; ++ reads_merged = 0; ++ sectors_read = 0; ++ read_time = 0; ++ writes = 0; ++ writes_merged = 0; ++ sectors_written = 0; ++ write_time = 0; ++ io = 0; ++ io_time = 0; ++ weighted_io_time = 0; ++} ++ ++SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; ++ ++bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++bool GetVmStatInfo(VmStatInfo* vmstat) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++int ProcessMetrics::GetIdleWakeupsPerSecond() { ++ NOTIMPLEMENTED(); ++ return 0; ++} ++ ++Value SystemMemoryInfoKB::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ res.SetIntKey("total", total); ++ res.SetIntKey("free", free); ++ res.SetIntKey("available", available); ++ res.SetIntKey("buffers", buffers); ++ res.SetIntKey("cached", cached); ++ res.SetIntKey("active_anon", active_anon); ++ res.SetIntKey("inactive_anon", inactive_anon); ++ res.SetIntKey("active_file", active_file); ++ res.SetIntKey("inactive_file", inactive_file); ++ res.SetIntKey("swap_total", swap_total); ++ res.SetIntKey("swap_free", swap_free); ++ res.SetIntKey("swap_used", swap_total - swap_free); ++ res.SetIntKey("dirty", dirty); ++ res.SetIntKey("reclaimable", reclaimable); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; ++} ++ ++Value VmStatInfo::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ res.SetIntKey("pswpin", pswpin); ++ res.SetIntKey("pswpout", pswpout); ++ res.SetIntKey("pgmajfault", pgmajfault); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; ++} ++ ++SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; ++ ++Value SystemDiskInfo::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ ++ // Write out uint64_t variables as doubles. ++ // Note: this may discard some precision, but for JS there's no other option. ++ res.SetDoubleKey("reads", static_cast<double>(reads)); ++ res.SetDoubleKey("reads_merged", static_cast<double>(reads_merged)); ++ res.SetDoubleKey("sectors_read", static_cast<double>(sectors_read)); ++ res.SetDoubleKey("read_time", static_cast<double>(read_time)); ++ res.SetDoubleKey("writes", static_cast<double>(writes)); ++ res.SetDoubleKey("writes_merged", static_cast<double>(writes_merged)); ++ res.SetDoubleKey("sectors_written", static_cast<double>(sectors_written)); ++ res.SetDoubleKey("write_time", static_cast<double>(write_time)); ++ res.SetDoubleKey("io", static_cast<double>(io)); ++ res.SetDoubleKey("io_time", static_cast<double>(io_time)); ++ res.SetDoubleKey("weighted_io_time", static_cast<double>(weighted_io_time)); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; + } + + } // namespace base diff --git a/www/ungoogled-chromium/files/patch-base_process_process__metrics__posix.cc b/www/ungoogled-chromium/files/patch-base_process_process__metrics__posix.cc new file mode 100644 index 000000000000..1d8226ebb594 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics__posix.cc @@ -0,0 +1,20 @@ +--- base/process/process_metrics_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_metrics_posix.cc +@@ -20,6 +20,8 @@ + + #if BUILDFLAG(IS_APPLE) + #include <malloc/malloc.h> ++#elif BUILDFLAG(IS_OPENBSD) ++#include <stdlib.h> + #else + #include <malloc.h> + #endif +@@ -135,7 +137,7 @@ size_t ProcessMetrics::GetMallocUsage() { + return stats.size_in_use; + #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + return GetMallocUsageMallinfo(); +-#elif BUILDFLAG(IS_FUCHSIA) ++#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. + return 0; + #endif diff --git a/www/ungoogled-chromium/files/patch-base_process_process__metrics__unittest.cc b/www/ungoogled-chromium/files/patch-base_process_process__metrics__unittest.cc new file mode 100644 index 000000000000..70839ae96f8e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__metrics__unittest.cc @@ -0,0 +1,20 @@ +--- base/process/process_metrics_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_metrics_unittest.cc +@@ -44,7 +44,7 @@ namespace debug { + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ + BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + + namespace { + +@@ -347,7 +347,7 @@ TEST_F(SystemMetricsTest, ParseVmstat) { + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ + BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + + // Test that ProcessMetrics::GetPlatformIndependentCPUUsage() doesn't return + // negative values when the number of threads running on the process decreases diff --git a/www/ungoogled-chromium/files/patch-base_process_process__posix.cc b/www/ungoogled-chromium/files/patch-base_process_process__posix.cc new file mode 100644 index 000000000000..3251a7edddfb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__posix.cc @@ -0,0 +1,93 @@ +--- base/process/process_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_posix.cc +@@ -25,10 +25,15 @@ + #include "build/build_config.h" + #include "third_party/abseil-cpp/absl/types/optional.h" + +-#if BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include <sys/event.h> + #endif + ++#if defined(OS_BSD) ++#include <sys/types.h> ++#include <sys/sysctl.h> ++#endif ++ + #if BUILDFLAG(CLANG_PROFILING) + #include "base/test/clang_profiling.h" + #endif +@@ -95,7 +100,7 @@ bool WaitpidWithTimeout(base::ProcessHandle handle, + return ret_pid > 0; + } + +-#if BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // Using kqueue on Mac so that we can wait on non-child processes. + // We can't use kqueues on child processes because we need to reap + // our own children using wait. +@@ -200,7 +205,7 @@ bool WaitForExitWithTimeoutImpl(base::ProcessHandle ha + const bool exited = (parent_pid < 0); + + if (!exited && parent_pid != our_pid) { +-#if BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // On Mac we can wait on non child processes. + return WaitForSingleNonChildProcess(handle, timeout); + #else +@@ -392,7 +397,55 @@ void Process::Exited(int exit_code) const { + + int Process::GetPriority() const { + DCHECK(IsValid()); ++// avoid pledge(2) violation ++#if defined(OS_BSD) ++ return 0; ++#else + return getpriority(PRIO_PROCESS, static_cast<id_t>(process_)); ++#endif ++} ++ ++Time Process::CreationTime() const { ++// avoid ps pledge in the network process ++#if !defined(OS_BSD) ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), ++ sizeof(struct kinfo_proc), 0 }; ++ struct kinfo_proc *info = nullptr; ++ size_t info_size; ++#endif ++ Time ct = Time(); ++ ++#if !defined(OS_BSD) ++ if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0) ++ goto out; ++ ++ mib[5] = (info_size / sizeof(struct kinfo_proc)); ++ if ((info = reinterpret_cast<kinfo_proc*>(malloc(info_size))) == NULL) ++ goto out; ++ ++ if (sysctl(mib, std::size(mib), info, &info_size, NULL, 0) < 0) ++ goto out; ++ ++ ct = Time::FromTimeT(info->p_ustart_sec); ++ ++out: ++ if (info) ++ free(info); ++#endif ++ return ct; ++} ++ ++bool Process::IsProcessBackgrounded() const { ++ return false; ++} ++ ++bool Process::SetProcessBackgrounded(bool value) { ++ return false; ++} ++ ++// static ++bool Process::CanBackgroundProcesses() { ++ return false; + } + + } // namespace base diff --git a/www/ungoogled-chromium/files/patch-base_process_process__unittest.cc b/www/ungoogled-chromium/files/patch-base_process_process__unittest.cc new file mode 100644 index 000000000000..ee62a994e4d5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_process_process__unittest.cc @@ -0,0 +1,11 @@ +--- base/process/process_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/process/process_unittest.cc +@@ -193,7 +193,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { + // was spawned and a time recorded after it was spawned. However, since the + // base::Time and process creation clocks don't match, tolerate some error. + constexpr base::TimeDelta kTolerance = +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Linux, process creation time is relative to boot time which has a + // 1-second resolution. Tolerate 1 second for the imprecise boot time and + // 100 ms for the imprecise clock. diff --git a/www/ungoogled-chromium/files/patch-base_profiler_module__cache.cc b/www/ungoogled-chromium/files/patch-base_profiler_module__cache.cc new file mode 100644 index 000000000000..02c7a0fc4eb0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_profiler_module__cache.cc @@ -0,0 +1,11 @@ +--- base/profiler/module_cache.cc.orig 2022-10-01 07:40:07 UTC ++++ base/profiler/module_cache.cc +@@ -34,7 +34,7 @@ struct ModuleAddressCompare { + + std::string TransformModuleIDToBreakpadFormat(StringPiece module_id) { + std::string mangled_id(module_id); +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Linux ELF module IDs are 160bit integers, which we need to mangle + // down to 128bit integers to match the id that Breakpad outputs. + // Example on version '66.0.3359.170' x64: diff --git a/www/ungoogled-chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc b/www/ungoogled-chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc new file mode 100644 index 000000000000..dd4cc7494787 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc @@ -0,0 +1,11 @@ +--- base/profiler/stack_sampling_profiler_test_util.cc.orig 2022-10-01 07:40:07 UTC ++++ base/profiler/stack_sampling_profiler_test_util.cc +@@ -39,7 +39,7 @@ + // Fortunately, it provides _alloca, which functions identically. + #include <malloc.h> + #define alloca _alloca +-#else ++#elif !BUILDFLAG(IS_BSD) + #include <alloca.h> + #endif + diff --git a/www/ungoogled-chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc b/www/ungoogled-chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc new file mode 100644 index 000000000000..1d2a16d04f44 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc @@ -0,0 +1,11 @@ +--- base/profiler/stack_sampling_profiler_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/profiler/stack_sampling_profiler_unittest.cc +@@ -41,7 +41,7 @@ + #include <intrin.h> + #include <malloc.h> + #include <windows.h> +-#else ++#elif !BUILDFLAG(IS_BSD) + #include <alloca.h> + #endif + diff --git a/www/ungoogled-chromium/files/patch-base_rand__util.h b/www/ungoogled-chromium/files/patch-base_rand__util.h new file mode 100644 index 000000000000..d58cefc589c7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_rand__util.h @@ -0,0 +1,11 @@ +--- base/rand_util.h.orig 2022-10-01 07:40:07 UTC ++++ base/rand_util.h +@@ -80,7 +80,7 @@ void RandomShuffle(Itr first, Itr last) { + std::shuffle(first, last, RandomBitGenerator()); + } + +-#if BUILDFLAG(IS_POSIX) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_BSD) + BASE_EXPORT int GetUrandomFD(); + #endif + diff --git a/www/ungoogled-chromium/files/patch-base_rand__util__posix.cc b/www/ungoogled-chromium/files/patch-base_rand__util__posix.cc new file mode 100644 index 000000000000..17765f8e6f2b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_rand__util__posix.cc @@ -0,0 +1,57 @@ +--- base/rand_util_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/rand_util_posix.cc +@@ -22,7 +22,7 @@ + #include "base/time/time.h" + #include "build/build_config.h" + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) + #include "third_party/lss/linux_syscall_support.h" + #elif BUILDFLAG(IS_MAC) + // TODO(crbug.com/995996): Waiting for this header to appear in the iOS SDK. +@@ -39,6 +39,7 @@ static constexpr int kOpenFlags = O_RDONLY; + static constexpr int kOpenFlags = O_RDONLY | O_CLOEXEC; + #endif + ++#if !BUILDFLAG(IS_BSD) + // We keep the file descriptor for /dev/urandom around so we don't need to + // reopen it (which is expensive), and since we may not even be able to reopen + // it if we are later put in a sandbox. This class wraps the file descriptor so +@@ -56,10 +57,11 @@ class URandomFd { + private: + const int fd_; + }; ++#endif + + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ + BUILDFLAG(IS_ANDROID)) && \ +- !BUILDFLAG(IS_NACL) ++ !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) + // TODO(pasko): Unify reading kernel version numbers in: + // mojo/core/channel_linux.cc + // chrome/browser/android/seccomp_support_detector.cc +@@ -144,6 +146,7 @@ void ConfigureRandBytesFieldTrial() { + // (https://chromium-review.9oo91esource.qjz9zk/c/chromium/src/+/1545096) and land + // it or some form of it. + void RandBytes(void* output, size_t output_length) { ++#if !BUILDFLAG(IS_BSD) + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ + BUILDFLAG(IS_ANDROID)) && \ + !BUILDFLAG(IS_NACL) +@@ -172,11 +175,16 @@ void RandBytes(void* output, size_t output_length) { + const bool success = + ReadFromFD(urandom_fd, static_cast<char*>(output), output_length); + CHECK(success); ++#else ++ arc4random_buf(static_cast<char*>(output), output_length); ++#endif + } + ++#if !BUILDFLAG(IS_BSD) + int GetUrandomFD() { + static NoDestructor<URandomFd> urandom_fd; + return urandom_fd->fd(); + } ++#endif + + } // namespace base diff --git a/www/ungoogled-chromium/files/patch-base_strings_safe__sprintf__unittest.cc b/www/ungoogled-chromium/files/patch-base_strings_safe__sprintf__unittest.cc new file mode 100644 index 000000000000..25eefa3de232 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_strings_safe__sprintf__unittest.cc @@ -0,0 +1,18 @@ +--- base/strings/safe_sprintf_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/strings/safe_sprintf_unittest.cc +@@ -732,6 +732,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) { + #endif + } + ++#if !BUILDFLAG(IS_BSD) + TEST(SafeSPrintfTest, EmitNULL) { + char buf[40]; + #if defined(__GNUC__) +@@ -748,6 +749,7 @@ TEST(SafeSPrintfTest, EmitNULL) { + #pragma GCC diagnostic pop + #endif + } ++#endif + + TEST(SafeSPrintfTest, PointerSize) { + // The internal data representation is a 64bit value, independent of the diff --git a/www/ungoogled-chromium/files/patch-base_synchronization_lock__impl.h b/www/ungoogled-chromium/files/patch-base_synchronization_lock__impl.h new file mode 100644 index 000000000000..41f5326626f4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_synchronization_lock__impl.h @@ -0,0 +1,23 @@ +--- base/synchronization/lock_impl.h.orig 2022-10-01 07:40:07 UTC ++++ base/synchronization/lock_impl.h +@@ -107,6 +107,10 @@ void LockImpl::Unlock() { + } + + #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_FREEBSD) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wthread-safety-analysis" ++#endif + + #if DCHECK_IS_ON() + BASE_EXPORT void dcheck_trylock_result(int rv); +@@ -127,6 +131,9 @@ void LockImpl::Unlock() { + dcheck_unlock_result(rv); + #endif + } ++#if BUILDFLAG(IS_FREEBSD) ++#pragma GCC diagnostic pop ++#endif + #endif + + // This is an implementation used for AutoLock templated on the lock type. diff --git a/www/ungoogled-chromium/files/patch-base_syslog__logging.cc b/www/ungoogled-chromium/files/patch-base_syslog__logging.cc new file mode 100644 index 000000000000..44fbed6ce89b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_syslog__logging.cc @@ -0,0 +1,20 @@ +--- base/syslog_logging.cc.orig 2022-10-01 07:40:07 UTC ++++ base/syslog_logging.cc +@@ -15,7 +15,7 @@ + #include "base/strings/string_util.h" + #include "base/win/scoped_handle.h" + #include "base/win/win_util.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // <syslog.h> defines LOG_INFO, LOG_WARNING macros that could conflict with + // base::LOG_INFO, base::LOG_WARNING. + #include <syslog.h> +@@ -147,7 +147,7 @@ EventLogMessage::~EventLogMessage() { + + if (user_sid != nullptr) + ::LocalFree(user_sid); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kEventSource[] = "chrome"; + openlog(kEventSource, LOG_NOWAIT | LOG_PID, LOG_USER); + // We can't use the defined names for the logging severity from syslog.h diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info.cc b/www/ungoogled-chromium/files/patch-base_system_sys__info.cc new file mode 100644 index 000000000000..ad267c047e73 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info.cc @@ -0,0 +1,11 @@ +--- base/system/sys_info.cc.orig 2022-10-01 07:40:07 UTC ++++ base/system/sys_info.cc +@@ -101,7 +101,7 @@ std::string SysInfo::HardwareModelName() { + #endif + + void SysInfo::GetHardwareInfo(base::OnceCallback<void(HardwareInfo)> callback) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + constexpr base::TaskTraits kTraits = {base::MayBlock()}; + #else + constexpr base::TaskTraits kTraits = {}; diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info.h b/www/ungoogled-chromium/files/patch-base_system_sys__info.h new file mode 100644 index 000000000000..c0f1f4ab8fb7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info.h @@ -0,0 +1,20 @@ +--- base/system/sys_info.h.orig 2022-10-01 07:40:07 UTC ++++ base/system/sys_info.h +@@ -211,6 +211,8 @@ class BASE_EXPORT SysInfo { + // On Desktop this returns true when memory <= 2GB. + static bool IsLowEndDevice(); + ++ static uint64_t MaxSharedMemorySize(); ++ + private: + FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory); + FRIEND_TEST_ALL_PREFIXES(debug::SystemMetricsTest, ParseMeminfo); +@@ -221,7 +223,7 @@ class BASE_EXPORT SysInfo { + static HardwareInfo GetHardwareInfoSync(); + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + static uint64_t AmountOfAvailablePhysicalMemory( + const SystemMemoryInfoKB& meminfo); + #endif 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 new file mode 100644 index 000000000000..fc9a45185508 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info__freebsd.cc @@ -0,0 +1,115 @@ +--- base/system/sys_info_freebsd.cc.orig 2022-10-01 07:40:07 UTC ++++ base/system/sys_info_freebsd.cc +@@ -9,30 +9,106 @@ + #include <sys/sysctl.h> + + #include "base/notreached.h" ++#include "base/process/process_metrics.h" ++#include "base/strings/string_util.h" + + namespace base { + +-int64_t SysInfo::AmountOfPhysicalMemoryImpl() { +- int pages, page_size; ++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; ++} ++ ++uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { ++ 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 0; + } +- return static_cast<int64_t>(pages) * page_size; ++ ++ return static_cast<uint64_t>(pages) * page_size; + } + ++uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { ++ int page_size, r = 0; ++ unsigned int pgfree, pginact, pgcache; ++ 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 0; ++ } ++ ++ return static_cast<uint64_t>((pgfree + pginact + pgcache) * page_size); ++} ++ + // static ++uint64_t SysInfo::AmountOfAvailablePhysicalMemory(const SystemMemoryInfoKB& info) { ++ uint64_t res_kb = info.available != 0 ++ ? info.available - info.active_file ++ : info.free + info.reclaimable + info.inactive_file; ++ return res_kb * 1024; ++} ++ ++// 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); ++ + if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) { + NOTREACHED(); + return 0; + } ++ + return static_cast<uint64_t>(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-base_system_sys__info__openbsd.cc b/www/ungoogled-chromium/files/patch-base_system_sys__info__openbsd.cc new file mode 100644 index 000000000000..ebad387696c4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info__openbsd.cc @@ -0,0 +1,94 @@ +--- base/system/sys_info_openbsd.cc.orig 2022-10-01 07:40:07 UTC ++++ base/system/sys_info_openbsd.cc +@@ -11,6 +11,7 @@ + #include <sys/sysctl.h> + + #include "base/notreached.h" ++#include "base/strings/string_util.h" + + namespace { + +@@ -26,9 +27,15 @@ uint64_t AmountOfMemory(int pages_name) { + + namespace base { + ++// pledge(2) ++int64_t aofpmem = 0; ++int64_t aofapmem = 0; ++int64_t shmmax = 0; ++char cpumodel[256]; ++ + // static + int SysInfo::NumberOfProcessors() { +- int mib[] = {CTL_HW, HW_NCPU}; ++ int mib[] = {CTL_HW, HW_NCPUONLINE}; + int ncpu; + size_t size = sizeof(ncpu); + if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { +@@ -40,10 +47,26 @@ int SysInfo::NumberOfProcessors() { + + // static + uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { +- return AmountOfMemory(_SC_PHYS_PAGES); ++ // pledge(2) ++ if (!aofpmem) ++ aofpmem = AmountOfMemory(_SC_PHYS_PAGES); ++ return aofpmem; + } + + // static ++std::string SysInfo::CPUModelName() { ++ int mib[] = {CTL_HW, HW_MODEL}; ++ size_t len = std::size(cpumodel); ++ ++ if (cpumodel[0] == '\0') { ++ if (sysctl(mib, std::size(mib), cpumodel, &len, NULL, 0) < 0) ++ return std::string(); ++ } ++ ++ return std::string(cpumodel, len - 1); ++} ++ ++// static + uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { + // We should add inactive file-backed memory also but there is no such + // information from OpenBSD unfortunately. +@@ -55,23 +78,28 @@ uint64_t SysInfo::MaxSharedMemorySize() { + int mib[] = {CTL_KERN, KERN_SHMINFO, KERN_SHMINFO_SHMMAX}; + size_t limit; + size_t size = sizeof(limit); ++ // pledge(2) ++ if (shmmax) ++ goto out; + if (sysctl(mib, std::size(mib), &limit, &size, NULL, 0) < 0) { + NOTREACHED(); + return 0; + } +- return static_cast<uint64_t>(limit); ++ shmmax = static_cast<uint64_t>(limit); ++out: ++ return shmmax; + } + + // static +-std::string SysInfo::CPUModelName() { +- int mib[] = {CTL_HW, HW_MODEL}; +- char name[256]; +- size_t len = std::size(name); +- if (sysctl(mib, std::size(mib), name, &len, NULL, 0) < 0) { +- NOTREACHED(); +- return std::string(); +- } +- return name; ++SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { ++ HardwareInfo info; ++ // Set the manufacturer to "OpenBSD" and the model to ++ // an empty string. ++ info.manufacturer = "OpenBSD"; ++ info.model = HardwareModelName(); ++ DCHECK(IsStringUTF8(info.manufacturer)); ++ DCHECK(IsStringUTF8(info.model)); ++ return info; + } + + } // namespace base diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc b/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc new file mode 100644 index 000000000000..6dd83fe626eb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info__posix.cc @@ -0,0 +1,43 @@ +--- base/system/sys_info_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/system/sys_info_posix.cc +@@ -37,7 +37,7 @@ + + namespace { + +-#if !BUILDFLAG(IS_OPENBSD) ++#if !BUILDFLAG(IS_BSD) + int NumberOfProcessors() { + // sysconf returns the number of "logical" (not "physical") processors on both + // Mac and Linux. So we get the number of max available "logical" processors. +@@ -77,7 +77,7 @@ int NumberOfProcessors() { + + base::LazyInstance<base::internal::LazySysInfoValue<int, NumberOfProcessors>>:: + Leaky g_lazy_number_of_processors = LAZY_INSTANCE_INITIALIZER; +-#endif // !BUILDFLAG(IS_OPENBSD) ++#endif // !BUILDFLAG(IS_BSD) + + uint64_t AmountOfVirtualMemory() { + struct rlimit limit; +@@ -144,11 +144,11 @@ bool GetDiskSpaceInfo(const base::FilePath& path, + + namespace base { + +-#if !BUILDFLAG(IS_OPENBSD) ++#if !BUILDFLAG(IS_BSD) + int SysInfo::NumberOfProcessors() { + return g_lazy_number_of_processors.Get().value(); + } +-#endif // !BUILDFLAG(IS_OPENBSD) ++#endif // !BUILDFLAG(IS_BSD) + + // static + uint64_t SysInfo::AmountOfVirtualMemory() { +@@ -238,6 +238,8 @@ std::string SysInfo::OperatingSystemArchitecture() { + arch = "x86"; + } else if (arch == "amd64") { + arch = "x86_64"; ++ } else if (arch == "arm64") { ++ arch = "aarch64"; + } else if (std::string(info.sysname) == "AIX") { + arch = "ppc64"; + } diff --git a/www/ungoogled-chromium/files/patch-base_system_sys__info__unittest.cc b/www/ungoogled-chromium/files/patch-base_system_sys__info__unittest.cc new file mode 100644 index 000000000000..2f28252e1ba3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_system_sys__info__unittest.cc @@ -0,0 +1,20 @@ +--- base/system/sys_info_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/system/sys_info_unittest.cc +@@ -234,12 +234,16 @@ TEST_F(SysInfoTest, GetHardwareInfo) { + EXPECT_TRUE(IsStringUTF8(hardware_info->model)); + bool empty_result_expected = + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \ ++ BUILDFLAG(IS_BSD) + false; + #else + true; + #endif + EXPECT_EQ(hardware_info->manufacturer.empty(), empty_result_expected); ++#if BUILDFLAG(IS_BSD) ++ empty_result_expected = true; ++#endif + EXPECT_EQ(hardware_info->model.empty(), empty_result_expected); + } + diff --git a/www/ungoogled-chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc b/www/ungoogled-chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc new file mode 100644 index 000000000000..3b69bef1d3e9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc @@ -0,0 +1,11 @@ +--- base/task/thread_pool/environment_config_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/task/thread_pool/environment_config_unittest.cc +@@ -15,7 +15,7 @@ TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPrio + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) + EXPECT_TRUE(CanUseBackgroundThreadTypeForWorkerThread()); + #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) + EXPECT_FALSE(CanUseBackgroundThreadTypeForWorkerThread()); + #else + #error Platform doesn't match any block diff --git a/www/ungoogled-chromium/files/patch-base_test_launcher_test__launcher.cc b/www/ungoogled-chromium/files/patch-base_test_launcher_test__launcher.cc new file mode 100644 index 000000000000..11e36f98a47b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_test_launcher_test__launcher.cc @@ -0,0 +1,10 @@ +--- base/test/launcher/test_launcher.cc.orig 2022-10-01 07:40:07 UTC ++++ base/test/launcher/test_launcher.cc +@@ -65,6 +65,7 @@ + #include "third_party/libxml/chromium/libxml_utils.h" + + #if BUILDFLAG(IS_POSIX) ++#include <signal.h> + #include <fcntl.h> + + #include "base/files/file_descriptor_watcher_posix.h" diff --git a/www/ungoogled-chromium/files/patch-base_test_test__file__util__linux.cc b/www/ungoogled-chromium/files/patch-base_test_test__file__util__linux.cc new file mode 100644 index 000000000000..09006e625582 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_test_test__file__util__linux.cc @@ -0,0 +1,13 @@ +--- base/test/test_file_util_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ base/test/test_file_util_linux.cc +@@ -54,8 +54,10 @@ bool EvictFileFromSystemCache(const FilePath& file) { + return false; + if (fdatasync(fd.get()) != 0) + return false; ++#if !defined(OS_BSD) + if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_DONTNEED) != 0) + return false; ++#endif + return true; + } + diff --git a/www/ungoogled-chromium/files/patch-base_test_test__file__util__posix.cc b/www/ungoogled-chromium/files/patch-base_test_test__file__util__posix.cc new file mode 100644 index 000000000000..c234b3d0c2e0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_test_test__file__util__posix.cc @@ -0,0 +1,11 @@ +--- base/test/test_file_util_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/test/test_file_util_posix.cc +@@ -88,7 +88,7 @@ void SyncPageCacheToDisk() { + } + + #if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_APPLE) && \ +- !BUILDFLAG(IS_ANDROID) ++ !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) + bool EvictFileFromSystemCache(const FilePath& file) { + // There doesn't seem to be a POSIX way to cool the disk cache. + NOTIMPLEMENTED(); diff --git a/www/ungoogled-chromium/files/patch-base_third__party_symbolize_symbolize.cc b/www/ungoogled-chromium/files/patch-base_third__party_symbolize_symbolize.cc new file mode 100644 index 000000000000..ec34dc89e727 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_third__party_symbolize_symbolize.cc @@ -0,0 +1,11 @@ +--- base/third_party/symbolize/symbolize.cc.orig 2022-10-01 07:40:07 UTC ++++ base/third_party/symbolize/symbolize.cc +@@ -114,7 +114,7 @@ _END_GOOGLE_NAMESPACE_ + #if defined(HAVE_DLFCN_H) + #include <dlfcn.h> + #endif +-#if BUILDFLAG(IS_OPENBSD) ++#if defined(__OpenBSD__) + #include <sys/exec_elf.h> + #else + #include <elf.h> diff --git a/www/ungoogled-chromium/files/patch-base_threading_platform__thread.h b/www/ungoogled-chromium/files/patch-base_threading_platform__thread.h new file mode 100644 index 000000000000..969c9339f278 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_threading_platform__thread.h @@ -0,0 +1,11 @@ +--- base/threading/platform_thread.h.orig 2022-10-01 07:40:07 UTC ++++ base/threading/platform_thread.h +@@ -253,7 +253,7 @@ class BASE_EXPORT PlatformThread { + // Returns a realtime period provided by `delegate`. + static TimeDelta GetRealtimePeriod(Delegate* delegate); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Toggles a specific thread's type at runtime. This can be used to + // change the priority of a thread in a different process and will fail + // if the calling process does not have proper permissions. The diff --git a/www/ungoogled-chromium/files/patch-base_threading_platform__thread__linux.cc b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__linux.cc new file mode 100644 index 000000000000..d7ac0d9a78dd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__linux.cc @@ -0,0 +1,77 @@ +--- base/threading/platform_thread_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ base/threading/platform_thread_linux.cc +@@ -29,7 +29,9 @@ + + #if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) + #include <pthread.h> ++#if !BUILDFLAG(IS_BSD) + #include <sys/prctl.h> ++#endif + #include <sys/resource.h> + #include <sys/time.h> + #include <sys/types.h> +@@ -132,7 +134,7 @@ long sched_setattr(pid_t pid, + #endif // !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if !BUILDFLAG(IS_NACL) ++#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) + const FilePath::CharType kCgroupDirectory[] = + FILE_PATH_LITERAL("/sys/fs/cgroup"); + +@@ -304,7 +306,7 @@ void SetThreadCgroupsForThreadType(PlatformThreadId th + namespace internal { + + namespace { +-#if !BUILDFLAG(IS_NACL) ++#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) + const struct sched_param kRealTimePrio = {8}; + #endif + } // namespace +@@ -330,7 +332,7 @@ const ThreadTypeToNiceValuePair kThreadTypeToNiceValue + }; + + bool CanSetThreadTypeToRealtimeAudio() { +-#if !BUILDFLAG(IS_NACL) ++#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) + // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke + // pthread_setschedparam in SetCurrentThreadTypeForPlatform(). + struct rlimit rlim; +@@ -342,7 +344,7 @@ bool CanSetThreadTypeToRealtimeAudio() { + + bool SetCurrentThreadTypeForPlatform(ThreadType thread_type, + MessagePumpType pump_type_hint) { +-#if !BUILDFLAG(IS_NACL) ++#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) + // For legacy schedtune interface + SetThreadCgroupsForThreadType(PlatformThread::CurrentId(), thread_type); + +@@ -361,7 +363,7 @@ bool SetCurrentThreadTypeForPlatform(ThreadType thread + + absl::optional<ThreadPriorityForTest> + GetCurrentThreadPriorityForPlatformForTest() { +-#if !BUILDFLAG(IS_NACL) ++#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) + int maybe_sched_rr = 0; + struct sched_param maybe_realtime_prio = {0}; + if (pthread_getschedparam(pthread_self(), &maybe_sched_rr, +@@ -380,7 +382,7 @@ GetCurrentThreadPriorityForPlatformForTest() { + void PlatformThread::SetName(const std::string& name) { + ThreadIdNameManager::GetInstance()->SetName(name); + +-#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) ++#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) && !BUILDFLAG(IS_BSD) + // On linux we can get the thread names to show up in the debugger by setting + // the process name for the LWP. We don't want to do this for the main + // thread because that would rename the process, causing tools like killall +@@ -410,8 +412,10 @@ void PlatformThread::SetThreadType(ProcessId process_i + // priority. + CHECK_NE(thread_id, process_id); + ++#if !BUILDFLAG(IS_BSD) + // For legacy schedtune interface + SetThreadCgroupsForThreadType(thread_id, thread_type); ++#endif + + #if BUILDFLAG(IS_CHROMEOS) + // For upstream uclamp interface. We try both legacy (schedtune, as done diff --git a/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc new file mode 100644 index 000000000000..50cd9860d582 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__posix.cc @@ -0,0 +1,21 @@ +--- base/threading/platform_thread_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ base/threading/platform_thread_posix.cc +@@ -76,7 +76,7 @@ void* ThreadFunc(void* params) { + if (!thread_params->joinable) + base::DisallowSingleton(); + +-#if !BUILDFLAG(IS_NACL) ++#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) + #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) + partition_alloc::internal::PCScan::NotifyThreadCreated( + partition_alloc::internal::GetStackPointer()); +@@ -371,6 +371,9 @@ namespace internal { + void SetCurrentThreadTypeImpl(ThreadType thread_type, + MessagePumpType pump_type_hint) { + #if BUILDFLAG(IS_NACL) ++ NOTIMPLEMENTED(); ++// avoid pledge(2) violation ++#elif BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); + #else + if (internal::SetCurrentThreadTypeForPlatform(thread_type, pump_type_hint)) diff --git a/www/ungoogled-chromium/files/patch-base_threading_platform__thread__unittest.cc b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__unittest.cc new file mode 100644 index 000000000000..fb81a24e57fa --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_threading_platform__thread__unittest.cc @@ -0,0 +1,47 @@ +--- base/threading/platform_thread_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ base/threading/platform_thread_unittest.cc +@@ -31,7 +31,7 @@ + #include "base/time/time.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <pthread.h> + #include <sys/syscall.h> + #include <sys/types.h> +@@ -417,7 +417,7 @@ TEST(PlatformThreadTest, + // and hardcodes what we know. Please inform scheduler-dev@ch40m1um.qjz9zk if this + // proprerty changes for a given platform. + TEST(PlatformThreadTest, CanChangeThreadType) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be + // able to increase priority to any level. + constexpr bool kCanIncreasePriority = false; +@@ -523,7 +523,7 @@ TEST(PlatformThreadTest, SetHugeThreadName) { + TEST(PlatformThreadTest, GetDefaultThreadStackSize) { + size_t stack_size = PlatformThread::GetDefaultThreadStackSize(); + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || \ +- ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ ++ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ + !defined(THREAD_SANITIZER)) || \ + (BUILDFLAG(IS_ANDROID) && !defined(ADDRESS_SANITIZER)) + EXPECT_EQ(0u, stack_size); +@@ -684,12 +684,16 @@ INSTANTIATE_TEST_SUITE_P( + + #endif // BUILDFLAG(IS_APPLE) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + namespace { + + bool IsTidCacheCorrect() { ++#if BUILDFLAG(IS_BSD) ++ return PlatformThread::CurrentId() == reinterpret_cast<int64_t>(pthread_self()); ++#else + return PlatformThread::CurrentId() == syscall(__NR_gettid); ++#endif + } + + void* CheckTidCacheCorrectWrapper(void*) { diff --git a/www/ungoogled-chromium/files/patch-base_trace__event_malloc__dump__provider.cc b/www/ungoogled-chromium/files/patch-base_trace__event_malloc__dump__provider.cc new file mode 100644 index 000000000000..e31a3000825b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_trace__event_malloc__dump__provider.cc @@ -0,0 +1,30 @@ +--- base/trace_event/malloc_dump_provider.cc.orig 2022-10-01 07:40:07 UTC ++++ base/trace_event/malloc_dump_provider.cc +@@ -24,6 +24,8 @@ + + #if BUILDFLAG(IS_APPLE) + #include <malloc/malloc.h> ++#elif defined(OS_BSD) ++#include <stdlib.h> + #else + #include <malloc.h> + #endif +@@ -185,7 +187,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, + + #if (BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \ + (!BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \ +- !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA)) ++ !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD)) + void ReportMallinfoStats(ProcessMemoryDump* pmd, + size_t* total_virtual_size, + size_t* resident_size, +@@ -356,6 +358,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump + &allocated_objects_count); + #elif BUILDFLAG(IS_FUCHSIA) + // TODO(fuchsia): Port, see https://crbug.com/706592. ++#elif defined(OS_BSD) ++ total_virtual_size = 0; ++ allocated_objects_size = 0; + #else + ReportMallinfoStats(/*pmd=*/nullptr, &total_virtual_size, &resident_size, + &allocated_objects_size, &allocated_objects_count); diff --git a/www/ungoogled-chromium/files/patch-base_trace__event_memory__dump__manager.cc b/www/ungoogled-chromium/files/patch-base_trace__event_memory__dump__manager.cc new file mode 100644 index 000000000000..6fc72cbe49c3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_trace__event_memory__dump__manager.cc @@ -0,0 +1,11 @@ +--- base/trace_event/memory_dump_manager.cc.orig 2022-10-01 07:40:07 UTC ++++ base/trace_event/memory_dump_manager.cc +@@ -82,7 +82,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP + #if defined(MALLOC_MEMORY_TRACING_SUPPORTED) + MallocDumpProvider::kAllocatedObjects; + #else +- nullptr; ++ ""; + #endif + + // static diff --git a/www/ungoogled-chromium/files/patch-base_trace__event_process__memory__dump.cc b/www/ungoogled-chromium/files/patch-base_trace__event_process__memory__dump.cc new file mode 100644 index 000000000000..8a3d32f18fee --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_trace__event_process__memory__dump.cc @@ -0,0 +1,20 @@ +--- base/trace_event/process_memory_dump.cc.orig 2022-10-01 07:40:07 UTC ++++ base/trace_event/process_memory_dump.cc +@@ -112,7 +112,7 @@ absl::optional<size_t> ProcessMemoryDump::CountResiden + #if BUILDFLAG(IS_WIN) + std::unique_ptr<PSAPI_WORKING_SET_EX_INFORMATION[]> vec( + new PSAPI_WORKING_SET_EX_INFORMATION[max_vec_size]); +-#elif BUILDFLAG(IS_APPLE) ++#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + std::unique_ptr<char[]> vec(new char[max_vec_size]); + #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) + std::unique_ptr<unsigned char[]> vec(new unsigned char[max_vec_size]); +@@ -134,7 +134,7 @@ absl::optional<size_t> ProcessMemoryDump::CountResiden + + for (size_t i = 0; i < page_count; i++) + resident_page_count += vec[i].VirtualAttributes.Valid; +-#elif BUILDFLAG(IS_FUCHSIA) ++#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/851760): Implement counting resident bytes. + // For now, log and avoid unused variable warnings. + NOTIMPLEMENTED_LOG_ONCE(); diff --git a/www/ungoogled-chromium/files/patch-base_tracing_trace__time.cc b/www/ungoogled-chromium/files/patch-base_tracing_trace__time.cc new file mode 100644 index 000000000000..55691d99604b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_tracing_trace__time.cc @@ -0,0 +1,28 @@ +--- base/tracing/trace_time.cc.orig 2022-10-01 07:40:07 UTC ++++ base/tracing/trace_time.cc +@@ -8,13 +8,17 @@ + #include "build/build_config.h" + #include "third_party/perfetto/include/perfetto/base/time.h" + ++#if BUILDFLAG(IS_FREEBSD) ++#define CLOCK_BOOTTIME CLOCK_UPTIME ++#endif ++ + namespace base { + namespace tracing { + + int64_t TraceBootTicksNow() { + // On Windows and Mac, TRACE_TIME_TICKS_NOW() behaves like boottime already. + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + struct timespec ts; + int res = clock_gettime(CLOCK_BOOTTIME, &ts); + if (res != -1) +@@ -24,4 +28,4 @@ int64_t TraceBootTicksNow() { + } + + } // namespace tracing +-} // namespace base +\ No newline at end of file ++} // namespace base diff --git a/www/ungoogled-chromium/files/patch-base_tracing_trace__time.h b/www/ungoogled-chromium/files/patch-base_tracing_trace__time.h new file mode 100644 index 000000000000..8728928a1673 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-base_tracing_trace__time.h @@ -0,0 +1,11 @@ +--- base/tracing/trace_time.h.orig 2022-10-01 07:40:07 UTC ++++ base/tracing/trace_time.h +@@ -12,7 +12,7 @@ namespace base { + namespace tracing { + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // Linux, Android, and Fuchsia all use CLOCK_MONOTONIC. See crbug.com/166153 + // about efforts to unify base::TimeTicks across all platforms. + constexpr perfetto::protos::pbzero::BuiltinClock kTraceClockId = diff --git a/www/ungoogled-chromium/files/patch-build_config_BUILD.gn b/www/ungoogled-chromium/files/patch-build_config_BUILD.gn new file mode 100644 index 000000000000..a9e33c0218ee --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_config_BUILD.gn @@ -0,0 +1,22 @@ +--- build/config/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ build/config/BUILD.gn +@@ -215,13 +215,17 @@ config("default_libs") { + "CoreText.framework", + "Foundation.framework", + ] +- } else if (is_linux || is_chromeos) { ++ } else if ((is_linux && !is_bsd) || is_chromeos) { + libs = [ + "dl", + "pthread", + "rt", + ] +- } ++ } else if (is_bsd) { ++ libs = [ ++ "pthread", ++ ] ++ } + } + + group("common_deps") { diff --git a/www/ungoogled-chromium/files/patch-build_config_BUILDCONFIG.gn b/www/ungoogled-chromium/files/patch-build_config_BUILDCONFIG.gn new file mode 100644 index 000000000000..cf46aee73705 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_config_BUILDCONFIG.gn @@ -0,0 +1,45 @@ +--- build/config/BUILDCONFIG.gn.orig 2022-10-01 07:40:07 UTC ++++ build/config/BUILDCONFIG.gn +@@ -136,7 +136,8 @@ declare_args() { + is_official_build = false + + # Set to true when compiling with the Clang compiler. +- is_clang = current_os != "linux" || ++ is_clang = current_os != "linux" || current_os == "openbsd" || ++ current_os == "freebsd" || + (current_cpu != "s390x" && current_cpu != "s390" && + current_cpu != "ppc64" && current_cpu != "ppc" && + current_cpu != "mips" && current_cpu != "mips64" && +@@ -220,6 +221,10 @@ if (host_toolchain == "") { + host_toolchain = "//build/toolchain/aix:$host_cpu" + } else if (host_os == "zos") { + host_toolchain = "//build/toolchain/zos:$host_cpu" ++ } else if (host_os == "openbsd") { ++ host_toolchain = "//build/toolchain/openbsd:clang_$host_cpu" ++ } else if (host_os == "freebsd") { ++ host_toolchain = "//build/toolchain/freebsd:clang_$host_cpu" + } else { + assert(false, "Unsupported host_os: $host_os") + } +@@ -264,6 +269,8 @@ if (target_os == "android") { + _default_toolchain = "//build/toolchain/aix:$target_cpu" + } else if (target_os == "zos") { + _default_toolchain = "//build/toolchain/zos:$target_cpu" ++} else if (target_os == "openbsd" || target_os == "freebsd") { ++ _default_toolchain = host_toolchain + } else { + assert(false, "Unsupported target_os: $target_os") + } +@@ -298,7 +305,11 @@ is_android = current_os == "android" + is_chromeos = current_os == "chromeos" + is_fuchsia = current_os == "fuchsia" + is_ios = current_os == "ios" +-is_linux = current_os == "linux" ++is_linux = current_os == "linux" || current_os == "openbsd" || ++ current_os == "freebsd" ++is_openbsd = current_os == "openbsd" ++is_freebsd = current_os == "freebsd" ++is_bsd = current_os == "openbsd" || current_os == "freebsd" + is_mac = current_os == "mac" + is_nacl = current_os == "nacl" + is_win = current_os == "win" || current_os == "winuwp" diff --git a/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn b/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn new file mode 100644 index 000000000000..7d8092d64a5b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_config_compiler_BUILD.gn @@ -0,0 +1,113 @@ +--- build/config/compiler/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ build/config/compiler/BUILD.gn +@@ -222,13 +222,16 @@ config("default_include_dirs") { + # Compiler instrumentation can introduce dependencies in DSOs to symbols in + # the executable they are loaded into, so they are unresolved at link-time. + config("no_unresolved_symbols") { +- if (!using_sanitizer && ++ if (!using_sanitizer && !is_bsd && + (is_linux || is_chromeos || is_android || is_fuchsia)) { + ldflags = [ + "-Wl,-z,defs", + "-Wl,--as-needed", + ] + } ++ if (current_cpu == "x86" && is_openbsd) { ++ ldflags = [ "-Wl,-z,notext" ] ++ } + } + + # compiler --------------------------------------------------------------------- +@@ -452,6 +455,10 @@ config("compiler") { + } + } + ++ if (is_openbsd) { ++ ldflags += [ "-Wl,-z,wxneeded" ] ++ } ++ + # Linux-specific compiler flags setup. + # ------------------------------------ + if (use_gold) { +@@ -527,7 +534,7 @@ config("compiler") { + ldflags += [ "-Wl,-z,keep-text-section-prefix" ] + } + +- if (is_clang && !is_nacl && current_os != "zos") { ++ if (is_clang && !is_nacl && current_os != "zos" && !is_bsd) { + cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] + + # TODO(hans): Remove this once Clang generates better optimized debug info +@@ -891,7 +898,7 @@ config("compiler_cpu_abi") { + ] + } + } else if (current_cpu == "arm") { +- if (is_clang && !is_android && !is_nacl && ++ if (is_clang && !is_android && !is_nacl && !is_bsd && + !(is_chromeos_lacros && is_chromeos_device)) { + cflags += [ "--target=arm-linux-gnueabihf" ] + ldflags += [ "--target=arm-linux-gnueabihf" ] +@@ -906,7 +913,7 @@ config("compiler_cpu_abi") { + cflags += [ "-mtune=$arm_tune" ] + } + } else if (current_cpu == "arm64") { +- if (is_clang && !is_android && !is_nacl && !is_fuchsia && ++ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd && + !(is_chromeos_lacros && is_chromeos_device)) { + cflags += [ "--target=aarch64-linux-gnu" ] + ldflags += [ "--target=aarch64-linux-gnu" ] +@@ -1234,7 +1241,7 @@ config("compiler_deterministic") { + # different build directory like "out/feature_a" and "out/feature_b" if + # we build same files with same compile flag. + # Other paths are already given in relative, no need to normalize them. +- if (is_nacl) { ++ if (is_nacl || is_bsd) { + # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. + cflags += [ + "-Xclang", +@@ -1532,7 +1539,7 @@ config("default_warnings") { + ] + } + +- if (!is_nacl) { ++ if (!is_nacl && !is_bsd) { + cflags += [ + # TODO(crbug.com/1343975) Evaluate and possibly enable. + "-Wno-deprecated-builtins", +@@ -1705,7 +1712,7 @@ config("no_chromium_code") { + # third-party libraries. + "-Wno-c++11-narrowing", + ] +- if (!is_nacl) { ++ if (!is_nacl && !is_freebsd) { + cflags += [ + # Disabled for similar reasons as -Wunused-variable. + "-Wno-unused-but-set-variable", +@@ -2219,7 +2226,7 @@ config("afdo_optimize_size") { + # There are some targeted places that AFDO regresses, so we provide a separate + # config to allow AFDO to be disabled per-target. + config("afdo") { +- if (is_clang) { ++ if (is_clang && !is_bsd) { + cflags = [] + if (clang_emit_debug_info_for_profiling) { + # Add the following flags to generate debug info for profiling. +@@ -2235,7 +2242,7 @@ config("afdo") { + cflags += [ "-fprofile-sample-use=${rebased_clang_sample_profile}" ] + inputs = [ _clang_sample_profile ] + } +- } else if (auto_profile_path != "" && is_a_target_toolchain) { ++ } else if (auto_profile_path != "" && is_a_target_toolchain && !is_bsd) { + cflags = [ "-fauto-profile=${auto_profile_path}" ] + inputs = [ auto_profile_path ] + } +@@ -2375,7 +2382,8 @@ config("symbols") { + } + } + +- if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos") { ++ if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos" && ++ !is_bsd) { + if (is_apple) { + # TODO(https://crbug.com/1050118): Investigate missing debug info on mac. + # Make sure we don't use constructor homing on mac. diff --git a/www/ungoogled-chromium/files/patch-build_config_linux_BUILD.gn b/www/ungoogled-chromium/files/patch-build_config_linux_BUILD.gn new file mode 100644 index 000000000000..466c6829e7d1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_config_linux_BUILD.gn @@ -0,0 +1,11 @@ +--- build/config/linux/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ build/config/linux/BUILD.gn +@@ -41,7 +41,7 @@ config("runtime_library") { + } + + if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") && +- (!use_custom_libcxx || current_cpu == "mipsel")) { ++ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) { + libs = [ "atomic" ] + } + } diff --git a/www/ungoogled-chromium/files/patch-build_config_linux_pkg-config.py b/www/ungoogled-chromium/files/patch-build_config_linux_pkg-config.py new file mode 100644 index 000000000000..6b0ac80396d4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_config_linux_pkg-config.py @@ -0,0 +1,11 @@ +--- build/config/linux/pkg-config.py.orig 2022-10-01 07:40:07 UTC ++++ build/config/linux/pkg-config.py +@@ -109,7 +109,7 @@ def main(): + # If this is run on non-Linux platforms, just return nothing and indicate + # success. This allows us to "kind of emulate" a Linux build from other + # platforms. +- if "linux" not in sys.platform: ++ if not sys.platform.startswith(tuple(['linux', 'openbsd', 'freebsd'])): + print("[[],[],[],[],[]]") + return 0 + diff --git a/www/ungoogled-chromium/files/patch-build_config_ozone.gni b/www/ungoogled-chromium/files/patch-build_config_ozone.gni new file mode 100644 index 000000000000..b42f13511953 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_config_ozone.gni @@ -0,0 +1,19 @@ +--- build/config/ozone.gni.orig 2022-10-01 07:40:07 UTC ++++ build/config/ozone.gni +@@ -87,7 +87,15 @@ declare_args() { + } else if (is_chromeos_lacros) { + ozone_platform = "wayland" + ozone_platform_wayland = true +- } else if (is_linux) { ++ } else if (is_linux && !is_bsd) { ++ ozone_platform = "x11" ++ ozone_platform_wayland = true ++ ozone_platform_x11 = true ++ } else if (is_openbsd) { ++ ozone_platform = "x11" ++ ozone_platform_wayland = false ++ ozone_platform_x11 = true ++ } else if (is_freebsd) { + ozone_platform = "x11" + ozone_platform_wayland = true + ozone_platform_x11 = true diff --git a/www/ungoogled-chromium/files/patch-build_config_rust.gni b/www/ungoogled-chromium/files/patch-build_config_rust.gni new file mode 100644 index 000000000000..0c1aad6f4204 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_config_rust.gni @@ -0,0 +1,11 @@ +--- build/config/rust.gni.orig 2022-10-01 07:40:07 UTC ++++ build/config/rust.gni +@@ -124,7 +124,7 @@ if (enable_rust) { + rust_sysroot = "//third_party/rust-toolchain" + use_unverified_rust_toolchain = false + } else { +- if (host_os != "linux") { ++ if (host_os != "linux" && host_os != "openbsd" && host_os != "freebsd") { + assert(false, + "Attempt to use Android Rust toolchain on an unsupported platform") + } diff --git a/www/ungoogled-chromium/files/patch-build_config_v8__target__cpu.gni b/www/ungoogled-chromium/files/patch-build_config_v8__target__cpu.gni new file mode 100644 index 000000000000..3d883327375b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_config_v8__target__cpu.gni @@ -0,0 +1,13 @@ +--- build/config/v8_target_cpu.gni.orig 2022-10-01 07:40:07 UTC ++++ build/config/v8_target_cpu.gni +@@ -36,6 +36,10 @@ declare_args() { + if (v8_target_cpu == "") { + if (current_toolchain == "//build/toolchain/linux:clang_x64_v8_arm64") { + v8_target_cpu = "arm64" ++ } else if (current_toolchain == "//build/toolchain/openbsd:clang_arm64") { ++ v8_target_cpu = "arm64" ++ } else if (current_toolchain == "//build/toolchain/freebsd:clang_arm64") { ++ v8_target_cpu = "arm64" + } else if (current_toolchain == "//build/toolchain/linux:clang_x86_v8_arm") { + v8_target_cpu = "arm" + } else if (current_toolchain == diff --git a/www/ungoogled-chromium/files/patch-build_detect__host__arch.py b/www/ungoogled-chromium/files/patch-build_detect__host__arch.py new file mode 100644 index 000000000000..2d77e503b8c6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_detect__host__arch.py @@ -0,0 +1,11 @@ +--- build/detect_host_arch.py.orig 2022-10-01 07:40:07 UTC ++++ build/detect_host_arch.py +@@ -21,6 +21,8 @@ def HostArch(): + host_arch = 'ia32' + elif host_arch in ['x86_64', 'amd64']: + host_arch = 'x64' ++ elif host_arch.startswith('arm64'): ++ host_arch = 'arm64' + elif host_arch.startswith('arm'): + host_arch = 'arm' + elif host_arch.startswith('aarch64'): diff --git a/www/ungoogled-chromium/files/patch-build_gn__run__binary.py b/www/ungoogled-chromium/files/patch-build_gn__run__binary.py new file mode 100644 index 000000000000..692808585f8b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_gn__run__binary.py @@ -0,0 +1,11 @@ +--- build/gn_run_binary.py.orig 2022-10-01 07:40:07 UTC ++++ build/gn_run_binary.py +@@ -24,7 +24,7 @@ if not os.path.isabs(path): + # The rest of the arguments are passed directly to the executable. + args = [path] + sys.argv[2:] + +-ret = subprocess.call(args) ++ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome","LD_LIBRARY_PATH":"${WRKSRC}/out/Release"}) + if ret != 0: + if ret <= -100: + # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to diff --git a/www/ungoogled-chromium/files/patch-build_linux_chrome.map b/www/ungoogled-chromium/files/patch-build_linux_chrome.map new file mode 100644 index 000000000000..8a2855e7f6de --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_linux_chrome.map @@ -0,0 +1,13 @@ +--- build/linux/chrome.map.orig 2022-10-01 07:40:07 UTC ++++ build/linux/chrome.map +@@ -20,6 +20,10 @@ global: + # Program entry point. + _start; + ++ # FreeBSD specific variables. ++ __progname; ++ environ; ++ + # Memory allocation symbols. We want chrome and any libraries to + # share the same heap, so it is correct to export these symbols. + aligned_alloc; diff --git a/www/ungoogled-chromium/files/patch-build_linux_strip__binary.py b/www/ungoogled-chromium/files/patch-build_linux_strip__binary.py new file mode 100644 index 000000000000..cf324c1fabd2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_linux_strip__binary.py @@ -0,0 +1,10 @@ +--- build/linux/strip_binary.py.orig 2022-10-01 07:40:07 UTC ++++ build/linux/strip_binary.py +@@ -10,6 +10,7 @@ import sys + + + def main(): ++ return 0 + argparser = argparse.ArgumentParser(description='eu-strip binary.') + + argparser.add_argument('--eu-strip-binary-path', help='eu-strip path.') diff --git a/www/ungoogled-chromium/files/patch-build_linux_unbundle_libevent.gn b/www/ungoogled-chromium/files/patch-build_linux_unbundle_libevent.gn new file mode 100644 index 000000000000..262907b65bff --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_linux_unbundle_libevent.gn @@ -0,0 +1,15 @@ +--- build/linux/unbundle/libevent.gn.orig 2022-10-01 07:40:07 UTC ++++ build/linux/unbundle/libevent.gn +@@ -9,7 +9,12 @@ shim_headers("libevent_shim") { + headers = [ "event.h" ] + } + ++config("system_libevent") { ++ defines = [ "USE_SYSTEM_LIBEVENT=1" ] ++} ++ + source_set("libevent") { + deps = [ ":libevent_shim" ] + libs = [ "event" ] ++ public_configs = [ ":system_libevent" ] + } diff --git a/www/ungoogled-chromium/files/patch-build_linux_unbundle_libusb.gn b/www/ungoogled-chromium/files/patch-build_linux_unbundle_libusb.gn new file mode 100644 index 000000000000..2144bd3922d1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_linux_unbundle_libusb.gn @@ -0,0 +1,27 @@ +--- build/linux/unbundle/libusb.gn.orig 2022-10-01 07:40:07 UTC ++++ build/linux/unbundle/libusb.gn +@@ -0,0 +1,24 @@ ++# Copyright 2016 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("system_libusb") { ++ packages = [ "libusb-1.0" ] ++} ++ ++shim_headers("libusb_shim") { ++ root_path = "src/libusb" ++ headers = [ ++ "libusb.h", ++ ] ++} ++ ++source_set("libusb") { ++ deps = [ ++ ":libusb_shim", ++ ] ++ public_configs = [ ":system_libusb" ] ++} diff --git a/www/ungoogled-chromium/files/patch-build_linux_unbundle_replace__gn__files.py b/www/ungoogled-chromium/files/patch-build_linux_unbundle_replace__gn__files.py new file mode 100644 index 000000000000..f39149c396dd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_linux_unbundle_replace__gn__files.py @@ -0,0 +1,10 @@ +--- build/linux/unbundle/replace_gn_files.py.orig 2022-10-01 07:40:07 UTC ++++ build/linux/unbundle/replace_gn_files.py +@@ -52,6 +52,7 @@ REPLACEMENTS = { + 'libjpeg': 'third_party/libjpeg.gni', + 'libjxl' : 'third_party/libjxl/BUILD.gn', + 'libpng': 'third_party/libpng/BUILD.gn', ++ 'libusb': 'third_party/libusb/BUILD.gn', + 'libvpx': 'third_party/libvpx/BUILD.gn', + 'libwebp': 'third_party/libwebp/BUILD.gn', + 'libxml': 'third_party/libxml/BUILD.gn', diff --git a/www/ungoogled-chromium/files/patch-build_toolchain_freebsd_BUILD.gn b/www/ungoogled-chromium/files/patch-build_toolchain_freebsd_BUILD.gn new file mode 100644 index 000000000000..3e36c27ec393 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_toolchain_freebsd_BUILD.gn @@ -0,0 +1,69 @@ +--- build/toolchain/freebsd/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ build/toolchain/freebsd/BUILD.gn +@@ -0,0 +1,66 @@ ++# Copyright 2013 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/sysroot.gni") ++import("//build/toolchain/gcc_toolchain.gni") ++ ++clang_toolchain("clang_x86") { ++ toolchain_args = { ++ current_cpu = "x86" ++ current_os = "freebsd" ++ } ++} ++ ++gcc_toolchain("x86") { ++ cc = "gcc" ++ cxx = "g++" ++ ++ readelf = "readelf" ++ nm = "nm" ++ ar = "ar" ++ ld = cxx ++ ++ toolchain_args = { ++ current_cpu = "x86" ++ current_os = "freebsd" ++ is_clang = false ++ } ++} ++ ++clang_toolchain("clang_x64") { ++ toolchain_args = { ++ current_cpu = "x64" ++ current_os = "freebsd" ++ } ++} ++ ++gcc_toolchain("x64") { ++ cc = "gcc" ++ cxx = "g++" ++ ++ readelf = "readelf" ++ nm = "nm" ++ ar = "ar" ++ ld = cxx ++ ++ toolchain_args = { ++ current_cpu = "x64" ++ current_os = "freebsd" ++ is_clang = false ++ } ++} ++ ++clang_toolchain("clang_arm") { ++ toolchain_args = { ++ current_cpu = "arm64" ++ current_os = "freebsd" ++ } ++} ++ ++clang_toolchain("clang_arm64") { ++ toolchain_args = { ++ current_cpu = "arm64" ++ current_os = "freebsd" ++ } ++} diff --git a/www/ungoogled-chromium/files/patch-build_toolchain_gcc__solink__wrapper.py b/www/ungoogled-chromium/files/patch-build_toolchain_gcc__solink__wrapper.py new file mode 100644 index 000000000000..49a5819c4cf1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_toolchain_gcc__solink__wrapper.py @@ -0,0 +1,11 @@ +--- build/toolchain/gcc_solink_wrapper.py.orig 2022-10-01 07:40:07 UTC ++++ build/toolchain/gcc_solink_wrapper.py +@@ -39,7 +39,7 @@ def CollectDynSym(args): + """Replaces: nm --format=posix -g -D -p $sofile | cut -f1-2 -d' '""" + toc = '' + nm = subprocess.Popen(wrapper_utils.CommandToRun( +- [args.nm, '--format=posix', '-g', '-D', '-p', args.sofile]), ++ [args.nm, '-g', '-D', '-p', args.sofile]), + stdout=subprocess.PIPE, + bufsize=-1, + universal_newlines=True) diff --git a/www/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni new file mode 100644 index 000000000000..fe75be776441 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_toolchain_gcc__toolchain.gni @@ -0,0 +1,44 @@ +--- build/toolchain/gcc_toolchain.gni.orig 2022-10-01 07:40:07 UTC ++++ build/toolchain/gcc_toolchain.gni +@@ -53,6 +53,13 @@ if (enable_resource_allowlist_generation) { + "enable_resource_allowlist_generation=true does not work for target_os=$target_os") + } + ++declare_args() { ++ extra_cflags = "" ++ extra_cppflags = "" ++ extra_cxxflags = "" ++ extra_ldflags = "" ++} ++ + # This template defines a toolchain for something that works like gcc + # (including clang). + # +@@ -786,22 +793,12 @@ template("gcc_toolchain") { + # use_gold too. + template("clang_toolchain") { + gcc_toolchain(target_name) { +- _path = "$clang_base_path/bin" +- _is_path_absolute = get_path_info(_path, "abspath") == _path +- +- # Preserve absolute paths for tools like distcc. +- if (_is_path_absolute && filter_include([ _path ], [ "//*" ]) == []) { +- prefix = _path +- } else { +- prefix = rebase_path(_path, root_build_dir) +- } +- +- cc = "${prefix}/clang" +- cxx = "${prefix}/clang++" ++ cc = "cc" ++ cxx = "c++" + ld = cxx +- readelf = "${prefix}/llvm-readelf" +- ar = "${prefix}/llvm-ar" +- nm = "${prefix}/llvm-nm" ++ readelf = "readelf" ++ ar = "ar" ++ nm = "nm" + + forward_variables_from(invoker, + [ diff --git a/www/ungoogled-chromium/files/patch-build_toolchain_openbsd_BUILD.gn b/www/ungoogled-chromium/files/patch-build_toolchain_openbsd_BUILD.gn new file mode 100644 index 000000000000..3d32dd3fac6c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-build_toolchain_openbsd_BUILD.gn @@ -0,0 +1,69 @@ +--- build/toolchain/openbsd/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ build/toolchain/openbsd/BUILD.gn +@@ -0,0 +1,66 @@ ++# Copyright 2013 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/sysroot.gni") ++import("//build/toolchain/gcc_toolchain.gni") ++ ++clang_toolchain("clang_x86") { ++ toolchain_args = { ++ current_cpu = "x86" ++ current_os = "openbsd" ++ } ++} ++ ++gcc_toolchain("x86") { ++ cc = "gcc" ++ cxx = "g++" ++ ++ readelf = "readelf" ++ nm = "nm" ++ ar = "ar" ++ ld = cxx ++ ++ toolchain_args = { ++ current_cpu = "x86" ++ current_os = "openbsd" ++ is_clang = false ++ } ++} ++ ++clang_toolchain("clang_x64") { ++ toolchain_args = { ++ current_cpu = "x64" ++ current_os = "openbsd" ++ } ++} ++ ++gcc_toolchain("x64") { ++ cc = "gcc" ++ cxx = "g++" ++ ++ readelf = "readelf" ++ nm = "nm" ++ ar = "ar" ++ ld = cxx ++ ++ toolchain_args = { ++ current_cpu = "x64" ++ current_os = "openbsd" ++ is_clang = false ++ } ++} ++ ++clang_toolchain("clang_arm") { ++ toolchain_args = { ++ current_cpu = "arm64" ++ current_os = "openbsd" ++ } ++} ++ ++clang_toolchain("clang_arm64") { ++ toolchain_args = { ++ current_cpu = "arm64" ++ current_os = "openbsd" ++ } ++} diff --git a/www/ungoogled-chromium/files/patch-cc_BUILD.gn b/www/ungoogled-chromium/files/patch-cc_BUILD.gn new file mode 100644 index 000000000000..ae72f0ae5023 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-cc_BUILD.gn @@ -0,0 +1,19 @@ +--- cc/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ cc/BUILD.gn +@@ -664,7 +664,7 @@ cc_test_static_library("test_support") { + if (enable_vulkan) { + deps += [ "//gpu/vulkan/init" ] + } +- if (!is_android) { ++ if (!is_android && !is_bsd) { + data_deps = [ "//third_party/mesa_headers" ] + } + } +@@ -891,7 +891,6 @@ cc_test("cc_unittests") { + data = [ "//components/viz/test/data/" ] + data_deps = [ + "//testing/buildbot/filters:cc_unittests_filters", +- "//third_party/mesa_headers", + ] + + if (is_android && enable_chrome_android_internal) { diff --git a/www/ungoogled-chromium/files/patch-chrome_app_app__management__strings.grdp b/www/ungoogled-chromium/files/patch-chrome_app_app__management__strings.grdp new file mode 100644 index 000000000000..e454c8c799f5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_app__management__strings.grdp @@ -0,0 +1,11 @@ +--- chrome/app/app_management_strings.grdp.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/app_management_strings.grdp +@@ -173,7 +173,7 @@ + You can open and edit supported files with this app from Finder or other apps. To control which files open this app by default, <ph name="BEGIN_LINK"><a href="#"></ph>learn how to set default apps on your device<ph name="END_LINK"></a></ph>. + </message> + </if> +- <if expr="is_fuchsia or is_linux"> ++ <if expr="is_fuchsia or is_posix"> + <message name="IDS_APP_MANAGEMENT_FILE_HANDLING_SET_DEFAULTS_LINK" desc="Further explanation of the File Handling API, including text describing the purpose of the toggle (referencing a generic Linux file browser app) and a link to a learn more link for default filetype associations."> + You can open and edit supported files with this app from your file browser or other apps. To control which files open this app by default, <ph name="BEGIN_LINK"><a href="#"></ph>learn how to set default apps on your device<ph name="END_LINK"></a></ph>. + </message> diff --git a/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h b/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h new file mode 100644 index 000000000000..481758e7d612 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_chrome__command__ids.h @@ -0,0 +1,11 @@ +--- chrome/app/chrome_command_ids.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/chrome_command_ids.h +@@ -67,7 +67,7 @@ + #define IDC_NAME_WINDOW 34049 + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #define IDC_USE_SYSTEM_TITLE_BAR 34051 + #define IDC_RESTORE_WINDOW 34052 + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc new file mode 100644 index 000000000000..c90beca3a400 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main.cc @@ -0,0 +1,20 @@ +--- chrome/app/chrome_main.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/chrome_main.cc +@@ -26,7 +26,7 @@ + #include "chrome/app/notification_metrics.h" + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/base_switches.h" + #endif + +@@ -152,7 +152,7 @@ int ChromeMain(int argc, const char** argv) { + headless::SetUpCommandLine(command_line); + } else { + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (command_line->HasSwitch(switches::kHeadless)) { + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + command_line->AppendSwitch(::headless::switches::kEnableCrashReporter); diff --git a/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc new file mode 100644 index 000000000000..1bc0c996a5e0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_chrome__main__delegate.cc @@ -0,0 +1,121 @@ +--- chrome/app/chrome_main_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/chrome_main_delegate.cc +@@ -126,7 +126,7 @@ + #include "components/about_ui/credit_utils.h" + #endif + +-#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) + #include "components/nacl/common/nacl_paths.h" + #include "components/nacl/zygote/nacl_fork_delegate_linux.h" + #endif +@@ -169,16 +169,16 @@ + #include "v8/include/v8.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/environment.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "base/message_loop/message_pump_libevent.h" + #endif + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/policy/policy_path_parser.h" + #include "components/crash/core/app/crashpad.h" + #endif +@@ -329,7 +329,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty + // and resources loaded. + bool SubprocessNeedsResourceBundle(const std::string& process_type) { + return +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The zygote process opens the resources for the renderers. + process_type == switches::kZygoteProcess || + #endif +@@ -415,7 +415,7 @@ bool HandleVersionSwitches(const base::CommandLine& co + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Show the man page if --help or -h is on the command line. + void HandleHelpSwitches(const base::CommandLine& command_line) { + if (command_line.HasSwitch(switches::kHelp) || +@@ -506,7 +506,7 @@ void InitializeUserDataDir(base::CommandLine* command_ + std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Linux, Chrome does not support running multiple copies under different + // DISPLAYs, so the profile directory can be specified in the environment to + // support the virtual desktop use-case. +@@ -589,7 +589,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat + #endif + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Record the startup process creation time on supported platforms. On Android + // this is recorded in ChromeMainDelegateAndroid. + startup_metric_utils::RecordStartupProcessCreationTime( +@@ -767,6 +767,8 @@ void ChromeMainDelegate::CommonEarlyInitialization() { + // not always enabled on Linux/ChromeOS. + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + bool enable_gwp_asan = crash_reporter::IsCrashpadEnabled(); ++#elif BUILDFLAG(IS_BSD) ++ bool enable_gwp_asan = false; + #else + bool enable_gwp_asan = true; + #endif +@@ -826,7 +828,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() { + base::internal::TimerBase::InitializeFeatures(); + base::InitializeCpuReductionExperiment(); + base::sequence_manager::internal::SequenceManagerImpl::InitializeFeatures(); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + base::MessagePumpLibevent::InitializeFeatures(); + #elif BUILDFLAG(IS_MAC) + base::PlatformThread::InitializeOptimizedRealtimeThreadingFeature(); +@@ -916,7 +918,7 @@ absl::optional<int> ChromeMainDelegate::BasicStartupCo + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag + // switch of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // This will directly exit if the user asked for help. + HandleHelpSwitches(command_line); + #endif +@@ -946,7 +948,7 @@ absl::optional<int> ChromeMainDelegate::BasicStartupCo + #if BUILDFLAG(IS_CHROMEOS) + chromeos::dbus_paths::RegisterPathProvider(); + #endif +-#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + nacl::RegisterPathProvider(); + #endif + +@@ -1336,7 +1338,7 @@ void ChromeMainDelegate::PreSandboxStartup() { + CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale; + } + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + // Zygote needs to call InitCrashReporter() in RunZygote(). + if (process_type != switches::kZygoteProcess) { + if (command_line.HasSwitch(switches::kPreCrashpadCrashTest)) { +@@ -1412,7 +1414,7 @@ absl::variant<int, content::MainFunctionParams> Chrome + + // This entry is not needed on Linux, where the NaCl loader + // process is launched via nacl_helper instead. +-#if BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + {switches::kNaClLoaderProcess, NaClMain}, + #else + {"<invalid>", nullptr}, // To avoid constant array of size 0 diff --git a/www/ungoogled-chromium/files/patch-chrome_app_chromium__strings.grd b/www/ungoogled-chromium/files/patch-chrome_app_chromium__strings.grd new file mode 100644 index 000000000000..332a015cc721 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_chromium__strings.grd @@ -0,0 +1,20 @@ +--- chrome/app/chromium_strings.grd.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/chromium_strings.grd +@@ -296,7 +296,7 @@ If you update this file, be sure also to update google + Welcome to Chromium; new browser window opened + </message> + </if> +- <if expr="is_macosx or is_linux"> ++ <if expr="is_macosx or is_posix"> + <message name="IDS_FIRST_RUN_DIALOG_WINDOW_TITLE" desc="Window title of First Run dialog on Mac and Linux, displayed in title bar"> + Welcome to Chromium + </message> +@@ -410,7 +410,7 @@ If you update this file, be sure also to update google + Chromium may not function correctly because it is no longer supported on Windows XP or Windows Vista + </message> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_LINUX_OBSOLETE" desc="A message displayed on an at-launch infobar and about:help warning the user that the OS version they are using is no longer supported."> + Chromium may not function correctly because it is no longer supported on this Linux distribution + </message> diff --git a/www/ungoogled-chromium/files/patch-chrome_app_generated__resources.grd b/www/ungoogled-chromium/files/patch-chrome_app_generated__resources.grd new file mode 100644 index 000000000000..6fc46e66c92a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_generated__resources.grd @@ -0,0 +1,74 @@ +--- chrome/app/generated_resources.grd.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/generated_resources.grd +@@ -2,7 +2,7 @@ + + <!-- + This file contains definitions of resources that will be translated for each +-locale. The variables is_win, is_macosx, is_linux, and is_posix are available ++locale. The variables is_win, is_macosx, is_posix, and is_posix are available + for making strings OS specific. Other platform defines such as use_titlecase + are declared in tools/grit/grit_rule.gni. + --> +@@ -3069,7 +3069,7 @@ are declared in tools/grit/grit_rule.gni. + </if> + + <!-- Bluetooth Device Credentials (i.e. PIN/Passkey) dialog --> +- <if expr="is_win or is_linux"> ++ <if expr="is_win or is_posix"> + <message name="IDS_BLUETOOTH_DEVICE_CREDENTIALS_TITLE" desc="Title of the Bluetooth device credentials prompt dialog."> + Device Credentials + </message> +@@ -4802,7 +4802,7 @@ are declared in tools/grit/grit_rule.gni. + Read information about your browser, OS, device, installed software, registry values and files + </message> + </if> +- <if expr="is_macosx or is_linux"> ++ <if expr="is_macosx or is_posix"> + <message name="IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_LINUX_AND_MACOS" desc="Permission string for enterprise private reporting permission on Linux and MacOS."> + Read information about your browser, OS, device, installed software and files + </message> +@@ -5439,7 +5439,7 @@ Keep your key file in a safe place. You will need it t + Old versions of Chrome Apps won't open on Windows devices after December 2022. Contact your administrator to update to a new version or remove this app. + </message> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_FORCE_INSTALLED_DEPRECATED_APPS_CONTENT" desc="Content of the force installed deprecated app dialog"> + Old versions of Chrome Apps won't open on Linux devices after December 2022. Contact your administrator to update to a new version or remove this app. + </message> +@@ -5467,7 +5467,7 @@ Keep your key file in a safe place. You will need it t + Old versions of Chrome apps won't open on Windows devices after December 2022. You can check if there's a new version available. + </message> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_DEPRECATED_APPS_MONITOR_RENDERER" desc="Dialog content that educates users that Chrome Apps will soon no longer launch."> + Old versions of Chrome apps won't open on Linux devices after December 2022. You can check if there's a new version available. + </message> +@@ -8964,7 +8964,7 @@ Check your passwords anytime in <ph name="GOOGLE_PASSW + Google Pay + </message> + +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_SHOW_WINDOW_DECORATIONS" desc="The label of a radio button in the options dialog for using the system title bar and borders."> + Use system title bar and borders + </message> +@@ -10148,7 +10148,7 @@ Please help our engineers fix this problem. Tell us wh + Set as default + </message> + +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_MINIMIZE_WINDOW_MENU" desc="The Linux browser window menu item text for minimizing the window."> + Minimize + </message> +@@ -12211,7 +12211,7 @@ Please help our engineers fix this problem. Tell us wh + Open Anyway + </message> + +- <if expr="is_win or is_macosx or is_linux"> ++ <if expr="is_win or is_macosx or is_posix"> + <message name="IDS_UTILITY_PROCESS_SYSTEM_SIGNALS_NAME" desc="The name of the utility process used to collect system signals. Only spawned on Windows, Mac or Linux."> + System Signals Utilities + </message> diff --git a/www/ungoogled-chromium/files/patch-chrome_app_google__chrome__strings.grd b/www/ungoogled-chromium/files/patch-chrome_app_google__chrome__strings.grd new file mode 100644 index 000000000000..16fab79ee3b7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_google__chrome__strings.grd @@ -0,0 +1,20 @@ +--- chrome/app/google_chrome_strings.grd.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/google_chrome_strings.grd +@@ -301,7 +301,7 @@ chromium_strings.grd. --> + Welcome to Chrome; new browser window opened + </message> + </if> +- <if expr="is_macosx or is_linux"> ++ <if expr="is_macosx or is_posix"> + <message name="IDS_FIRST_RUN_DIALOG_WINDOW_TITLE" desc="Window title of First Run dialog on Mac and Linux, displayed in title bar"> + Welcome to Google Chrome + </message> +@@ -438,7 +438,7 @@ chromium_strings.grd. --> + This computer will no longer receive Google Chrome updates because Windows XP and Windows Vista are no longer supported + </message> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_LINUX_OBSOLETE" desc="A message displayed on an at-launch infobar and about:help warning the user that the OS version they are using is no longer supported."> + Google Chrome may not function correctly because it is no longer supported on this Linux distribution + </message> diff --git a/www/ungoogled-chromium/files/patch-chrome_app_profiles__strings.grdp b/www/ungoogled-chromium/files/patch-chrome_app_profiles__strings.grdp new file mode 100644 index 000000000000..98e99a73a793 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_profiles__strings.grdp @@ -0,0 +1,11 @@ +--- chrome/app/profiles_strings.grdp.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/profiles_strings.grdp +@@ -66,7 +66,7 @@ + Add Profile... + </message> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_PROFILES_ADD_PROFILE_LABEL" desc="Menu item for adding a new profile."> + Add profile... + </message> diff --git a/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp b/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp new file mode 100644 index 000000000000..533e7b17ae37 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_settings__strings.grdp @@ -0,0 +1,20 @@ +--- chrome/app/settings_strings.grdp.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/settings_strings.grdp +@@ -134,7 +134,7 @@ + Theme + </message> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_SETTINGS_SYSTEM_THEME" desc="Text of the label describing the system (GTK+) browser theme on Linux"> + GTK+ + </message> +@@ -148,7 +148,7 @@ + Use Classic + </message> + </if> +- <if expr="not is_linux or is_chromeos or is_fuchsia"> ++ <if expr="not is_posix or is_chromeos or is_fuchsia"> + <message name="IDS_SETTINGS_RESET_TO_DEFAULT_THEME" desc="Name of the control which resets the browser theme back to the default theme."> + Reset to default + </message> diff --git a/www/ungoogled-chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd b/www/ungoogled-chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd new file mode 100644 index 000000000000..20d89d435296 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd @@ -0,0 +1,32 @@ +--- chrome/app/theme/chrome_unscaled_resources.grd.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/theme/chrome_unscaled_resources.grd +@@ -15,12 +15,12 @@ + <release seq="1"> + <includes> + <if expr="_google_chrome"> +- <if expr="not is_linux"> ++ <if expr="not is_posix"> + <include name="IDR_PRODUCT_LOGO_64" file="google_chrome/product_logo_64.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_128" file="google_chrome/product_logo_128.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_256" file="google_chrome/product_logo_256.png" type="BINDATA" /> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <include name="IDR_PRODUCT_LOGO_64" file="google_chrome/linux/product_logo_64.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_128" file="google_chrome/linux/product_logo_128.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_128_BETA" file="google_chrome/linux/product_logo_128_beta.png" type="BINDATA" /> +@@ -53,12 +53,12 @@ + </if> + </if> + <if expr="not _google_chrome"> +- <if expr="not is_linux"> ++ <if expr="not is_posix"> + <include name="IDR_PRODUCT_LOGO_64" file="chromium/product_logo_64.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_128" file="chromium/product_logo_128.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_256" file="chromium/product_logo_256.png" type="BINDATA" /> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <include name="IDR_PRODUCT_LOGO_64" file="chromium/linux/product_logo_64.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_128" file="chromium/linux/product_logo_128.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_256" file="chromium/linux/product_logo_256.png" type="BINDATA" /> diff --git a/www/ungoogled-chromium/files/patch-chrome_app_theme_theme__resources.grd b/www/ungoogled-chromium/files/patch-chrome_app_theme_theme__resources.grd new file mode 100644 index 000000000000..3001e745ac0e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_app_theme_theme__resources.grd @@ -0,0 +1,34 @@ +--- chrome/app/theme/theme_resources.grd.orig 2022-10-01 07:40:07 UTC ++++ chrome/app/theme/theme_resources.grd +@@ -130,11 +130,11 @@ + <structure type="chrome_scaled_image" name="IDR_PRERENDER" file="common/prerender_succeed_icon.png" /> + </if> + <if expr="not _google_chrome"> +- <if expr="not is_linux"> ++ <if expr="not is_posix"> + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="chromium/product_logo_16.png" /> + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="chromium/product_logo_32.png" /> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="chromium/linux/product_logo_16.png" /> + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="chromium/linux/product_logo_32.png" /> + </if> +@@ -142,7 +142,7 @@ + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_NAME_22_WHITE" file="chromium/product_logo_name_22_white.png" /> + </if> + <if expr="_google_chrome"> +- <if expr="not is_linux"> ++ <if expr="not is_posix"> + <if expr="not is_android"> + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="google_chrome/product_logo_16.png" /> + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="google_chrome/product_logo_32.png" /> +@@ -150,7 +150,7 @@ + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_BETA" file="google_chrome/product_logo_32_beta.png" /> + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_DEV" file="google_chrome/product_logo_32_dev.png" /> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_16" file="google_chrome/linux/product_logo_16.png" /> + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32" file="google_chrome/linux/product_logo_32.png" /> + <structure type="chrome_scaled_image" name="IDR_PRODUCT_LOGO_32_BETA" file="google_chrome/linux/product_logo_32_beta.png" /> diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc b/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc new file mode 100644 index 000000000000..f7370af045bb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_about__flags.cc @@ -0,0 +1,128 @@ +--- chrome/browser/about_flags.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/about_flags.cc +@@ -213,7 +213,7 @@ + #include "ui/native_theme/native_theme_features.h" + #include "ui/ui_features.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/allocator/buildflags.h" + #endif + +@@ -288,7 +288,7 @@ + #include "chrome/browser/supervised_user/supervised_user_features/supervised_user_features.h" // nogncheck + #endif // ENABLE_SUPERVISED_USERS + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "ui/ozone/buildflags.h" + #include "ui/ozone/public/ozone_switches.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +@@ -393,7 +393,7 @@ const FeatureEntry::FeatureVariation kDXGIWaitableSwap + {"Max 3 Frames", &kDXGIWaitableSwapChain3Frames, 1, nullptr}}; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const FeatureEntry::Choice kOzonePlatformHintRuntimeChoices[] = { + {flag_descriptions::kOzonePlatformHintChoiceDefault, "", ""}, + {flag_descriptions::kOzonePlatformHintChoiceAuto, +@@ -1263,7 +1263,7 @@ const FeatureEntry::FeatureVariation + }; + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + const FeatureEntry::FeatureParam kOmniboxDocumentProviderServerScoring[] = { + {"DocumentUseServerScore", "true"}, + {"DocumentUseClientScore", "false"}, +@@ -3930,7 +3930,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(base::kOneGroupPerRenderer)}, + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { + "enable-accelerated-video-decode", + flag_descriptions::kAcceleratedVideoDecodeName, +@@ -4556,7 +4556,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(features::kWebShare)}, + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"ozone-platform-hint", flag_descriptions::kOzonePlatformHintName, + flag_descriptions::kOzonePlatformHintDescription, kOsLinux, + MULTI_VALUE_TYPE(kOzonePlatformHintRuntimeChoices)}, +@@ -4575,7 +4575,7 @@ const FeatureEntry kFeatureEntries[] = { + password_manager::features::kForceInitialSyncWhenDecryptionFails)}, + #endif // BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + {"skip-undecryptable-passwords", + flag_descriptions::kSkipUndecryptablePasswordsName, + flag_descriptions::kSkipUndecryptablePasswordsDescription, +@@ -4829,7 +4829,7 @@ const FeatureEntry kFeatureEntries[] = { + "FeedCloseRefresh")}, + #endif // BUILDFLAG(IS_ANDROID) + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + {"following-feed-sidepanel", flag_descriptions::kFollowingFeedSidepanelName, + flag_descriptions::kFollowingFeedSidepanelDescription, kOsDesktop, + FEATURE_VALUE_TYPE(feed::kWebUiFeed)}, +@@ -5343,7 +5343,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(omnibox::kZeroSuggestPrefetchingOnWeb)}, + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + {"omnibox-experimental-keyword-mode", + flag_descriptions::kOmniboxExperimentalKeywordModeName, + flag_descriptions::kOmniboxExperimentalKeywordModeDescription, kOsDesktop, +@@ -5880,7 +5880,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kPointerLockOptionsDescription, kOsDesktop, + FEATURE_VALUE_TYPE(features::kPointerLockOptions)}, + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"enable-async-dns", flag_descriptions::kAsyncDnsName, + flag_descriptions::kAsyncDnsDescription, kOsWin | kOsLinux, + FEATURE_VALUE_TYPE(features::kAsyncDns)}, +@@ -6798,7 +6798,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif // BUILDFLAG(IS_CHROMEOS) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + {"global-media-controls-modern-ui", + flag_descriptions::kGlobalMediaControlsModernUIName, + flag_descriptions::kGlobalMediaControlsModernUIDescription, +@@ -7658,7 +7658,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + {"quick-commands", flag_descriptions::kQuickCommandsName, + flag_descriptions::kQuickCommandsDescription, kOsDesktop, + FEATURE_VALUE_TYPE(features::kQuickCommands)}, +@@ -7957,7 +7957,7 @@ const FeatureEntry kFeatureEntries[] = { + + #if BUILDFLAG(IS_WIN) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + { + "ui-debug-tools", + flag_descriptions::kUIDebugToolsName, +@@ -8537,7 +8537,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + {"document-picture-in-picture-api", + flag_descriptions::kDocumentPictureInPictureApiName, + flag_descriptions::kDocumentPictureInPictureApiDescription, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_after__startup__task__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_after__startup__task__utils.cc new file mode 100644 index 000000000000..d2e673d6bc89 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_after__startup__task__utils.cc @@ -0,0 +1,11 @@ +--- chrome/browser/after_startup_task_utils.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/after_startup_task_utils.cc +@@ -107,7 +107,7 @@ void SetBrowserStartupIsComplete() { + TRACE_EVENT0("startup", "SetBrowserStartupIsComplete"); + g_startup_complete_flag.Get().Set(); + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Process::Current().CreationTime() is not available on all platforms. + const base::Time process_creation_time = + base::Process::Current().CreationTime(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc b/www/ungoogled-chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc new file mode 100644 index 000000000000..fb06d11b9883 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc @@ -0,0 +1,20 @@ +--- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/apps/platform_apps/platform_app_launch.cc +@@ -20,7 +20,7 @@ + #include "extensions/common/extension.h" + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/browser.h" + #include "chrome/browser/ui/browser_navigator.h" + #include "chrome/browser/ui/browser_window.h" +@@ -124,7 +124,7 @@ bool OpenExtensionApplicationTab(Profile* profile, con + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + bool OpenDeprecatedApplicationPrompt(Profile* profile, + const std::string& app_id) { + if (!extensions::IsExtensionUnsupportedDeprecatedApp(profile, app_id)) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h b/www/ungoogled-chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h new file mode 100644 index 000000000000..a5a1ff9f1b43 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h @@ -0,0 +1,11 @@ +--- chrome/browser/apps/platform_apps/platform_app_launch.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/apps/platform_apps/platform_app_launch.h +@@ -36,7 +36,7 @@ bool OpenExtensionApplicationWindow(Profile* profile, + // and false otherwise. + bool OpenExtensionApplicationTab(Profile* profile, const std::string& app_id); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Opens the deprecated Chrome Apps flow if |app_id| refers to a Chrome App and + // Chrome Apps are deprecated on the |profile|. Returns true if that was the + // case, or false otherwise. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/www/ungoogled-chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc new file mode 100644 index 000000000000..4106746cf7dd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc @@ -0,0 +1,11 @@ +--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc +@@ -91,7 +91,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch + return metrics::OmniboxInputType::QUERY; + + case ExternalProtocolHandler::UNKNOWN: { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Linux impl of GetApplicationNameForProtocol doesn't distinguish + // between URL schemes with handers and those without. This will + // make the default behaviour be search on Linux. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_background_background__mode__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_background_background__mode__manager.cc new file mode 100644 index 000000000000..cc3ebb55c455 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_background_background__mode__manager.cc @@ -0,0 +1,11 @@ +--- chrome/browser/background/background_mode_manager.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/background/background_mode_manager.cc +@@ -894,7 +894,7 @@ gfx::ImageSkia GetStatusTrayIcon() { + return gfx::ImageSkia(); + + return family->CreateExact(size).AsImageSkia(); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( + IDR_PRODUCT_LOGO_128); + #elif BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc b/www/ungoogled-chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc new file mode 100644 index 000000000000..f897e9da0058 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc @@ -0,0 +1,11 @@ +--- chrome/browser/background/background_mode_optimizer.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/background/background_mode_optimizer.cc +@@ -31,7 +31,7 @@ std::unique_ptr<BackgroundModeOptimizer> BackgroundMod + switches::kKeepAliveForTest)) + return nullptr; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(features::kBackgroundModeAllowRestart)) + return base::WrapUnique(new BackgroundModeOptimizer()); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc b/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc new file mode 100644 index 000000000000..caf80fd6399d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_browser__features.cc @@ -0,0 +1,11 @@ +--- chrome/browser/browser_features.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/browser_features.cc +@@ -29,7 +29,7 @@ const base::Feature kColorProviderRedirectionForThemeP + // the browser exits. + const base::Feature kDestroyProfileOnBrowserClose { + "DestroyProfileOnBrowserClose", +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + }; + #else diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc new file mode 100644 index 000000000000..2c3766e7a223 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.cc @@ -0,0 +1,29 @@ +--- chrome/browser/browser_process_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/browser_process_impl.cc +@@ -214,7 +214,7 @@ + #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/error_reporting/chrome_js_error_report_processor.h" // nogncheck + #endif + +@@ -1172,7 +1172,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { + + ApplyMetricsReportingPolicy(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + ChromeJsErrorReportProcessor::Create(); + #endif + +@@ -1411,7 +1411,7 @@ void BrowserProcessImpl::Unpin() { + // Mac is currently not supported. + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. +-#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) + + bool BrowserProcessImpl::IsRunningInBackground() const { + // Check if browser is in the background. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.h b/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.h new file mode 100644 index 000000000000..4fcc540153fd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_browser__process__impl.h @@ -0,0 +1,11 @@ +--- chrome/browser/browser_process_impl.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/browser_process_impl.h +@@ -359,7 +359,7 @@ class BrowserProcessImpl : public BrowserProcess, + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) + base::RepeatingTimer autoupdate_timer_; + + // Gets called by autoupdate timer to see if browser needs restart and can be diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_browser__resources.grd b/www/ungoogled-chromium/files/patch-chrome_browser_browser__resources.grd new file mode 100644 index 000000000000..1e28174c5d3b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_browser__resources.grd @@ -0,0 +1,11 @@ +--- chrome/browser/browser_resources.grd.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/browser_resources.grd +@@ -120,7 +120,7 @@ + <if expr="chromeos_ash"> + <include name="IDR_PLUGIN_DB_JSON" file="resources\plugin_metadata\plugins_chromeos.json" type="BINDATA" /> + </if> +- <if expr="is_linux or chromeos_lacros"> ++ <if expr="is_posix or chromeos_lacros"> + <include name="IDR_PLUGIN_DB_JSON" file="resources\plugin_metadata\plugins_linux.json" type="BINDATA" /> + </if> + <if expr="chromeos_ash"> diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc new file mode 100644 index 000000000000..930b98783547 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc @@ -0,0 +1,71 @@ +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/chrome_browser_interface_binders.cc +@@ -113,13 +113,13 @@ + #endif // BUILDFLAG(FULL_SAFE_BROWSING) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/webui/connectors_internals/connectors_internals.mojom.h" + #include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h" + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h" + #include "ui/webui/resources/cr_components/app_management/app_management.mojom.h" + #endif +@@ -188,7 +188,7 @@ + #endif // BUILDFLAG(IS_ANDROID) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/webui/discards/discards.mojom.h" + #include "chrome/browser/ui/webui/discards/discards_ui.h" + #include "chrome/browser/ui/webui/discards/site_data.mojom.h" +@@ -780,7 +780,7 @@ void PopulateChromeFrameBinders( + #endif // BUILDFLAG(ENABLE_SPEECH_SERVICE) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (!render_frame_host->GetParent()) { + map->Add<chrome::mojom::DraggableRegions>( + base::BindRepeating(&DraggableRegionsHostImpl::CreateIfAllowed)); +@@ -788,7 +788,7 @@ void PopulateChromeFrameBinders( + #endif + + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) && + render_frame_host->IsInPrimaryMainFrame()) { + map->Add<blink::mojom::SubAppsService>( +@@ -843,14 +843,14 @@ void PopulateChromeWebUIFrameBinders( + SegmentationInternalsUI>(map); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + RegisterWebUIControllerInterfaceBinder< + connectors_internals::mojom::PageHandler, + enterprise_connectors::ConnectorsInternalsUI>(map); + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + RegisterWebUIControllerInterfaceBinder< + app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map); + #endif +@@ -1235,7 +1235,7 @@ void PopulateChromeWebUIFrameBinders( + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + RegisterWebUIControllerInterfaceBinder<discards::mojom::DetailsProvider, + DiscardsUI>(map); + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc new file mode 100644 index 000000000000..e889acf24a7e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main.cc @@ -0,0 +1,52 @@ +--- chrome/browser/chrome_browser_main.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/chrome_browser_main.cc +@@ -239,11 +239,11 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/first_run/upgrade_util_linux.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/crash/core/app/breakpad_linux.h" + #include "components/crash/core/app/crashpad.h" + #endif +@@ -279,7 +279,7 @@ + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h" + #include "chrome/browser/metrics/desktop_session_duration/touch_mode_stats_tracker.h" + #include "chrome/browser/profiles/profile_activity_metrics_recorder.h" +@@ -1025,7 +1025,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + browser_creator_->AddFirstRunTabs(master_prefs_->new_tabs); + } + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Create directory for user-level Native Messaging manifest files. This + // makes it less likely that the directory will be created by third-party + // software with incorrect owner or permission. See crbug.com/725513 . +@@ -1038,7 +1038,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + } + #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + // Set the product channel for crash reports. + if (!crash_reporter::IsCrashpadEnabled()) { + breakpad::SetChannelCrashKey( +@@ -1060,7 +1060,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + metrics::DesktopSessionDurationTracker::Initialize(); + ProfileActivityMetricsRecorder::Initialize(); + TouchModeStatsTracker::Initialize( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc new file mode 100644 index 000000000000..dfbe5f0d4fcc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc @@ -0,0 +1,11 @@ +--- chrome/browser/chrome_browser_main_extra_parts_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/chrome_browser_main_extra_parts_linux.cc +@@ -120,7 +120,7 @@ ChromeBrowserMainExtraPartsLinux::ChromeBrowserMainExt + ChromeBrowserMainExtraPartsLinux::~ChromeBrowserMainExtraPartsLinux() = default; + + void ChromeBrowserMainExtraPartsLinux::PreEarlyInitialization() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On the desktop, we fix the platform name if necessary. + // See https://crbug.com/1246928. + auto* const command_line = base::CommandLine::ForCurrentProcess(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc new file mode 100644 index 000000000000..eb438de0f8ad --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc @@ -0,0 +1,28 @@ +--- chrome/browser/chrome_browser_main_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/chrome_browser_main_linux.cc +@@ -57,13 +57,15 @@ ChromeBrowserMainPartsLinux::~ChromeBrowserMainPartsLi + } + + void ChromeBrowserMainPartsLinux::PostCreateMainMessageLoop() { +-#if BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // No-op: Ash and Lacros Bluetooth DBusManager initialization depend on + // FeatureList, and is done elsewhere. + #endif // BUILDFLAG(IS_CHROMEOS) + + #if !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_BSD) + bluez::BluezDBusManager::Initialize(nullptr /* system_bus */); ++#endif + + // Set up crypt config. This needs to be done before anything starts the + // network service, as the raw encryption key needs to be shared with the +@@ -123,7 +125,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() { + #endif // defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS) + + void ChromeBrowserMainPartsLinux::PostDestroyThreads() { +-#if BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // No-op; per PostBrowserStart() comment, this is done elsewhere. + #else + bluez::BluezDBusManager::Shutdown(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc new file mode 100644 index 000000000000..b87cdc7e6940 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc @@ -0,0 +1,11 @@ +--- chrome/browser/chrome_browser_main_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/chrome_browser_main_posix.cc +@@ -72,7 +72,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa + } else { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + switch (signal) { + case SIGINT: + case SIGHUP: diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc new file mode 100644 index 000000000000..60861c9a1d64 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.cc @@ -0,0 +1,150 @@ +--- chrome/browser/chrome_content_browser_client.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/chrome_content_browser_client.cc +@@ -385,7 +385,7 @@ + #include "components/user_manager/user_manager.h" + #include "services/service_manager/public/mojom/interface_provider_spec.mojom.h" + #include "storage/browser/file_system/external_mount_points.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/chrome_browser_main_linux.h" + #elif BUILDFLAG(IS_ANDROID) + #include "base/android/application_status_listener.h" +@@ -466,17 +466,17 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/crash/core/app/crash_switches.h" + #include "components/crash/core/app/crashpad.h" + #endif + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + #if !BUILDFLAG(IS_ANDROID) + #include "base/debug/leak_annotations.h" + #include "components/crash/core/app/breakpad_linux.h" +@@ -484,12 +484,12 @@ + #include "components/crash/content/browser/crash_handler_host_linux.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/ui/webui/app_settings/web_app_settings_navigation_throttle.h" + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/connectors/device_trust/navigation_throttle.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || + // BUILDFLAG(IS_CHROMEOS_ASH) +@@ -513,11 +513,11 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/chrome_browser_main_extra_parts_linux.h" + #elif defined(USE_OZONE) + #include "chrome/browser/chrome_browser_main_extra_parts_ozone.h" +@@ -930,7 +930,7 @@ blink::mojom::AutoplayPolicy GetAutoplayPolicyForWebCo + int GetCrashSignalFD(const base::CommandLine& command_line) { + return crashpad::CrashHandlerHost::Get()->GetDeathSignalSocket(); + } +-#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) ++#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost( + const std::string& process_type) { + base::FilePath dumps_path; +@@ -1450,7 +1450,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + main_parts = std::make_unique<ChromeBrowserMainPartsLacros>( + is_integration_test, &startup_data_); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + main_parts = std::make_unique<ChromeBrowserMainPartsLinux>( + is_integration_test, &startup_data_); + #elif BUILDFLAG(IS_ANDROID) +@@ -1489,7 +1489,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo + std::make_unique<ChromeBrowserMainExtraPartsViewsLacros>()); + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + main_parts->AddParts( + std::make_unique<ChromeBrowserMainExtraPartsViewsLinux>()); + #else +@@ -1510,7 +1510,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo + main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsLacros>()); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsLinux>()); + #elif defined(USE_OZONE) + main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsOzone>()); +@@ -2279,6 +2279,8 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + #elif BUILDFLAG(IS_POSIX) + #if BUILDFLAG(IS_ANDROID) + bool enable_crash_reporter = true; ++#elif BUILDFLAG(IS_BSD) ++ bool enable_crash_reporter = false; + #else + bool enable_crash_reporter = false; + if (crash_reporter::IsCrashpadEnabled()) { +@@ -2628,7 +2630,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + ThreadProfilerConfiguration::Get()->AppendCommandLineSwitchForChildProcess( + command_line); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + // Opt into a hardened stack canary mitigation if it hasn't already been + // force-disabled. + if (!browser_command_line.HasSwitch(switches::kChangeStackGuardOnFork)) { +@@ -4071,7 +4073,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst + } + } + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, +@@ -4510,14 +4512,14 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati + &throttles); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + MaybeAddThrottle( + WebAppSettingsNavigationThrottle::MaybeCreateThrottleFor(handle), + &throttles); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + MaybeAddThrottle(enterprise_connectors::DeviceTrustNavigationThrottle:: + MaybeCreateThrottleFor(handle), + &throttles); +@@ -4542,7 +4544,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle:: + MaybeCreateThrottleFor(handle), diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h new file mode 100644 index 000000000000..5bec0477496d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_chrome__content__browser__client.h @@ -0,0 +1,11 @@ +--- chrome/browser/chrome_content_browser_client.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/chrome_content_browser_client.h +@@ -436,7 +436,7 @@ class ChromeContentBrowserClient : public content::Con + void OverridePageVisibilityState( + content::RenderFrameHost* render_frame_host, + content::PageVisibilityState* visibility_state) override; +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + void GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc b/www/ungoogled-chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc new file mode 100644 index 000000000000..85f05d0bf3f6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc @@ -0,0 +1,11 @@ +--- chrome/browser/crash_upload_list/crash_upload_list.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/crash_upload_list/crash_upload_list.cc +@@ -50,7 +50,7 @@ scoped_refptr<UploadList> CreateCrashUploadList() { + // which isn't compatible with CrashUploadListCrashpad. crash_sender continues + // to log uploads in CrashUploadList::kReporterLogFilename. + // Linux is handled below. +-#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) ++#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + if (crash_reporter::IsCrashpadEnabled()) { + return new CrashUploadListCrashpad(); + } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc new file mode 100644 index 000000000000..52ffde0ae7a3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc @@ -0,0 +1,11 @@ +--- chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc +@@ -69,7 +69,7 @@ void ChromeProtocolHandlerRegistryDelegate::CheckDefau + // If true default protocol handlers will be removed if the OS level + // registration for a protocol is no longer Chrome. + bool ChromeProtocolHandlerRegistryDelegate::ShouldRemoveHandlersNotInOS() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // We don't do this on Linux as the OS registration there is not reliable, + // and Chrome OS doesn't have any notion of OS registration. + // TODO(benwells): When Linux support is more reliable remove this diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_defaults.cc b/www/ungoogled-chromium/files/patch-chrome_browser_defaults.cc new file mode 100644 index 000000000000..825ae5b3d85e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_defaults.cc @@ -0,0 +1,11 @@ +--- chrome/browser/defaults.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/defaults.cc +@@ -52,7 +52,7 @@ const bool kSyncAutoStarts = true; + const bool kSyncAutoStarts = false; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const bool kScrollEventChangesTab = true; + #else + const bool kScrollEventChangesTab = false; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_dev__ui__browser__resources.grd b/www/ungoogled-chromium/files/patch-chrome_browser_dev__ui__browser__resources.grd new file mode 100644 index 000000000000..d192fc515736 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_dev__ui__browser__resources.grd @@ -0,0 +1,11 @@ +--- chrome/browser/dev_ui_browser_resources.grd.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/dev_ui_browser_resources.grd +@@ -36,7 +36,7 @@ This file specifies browser resources for developer-fa + <include name="IDR_PREDICTORS_JS" file="${root_gen_dir}\chrome\browser\resources\predictors\predictors.js" use_base_dir="false" type="BINDATA" /> + <include name="IDR_PREDICTORS_RESOURCE_PREFETCH_PREDICTOR_JS" file="${root_gen_dir}\chrome\browser\resources\predictors\resource_prefetch_predictor.js" use_base_dir="false" type="BINDATA" /> + +- <if expr="is_android or is_linux or is_chromeos"> ++ <if expr="is_android or is_posix or is_chromeos"> + <include name="IDR_SANDBOX_INTERNALS_HTML" file="resources\sandbox_internals\sandbox_internals.html" preprocess="true" type="BINDATA" /> + <include name="IDR_SANDBOX_INTERNALS_JS" file="${root_gen_dir}\chrome\browser\resources\sandbox_internals\tsc\sandbox_internals.js" use_base_dir="false" type="BINDATA" /> + </if> diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc new file mode 100644 index 000000000000..d3f720a71a8a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc @@ -0,0 +1,11 @@ +--- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/device_identity/device_oauth2_token_service_factory.cc +@@ -28,7 +28,7 @@ std::unique_ptr<DeviceOAuth2TokenStore> CreatePlatform + return std::make_unique<chromeos::DeviceOAuth2TokenStoreChromeOS>( + local_state); + #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) + return std::make_unique<DeviceOAuth2TokenStoreDesktop>(local_state); + #else + NOTREACHED(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc b/www/ungoogled-chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc new file mode 100644 index 000000000000..33717c627cc4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc @@ -0,0 +1,11 @@ +--- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/devtools/devtools_eye_dropper.cc +@@ -186,7 +186,7 @@ void DevToolsEyeDropper::UpdateCursor() { + // magnified projection only with centered hotspot. + // Mac Retina requires cursor to be > 120px in order to render smoothly. + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const float kCursorSize = 63; + const float kDiameter = 63; + const float kHotspotOffset = 32; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h b/www/ungoogled-chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h new file mode 100644 index 000000000000..b9af6f6e6c13 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h @@ -0,0 +1,11 @@ +--- chrome/browser/diagnostics/diagnostics_writer.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/diagnostics/diagnostics_writer.h +@@ -14,6 +14,8 @@ namespace diagnostics { + // Console base class used internally. + class SimpleConsole; + ++#undef MACHINE ++ + class DiagnosticsWriter : public DiagnosticsModel::Observer { + public: + // The type of formatting done by this writer. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc new file mode 100644 index 000000000000..c32595f5375c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc @@ -0,0 +1,29 @@ +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/download/chrome_download_manager_delegate.cc +@@ -1532,7 +1532,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe + bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile( + const base::FilePath& path) { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) { + return !download_prefs_->ShouldOpenPdfInSystemReader(); + } +@@ -1598,7 +1598,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow + content::CheckDownloadAllowedCallback check_download_allowed_cb) { + DCHECK_CURRENTLY_ON(BrowserThread::UI); + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // Don't download pdf if it is a file URL, as that might cause an infinite + // download loop if Chrome is not the system pdf viewer. + if (url.SchemeIsFile() && download_prefs_->ShouldOpenPdfInSystemReader()) { +@@ -1640,7 +1640,7 @@ std::unique_ptr<download::DownloadItemRenameHandler> + ChromeDownloadManagerDelegate::GetRenameHandlerForDownload( + download::DownloadItem* download_item) { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return enterprise_connectors::FileSystemRenameHandler::CreateIfNeeded( + download_item); + #else diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc new file mode 100644 index 000000000000..9bccd3090e55 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.cc @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_commands.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/download/download_commands.cc +@@ -26,7 +26,7 @@ + #include "ui/base/clipboard/scoped_clipboard_writer.h" + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/browser.h" + #include "chrome/browser/ui/browser_finder.h" + #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" +@@ -167,7 +167,7 @@ void DownloadCommands::ExecuteCommand(Command command) + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + + Browser* DownloadCommands::GetBrowser() const { + if (!model_) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.h b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.h new file mode 100644 index 000000000000..7f8092c2b4c6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__commands.h @@ -0,0 +1,11 @@ +--- chrome/browser/download/download_commands.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/download/download_commands.h +@@ -55,7 +55,7 @@ class DownloadCommands { + void ExecuteCommand(Command command); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + bool IsDownloadPdf() const; + bool CanOpenPdfInSystemViewer() const; + Browser* GetBrowser() const; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__file__picker.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__file__picker.cc new file mode 100644 index 000000000000..3860381df525 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__file__picker.cc @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_file_picker.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/download/download_file_picker.cc +@@ -16,7 +16,7 @@ + #include "content/public/browser/download_manager.h" + #include "content/public/browser/web_contents.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/browser_list.h" + #include "chrome/browser/ui/browser_window.h" + #include "ui/aura/window.h" +@@ -84,7 +84,7 @@ DownloadFilePicker::DownloadFilePicker(download::Downl + // dialog in Linux (See SelectFileImpl() in select_file_dialog_linux_gtk.cc). + // and windows.Here we make owning_window host to browser current active + // window if it is null. https://crbug.com/1301898 +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (!owning_window || !owning_window->GetHost()) { + owning_window = BrowserList::GetInstance() + ->GetLastActive() diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc new file mode 100644 index 000000000000..e5bb67a88071 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__item__model.cc @@ -0,0 +1,29 @@ +--- chrome/browser/download/download_item_model.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/download/download_item_model.cc +@@ -728,7 +728,7 @@ bool DownloadItemModel::IsCommandChecked( + download_crx_util::IsExtensionDownload(*download_); + case DownloadCommands::ALWAYS_OPEN_TYPE: + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (download_commands->CanOpenPdfInSystemViewer()) { + DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); + return prefs->ShouldOpenPdfInSystemReader(); +@@ -770,7 +770,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand + DownloadCommands::ALWAYS_OPEN_TYPE); + DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (download_commands->CanOpenPdfInSystemViewer()) { + prefs->SetShouldOpenPdfInSystemReader(!is_checked); + SetShouldPreferOpeningInBrowser(is_checked); +@@ -1086,7 +1086,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe + return; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (download_->GetOriginalMimeType() == "application/x-x509-user-cert") { + SetShouldPreferOpeningInBrowser(true); + return; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc new file mode 100644 index 000000000000..0ed491509a14 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.cc @@ -0,0 +1,90 @@ +--- chrome/browser/download/download_prefs.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/download/download_prefs.cc +@@ -13,6 +13,7 @@ + #include "base/callback_helpers.h" + #include "base/check.h" + #include "base/cxx17_backports.h" ++#include "base/command_line.h" + #include "base/feature_list.h" + #include "base/files/file_util.h" + #include "base/no_destructor.h" +@@ -61,6 +62,10 @@ + #include "chrome/browser/ui/pdf/adobe_reader_info_win.h" + #endif + ++#if BUILDFLAG(IS_OPENBSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#endif ++ + using content::BrowserContext; + using content::BrowserThread; + using content::DownloadManager; +@@ -71,7 +76,7 @@ namespace { + // Consider downloads 'dangerous' if they go to the home directory on Linux and + // to the desktop on any platform. + bool DownloadPathIsDangerous(const base::FilePath& download_path) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FilePath home_dir = base::GetHomeDir(); + if (download_path == home_dir) { + return true; +@@ -182,7 +187,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + should_open_pdf_in_system_reader_ = + prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader); + #endif +@@ -295,7 +300,7 @@ void DownloadPrefs::RegisterProfilePrefs( + registry->RegisterTimePref(prefs::kDownloadLastCompleteTime, + /*default_value=*/base::Time()); + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false); + #endif + #if BUILDFLAG(IS_ANDROID) +@@ -472,7 +477,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) { + if (should_open_pdf_in_system_reader_ == should_open) + return; +@@ -504,7 +509,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons + + void DownloadPrefs::ResetAutoOpenByUser() { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + SetShouldOpenPdfInSystemReader(false); + #endif + auto_open_by_user_.clear(); +@@ -535,7 +540,7 @@ void DownloadPrefs::SaveAutoOpenState() { + bool DownloadPrefs::CanPlatformEnableAutoOpenForPdf() const { + #if BUILDFLAG(IS_CHROMEOS) + return false; // There is no UI for auto-open on ChromeOS. +-#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return ShouldOpenPdfInSystemReader(); + #else + return false; +@@ -659,7 +664,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa + #else + // If the stored download directory is an absolute path, we presume it's + // correct; there's not really much more validation we can do here. ++#if BUILDFLAG(IS_OPENBSD) ++ // If unveil(2) is used, force the file dialog directory to something we ++ // know is available. ++ auto* sandbox = sandbox::policy::SandboxLinux::GetInstance(); ++ if (!sandbox->unveil_initialized() && path.IsAbsolute()) ++#else + if (path.IsAbsolute()) ++#endif + return path; + + // When the default download directory is *not* an absolute path, we use the diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.h b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.h new file mode 100644 index 000000000000..befaa4cff36e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_download_download__prefs.h @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_prefs.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/download/download_prefs.h +@@ -125,7 +125,7 @@ class DownloadPrefs { + void DisableAutoOpenByUserBasedOnExtension(const base::FilePath& file_name); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // Store the user preference to disk. If |should_open| is true, also disable + // the built-in PDF plugin. If |should_open| is false, enable the PDF plugin. + void SetShouldOpenPdfInSystemReader(bool should_open); +@@ -185,7 +185,7 @@ class DownloadPrefs { + std::unique_ptr<policy::URLBlocklist> auto_open_allowed_by_urls_; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + bool should_open_pdf_in_system_reader_; + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc new file mode 100644 index 000000000000..6153630bc620 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc @@ -0,0 +1,16 @@ +--- chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc +@@ -142,11 +142,11 @@ AnalysisServiceSettings::AnalysisServiceSettings( + const char* verification_key = kKeyWindowsVerification; + #elif BUILDFLAG(IS_MAC) + const char* verification_key = kKeyMacVerification; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const char* verification_key = kKeyLinuxVerification; + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const base::Value::Dict& dict = settings_value.GetDict(); + const base::Value::List* signatures = + dict.FindListByDottedPath(verification_key); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc new file mode 100644 index 000000000000..5bf7b470704e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc @@ -0,0 +1,43 @@ +--- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc +@@ -11,11 +11,11 @@ + #include "chrome/browser/profiles/profile.h" + #include "components/keyed_service/core/keyed_service.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include "chrome/browser/browser_process.h" + #if BUILDFLAG(IS_MAC) + #include "chrome/browser/enterprise/connectors/device_trust/browser/mac_device_trust_connector_service.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/connectors/device_trust/browser/browser_device_trust_connector_service.h" + #endif // BUILDFLAG(IS_MAC) + #include "chrome/browser/policy/chrome_browser_policy_connector.h" +@@ -40,7 +40,7 @@ DeviceTrustConnectorService* DeviceTrustConnectorServi + + bool DeviceTrustConnectorServiceFactory::ServiceIsCreatedWithBrowserContext() + const { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return IsDeviceTrustConnectorFeatureEnabled(); + #else + return false; +@@ -59,7 +59,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil + + DeviceTrustConnectorService* service = nullptr; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (IsDeviceTrustConnectorFeatureEnabled()) { + auto* key_manager = g_browser_process->browser_policy_connector() + ->chrome_browser_cloud_management_controller() +@@ -67,7 +67,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil + #if BUILDFLAG(IS_MAC) + service = new MacDeviceTrustConnectorService( + key_manager, profile->GetPrefs(), g_browser_process->local_state()); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + service = new BrowserDeviceTrustConnectorService(key_manager, + profile->GetPrefs()); + #endif // BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc new file mode 100644 index 000000000000..227580763735 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc @@ -0,0 +1,11 @@ +--- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc +@@ -22,7 +22,7 @@ + #include "components/policy/core/common/management/management_service.h" + #include "content/public/browser/browser_context.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include "chrome/browser/browser_process.h" + #include "chrome/browser/enterprise/connectors/device_trust/attestation/desktop/desktop_attestation_service.h" + #include "chrome/browser/policy/chrome_browser_policy_connector.h" diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc new file mode 100644 index 000000000000..70002d22fdec --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc +@@ -13,7 +13,7 @@ + + #if BUILDFLAG(IS_WIN) + #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/win_key_rotation_command.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/linux_key_rotation_command.h" + #elif BUILDFLAG(IS_MAC) + #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/mac_key_rotation_command.h" +@@ -45,7 +45,7 @@ std::unique_ptr<KeyRotationCommand> KeyRotationCommand + scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory) { + #if BUILDFLAG(IS_WIN) + return std::make_unique<WinKeyRotationCommand>(); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return std::make_unique<LinuxKeyRotationCommand>(url_loader_factory); + #elif BUILDFLAG(IS_MAC) + return std::make_unique<MacKeyRotationCommand>(url_loader_factory); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc new file mode 100644 index 000000000000..bc783e35a7ef --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/key_persistence_delegate_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/key_persistence_delegate_factory.cc +@@ -13,7 +13,7 @@ + #include "chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/win_key_persistence_delegate.h" + #elif BUILDFLAG(IS_MAC) + #include "chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/mac_key_persistence_delegate.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/connectors/device_trust/key_management/core/persistence/linux_key_persistence_delegate.h" + #endif + +@@ -44,7 +44,7 @@ KeyPersistenceDelegateFactory::CreateKeyPersistenceDel + return std::make_unique<WinKeyPersistenceDelegate>(); + #elif BUILDFLAG(IS_MAC) + return std::make_unique<MacKeyPersistenceDelegate>(); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return std::make_unique<LinuxKeyPersistenceDelegate>(); + #else + NOTREACHED(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc new file mode 100644 index 000000000000..2c6ecef19882 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc +@@ -15,7 +15,7 @@ + #include "chrome/browser/profiles/profile.h" + #include "components/policy/core/common/management/management_service.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include "base/check.h" + #include "chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h" + #include "chrome/browser/policy/chrome_browser_policy_connector.h" +@@ -52,7 +52,7 @@ std::unique_ptr<SignalsService> CreateSignalsService( + decorators.push_back( + std::make_unique<ContentSignalsDecorator>(policy_blocklist_service)); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + policy::CloudPolicyStore* store = nullptr; + + // Managed device. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc new file mode 100644 index 000000000000..665a3e698474 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc @@ -0,0 +1,19 @@ +--- chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.cc +@@ -18,14 +18,14 @@ + #include "chrome/common/chrome_paths.h" + #include "components/version_info/version_info.h" + +-#if !BUILDFLAG(IS_FUCHSIA) ++#if !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD) + #include "components/crash/core/app/crashpad.h" + #include "third_party/crashpad/crashpad/client/crash_report_database.h" + #endif // !BUILDFLAG(IS_FUCHSIA) + + namespace enterprise_connectors { + +-#if !BUILDFLAG(IS_FUCHSIA) ++#if !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD) + namespace { + // key names used when building the dictionary to pass to the real-time + // reporting API diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.h b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.h new file mode 100644 index 000000000000..57ef8a068a42 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.h @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.h +@@ -22,7 +22,7 @@ class BrowserCrashEventRouter + BrowserCrashEventRouter& operator=(const BrowserCrashEventRouter&) = delete; + ~BrowserCrashEventRouter() override; + +-#if !BUILDFLAG(IS_FUCHSIA) ++#if !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD) + void OnCloudReportingLaunched( + enterprise_reporting::ReportScheduler* report_scheduler) override; + #endif // !BUILDFLAG(IS_FUCHSIA) +@@ -32,7 +32,7 @@ class BrowserCrashEventRouter + nullptr; + raw_ptr<policy::ChromeBrowserCloudManagementController> controller_ = nullptr; + +-#if !BUILDFLAG(IS_FUCHSIA) ++#if !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD) + // ReportCrashes() checks the enterprise policy settings, retrieves crash + // reports from the crashpad local database and sends reports that have not + // been sent to the reporting server. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc new file mode 100644 index 000000000000..befa961669e7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/remote_commands/cbcm_remote_commands_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/remote_commands/cbcm_remote_commands_factory.cc +@@ -11,7 +11,7 @@ + #include "chrome/browser/profiles/profile_manager.h" + #include "components/policy/core/common/remote_commands/remote_command_job.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/connectors/device_trust/device_trust_features.h" + #include "chrome/browser/enterprise/remote_commands/rotate_attestation_credential_job.h" + #include "chrome/browser/policy/chrome_browser_policy_connector.h" +@@ -31,7 +31,7 @@ CBCMRemoteCommandsFactory::BuildJobForType( + g_browser_process->profile_manager()); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (enterprise_connectors::IsDeviceTrustConnectorFeatureEnabled() && + type == enterprise_management:: + RemoteCommand_Type_BROWSER_ROTATE_ATTESTATION_CREDENTIAL) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc new file mode 100644 index 000000000000..5c44c95d0aa1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/signals/device_info_fetcher.cc +@@ -10,7 +10,7 @@ + #include "chrome/browser/enterprise/signals/device_info_fetcher_mac.h" + #elif BUILDFLAG(IS_WIN) + #include "chrome/browser/enterprise/signals/device_info_fetcher_win.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/signals/device_info_fetcher_linux.h" + #endif + +@@ -70,7 +70,7 @@ std::unique_ptr<DeviceInfoFetcher> DeviceInfoFetcher:: + return std::make_unique<DeviceInfoFetcherMac>(); + #elif BUILDFLAG(IS_WIN) + return std::make_unique<DeviceInfoFetcherWin>(); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return std::make_unique<DeviceInfoFetcherLinux>(); + #else + return std::make_unique<StubDeviceFetcher>(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc new file mode 100644 index 000000000000..4c9ab2df1689 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc @@ -0,0 +1,78 @@ +--- chrome/browser/enterprise/signals/device_info_fetcher_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/enterprise/signals/device_info_fetcher_linux.cc +@@ -4,12 +4,23 @@ + + #include "chrome/browser/enterprise/signals/device_info_fetcher_linux.h" + ++#include "build/build_config.h" ++ + #if defined(USE_GIO) + #include <gio/gio.h> + #endif // defined(USE_GIO) + #include <sys/stat.h> ++#if !defined(OS_BSD) + #include <sys/sysmacros.h> ++#endif + ++#if defined(OS_BSD) ++#include <sys/types.h> ++#include <sys/socket.h> ++#include <ifaddrs.h> ++#include <net/if_dl.h> ++#endif ++ + #include <string> + + #include "base/environment.h" +@@ -118,6 +129,7 @@ SettingValue GetScreenlockSecured() { + // Implements the logic from the native host installation script. First find the + // root device identifier, then locate its parent and get its type. + SettingValue GetDiskEncrypted() { ++#if !defined(OS_BSD) + struct stat info; + // First figure out the device identifier. Fail fast if this fails. + if (stat("/", &info) != 0) +@@ -139,11 +151,35 @@ SettingValue GetDiskEncrypted() { + } + return SettingValue::UNKNOWN; + } ++#endif + return SettingValue::DISABLED; + } + + std::vector<std::string> GetMacAddresses() { + std::vector<std::string> result; ++#if defined(OS_BSD) ++ struct ifaddrs* ifa = nullptr; ++ ++ if (getifaddrs(&ifa) != 0) ++ return result; ++ ++ struct ifaddrs* interface = ifa; ++ for (; interface != nullptr; interface = interface->ifa_next) { ++ if (interface->ifa_addr == nullptr || ++ interface->ifa_addr->sa_family != AF_LINK) { ++ continue; ++ } ++ struct sockaddr_dl* sdl = ++ reinterpret_cast<struct sockaddr_dl*>(interface->ifa_addr); ++ if (!sdl || sdl->sdl_alen != 6) ++ continue; ++ char* link_address = static_cast<char*>(LLADDR(sdl)); ++ result.push_back(base::StringPrintf( ++ "%02x:%02x:%02x:%02x:%02x:%02x", link_address[0] & 0xff, ++ link_address[1] & 0xff, link_address[2] & 0xff, link_address[3] & 0xff, ++ link_address[4] & 0xff, link_address[5] & 0xff)); ++ } ++#else + base::DirReaderPosix reader("/sys/class/net"); + if (!reader.IsValid()) + return result; +@@ -166,6 +202,7 @@ std::vector<std::string> GetMacAddresses() { + &address); + result.push_back(address); + } ++#endif + return result; + } + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn new file mode 100644 index 000000000000..7006f184460a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_BUILD.gn @@ -0,0 +1,13 @@ +--- chrome/browser/extensions/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/BUILD.gn +@@ -1326,6 +1326,10 @@ static_library("extensions") { + deps += [ "//chrome/services/printing/public/mojom" ] + } + ++ if (is_bsd) { ++ sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ] ++ } ++ + if (enable_service_discovery) { + sources += [ + "api/mdns/mdns_api.cc", diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc new file mode 100644 index 000000000000..a1298a5a5312 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc @@ -0,0 +1,29 @@ +--- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc +@@ -24,7 +24,7 @@ + #include "base/win/registry.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/environment.h" + #include "base/nix/xdg_util.h" + #endif +@@ -256,7 +256,7 @@ base::FilePath GetEndpointVerificationDir() { + bool got_path = false; + #if BUILDFLAG(IS_WIN) + got_path = base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::unique_ptr<base::Environment> env(base::Environment::Create()); + path = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgConfigHomeEnvVar, + base::nix::kDotConfigDir); +@@ -267,7 +267,7 @@ base::FilePath GetEndpointVerificationDir() { + if (!got_path) + return path; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + path = path.AppendASCII("google"); + #else + path = path.AppendASCII("Google"); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc new file mode 100644 index 000000000000..3b4faf05fd29 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.cc +@@ -6,7 +6,7 @@ + + #include "build/build_config.h" + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + #include <memory> + #include <utility> diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h new file mode 100644 index 000000000000..6d34ee964ec0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h +@@ -7,7 +7,7 @@ + + #include "build/build_config.h" + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + #include <vector> + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc new file mode 100644 index 000000000000..caf7ab125f07 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc @@ -0,0 +1,38 @@ +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc +@@ -31,7 +31,7 @@ + #include "components/reporting/util/statusor.h" + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/strings/string_util.h" + #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h" + #include "chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.h" +@@ -111,7 +111,7 @@ api::enterprise_reporting_private::ContextInfo ToConte + return info; + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + device_signals::SignalsAggregationRequest CreateAggregationRequest( + const std::string& user_id, +@@ -171,7 +171,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction:: + + // getPersistentSecret + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + + EnterpriseReportingPrivateGetPersistentSecretFunction:: + EnterpriseReportingPrivateGetPersistentSecretFunction() = default; +@@ -611,7 +611,7 @@ void EnterpriseReportingPrivateEnqueueRecordFunction:: + } + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + // getFileSystemInfo + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h new file mode 100644 index 000000000000..953ec81d8c7b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h @@ -0,0 +1,29 @@ +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h +@@ -19,7 +19,7 @@ + #include "components/reporting/proto/synced/record.pb.h" + #include "components/reporting/proto/synced/record_constants.pb.h" + #include "components/reporting/util/statusor.h" +-#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "components/device_signals/core/browser/signals_types.h" + #endif // BUILDFLAG(IS_CHROMEOS) + +@@ -54,7 +54,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction : + ~EnterpriseReportingPrivateGetDeviceIdFunction() override; + }; + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + + class EnterpriseReportingPrivateGetPersistentSecretFunction + : public ExtensionFunction { +@@ -264,7 +264,7 @@ class EnterpriseReportingPrivateEnqueueRecordFunction + + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + class EnterpriseReportingPrivateGetFileSystemInfoFunction + : public ExtensionFunction { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc new file mode 100644 index 000000000000..1f5d41a35c0b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc +@@ -21,6 +21,7 @@ static base::LazyInstance<scoped_refptr<StorageDeviceL + + void RemovableStorageProvider::GetAllDevices(DeviceListReadyCallback callback) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); ++#if !defined(OS_BSD) + if (g_test_device_list.Get().get() != nullptr) { + base::ThreadTaskRunnerHandle::Get()->PostTask( + FROM_HERE, +@@ -34,6 +35,9 @@ void RemovableStorageProvider::GetAllDevices(DeviceLis + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, + base::BindOnce(&RemovableStorageProvider::PopulateDeviceList), + std::move(callback)); ++#else ++ NOTIMPLEMENTED(); ++#endif + } + + // static diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc new file mode 100644 index 000000000000..e10be280890f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc +@@ -82,7 +82,7 @@ bool NativeProcessLauncher::LaunchNativeProcess( + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Don't use no_new_privs mode, e.g. in case the host needs to use sudo. + options.allow_new_privs = true; + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc new file mode 100644 index 000000000000..985b9f06df86 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/api/settings_private/prefs_util.cc +@@ -186,7 +186,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + (*s_allowlist)[::prefs::kUseCustomChromeFrame] = + settings_api::PrefType::PREF_TYPE_BOOLEAN; + #endif +@@ -200,7 +200,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist + settings_api::PrefType::PREF_TYPE_NUMBER; + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + (*s_allowlist)[::prefs::kUsesSystemTheme] = + settings_api::PrefType::PREF_TYPE_BOOLEAN; + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc new file mode 100644 index 000000000000..562190140f2e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc @@ -0,0 +1,29 @@ +--- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc +@@ -29,7 +29,7 @@ + #include "extensions/browser/process_manager.h" + #include "extensions/common/error_utils.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "extensions/common/permissions/permissions_data.h" + #endif + +@@ -38,7 +38,7 @@ namespace { + bool CanEnableAudioDebugRecordingsFromExtension( + const extensions::Extension* extension) { + bool enabled_by_permissions = false; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (extension) { + enabled_by_permissions = + extension->permissions_data()->active_permissions().HasAPIPermission( +@@ -580,7 +580,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi + + ExtensionFunction::ResponseAction + WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Unlike other WebrtcLoggingPrivate functions that take a RequestInfo object, + // this function shouldn't be called by a component extension on behalf of + // some web code. It returns a DirectoryEntry for use directly in the calling diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc new file mode 100644 index 000000000000..9c6917813337 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/browser_context_keyed_service_factories.cc +@@ -53,7 +53,7 @@ + #include "extensions/browser/api/networking_private/networking_private_delegate_factory.h" + #include "ppapi/buildflags/buildflags.h" + +-#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/extensions/api/system_indicator/system_indicator_manager_factory.h" + #endif + +@@ -121,7 +121,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() + extensions::SettingsPrivateEventRouterFactory::GetInstance(); + extensions::SettingsOverridesAPI::GetFactoryInstance(); + extensions::SidePanelService::GetFactoryInstance(); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + extensions::SystemIndicatorManagerFactory::GetInstance(); + #endif + extensions::TabGroupsEventRouterFactory::GetInstance(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc new file mode 100644 index 000000000000..d8994e293c79 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/external_provider_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/extensions/external_provider_impl.cc +@@ -818,7 +818,7 @@ void ExternalProviderImpl::CreateExternalProviders( + if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + provider_list->push_back(std::make_unique<ExternalProviderImpl>( + service, + base::MakeRefCounted<ExternalPrefLoader>( +@@ -846,7 +846,7 @@ void ExternalProviderImpl::CreateExternalProviders( + bundled_extension_creation_flags)); + + // Define a per-user source of external extensions. +-#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ ++#if BUILDFLAG(IS_MAC) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ + BUILDFLAG(CHROMIUM_BRANDING)) + provider_list->push_back(std::make_unique<ExternalProviderImpl>( + service, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/www/ungoogled-chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc new file mode 100644 index 000000000000..a59faf01c0f6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc @@ -0,0 +1,11 @@ +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc +@@ -252,7 +252,7 @@ const struct { + {base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"), + kDontBlockChildren}, + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Linux also block access to devices via /dev, as well as security + // sensitive data in /sys and /proc. + {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), kBlockAllChildren}, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_first__run_first__run__dialog.h b/www/ungoogled-chromium/files/patch-chrome_browser_first__run_first__run__dialog.h new file mode 100644 index 000000000000..33184acb2312 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_first__run_first__run__dialog.h @@ -0,0 +1,11 @@ +--- chrome/browser/first_run/first_run_dialog.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/first_run/first_run_dialog.h +@@ -12,7 +12,7 @@ + // Hide this function on platforms where the dialog does not exist. + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) + + class Profile; + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_first__run_first__run__internal.h b/www/ungoogled-chromium/files/patch-chrome_browser_first__run_first__run__internal.h new file mode 100644 index 000000000000..4487d16175c3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_first__run_first__run__internal.h @@ -0,0 +1,11 @@ +--- chrome/browser/first_run/first_run_internal.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/first_run/first_run_internal.h +@@ -56,7 +56,7 @@ FirstRunState DetermineFirstRunState(bool has_sentinel + bool force_first_run, + bool no_first_run); + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // For testing, forces the first run dialog to either be shown or not. If not + // called, the decision to show the dialog or not will be made by Chrome based + // on a number of factors (such as install type, whether it's a Chrome-branded diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.cc new file mode 100644 index 000000000000..1cf88fc6ccda --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.cc @@ -0,0 +1,65 @@ +--- chrome/browser/flag_descriptions.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/flag_descriptions.cc +@@ -6230,7 +6230,7 @@ const char kSideSearchDSESupportDescription[] = + // Random platform combinations ----------------------------------------------- + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + const char kQuickCommandsName[] = "Quick Commands"; + const char kQuickCommandsDescription[] = + "Enable a text interface to browser features. Invoke with Ctrl-Space."; +@@ -6239,7 +6239,7 @@ const char kQuickCommandsDescription[] = + // BUILDFLAG(IS_FUCHSIA) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kFollowingFeedSidepanelName[] = "Following feed in the sidepanel"; + const char kFollowingFeedSidepanelDescription[] = + "Enables the following feed in the sidepanel."; +@@ -6253,7 +6253,7 @@ const char kWebShareDescription[] = + "platforms."; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + const char kOzonePlatformHintChoiceDefault[] = "Default"; + const char kOzonePlatformHintChoiceAuto[] = "Auto"; + const char kOzonePlatformHintChoiceX11[] = "X11"; +@@ -6273,7 +6273,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti + "Bluetooth"; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const char kCleanUndecryptablePasswordsLinuxName[] = + "Cleanup local undecryptable passwords during initial sync flow"; + const char kCleanUndecryptablePasswordsLinuxDescription[] = +@@ -6286,7 +6286,7 @@ const char kForcePasswordInitialSyncWhenDecryptionFail + "storage and requests initial sync."; + #endif // BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + const char kSkipUndecryptablePasswordsName[] = + "Skip undecryptable passwords to use the available decryptable " + "passwords."; +@@ -6295,7 +6295,7 @@ const char kSkipUndecryptablePasswordsDescription[] = + "there are undecryptable ones."; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const char kAsyncDnsName[] = "Async DNS resolver"; + const char kAsyncDnsDescription[] = "Enables the built-in DNS resolver."; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +@@ -6400,7 +6400,7 @@ const char kElasticOverscrollDescription[] = + + #if BUILDFLAG(IS_WIN) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + const char kUIDebugToolsName[] = "Debugging tools for UI"; + const char kUIDebugToolsDescription[] = + "Enables additional keyboard shortcuts to help debugging."; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h new file mode 100644 index 000000000000..8fd516555478 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_flag__descriptions.h @@ -0,0 +1,51 @@ +--- chrome/browser/flag_descriptions.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/flag_descriptions.h +@@ -3577,7 +3577,7 @@ extern const char kSideSearchDSESupportDescription[]; + // Random platform combinations ----------------------------------------------- + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + extern const char kQuickCommandsName[]; + extern const char kQuickCommandsDescription[]; + +@@ -3594,7 +3594,7 @@ extern const char kWebBluetoothConfirmPairingSupportNa + extern const char kWebBluetoothConfirmPairingSupportDescription[]; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const char kOzonePlatformHintChoiceDefault[]; + extern const char kOzonePlatformHintChoiceAuto[]; + extern const char kOzonePlatformHintChoiceX11[]; +@@ -3610,18 +3610,18 @@ extern const char kForcePasswordInitialSyncWhenDecrypt + extern const char kForcePasswordInitialSyncWhenDecryptionFailsDescription[]; + #endif // BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + extern const char kSkipUndecryptablePasswordsName[]; + extern const char kSkipUndecryptablePasswordsDescription[]; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const char kAsyncDnsName[]; + extern const char kAsyncDnsDescription[]; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kFollowingFeedSidepanelName[]; + extern const char kFollowingFeedSidepanelDescription[]; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || +@@ -3698,7 +3698,7 @@ extern const char kElasticOverscrollDescription[]; + + #if BUILDFLAG(IS_WIN) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + extern const char kUIDebugToolsName[]; + extern const char kUIDebugToolsDescription[]; + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__util.cc new file mode 100644 index 000000000000..3437f21bd003 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_headless_headless__mode__util.cc @@ -0,0 +1,29 @@ +--- chrome/browser/headless/headless_mode_util.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/headless/headless_mode_util.cc +@@ -9,7 +9,7 @@ + // Native headless is currently available on Linux, Windows and Mac platforms. + // More platforms will be added later, so avoid function level clutter by + // providing stub implementations at the end of the file. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + + #include <cstdlib> + #include <vector> +@@ -17,7 +17,7 @@ + #include "base/base_switches.h" + #include "ui/gfx/switches.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/ozone/public/ozone_switches.h" + #endif // BUILDFLAG(IS_LINUX) + +@@ -51,7 +51,7 @@ void SetUpCommandLine(const base::CommandLine* command + base::CommandLine::ForCurrentProcess()->AppendSwitch( + ::switches::kNoErrorDialogs); + } +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Native headless chrome on Linux relies on ozone/headless platform. + base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( + ::switches::kOzonePlatform, switches::kHeadless); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_intranet__redirect__detector.h b/www/ungoogled-chromium/files/patch-chrome_browser_intranet__redirect__detector.h new file mode 100644 index 000000000000..7777bae4ded8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_intranet__redirect__detector.h @@ -0,0 +1,11 @@ +--- chrome/browser/intranet_redirect_detector.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/intranet_redirect_detector.h +@@ -27,7 +27,7 @@ class SimpleURLLoader; + class PrefRegistrySimple; + + #if !(BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA)) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)) + #error "IntranetRedirectDetector should only be built on Desktop platforms." + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc new file mode 100644 index 000000000000..f88898ead8e0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc @@ -0,0 +1,15 @@ +--- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc +@@ -39,10 +39,12 @@ void MTPDeviceMapService::RegisterMTPFileSystem( + // Note that this initializes the delegate asynchronously, but since + // the delegate will only be used from the IO thread, it is guaranteed + // to be created before use of it expects it to be there. ++#if !defined(OS_BSD) + CreateMTPDeviceAsyncDelegate( + device_location, read_only, + base::BindOnce(&MTPDeviceMapService::AddAsyncDelegate, + base::Unretained(this), device_location, read_only)); ++#endif + mtp_device_usage_map_[key] = 0; + } + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc new file mode 100644 index 000000000000..db950777debd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc @@ -0,0 +1,16 @@ +--- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/media_galleries/media_file_system_registry.cc +@@ -744,7 +744,12 @@ class MediaFileSystemRegistry::MediaFileSystemContextI + // Constructor in 'private' section because depends on private class definition. + MediaFileSystemRegistry::MediaFileSystemRegistry() + : file_system_context_(new MediaFileSystemContextImpl) { +- StorageMonitor::GetInstance()->AddObserver(this); ++ /* ++ * This conditional is needed for shutdown. Destructors ++ * try to get the media file system registry. ++ */ ++ if (StorageMonitor::GetInstance()) ++ StorageMonitor::GetInstance()->AddObserver(this); + } + + MediaFileSystemRegistry::~MediaFileSystemRegistry() { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_audio__service__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_audio__service__util.cc new file mode 100644 index 000000000000..786ac1a87954 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_audio__service__util.cc @@ -0,0 +1,20 @@ +--- chrome/browser/media/audio_service_util.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/media/audio_service_util.cc +@@ -21,7 +21,7 @@ + + namespace { + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + bool GetPolicyOrFeature(const char* policy_name, const base::Feature& feature) { + const policy::PolicyMap& policies = +@@ -40,7 +40,7 @@ bool GetPolicyOrFeature(const char* policy_name, const + bool IsAudioServiceSandboxEnabled() { + // TODO(crbug.com/1052397): Remove !IS_CHROMEOS_LACROS once lacros starts being + // built with OS_CHROMEOS instead of OS_LINUX. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + return GetPolicyOrFeature(policy::key::kAudioSandboxEnabled, + features::kAudioServiceSandbox); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn b/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn new file mode 100644 index 000000000000..2a16d5cf5706 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn @@ -0,0 +1,11 @@ +--- chrome/browser/media/router/discovery/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/media/router/discovery/BUILD.gn +@@ -79,7 +79,7 @@ static_library("discovery") { + "media_sink_discovery_metrics.h", + ] + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ "discovery_network_list_wifi_linux.cc" ] + } + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc new file mode 100644 index 000000000000..60e13f141bbb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc @@ -0,0 +1,48 @@ +--- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/media/router/discovery/discovery_network_list_posix.cc +@@ -5,11 +5,12 @@ + #include "chrome/browser/media/router/discovery/discovery_network_list.h" + + #include <ifaddrs.h> ++#include <sys/socket.h> ++#include <sys/types.h> ++#include <sys/time.h> + #include <net/if.h> + #include <net/if_arp.h> + #include <netinet/in.h> +-#include <sys/socket.h> +-#include <sys/types.h> + + #include <algorithm> + +@@ -18,7 +19,7 @@ + #include "chrome/browser/media/router/discovery/discovery_network_list_wifi.h" + #include "net/base/net_errors.h" + +-#if !BUILDFLAG(IS_MAC) ++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + #include <netpacket/packet.h> + #else + #include <net/if_dl.h> +@@ -27,7 +28,7 @@ + namespace media_router { + namespace { + +-#if !BUILDFLAG(IS_MAC) ++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + using sll = struct sockaddr_ll; + #define SOCKET_ARP_TYPE(s) ((s)->sll_hatype) + #define SOCKET_ADDRESS_LEN(s) ((s)->sll_halen) +@@ -38,6 +39,12 @@ using sll = struct sockaddr_dl; + #define SOCKET_ARP_TYPE(s) ((s)->sdl_type) + #define SOCKET_ADDRESS_LEN(s) ((s)->sdl_alen) + #define SOCKET_ADDRESS(s) (LLADDR(s)) ++#endif ++ ++#if BUILDFLAG(IS_BSD) ++bool MaybeGetWifiSSID(const std::string& if_name, std::string* ssid_out) { ++ return false; ++} + #endif + + void GetDiscoveryNetworkInfoListImpl( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc new file mode 100644 index 000000000000..5d728a5f210b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc @@ -0,0 +1,30 @@ +--- chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc +@@ -9,7 +9,11 @@ + #include <sys/socket.h> + #include <sys/types.h> + ++#include "build/build_config.h" ++ ++#if !defined(OS_BSD) + #include <linux/wireless.h> ++#endif + + #include "base/check.h" + #include "base/files/scoped_file.h" +@@ -20,6 +24,7 @@ namespace media_router { + bool MaybeGetWifiSSID(const std::string& if_name, std::string* ssid_out) { + DCHECK(ssid_out); + ++#if !defined(OS_BSD) + base::ScopedFD ioctl_socket(socket(AF_INET, SOCK_DGRAM, 0)); + if (!ioctl_socket.is_valid()) { + // AF_INET is for IPv4, so it may fail for IPv6-only hosts even when there +@@ -41,6 +46,7 @@ bool MaybeGetWifiSSID(const std::string& if_name, std: + ssid_out->assign(ssid); + return true; + } ++#endif + return false; + } + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc new file mode 100644 index 000000000000..aed7b870e278 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc @@ -0,0 +1,11 @@ +--- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc +@@ -40,7 +40,7 @@ const char kProduct[] = "Chrome"; + const char kProduct[] = "Chrome_Mac"; + #elif BUILDFLAG(IS_CHROMEOS_ASH) + const char kProduct[] = "Chrome_ChromeOS"; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + const char kProduct[] = "Chrome_Linux"; + #elif BUILDFLAG(IS_ANDROID) + const char kProduct[] = "Chrome_Android"; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc new file mode 100644 index 000000000000..97aab9b5cb52 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc @@ -0,0 +1,13 @@ +--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/media/webrtc/webrtc_log_uploader.cc +@@ -281,6 +281,10 @@ void WebRtcLogUploader::SetupMultipart( + const char product[] = "Chrome_ChromeOS"; + #elif BUILDFLAG(IS_FUCHSIA) + const char product[] = "Chrome_Fuchsia"; ++#elif defined(OS_OPENBSD) ++ const char product[] = "Chrome_OpenBSD"; ++#elif defined(OS_FREEBSD) ++ const char product[] = "Chrome_FreeBSD"; + #else + #error Platform not supported. + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc new file mode 100644 index 000000000000..6afca51d3c32 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc @@ -0,0 +1,33 @@ +--- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/media/webrtc/webrtc_logging_controller.cc +@@ -24,10 +24,10 @@ + #include "content/public/browser/browser_context.h" + #include "content/public/browser/render_process_host.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/public/browser/child_process_security_policy.h" + #include "storage/browser/file_system/isolated_context.h" +-#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + using webrtc_event_logging::WebRtcEventLogManager; + +@@ -281,7 +281,7 @@ void WebRtcLoggingController::StartEventLogging( + web_app_id, callback); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void WebRtcLoggingController::GetLogsDirectory( + LogsDirectoryCallback callback, + LogsDirectoryErrorCallback error_callback) { +@@ -327,7 +327,7 @@ void WebRtcLoggingController::GrantLogsDirectoryAccess + FROM_HERE, + base::BindOnce(std::move(callback), file_system.id(), registered_name)); + } +-#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + void WebRtcLoggingController::OnRtpPacket( + std::unique_ptr<uint8_t[]> packet_header, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h new file mode 100644 index 000000000000..d8cde46077bf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h @@ -0,0 +1,20 @@ +--- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/media/webrtc/webrtc_logging_controller.h +@@ -132,7 +132,7 @@ class WebRtcLoggingController + size_t web_app_id, + const StartEventLoggingCallback& callback); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Ensures that the WebRTC Logs directory exists and then grants render + // process access to the 'WebRTC Logs' directory, and invokes |callback| with + // the ids necessary to create a DirectoryEntry object. +@@ -191,7 +191,7 @@ class WebRtcLoggingController + bool success, + const std::string& error_message); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Grants the render process access to the 'WebRTC Logs' directory, and + // invokes |callback| with the ids necessary to create a DirectoryEntry + // object. If the |logs_path| couldn't be created or found, |error_callback| diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_memory__details.cc b/www/ungoogled-chromium/files/patch-chrome_browser_memory__details.cc new file mode 100644 index 000000000000..f331ea41994c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_memory__details.cc @@ -0,0 +1,20 @@ +--- chrome/browser/memory_details.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/memory_details.cc +@@ -38,7 +38,7 @@ + #include "services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.h" + #include "ui/base/l10n/l10n_util.h" + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) + #include "content/public/browser/zygote_host/zygote_host_linux.h" + #endif + +@@ -329,7 +329,7 @@ void MemoryDetails::CollectChildInfoOnUIThread() { + std::ref(process))); + } + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) + if (content::ZygoteHost::GetInstance()->IsZygotePid(process.pid)) { + process.process_type = content::PROCESS_TYPE_ZYGOTE; + } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_memory__details__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_memory__details__linux.cc new file mode 100644 index 000000000000..2407374d17a0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_memory__details__linux.cc @@ -0,0 +1,37 @@ +--- chrome/browser/memory_details_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/memory_details_linux.cc +@@ -13,6 +13,7 @@ + #include <set> + + #include "base/bind.h" ++#include "base/command_line.h" + #include "base/files/file_util.h" + #include "base/process/process_iterator.h" + #include "base/process/process_metrics.h" +@@ -27,6 +28,7 @@ + #include "content/public/browser/browser_task_traits.h" + #include "content/public/browser/browser_thread.h" + #include "content/public/common/process_type.h" ++#include "sandbox/policy/switches.h" + #include "ui/base/l10n/l10n_util.h" + + using base::ProcessEntry; +@@ -70,9 +72,18 @@ ProcessData GetProcessDataMemoryInformation( + + std::unique_ptr<base::ProcessMetrics> metrics( + base::ProcessMetrics::CreateProcessMetrics(pid)); ++ ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ if (!command_line->HasSwitch(sandbox::policy::switches::kNoSandbox)) { ++ pmi.num_open_fds = 0; ++ pmi.open_fds_soft_limit = 0; ++ goto out; ++ } ++ + pmi.num_open_fds = metrics->GetOpenFdCount(); + pmi.open_fds_soft_limit = metrics->GetOpenFdSoftLimit(); + ++out: + process_data.processes.push_back(pmi); + } + return process_data; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc new file mode 100644 index 000000000000..4c2a29c79a71 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc @@ -0,0 +1,23 @@ +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc +@@ -58,8 +58,10 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) ++#if !BUILDFLAG(IS_BSD) + #include <gnu/libc-version.h> ++#endif + + #include "base/linux_util.h" + #include "base/strings/string_split.h" +@@ -516,7 +518,7 @@ void RecordStartupMetrics() { + + // Record whether Chrome is the default browser or not. + // Disabled on Linux due to hanging browser tests, see crbug.com/1216328. +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + shell_integration::DefaultWebClientState default_state = + shell_integration::GetDefaultBrowser(); + base::UmaHistogramEnumeration("DefaultBrowser.State", default_state, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc new file mode 100644 index 000000000000..fa7b5da305e6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc @@ -0,0 +1,47 @@ +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/metrics/chrome_metrics_service_client.cc +@@ -174,7 +174,7 @@ + #include "chrome/notification_helper/notification_helper_constants.h" + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "components/metrics/motherboard_metrics_provider.h" + #endif + +@@ -721,7 +721,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic + metrics_service_->RegisterMetricsProvider( + std::make_unique<metrics::CPUMetricsProvider>()); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + metrics_service_->RegisterMetricsProvider( + std::make_unique<metrics::MotherboardMetricsProvider>()); + #endif +@@ -798,7 +798,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + metrics_service_->RegisterMetricsProvider( + std::make_unique<DesktopPlatformFeaturesMetricsProvider>()); +@@ -887,7 +887,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic + std::make_unique<PowerMetricsProvider>()); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + metrics_service_->RegisterMetricsProvider( + metrics::CreateDesktopSessionMetricsProvider()); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) +@@ -1070,7 +1070,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve + #endif + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + // This creates the DesktopProfileSessionDurationsServices if it didn't exist + // already. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc new file mode 100644 index 000000000000..cd82738dac34 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc @@ -0,0 +1,11 @@ +--- chrome/browser/metrics/perf/cpu_identity.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/metrics/perf/cpu_identity.cc +@@ -106,7 +106,7 @@ CPUIdentity GetCPUIdentity() { + result.release = + #if BUILDFLAG(IS_CHROMEOS_ASH) + base::SysInfo::KernelVersion(); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + base::SysInfo::OperatingSystemVersion(); + #else + #error "Unsupported configuration" diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc new file mode 100644 index 000000000000..ef175527ea26 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc @@ -0,0 +1,11 @@ +--- chrome/browser/metrics/power/process_metrics_recorder_util.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/metrics/power/process_metrics_recorder_util.cc +@@ -59,7 +59,7 @@ void RecordProcessHistograms(const char* histogram_suf + const ProcessMonitor::Metrics& metrics) { + RecordAverageCPUUsage(histogram_suffix, metrics.cpu_usage); + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + base::UmaHistogramCounts10000( + base::StrCat({"PerformanceMonitor.IdleWakeups2.", histogram_suffix}), + metrics.idle_wakeups); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc new file mode 100644 index 000000000000..d076f7e13161 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.cc @@ -0,0 +1,29 @@ +--- chrome/browser/metrics/power/process_monitor.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/metrics/power/process_monitor.cc +@@ -64,7 +64,7 @@ ProcessMonitor::Metrics SampleMetrics(base::ProcessMet + #endif + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + metrics.idle_wakeups = process_metrics.GetIdleWakeupsPerSecond(); + #endif + #if BUILDFLAG(IS_MAC) +@@ -81,7 +81,7 @@ void ScaleMetrics(ProcessMonitor::Metrics* metrics, do + metrics->cpu_usage *= factor; + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + metrics->idle_wakeups *= factor; + #endif + +@@ -130,7 +130,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me + lhs.cpu_usage += rhs.cpu_usage; + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + lhs.idle_wakeups += rhs.idle_wakeups; + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.h b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.h new file mode 100644 index 000000000000..96d4b1b9418e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_metrics_power_process__monitor.h @@ -0,0 +1,11 @@ +--- chrome/browser/metrics/power/process_monitor.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/metrics/power/process_monitor.h +@@ -70,7 +70,7 @@ class ProcessMonitor : public content::BrowserChildPro + double cpu_usage = 0.0; + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + // Returns the number of average idle cpu wakeups per second since the last + // time the metric was sampled. + int idle_wakeups = 0; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_net_system__network__context__manager.cc new file mode 100644 index 000000000000..0c360e4c3d4c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_net_system__network__context__manager.cc @@ -0,0 +1,38 @@ +--- chrome/browser/net/system_network_context_manager.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/net/system_network_context_manager.cc +@@ -91,7 +91,7 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include "chrome/common/chrome_paths_internal.h" + #include "chrome/grit/chromium_strings.h" + #include "ui/base/l10n/l10n_util.h" +@@ -173,7 +173,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut + auth_dynamic_params->basic_over_http_enabled = + local_state->GetBoolean(prefs::kBasicAuthOverHttpEnabled); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + auth_dynamic_params->delegate_by_kdc_policy = + local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +@@ -484,7 +484,7 @@ SystemNetworkContextManager::SystemNetworkContextManag + pref_change_registrar_.Add(prefs::kAllHttpAuthSchemesAllowedForOrigins, + auth_pref_callback); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy, + auth_pref_callback); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +@@ -556,7 +556,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe + registry->RegisterBooleanPref(prefs::kKerberosEnabled, false); + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy, + false); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc new file mode 100644 index 000000000000..1ba6c43090e5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc @@ -0,0 +1,11 @@ +--- chrome/browser/new_tab_page/modules/drive/drive_service.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/new_tab_page/modules/drive/drive_service.cc +@@ -28,7 +28,7 @@ + #include "services/network/public/cpp/resource_request.h" + + namespace { +-#if OS_LINUX ++#if defined(OS_LINUX) || defined(OS_BSD) + constexpr char kPlatform[] = "LINUX"; + #elif OS_WIN + constexpr char kPlatform[] = "WINDOWS"; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc new file mode 100644 index 000000000000..39e2e271b1f4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc @@ -0,0 +1,11 @@ +--- chrome/browser/new_tab_page/new_tab_page_util.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/new_tab_page/new_tab_page_util.cc +@@ -11,7 +11,7 @@ + + namespace { + bool IsOsSupportedForRecipe() { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return true; + #else + return false; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc new file mode 100644 index 000000000000..8787c1699a3e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc @@ -0,0 +1,29 @@ +--- chrome/browser/notifications/notification_display_service_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/notifications/notification_display_service_impl.cc +@@ -32,7 +32,7 @@ + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" + #include "chrome/browser/sharing/sharing_notification_handler.h" + #endif +@@ -65,7 +65,7 @@ NotificationDisplayServiceImpl* NotificationDisplaySer + // static + void NotificationDisplayServiceImpl::RegisterProfilePrefs( + user_prefs::PrefRegistrySyncable* registry) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kAllowSystemNotifications, true); + #endif + } +@@ -81,7 +81,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer + std::make_unique<PersistentNotificationHandler>()); + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + AddNotificationHandler( + NotificationHandler::Type::SEND_TAB_TO_SELF, + std::make_unique<send_tab_to_self::DesktopNotificationHandler>( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc b/www/ungoogled-chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc new file mode 100644 index 000000000000..b07d1a108822 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc @@ -0,0 +1,11 @@ +--- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/notifications/notification_platform_bridge_delegator.cc +@@ -57,7 +57,7 @@ bool SystemNotificationsEnabled(Profile* profile) { + #elif BUILDFLAG(IS_WIN) + return NotificationPlatformBridgeWin::SystemNotificationEnabled(); + #else +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (profile) { + // Prefs take precedence over flags. + PrefService* prefs = profile->GetPrefs(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc new file mode 100644 index 000000000000..41d9b18fc551 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc @@ -0,0 +1,11 @@ +--- chrome/browser/password_manager/password_reuse_manager_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/password_manager/password_reuse_manager_factory.cc +@@ -92,7 +92,7 @@ KeyedService* PasswordReuseManagerFactory::BuildServic + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + std::unique_ptr<password_manager::PasswordStoreSigninNotifier> notifier = + std::make_unique<password_manager::PasswordStoreSigninNotifierImpl>( + IdentityManagerFactory::GetForProfile(profile)); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_platform__util__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_platform__util__linux.cc new file mode 100644 index 000000000000..80fab6b84cb5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_platform__util__linux.cc @@ -0,0 +1,12 @@ +--- chrome/browser/platform_util_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/platform_util_linux.cc +@@ -295,7 +295,9 @@ void RunCommand(const std::string& command, + + base::LaunchOptions options; + options.current_directory = working_directory; ++#if !defined(OS_BSD) + options.allow_new_privs = true; ++#endif + // xdg-open can fall back on mailcap which eventually might plumb through + // to a command that needs a terminal. Set the environment variable telling + // it that we definitely don't have a terminal available and that it should diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc new file mode 100644 index 000000000000..734a5d051386 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc @@ -0,0 +1,11 @@ +--- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/policy/browser_signin_policy_handler.cc +@@ -43,7 +43,7 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(c + policies.GetValue(policy_name(), base::Value::Type::INTEGER); + switch (static_cast<BrowserSigninMode>(value->GetInt())) { + case BrowserSigninMode::kForced: +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + prefs->SetValue(prefs::kForceBrowserSignin, base::Value(true)); + #endif + [[fallthrough]]; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc b/www/ungoogled-chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc new file mode 100644 index 000000000000..85259f1d457c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc @@ -0,0 +1,38 @@ +--- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc +@@ -47,7 +47,7 @@ + #include "chrome/browser/policy/browser_dm_token_storage_mac.h" + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/policy/browser_dm_token_storage_linux.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -56,7 +56,7 @@ + #include "chrome/install_static/install_util.h" + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/connectors/device_trust/device_trust_features.h" + #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/device_trust_key_manager_impl.h" + #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/key_rotation_launcher.h" +@@ -89,7 +89,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: + + #if BUILDFLAG(IS_MAC) + storage_delegate = std::make_unique<BrowserDMTokenStorageMac>(); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + storage_delegate = std::make_unique<BrowserDMTokenStorageLinux>(); + #elif BUILDFLAG(IS_WIN) + storage_delegate = std::make_unique<BrowserDMTokenStorageWin>(); +@@ -244,7 +244,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC + + std::unique_ptr<enterprise_connectors::DeviceTrustKeyManager> + ChromeBrowserCloudManagementControllerDesktop::CreateDeviceTrustKeyManager() { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (enterprise_connectors::IsDeviceTrustConnectorFeatureEnabled()) { + auto key_rotation_launcher = + enterprise_connectors::KeyRotationLauncher::Create( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc new file mode 100644 index 000000000000..c222fd8d6787 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc @@ -0,0 +1,120 @@ +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/policy/configuration_policy_handler_list_factory.cc +@@ -187,12 +187,12 @@ + #include "components/spellcheck/browser/pref_names.h" + #endif // BUILDFLAG(ENABLE_SPELLCHECK) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "components/device_signals/core/browser/pref_names.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "chrome/browser/web_applications/policy/web_app_settings_policy_handler.h" + #endif + +@@ -699,7 +699,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + prefs::kManagedDefaultGeolocationSetting, + base::Value::Type::INTEGER }, + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) \ +- || BUILDFLAG(IS_FUCHSIA) ++ || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + { key::kRequireOnlineRevocationChecksForLocalAnchors, + prefs::kCertRevocationCheckingRequiredLocalAnchors, + base::Value::Type::BOOLEAN }, +@@ -1304,7 +1304,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + base::Value::Type::BOOLEAN }, + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { key::kGSSAPILibraryName, + prefs::kGSSAPILibraryName, + base::Value::Type::STRING }, +@@ -1374,18 +1374,18 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + prefs::kTotalMemoryLimitMb, + base::Value::Type::INTEGER }, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { key::kBackgroundModeEnabled, + prefs::kBackgroundModeEnabled, + base::Value::Type::BOOLEAN }, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { key::kUnmanagedDeviceSignalsConsentFlowEnabled, + device_signals::prefs::kUnmanagedDeviceSignalsConsentFlowEnabled, + base::Value::Type::BOOLEAN }, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) \ +- || BUILDFLAG(IS_FUCHSIA) ++ || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + { key::kDefaultBrowserSettingEnabled, + prefs::kDefaultBrowserSettingEnabled, + base::Value::Type::BOOLEAN }, +@@ -1398,7 +1398,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + // || BUILDFLAG(IS_FUCHSIA) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) \ +- || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + { key::kAutoplayAllowed, + prefs::kAutoplayAllowed, + base::Value::Type::BOOLEAN }, +@@ -1580,7 +1580,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + base::Value::Type::BOOLEAN }, + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + { key::kAuthNegotiateDelegateByKdcPolicy, + prefs::kAuthNegotiateDelegateByKdcPolicy, + base::Value::Type::BOOLEAN }, +@@ -1639,7 +1639,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + + #if BUILDFLAG(ENABLE_EXTENSIONS) && (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) \ +- || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)) ++ || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)) || BUILDFLAG(IS_BSD) + { key::kChromeAppsEnabled, + extensions::pref_names::kChromeAppsEnabled, + base::Value::Type::BOOLEAN }, +@@ -1963,7 +1963,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + key::kBrowsingDataLifetime, browsing_data::prefs::kBrowsingDataLifetime, + chrome_schema)); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + handlers->AddHandler(std::make_unique<LocalSyncPolicyHandler>()); + handlers->AddHandler(std::make_unique<ThemeColorPolicyHandler>()); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +@@ -2307,7 +2307,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + chrome_schema)); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + handlers->AddHandler( + std::make_unique<web_app::WebAppSettingsPolicyHandler>(chrome_schema)); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || +@@ -2320,7 +2320,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + #endif + + #if BUILDFLAG(ENABLE_SPELLCHECK) +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + handlers->AddHandler(std::make_unique<SpellcheckLanguagePolicyHandler>()); + handlers->AddHandler( + std::make_unique<SpellcheckLanguageBlocklistPolicyHandler>( +@@ -2328,7 +2328,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) + #endif // BUILDFLAG(ENABLE_SPELLCHECK) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + handlers->AddHandler(std::make_unique<SimplePolicyHandler>( + key::kAllowSystemNotifications, prefs::kAllowSystemNotifications, + base::Value::Type::BOOLEAN)); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc b/www/ungoogled-chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc new file mode 100644 index 000000000000..cb361c1c571f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc @@ -0,0 +1,20 @@ +--- chrome/browser/policy/device_management_service_configuration.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/policy/device_management_service_configuration.cc +@@ -21,7 +21,7 @@ + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +- !BUILDFLAG(IS_ANDROID)) ++ !BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/connectors/common.h" + #include "chrome/browser/enterprise/connectors/connectors_service.h" + #endif +@@ -100,7 +100,7 @@ DeviceManagementServiceConfiguration::GetReportingConn + content::BrowserContext* context) const { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +- !BUILDFLAG(IS_ANDROID)) ++ !BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD) + auto* service = + enterprise_connectors::ConnectorsServiceFactory::GetForBrowserContext( + context); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc new file mode 100644 index 000000000000..457d9b4c6aef --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -0,0 +1,44 @@ +--- chrome/browser/prefs/browser_prefs.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/prefs/browser_prefs.cc +@@ -437,14 +437,14 @@ + #include "components/os_crypt/os_crypt.h" + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/web_applications/url_handler_prefs.h" + #include "components/device_signals/core/browser/pref_names.h" + #endif + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" + #endif +@@ -1211,7 +1211,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) + #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + web_app::url_handler_prefs::RegisterLocalStatePrefs(registry); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + +@@ -1525,13 +1525,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync + safe_browsing::PostCleanupSettingsResetter::RegisterProfilePrefs(registry); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + device_signals::RegisterProfilePrefs(registry); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc new file mode 100644 index 000000000000..b51d1e1f3e1e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc @@ -0,0 +1,11 @@ +--- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/prefs/pref_service_incognito_allowlist.cc +@@ -138,7 +138,7 @@ const char* const kPersistentPrefNames[] = { + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Toggleing custom frames affects all open windows in the profile, hence + // should be written to the regular profile when changed in incognito mode. + prefs::kUseCustomChromeFrame, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc new file mode 100644 index 000000000000..a1ebf697be3f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__backend__service__manager.cc @@ -0,0 +1,29 @@ +--- chrome/browser/printing/print_backend_service_manager.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/printing/print_backend_service_manager.cc +@@ -481,7 +481,7 @@ absl::optional<uint32_t> PrintBackendServiceManager::R + query_clients_.insert(client_id); + break; + case ClientType::kQueryWithUi: +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + if (!query_with_ui_clients_.empty()) + return absl::nullopt; + #endif +@@ -706,7 +706,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate + break; + + case ClientType::kQueryWithUi: +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // No need to update if there were other query with UI clients. + if (query_with_ui_clients_.size() > 1) + return absl::nullopt; +@@ -763,7 +763,7 @@ PrintBackendServiceManager::DetermineIdleTimeoutUpdate + return kNoClientsRegisteredResetOnIdleTimeout; + + case ClientType::kQueryWithUi: +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // No need to update if there were other query with UI clients. + if (!query_with_ui_clients_.empty()) + return absl::nullopt; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__job__worker.cc b/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__job__worker.cc new file mode 100644 index 000000000000..b2c44c8923bc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_printing_print__job__worker.cc @@ -0,0 +1,11 @@ +--- chrome/browser/printing/print_job_worker.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/printing/print_job_worker.cc +@@ -195,7 +195,7 @@ void PrintJobWorker::SetSettings(base::Value::Dict new + crash_key = std::make_unique<crash_keys::ScopedPrinterInfo>( + print_backend->GetPrinterDriverInfo(printer_name)); + +-#if BUILDFLAG(IS_LINUX) && defined(USE_CUPS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_CUPS) + PrinterBasicInfo basic_info; + if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) == + mojom::ResultCode::kSuccess) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_process__singleton__posix.cc b/www/ungoogled-chromium/files/patch-chrome_browser_process__singleton__posix.cc new file mode 100644 index 000000000000..eefe28c1247a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_process__singleton__posix.cc @@ -0,0 +1,20 @@ +--- chrome/browser/process_singleton_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/process_singleton_posix.cc +@@ -97,7 +97,7 @@ + #include "net/base/network_interfaces.h" + #include "ui/base/l10n/l10n_util.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/process_singleton_dialog_linux.h" + #endif + +@@ -351,7 +351,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo + if (g_disable_prompt) + return g_user_opted_unlock_in_use_profile; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::u16string relaunch_button_text = + l10n_util::GetStringUTF16(IDS_PROFILE_IN_USE_LINUX_RELAUNCH); + return ShowProcessSingletonDialog(error, relaunch_button_text); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc new file mode 100644 index 000000000000..6d299d7ad4ef --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc @@ -0,0 +1,25 @@ +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +@@ -255,7 +255,7 @@ + #include "chrome/browser/ui/cocoa/screentime/screentime_features.h" + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/idle/idle_service_factory.h" + #endif + +@@ -435,11 +435,11 @@ void ChromeBrowserMainExtraPartsProfiles:: + #endif + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance(); + #endif +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + enterprise_idle::IdleServiceFactory::GetInstance(); + #endif + ModelTypeStoreServiceFactory::GetInstance(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc new file mode 100644 index 000000000000..3c4c1c3c9f30 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profile__impl.cc @@ -0,0 +1,31 @@ +--- chrome/browser/profiles/profile_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/profiles/profile_impl.cc +@@ -259,6 +259,10 @@ + #include "chrome/browser/spellchecker/spellcheck_service.h" + #endif + ++#if BUILDFLAG(IS_OPENBSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#endif ++ + using bookmarks::BookmarkModel; + using content::BrowserThread; + using content::DownloadManagerDelegate; +@@ -838,7 +842,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) + } + + base::FilePath ProfileImpl::last_selected_directory() { ++#if BUILDFLAG(IS_OPENBSD) ++ // If unveil(2) is used, force the file dialog directory to something we ++ // know is available. ++ auto* sandbox = sandbox::policy::SandboxLinux::GetInstance(); ++ if (sandbox->unveil_initialized()) ++ return GetPrefs()->GetFilePath(prefs::kDownloadDefaultDirectory); ++ else ++ return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); ++#else + return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); ++#endif + } + + void ProfileImpl::set_last_selected_directory(const base::FilePath& path) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profiles__state.cc b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profiles__state.cc new file mode 100644 index 000000000000..a14ab869289b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_profiles_profiles__state.cc @@ -0,0 +1,11 @@ +--- chrome/browser/profiles/profiles_state.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/profiles/profiles_state.cc +@@ -180,7 +180,7 @@ bool IsGuestModeRequested(const base::CommandLine& com + PrefService* local_state, + bool show_warning) { + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + DCHECK(local_state); + + // Check if guest mode enforcement commandline switch or policy are provided. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_renderer__preferences__util.cc b/www/ungoogled-chromium/files/patch-chrome_browser_renderer__preferences__util.cc new file mode 100644 index 000000000000..629c68d749dd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_renderer__preferences__util.cc @@ -0,0 +1,29 @@ +--- chrome/browser/renderer_preferences_util.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/renderer_preferences_util.cc +@@ -37,7 +37,7 @@ + #include "ui/views/controls/textfield/textfield.h" + #endif + +-#if defined(USE_AURA) && BUILDFLAG(IS_LINUX) ++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + #include "chrome/browser/themes/theme_service.h" + #include "chrome/browser/themes/theme_service_factory.h" + #include "ui/linux/linux_ui.h" +@@ -159,7 +159,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc + prefs->caret_blink_interval = views::Textfield::GetCaretBlinkInterval(); + #endif + +-#if defined(USE_AURA) && BUILDFLAG(IS_LINUX) ++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + ui::LinuxUi* linux_ui = ui::LinuxUi::instance(); + if (linux_ui) { + if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) { +@@ -179,7 +179,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + content::UpdateFontRendererPreferencesFromSystemSettings(prefs); + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json b/www/ungoogled-chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json new file mode 100644 index 000000000000..dbf3f3173a88 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json @@ -0,0 +1,31 @@ +--- chrome/browser/resources/plugin_metadata/plugins_linux.json.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/resources/plugin_metadata/plugins_linux.json +@@ -1,28 +1,5 @@ + { + "x-version": 46, +- "adobe-flash-player": { +- "mime_types": [ +- "application/futuresplash", +- "application/x-shockwave-flash" +- ], +- "matching_mime_types": [ +- "application/futuresplash" +- ], +- "versions": [ +- { +- "version": "32.0.0.445", +- "status": "up_to_date", +- "reference": "https://helpx.adobe.com/security/products/flash-player/apsb20-58.html" +- } +- ], +- "lang": "en-US", +- "name": "Adobe Flash Player", +- "help_url": "https://support.9oo91e.qjz9zk/chrome/?p=plugin_flash", +- "url": "https://support.9oo91e.qjz9zk/chrome/answer/6258784", +- "displayurl": true, +- "group_name_matcher": "*Shockwave Flash*", +- "plugin_is_deprecated": true +- }, + "google-chrome-pdf": { + "mime_types": [ + ], diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_sandbox__internals_sandbox__internals.ts b/www/ungoogled-chromium/files/patch-chrome_browser_resources_sandbox__internals_sandbox__internals.ts new file mode 100644 index 000000000000..0ae3c35837bd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_sandbox__internals_sandbox__internals.ts @@ -0,0 +1,29 @@ +--- chrome/browser/resources/sandbox_internals/sandbox_internals.ts.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/resources/sandbox_internals/sandbox_internals.ts +@@ -2,7 +2,7 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + +-// <if expr="is_linux or is_chromeos"> ++// <if expr="is_posix or is_chromeos"> + import './strings.m.js'; + + import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js'; +@@ -121,7 +121,7 @@ function androidHandler() { + } + // </if> + +-// <if expr="is_linux or is_chromeos"> ++// <if expr="is_posix or is_chromeos"> + + /** + * Adds a status row that reports either Yes or No. +@@ -182,7 +182,7 @@ document.addEventListener('DOMContentLoaded', () => { + // <if expr="is_android"> + androidHandler(); + // </if> +- // <if expr="is_linux or is_chromeos"> ++ // <if expr="is_posix or is_chromeos"> + linuxHandler(); + // </if> + }); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts new file mode 100644 index 000000000000..42f8faccb9b3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts @@ -0,0 +1,20 @@ +--- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts +@@ -16,7 +16,7 @@ export interface AppearanceBrowserProxy { + + useDefaultTheme(): void; + +- // <if expr="is_linux"> ++ // <if expr="is_bsd"> + useSystemTheme(): void; + // </if> + +@@ -44,7 +44,7 @@ export class AppearanceBrowserProxyImpl implements App + chrome.send('useDefaultTheme'); + } + +- // <if expr="is_linux"> ++ // <if expr="is_bsd"> + useSystemTheme() { + chrome.send('useSystemTheme'); + } diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html new file mode 100644 index 000000000000..b2da140def2b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html @@ -0,0 +1,29 @@ +--- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/resources/settings/appearance_page/appearance_page.html +@@ -27,7 +27,7 @@ + <div class="flex cr-padded-text"> + <div>$i18n{themes}</div><div class="secondary">[[themeSublabel_]]</div> + </div> +-<if expr="not is_linux"> ++<if expr="not is_posix"> + <template is="dom-if" if="[[prefs.extensions.theme.id.value]]"> + <div class="separator"></div> + <cr-button id="useDefault" on-click="onUseDefaultTap_"> +@@ -35,7 +35,7 @@ + </cr-button> + </template> + </if> +-<if expr="is_linux"> ++<if expr="is_posix"> + <div class="settings-row continuation" + hidden="[[!showThemesSecondary_( + prefs.extensions.theme.id.value, useSystemTheme_)]]" +@@ -135,7 +135,7 @@ + </div> + </template> + +-<if expr="is_linux"> ++<if expr="is_posix"> + <div class="hr" hidden="[[!pageVisibility.bookmarksBar]]"></div> + <settings-toggle-button + hidden="[[!showCustomChromeFrame_]]" diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts new file mode 100644 index 000000000000..df888616a05f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts @@ -0,0 +1,51 @@ +--- chrome/browser/resources/settings/appearance_page/appearance_page.ts.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/resources/settings/appearance_page/appearance_page.ts +@@ -145,7 +145,7 @@ export class SettingsAppearancePageElement extends + 'prefs.autogenerated.theme.policy.color.controlledBy)', + }, + +- // <if expr="is_linux"> ++ // <if expr="is_posix"> + /** + * Whether to show the "Custom Chrome Frame" setting. + */ +@@ -174,7 +174,7 @@ export class SettingsAppearancePageElement extends + 'themeChanged_(' + + 'prefs.extensions.theme.id.value, useSystemTheme_, isForcedTheme_)', + +- // <if expr="is_linux"> ++ // <if expr="is_posix"> + // NOTE: this pref only exists on Linux. + 'useSystemThemePrefChanged_(prefs.extensions.theme.use_system.value)', + // </if> +@@ -194,7 +194,7 @@ export class SettingsAppearancePageElement extends + private showReaderModeOption_: boolean; + private isForcedTheme_: boolean; + +- // <if expr="is_linux"> ++ // <if expr="is_posix"> + private showCustomChromeFrame_: boolean; + // </if> + +@@ -272,7 +272,7 @@ export class SettingsAppearancePageElement extends + this.appearanceBrowserProxy_.useDefaultTheme(); + } + +- // <if expr="is_linux"> ++ // <if expr="is_posix"> + private useSystemThemePrefChanged_(useSystemTheme: boolean) { + this.useSystemTheme_ = useSystemTheme; + } +@@ -333,10 +333,10 @@ export class SettingsAppearancePageElement extends + } + + let i18nId; +- // <if expr="is_linux"> ++ // <if expr="is_posix"> + i18nId = useSystemTheme ? 'systemTheme' : 'classicTheme'; + // </if> +- // <if expr="not is_linux"> ++ // <if expr="not is_posix"> + i18nId = 'chooseFromWebStore'; + // </if> + this.themeSublabel_ = this.i18n(i18nId); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css new file mode 100644 index 000000000000..4c328633c370 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css @@ -0,0 +1,11 @@ +--- chrome/browser/resources/settings/autofill_page/passwords_shared.css.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/resources/settings/autofill_page/passwords_shared.css +@@ -90,7 +90,7 @@ cr-input.password-input::part(input), + * necessary to prevent Chrome from using the operating system's font + * instead of the Material Design font. + * TODO(dbeam): why not font: inherit? */ +-<if expr="is_linux or is_chromeos"> ++<if expr="is_posix or is_chromeos"> + font-family: 'DejaVu Sans Mono', monospace; + </if> + <if expr="is_win"> diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_route.ts b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_route.ts new file mode 100644 index 000000000000..7574effbd82c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_settings_route.ts @@ -0,0 +1,11 @@ +--- chrome/browser/resources/settings/route.ts.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/resources/settings/route.ts +@@ -204,7 +204,7 @@ function createBrowserSettingsRoutes(): Partial<Settin + r.ACCESSIBILITY = r.ADVANCED.createSection( + '/accessibility', 'a11y', loadTimeData.getString('a11yPageTitle')); + +- // <if expr="is_linux"> ++ // <if expr="is_posix"> + r.CAPTIONS = r.ACCESSIBILITY.createChild('/captions'); + // </if> + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_signin_signin__shared.css b/www/ungoogled-chromium/files/patch-chrome_browser_resources_signin_signin__shared.css new file mode 100644 index 000000000000..b66cd5840587 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_signin_signin__shared.css @@ -0,0 +1,11 @@ +--- chrome/browser/resources/signin/signin_shared.css.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/resources/signin/signin_shared.css +@@ -37,7 +37,7 @@ cr-button + cr-button { + margin-inline-start: 8px; + } + +-<if expr="is_macosx or is_linux or is_chromeos"> ++<if expr="is_macosx or is_posix or is_chromeos"> + .action-container { + flex-flow: row-reverse; + justify-content: flex-start; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html b/www/ungoogled-chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html new file mode 100644 index 000000000000..0a8246857f8b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_resources_signin_sync__confirmation_sync__confirmation__app.html @@ -0,0 +1,38 @@ +--- chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/resources/signin/sync_confirmation/sync_confirmation_app.html +@@ -326,7 +326,7 @@ + consent-confirmation autofocus> + $i18n{syncConfirmationConfirmLabel} + </cr-button> +- <if expr="is_macosx or is_linux or chromeos_ash or chromeos_lacros"> ++ <if expr="is_macosx or is_posix or chromeos_ash or chromeos_lacros"> + <cr-button id="settingsButton" on-click="onGoToSettings_" + disabled="[[anyButtonClicked_]]" consent-confirmation> + $i18n{syncConfirmationSettingsLabel} +@@ -336,7 +336,7 @@ + disabled="[[anyButtonClicked_]]"> + $i18n{syncConfirmationUndoLabel} + </cr-button> +- <if expr="not (is_macosx or is_linux or chromeos_ash or chromeos_lacros)"> ++ <if expr="not (is_macosx or is_posix or chromeos_ash or chromeos_lacros)"> + <cr-button id="settingsButton" on-click="onGoToSettings_" + disabled="[[anyButtonClicked_]]" consent-confirmation> + $i18n{syncConfirmationSettingsLabel} +@@ -379,7 +379,7 @@ + consent-confirmation> + $i18n{syncConfirmationConfirmLabel} + </cr-button> +- <if expr="is_macosx or is_linux or chromeos_ash or chromeos_lacros"> ++ <if expr="is_macosx or is_posix or chromeos_ash or chromeos_lacros"> + <cr-button id="settingsButton" on-click="onGoToSettings_" + disabled="[[anyButtonClicked_]]" consent-confirmation> + $i18n{syncConfirmationSettingsLabel} +@@ -389,7 +389,7 @@ + disabled="[[anyButtonClicked_]]"> + $i18n{syncConfirmationUndoLabel} + </cr-button> +- <if expr="not (is_macosx or is_linux or chromeos_ash or chromeos_lacros)"> ++ <if expr="not (is_macosx or is_posix or chromeos_ash or chromeos_lacros)"> + <cr-button id="settingsButton" on-click="onGoToSettings_" + disabled="[[anyButtonClicked_]]" consent-confirmation> + $i18n{syncConfirmationSettingsLabel} diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc new file mode 100644 index 000000000000..2ff63fa07686 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc @@ -0,0 +1,20 @@ +--- chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc +@@ -17,7 +17,7 @@ + #include "net/base/url_util.h" + #include "third_party/abseil-cpp/absl/types/variant.h" + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/connectors/analysis/local_binary_upload_service_factory.h" + #endif + +@@ -287,7 +287,7 @@ BinaryUploadService* BinaryUploadService::GetForProfil + Profile* profile, + const enterprise_connectors::AnalysisSettings& settings) { + // Local content analysis is supported only on desktop platforms. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (settings.cloud_or_local_settings.is_cloud_analysis()) { + return CloudBinaryUploadServiceFactory::GetForProfile(profile); + } else { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc new file mode 100644 index 000000000000..b67e29d16078 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc @@ -0,0 +1,29 @@ +--- chrome/browser/safe_browsing/download_protection/file_analyzer.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/safe_browsing/download_protection/file_analyzer.cc +@@ -20,7 +20,7 @@ + #include "content/public/browser/browser_thread.h" + #include "url/gurl.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/safe_browsing/download_protection/document_analysis_service.h" + #endif + +@@ -102,7 +102,7 @@ void FileAnalyzer::Start(const base::FilePath& target_ + } else if (inspection_type == DownloadFileType::DMG) { + StartExtractDmgFeatures(); + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + } else if (inspection_type == DownloadFileType::OFFICE_DOCUMENT) { + StartExtractDocumentFeatures(); + #endif +@@ -325,7 +325,7 @@ void FileAnalyzer::OnDmgAnalysisFinished( + } + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + void FileAnalyzer::StartExtractDocumentFeatures() { + DCHECK_CURRENTLY_ON(BrowserThread::UI); + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h new file mode 100644 index 000000000000..515716e9b749 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h @@ -0,0 +1,29 @@ +--- chrome/browser/safe_browsing/download_protection/file_analyzer.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/safe_browsing/download_protection/file_analyzer.h +@@ -17,7 +17,7 @@ + #include "components/safe_browsing/core/common/proto/csd.pb.h" + #include "third_party/protobuf/src/google/protobuf/repeated_field.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/services/file_util/public/cpp/sandboxed_document_analyzer.h" + #endif + +@@ -105,7 +105,7 @@ class FileAnalyzer { + const safe_browsing::ArchiveAnalyzerResults& archive_results); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + void StartExtractDocumentFeatures(); + void OnDocumentAnalysisFinished( + const DocumentAnalyzerResults& document_results); +@@ -128,7 +128,7 @@ class FileAnalyzer { + scoped_refptr<SandboxedDMGAnalyzer> dmg_analyzer_; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + scoped_refptr<SandboxedDocumentAnalyzer> document_analyzer_; + base::TimeTicks document_analysis_start_time_; + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc new file mode 100644 index 000000000000..21df59785f9b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc @@ -0,0 +1,11 @@ +--- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc +@@ -709,7 +709,7 @@ void IncidentReportingService::OnEnvironmentDataCollec + + // Process::Current().CreationTime() is missing on some platforms. + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::TimeDelta uptime = + first_incident_time_ - base::Process::Current().CreationTime(); + environment_data->mutable_process()->set_uptime_msec(uptime.InMilliseconds()); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc b/www/ungoogled-chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc new file mode 100644 index 000000000000..9cea7aecf410 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc @@ -0,0 +1,20 @@ +--- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc +@@ -16,7 +16,7 @@ + #include "components/send_tab_to_self/features.h" + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" + #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller.h" + #endif +@@ -48,7 +48,7 @@ SendTabToSelfToolbarIconController* + ReceivingUiHandlerRegistry::GetToolbarButtonControllerForProfile( + Profile* profile) { + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + for (const std::unique_ptr<ReceivingUiHandler>& handler : + applicable_handlers_) { + auto* button_controller = diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc new file mode 100644 index 000000000000..ea6f220a2039 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc @@ -0,0 +1,20 @@ +--- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc +@@ -17,7 +17,7 @@ + #include "components/send_tab_to_self/send_tab_to_self_model.h" + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller.h" + #endif + +@@ -51,7 +51,7 @@ void SendTabToSelfClientService::EntriesAddedRemotely( + const std::vector<const SendTabToSelfEntry*>& new_entries) { + for (const std::unique_ptr<ReceivingUiHandler>& handler : GetHandlers()) { + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Only respond to notifications corresponding to this service's profile + // for these OSes; mobile does not have a Profile. + // Cast note: on desktop, handlers are guaranteed to be the derived class diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc new file mode 100644 index 000000000000..d437d5d6d27b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc @@ -0,0 +1,11 @@ +--- chrome/browser/sharing/sharing_device_registration.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/sharing/sharing_device_registration.cc +@@ -326,7 +326,7 @@ bool SharingDeviceRegistration::IsSmsFetcherSupported( + + bool SharingDeviceRegistration::IsRemoteCopySupported() const { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return true; + #else + return false; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc new file mode 100644 index 000000000000..c8d6862a76b8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc @@ -0,0 +1,20 @@ +--- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/sharing/sharing_handler_registry_impl.cc +@@ -24,7 +24,7 @@ + #endif // BUILDFLAG(IS_ANDROID) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/sharing/shared_clipboard/remote_copy_message_handler.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS_LACROS)) BUILDFLAG(IS_CHROMEOS) +@@ -78,7 +78,7 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (sharing_device_registration->IsRemoteCopySupported()) { + AddSharingHandler( + std::make_unique<RemoteCopyMessageHandler>(profile), diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc b/www/ungoogled-chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc new file mode 100644 index 000000000000..53d6a60649ad --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc @@ -0,0 +1,21 @@ +--- chrome/browser/shutdown_signal_handlers_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/shutdown_signal_handlers_posix.cc +@@ -187,12 +187,18 @@ void InstallShutdownSignalHandlers( + g_pipe_pid = getpid(); + g_shutdown_pipe_read_fd = pipefd[0]; + g_shutdown_pipe_write_fd = pipefd[1]; ++#if defined(OS_BSD) ++ // PTHREAD_STACK_MIN causes chromium to crash under *BSD, ++ // we request the default pthread stack size by specifying 0 here. ++ const size_t kShutdownDetectorThreadStackSize = 0; ++#else + #if !defined(ADDRESS_SANITIZER) + const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2; + #else + // ASan instrumentation bloats the stack frames, so we need to increase the + // stack size to avoid hitting the guard page. + const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4; ++#endif + #endif + ShutdownDetector* detector = new ShutdownDetector( + g_shutdown_pipe_read_fd, std::move(shutdown_callback), task_runner); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc new file mode 100644 index 000000000000..40fcd5bd37d3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc @@ -0,0 +1,11 @@ +--- chrome/browser/sync/chrome_sync_client.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/sync/chrome_sync_client.cc +@@ -437,7 +437,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy + + // Chrome prefers OS provided spell checkers where they exist. So only sync the + // custom dictionary on platforms that typically don't provide one. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Dictionary sync is enabled by default. + if (GetPrefService()->GetBoolean(spellcheck::prefs::kSpellCheckEnable)) { + controllers.push_back( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc new file mode 100644 index 000000000000..e07792431c28 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc @@ -0,0 +1,11 @@ +--- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/sync/device_info_sync_client_impl.cc +@@ -42,7 +42,7 @@ std::string DeviceInfoSyncClientImpl::GetSigninScopedD + // in lacros-chrome once build flag switch of lacros-chrome is + // complete. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + syncer::SyncPrefs prefs(profile_->GetPrefs()); + if (prefs.IsLocalSyncEnabled()) { + return "local_device"; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc new file mode 100644 index 000000000000..5a76c00dfbd7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc @@ -0,0 +1,38 @@ +--- chrome/browser/task_manager/sampling/task_group.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/task_manager/sampling/task_group.cc +@@ -37,7 +37,7 @@ const int kBackgroundRefreshTypesMask = + #if BUILDFLAG(IS_WIN) + REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | + #endif // BUILDFLAG(IS_WIN) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + REFRESH_TYPE_FD_COUNT | + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) + #if BUILDFLAG(ENABLE_NACL) +@@ -122,7 +122,7 @@ TaskGroup::TaskGroup( + #if BUILDFLAG(ENABLE_NACL) + nacl_debug_stub_port_(nacl::kGdbDebugStubPortUnknown), + #endif // BUILDFLAG(ENABLE_NACL) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + open_fd_count_(-1), + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) + idle_wakeups_per_second_(-1), +@@ -141,7 +141,7 @@ TaskGroup::TaskGroup( + weak_ptr_factory_.GetWeakPtr()), + base::BindRepeating(&TaskGroup::OnIdleWakeupsRefreshDone, + weak_ptr_factory_.GetWeakPtr()), +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + base::BindRepeating(&TaskGroup::OnOpenFdCountRefreshDone, + weak_ptr_factory_.GetWeakPtr()), + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +@@ -321,7 +321,7 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac + } + #endif // BUILDFLAG(ENABLE_NACL) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + void TaskGroup::OnOpenFdCountRefreshDone(int open_fd_count) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h new file mode 100644 index 000000000000..456d09d0ed5a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h @@ -0,0 +1,38 @@ +--- chrome/browser/task_manager/sampling/task_group.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/task_manager/sampling/task_group.h +@@ -42,7 +42,7 @@ constexpr int kUnsupportedVMRefreshFlags = + REFRESH_TYPE_WEBCACHE_STATS | REFRESH_TYPE_NETWORK_USAGE | + REFRESH_TYPE_NACL | REFRESH_TYPE_IDLE_WAKEUPS | REFRESH_TYPE_HANDLES | + REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | REFRESH_TYPE_PRIORITY | +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + REFRESH_TYPE_FD_COUNT | + #endif + REFRESH_TYPE_HARD_FAULTS; +@@ -148,7 +148,7 @@ class TaskGroup { + } + #endif // BUILDFLAG(ENABLE_NACL) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + int open_fd_count() const { return open_fd_count_; } + void set_open_fd_count(int open_fd_count) { open_fd_count_ = open_fd_count; } + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) +@@ -168,7 +168,7 @@ class TaskGroup { + void RefreshNaClDebugStubPort(int child_process_unique_id); + void OnRefreshNaClDebugStubPortDone(int port); + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + void OnOpenFdCountRefreshDone(int open_fd_count); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) + +@@ -240,7 +240,7 @@ class TaskGroup { + #if BUILDFLAG(ENABLE_NACL) + int nacl_debug_stub_port_; + #endif // BUILDFLAG(ENABLE_NACL) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // The number of file descriptors currently open by the process. + int open_fd_count_; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc new file mode 100644 index 000000000000..4bab66de4da2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc @@ -0,0 +1,47 @@ +--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/task_manager/sampling/task_group_sampler.cc +@@ -44,7 +44,7 @@ TaskGroupSampler::TaskGroupSampler( + const OnCpuRefreshCallback& on_cpu_refresh, + const OnSwappedMemRefreshCallback& on_swapped_mem_refresh, + const OnIdleWakeupsCallback& on_idle_wakeups, +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + const OnOpenFdCountCallback& on_open_fd_count, + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) + const OnProcessPriorityCallback& on_process_priority) +@@ -54,7 +54,7 @@ TaskGroupSampler::TaskGroupSampler( + on_cpu_refresh_callback_(on_cpu_refresh), + on_swapped_mem_refresh_callback_(on_swapped_mem_refresh), + on_idle_wakeups_callback_(on_idle_wakeups), +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + on_open_fd_count_callback_(on_open_fd_count), + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) + on_process_priority_callback_(on_process_priority) { +@@ -86,7 +86,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) + base::BindOnce(on_swapped_mem_refresh_callback_)); + } + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS, + refresh_flags)) { + base::PostTaskAndReplyWithResult( +@@ -96,7 +96,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) + } + #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT, + refresh_flags)) { + base::PostTaskAndReplyWithResult( +@@ -146,7 +146,7 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() { + return process_metrics_->GetIdleWakeupsPerSecond(); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + int TaskGroupSampler::RefreshOpenFdCount() { + DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence()); + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h new file mode 100644 index 000000000000..d49ceb278580 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h @@ -0,0 +1,38 @@ +--- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/task_manager/sampling/task_group_sampler.h +@@ -31,7 +31,7 @@ class TaskGroupSampler : public base::RefCountedThread + using OnCpuRefreshCallback = base::RepeatingCallback<void(double)>; + using OnSwappedMemRefreshCallback = base::RepeatingCallback<void(int64_t)>; + using OnIdleWakeupsCallback = base::RepeatingCallback<void(int)>; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + using OnOpenFdCountCallback = base::RepeatingCallback<void(int)>; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) + using OnProcessPriorityCallback = base::RepeatingCallback<void(bool)>; +@@ -42,7 +42,7 @@ class TaskGroupSampler : public base::RefCountedThread + const OnCpuRefreshCallback& on_cpu_refresh, + const OnSwappedMemRefreshCallback& on_memory_refresh, + const OnIdleWakeupsCallback& on_idle_wakeups, +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + const OnOpenFdCountCallback& on_open_fd_count, + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) + const OnProcessPriorityCallback& on_process_priority); +@@ -62,7 +62,7 @@ class TaskGroupSampler : public base::RefCountedThread + double RefreshCpuUsage(); + int64_t RefreshSwappedMem(); + int RefreshIdleWakeupsPerSecond(); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + int RefreshOpenFdCount(); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) + bool RefreshProcessPriority(); +@@ -86,7 +86,7 @@ class TaskGroupSampler : public base::RefCountedThread + const OnCpuRefreshCallback on_cpu_refresh_callback_; + const OnSwappedMemRefreshCallback on_swapped_mem_refresh_callback_; + const OnIdleWakeupsCallback on_idle_wakeups_callback_; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + const OnOpenFdCountCallback on_open_fd_count_callback_; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) + const OnProcessPriorityCallback on_process_priority_callback_; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc new file mode 100644 index 000000000000..5d44e9b5c4b8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc @@ -0,0 +1,11 @@ +--- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/task_manager/sampling/task_manager_impl.cc +@@ -216,7 +216,7 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id, + } + + int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return GetTaskGroupByTaskId(task_id)->open_fd_count(); + #else + return -1; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h new file mode 100644 index 000000000000..8967eeab42fa --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h @@ -0,0 +1,11 @@ +--- chrome/browser/task_manager/task_manager_observer.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/task_manager/task_manager_observer.h +@@ -47,7 +47,7 @@ enum RefreshType { + // or backgrounded. + REFRESH_TYPE_PRIORITY = 1 << 13, + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // For observers interested in getting the number of open file descriptors of + // processes. + REFRESH_TYPE_FD_COUNT = 1 << 14, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__helper.cc b/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__helper.cc new file mode 100644 index 000000000000..01e717e60a1b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__helper.cc @@ -0,0 +1,20 @@ +--- chrome/browser/themes/theme_helper.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/themes/theme_helper.cc +@@ -18,7 +18,7 @@ + #include "ui/gfx/image/image.h" + #include "ui/native_theme/native_theme.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -172,7 +172,7 @@ bool ThemeHelper::UseDarkModeColors(const CustomThemeS + + ui::NativeTheme const* native_theme = + ui::NativeTheme::GetInstanceForNativeUi(); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (const auto* linux_ui = ui::LinuxUi::instance()) { + // We rely on the fact that the system theme is in use iff `theme_supplier` + // is non-null, but this is cheating. In the future this might not hold diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service.cc b/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service.cc new file mode 100644 index 000000000000..da43bedf59e6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service.cc @@ -0,0 +1,29 @@ +--- chrome/browser/themes/theme_service.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/themes/theme_service.cc +@@ -72,7 +72,7 @@ + #include "extensions/browser/extension_registry_observer.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #include "ui/ozone/public/ozone_platform.h" + #endif +@@ -314,7 +314,7 @@ CustomThemeSupplier* ThemeService::GetThemeSupplier() + } + + bool ThemeService::ShouldUseSystemTheme() const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return profile_->GetPrefs()->GetBoolean(prefs::kUsesSystemTheme); + #else + return false; +@@ -322,7 +322,7 @@ bool ThemeService::ShouldUseSystemTheme() const { + } + + bool ThemeService::ShouldUseCustomFrame() const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!ui::OzonePlatform::GetInstance() + ->GetPlatformRuntimeProperties() + .supports_server_side_window_decorations) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc new file mode 100644 index 000000000000..01244337ff38 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service__aura__linux.cc @@ -0,0 +1,37 @@ +--- chrome/browser/themes/theme_service_aura_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/themes/theme_service_aura_linux.cc +@@ -13,7 +13,7 @@ + #include "ui/gfx/image/image.h" + #include "ui/native_theme/native_theme_aura.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -53,14 +53,14 @@ void SystemThemeLinux::StartUsingTheme() { + void SystemThemeLinux::StopUsingTheme() { + pref_service_->SetBoolean(prefs::kUsesSystemTheme, false); + // Have the former theme notify its observers of change. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (auto* linux_ui = ui::LinuxUi::instance()) + linux_ui->GetNativeTheme(nullptr)->NotifyOnNativeThemeUpdated(); + #endif + } + + bool SystemThemeLinux::GetColor(int id, SkColor* color) const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (auto* linux_ui = ui::LinuxUi::instance()) { + return linux_ui->GetColor( + id, color, pref_service_->GetBoolean(prefs::kUseCustomChromeFrame)); +@@ -70,7 +70,7 @@ bool SystemThemeLinux::GetColor(int id, SkColor* color + } + + bool SystemThemeLinux::GetDisplayProperty(int id, int* result) const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (auto* linux_ui = ui::LinuxUi::instance()) + return linux_ui->GetDisplayProperty(id, result); + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service__factory.cc new file mode 100644 index 000000000000..2b71ee4f3713 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_themes_theme__service__factory.cc @@ -0,0 +1,37 @@ +--- chrome/browser/themes/theme_service_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/themes/theme_service_factory.cc +@@ -25,11 +25,11 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/themes/theme_service_aura_linux.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -85,7 +85,7 @@ KeyedService* ThemeServiceFactory::BuildServiceInstanc + content::BrowserContext* profile) const { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + using ThemeService = ThemeServiceAuraLinux; + #endif + +@@ -99,9 +99,9 @@ void ThemeServiceFactory::RegisterProfilePrefs( + user_prefs::PrefRegistrySyncable* registry) { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + bool default_uses_system_theme = false; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const ui::LinuxUi* linux_ui = ui::LinuxUi::instance(); + if (linux_ui) + default_uses_system_theme = linux_ui->GetDefaultUsesSystemTheme(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h new file mode 100644 index 000000000000..26ade1e9a7c0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/browser.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/browser.h +@@ -283,7 +283,7 @@ class Browser : public TabStripModelObserver, + int32_t restore_id = kDefaultRestoreId; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // When the browser window is shown, the desktop environment is notified + // using this ID. In response, the desktop will stop playing the "waiting + // for startup" animation (if any). diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc new file mode 100644 index 000000000000..6b3a51166fd1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__command__controller.cc @@ -0,0 +1,38 @@ +--- chrome/browser/ui/browser_command_controller.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/browser_command_controller.cc +@@ -95,7 +95,7 @@ + #include "components/user_manager/user_manager.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -280,7 +280,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( + #endif + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // If this key was registered by the user as a content editing hotkey, then + // it is not reserved. + auto* linux_ui = ui::LinuxUi::instance(); +@@ -525,7 +525,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + case IDC_MINIMIZE_WINDOW: + browser_->window()->Minimize(); + break; +@@ -1088,7 +1088,7 @@ void BrowserCommandController::InitCommandState() { + #endif + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); + command_updater_.UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true); + command_updater_.UpdateCommandEnabled(IDC_RESTORE_WINDOW, true); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__dialogs.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__dialogs.h new file mode 100644 index 000000000000..f6c228595604 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__dialogs.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/browser_dialogs.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/browser_dialogs.h +@@ -25,7 +25,7 @@ + #include "ui/base/models/dialog_model.h" + #include "ui/gfx/native_widget_types.h" + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + #include "chrome/browser/web_applications/web_app_id.h" + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc new file mode 100644 index 000000000000..3c16d497df0b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_browser__view__prefs.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/browser_view_prefs.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/browser_view_prefs.cc +@@ -17,7 +17,7 @@ namespace { + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + bool GetCustomFramePrefDefault() { + #if defined(USE_OZONE) + return ui::OzonePlatform::GetInstance() +@@ -35,7 +35,7 @@ void RegisterBrowserViewProfilePrefs( + user_prefs::PrefRegistrySyncable* registry) { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame, + GetCustomFramePrefDefault()); + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc new file mode 100644 index 000000000000..3e01927252d6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/chrome_pages.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/chrome_pages.cc +@@ -68,7 +68,7 @@ + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "chrome/browser/web_applications/web_app_utils.h" + #endif + +@@ -580,7 +580,7 @@ void ShowBrowserSigninOrSettings(Browser* browser, + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + void ShowWebAppSettings(Browser* browser, + const std::string& app_id, + web_app::AppSettingsPageEntryPoint entry_point) { diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.h new file mode 100644 index 000000000000..8f66a07376c5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_chrome__pages.h @@ -0,0 +1,20 @@ +--- chrome/browser/ui/chrome_pages.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/chrome_pages.h +@@ -30,7 +30,7 @@ enum class ConsentLevel; + } // namespace signin + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + namespace web_app { + enum class AppSettingsPageEntryPoint; + } // namespace web_app +@@ -213,7 +213,7 @@ void ShowBrowserSigninOrSettings(Browser* browser, + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // Show chrome://app-settings/<app-id> page. + void ShowWebAppSettings(Browser* browser, + const std::string& app_id, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc new file mode 100644 index 000000000000..2883eefb3eb9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/color/native_chrome_color_mixer.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/color/native_chrome_color_mixer.cc +@@ -7,7 +7,7 @@ + #include "build/build_config.h" + + #if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) && \ +- !BUILDFLAG(IS_WIN) ++ !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) + void AddNativeChromeColorMixer(ui::ColorProvider* provider, + const ui::ColorProviderManager::Key& key) {} + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc new file mode 100644 index 000000000000..cc786986b23b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc +@@ -16,7 +16,7 @@ + + // NOTE(koz): Linux doesn't use the thick shadowed border, so we add padding + // here. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const int ExclusiveAccessBubble::kPaddingPx = 8; + #else + const int ExclusiveAccessBubble::kPaddingPx = 15; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_sad__tab.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_sad__tab.cc new file mode 100644 index 000000000000..ace2053983bb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_sad__tab.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/sad_tab.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/sad_tab.cc +@@ -175,7 +175,7 @@ std::vector<int> SadTab::GetSubMessages() { + // Only show Incognito suggestion if not already in Incognito mode. + if (!web_contents_->GetBrowserContext()->IsOffTheRecord()) + message_ids.insert(message_ids.begin(), IDS_SAD_TAB_RELOAD_INCOGNITO); +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Note: on macOS, Linux and ChromeOS, the first bullet is either one of + // IDS_SAD_TAB_RELOAD_CLOSE_TABS or IDS_SAD_TAB_RELOAD_CLOSE_NOTABS + // followed by one of the above suggestions. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h new file mode 100644 index 000000000000..cdfc93ad3195 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h +@@ -37,7 +37,7 @@ class SharingHubBubbleController { + virtual bool ShouldOfferOmniboxIcon() = 0; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // These two methods return the sets of first- and third-party actions; + // first-party actions are internal to Chrome and third-party actions are + // other websites or apps. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin__view__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin__view__controller.cc new file mode 100644 index 000000000000..78f690c4e831 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin__view__controller.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/signin_view_controller.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/signin_view_controller.cc +@@ -271,7 +271,7 @@ void SigninViewController::ShowModalEnterpriseConfirma + SkColor profile_color, + signin::SigninChoiceCallback callback) { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + CloseModalSignin(); + dialog_ = std::make_unique<SigninModalDialogImpl>( + SigninViewControllerDelegate::CreateEnterpriseConfirmationDelegate( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h new file mode 100644 index 000000000000..0cedc1e6dd3c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/signin_view_controller_delegate.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/signin_view_controller_delegate.h +@@ -81,7 +81,7 @@ class SigninViewControllerDelegate { + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) || BUILDFLAG(IS_CHROMEOS_LACROS) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Returns a platform-specific SigninViewContolllerDelegate instance that + // displays the enterprise confirmation modal dialog. The returned object + // should delete itself when the window it's managing is closed. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc new file mode 100644 index 000000000000..8e3ef1470e50 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/startup/bad_flags_prompt.cc +@@ -90,7 +90,7 @@ static const char* kBadFlags[] = { + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Speech dispatcher is buggy, it can crash and it can make Chrome freeze. + // http://crbug.com/327295 + switches::kEnableSpeechDispatcher, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc new file mode 100644 index 000000000000..008e4c5cd1f0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/startup/startup_browser_creator.cc +@@ -128,7 +128,7 @@ + #include "chrome/credential_provider/common/gcp_strings.h" + #endif // BUILDFLAG(IS_WIN) + +-#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/ui/startup/web_app_info_recorder_utils.h" + #endif + +@@ -1017,7 +1017,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( + silent_launch = true; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Writes open and installed web apps to the specified file without + // launching a new browser window or tab. + if (base::FeatureList::IsEnabled(features::kListWebAppsSwitch) && +@@ -1207,7 +1207,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( + CHECK_EQ(profile_info.mode, StartupProfileMode::kBrowserWindow) + << "Failed launch with app: couldn't pick a profile"; + std::string app_id = command_line.GetSwitchValueASCII(switches::kAppId); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // If Chrome Apps are deprecated and |app_id| is a Chrome App, display the + // deprecation UI instead of launching the app. + if (apps::OpenDeprecatedApplicationPrompt(privacy_safe_profile, app_id)) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc new file mode 100644 index 000000000000..9fe32cf72b91 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/startup/startup_browser_creator_impl.cc +@@ -241,7 +241,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( + // at the state of the MessageLoop. + Browser::CreateParams params = Browser::CreateParams(profile_, false); + params.creation_source = Browser::CreationSource::kStartupCreator; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + params.startup_id = command_line_.GetSwitchValueASCII("desktop-startup-id"); + #endif + browser = Browser::Create(params); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc new file mode 100644 index 000000000000..5cbc21b565b3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_tab__helpers.cc @@ -0,0 +1,36 @@ +--- chrome/browser/ui/tab_helpers.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/tab_helpers.cc +@@ -200,7 +200,7 @@ + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "chrome/browser/autofill_assistant/common_dependencies_chrome.h" + #include "chrome/browser/autofill_assistant/platform_dependencies_desktop.h" + #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h" +@@ -516,13 +516,13 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents); + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled( + features::kHappinessTrackingSurveysForDesktopDemo) || + base::FeatureList::IsEnabled(features::kTrustSafetySentimentSurvey) || +@@ -537,7 +537,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled( + autofill_assistant::features::kAutofillAssistantDesktop)) { + autofill_assistant::CreateForWebContents( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc new file mode 100644 index 000000000000..f0e07a0b1ce5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/task_manager/task_manager_columns.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/task_manager/task_manager_columns.cc +@@ -93,7 +93,7 @@ const TableColumnData kColumns[] = { + std::size("100000") * kCharWidth, -1, true, false, false}, + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + {IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0, + std::size("999") * kCharWidth, -1, true, false, false}, + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc new file mode 100644 index 000000000000..6644248c9563 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/task_manager/task_manager_table_model.cc +@@ -454,7 +454,7 @@ std::u16string TaskManagerTableModel::GetText(size_t r + ? stringifier_->backgrounded_string() + : stringifier_->foregrounded_string(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { + const int fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row]); + return fd_count >= 0 ? base::FormatNumber(fd_count) +@@ -621,7 +621,7 @@ int TaskManagerTableModel::CompareValues(size_t row1, + return BooleanCompare(is_proc1_bg, is_proc2_bg); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { + const int proc1_fd_count = + observed_task_manager()->GetOpenFdCount(tasks_[row1]); +@@ -795,7 +795,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col + type = REFRESH_TYPE_KEEPALIVE_COUNT; + break; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: + type = REFRESH_TYPE_FD_COUNT; + break; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc new file mode 100644 index 000000000000..8698e43035f4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc @@ -0,0 +1,43 @@ +--- chrome/browser/ui/views/accelerator_table.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/accelerator_table.cc +@@ -61,11 +61,11 @@ const AcceleratorMapping kAcceleratorMap[] = { + {ui::VKEY_S, ui::EF_PLATFORM_ACCELERATOR, IDC_SAVE_PAGE}, + {ui::VKEY_9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, + {ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, + {ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, + #endif // BUILDFLAG(IS_LINUX) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + {ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT}, + {ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, + IDC_MOVE_TAB_PREVIOUS}, +@@ -93,7 +93,7 @@ const AcceleratorMapping kAcceleratorMap[] = { + {ui::VKEY_NUMPAD7, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_6}, + {ui::VKEY_8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, + {ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, + {ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, + {ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1}, +@@ -138,7 +138,7 @@ const AcceleratorMapping kAcceleratorMap[] = { + IDC_SHOW_AVATAR_MENU}, + + // Platform-specific key maps. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK}, + {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD}, + {ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME}, +@@ -236,7 +236,7 @@ const AcceleratorMapping kAcceleratorMap[] = { + {ui::VKEY_SPACE, ui::EF_CONTROL_DOWN, IDC_TOGGLE_QUICK_COMMANDS}, + #endif // !BUILDFLAG(IS_CHROMEOS) + #endif // !BUILDFLAG(IS_MAC) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {ui::VKEY_S, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, + IDC_RUN_SCREEN_AI_VISUAL_ANNOTATIONS}, + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc new file mode 100644 index 000000000000..c668c4b565bc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc +@@ -19,7 +19,7 @@ + #include "ui/gfx/image/image_skia.h" + #include "ui/views/widget/widget.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/shell_integration_linux.h" + #endif + +@@ -55,7 +55,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni + const AppWindow::CreateParams& create_params, + views::Widget::InitParams* init_params, + views::Widget* widget) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string app_name = + web_app::GenerateApplicationNameFromAppId(app_window()->extension_id()); + // Set up a custom WM_CLASS for app windows. This allows task switchers in diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc new file mode 100644 index 000000000000..a5b582881274 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc +@@ -41,7 +41,7 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include <sys/stat.h> + #include <sys/types.h> + #include <unistd.h> +@@ -136,7 +136,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // On the Linux desktop, we want to prevent the user from logging in as root, + // so that we don't destroy the profile. Now that we have some minimal ui + // initialized, check to see if we're running as root and bail if we are. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h new file mode 100644 index 000000000000..073c09667ddc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h @@ -0,0 +1,16 @@ +--- chrome/browser/ui/views/chrome_views_delegate.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/chrome_views_delegate.h +@@ -51,11 +51,11 @@ class ChromeViewsDelegate : public views::ViewsDelegat + base::OnceClosure callback) override; + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + bool WindowManagerProvidesTitleBar(bool maximized) override; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + gfx::ImageSkia* GetDefaultWindowIcon() const override; + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc new file mode 100644 index 000000000000..7cfeaf148f28 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/chrome_views_delegate_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/chrome_views_delegate_linux.cc +@@ -23,7 +23,7 @@ bool IsDesktopEnvironmentUnity() { + return desktop_env == base::nix::DESKTOP_ENVIRONMENT_UNITY; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + int GetWindowIconResourceId() { + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + switch (chrome::GetChannel()) { +@@ -67,7 +67,7 @@ views::NativeWidget* ChromeViewsDelegate::CreateNative + delegate); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + gfx::ImageSkia* ChromeViewsDelegate::GetDefaultWindowIcon() const { + ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); + return rb.GetImageSkiaNamed(GetWindowIconResourceId()); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc new file mode 100644 index 000000000000..e09f8e82713d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/download/download_item_view.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/download/download_item_view.cc +@@ -188,7 +188,7 @@ bool UseNewWarnings() { + } + + int GetFilenameStyle(const views::Label& label) { +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + if (UseNewWarnings()) + return views::style::STYLE_EMPHASIZED; + #endif +@@ -196,7 +196,7 @@ int GetFilenameStyle(const views::Label& label) { + } + + int GetFilenameStyle(const views::StyledLabel& label) { +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + if (UseNewWarnings()) + return views::style::STYLE_EMPHASIZED; + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc new file mode 100644 index 000000000000..47228c427b3d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc +@@ -157,7 +157,7 @@ EyeDropperView::EyeDropperView(content::RenderFrameHos + // EyeDropper/WidgetDelegate. + set_owned_by_client(); + SetPreferredSize(GetSize()); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Use TYPE_MENU for Linux to ensure that the eye dropper view is displayed + // above the color picker. + views::Widget::InitParams params(views::Widget::InitParams::TYPE_MENU); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc new file mode 100644 index 000000000000..da14c6991580 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc +@@ -86,7 +86,7 @@ void EyeDropperView::MoveViewToFront() { + } + + void EyeDropperView::CaptureInputIfNeeded() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // The eye dropper needs to capture input since it is not activated + // in order to avoid dismissing the color picker. + GetWidget()->GetNativeWindow()->SetCapture(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc new file mode 100644 index 000000000000..d0f4c2750fc0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/first_run_dialog.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/first_run_dialog.cc +@@ -34,7 +34,7 @@ + + namespace { + +-#if !BUILDFLAG(IS_MAC) ++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + void InitCrashReporterIfEnabled(bool enabled) { + if (!crash_reporter::IsCrashpadEnabled() && enabled) + breakpad::InitCrashReporter(std::string()); +@@ -122,7 +122,7 @@ bool FirstRunDialog::Accept() { + + #if BUILDFLAG(IS_MAC) + ChangeMetricsReportingState(report_crashes_->GetChecked()); +-#else ++#elif !BUILDFLAG(IS_BSD) + ChangeMetricsReportingStateWithReply( + report_crashes_->GetChecked(), + base::BindOnce(&InitCrashReporterIfEnabled)); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc new file mode 100644 index 000000000000..662bbdbfb29e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc @@ -0,0 +1,52 @@ +--- chrome/browser/ui/views/frame/browser_frame.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/frame/browser_frame.cc +@@ -49,11 +49,11 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include "ui/display/screen.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -62,7 +62,7 @@ namespace { + bool IsUsingGtkTheme(Profile* profile) { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); + #else + return false; +@@ -279,7 +279,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() { + IsVisibleOnAllWorkspaces()); + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // If the window was sent to a different workspace, prioritize it if + // it was sent to the current workspace and deprioritize it + // otherwise. This is done by MoveBrowsersInWorkspaceToFront() +@@ -402,7 +402,7 @@ void BrowserFrame::SelectNativeTheme() { + return; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const ui::LinuxUi* linux_ui = ui::LinuxUi::instance(); + // Ignore GTK+ for web apps with window-controls-overlay as the + // display_override so the web contents can blend with the overlay by using +@@ -421,7 +421,7 @@ bool BrowserFrame::RegenerateFrameOnThemeChange( + bool need_regenerate = false; + // TODO(crbug.com/1052397): Revisit the macro expression once build flag + // switch of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // GTK and user theme changes can both change frame buttons, so the frame + // always needs to be regenerated on Linux. + need_regenerate = true; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc new file mode 100644 index 000000000000..b15713dec599 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc +@@ -16,7 +16,7 @@ + #include "chrome/browser/ui/views/frame/glass_browser_frame_view.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/views/frame/browser_frame_view_layout_linux.h" + #include "chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.h" + #include "chrome/browser/ui/views/frame/browser_frame_view_linux.h" +@@ -34,7 +34,7 @@ namespace { + std::unique_ptr<OpaqueBrowserFrameView> CreateOpaqueBrowserFrameView( + BrowserFrame* frame, + BrowserView* browser_view) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto* linux_ui = ui::LinuxUi::instance(); + auto* profile = browser_view->browser()->profile(); + auto* theme_service_factory = ThemeServiceFactory::GetForProfile(profile); +@@ -74,7 +74,7 @@ std::unique_ptr<BrowserNonClientFrameView> CreateBrows + BrowserFrame* frame, + BrowserView* browser_view) { + // TODO(https://crbug.com/1346734): Enable it on all platforms. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (browser_view->browser()->is_type_picture_in_picture()) { + return std::make_unique<PictureInPictureBrowserFrameView>(frame, + browser_view); 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 new file mode 100644 index 000000000000..75923ed0b9b5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/frame/browser_view.cc +@@ -2013,7 +2013,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra + // CrOS cleanup is done. + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + contents_web_view_->SetFastResize(is_dragging); + if (!is_dragging) { + // When tab dragging is ended, we need to make sure the web contents get diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc new file mode 100644 index 000000000000..3a133f151d10 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc +@@ -55,7 +55,7 @@ + #include "ui/views/window/vector_icons/vector_icons.h" + #include "ui/views/window/window_shape.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "ui/views/controls/menu/menu_runner.h" + #endif + +@@ -557,7 +557,7 @@ OpaqueBrowserFrameView::FrameButtonStyle + OpaqueBrowserFrameView::GetFrameButtonStyle() const { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + return FrameButtonStyle::kMdButton; + #else + return FrameButtonStyle::kImageButton; +@@ -767,7 +767,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons + } + + void OpaqueBrowserFrameView::WindowIconPressed() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Chrome OS doesn't show the window icon, and Windows handles this on its own + // due to the hit test being HTSYSMENU. + menu_runner_ = std::make_unique<views::MenuRunner>( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h new file mode 100644 index 000000000000..12aacca6a8ca --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/frame/opaque_browser_frame_view.h +@@ -226,7 +226,7 @@ class OpaqueBrowserFrameView : public BrowserNonClient + // Background painter for the window frame. + std::unique_ptr<views::FrameBackground> frame_background_; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<views::MenuRunner> menu_runner_; + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc new file mode 100644 index 000000000000..dbf4eff5997a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/frame/system_menu_model_builder.cc +@@ -76,7 +76,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser + ui::SimpleMenuModel* model) { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) + model->AddItemWithStringId(IDC_MINIMIZE_WINDOW, IDS_MINIMIZE_WINDOW_MENU); + model->AddItemWithStringId(IDC_MAXIMIZE_WINDOW, IDS_MAXIMIZE_WINDOW_MENU); + model->AddItemWithStringId(IDC_RESTORE_WINDOW, IDS_RESTORE_WINDOW_MENU); +@@ -92,7 +92,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser + } + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) + model->AddSeparator(ui::NORMAL_SEPARATOR); + bool supports_server_side_decorations = true; + #if defined(USE_OZONE) && !BUILDFLAG(IS_CHROMEOS) +@@ -144,7 +144,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo + model->AddSeparator(ui::NORMAL_SEPARATOR); + model->AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER); + } +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + model->AddSeparator(ui::NORMAL_SEPARATOR); + model->AddItemWithStringId(IDC_CLOSE_WINDOW, IDS_CLOSE); + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc new file mode 100644 index 000000000000..f1ac1f702e74 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc +@@ -23,7 +23,7 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include "chrome/common/pref_names.h" + #include "components/prefs/pref_service.h" + #endif +@@ -40,7 +40,7 @@ SystemMenuModelDelegate::~SystemMenuModelDelegate() {} + bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) const { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + if (command_id == IDC_USE_SYSTEM_TITLE_BAR) { + PrefService* prefs = browser_->profile()->GetPrefs(); + return !prefs->GetBoolean(prefs::kUseCustomChromeFrame); +@@ -62,7 +62,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c + bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + bool is_maximized = browser_->window()->IsMaximized(); + switch (command_id) { + case IDC_MAXIMIZE_WINDOW: diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc new file mode 100644 index 000000000000..6cd0dad3a315 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/hung_renderer_view.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/hung_renderer_view.cc +@@ -401,7 +401,7 @@ void HungRendererDialogView::ForceCrashHungRenderer() + content::RenderProcessHost* rph = + hung_pages_table_model_->GetRenderWidgetHost()->GetProcess(); + if (rph) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // A generic |CrashDumpHungChildProcess()| is not implemented for Linux. + // Instead we send an explicit IPC to crash on the renderer's IO thread. + rph->ForceCrash(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc new file mode 100644 index 000000000000..00f34b3da5ee --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc +@@ -570,7 +570,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo( + + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // crbug.com/1161166: Orca does not read the accessible window title of the + // bubble, so we duplicate it in the top-level menu item. To be revisited + // after considering other options, including fixes on the AT side. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc new file mode 100644 index 000000000000..36c21a54dbaa --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc +@@ -160,7 +160,7 @@ SigninViewControllerDelegateViews::CreateProfileCustom + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) || BUILDFLAG(IS_CHROMEOS_LACROS) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // static + std::unique_ptr<views::WebView> + SigninViewControllerDelegateViews::CreateEnterpriseConfirmationWebView( +@@ -445,7 +445,7 @@ SigninViewControllerDelegate::CreateProfileCustomizati + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) || BUILDFLAG(IS_CHROMEOS_LACROS) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // static + SigninViewControllerDelegate* + SigninViewControllerDelegate::CreateEnterpriseConfirmationDelegate( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h new file mode 100644 index 000000000000..83a9729613c1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h +@@ -76,7 +76,7 @@ class SigninViewControllerDelegateViews + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) || BUILDFLAG(IS_CHROMEOS_LACROS) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + static std::unique_ptr<views::WebView> CreateEnterpriseConfirmationWebView( + Browser* browser, + const AccountInfo& account_info, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc new file mode 100644 index 000000000000..e41d2e4dc723 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/tabs/tab.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/tabs/tab.cc +@@ -583,7 +583,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& + if (mouse_hovered_ || !GetWidget()->IsMouseEventsEnabled()) + return; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Move the hit test area for hovering up so that it is not overlapped by tab + // hover cards when they are shown. + // TODO(crbug.com/978134): Once Linux/CrOS widget transparency is solved, diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc new file mode 100644 index 000000000000..28bf8d0b38c1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc @@ -0,0 +1,38 @@ +--- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/tabs/tab_drag_controller.cc +@@ -476,7 +476,7 @@ void TabDragController::Init(TabDragContext* source_co + // synchronous on desktop Linux, so use that. + // - Chrome OS + // Releasing capture on Ash cancels gestures so avoid it. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + can_release_capture_ = false; + #endif + start_point_in_screen_ = gfx::Point(source_view_offset, mouse_offset.y()); +@@ -1029,7 +1029,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + // EndMoveLoop is going to snap the window back to its original location. + // Hide it so users don't see this. Hiding a window in Linux aura causes + // it to lose capture so skip it. +@@ -1944,7 +1944,7 @@ void TabDragController::CompleteDrag() { + } + + // If source window was maximized - maximize the new window as well. +-#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) ++#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + // Keeping maximized state breaks snap to Grid on Windows when dragging + // tabs from maximized windows. TODO:(crbug.com/727051) Explore doing this + // for other desktop OS's. kMaximizedStateRetainedOnTabDrag in +@@ -2334,7 +2334,7 @@ TabDragController::Liveness TabDragController::GetLoca + } + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Exclude windows which are pending deletion via Browser::TabStripEmpty(). + // These windows can be returned in the Linux Aura port because the browser + // window which was used for dragging is not hidden once all of its tabs are diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc new file mode 100644 index 000000000000..f306cae63a13 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/tabs/tab_hover_card_controller.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/views/tabs/tab_hover_card_controller.cc +@@ -72,7 +72,7 @@ GetMemoryPressureOverride() { + // Fetches the Omnibox drop-down widget, or returns null if the drop-down is + // not visible. + void FixWidgetStackOrder(views::Widget* widget, const Browser* browser) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Ensure the hover card Widget assumes the highest z-order to avoid occlusion + // by other secondary UI Widgets (such as the omnibox Widget, see + // crbug.com/1226536). diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc new file mode 100644 index 000000000000..372fa974f5f5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/web_applications/app_browser_controller.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/web_applications/app_browser_controller.cc +@@ -428,7 +428,7 @@ CustomThemeSupplier* AppBrowserController::GetThemeSup + } + + bool AppBrowserController::ShouldUseSystemTheme() const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return browser_->profile()->GetPrefs()->GetBoolean(prefs::kUsesSystemTheme); + #else + return false; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_about__ui.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_about__ui.cc new file mode 100644 index 000000000000..9ccf195d71f4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_about__ui.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/about_ui.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/webui/about_ui.cc +@@ -622,7 +622,7 @@ std::string ChromeURLs() { + return html; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::string AboutLinuxProxyConfig() { + std::string data; + AppendHeader(&data, +@@ -680,7 +680,7 @@ void AboutUIHTMLSource::StartDataRequest( + response = + ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(idr); + } +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + } else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) { + response = AboutLinuxProxyConfig(); + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc new file mode 100644 index 000000000000..79a011b4769d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc @@ -0,0 +1,92 @@ +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +@@ -309,7 +309,7 @@ + #include "chrome/browser/ui/webui/app_launcher_page_ui.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.h" + #endif + +@@ -335,17 +335,17 @@ + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/webui/discards/discards_ui.h" + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h" + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h" + #endif + +@@ -698,7 +698,7 @@ bool IsAboutUI(const GURL& url) { + #if !BUILDFLAG(IS_ANDROID) + || url.host_piece() == chrome::kChromeUITermsHost + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + || url.host_piece() == chrome::kChromeUILinuxProxyConfigHost + #endif + #if BUILDFLAG(IS_CHROMEOS_ASH) +@@ -1132,7 +1132,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we + #endif // !defined(USE_REAL_DBUS_CLIENTS) + #endif // !defined(OFFICIAL_BUILD) + #endif // BUILDFLAG(IS_CHROMEOS_ASH) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (url.host_piece() == chrome::kChromeUIWebUIJsErrorHost) + return &NewWebUI<WebUIJsErrorUI>; + #endif +@@ -1193,7 +1193,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we + if (url.host_piece() == chrome::kChromeUINaClHost) + return &NewWebUI<NaClUI>; + #endif +-#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ ++#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ + defined(TOOLKIT_VIEWS)) || \ + defined(USE_AURA) + if (url.host_piece() == chrome::kChromeUITabModalConfirmDialogHost) +@@ -1253,27 +1253,27 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we + } + #endif + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + if (url.host_piece() == chrome::kChromeUISandboxHost) { + return &NewWebUI<SandboxInternalsUI>; + } + #endif + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + if (url.host_piece() == chrome::kChromeUIConnectorsInternalsHost) + return &NewWebUI<enterprise_connectors::ConnectorsInternalsUI>; + #endif + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (url.host_piece() == chrome::kChromeUIDiscardsHost) + return &NewWebUI<DiscardsUI>; + #endif +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (url.host_piece() == chrome::kChromeUIBrowserSwitchHost) + return &NewWebUI<BrowserSwitchUI>; + #endif + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + if (url.host_piece() == chrome::kChromeUIWebAppSettingsHost) + return &NewWebUI<WebAppSettingsUI>; + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc new file mode 100644 index 000000000000..768086c998d3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/webui/connectors_internals/zero_trust_utils.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/webui/connectors_internals/zero_trust_utils.cc +@@ -6,7 +6,7 @@ + + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include "chrome/browser/browser_process.h" + #include "chrome/browser/policy/chrome_browser_policy_connector.h" + #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" +@@ -22,7 +22,7 @@ namespace utils { + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + + connectors_internals::mojom::KeyTrustLevel ParseTrustLevel( + BPKUR::KeyTrustLevel trust_level) { +@@ -53,7 +53,7 @@ connectors_internals::mojom::KeyType AlgorithmToType( + } // namespace + + connectors_internals::mojom::KeyInfoPtr GetKeyInfo() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + auto* key_manager = g_browser_process->browser_policy_connector() + ->chrome_browser_cloud_management_controller() + ->GetDeviceTrustKeyManager(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc new file mode 100644 index 000000000000..456d863faca8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/webui/ntp/app_launcher_handler.cc +@@ -325,7 +325,7 @@ base::Value::Dict AppLauncherHandler::CreateExtensionI + bool is_deprecated_app = false; + auto* context = extension_service_->GetBrowserContext(); + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + is_deprecated_app = + extensions::IsExtensionUnsupportedDeprecatedApp(context, extension->id()); + #endif +@@ -1427,7 +1427,7 @@ void AppLauncherHandler::InstallOsHooks(const web_app: + options.os_hooks[web_app::OsHookType::kUninstallationViaOsSettings] = + web_app->CanUserUninstallWebApp(); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + options.os_hooks[web_app::OsHookType::kUrlHandlers] = true; + #else diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc new file mode 100644 index 000000000000..314ab424365e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/webui/settings/appearance_handler.cc +@@ -29,7 +29,7 @@ void AppearanceHandler::RegisterMessages() { + "useDefaultTheme", + base::BindRepeating(&AppearanceHandler::HandleUseDefaultTheme, + base::Unretained(this))); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + web_ui()->RegisterMessageCallback( + "useSystemTheme", + base::BindRepeating(&AppearanceHandler::HandleUseSystemTheme, +@@ -43,7 +43,7 @@ void AppearanceHandler::HandleUseDefaultTheme(const ba + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) + void AppearanceHandler::HandleUseSystemTheme(const base::Value::List& args) { + if (profile_->IsChild()) + NOTREACHED(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h new file mode 100644 index 000000000000..071849d7603c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/settings/appearance_handler.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/webui/settings/appearance_handler.h +@@ -40,7 +40,7 @@ class AppearanceHandler : public SettingsPageUIHandler + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Changes the UI theme of the browser to the system (GTK+) theme. + void HandleUseSystemTheme(const base::Value::List& args); + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc new file mode 100644 index 000000000000..d60e79b1a027 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc @@ -0,0 +1,47 @@ +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +@@ -115,7 +115,7 @@ + #include "chrome/browser/ui/webui/settings/chromeos/constants/routes.mojom.h" + #endif + +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) + #include "ui/display/screen.h" + #endif + +@@ -136,7 +136,7 @@ + #include "chrome/browser/ui/webui/certificate_manager_localized_strings_provider.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/ozone/public/ozone_platform.h" + #endif + +@@ -359,7 +359,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht + {"sidePanelAlignRight", IDS_SETTINGS_SIDE_PANEL_ALIGN_RIGHT}, + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) + {"systemTheme", IDS_SETTINGS_SYSTEM_THEME}, + {"useSystemTheme", IDS_SETTINGS_USE_SYSTEM_THEME}, + {"classicTheme", IDS_SETTINGS_CLASSIC_THEME}, +@@ -367,7 +367,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht + #else + {"resetToDefaultTheme", IDS_SETTINGS_RESET_TO_DEFAULT_THEME}, + #endif +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) + {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS}, + #endif + #if BUILDFLAG(IS_MAC) +@@ -391,7 +391,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) + bool show_custom_chrome_frame = ui::OzonePlatform::GetInstance() + ->GetPlatformRuntimeProperties() + .supports_server_side_window_decorations; diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc b/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc new file mode 100644 index 000000000000..771275d1f465 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/ui/window_sizer/window_sizer.cc +@@ -173,7 +173,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState( + browser, window_bounds, show_state); + } + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Linux has its own implementation, see WindowSizerLinux. + // static + void WindowSizer::GetBrowserWindowBoundsAndShowState( diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h new file mode 100644 index 000000000000..a505b144ba32 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/extension_status_utils.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/web_applications/extension_status_utils.h +@@ -43,7 +43,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo + const std::string& extension_id); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // Returns whether |extension_id| is a Chrome App and should be blocked by the + // Chrome Apps Deprecation. Policy installed Chrome Apps are still allowed, and + // all apps are allowed if the deprecation feature flag is not enabled. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc new file mode 100644 index 000000000000..c8d2c8203473 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc @@ -0,0 +1,20 @@ +--- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/web_applications/extensions/extension_status_utils.cc +@@ -26,7 +26,7 @@ namespace { + const char* g_preinstalled_app_for_testing = nullptr; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + base::Feature kChromeAppsDeprecationExcludeForceInstalls( + "ChromeAppsDeprecationExcludeForceInstalls", + base::FEATURE_DISABLED_BY_DEFAULT); +@@ -100,7 +100,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + bool IsExtensionUnsupportedDeprecatedApp(content::BrowserContext* context, + const std::string& extension_id) { + if (!base::FeatureList::IsEnabled(features::kChromeAppsDeprecation)) diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h new file mode 100644 index 000000000000..1523c76c356f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/os_integration/web_app_file_handler_registration.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/web_applications/os_integration/web_app_file_handler_registration.h +@@ -44,7 +44,7 @@ void UnregisterFileHandlersWithOs(const AppId& app_id, + Profile* profile, + ResultCallback callback); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Exposed for testing purposes. Register the set of + // MIME-type-to-file-extensions mappings corresponding to |file_handlers|. File + // I/O and a a callout to the Linux shell are performed asynchronously. diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc new file mode 100644 index 000000000000..5c15a91c769b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc @@ -0,0 +1,47 @@ +--- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/web_applications/os_integration/web_app_shortcut.cc +@@ -45,7 +45,7 @@ namespace { + + #if BUILDFLAG(IS_MAC) + const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512}; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Linux supports icons of any size. FreeDesktop Icon Theme Specification states + // that "Minimally you should install a 48x48 icon in the hicolor theme." + const int kDesiredIconSizesForShortcut[] = {16, 32, 48, 128, 256, 512}; +@@ -130,7 +130,7 @@ std::string GetAllFilesInDir(const base::FilePath& fil + } // namespace + + ScopedShortcutOverrideForTesting::ScopedShortcutOverrideForTesting() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto callback = base::BindRepeating( + [](ScopedShortcutOverrideForTesting* scoped_override, + base::FilePath filename, std::string xdg_command, +@@ -163,7 +163,7 @@ ScopedShortcutOverrideForTesting::~ScopedShortcutOverr + } + } + } +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Reset the file handling callback. + SetUpdateMimeInfoDatabaseOnLinuxCallbackForTesting( + UpdateMimeInfoDatabaseOnLinuxCallback()); +@@ -210,7 +210,7 @@ std::unique_ptr<ScopedShortcutOverrideForTesting> Over + scoped_override->chrome_apps_folder.CreateUniqueTempDirUnderPath( + base_path); + DCHECK(success); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool success = + scoped_override->desktop.CreateUniqueTempDirUnderPath(base_path); + DCHECK(success); +@@ -230,7 +230,7 @@ std::unique_ptr<ScopedShortcutOverrideForTesting> Over + #elif BUILDFLAG(IS_MAC) + bool success = scoped_override->chrome_apps_folder.CreateUniqueTempDir(); + DCHECK(success); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool success = scoped_override->desktop.CreateUniqueTempDir(); + DCHECK(success); + success = scoped_override->startup.CreateUniqueTempDir(); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h new file mode 100644 index 000000000000..f99ff3a2af0f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h @@ -0,0 +1,38 @@ +--- chrome/browser/web_applications/os_integration/web_app_shortcut.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/web_applications/os_integration/web_app_shortcut.h +@@ -19,7 +19,7 @@ + #include "ui/gfx/image/image_family.h" + #include "url/gurl.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/web_applications/os_integration/web_app_shortcut_linux.h" + #endif // BUILDFLAG(IS_LINUX) + +@@ -33,7 +33,7 @@ class ImageSkia; + + namespace web_app { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + struct LinuxFileRegistration { + std::string xdg_command; + std::string file_contents; +@@ -61,7 +61,7 @@ struct ScopedShortcutOverrideForTesting { + #elif BUILDFLAG(IS_MAC) + base::ScopedTempDir chrome_apps_folder; + std::map<base::FilePath, bool> startup_enabled; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::ScopedTempDir desktop; + base::ScopedTempDir startup; + std::vector<LinuxFileRegistration> linux_file_registration; +@@ -107,7 +107,7 @@ struct ShortcutInfo { + std::set<std::string> file_handler_extensions; + std::set<std::string> file_handler_mime_types; + std::set<std::string> protocol_handlers; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::set<DesktopActionInfo> actions; + #endif // BUILDFLAG(IS_LINUX) + diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc new file mode 100644 index 000000000000..c0bad1f9acb2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut__manager.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/os_integration/web_app_shortcut_manager.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/web_applications/os_integration/web_app_shortcut_manager.cc +@@ -379,7 +379,7 @@ std::unique_ptr<ShortcutInfo> WebAppShortcutManager::B + } + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const std::vector<WebAppShortcutsMenuItemInfo>& shortcuts_menu_item_infos = + app->shortcuts_menu_item_infos(); + DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems); diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc new file mode 100644 index 000000000000..04c87937043f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/web_app_provider.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/web_applications/web_app_provider.cc +@@ -271,7 +271,7 @@ void WebAppProvider::CreateSubsystems(Profile* profile + protocol_handler_manager.get()); + + std::unique_ptr<UrlHandlerManager> url_handler_manager; +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + url_handler_manager = std::make_unique<UrlHandlerManagerImpl>(profile); + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc new file mode 100644 index 000000000000..13d33562de06 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc @@ -0,0 +1,11 @@ +--- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/browser/webauthn/chrome_authenticator_request_delegate.cc +@@ -668,7 +668,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureCabl + } + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // No caBLEv1 on Linux. It tends to crash bluez. + if (std::any_of(pairings_from_extension.begin(), + pairings_from_extension.end(), diff --git a/www/ungoogled-chromium/files/patch-chrome_common_channel__info.h b/www/ungoogled-chromium/files/patch-chrome_common_channel__info.h new file mode 100644 index 000000000000..5a179988a615 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_channel__info.h @@ -0,0 +1,11 @@ +--- chrome/common/channel_info.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/channel_info.h +@@ -106,7 +106,7 @@ std::string GetChannelSuffixForDataDir(); + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Returns the channel-specific filename of the desktop shortcut used to launch + // the browser. + std::string GetDesktopName(base::Environment* env); diff --git a/www/ungoogled-chromium/files/patch-chrome_common_channel__info__posix.cc b/www/ungoogled-chromium/files/patch-chrome_common_channel__info__posix.cc new file mode 100644 index 000000000000..c001cb0cc1b1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_channel__info__posix.cc @@ -0,0 +1,11 @@ +--- chrome/common/channel_info_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/channel_info_posix.cc +@@ -93,7 +93,7 @@ std::string GetChannelSuffixForDataDir() { + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + std::string GetDesktopName(base::Environment* env) { + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + // Google Chrome packaged as a snap is a special case: the application name diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc new file mode 100644 index 000000000000..f653b4aa3c1e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.cc @@ -0,0 +1,65 @@ +--- chrome/common/chrome_features.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/chrome_features.cc +@@ -90,7 +90,7 @@ const base::Feature kAsyncDns { + }; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // Enables or disables the Autofill survey triggered by opening a prompt to + // save address info. + const base::Feature kAutofillAddressSurvey{"AutofillAddressSurvey", +@@ -105,7 +105,7 @@ const base::Feature kAutofillPasswordSurvey{"AutofillP + base::FEATURE_DISABLED_BY_DEFAULT}; + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Enables the Restart background mode optimization. When all Chrome UI is + // closed and it goes in the background, allows to restart the browser to + // discard memory. +@@ -268,7 +268,7 @@ const base::Feature kDesktopPWAsEnforceWebAppSettingsP + // Enables or disables Desktop PWAs to be auto-started on OS login. + const base::Feature kDesktopPWAsRunOnOsLogin { + "DesktopPWAsRunOnOsLogin", +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -284,7 +284,7 @@ const base::Feature kDesktopPWAsWebBundles{"DesktopPWA + base::FEATURE_DISABLED_BY_DEFAULT}; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // Controls whether Chrome Apps are supported. See https://crbug.com/1221251. + // If the feature is disabled, Chrome Apps continue to work. If enabled, Chrome + // Apps will not launch and will be marked in the UI as deprecated. +@@ -317,7 +317,7 @@ const base::FeatureParam<bool> kDnsOverHttpsFallbackPa + const base::FeatureParam<bool> kDnsOverHttpsShowUiParam { + &kDnsOverHttps, "ShowUi", + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + true + #else + false +@@ -603,7 +603,7 @@ const base::Feature kKioskEnableAppService("KioskEnabl + const base::Feature kUpdateHistoryEntryPointsInIncognito{ + "UpdateHistoryEntryPointsInIncognito", base::FEATURE_ENABLED_BY_DEFAULT}; + +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(CHROME_FEATURES) + const base::Feature kLinuxLowMemoryMonitor{"LinuxLowMemoryMonitor", + base::FEATURE_DISABLED_BY_DEFAULT}; +@@ -616,7 +616,7 @@ constexpr base::FeatureParam<int> kLinuxLowMemoryMonit + &kLinuxLowMemoryMonitor, "critical_level", 255}; + #endif // BUILDFLAG(IS_LINUX) && !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 base::Feature kListWebAppsSwitch{"ListWebAppsSwitch", + base::FEATURE_DISABLED_BY_DEFAULT}; + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h new file mode 100644 index 000000000000..12a3a4cdecc7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__features.h @@ -0,0 +1,47 @@ +--- chrome/common/chrome_features.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/chrome_features.h +@@ -81,7 +81,7 @@ extern const base::Feature kAppShimNewCloseBehavior; + COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kAutofillAddressSurvey; + COMPONENT_EXPORT(CHROME_FEATURES) +@@ -90,7 +90,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kAutofillPasswordSurvey; + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kBackgroundModeAllowRestart; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -204,7 +204,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kDesktopPWAsWebBundles; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kChromeAppsDeprecation; + COMPONENT_EXPORT(CHROME_FEATURES) +@@ -429,7 +429,7 @@ extern const base::Feature kKioskEnableAppService; + COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kUpdateHistoryEntryPointsInIncognito; + +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS) + COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kLinuxLowMemoryMonitor; + COMPONENT_EXPORT(CHROME_FEATURES) +@@ -438,7 +438,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::FeatureParam<int> kLinuxLowMemoryMonitorCriticalLevel; + #endif // BUILDFLAG(IS_LINUX) && !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) + COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kListWebAppsSwitch; + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.cc b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.cc new file mode 100644 index 000000000000..86f7f5b67206 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.cc @@ -0,0 +1,87 @@ +--- chrome/common/chrome_paths.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/chrome_paths.cc +@@ -49,14 +49,14 @@ + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The path to the external extension <id>.json files. + // /usr/share seems like a good choice, see: http://www.pathname.com/fhs/ + const base::FilePath::CharType kFilepathSinglePrefExtensions[] = + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) +- FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); ++ FILE_PATH_LITERAL("/usr/local/share/ungoogled-chromium/extensions"); + #else +- FILE_PATH_LITERAL("/usr/share/chromium/extensions"); ++ FILE_PATH_LITERAL("/usr/local/share/ungoogled-chromium/extensions"); + #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) + + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -178,7 +178,7 @@ bool PathProvider(int key, base::FilePath* result) { + return false; + break; + case chrome::DIR_DEFAULT_DOWNLOADS_SAFE: +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (!GetUserDownloadsDirectorySafe(&cur)) + return false; + break; +@@ -421,12 +421,14 @@ bool PathProvider(int key, base::FilePath* result) { + if (!base::PathExists(cur)) // We don't want to create this + return false; + break; +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) + case chrome::DIR_POLICY_FILES: { + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + cur = base::FilePath(FILE_PATH_LITERAL("/etc/opt/chrome/policies")); ++#elif BUILDFLAG(IS_FREEBSD) ++ cur = base::FilePath(FILE_PATH_LITERAL("/usr/local/etc/ungoogled-chromium/policies")); + #else +- cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies")); ++ cur = base::FilePath(FILE_PATH_LITERAL("/etc/ungoogled-chromium/policies")); + #endif + break; + } +@@ -436,7 +438,7 @@ bool PathProvider(int key, base::FilePath* result) { + #if BUILDFLAG(IS_CHROMEOS_ASH) || \ + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ + BUILDFLAG(CHROMIUM_BRANDING)) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + case chrome::DIR_USER_EXTERNAL_EXTENSIONS: { + if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) + return false; +@@ -444,7 +446,7 @@ bool PathProvider(int key, base::FilePath* result) { + break; + } + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: { + cur = base::FilePath(kFilepathSinglePrefExtensions); + break; +@@ -488,7 +490,7 @@ bool PathProvider(int key, base::FilePath* result) { + break; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + case chrome::DIR_NATIVE_MESSAGING: + #if BUILDFLAG(IS_MAC) + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) +@@ -502,9 +504,12 @@ bool PathProvider(int key, base::FilePath* result) { + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + cur = base::FilePath(FILE_PATH_LITERAL( + "/etc/opt/chrome/native-messaging-hosts")); ++#elif BUILDFLAG(IS_FREEBSD) ++ cur = base::FilePath(FILE_PATH_LITERAL( ++ "/usr/local/etc/ungoogled-chromium/native-messaging-hosts")); + #else + cur = base::FilePath(FILE_PATH_LITERAL( +- "/etc/chromium/native-messaging-hosts")); ++ "/etc/ungoogled-chromium/native-messaging-hosts")); + #endif + #endif // !BUILDFLAG(IS_MAC) + break; diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.h b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.h new file mode 100644 index 000000000000..5b914f0a3a93 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths.h @@ -0,0 +1,29 @@ +--- chrome/common/chrome_paths.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/chrome_paths.h +@@ -56,7 +56,7 @@ enum { + #if BUILDFLAG(IS_CHROMEOS_ASH) || \ + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ + BUILDFLAG(CHROMIUM_BRANDING)) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + DIR_USER_EXTERNAL_EXTENSIONS, // Directory for per-user external extensions + // on Chrome Mac and Chromium Linux. + // On Chrome OS, this path is used for OEM +@@ -64,7 +64,7 @@ enum { + // create it. + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension' + // definition manifest files that + // describe extensions which are to be +@@ -117,7 +117,7 @@ enum { + DIR_CHROMEOS_CUSTOM_WALLPAPERS, // Directory where custom wallpapers + // reside. + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + DIR_NATIVE_MESSAGING, // System directory where native messaging host + // manifest files are stored. + DIR_USER_NATIVE_MESSAGING, // Directory with Native Messaging Hosts diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths__internal.h b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths__internal.h new file mode 100644 index 000000000000..8189610cadee --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__paths__internal.h @@ -0,0 +1,11 @@ +--- chrome/common/chrome_paths_internal.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/chrome_paths_internal.h +@@ -45,7 +45,7 @@ void GetUserCacheDirectory(const base::FilePath& profi + // Get the path to the user's documents directory. + bool GetUserDocumentsDirectory(base::FilePath* result); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Gets the path to a safe default download directory for a user. + bool GetUserDownloadsDirectorySafe(base::FilePath* result); + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc new file mode 100644 index 000000000000..debda459cda1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.cc @@ -0,0 +1,19 @@ +--- chrome/common/chrome_switches.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/chrome_switches.cc +@@ -814,14 +814,14 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket- + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon"; + + // Causes the browser to launch directly in guest mode. + const char kGuest[] = "guest"; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Writes open and installed web apps for each profile to the specified file + // without launching a new browser window or tab. Pass a absolute file path to + // specify where to output the information. Can be used together with optional diff --git a/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.h b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.h new file mode 100644 index 000000000000..3afd12c90a33 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_chrome__switches.h @@ -0,0 +1,17 @@ +--- chrome/common/chrome_switches.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/chrome_switches.h +@@ -257,12 +257,12 @@ extern const char kAllowNaClSocketAPI[]; + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + extern const char kEnableNewAppMenuIcon[]; + extern const char kGuest[]; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + extern const char kListApps[]; + extern const char kProfileBaseName[]; + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc b/www/ungoogled-chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc new file mode 100644 index 000000000000..46b2a972b9f5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc @@ -0,0 +1,11 @@ +--- chrome/common/extensions/permissions/chrome_permission_message_rules.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/extensions/permissions/chrome_permission_message_rules.cc +@@ -284,7 +284,7 @@ int GetEnterpriseReportingPrivatePermissionMessageId() + } + #if BUILDFLAG(IS_WIN) + return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_WIN; +-#elif BUILDFLAG(IS_LINUX) or BUILDFLAG(IS_MAC) ++#elif BUILDFLAG(IS_LINUX) or BUILDFLAG(IS_MAC) or BUILDFLAG(IS_BSD) + return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE_ENABLED_LINUX_AND_MACOS; + #else + return IDS_EXTENSION_PROMPT_WARNING_ENTERPRISE_REPORTING_PRIVATE; diff --git a/www/ungoogled-chromium/files/patch-chrome_common_media_cdm__host__file__path.cc b/www/ungoogled-chromium/files/patch-chrome_common_media_cdm__host__file__path.cc new file mode 100644 index 000000000000..da2b36d17556 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_media_cdm__host__file__path.cc @@ -0,0 +1,11 @@ +--- chrome/common/media/cdm_host_file_path.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/media/cdm_host_file_path.cc +@@ -94,7 +94,7 @@ void AddCdmHostFilePaths( + cdm_host_file_paths->emplace_back(chrome_framework_path, + chrome_framework_sig_path); + +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + base::FilePath chrome_exe_dir; + if (!base::PathService::Get(base::DIR_EXE, &chrome_exe_dir)) diff --git a/www/ungoogled-chromium/files/patch-chrome_common_pref__names.cc b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.cc new file mode 100644 index 000000000000..f6c3f3be0929 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.cc @@ -0,0 +1,56 @@ +--- chrome/common/pref_names.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/pref_names.cc +@@ -1249,7 +1249,7 @@ const char kUseAshProxy[] = "lacros.proxy.use_ash_prox + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Linux specific preference on whether we should match the system theme. + const char kUsesSystemTheme[] = "extensions.theme.use_system"; + #endif +@@ -1348,7 +1348,7 @@ const char kShowUpdatePromotionInfoBar[] = + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Boolean that is false if we should show window manager decorations. If + // true, we draw a custom chrome frame (thicker title bar and blue border). + const char kUseCustomChromeFrame[] = "browser.custom_chrome_frame"; +@@ -1854,7 +1854,7 @@ const char kDownloadDirUpgraded[] = "download.director + const char kDownloadLastCompleteTime[] = "download.last_complete_time"; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + const char kOpenPdfDownloadInSystemReader[] = + "download.open_pdf_in_system_reader"; + #endif +@@ -2151,7 +2151,7 @@ const char kWebAppsPreferences[] = "web_apps.web_app_i + // its isolation requirements. + const char kWebAppsIsolationState[] = "web_apps.isolation_state"; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + // Dictionary that maps origins to web apps that can act as URL handlers. + const char kWebAppsUrlHandlerInfo[] = "web_apps.url_handler_info"; +@@ -2251,7 +2251,7 @@ const char kAmbientAuthenticationInPrivateModesEnabled + // requests. + const char kBasicAuthOverHttpEnabled[] = "auth.basic_over_http_enabled"; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected + // along with kAuthNegotiateDelegateAllowlist. + const char kAuthNegotiateDelegateByKdcPolicy[] = +@@ -3275,7 +3275,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto + const char kSandboxExternalProtocolBlocked[] = + "profile.sandbox_external_protocol_blocked"; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Boolean that indicates if system notifications are allowed to be used in + // place of Chrome notifications. + const char kAllowSystemNotifications[] = "system_notifications.allowed"; diff --git a/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h new file mode 100644 index 000000000000..6b46a50e222b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_pref__names.h @@ -0,0 +1,56 @@ +--- chrome/common/pref_names.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/pref_names.h +@@ -389,7 +389,7 @@ extern const char kUseAshProxy[]; + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + extern const char kUsesSystemTheme[]; + #endif + extern const char kCurrentThemePackFilename[]; +@@ -414,7 +414,7 @@ extern const char kShowUpdatePromotionInfoBar[]; + #endif + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + extern const char kUseCustomChromeFrame[]; + #endif + #if BUILDFLAG(ENABLE_PLUGINS) +@@ -604,7 +604,7 @@ extern const char kDownloadAllowedURLsForOpenByPolicy[ + extern const char kDownloadDirUpgraded[]; + extern const char kDownloadLastCompleteTime[]; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + extern const char kOpenPdfDownloadInSystemReader[]; + #endif + #if BUILDFLAG(IS_ANDROID) +@@ -714,7 +714,7 @@ extern const char kWebAppsUninstalledDefaultChromeApps + extern const char kWebAppsPreferences[]; + extern const char kWebAppsIsolationState[]; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + extern const char kWebAppsUrlHandlerInfo[]; + #endif +@@ -846,7 +846,7 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[] + extern const char kAmbientAuthenticationInPrivateModesEnabled[]; + extern const char kBasicAuthOverHttpEnabled[]; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kAuthNegotiateDelegateByKdcPolicy[]; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) + +@@ -1115,7 +1115,7 @@ extern const char kBlockAutoplayEnabled[]; + #endif + extern const char kSandboxExternalProtocolBlocked[]; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const char kAllowSystemNotifications[]; + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_common_url__constants.cc b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.cc new file mode 100644 index 000000000000..6b7ac458f22b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.cc @@ -0,0 +1,11 @@ +--- chrome/common/url_constants.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/url_constants.cc +@@ -489,7 +489,7 @@ const char kPhoneHubPermissionLearnMoreURL[] = + "https://support.9oo91e.qjz9zk/chromebook/?p=multidevice"; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + const char kChromeAppsDeprecationLearnMoreURL[] = + "https://support.9oo91e.qjz9zk/chrome/?p=chrome_app_deprecation"; + #endif diff --git a/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h new file mode 100644 index 000000000000..f325c957ca5d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_url__constants.h @@ -0,0 +1,11 @@ +--- chrome/common/url_constants.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/url_constants.h +@@ -462,7 +462,7 @@ extern const char kOutdatedPluginLearnMoreURL[]; + extern const char kPhoneHubPermissionLearnMoreURL[]; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + + // "Learn more" URL for the chrome apps deprecation dialog. + extern const char kChromeAppsDeprecationLearnMoreURL[]; diff --git a/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc new file mode 100644 index 000000000000..24017ab34f64 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.cc @@ -0,0 +1,68 @@ +--- chrome/common/webui_url_constants.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/webui_url_constants.cc +@@ -478,18 +478,18 @@ const char kOsUIScanningAppURL[] = "os://scanning"; + const char kOsUIVersionURL[] = "os://version"; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kChromeUIWebUIJsErrorHost[] = "webuijserror"; + const char kChromeUIWebUIJsErrorURL[] = "chrome://webuijserror/"; + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + const char kChromeUIConnectorsInternalsHost[] = "connectors-internals"; + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kChromeUIDiscardsHost[] = "discards"; + const char kChromeUIDiscardsURL[] = "chrome://discards/"; + #endif +@@ -504,14 +504,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + const char kChromeUISandboxHost[] = "sandbox"; + #endif + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) + const char kChromeUIBrowserSwitchHost[] = "browser-switch"; + const char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/"; + const char kChromeUIEnterpriseProfileWelcomeHost[] = +@@ -527,7 +527,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro + const char kChromeUIProfilePickerStartupQuery[] = "startup"; + #endif + +-#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ ++#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ + defined(TOOLKIT_VIEWS)) || \ + defined(USE_AURA) + const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog"; +@@ -602,7 +602,7 @@ const char kPrivacySandboxSubPagePath[] = "/privacySan + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + const char kChromeUIWebAppSettingsURL[] = "chrome://app-settings/"; + const char kChromeUIWebAppSettingsHost[] = "app-settings"; + #endif +@@ -810,7 +810,7 @@ const char* const kChromeDebugURLs[] = { + blink::kChromeUIGpuJavaCrashURL, + kChromeUIJavaCrashURL, + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + kChromeUIWebUIJsErrorURL, + #endif + kChromeUIQuitURL, diff --git a/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h new file mode 100644 index 000000000000..998890eedc46 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_common_webui__url__constants.h @@ -0,0 +1,57 @@ +--- chrome/common/webui_url_constants.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/common/webui_url_constants.h +@@ -407,24 +407,24 @@ extern const char kOsUIScanningAppURL[]; + extern const char kOsUIVersionURL[]; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kChromeUIWebUIJsErrorHost[]; + extern const char kChromeUIWebUIJsErrorURL[]; + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + extern const char kChromeUIConnectorsInternalsHost[]; + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + extern const char kChromeUIDiscardsHost[]; + extern const char kChromeUIDiscardsURL[]; + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + extern const char kChromeUIWebAppSettingsURL[]; + extern const char kChromeUIWebAppSettingsHost[]; + #endif +@@ -439,14 +439,14 @@ extern const char kChromeUILinuxProxyConfigHost[]; + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + extern const char kChromeUISandboxHost[]; + #endif + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + extern const char kChromeUIBrowserSwitchHost[]; + extern const char kChromeUIBrowserSwitchURL[]; + extern const char kChromeUIEnterpriseProfileWelcomeHost[]; +@@ -459,7 +459,7 @@ extern const char kChromeUIProfilePickerUrl[]; + extern const char kChromeUIProfilePickerStartupQuery[]; + #endif + +-#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ ++#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ + defined(TOOLKIT_VIEWS)) || \ + defined(USE_AURA) + extern const char kChromeUITabModalConfirmDialogHost[]; diff --git a/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc b/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc new file mode 100644 index 000000000000..f58a7eb7fcc7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc @@ -0,0 +1,11 @@ +--- chrome/renderer/chrome_render_frame_observer.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/renderer/chrome_render_frame_observer.cc +@@ -342,7 +342,7 @@ void ChromeRenderFrameObserver::OnDestruct() { + + void ChromeRenderFrameObserver::DraggableRegionsChanged() { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Only the main frame is allowed to control draggable regions, to avoid other + // frames manipulate the regions in the browser process. + if (!render_frame()->IsMainFrame()) diff --git a/www/ungoogled-chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h b/www/ungoogled-chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h new file mode 100644 index 000000000000..c68e2ffb6434 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h @@ -0,0 +1,11 @@ +--- chrome/services/file_util/public/mojom/safe_document_analyzer_mojom_traits.h.orig 2022-10-01 07:40:07 UTC ++++ chrome/services/file_util/public/mojom/safe_document_analyzer_mojom_traits.h +@@ -16,7 +16,7 @@ + #include "mojo/public/cpp/bindings/struct_traits.h" + + #if !BUILDFLAG(FULL_SAFE_BROWSING) || \ +- (!BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_WIN)) ++ (!BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD)) + #error BUILDFLAG(FULL_SAFE_BROWSING) should be set and either OS_LINUX or OS_WIN defined. + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc b/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc new file mode 100644 index 000000000000..624461016424 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc @@ -0,0 +1,11 @@ +--- chrome/services/printing/print_backend_service_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/services/printing/print_backend_service_impl.cc +@@ -604,7 +604,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( + crash_keys_ = std::make_unique<crash_keys::ScopedPrinterInfo>( + print_backend_->GetPrinterDriverInfo(*printer_name)); + +-#if BUILDFLAG(IS_LINUX) && defined(USE_CUPS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_CUPS) + // Try to fill in advanced settings based upon basic info options. + PrinterBasicInfo basic_info; + if (print_backend_->GetPrinterBasicInfo(*printer_name, &basic_info) == diff --git a/www/ungoogled-chromium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc b/www/ungoogled-chromium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc new file mode 100644 index 000000000000..417e10c5f5e3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc @@ -0,0 +1,11 @@ +--- chrome/services/speech/audio_source_fetcher_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/services/speech/audio_source_fetcher_impl.cc +@@ -69,7 +69,7 @@ void AudioSourceFetcherImpl::Start( + + // TODO(crbug.com/1185978): Check implementation / sandbox policy on Mac and + // Windows. +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + is_started_ = true; + // Initialize the AudioCapturerSource with |this| as the CaptureCallback, + // get the parameters for the device ID, then start audio capture. diff --git a/www/ungoogled-chromium/files/patch-chrome_test_BUILD.gn b/www/ungoogled-chromium/files/patch-chrome_test_BUILD.gn new file mode 100644 index 000000000000..4e00722192cb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_test_BUILD.gn @@ -0,0 +1,11 @@ +--- chrome/test/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ chrome/test/BUILD.gn +@@ -9859,7 +9859,7 @@ test("chrome_app_unittests") { + "//components/heap_profiling/in_process", + "//components/safe_browsing:buildflags", + ] +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + deps += [ "//third_party/breakpad:client" ] + } + if (enable_gwp_asan) { diff --git a/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc b/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc new file mode 100644 index 000000000000..f8a58eebc7cc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc @@ -0,0 +1,10 @@ +--- chrome/test/chromedriver/chrome_launcher.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/test/chromedriver/chrome_launcher.cc +@@ -65,6 +65,7 @@ + #include <fcntl.h> + #include <sys/stat.h> + #include <sys/types.h> ++#include <sys/wait.h> + #include <unistd.h> + #elif BUILDFLAG(IS_WIN) + #include "chrome/test/chromedriver/keycode_text_conversion.h" diff --git a/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc b/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc new file mode 100644 index 000000000000..45b5391abb81 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc @@ -0,0 +1,20 @@ +--- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/test/chromedriver/chrome/chrome_finder.cc +@@ -53,7 +53,7 @@ void GetApplicationDirs(std::vector<base::FilePath>* l + installation_locations[i].Append(L"Chromium\\Application")); + } + } +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void GetApplicationDirs(std::vector<base::FilePath>* locations) { + // TODO: Respect users' PATH variables. + // Until then, we use an approximation of the most common defaults. +@@ -138,7 +138,7 @@ bool FindChrome(base::FilePath* browser_exe) { + base::FilePath browser_exes_array[] = { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + base::FilePath(chrome::kBrowserProcessExecutablePath), +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FilePath("google-chrome"), + base::FilePath(chrome::kBrowserProcessExecutablePath), + base::FilePath("chromium"), diff --git a/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc b/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc new file mode 100644 index 000000000000..824f38e7e4ab --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc @@ -0,0 +1,20 @@ +--- chrome/test/chromedriver/key_converter_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/test/chromedriver/key_converter_unittest.cc +@@ -246,7 +246,7 @@ TEST(KeyConverter, ToggleModifiers) { + CheckEventsReleaseModifiers(keys, key_events); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Fails on bots: crbug.com/174962 + #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols + #else +@@ -303,7 +303,7 @@ TEST(KeyConverter, AllEnglishKeyboardTextChars) { + TEST(KeyConverter, AllSpecialWebDriverKeysOnEnglishKeyboard) { + ui::ScopedKeyboardLayout keyboard_layout(ui::KEYBOARD_LAYOUT_ENGLISH_US); + const char kTextForKeys[] = { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + 0, 0, 0, 0, '\t', 0, '\r', '\r', 0, 0, 0, 0, 0, + #else + 0, 0, 0, 0, 0, 0, '\r', '\r', 0, 0, 0, 0, 0, diff --git a/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc b/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc new file mode 100644 index 000000000000..984e914d08dd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc @@ -0,0 +1,20 @@ +--- chrome/test/chromedriver/keycode_text_conversion_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/test/chromedriver/keycode_text_conversion_unittest.cc +@@ -67,7 +67,7 @@ std::string ConvertKeyCodeToTextNoError(ui::KeyboardCo + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Fails on bots: crbug.com/174962 + #define MAYBE_KeyCodeToText DISABLED_KeyCodeToText + #else +@@ -104,7 +104,7 @@ TEST(KeycodeTextConversionTest, MAYBE_KeyCodeToText) { + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Fails on bots: crbug.com/174962 + #define MAYBE_CharToKeyCode DISABLED_CharToKeyCode + #else diff --git a/www/ungoogled-chromium/files/patch-chrome_test_interaction_webui__interaction__test__util.cc b/www/ungoogled-chromium/files/patch-chrome_test_interaction_webui__interaction__test__util.cc new file mode 100644 index 000000000000..08779fd481e6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_test_interaction_webui__interaction__test__util.cc @@ -0,0 +1,11 @@ +--- chrome/test/interaction/webui_interaction_test_util.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/test/interaction/webui_interaction_test_util.cc +@@ -54,7 +54,7 @@ class RenderFrameHost; + + namespace { + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #define SUPPORTS_PIXEL_TESTS 1 + #else + #define SUPPORTS_PIXEL_TESTS 0 diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_app_app__install.cc b/www/ungoogled-chromium/files/patch-chrome_updater_app_app__install.cc new file mode 100644 index 000000000000..1a35ae2e11ca --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_updater_app_app__install.cc @@ -0,0 +1,11 @@ +--- chrome/updater/app/app_install.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/updater/app/app_install.cc +@@ -215,7 +215,7 @@ void AppInstall::WakeCandidate() { + update_service_internal, base::WrapRefCounted(this))); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/1276114) - implement. + void AppInstall::WakeCandidateDone() { + NOTIMPLEMENTED(); diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_app_app__uninstall.cc b/www/ungoogled-chromium/files/patch-chrome_updater_app_app__uninstall.cc new file mode 100644 index 000000000000..d65915c56048 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_updater_app_app__uninstall.cc @@ -0,0 +1,11 @@ +--- chrome/updater/app/app_uninstall.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/updater/app/app_uninstall.cc +@@ -32,7 +32,7 @@ + #include "chrome/updater/win/setup/uninstall.h" + #elif BUILDFLAG(IS_MAC) + #include "chrome/updater/mac/setup/setup.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/updater/linux/setup/setup.h" + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_configurator.cc b/www/ungoogled-chromium/files/patch-chrome_updater_configurator.cc new file mode 100644 index 000000000000..1757fce8fecf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_updater_configurator.cc @@ -0,0 +1,11 @@ +--- chrome/updater/configurator.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/updater/configurator.cc +@@ -41,7 +41,7 @@ + #include "chrome/updater/win/net/network.h" + #elif BUILDFLAG(IS_MAC) + #include "chrome/updater/mac/net/network.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/updater/linux/net/network.h" + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_device__management_dm__client.cc b/www/ungoogled-chromium/files/patch-chrome_updater_device__management_dm__client.cc new file mode 100644 index 000000000000..6e0c28022cb8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_updater_device__management_dm__client.cc @@ -0,0 +1,11 @@ +--- chrome/updater/device_management/dm_client.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/updater/device_management/dm_client.cc +@@ -36,7 +36,7 @@ + #include "chrome/updater/win/net/network.h" + #elif BUILDFLAG(IS_MAC) + #include "chrome/updater/mac/net/network.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/updater/linux/net/network.h" + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_device__management_dm__storage.cc b/www/ungoogled-chromium/files/patch-chrome_updater_device__management_dm__storage.cc new file mode 100644 index 000000000000..9d2d8337d81b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_updater_device__management_dm__storage.cc @@ -0,0 +1,20 @@ +--- chrome/updater/device_management/dm_storage.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/updater/device_management/dm_storage.cc +@@ -70,7 +70,7 @@ bool DeleteObsoletePolicies(const base::FilePath& cach + + } // namespace + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/1276162) - implement. + DMStorage::DMStorage(const base::FilePath& policy_cache_root) + : policy_cache_root_(policy_cache_root), +@@ -215,7 +215,7 @@ DMStorage::GetOmahaPolicySettings() const { + return omaha_settings; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/1276162) - implement. + scoped_refptr<DMStorage> GetDefaultDMStorage() { + NOTIMPLEMENTED(); diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_installer.cc b/www/ungoogled-chromium/files/patch-chrome_updater_installer.cc new file mode 100644 index 000000000000..6d7d6473fcfa --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_updater_installer.cc @@ -0,0 +1,11 @@ +--- chrome/updater/installer.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/updater/installer.cc +@@ -243,7 +243,7 @@ absl::optional<base::FilePath> Installer::GetCurrentIn + return path->AppendASCII(pv_.GetString()); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + AppInstallerResult RunApplicationInstaller( + const AppInfo& /*app_info*/, diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_updater.cc b/www/ungoogled-chromium/files/patch-chrome_updater_updater.cc new file mode 100644 index 000000000000..f6c0a90a6704 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_updater_updater.cc @@ -0,0 +1,11 @@ +--- chrome/updater/updater.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/updater/updater.cc +@@ -44,7 +44,7 @@ + #include "chrome/updater/win/win_util.h" + #elif BUILDFLAG(IS_MAC) + #include "chrome/updater/app/server/mac/server.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/updater/app/server/linux/server.h" + #endif + diff --git a/www/ungoogled-chromium/files/patch-chrome_updater_util.cc b/www/ungoogled-chromium/files/patch-chrome_updater_util.cc new file mode 100644 index 000000000000..9a24ce4bb535 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_updater_util.cc @@ -0,0 +1,11 @@ +--- chrome/updater/util.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/updater/util.cc +@@ -263,7 +263,7 @@ GURL AppendQueryParameter(const GURL& url, + return url.ReplaceComponents(replacements); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + // TODO(crbug.com/1276188) - implement the functions below. + absl::optional<base::FilePath> GetBaseInstallDirectory(UpdaterScope scope) { diff --git a/www/ungoogled-chromium/files/patch-chrome_utility_services.cc b/www/ungoogled-chromium/files/patch-chrome_utility_services.cc new file mode 100644 index 000000000000..28c42c2f3d12 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chrome_utility_services.cc @@ -0,0 +1,56 @@ +--- chrome/utility/services.cc.orig 2022-10-01 07:40:07 UTC ++++ chrome/utility/services.cc +@@ -56,7 +56,7 @@ + #include "chrome/services/system_signals/mac/mac_system_signals_service.h" + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/services/system_signals/linux/linux_system_signals_service.h" + #endif // BUILDFLAG(IS_LINUX) + +@@ -84,7 +84,7 @@ + #include "chrome/services/file_util/file_util_service.h" // nogncheck + #endif + +-#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)) ++#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) + #include "chrome/services/file_util/document_analysis_service.h" // nogncheck + #endif + +@@ -218,7 +218,7 @@ auto RunMacNotificationService( + } + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto RunSystemSignalsService( + mojo::PendingReceiver<device_signals::mojom::SystemSignalsService> + receiver) { +@@ -287,7 +287,7 @@ auto RunCupsIppParser( + } + #endif + +-#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)) ++#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) + auto RunDocumentAnalysis( + mojo::PendingReceiver<chrome::mojom::DocumentAnalysisService> receiver) { + return std::make_unique<DocumentAnalysisService>(std::move(receiver)); +@@ -471,7 +471,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& + services.Add(RunWindowsIconReader); + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + services.Add(RunSystemSignalsService); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + +@@ -487,7 +487,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& + services.Add(RunFileUtil); + #endif + +-#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN)) ++#if BUILDFLAG(FULL_SAFE_BROWSING) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) + services.Add(RunDocumentAnalysis); + #endif + diff --git a/www/ungoogled-chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc b/www/ungoogled-chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc new file mode 100644 index 000000000000..eb0b15685242 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc @@ -0,0 +1,38 @@ +--- chromecast/browser/cast_browser_main_parts.cc.orig 2022-10-01 07:40:07 UTC ++++ chromecast/browser/cast_browser_main_parts.cc +@@ -90,7 +90,7 @@ + #include "ui/base/ui_base_switches.h" + #include "ui/gl/gl_switches.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <fontconfig/fontconfig.h> + #include <signal.h> + #include <sys/prctl.h> +@@ -265,7 +265,7 @@ class CastViewsDelegate : public views::ViewsDelegate + + #endif // defined(USE_AURA) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + base::FilePath GetApplicationFontsDir() { + std::unique_ptr<base::Environment> env(base::Environment::Create()); +@@ -311,7 +311,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { + {cc::switches::kDisableThreadedAnimation, ""}, + #endif // BUILDFLAG(IS_ANDROID) + #endif // BUILDFLAG(IS_CAST_AUDIO_ONLY) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #if defined(ARCH_CPU_X86_FAMILY) + // This is needed for now to enable the x11 Ozone platform to work with + // current Linux/NVidia OpenGL drivers. +@@ -482,7 +482,7 @@ void CastBrowserMainParts::ToolkitInitialized() { + views_delegate_ = std::make_unique<CastViewsDelegate>(); + #endif // defined(USE_AURA) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FilePath dir_font = GetApplicationFontsDir(); + const FcChar8* dir_font_char8 = + reinterpret_cast<const FcChar8*>(dir_font.value().data()); diff --git a/www/ungoogled-chromium/files/patch-chromecast_browser_cast__content__browser__client.cc b/www/ungoogled-chromium/files/patch-chromecast_browser_cast__content__browser__client.cc new file mode 100644 index 000000000000..014dffd782d1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chromecast_browser_cast__content__browser__client.cc @@ -0,0 +1,11 @@ +--- chromecast/browser/cast_content_browser_client.cc.orig 2022-10-01 07:40:07 UTC ++++ chromecast/browser/cast_content_browser_client.cc +@@ -434,7 +434,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS + switches::kAudioOutputChannels)); + } + } else if (process_type == switches::kGpuProcess) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Necessary for accelerated 2d canvas. By default on Linux, Chromium + // assumes GLES2 contexts can be lost to a power-save mode, which breaks GPU + // canvas apps. diff --git a/www/ungoogled-chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc b/www/ungoogled-chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc new file mode 100644 index 000000000000..753872a00b8f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc @@ -0,0 +1,20 @@ +--- chromecast/media/base/default_monotonic_clock.cc.orig 2022-10-01 07:40:07 UTC ++++ chromecast/media/base/default_monotonic_clock.cc +@@ -11,7 +11,7 @@ + #include "base/time/time.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chromecast/media/base/buildflags.h" + #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS) +@@ -28,7 +28,7 @@ std::unique_ptr<MonotonicClock> MonotonicClock::Create + return std::make_unique<DefaultMonotonicClock>(); + } + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + int64_t MonotonicClockNow() { + timespec now = {0, 0}; + #if BUILDFLAG(MEDIA_CLOCK_MONOTONIC_RAW) diff --git a/www/ungoogled-chromium/files/patch-components_autofill__assistant_browser_autofill__assistant__impl.cc b/www/ungoogled-chromium/files/patch-components_autofill__assistant_browser_autofill__assistant__impl.cc new file mode 100644 index 000000000000..58b2bdd13f97 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_autofill__assistant_browser_autofill__assistant__impl.cc @@ -0,0 +1,11 @@ +--- components/autofill_assistant/browser/autofill_assistant_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ components/autofill_assistant/browser/autofill_assistant_impl.cc +@@ -150,7 +150,7 @@ void AutofillAssistantImpl::GetCapabilitiesByHashPrefi + client_context.set_platform_type(ClientContextProto::PLATFORM_TYPE_ANDROID); + #endif + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + client_context.set_platform_type(ClientContextProto::PLATFORM_TYPE_DESKTOP); + #endif + diff --git a/www/ungoogled-chromium/files/patch-components_autofill__assistant_browser_client__context.cc b/www/ungoogled-chromium/files/patch-components_autofill__assistant_browser_client__context.cc new file mode 100644 index 000000000000..3b44dfd77ad4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_autofill__assistant_browser_client__context.cc @@ -0,0 +1,11 @@ +--- components/autofill_assistant/browser/client_context.cc.orig 2022-10-01 07:40:07 UTC ++++ components/autofill_assistant/browser/client_context.cc +@@ -23,7 +23,7 @@ ClientContextImpl::ClientContextImpl(const Client* cli + proto_.set_platform_type(ClientContextProto::PLATFORM_TYPE_ANDROID); + #endif + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + proto_.set_platform_type(ClientContextProto::PLATFORM_TYPE_DESKTOP); + #endif + diff --git a/www/ungoogled-chromium/files/patch-components_autofill__payments__strings.grdp b/www/ungoogled-chromium/files/patch-components_autofill__payments__strings.grdp new file mode 100644 index 000000000000..b88b4e882f7c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_autofill__payments__strings.grdp @@ -0,0 +1,11 @@ +--- components/autofill_payments_strings.grdp.orig 2022-10-01 07:40:07 UTC ++++ components/autofill_payments_strings.grdp +@@ -127,7 +127,7 @@ + <message name="IDS_AUTOFILL_FIX_FLOW_PROMPT_SAVE_CARD_LABEL" desc="Text to show on the button to save the card to Google when the fix flow dialog is shown after the Autofill save card prompt." formatter_data="android_java"> + Save card + </message> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <then> + <message name="IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD" desc="Title text for the Autofill save card prompt when the card is to be saved by uploading it to Google Payments and also saved locally. The prompt can be either a bubble or an infobar."> + Do you want to save this card to your Google Account? diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc new file mode 100644 index 000000000000..bd3593d56c76 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc @@ -0,0 +1,12 @@ +--- components/autofill/core/browser/personal_data_manager.cc.orig 2022-10-01 07:40:07 UTC ++++ components/autofill/core/browser/personal_data_manager.cc +@@ -2057,7 +2057,8 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) || \ ++ BUILDFLAG(IS_BSD) + // This option should only be shown for users that have not enabled the Sync + // Feature and that have server credit cards available. + if (!sync_service_ || sync_service_->IsSyncFeatureEnabled() || diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc new file mode 100644 index 000000000000..f1edeeb51e1f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc @@ -0,0 +1,11 @@ +--- components/autofill/core/common/autofill_payments_features.cc.orig 2022-10-01 07:40:07 UTC ++++ components/autofill/core/common/autofill_payments_features.cc +@@ -237,7 +237,7 @@ const base::FeatureParam<int> + bool ShouldShowImprovedUserConsentForCreditCardSave() { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + // The new user consent UI is fully launched on MacOS, Windows and Linux. + return true; diff --git a/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__util.cc b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__util.cc new file mode 100644 index 000000000000..0e69778436af --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_autofill_core_common_autofill__util.cc @@ -0,0 +1,11 @@ +--- components/autofill/core/common/autofill_util.cc.orig 2022-10-01 07:40:07 UTC ++++ components/autofill/core/common/autofill_util.cc +@@ -154,7 +154,7 @@ bool SanitizedFieldIsEmpty(const std::u16string& value + + bool ShouldAutoselectFirstSuggestionOnArrowDown() { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return true; + #else + return false; diff --git a/www/ungoogled-chromium/files/patch-components_cast__channel_cast__message__util.cc b/www/ungoogled-chromium/files/patch-components_cast__channel_cast__message__util.cc new file mode 100644 index 000000000000..d933cc53c664 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_cast__channel_cast__message__util.cc @@ -0,0 +1,11 @@ +--- components/cast_channel/cast_message_util.cc.orig 2022-10-01 07:40:07 UTC ++++ components/cast_channel/cast_message_util.cc +@@ -169,7 +169,7 @@ int GetVirtualConnectPlatformValue() { + return 4; + #elif BUILDFLAG(IS_CHROMEOS_ASH) + return 5; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + return 6; + #else + return 0; diff --git a/www/ungoogled-chromium/files/patch-components_components__chromium__strings.grd b/www/ungoogled-chromium/files/patch-components_components__chromium__strings.grd new file mode 100644 index 000000000000..0f5aedc522b6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_components__chromium__strings.grd @@ -0,0 +1,11 @@ +--- components/components_chromium_strings.grd.orig 2022-10-01 07:40:07 UTC ++++ components/components_chromium_strings.grd +@@ -223,7 +223,7 @@ + </message> + </if> + <!-- The ChromeOS version of this string is defined in //components/error_page_strings.grdp. --> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="Linux instructions for disabling use of a proxy server."> + Go to + the Chromium menu > diff --git a/www/ungoogled-chromium/files/patch-components_components__google__chrome__strings.grd b/www/ungoogled-chromium/files/patch-components_components__google__chrome__strings.grd new file mode 100644 index 000000000000..db47c3f0e614 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_components__google__chrome__strings.grd @@ -0,0 +1,11 @@ +--- components/components_google_chrome_strings.grd.orig 2022-10-01 07:40:07 UTC ++++ components/components_google_chrome_strings.grd +@@ -230,7 +230,7 @@ + </message> + </if> + <!-- The ChromeOS version of this string is defined in //components/error_page_strings.grdp. --> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_ERRORPAGES_SUGGESTION_PROXY_DISABLE_PLATFORM" desc="Linux instructions for disabling use of a proxy server."> + Go to + the Chrome menu > diff --git a/www/ungoogled-chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc b/www/ungoogled-chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc new file mode 100644 index 000000000000..ee7c381f0b59 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_content__settings_core_browser_website__settings__registry.cc @@ -0,0 +1,11 @@ +--- components/content_settings/core/browser/website_settings_registry.cc.orig 2022-10-01 07:40:07 UTC ++++ components/content_settings/core/browser/website_settings_registry.cc +@@ -66,7 +66,7 @@ const WebsiteSettingsInfo* WebsiteSettingsRegistry::Re + #if BUILDFLAG(IS_WIN) + if (!(platform & PLATFORM_WINDOWS)) + return nullptr; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!(platform & PLATFORM_LINUX)) + return nullptr; + #elif BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-components_cookie__config_cookie__store__util.cc b/www/ungoogled-chromium/files/patch-components_cookie__config_cookie__store__util.cc new file mode 100644 index 000000000000..b8cfb001b843 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_cookie__config_cookie__store__util.cc @@ -0,0 +1,11 @@ +--- components/cookie_config/cookie_store_util.cc.orig 2022-10-01 07:40:07 UTC ++++ components/cookie_config/cookie_store_util.cc +@@ -12,7 +12,7 @@ + namespace cookie_config { + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + namespace { + + // Use the operating system's mechanisms to encrypt cookies before writing diff --git a/www/ungoogled-chromium/files/patch-components_crash_content_browser_BUILD.gn b/www/ungoogled-chromium/files/patch-components_crash_content_browser_BUILD.gn new file mode 100644 index 000000000000..80a33c372a41 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_crash_content_browser_BUILD.gn @@ -0,0 +1,29 @@ +--- components/crash/content/browser/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ components/crash/content/browser/BUILD.gn +@@ -21,7 +21,7 @@ source_set("browser") { + "//content/public/common", + ] + +- if (is_linux || is_chromeos || is_android) { ++ if ((is_linux && !is_bsd) || is_chromeos || is_android) { + # Want this file on both Linux and Android. + sources += [ + "crash_handler_host_linux.cc", +@@ -37,7 +37,7 @@ source_set("browser") { + + # This is not in the GYP build but this target includes breakpad client + # headers, so add the dependency here. +- if ((is_posix && !is_ios) || is_fuchsia) { ++ if ((is_posix && !is_ios && !is_bsd) || is_fuchsia) { + configs += [ "//third_party/breakpad:client_config" ] + public_configs = [ "//third_party/breakpad:client_config" ] + } +@@ -59,7 +59,7 @@ source_set("browser") { + "//components/crash/android:jni_headers", + "//mojo/public/cpp/bindings", + ] +- } else { ++ } else if (!is_bsd) { + deps += [ "//third_party/breakpad:client" ] + } + } diff --git a/www/ungoogled-chromium/files/patch-components_crash_core_app_BUILD.gn b/www/ungoogled-chromium/files/patch-components_crash_core_app_BUILD.gn new file mode 100644 index 000000000000..5450169ec6f5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_crash_core_app_BUILD.gn @@ -0,0 +1,52 @@ +--- components/crash/core/app/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ components/crash/core/app/BUILD.gn +@@ -52,7 +52,7 @@ static_library("app") { + "crashpad.h", + ] + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ + "breakpad_linux.cc", + "breakpad_linux.h", +@@ -62,6 +62,10 @@ static_library("app") { + ] + } + ++ if (is_bsd) { ++ sources -= [ "crashpad.cc" ] ++ } ++ + defines = [ "CRASH_IMPLEMENTATION" ] + + public_deps = [ ":lib" ] +@@ -93,7 +97,7 @@ static_library("app") { + libs = [ "log" ] + } + +- if (is_android || is_linux || is_chromeos) { ++ if ((is_android || is_linux || is_chromeos) && !is_bsd) { + deps += [ + "//base:base_static", + "//components/crash/core/common", +@@ -101,7 +105,7 @@ static_library("app") { + ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + deps += [ "//third_party/breakpad:client" ] + } + +@@ -221,11 +225,6 @@ if (is_mac || is_android || is_linux || is_chromeos) { + # define custom UserStreamDataSources. + executable("chrome_crashpad_handler") { + sources = [ "chrome_crashpad_handler.cc" ] +- +- deps = [ +- ":crashpad_handler_main", +- "//third_party/crashpad/crashpad/handler", +- ] + + if (is_mac && (is_component_build || is_asan)) { + ldflags = [ diff --git a/www/ungoogled-chromium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc b/www/ungoogled-chromium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc new file mode 100644 index 000000000000..c03ff87afc81 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc @@ -0,0 +1,12 @@ +--- components/crash/core/app/chrome_crashpad_handler.cc.orig 2022-10-01 07:40:07 UTC ++++ components/crash/core/app/chrome_crashpad_handler.cc +@@ -6,5 +6,9 @@ + extern "C" int CrashpadHandlerMain(int argc, char* argv[]); + + int main(int argc, char* argv[]) { ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++ return -1; ++#else + return CrashpadHandlerMain(argc, argv); ++#endif + } diff --git a/www/ungoogled-chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc b/www/ungoogled-chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc new file mode 100644 index 000000000000..25a4075cb518 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc @@ -0,0 +1,16 @@ +--- components/crash/core/browser/crash_upload_list_crashpad.cc.orig 2022-10-01 07:40:07 UTC ++++ components/crash/core/browser/crash_upload_list_crashpad.cc +@@ -51,9 +51,13 @@ std::vector<UploadList::UploadInfo> CrashUploadListCra + + void CrashUploadListCrashpad::ClearUploadList(const base::Time& begin, + const base::Time& end) { ++#if !defined(OS_BSD) + crash_reporter::ClearReportsBetween(begin, end); ++#endif + } + + void CrashUploadListCrashpad::RequestSingleUpload(const std::string& local_id) { ++#if !defined(OS_BSD) + crash_reporter::RequestSingleCrashUpload(local_id); ++#endif + } diff --git a/www/ungoogled-chromium/files/patch-components_crash_core_common_BUILD.gn b/www/ungoogled-chromium/files/patch-components_crash_core_common_BUILD.gn new file mode 100644 index 000000000000..bdc08a3634c9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_crash_core_common_BUILD.gn @@ -0,0 +1,20 @@ +--- components/crash/core/common/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ components/crash/core/common/BUILD.gn +@@ -8,7 +8,7 @@ import("//components/gwp_asan/buildflags/buildflags.gn + + declare_args() { + # If set to true, this will stub out and disable the entire crash key system. +- use_crash_key_stubs = is_fuchsia ++ use_crash_key_stubs = is_fuchsia || is_bsd + } + + group("common") { +@@ -190,7 +190,7 @@ source_set("unit_tests") { + sources += [ "crash_key_breakpad_ios_unittest.cc" ] + deps += [ "//third_party/breakpad:client" ] + include_dirs = [ "//third_party/breakpad/breakpad/src/" ] +- } else if (!is_mac && !is_win && !is_fuchsia && !is_android) { ++ } else if (!is_mac && !is_win && !is_fuchsia && !is_android && !is_bsd) { + include_dirs = [ "//third_party/breakpad/breakpad/src/" ] + sources += [ "crash_key_breakpad_unittest.cc" ] + } diff --git a/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.cc b/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.cc new file mode 100644 index 000000000000..9b73ce14388f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.cc @@ -0,0 +1,11 @@ +--- components/device_signals/core/common/signals_features.cc.orig 2022-10-01 07:40:07 UTC ++++ components/device_signals/core/common/signals_features.cc +@@ -18,7 +18,7 @@ const base::FeatureParam<bool> kDisableAntiVirus{&kNew + const base::FeatureParam<bool> kDisableHotfix{&kNewEvSignalsEnabled, + "DisableHotfix", false}; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // Enables the consent promo for sharing device signal when a managed user + // signs in on an unmanaged device. This occurs after the sign-in intercept + // and before the sync promo (if enabled) diff --git a/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.h b/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.h new file mode 100644 index 000000000000..3c556b7cb45e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_device__signals_core_common_signals__features.h @@ -0,0 +1,11 @@ +--- components/device_signals/core/common/signals_features.h.orig 2022-10-01 07:40:07 UTC ++++ components/device_signals/core/common/signals_features.h +@@ -20,7 +20,7 @@ extern const base::FeatureParam<bool> kDisableSettings + extern const base::FeatureParam<bool> kDisableAntiVirus; + extern const base::FeatureParam<bool> kDisableHotfix; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + extern const base::Feature kDeviceSignalsPromoAfterSigninIntercept; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + diff --git a/www/ungoogled-chromium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc b/www/ungoogled-chromium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc new file mode 100644 index 000000000000..52414a062c8e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_device__signals_core_system__signals_platform__delegate.cc @@ -0,0 +1,11 @@ +--- components/device_signals/core/system_signals/platform_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ components/device_signals/core/system_signals/platform_delegate.cc +@@ -11,7 +11,7 @@ namespace device_signals { + + bool CustomFilePathComparator::operator()(const base::FilePath& a, + const base::FilePath& b) const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Linux, the file system is case sensitive. + return a < b; + #else diff --git a/www/ungoogled-chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc b/www/ungoogled-chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc new file mode 100644 index 000000000000..3cf12b8ef80a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc @@ -0,0 +1,11 @@ +--- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2022-10-01 07:40:07 UTC ++++ components/discardable_memory/service/discardable_shared_memory_manager.cc +@@ -171,7 +171,7 @@ uint64_t GetDefaultMemoryLimit() { + // Limits the number of FDs used to 32, assuming a 4MB allocation size. + uint64_t max_default_memory_limit = 128 * kMegabyte; + #else +- uint64_t max_default_memory_limit = 512 * kMegabyte; ++ uint64_t max_default_memory_limit = 128 * kMegabyte; + #endif + + // Use 1/8th of discardable memory on low-end devices. diff --git a/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc b/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc new file mode 100644 index 000000000000..48b2b6c7b88d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_embedder__support_user__agent__utils__unittest.cc @@ -0,0 +1,20 @@ +--- components/embedder_support/user_agent_utils_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ components/embedder_support/user_agent_utils_unittest.cc +@@ -80,7 +80,7 @@ const char kDesktop[] = + "Safari/537.36"; + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::string GetMachine() { + struct utsname unixinfo; + uname(&unixinfo); +@@ -188,7 +188,7 @@ void CheckUserAgentStringOrdering(bool mobile_device) + int value; + ASSERT_TRUE(base::StringToInt(pieces[i], &value)); + } +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // X11; Linux x86_64 + ASSERT_EQ(2u, pieces.size()); + ASSERT_EQ("X11", pieces[0]); diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_event__constants.cc b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_event__constants.cc new file mode 100644 index 000000000000..a8aaca73b6af --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_event__constants.cc @@ -0,0 +1,11 @@ +--- components/feature_engagement/public/event_constants.cc.orig 2022-10-01 07:40:07 UTC ++++ components/feature_engagement/public/event_constants.cc +@@ -11,7 +11,7 @@ namespace feature_engagement { + namespace events { + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + const char kNewTabOpened[] = "new_tab_opened"; + const char kSixthTabOpened[] = "sixth_tab_opened"; + const char kTabGroupCreated[] = "tab_group_created"; diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_event__constants.h b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_event__constants.h new file mode 100644 index 000000000000..e853dbb20322 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_event__constants.h @@ -0,0 +1,11 @@ +--- components/feature_engagement/public/event_constants.h.orig 2022-10-01 07:40:07 UTC ++++ components/feature_engagement/public/event_constants.h +@@ -13,7 +13,7 @@ namespace events { + + // Desktop + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // The user has explicitly opened a new tab via an entry point from inside of + // Chrome. + extern const char kNewTabOpened[]; diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc new file mode 100644 index 000000000000..48d746886957 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__configurations.cc @@ -0,0 +1,21 @@ +--- components/feature_engagement/public/feature_configurations.cc.orig 2022-10-01 07:40:07 UTC ++++ components/feature_engagement/public/feature_configurations.cc +@@ -35,7 +35,7 @@ FeatureConfig CreateAlwaysTriggerConfig(const base::Fe + absl::optional<FeatureConfig> GetClientSideFeatureConfig( + const base::Feature* feature) { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (kIPHPasswordsAccountStorageFeature.name == feature->name) { + absl::optional<FeatureConfig> config = FeatureConfig(); + config->valid = true; +@@ -904,7 +904,8 @@ absl::optional<FeatureConfig> GetClientSideFeatureConf + #endif // BUILDFLAG(IS_ANDROID) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ ++ BUILDFLAG(IS_BSD) + if (kIPHAutofillVirtualCardSuggestionFeature.name == feature->name) { + // A config that allows the virtual card credit card suggestion IPH to be + // shown when: diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc new file mode 100644 index 000000000000..c27e974e1c7d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.cc @@ -0,0 +1,20 @@ +--- components/feature_engagement/public/feature_constants.cc.orig 2022-10-01 07:40:07 UTC ++++ components/feature_engagement/public/feature_constants.cc +@@ -24,7 +24,7 @@ const base::Feature kIPHDummyFeature{"IPH_Dummy", + base::FEATURE_DISABLED_BY_DEFAULT}; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + const base::Feature kIPHDesktopSharedHighlightingFeature{ + "IPH_DesktopSharedHighlighting", base::FEATURE_DISABLED_BY_DEFAULT}; + const base::Feature kIPHDesktopTabGroupsNewGroupFeature{ +@@ -294,7 +294,7 @@ const base::Feature kIPHOverflowMenuTipFeature{ + "IPH_OverflowMenuTip", base::FEATURE_DISABLED_BY_DEFAULT}; + #endif // BUILDFLAG(IS_IOS) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + const base::Feature kIPHAutofillVirtualCardSuggestionFeature{ + "IPH_AutofillVirtualCardSuggestion", base::FEATURE_ENABLED_BY_DEFAULT}; diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h new file mode 100644 index 000000000000..2bb3d52f6d7c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__constants.h @@ -0,0 +1,20 @@ +--- components/feature_engagement/public/feature_constants.h.orig 2022-10-01 07:40:07 UTC ++++ components/feature_engagement/public/feature_constants.h +@@ -32,7 +32,7 @@ extern const base::Feature kIPHDummyFeature; + extern const base::Feature kEnableIPH; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + extern const base::Feature kIPHDesktopSharedHighlightingFeature; + extern const base::Feature kIPHDesktopTabGroupsNewGroupFeature; + extern const base::Feature kIPHFocusHelpBubbleScreenReaderPromoFeature; +@@ -178,7 +178,7 @@ extern const base::Feature kIPHFollowWhileBrowsingFeat + extern const base::Feature kIPHOverflowMenuTipFeature; + #endif // BUILDFLAG(IS_IOS) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + extern const base::Feature kIPHAutofillVirtualCardSuggestionFeature; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc new file mode 100644 index 000000000000..7cf69232ce82 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.cc @@ -0,0 +1,21 @@ +--- components/feature_engagement/public/feature_list.cc.orig 2022-10-01 07:40:07 UTC ++++ components/feature_engagement/public/feature_list.cc +@@ -118,7 +118,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHOverflowMenuTipFeature, + #endif // BUILDFLAG(IS_IOS) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + &kIPHDesktopTabGroupsNewGroupFeature, + &kIPHFocusHelpBubbleScreenReaderPromoFeature, + &kIPHGMCCastStartStopFeature, +@@ -142,7 +142,8 @@ const base::Feature* const kAllFeatures[] = { + // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ ++ BUILDFLAG(IS_BSD) + &kIPHAutofillVirtualCardSuggestionFeature, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || diff --git a/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h new file mode 100644 index 000000000000..e40ab862c1c7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feature__engagement_public_feature__list.h @@ -0,0 +1,40 @@ +--- components/feature_engagement/public/feature_list.h.orig 2022-10-01 07:40:07 UTC ++++ components/feature_engagement/public/feature_list.h +@@ -216,7 +216,7 @@ DEFINE_VARIATION_PARAM(kIPHOverflowMenuTipFeature, "IP + #endif // BUILDFLAG(IS_IOS) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + DEFINE_VARIATION_PARAM(kIPHDesktopTabGroupsNewGroupFeature, + "IPH_DesktopTabGroupsNewGroup"); + DEFINE_VARIATION_PARAM(kIPHFocusModeFeature, "IPH_FocusMode"); +@@ -249,7 +249,8 @@ DEFINE_VARIATION_PARAM(kIPHWebUiHelpBubbleTestFeature, + // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ ++ BUILDFLAG(IS_BSD) + DEFINE_VARIATION_PARAM(kIPHAutofillVirtualCardSuggestionFeature, + "IPH_AutofillVirtualCardSuggestion"); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || +@@ -351,7 +352,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation + VARIATION_ENTRY(kIPHFollowWhileBrowsingFeature), + VARIATION_ENTRY(kIPHOverflowMenuTipFeature), + #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + VARIATION_ENTRY(kIPHDesktopTabGroupsNewGroupFeature), + VARIATION_ENTRY(kIPHFocusModeFeature), + VARIATION_ENTRY(kIPHGlobalMediaControls), +@@ -376,7 +377,8 @@ constexpr flags_ui::FeatureEntry::FeatureVariation + // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ ++ BUILDFLAG(IS_BSD) + VARIATION_ENTRY(kIPHAutofillVirtualCardSuggestionFeature), + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || diff --git a/www/ungoogled-chromium/files/patch-components_feed_core_proto_v2_wire_version.proto b/www/ungoogled-chromium/files/patch-components_feed_core_proto_v2_wire_version.proto new file mode 100644 index 000000000000..2f58534a63e0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feed_core_proto_v2_wire_version.proto @@ -0,0 +1,13 @@ +--- components/feed/core/proto/v2/wire/version.proto.orig 2022-10-01 07:40:07 UTC ++++ components/feed/core/proto/v2/wire/version.proto +@@ -25,8 +25,8 @@ message Version { + BETA = 3; + RELEASE = 4; + } +- optional int32 major = 1; +- optional int32 minor = 2; ++ optional int32 gmajor = 1; ++ optional int32 gminor = 2; + optional int32 build = 3; + optional int32 revision = 4; + optional Architecture architecture = 5; diff --git a/www/ungoogled-chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc b/www/ungoogled-chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc new file mode 100644 index 000000000000..4ee893275001 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc @@ -0,0 +1,13 @@ +--- components/feed/core/v2/feed_network_impl_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ components/feed/core/v2/feed_network_impl_unittest.cc +@@ -807,8 +807,8 @@ TEST_F(FeedNetworkTest, SendApiRequest_DecodesClientIn + + EXPECT_EQ(feedwire::ClientInfo::CHROME_ANDROID, client_info.app_type()); + EXPECT_EQ(feedwire::Version::RELEASE, client_info.app_version().build_type()); +- EXPECT_EQ(1, client_info.app_version().major()); +- EXPECT_EQ(2, client_info.app_version().minor()); ++ EXPECT_EQ(1, client_info.app_version().gmajor()); ++ EXPECT_EQ(2, client_info.app_version().gminor()); + EXPECT_EQ(3, client_info.app_version().build()); + EXPECT_EQ(4, client_info.app_version().revision()); + EXPECT_FALSE(client_info.chrome_client_info().start_surface()); diff --git a/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc b/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc new file mode 100644 index 000000000000..e96b8092f96a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util.cc @@ -0,0 +1,24 @@ +--- components/feed/core/v2/proto_util.cc.orig 2022-10-01 07:40:07 UTC ++++ components/feed/core/v2/proto_util.cc +@@ -90,8 +90,8 @@ feedwire::Version GetPlatformVersionMessage() { + + int32_t major, minor, revision; + base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &revision); +- result.set_major(major); +- result.set_minor(minor); ++ result.set_gmajor(major); ++ result.set_gminor(minor); + result.set_revision(revision); + #if BUILDFLAG(IS_ANDROID) + result.set_api_version(base::android::BuildInfo::GetInstance()->sdk_int()); +@@ -106,8 +106,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf + // Chrome's version is in the format: MAJOR,MINOR,BUILD,PATCH. + const std::vector<uint32_t>& numbers = chrome_info.version.components(); + if (numbers.size() > 3) { +- result.set_major(static_cast<int32_t>(numbers[0])); +- result.set_minor(static_cast<int32_t>(numbers[1])); ++ result.set_gmajor(static_cast<int32_t>(numbers[0])); ++ result.set_gminor(static_cast<int32_t>(numbers[1])); + result.set_build(static_cast<int32_t>(numbers[2])); + result.set_revision(static_cast<int32_t>(numbers[3])); + } diff --git a/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc b/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc new file mode 100644 index 000000000000..cb267087ae62 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc @@ -0,0 +1,13 @@ +--- components/feed/core/v2/proto_util_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ components/feed/core/v2/proto_util_unittest.cc +@@ -42,8 +42,8 @@ TEST(ProtoUtilTest, CreateClientInfo) { + feedwire::ClientInfo result = CreateClientInfo(request_metadata); + EXPECT_EQ(feedwire::ClientInfo::CHROME_ANDROID, result.app_type()); + EXPECT_EQ(feedwire::Version::RELEASE, result.app_version().build_type()); +- EXPECT_EQ(1, result.app_version().major()); +- EXPECT_EQ(2, result.app_version().minor()); ++ EXPECT_EQ(1, result.app_version().gmajor()); ++ EXPECT_EQ(2, result.app_version().gminor()); + EXPECT_EQ(3, result.app_version().build()); + EXPECT_EQ(4, result.app_version().revision()); + EXPECT_FALSE(result.chrome_client_info().start_surface()); diff --git a/www/ungoogled-chromium/files/patch-components_feed_core_v2_test_proto__printer.cc b/www/ungoogled-chromium/files/patch-components_feed_core_v2_test_proto__printer.cc new file mode 100644 index 000000000000..9e76c9f619c3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_feed_core_v2_test_proto__printer.cc @@ -0,0 +1,13 @@ +--- components/feed/core/v2/test/proto_printer.cc.orig 2022-10-01 07:40:07 UTC ++++ components/feed/core/v2/test/proto_printer.cc +@@ -157,8 +157,8 @@ class TextProtoPrinter { + } + TextProtoPrinter& operator<<(const feedwire::Version& v) { + BeginMessage(); +- PRINT_FIELD(major); +- PRINT_FIELD(minor); ++ PRINT_FIELD(gmajor); ++ PRINT_FIELD(gminor); + PRINT_FIELD(build); + PRINT_FIELD(revision); + PRINT_FIELD(architecture); diff --git a/www/ungoogled-chromium/files/patch-components_flags__ui_flags__state.cc b/www/ungoogled-chromium/files/patch-components_flags__ui_flags__state.cc new file mode 100644 index 000000000000..79d02662b268 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_flags__ui_flags__state.cc @@ -0,0 +1,11 @@ +--- components/flags_ui/flags_state.cc.orig 2022-10-01 07:40:07 UTC ++++ components/flags_ui/flags_state.cc +@@ -681,7 +681,7 @@ unsigned short FlagsState::GetCurrentPlatform() { + return kOsCrOS; + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + return kOsLacros; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return kOsLinux; + #elif BUILDFLAG(IS_ANDROID) + return kOsAndroid; diff --git a/www/ungoogled-chromium/files/patch-components_gwp__asan_BUILD.gn b/www/ungoogled-chromium/files/patch-components_gwp__asan_BUILD.gn new file mode 100644 index 000000000000..20011f07ddcb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_gwp__asan_BUILD.gn @@ -0,0 +1,11 @@ +--- components/gwp_asan/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ components/gwp_asan/BUILD.gn +@@ -14,7 +14,7 @@ test("gwp_asan_unittests") { + "//components/gwp_asan/common:unit_tests", + "//testing/gtest", + ] +- if (is_win || is_mac || is_linux || is_chromeos || is_android) { ++ if ((is_win || is_mac || is_linux || is_chromeos || is_android) && !is_bsd) { + deps += [ + "//components/gwp_asan/client:unit_tests", + "//components/gwp_asan/crash_handler:unit_tests", diff --git a/www/ungoogled-chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc b/www/ungoogled-chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc new file mode 100644 index 000000000000..c8b955c2a8e6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc @@ -0,0 +1,20 @@ +--- components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2022-10-01 07:40:07 UTC ++++ components/gwp_asan/crash_handler/crash_analyzer.cc +@@ -26,7 +26,7 @@ + #include "third_party/crashpad/crashpad/snapshot/process_snapshot.h" + #include "third_party/crashpad/crashpad/util/process/process_memory.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include <signal.h> + #elif BUILDFLAG(IS_APPLE) + #include <mach/exception_types.h> +@@ -81,7 +81,7 @@ bool CrashAnalyzer::GetExceptionInfo( + + crashpad::VMAddress CrashAnalyzer::GetAccessAddress( + const crashpad::ExceptionSnapshot& exception) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + if (exception.Exception() == SIGSEGV || exception.Exception() == SIGBUS) + return exception.ExceptionAddress(); + #elif BUILDFLAG(IS_APPLE) diff --git a/www/ungoogled-chromium/files/patch-components_invalidation_impl_invalidation__switches.cc b/www/ungoogled-chromium/files/patch-components_invalidation_impl_invalidation__switches.cc new file mode 100644 index 000000000000..7453082a0fa0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_invalidation_impl_invalidation__switches.cc @@ -0,0 +1,11 @@ +--- components/invalidation/impl/invalidation_switches.cc.orig 2022-10-01 07:40:07 UTC ++++ components/invalidation/impl/invalidation_switches.cc +@@ -21,7 +21,7 @@ const int kDefaultInstanceIDTokenTTLSeconds = 14 * 24 + const base::Feature kSyncInstanceIDTokenTTL { + "SyncInstanceIDTokenTTL", + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/ungoogled-chromium/files/patch-components_live__caption_caption__util.cc b/www/ungoogled-chromium/files/patch-components_live__caption_caption__util.cc new file mode 100644 index 000000000000..26f40a5c1b8e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_live__caption_caption__util.cc @@ -0,0 +1,11 @@ +--- components/live_caption/caption_util.cc.orig 2022-10-01 07:40:07 UTC ++++ components/live_caption/caption_util.cc +@@ -140,7 +140,7 @@ bool IsLiveCaptionFeatureSupported() { + return false; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Check if the CPU has the required instruction set to run the Speech + // On-Device API (SODA) library. + static bool has_sse41 = base::CPU().has_sse41(); diff --git a/www/ungoogled-chromium/files/patch-components_metrics_drive__metrics__provider__linux.cc b/www/ungoogled-chromium/files/patch-components_metrics_drive__metrics__provider__linux.cc new file mode 100644 index 000000000000..e6add558bf0d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_metrics_drive__metrics__provider__linux.cc @@ -0,0 +1,16 @@ +--- components/metrics/drive_metrics_provider_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ components/metrics/drive_metrics_provider_linux.cc +@@ -4,7 +4,13 @@ + + #include "components/metrics/drive_metrics_provider.h" + ++#if defined(OS_BSD) ++#include <sys/types.h> ++#define MAJOR(dev) major(dev) ++#define MINOR(dev) minor(dev) ++#else + #include <linux/kdev_t.h> // For MAJOR()/MINOR(). ++#endif + #include <sys/stat.h> + #include <string> + diff --git a/www/ungoogled-chromium/files/patch-components_metrics_motherboard.cc b/www/ungoogled-chromium/files/patch-components_metrics_motherboard.cc new file mode 100644 index 000000000000..e98a187c6c58 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_metrics_motherboard.cc @@ -0,0 +1,10 @@ +--- components/metrics/motherboard.cc.orig 2022-10-01 07:40:07 UTC ++++ components/metrics/motherboard.cc +@@ -1,6 +1,7 @@ + // Copyright 2022 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. ++// CHECK + + #include "components/metrics/motherboard.h" + diff --git a/www/ungoogled-chromium/files/patch-components_neterror_resources_neterror.js b/www/ungoogled-chromium/files/patch-components_neterror_resources_neterror.js new file mode 100644 index 000000000000..4e7118206988 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_neterror_resources_neterror.js @@ -0,0 +1,11 @@ +--- components/neterror/resources/neterror.js.orig 2022-10-01 07:40:07 UTC ++++ components/neterror/resources/neterror.js +@@ -130,7 +130,7 @@ function detailsButtonClick() { + + let primaryControlOnLeft = true; + // clang-format off +-// <if expr="is_macosx or is_ios or is_linux or is_chromeos or is_android"> ++// <if expr="is_macosx or is_ios or is_posix or is_chromeos or is_android"> + // clang-format on + primaryControlOnLeft = false; + // </if> diff --git a/www/ungoogled-chromium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc b/www/ungoogled-chromium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc new file mode 100644 index 000000000000..eb6b751ce2b9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc @@ -0,0 +1,11 @@ +--- components/network_session_configurator/browser/network_session_configurator.cc.orig 2022-10-01 07:40:07 UTC ++++ components/network_session_configurator/browser/network_session_configurator.cc +@@ -824,7 +824,7 @@ net::URLRequestContextBuilder::HttpCacheParams::Type C + } + #endif // #if !BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return net::URLRequestContextBuilder::HttpCacheParams::DISK_SIMPLE; + #else + return net::URLRequestContextBuilder::HttpCacheParams::DISK_BLOCKFILE; diff --git a/www/ungoogled-chromium/files/patch-components_network__session__configurator_browser_network__session__configurator__unittest.cc b/www/ungoogled-chromium/files/patch-components_network__session__configurator_browser_network__session__configurator__unittest.cc new file mode 100644 index 000000000000..c464fc6f34bf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_network__session__configurator_browser_network__session__configurator__unittest.cc @@ -0,0 +1,11 @@ +--- components/network_session_configurator/browser/network_session_configurator_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ components/network_session_configurator/browser/network_session_configurator_unittest.cc +@@ -833,7 +833,7 @@ TEST_F(NetworkSessionConfiguratorTest, HostRules) { + } + + TEST_F(NetworkSessionConfiguratorTest, DefaultCacheBackend) { +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + EXPECT_EQ(net::URLRequestContextBuilder::HttpCacheParams::DISK_SIMPLE, + ChooseCacheType()); + #elif BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-components_new__or__sad__tab__strings.grdp b/www/ungoogled-chromium/files/patch-components_new__or__sad__tab__strings.grdp new file mode 100644 index 000000000000..2e1c39c706a8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_new__or__sad__tab__strings.grdp @@ -0,0 +1,20 @@ +--- components/new_or_sad_tab_strings.grdp.orig 2022-10-01 07:40:07 UTC ++++ components/new_or_sad_tab_strings.grdp +@@ -66,7 +66,7 @@ + Close other tabs or apps + </message> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_SAD_TAB_RELOAD_CLOSE_TABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other Chrome tabs or programs running on their computer."> + Close other tabs or programs + </message> +@@ -76,7 +76,7 @@ + Close other apps + </message> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_SAD_TAB_RELOAD_CLOSE_NOTABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other programs running on their computer (Linux)."> + Close other programs + </message> diff --git a/www/ungoogled-chromium/files/patch-components_optimization__guide_core_optimization__guide__util.cc b/www/ungoogled-chromium/files/patch-components_optimization__guide_core_optimization__guide__util.cc new file mode 100644 index 000000000000..d4211fedec9c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_optimization__guide_core_optimization__guide__util.cc @@ -0,0 +1,11 @@ +--- components/optimization_guide/core/optimization_guide_util.cc.orig 2022-10-01 07:40:07 UTC ++++ components/optimization_guide/core/optimization_guide_util.cc +@@ -25,7 +25,7 @@ optimization_guide::proto::Platform GetPlatform() { + return optimization_guide::proto::PLATFORM_CHROMEOS; + #elif BUILDFLAG(IS_ANDROID) + return optimization_guide::proto::PLATFORM_ANDROID; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return optimization_guide::proto::PLATFORM_LINUX; + #else + return optimization_guide::proto::PLATFORM_UNKNOWN; diff --git a/www/ungoogled-chromium/files/patch-components_os__crypt_keyring__util__linux.cc b/www/ungoogled-chromium/files/patch-components_os__crypt_keyring__util__linux.cc new file mode 100644 index 000000000000..924b5ad9cf95 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_os__crypt_keyring__util__linux.cc @@ -0,0 +1,17 @@ +--- components/os_crypt/keyring_util_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ components/os_crypt/keyring_util_linux.cc +@@ -68,12 +68,12 @@ bool GnomeKeyringLoader::LoadGnomeKeyring() { + if (keyring_loaded) + return true; + +- void* handle = dlopen("libgnome-keyring.so.0", RTLD_NOW | RTLD_GLOBAL); ++ void* handle = dlopen("libgnome-keyring.so", RTLD_NOW | RTLD_GLOBAL); + if (!handle) { + // We wanted to use GNOME Keyring, but we couldn't load it. Warn, because + // either the user asked for this, or we autodetected it incorrectly. (Or + // the system has broken libraries, which is also good to warn about.) +- LOG(WARNING) << "Could not load libgnome-keyring.so.0: " << dlerror(); ++ LOG(WARNING) << "Could not load libgnome-keyring.so: " << dlerror(); + return false; + } + diff --git a/www/ungoogled-chromium/files/patch-components_os__crypt_libsecret__util__linux.cc b/www/ungoogled-chromium/files/patch-components_os__crypt_libsecret__util__linux.cc new file mode 100644 index 000000000000..c1580cd34c36 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_os__crypt_libsecret__util__linux.cc @@ -0,0 +1,18 @@ +--- components/os_crypt/libsecret_util_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ components/os_crypt/libsecret_util_linux.cc +@@ -102,13 +102,13 @@ bool LibsecretLoader::LoadLibsecret() { + if (libsecret_loaded_) + return true; + +- static void* handle = dlopen("libsecret-1.so.0", RTLD_NOW | RTLD_GLOBAL); ++ static void* handle = dlopen("libsecret-1.so", RTLD_NOW | RTLD_GLOBAL); + if (!handle) { + // We wanted to use libsecret, but we couldn't load it. Warn, because + // either the user asked for this, or we autodetected it incorrectly. (Or + // the system has broken libraries, which is also good to warn about.) + // TODO(crbug.com/607435): Channel this message to the user-facing log +- VLOG(1) << "Could not load libsecret-1.so.0: " << dlerror(); ++ VLOG(1) << "Could not load libsecret-1.so: " << dlerror(); + return false; + } + diff --git a/www/ungoogled-chromium/files/patch-components_os__crypt_os__crypt.h b/www/ungoogled-chromium/files/patch-components_os__crypt_os__crypt.h new file mode 100644 index 000000000000..f1b85204420f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_os__crypt_os__crypt.h @@ -0,0 +1,72 @@ +--- components/os_crypt/os_crypt.h.orig 2022-10-01 07:40:07 UTC ++++ components/os_crypt/os_crypt.h +@@ -15,7 +15,7 @@ + #include "build/build_config.h" + #include "build/chromecast_buildflags.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + class KeyStorageLinux; + #endif // BUILDFLAG(IS_LINUX) + +@@ -24,7 +24,7 @@ class PrefRegistrySimple; + class PrefService; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + namespace crypto { + class SymmetricKey; + } +@@ -37,7 +37,7 @@ struct Config; + // Temporary interface due to OSCrypt refactor. See OSCryptImpl for descriptions + // of what each function does. + namespace OSCrypt { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(OS_CRYPT) + void SetConfig(std::unique_ptr<os_crypt::Config> config); + #endif // BUILDFLAG(IS_LINUX) +@@ -82,7 +82,7 @@ COMPONENT_EXPORT(OS_CRYPT) void UseMockKeyForTesting(b + COMPONENT_EXPORT(OS_CRYPT) void SetLegacyEncryptionForTesting(bool legacy); + COMPONENT_EXPORT(OS_CRYPT) void ResetStateForTesting(); + #endif // BUILDFLAG(IS_WIN) +-#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(OS_CRYPT) + void UseMockKeyStorageForTesting( + base::OnceCallback<std::unique_ptr<KeyStorageLinux>()> +@@ -109,7 +109,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { + // Returns singleton instance of OSCryptImpl. + static OSCryptImpl* GetInstance(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Set the configuration of OSCryptImpl. + // This method, or SetRawEncryptionKey(), must be called before using + // EncryptString() and DecryptString(). +@@ -201,7 +201,7 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { + void ResetStateForTesting(); + #endif + +-#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) + // For unit testing purposes, inject methods to be used. + // |storage_provider_factory| provides the desired |KeyStorage| + // implementation. If the provider returns |nullptr|, a hardcoded password +@@ -226,13 +226,13 @@ class COMPONENT_EXPORT(OS_CRYPT) OSCryptImpl { + crypto::SymmetricKey* GetEncryptionKey(); + #endif // BUILDFLAG(IS_APPLE) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + // This lock is used to make the GetEncryptionKey and + // GetRawEncryptionKey methods thread-safe. + static base::Lock& GetLock(); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Create the KeyStorage. Will be null if no service is found. A Config must + // be set before every call to this method. + std::unique_ptr<KeyStorageLinux> CreateKeyStorage(); diff --git a/www/ungoogled-chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc b/www/ungoogled-chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc new file mode 100644 index 000000000000..a919f1758101 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc @@ -0,0 +1,13 @@ +--- components/paint_preview/browser/paint_preview_client.cc.orig 2022-10-01 07:40:07 UTC ++++ components/paint_preview/browser/paint_preview_client.cc +@@ -309,8 +309,8 @@ void PaintPreviewClient::CapturePaintPreview( + metadata->set_url(url.spec()); + metadata->set_version(kPaintPreviewVersion); + auto* chromeVersion = metadata->mutable_chrome_version(); +- chromeVersion->set_major(CHROME_VERSION_MAJOR); +- chromeVersion->set_minor(CHROME_VERSION_MINOR); ++ chromeVersion->set_gmajor(CHROME_VERSION_MAJOR); ++ chromeVersion->set_gminor(CHROME_VERSION_MINOR); + chromeVersion->set_build(CHROME_VERSION_BUILD); + chromeVersion->set_patch(CHROME_VERSION_PATCH); + document_data.callback = std::move(callback); diff --git a/www/ungoogled-chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc b/www/ungoogled-chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc new file mode 100644 index 000000000000..4a711056abdd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc @@ -0,0 +1,13 @@ +--- components/paint_preview/browser/paint_preview_client_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ components/paint_preview/browser/paint_preview_client_unittest.cc +@@ -171,8 +171,8 @@ TEST_P(PaintPreviewClientRenderViewHostTest, CaptureMa + metadata->set_url(expected_url.spec()); + metadata->set_version(kPaintPreviewVersion); + auto* chromeVersion = metadata->mutable_chrome_version(); +- chromeVersion->set_major(CHROME_VERSION_MAJOR); +- chromeVersion->set_minor(CHROME_VERSION_MINOR); ++ chromeVersion->set_gmajor(CHROME_VERSION_MAJOR); ++ chromeVersion->set_gminor(CHROME_VERSION_MINOR); + chromeVersion->set_build(CHROME_VERSION_BUILD); + chromeVersion->set_patch(CHROME_VERSION_PATCH); + PaintPreviewFrameProto* main_frame = expected_proto.mutable_root_frame(); diff --git a/www/ungoogled-chromium/files/patch-components_paint__preview_common_proto_paint__preview.proto b/www/ungoogled-chromium/files/patch-components_paint__preview_common_proto_paint__preview.proto new file mode 100644 index 000000000000..eb79178c7cc4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_paint__preview_common_proto_paint__preview.proto @@ -0,0 +1,13 @@ +--- components/paint_preview/common/proto/paint_preview.proto.orig 2022-10-01 07:40:07 UTC ++++ components/paint_preview/common/proto/paint_preview.proto +@@ -82,8 +82,8 @@ message PaintPreviewFrameProto { + // Stores Chrome version. + // NEXT_TAG = 5 + message ChromeVersionProto { +- optional uint64 major = 1; +- optional uint64 minor = 2; ++ optional uint64 gmajor = 1; ++ optional uint64 gminor = 2; + optional uint64 build = 3; + optional uint64 patch = 4; + } diff --git a/www/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc b/www/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc new file mode 100644 index 000000000000..fe792ef11614 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc @@ -0,0 +1,13 @@ +--- components/paint_preview/player/player_compositor_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ components/paint_preview/player/player_compositor_delegate.cc +@@ -444,8 +444,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT + // use the AXTreeUpdate. + auto chrome_version = capture_result_->proto.metadata().chrome_version(); + if (capture_result_->proto.metadata().has_chrome_version() && +- chrome_version.major() == CHROME_VERSION_MAJOR && +- chrome_version.minor() == CHROME_VERSION_MINOR && ++ chrome_version.gmajor() == CHROME_VERSION_MAJOR && ++ chrome_version.gminor() == CHROME_VERSION_MINOR && + chrome_version.build() == CHROME_VERSION_BUILD && + chrome_version.patch() == CHROME_VERSION_PATCH) { + paint_preview_service_->GetFileMixin()->GetAXTreeUpdate( diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_login__database.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_login__database.cc new file mode 100644 index 000000000000..6b086ba64c3e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_login__database.cc @@ -0,0 +1,29 @@ +--- components/password_manager/core/browser/login_database.cc.orig 2022-10-01 07:40:07 UTC ++++ components/password_manager/core/browser/login_database.cc +@@ -731,7 +731,7 @@ std::string GeneratePlaceholders(size_t count) { + return result; + } + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Fills |form| with necessary data required to be removed from the database + // and returns it. + PasswordForm GetFormForRemoval(sql::Statement& statement) { +@@ -748,7 +748,7 @@ PasswordForm GetFormForRemoval(sql::Statement& stateme + // Whether we should try to return the decryptable passwords while the + // encryption service fails for some passwords. + bool ShouldReturnPartialPasswords() { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled(features::kSkipUndecryptablePasswords); + #else + return false; +@@ -1577,7 +1577,7 @@ bool LoginDatabase::DeleteAndRecreateDatabaseFile() { + } + + DatabaseCleanupResult LoginDatabase::DeleteUndecryptableLogins() { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + TRACE_EVENT0("passwords", "LoginDatabase::DeleteUndecryptableLogins"); + // If the Keychain in MacOS or the real secret key in Linux is unavailable, + // don't delete any logins. diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc new file mode 100644 index 000000000000..e994089de766 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_login__database__unittest.cc @@ -0,0 +1,29 @@ +--- components/password_manager/core/browser/login_database_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ components/password_manager/core/browser/login_database_unittest.cc +@@ -2092,7 +2092,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd + base::HistogramTester histogram_tester; + ASSERT_TRUE(db.Init()); + +-#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) ++#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) + // Make sure that we can't get any logins when database is corrupted. + // Disabling the checks in chromecast because encryption is unavailable. + std::vector<std::unique_ptr<PasswordForm>> result; +@@ -2118,7 +2118,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, DeleteUnd + #endif + + // Check histograms. +-#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) ++#if BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) + histogram_tester.ExpectUniqueSample("PasswordManager.CleanedUpPasswords", 2, + 1); + histogram_tester.ExpectUniqueSample( +@@ -2170,7 +2170,7 @@ TEST_F(LoginDatabaseUndecryptableLoginsTest, KeychainL + } + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Test getting auto sign in logins when there are undecryptable ones + TEST_F(LoginDatabaseUndecryptableLoginsTest, GetAutoSignInLogins) { + PrimaryKeyToFormMap key_to_form_map; diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_sync_password__sync__bridge.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_sync_password__sync__bridge.cc new file mode 100644 index 000000000000..b7776d7069d2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_browser_sync_password__sync__bridge.cc @@ -0,0 +1,20 @@ +--- components/password_manager/core/browser/sync/password_sync_bridge.cc.orig 2022-10-01 07:40:07 UTC ++++ components/password_manager/core/browser/sync/password_sync_bridge.cc +@@ -177,7 +177,7 @@ bool ShouldRecoverPasswordsDuringMerge() { + // Delete the local undecryptable copy when this is MacOS only. + #if BUILDFLAG(IS_MAC) + return true; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled( + features::kSyncUndecryptablePasswordsLinux); + #else +@@ -186,7 +186,7 @@ bool ShouldRecoverPasswordsDuringMerge() { + } + + bool ShouldCleanSyncMetadataDuringStartupWhenDecryptionFails() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return ShouldRecoverPasswordsDuringMerge() && + base::FeatureList::IsEnabled( + features::kForceInitialSyncWhenDecryptionFails); diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.cc b/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.cc new file mode 100644 index 000000000000..7dbd032149eb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.cc @@ -0,0 +1,28 @@ +--- components/password_manager/core/common/password_manager_features.cc.orig 2022-10-01 07:40:07 UTC ++++ components/password_manager/core/common/password_manager_features.cc +@@ -83,7 +83,7 @@ const base::Feature kFillingAcrossAffiliatedWebsites{ + const base::Feature kFillOnAccountSelect = {"fill-on-account-select", + base::FEATURE_DISABLED_BY_DEFAULT}; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // When enabled, initial sync will be forced during startup if the password + // store has encryption service failures. + const base::Feature kForceInitialSyncWhenDecryptionFails = { +@@ -189,14 +189,14 @@ const base::Feature kRecoverFromNeverSaveAndroid = { + const base::Feature kPasswordStrengthIndicator = { + "PasswordStrengthIndicator", base::FEATURE_DISABLED_BY_DEFAULT}; + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Displays at least the decryptable and never saved logins in the password + // manager + const base::Feature kSkipUndecryptablePasswords = { + "SkipUndecryptablePasswords", base::FEATURE_DISABLED_BY_DEFAULT}; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // When enabled, all undecryptable passwords are deleted from the local database + // during initial sync flow. + const base::Feature kSyncUndecryptablePasswordsLinux = { diff --git a/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.h b/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.h new file mode 100644 index 000000000000..78ca670c8d79 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_password__manager_core_common_password__manager__features.h @@ -0,0 +1,24 @@ +--- components/password_manager/core/common/password_manager_features.h.orig 2022-10-01 07:40:07 UTC ++++ components/password_manager/core/common/password_manager_features.h +@@ -37,7 +37,7 @@ extern const base::Feature KEnablePasswordGenerationFo + extern const base::Feature kEnablePasswordManagerWithinFencedFrame; + extern const base::Feature kFillingAcrossAffiliatedWebsites; + extern const base::Feature kFillOnAccountSelect; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const base::Feature kForceInitialSyncWhenDecryptionFails; + #endif + extern const base::Feature kInferConfirmationPasswordField; +@@ -63,10 +63,10 @@ extern const base::Feature kPasswordReuseDetectionEnab + extern const base::Feature kPasswordScriptsFetching; + extern const base::Feature kPasswordStrengthIndicator; + extern const base::Feature kRecoverFromNeverSaveAndroid; +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const base::Feature kSkipUndecryptablePasswords; + #endif +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const base::Feature kSyncUndecryptablePasswordsLinux; + #endif + #if BUILDFLAG(IS_ANDROID) diff --git a/www/ungoogled-chromium/files/patch-components_performance__manager_public_features.h b/www/ungoogled-chromium/files/patch-components_performance__manager_public_features.h new file mode 100644 index 000000000000..313517a226cf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_performance__manager_public_features.h @@ -0,0 +1,11 @@ +--- components/performance_manager/public/features.h.orig 2022-10-01 07:40:07 UTC ++++ components/performance_manager/public/features.h +@@ -20,7 +20,7 @@ extern const base::Feature kRunOnMainThread; + + #if !BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #define URGENT_DISCARDING_FROM_PERFORMANCE_MANAGER() false + #else + #define URGENT_DISCARDING_FROM_PERFORMANCE_MANAGER() true diff --git a/www/ungoogled-chromium/files/patch-components_permissions_prediction__service_prediction__common.cc b/www/ungoogled-chromium/files/patch-components_permissions_prediction__service_prediction__common.cc new file mode 100644 index 000000000000..d655e13e6739 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_permissions_prediction__service_prediction__common.cc @@ -0,0 +1,20 @@ +--- components/permissions/prediction_service/prediction_common.cc.orig 2022-10-01 07:40:07 UTC ++++ components/permissions/prediction_service/prediction_common.cc +@@ -33,7 +33,7 @@ int BucketizeValue(int count) { + + ClientFeatures_Platform GetCurrentPlatformProto() { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return permissions::ClientFeatures_Platform_PLATFORM_DESKTOP; + #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + return permissions::ClientFeatures_Platform_PLATFORM_MOBILE; +@@ -44,7 +44,7 @@ ClientFeatures_Platform GetCurrentPlatformProto() { + + ClientFeatures_PlatformEnum GetCurrentPlatformEnumProto() { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return permissions::ClientFeatures_PlatformEnum_PLATFORM_DESKTOP_V2; + #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + return permissions::ClientFeatures_PlatformEnum_PLATFORM_MOBILE_V2; diff --git a/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc b/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc new file mode 100644 index 000000000000..871cd617c130 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc @@ -0,0 +1,11 @@ +--- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2022-10-01 07:40:07 UTC ++++ components/policy/core/browser/policy_pref_mapping_test.cc +@@ -338,7 +338,7 @@ class PolicyTestCase { + const std::string os("chromeos_lacros"); + #elif BUILDFLAG(IS_IOS) + const std::string os("ios"); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const std::string os("linux"); + #elif BUILDFLAG(IS_MAC) + const std::string os("mac"); diff --git a/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc b/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc new file mode 100644 index 000000000000..9ec77c61a2c4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc @@ -0,0 +1,11 @@ +--- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2022-10-01 07:40:07 UTC ++++ components/policy/core/common/cloud/cloud_policy_client.cc +@@ -447,7 +447,7 @@ void CloudPolicyClient::FetchPolicy() { + fetch_request->set_invalidation_payload(invalidation_payload_); + } + } +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Only set browser device identifier for CBCM Chrome cloud policy on + // desktop. + if (type_to_fetch.first == diff --git a/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc new file mode 100644 index 000000000000..2504a7ecdb0e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc @@ -0,0 +1,55 @@ +--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2022-10-01 07:40:07 UTC ++++ components/policy/core/common/cloud/cloud_policy_util.cc +@@ -20,7 +20,7 @@ + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ +- BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include <pwd.h> + #include <sys/types.h> + #include <unistd.h> +@@ -35,10 +35,15 @@ + #import <SystemConfiguration/SCDynamicStoreCopySpecific.h> + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include <limits.h> // For HOST_NAME_MAX + #endif + ++#if BUILDFLAG(IS_FREEBSD) ++#include <sys/param.h> ++#define HOST_NAME_MAX MAXHOSTNAMELEN ++#endif ++ + #include <utility> + + #include "base/check.h" +@@ -82,7 +87,7 @@ namespace em = enterprise_management; + + std::string GetMachineName() { + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + char hostname[HOST_NAME_MAX]; + if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success. + return hostname; +@@ -140,7 +145,7 @@ std::string GetMachineName() { + + std::string GetOSVersion() { + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + return base::SysInfo::OperatingSystemVersion(); + #elif BUILDFLAG(IS_WIN) + base::win::OSInfo::VersionNumber version_number = +@@ -163,7 +168,7 @@ std::string GetOSArchitecture() { + } + + std::string GetOSUsername() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + struct passwd* creds = getpwuid(getuid()); + if (!creds || !creds->pw_name) + return std::string(); diff --git a/www/ungoogled-chromium/files/patch-components_policy_resources_policy__templates.json b/www/ungoogled-chromium/files/patch-components_policy_resources_policy__templates.json new file mode 100644 index 000000000000..fed8532f39e2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_policy_resources_policy__templates.json @@ -0,0 +1,200 @@ +--- components/policy/resources/policy_templates.json.orig 2022-10-01 07:40:07 UTC ++++ components/policy/resources/policy_templates.json +@@ -1446,7 +1446,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'pastarmovj@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win7:11-', 'chrome.mac:11-', 'chrome.linux:11-'], ++ 'supported_on': ['chrome.win7:11-', 'chrome.mac:11-', 'chrome.linux:11-', 'chrome.openbsd:11-', 'chrome.freebsd:11-'], + 'future_on': ['fuchsia'], + 'features': { + 'dynamic_refresh': True, +@@ -2596,7 +2596,7 @@ + 'owners': ['file://remoting/OWNERS', 'jamiewalch@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-'], ++ 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome.openbsd:25-', 'chrome.freebsd:25-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': False, +@@ -4386,7 +4386,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'pastarmovj@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-'], ++ 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-', 'chrome.openbsd:88-', 'chrome.freebsd:88-'], + 'future_on': ['fuchsia'], + 'features': { + 'dynamic_refresh': False, +@@ -4416,7 +4416,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'pastarmovj@ch40m1um.qjz9zk'], + 'type': 'string', + 'schema': { 'type': 'string' }, +- 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-'], ++ 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-', 'chrome.openbsd:88-', 'chrome.freebsd:88-'], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, +@@ -5400,7 +5400,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:74-','chrome.mac:74-','chrome_os:74-'], ++ 'supported_on': ['chrome.linux:74-','chrome.mac:74-','chrome_os:74-','chrome.openbsd:74-','chrome.freebsd:74-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': False, +@@ -5462,7 +5462,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@ch40m1um.qjz9zk'], + 'type': 'string', + 'schema': { 'type': 'string' }, +- 'supported_on': ['chrome.linux:9-'], ++ 'supported_on': ['chrome.linux:9-','chrome.openbsd:9-','chrome.freebsd:9-'], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, +@@ -5529,7 +5529,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-'], ++ 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-','chrome.openbsd:63-','chrome.freebsd:63-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': False, +@@ -11143,7 +11143,7 @@ + 'owners': ['file://net/cert/OWNERS', 'rsleevi@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-'], ++ 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-', 'chrome.openbsd:30-', 'chrome.freebsd:30-'], + 'future_on': ['fuchsia'], + 'features': { + 'dynamic_refresh': True, +@@ -11268,7 +11268,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'pmarko@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome_os:77-83', 'chrome.linux:79-83', 'chrome.mac:83-'], ++ 'supported_on': ['chrome_os:77-83', 'chrome.linux:79-83', 'chrome.mac:83-', 'chrome.openbsd:79-83', 'chrome.freebsd:79-83'], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, +@@ -13532,7 +13532,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'pmarko@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:19-', 'chrome.linux:19-'], ++ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.openbsd:19-', 'chrome.freebsd:19-'], + 'features': { + 'can_be_recommended': True, + 'dynamic_refresh': True, +@@ -14402,7 +14402,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'bartfab@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-'], ++ 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-', 'chrome.openbsd:31-', 'chrome.freebsd:31-'], + 'future_on': ['fuchsia'], + 'features': { + 'dynamic_refresh': True, +@@ -17239,7 +17239,7 @@ + 'deprecated': True, + 'schema': { 'type': 'boolean' }, + 'supported_on': ['chrome.win:64-', 'chrome.mac:66-', 'android:65-'], +- 'future_on': ['chrome.linux'], ++ 'future_on': ['chrome.linux','chrome.openbsd','chrome.freebsd'], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, +@@ -21470,7 +21470,7 @@ + 'items': { 'type': 'string' } + }, + # Spell checking is provided by macOS, so can't be controlled on Mac. +- 'supported_on': ['chrome.win:65-', 'chrome.linux:65-', 'chrome_os:65-'], ++ 'supported_on': ['chrome.win:65-', 'chrome.linux:65-', 'chrome_os:65-', 'chrome.openbsd:65-', 'chrome.freebsd:65-'], + 'features': { + 'can_be_recommended': False, + 'dynamic_refresh': True, +@@ -21501,7 +21501,7 @@ + 'items': { 'type': 'string' } + }, + # Spell checking is provided by macOS, so can't be controlled on Mac. +- 'supported_on': ['chrome.win:75-100', 'chrome.linux:75-100', 'chrome_os:75-100'], ++ 'supported_on': ['chrome.win:75-100', 'chrome.linux:75-100', 'chrome_os:75-100', 'chrome.openbsd:75-100', 'chrome.freebsd:75-100'], + 'deprecated': True, + 'features': { + 'can_be_recommended': False, +@@ -21535,7 +21535,7 @@ + 'items': { 'type': 'string' } + }, + # Spell checking is provided by macOS, so can't be controlled on Mac. +- 'supported_on': ['chrome.win:86-', 'chrome.linux:86-', 'chrome_os:86-'], ++ 'supported_on': ['chrome.win:86-', 'chrome.linux:86-', 'chrome_os:86-', 'chrome.openbsd:86-', 'chrome.freebsd:86-'], + 'features': { + 'can_be_recommended': False, + 'dynamic_refresh': True, +@@ -22319,7 +22319,7 @@ + 'owners': ['fbeaufort@ch40m1um.qjz9zk', 'beccahughes@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:66-', 'chrome.linux:66-', 'chrome.mac:66-', 'chrome_os:66-'], ++ 'supported_on': ['chrome.win:66-', 'chrome.linux:66-', 'chrome.mac:66-', 'chrome_os:66-', 'chrome.openbsd:66-', 'chrome.freebsd:66-'], + 'future_on': ['fuchsia'], + 'features': { + 'dynamic_refresh': True, +@@ -27015,7 +27015,7 @@ + 'owners': ['file://services/audio/OWNERS', 'dalecurtis@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:79-', 'chrome.linux:79-', 'chrome.mac:79-'], ++ 'supported_on': ['chrome.win:79-', 'chrome.linux:79-', 'chrome.mac:79-', 'chrome.openbsd:79-', 'chrome.freebsd:79-'], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, +@@ -28415,7 +28415,7 @@ If this policy is left unset, privacy screen is disabl + 'owners': ['file://chrome/browser/notifications/OWNERS', 'knollr@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:83-100'], ++ 'supported_on': ['chrome.linux:83-100','chrome.openbsd:83-100','chrome.freebsd:83-100'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': True, +@@ -28439,7 +28439,7 @@ If set to False, <ph name="PRODUCT_NAME">$1<ex>Google + 'owners': ['file://chrome/browser/notifications/OWNERS'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:90-'], ++ 'supported_on': ['chrome.linux:90-','chrome.openbsd:90-','chrome.freebsd:90-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': True, +@@ -29549,7 +29549,7 @@ If you disable this policy, web page scrolling to spec + 'owners': ['asumaneev@9oo91e.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:91-92', 'chrome_os:91-'], ++ 'supported_on': ['chrome.linux:91-92', 'chrome_os:91-', 'chrome.openbsd:91-', 'chrome.freebsd:91-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': False, +@@ -30851,7 +30851,7 @@ This is the same behavior as <ph name="POLICY_VALUE_PR + }, + ], + 'default': True, +- 'supported_on': ['chrome.win:93-', 'chrome.linux:93-', 'chrome.mac:93-'], ++ 'supported_on': ['chrome.win:93-', 'chrome.linux:93-', 'chrome.mac:93-', 'chrome.openbsd:93-', 'chrome.freebsd:93-'], + 'future_on': ['fuchsia'], + 'features': { + 'dynamic_refresh': True, +@@ -30985,7 +30985,7 @@ This is the same behavior as <ph name="POLICY_VALUE_PR + 'owners': ['mattm@ch40m1um.qjz9zk'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:104-', 'chrome.mac:104-', 'chrome.linux:104-'], ++ 'supported_on': ['chrome.win:104-', 'chrome.mac:104-', 'chrome.linux:104-', 'chrome.openbsd:104-', 'chrome.freebsd:104-'], + 'future_on': ['fuchsia'], + 'features': { + 'dynamic_refresh': True, diff --git a/www/ungoogled-chromium/files/patch-components_policy_tools_generate__policy__source.py b/www/ungoogled-chromium/files/patch-components_policy_tools_generate__policy__source.py new file mode 100644 index 000000000000..f062ca5f186e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_policy_tools_generate__policy__source.py @@ -0,0 +1,14 @@ +--- components/policy/tools/generate_policy_source.py.orig 2022-10-01 07:40:07 UTC ++++ components/policy/tools/generate_policy_source.py +@@ -50,8 +50,10 @@ PLATFORM_STRINGS = { + 'fuchsia': ['fuchsia'], + 'chrome.win': ['win'], + 'chrome.linux': ['linux'], ++ 'chrome.openbsd': ['openbsd'], ++ 'chrome.freebsd': ['freebsd'], + 'chrome.mac': ['mac'], +- 'chrome.*': ['win', 'mac', 'linux'], ++ 'chrome.*': ['win', 'mac', 'linux', 'openbsd', 'freebsd'], + 'chrome.win7': ['win'], + } + diff --git a/www/ungoogled-chromium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc b/www/ungoogled-chromium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc new file mode 100644 index 000000000000..5e39baf441ab --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc @@ -0,0 +1,11 @@ +--- components/safe_browsing/content/common/file_type_policies_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ components/safe_browsing/content/common/file_type_policies_unittest.cc +@@ -139,7 +139,7 @@ TEST_F(FileTypePoliciesTest, UnpackResourceBundle) { + EXPECT_EQ(DownloadFileType::FULL_PING, file_type.ping_setting()); + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + EXPECT_EQ(DownloadFileType::ALLOW_ON_USER_GESTURE, + file_type.platform_settings(0).danger_level()); + EXPECT_EQ(DownloadFileType::DISALLOW_AUTO_OPEN, diff --git a/www/ungoogled-chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py b/www/ungoogled-chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py new file mode 100644 index 000000000000..1b374397d17c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py @@ -0,0 +1,19 @@ +--- components/safe_browsing/content/resources/gen_file_type_proto.py.orig 2022-10-01 07:40:07 UTC ++++ components/safe_browsing/content/resources/gen_file_type_proto.py +@@ -35,6 +35,7 @@ def PlatformTypes(): + download_file_types_pb2.DownloadFileType.PLATFORM_CHROME_OS, + "fuchsia": download_file_types_pb2.DownloadFileType.PLATFORM_FUCHSIA, + "linux": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, ++ "openbsd": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, + "mac": download_file_types_pb2.DownloadFileType.PLATFORM_MAC, + "win": download_file_types_pb2.DownloadFileType.PLATFORM_WINDOWS, + } +@@ -179,7 +180,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera + '-t', + '--type', + help='The platform type. One of android, chromeos, ' + +- 'linux, mac, win') ++ 'linux, mac, win, openbsd') + + def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command): + if opts.type is not None: diff --git a/www/ungoogled-chromium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc b/www/ungoogled-chromium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc new file mode 100644 index 000000000000..525ac7d1c7c2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc @@ -0,0 +1,11 @@ +--- components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc.orig 2022-10-01 07:40:07 UTC ++++ components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc +@@ -113,7 +113,7 @@ std::ostream& operator<<(std::ostream& os, const ListI + PlatformType GetCurrentPlatformType() { + #if BUILDFLAG(IS_WIN) + return WINDOWS_PLATFORM; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return LINUX_PLATFORM; + #elif BUILDFLAG(IS_IOS) + return IOS_PLATFORM; diff --git a/www/ungoogled-chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc b/www/ungoogled-chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc new file mode 100644 index 000000000000..72560abd432c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc @@ -0,0 +1,11 @@ +--- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2022-10-01 07:40:07 UTC ++++ components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc +@@ -108,7 +108,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { + return RTLookupRequest::OS_TYPE_FUCHSIA; + #elif BUILDFLAG(IS_IOS) + return RTLookupRequest::OS_TYPE_IOS; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return RTLookupRequest::OS_TYPE_LINUX; + #elif BUILDFLAG(IS_MAC) + return RTLookupRequest::OS_TYPE_MAC; diff --git a/www/ungoogled-chromium/files/patch-components_security__interstitials_content_utils.cc b/www/ungoogled-chromium/files/patch-components_security__interstitials_content_utils.cc new file mode 100644 index 000000000000..bcdd6a0d1641 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_security__interstitials_content_utils.cc @@ -0,0 +1,11 @@ +--- components/security_interstitials/content/utils.cc.orig 2022-10-01 07:40:07 UTC ++++ components/security_interstitials/content/utils.cc +@@ -34,7 +34,7 @@ void LaunchDateAndTimeSettings() { + #if BUILDFLAG(IS_ANDROID) + JNIEnv* env = base::android::AttachCurrentThread(); + Java_DateAndTimeSettingsHelper_openDateAndTimeSettings(env); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + struct ClockCommand { + const char* const pathname; + const char* const argument; diff --git a/www/ungoogled-chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/www/ungoogled-chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc new file mode 100644 index 000000000000..89910e39fa81 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc @@ -0,0 +1,29 @@ +--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc +@@ -19,7 +19,7 @@ + + #if BUILDFLAG(IS_WIN) + #include "content/public/child/dwrite_font_proxy_init_win.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/services/font/public/cpp/font_loader.h" + #endif + +@@ -64,7 +64,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp + // Initialize font access for Skia. + #if BUILDFLAG(IS_WIN) + content::InitializeDWriteFontProxy(); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + mojo::PendingRemote<font_service::mojom::FontService> font_service; + content::UtilityThread::Get()->BindHostReceiver( + font_service.InitWithNewPipeAndPassReceiver()); +@@ -87,7 +87,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp + base::BindOnce([] { SkFontMgr::RefDefault(); })); + + // Sanity check that fonts are working. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // No WebSandbox is provided on Linux so the local fonts aren't accessible. + // This is fine since since the subsetted fonts are provided in the SkPicture. + // However, we still need to check that the SkFontMgr starts as it is used by diff --git a/www/ungoogled-chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h b/www/ungoogled-chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h new file mode 100644 index 000000000000..1499ae4d82a2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h @@ -0,0 +1,20 @@ +--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h.orig 2022-10-01 07:40:07 UTC ++++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h +@@ -21,7 +21,7 @@ + #include "mojo/public/cpp/bindings/pending_receiver.h" + #include "mojo/public/cpp/bindings/receiver.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/services/font/public/cpp/font_loader.h" + #include "third_party/skia/include/core/SkRefCnt.h" + #endif +@@ -73,7 +73,7 @@ class PaintPreviewCompositorCollectionImpl + std::unique_ptr<PaintPreviewCompositorImpl>> + compositors_; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + sk_sp<font_service::FontLoader> font_loader_; + #endif + diff --git a/www/ungoogled-chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc new file mode 100644 index 000000000000..28a811034ca0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc @@ -0,0 +1,18 @@ +--- components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc +@@ -36,6 +36,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi + } + screen_ai::StoreComponentBinaryPath(library_path); + ++#if !BUILDFLAG(IS_BSD) + auto* instance = sandbox::policy::SandboxLinux::GetInstance(); + + std::vector<BrokerFilePermission> permissions{ +@@ -59,6 +60,7 @@ bool ScreenAIPreSandboxHook(sandbox::policy::SandboxLi + sandbox::syscall_broker::COMMAND_OPEN}), + permissions, sandbox::policy::SandboxLinux::PreSandboxHook(), options); + instance->EngageNamespaceSandboxIfPossible(); ++#endif + + return true; + } diff --git a/www/ungoogled-chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h b/www/ungoogled-chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h new file mode 100644 index 000000000000..69f6c508cfc3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h @@ -0,0 +1,16 @@ +--- components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h.orig 2022-10-01 07:40:07 UTC ++++ components/services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h +@@ -5,7 +5,13 @@ + #ifndef COMPONENTS_SERVICES_SCREEN_AI_SANDBOX_SCREEN_AI_SANDBOX_HOOK_LINUX_H_ + #define COMPONENTS_SERVICES_SCREEN_AI_SANDBOX_SCREEN_AI_SANDBOX_HOOK_LINUX_H_ + ++#include "build/build_config.h" ++ ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace screen_ai { + diff --git a/www/ungoogled-chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc b/www/ungoogled-chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc new file mode 100644 index 000000000000..97fcf242cc5d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc @@ -0,0 +1,11 @@ +--- components/startup_metric_utils/browser/startup_metric_utils.cc.orig 2022-10-01 07:40:07 UTC ++++ components/startup_metric_utils/browser/startup_metric_utils.cc +@@ -311,7 +311,7 @@ base::TimeTicks StartupTimeToTimeTicks(base::Time time + // Enabling this logic on OS X causes a significant performance regression. + // TODO(crbug.com/601270): Remove IS_APPLE ifdef once priority changes are + // ignored on Mac main thread. +-#if !BUILDFLAG(IS_APPLE) ++#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + static bool statics_initialized = false; + if (!statics_initialized) { + statics_initialized = true; diff --git a/www/ungoogled-chromium/files/patch-components_storage__monitor_BUILD.gn b/www/ungoogled-chromium/files/patch-components_storage__monitor_BUILD.gn new file mode 100644 index 000000000000..638902b77608 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_storage__monitor_BUILD.gn @@ -0,0 +1,11 @@ +--- components/storage_monitor/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ components/storage_monitor/BUILD.gn +@@ -175,7 +175,7 @@ source_set("unit_tests") { + "storage_monitor_chromeos_unittest.cc", + ] + } +- } else if (is_linux || is_chromeos_lacros) { ++ } else if ((is_linux || is_chromeos_lacros) && !is_bsd) { + if (use_udev) { + sources += [ "storage_monitor_linux_unittest.cc" ] + } diff --git a/www/ungoogled-chromium/files/patch-components_storage__monitor_removable__device__constants.cc b/www/ungoogled-chromium/files/patch-components_storage__monitor_removable__device__constants.cc new file mode 100644 index 000000000000..934f6fc570fe --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_storage__monitor_removable__device__constants.cc @@ -0,0 +1,11 @@ +--- components/storage_monitor/removable_device_constants.cc.orig 2022-10-01 07:40:07 UTC ++++ components/storage_monitor/removable_device_constants.cc +@@ -10,7 +10,7 @@ namespace storage_monitor { + const char kFSUniqueIdPrefix[] = "UUID:"; + const char kVendorModelSerialPrefix[] = "VendorModelSerial:"; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kVendorModelVolumeStoragePrefix[] = "VendorModelVolumeStorage:"; + #endif + diff --git a/www/ungoogled-chromium/files/patch-components_storage__monitor_removable__device__constants.h b/www/ungoogled-chromium/files/patch-components_storage__monitor_removable__device__constants.h new file mode 100644 index 000000000000..4cc5ace87c78 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_storage__monitor_removable__device__constants.h @@ -0,0 +1,11 @@ +--- components/storage_monitor/removable_device_constants.h.orig 2022-10-01 07:40:07 UTC ++++ components/storage_monitor/removable_device_constants.h +@@ -14,7 +14,7 @@ namespace storage_monitor { + extern const char kFSUniqueIdPrefix[]; + extern const char kVendorModelSerialPrefix[]; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kVendorModelVolumeStoragePrefix[]; + #endif + diff --git a/www/ungoogled-chromium/files/patch-components_sync__device__info_local__device__info__util.cc b/www/ungoogled-chromium/files/patch-components_sync__device__info_local__device__info__util.cc new file mode 100644 index 000000000000..f7b7a5d3b001 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_sync__device__info_local__device__info__util.cc @@ -0,0 +1,11 @@ +--- components/sync_device_info/local_device_info_util.cc.orig 2022-10-01 07:40:07 UTC ++++ components/sync_device_info/local_device_info_util.cc +@@ -78,7 +78,7 @@ void OnMachineStatisticsLoaded(LocalDeviceNameInfo* na + sync_pb::SyncEnums::DeviceType GetLocalDeviceType() { + #if BUILDFLAG(IS_CHROMEOS) + return sync_pb::SyncEnums_DeviceType_TYPE_CROS; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return sync_pb::SyncEnums_DeviceType_TYPE_LINUX; + #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) + return ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET diff --git a/www/ungoogled-chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc b/www/ungoogled-chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc new file mode 100644 index 000000000000..ddbd44d88e5c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc @@ -0,0 +1,14 @@ +--- components/sync_device_info/local_device_info_util_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ components/sync_device_info/local_device_info_util_linux.cc +@@ -9,6 +9,11 @@ + + #include "base/linux_util.h" + ++#if defined(__FreeBSD__) ++#include <sys/param.h> ++#define HOST_NAME_MAX MAXHOSTNAMELEN ++#endif ++ + namespace syncer { + + std::string GetPersonalizableDeviceNameInternal() { diff --git a/www/ungoogled-chromium/files/patch-components_translate_core_common_translate__util.cc b/www/ungoogled-chromium/files/patch-components_translate_core_common_translate__util.cc new file mode 100644 index 000000000000..40880167056a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_translate_core_common_translate__util.cc @@ -0,0 +1,11 @@ +--- components/translate/core/common/translate_util.cc.orig 2022-10-01 07:40:07 UTC ++++ components/translate/core/common/translate_util.cc +@@ -34,7 +34,7 @@ const base::Feature kTranslateSubFrames{"TranslateSubF + const base::Feature kTFLiteLanguageDetectionEnabled{ + "TFLiteLanguageDetectionEnabled", + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/ungoogled-chromium/files/patch-components_update__client_update__query__params.cc b/www/ungoogled-chromium/files/patch-components_update__client_update__query__params.cc new file mode 100644 index 000000000000..7c538dde74a6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_update__client_update__query__params.cc @@ -0,0 +1,11 @@ +--- components/update_client/update_query_params.cc.orig 2022-10-01 07:40:07 UTC ++++ components/update_client/update_query_params.cc +@@ -40,6 +40,8 @@ const char kOs[] = + "fuchsia"; + #elif BUILDFLAG(IS_OPENBSD) + "openbsd"; ++#elif defined(OS_FREEBSD) ++ "freebsd"; + #else + #error "unknown os" + #endif diff --git a/www/ungoogled-chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc b/www/ungoogled-chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc new file mode 100644 index 000000000000..2a17f1524c1d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc @@ -0,0 +1,11 @@ +--- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2022-10-01 07:40:07 UTC ++++ components/url_formatter/spoof_checks/idn_spoof_checker.cc +@@ -285,7 +285,7 @@ IDNSpoofChecker::IDNSpoofChecker() { + // The ideal fix would be to change the omnibox font used for Thai. In + // that case, the Linux-only list should be revisited and potentially + // removed. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + "[ทนบพรหเแ๐ดลปฟม]", + #else + "[บพเแ๐]", diff --git a/www/ungoogled-chromium/files/patch-components_viz_common_gpu_dawn__context__provider.cc b/www/ungoogled-chromium/files/patch-components_viz_common_gpu_dawn__context__provider.cc new file mode 100644 index 000000000000..aa83acdce915 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_common_gpu_dawn__context__provider.cc @@ -0,0 +1,11 @@ +--- components/viz/common/gpu/dawn_context_provider.cc.orig 2022-10-01 07:40:07 UTC ++++ components/viz/common/gpu/dawn_context_provider.cc +@@ -20,7 +20,7 @@ namespace { + wgpu::BackendType GetDefaultBackendType() { + #if BUILDFLAG(IS_WIN) + return wgpu::BackendType::D3D12; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return wgpu::BackendType::Vulkan; + #else + NOTREACHED(); diff --git a/www/ungoogled-chromium/files/patch-components_viz_host_host__display__client.cc b/www/ungoogled-chromium/files/patch-components_viz_host_host__display__client.cc new file mode 100644 index 000000000000..af10966bbf7e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_host_host__display__client.cc @@ -0,0 +1,11 @@ +--- components/viz/host/host_display_client.cc.orig 2022-10-01 07:40:07 UTC ++++ components/viz/host/host_display_client.cc +@@ -61,7 +61,7 @@ void HostDisplayClient::CreateLayeredWindowUpdater( + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) { + NOTIMPLEMENTED(); + } diff --git a/www/ungoogled-chromium/files/patch-components_viz_host_host__display__client.h b/www/ungoogled-chromium/files/patch-components_viz_host_host__display__client.h new file mode 100644 index 000000000000..9280a99e5288 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_host_host__display__client.h @@ -0,0 +1,11 @@ +--- components/viz/host/host_display_client.h.orig 2022-10-01 07:40:07 UTC ++++ components/viz/host/host_display_client.h +@@ -48,7 +48,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + void DidCompleteSwapWithNewSize(const gfx::Size& size) override; + #endif + diff --git a/www/ungoogled-chromium/files/patch-components_viz_host_renderer__settings__creation.cc b/www/ungoogled-chromium/files/patch-components_viz_host_renderer__settings__creation.cc new file mode 100644 index 000000000000..f36bcd39c7bf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_host_renderer__settings__creation.cc @@ -0,0 +1,11 @@ +--- components/viz/host/renderer_settings_creation.cc.orig 2022-10-01 07:40:07 UTC ++++ components/viz/host/renderer_settings_creation.cc +@@ -52,7 +52,7 @@ RendererSettings CreateRendererSettings() { + renderer_settings.partial_swap_enabled = + !command_line->HasSwitch(switches::kUIDisablePartialSwap); + +-#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Simple frame rate throttling only works on macOS and Linux + renderer_settings.apply_simple_frame_rate_throttling = + features::IsSimpleFrameRateThrottlingEnabled(); diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc new file mode 100644 index 000000000000..781cf688d460 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc @@ -0,0 +1,11 @@ +--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ components/viz/service/display_embedder/skia_output_surface_impl.cc +@@ -1156,7 +1156,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor + ->GetDeviceQueue() + ->GetVulkanPhysicalDevice(), + VK_IMAGE_TILING_OPTIMAL, ycbcr_info); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Textures that were allocated _on linux_ with ycbcr info came from + // VaapiVideoDecoder, which exports using DRM format modifiers. + return GrBackendFormat::MakeVk(gr_ycbcr_info, diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc b/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc new file mode 100644 index 000000000000..e3a01f679221 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc @@ -0,0 +1,20 @@ +--- components/viz/service/display_embedder/software_output_surface.cc.orig 2022-10-01 07:40:07 UTC ++++ components/viz/service/display_embedder/software_output_surface.cc +@@ -93,7 +93,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base:: + now.SnappedToNextTick(refresh_timebase_, refresh_interval_) - now; + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + if (needs_swap_size_notifications_) + client_->DidSwapWithSize(pixel_size); + #endif +@@ -120,7 +120,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + void SoftwareOutputSurface::SetNeedsSwapSizeNotifications( + bool needs_swap_size_notifications) { + needs_swap_size_notifications_ = needs_swap_size_notifications; diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h b/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h new file mode 100644 index 000000000000..7fffb4339ed9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h @@ -0,0 +1,20 @@ +--- components/viz/service/display_embedder/software_output_surface.h.orig 2022-10-01 07:40:07 UTC ++++ components/viz/service/display_embedder/software_output_surface.h +@@ -47,7 +47,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi + gfx::OverlayTransform GetDisplayTransform() override; + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + void SetNeedsSwapSizeNotifications( + bool needs_swap_size_notifications) override; + #endif +@@ -69,7 +69,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + bool needs_swap_size_notifications_ = false; + #endif + diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc b/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc new file mode 100644 index 000000000000..16120d5747cb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_service_display_skia__renderer.cc @@ -0,0 +1,11 @@ +--- components/viz/service/display/skia_renderer.cc.orig 2022-10-01 07:40:07 UTC ++++ components/viz/service/display/skia_renderer.cc +@@ -1026,7 +1026,7 @@ void SkiaRenderer::ClearFramebuffer() { + if (current_frame()->current_render_pass->has_transparent_background) { + ClearCanvas(SkColors::kTransparent); + } else { +-#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) ++#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // On DEBUG builds, opaque render passes are cleared to blue + // to easily see regions that were not drawn on the screen. + // ClearCavas() call causes slight pixel difference, so linux-ref and diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc new file mode 100644 index 000000000000..c3bf31ec5556 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc @@ -0,0 +1,20 @@ +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc +@@ -97,7 +97,7 @@ RootCompositorFrameSinkImpl::Create( + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // For X11, we need notify client about swap completion after resizing, so the + // client can use it for synchronize with X11 WM. + output_surface->SetNeedsSwapSizeNotifications(true); +@@ -576,7 +576,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw + display_client_->DidCompleteSwapWithSize(pixel_size); + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + if (display_client_ && pixel_size != last_swap_pixel_size_) { + last_swap_pixel_size_ = pixel_size; + display_client_->DidCompleteSwapWithNewSize(last_swap_pixel_size_); diff --git a/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h new file mode 100644 index 000000000000..9137469ec852 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h @@ -0,0 +1,11 @@ +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2022-10-01 07:40:07 UTC ++++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h +@@ -196,7 +196,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + gfx::Size last_swap_pixel_size_; + #endif + diff --git a/www/ungoogled-chromium/files/patch-components_viz_test_fake__display__client.cc b/www/ungoogled-chromium/files/patch-components_viz_test_fake__display__client.cc new file mode 100644 index 000000000000..d3220fd0ea96 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_test_fake__display__client.cc @@ -0,0 +1,11 @@ +--- components/viz/test/fake_display_client.cc.orig 2022-10-01 07:40:07 UTC ++++ components/viz/test/fake_display_client.cc +@@ -25,7 +25,7 @@ void FakeDisplayClient::CreateLayeredWindowUpdater( + mojo::PendingReceiver<mojom::LayeredWindowUpdater> receiver) {} + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void FakeDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {} + #endif + diff --git a/www/ungoogled-chromium/files/patch-components_viz_test_fake__display__client.h b/www/ungoogled-chromium/files/patch-components_viz_test_fake__display__client.h new file mode 100644 index 000000000000..6004b9d2d6dc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_test_fake__display__client.h @@ -0,0 +1,11 @@ +--- components/viz/test/fake_display_client.h.orig 2022-10-01 07:40:07 UTC ++++ components/viz/test/fake_display_client.h +@@ -34,7 +34,7 @@ class FakeDisplayClient : public mojom::DisplayClient + mojo::PendingReceiver<mojom::LayeredWindowUpdater> receiver) override; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void DidCompleteSwapWithNewSize(const gfx::Size& size) override; + #endif + diff --git a/www/ungoogled-chromium/files/patch-components_viz_test_mock__display__client.h b/www/ungoogled-chromium/files/patch-components_viz_test_mock__display__client.h new file mode 100644 index 000000000000..49f237ebb8a3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-components_viz_test_mock__display__client.h @@ -0,0 +1,11 @@ +--- components/viz/test/mock_display_client.h.orig 2022-10-01 07:40:07 UTC ++++ components/viz/test/mock_display_client.h +@@ -44,7 +44,7 @@ class MockDisplayClient : public mojom::DisplayClient + #endif + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + MOCK_METHOD1(DidCompleteSwapWithNewSize, void(const gfx::Size&)); + #endif + diff --git a/www/ungoogled-chromium/files/patch-content_app_content__main.cc b/www/ungoogled-chromium/files/patch-content_app_content__main.cc new file mode 100644 index 000000000000..a45fec98a696 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_app_content__main.cc @@ -0,0 +1,11 @@ +--- content/app/content_main.cc.orig 2022-10-01 07:40:07 UTC ++++ content/app/content_main.cc +@@ -284,7 +284,7 @@ RunContentProcess(ContentMainParams params, + #endif + base::EnableTerminationOnOutOfMemory(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The various desktop environments set this environment variable that + // allows the dbus client library to connect directly to the bus. When this + // variable is not set (test environments like xvfb-run), the dbus client diff --git a/www/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc b/www/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc new file mode 100644 index 000000000000..4d1093d2122c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_app_content__main__runner__impl.cc @@ -0,0 +1,120 @@ +--- content/app/content_main_runner_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/app/content_main_runner_impl.cc +@@ -130,13 +130,13 @@ + #include "base/posix/global_descriptors.h" + #include "content/public/common/content_descriptors.h" + +-#if !BUILDFLAG(IS_MAC) ++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + #include "content/public/common/zygote/zygote_fork_delegate_linux.h" + #endif + + #endif // BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/native_library.h" + #include "base/rand_util.h" + #include "content/public/common/zygote/sandbox_support_linux.h" +@@ -175,6 +175,10 @@ + #include "media/base/media_switches.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include "base/system/sys_info.h" ++#endif ++ + #if BUILDFLAG(IS_ANDROID) + #include "base/system/sys_info.h" + #include "content/browser/android/battery_metrics.h" +@@ -360,7 +364,7 @@ void InitializeZygoteSandboxForBrowserProcess( + } + #endif // BUILDFLAG(USE_ZYGOTE_HANDLE) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + #if BUILDFLAG(ENABLE_PPAPI) + // Loads the (native) libraries but does not initialize them (i.e., does not +@@ -396,7 +400,7 @@ void PreloadLibraryCdms() { + } + #endif // BUILDFLAG(ENABLE_LIBRARY_CDMS) + +-#if BUILDFLAG(USE_ZYGOTE_HANDLE) ++#if BUILDFLAG(USE_ZYGOTE_HANDLE) || BUILDFLAG(IS_BSD) + void PreSandboxInit() { + // Pre-acquire resources needed by BoringSSL. See + // https://boringssl.9oo91esource.qjz9zk/boringssl/+/HEAD/SANDBOXING.md +@@ -412,6 +416,11 @@ void PreSandboxInit() { + #endif + InitializeWebRtcModule(); + ++#if BUILDFLAG(IS_BSD) ++ // "cache" the amount of physical memory before pledge(2) ++ base::SysInfo::AmountOfPhysicalMemoryMB(); ++#endif ++ + // Set the android SkFontMgr for blink. We need to ensure this is done + // before the sandbox is initialized to allow the font manager to access + // font configuration files on disk. +@@ -594,7 +603,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate* + delegate->ZygoteStarting(&zygote_fork_delegates); + media::InitializeMediaLibrary(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + PreSandboxInit(); + #endif + +@@ -785,11 +794,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam + kFieldTrialDescriptor + base::GlobalDescriptors::kBaseDescriptor); + #endif // !BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + g_fds->Set(kCrashDumpSignal, + kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor); +-#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || +- // BUILDFLAG(IS_OPENBSD) ++#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + + #endif // !BUILDFLAG(IS_WIN) + +@@ -972,6 +980,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam + } + #endif + ++#if BUILDFLAG(IS_BSD) ++ if (process_type.empty()) { ++ sandbox::policy::SandboxLinux::Options sandbox_options; ++ sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox( ++ sandbox::policy::SandboxTypeFromCommandLine( ++ *base::CommandLine::ForCurrentProcess()), ++ sandbox::policy::SandboxLinux::PreSandboxHook(), sandbox_options); ++ } ++#endif ++ + delegate_->SandboxInitialized(process_type); + + #if BUILDFLAG(USE_ZYGOTE_HANDLE) +@@ -1031,7 +1049,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { + mojo::core::InitFeatures(); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // If dynamic Mojo Core is being used, ensure that it's loaded very early in + // the child/zygote process, before any sandbox is initialized. The library + // is not fully initialized with IPC support until a ChildProcess is later +@@ -1064,6 +1082,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { + content_main_params_.reset(); + + RegisterMainThreadFactories(); ++ ++#if BUILDFLAG(IS_BSD) ++ if (!process_type.empty()) ++ PreSandboxInit(); ++#endif + + if (process_type.empty()) + return RunBrowser(std::move(main_params), start_minimal_browser); diff --git a/www/ungoogled-chromium/files/patch-content_browser_BUILD.gn b/www/ungoogled-chromium/files/patch-content_browser_BUILD.gn new file mode 100644 index 000000000000..b2b706e09cff --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_BUILD.gn @@ -0,0 +1,16 @@ +--- content/browser/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ content/browser/BUILD.gn +@@ -2471,6 +2471,13 @@ source_set("browser") { + ] + } + ++ if (is_bsd) { ++ sources -= [ ++ "sandbox_ipc_linux.cc", ++ "sandbox_ipc_linux.h", ++ ] ++ } ++ + if (is_chromeos) { + deps += [ "//components/value_store:value_store" ] + sources += [ diff --git a/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl.cc new file mode 100644 index 000000000000..ec1aa82e9a58 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_browser__child__process__host__impl.cc @@ -0,0 +1,10 @@ +--- content/browser/browser_child_process_host_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/browser_child_process_host_impl.cc +@@ -307,6 +307,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo + switches::kDisableBestEffortTasks, + switches::kDisableLogging, + switches::kEnableLogging, ++ switches::kDisableUnveil, + switches::kIPCConnectionTimeout, + switches::kLogBestEffortTasks, + switches::kLogFile, diff --git a/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc b/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc new file mode 100644 index 000000000000..6ad1a5642dc3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_browser__main__loop.cc @@ -0,0 +1,37 @@ +--- content/browser/browser_main_loop.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/browser_main_loop.cc +@@ -240,6 +240,12 @@ + #include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include "content/browser/sandbox_host_linux.h" ++#include "content/public/common/zygote/sandbox_support_linux.h" ++#include "sandbox/policy/sandbox.h" ++#endif ++ + // One of the linux specific headers defines this as a macro. + #ifdef DestroyAll + #undef DestroyAll +@@ -523,6 +529,12 @@ int BrowserMainLoop::EarlyInitialization() { + // by now since a thread to start the ServiceManager has been created + // before the browser main loop starts. + DCHECK(SandboxHostLinux::GetInstance()->IsInitialized()); ++#elif BUILDFLAG(IS_BSD) ++ base::FileHandleMappingVector additional_remapped_fds; ++ base::LaunchOptions options; ++ SandboxHostLinux::GetInstance()->Init(); ++ const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket(); ++ options.fds_to_remap.push_back(std::make_pair(sfd, GetSandboxFD())); + #endif + + // GLib's spawning of new processes is buggy, so it's important that at this +@@ -554,7 +566,7 @@ int BrowserMainLoop::EarlyInitialization() { + base::PlatformThread::SetCurrentThreadType(base::ThreadType::kCompositing); + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // We use quite a few file descriptors for our IPC as well as disk the disk + // cache,and the default limit on the Mac is low (256), so bump it up. + diff --git a/www/ungoogled-chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc b/www/ungoogled-chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc new file mode 100644 index 000000000000..7eaac8edc3cf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc @@ -0,0 +1,80 @@ +--- content/browser/child_process_launcher_helper_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/child_process_launcher_helper_linux.cc +@@ -20,7 +20,9 @@ + #include "content/public/common/result_codes.h" + #include "content/public/common/sandboxed_process_launcher_delegate.h" + #include "content/public/common/zygote/sandbox_support_linux.h" ++#if !BUILDFLAG(IS_BSD) + #include "content/public/common/zygote/zygote_handle.h" ++#endif + #include "sandbox/policy/linux/sandbox_linux.h" + + namespace content { +@@ -74,6 +76,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + int* launch_result) { + *is_synchronous_launch = true; + Process process; ++#if !BUILDFLAG(IS_BSD) + ZygoteHandle zygote_handle = + base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote) + ? nullptr +@@ -87,7 +90,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + GetProcessType()); + *launch_result = LAUNCH_RESULT_SUCCESS; + +-#if !BUILDFLAG(IS_OPENBSD) + if (handle) { + // It could be a renderer process or an utility process. + int oom_score = content::kMiscOomScore; +@@ -96,15 +98,17 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + oom_score = content::kLowestRendererOomScore; + ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore(handle, oom_score); + } +-#endif + + process.process = base::Process(handle); + process.zygote = zygote_handle; + } else { ++#endif + process.process = base::LaunchProcess(*command_line(), options); + *launch_result = process.process.IsValid() ? LAUNCH_RESULT_SUCCESS + : LAUNCH_RESULT_FAILURE; ++#if !BUILDFLAG(IS_BSD) + } ++#endif + + #if BUILDFLAG(IS_CHROMEOS) + if (GetProcessType() == switches::kRendererProcess) { +@@ -124,10 +128,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper + const ChildProcessLauncherHelper::Process& process, + bool known_dead) { + ChildProcessTerminationInfo info; ++#if !BUILDFLAG(IS_BSD) + if (process.zygote) { + info.status = process.zygote->GetTerminationStatus( + process.process.Handle(), known_dead, &info.exit_code); + } else if (known_dead) { ++#else ++ if (known_dead) { ++#endif + info.status = base::GetKnownDeadTerminationStatus(process.process.Handle(), + &info.exit_code); + } else { +@@ -151,13 +159,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer + DCHECK(CurrentlyOnProcessLauncherTaskRunner()); + process.process.Terminate(RESULT_CODE_NORMAL_EXIT, false); + // On POSIX, we must additionally reap the child. ++#if !BUILDFLAG(IS_BSD) + if (process.zygote) { + // If the renderer was created via a zygote, we have to proxy the reaping + // through the zygote process. + process.zygote->EnsureProcessTerminated(process.process.Handle()); + } else { ++#endif + base::EnsureProcessTerminated(std::move(process.process)); ++#if !BUILDFLAG(IS_BSD) + } ++#endif + } + + void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread( diff --git a/www/ungoogled-chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/www/ungoogled-chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc new file mode 100644 index 000000000000..a466cb2b5071 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc @@ -0,0 +1,11 @@ +--- content/browser/compositor/viz_process_transport_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/compositor/viz_process_transport_factory.cc +@@ -112,7 +112,7 @@ class HostDisplayClient : public viz::HostDisplayClien + // viz::HostDisplayClient: + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + void DidCompleteSwapWithNewSize(const gfx::Size& size) override { + compositor_->OnCompleteSwapWithNewSize(size); + } diff --git a/www/ungoogled-chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc b/www/ungoogled-chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc new file mode 100644 index 000000000000..e01ab8748453 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc @@ -0,0 +1,11 @@ +--- content/browser/devtools/protocol/system_info_handler.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/devtools/protocol/system_info_handler.cc +@@ -50,7 +50,7 @@ std::unique_ptr<SystemInfo::Size> GfxSizeToSystemInfoS + // Windows builds need more time -- see Issue 873112 and 1004472. + // Mac builds need more time - see Issue angleproject:6182. + #if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !defined(NDEBUG)) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || defined(USE_OZONE) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || defined(USE_OZONE) || BUILDFLAG(IS_BSD) + static constexpr int kGPUInfoWatchdogTimeoutMultiplierOS = 3; + #else + static constexpr int kGPUInfoWatchdogTimeoutMultiplierOS = 1; diff --git a/www/ungoogled-chromium/files/patch-content_browser_download_download__manager__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_download_download__manager__impl.cc new file mode 100644 index 000000000000..cb53d132b7cc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_download_download__manager__impl.cc @@ -0,0 +1,29 @@ +--- content/browser/download/download_manager_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/download/download_manager_impl.cc +@@ -91,7 +91,7 @@ + #include "third_party/blink/public/common/storage_key/storage_key.h" + #include "url/origin.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/nix/xdg_util.h" + #endif + +@@ -218,7 +218,7 @@ class DownloadItemFactoryImpl : public download::Downl + } + }; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FilePath GetTemporaryDownloadDirectory() { + std::unique_ptr<base::Environment> env(base::Environment::Create()); + return base::nix::GetXDGDirectory(env.get(), "XDG_DATA_HOME", ".local/share"); +@@ -654,7 +654,7 @@ bool DownloadManagerImpl::InterceptDownload( + + base::FilePath DownloadManagerImpl::GetDefaultDownloadDirectory() { + base::FilePath default_download_directory; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(thomasanderson,crbug.com/784010): Remove this when all Linux + // distros with versions of GTK lower than 3.14.7 are no longer + // supported. This should happen when support for Ubuntu Trusty and diff --git a/www/ungoogled-chromium/files/patch-content_browser_font__access_font__enumeration__data__source.cc b/www/ungoogled-chromium/files/patch-content_browser_font__access_font__enumeration__data__source.cc new file mode 100644 index 000000000000..436cf61d2eca --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_font__access_font__enumeration__data__source.cc @@ -0,0 +1,29 @@ +--- content/browser/font_access/font_enumeration_data_source.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/font_access/font_enumeration_data_source.cc +@@ -16,7 +16,7 @@ + #include "content/browser/font_access/font_enumeration_data_source_win.h" + #elif BUILDFLAG(IS_MAC) + #include "content/browser/font_access/font_enumeration_data_source_mac.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/browser/font_access/font_enumeration_data_source_linux.h" + #endif // BUILDFLAG(IS_WIN) + +@@ -61,7 +61,7 @@ std::unique_ptr<FontEnumerationDataSource> FontEnumera + return std::make_unique<FontEnumerationDataSourceWin>(); + #elif BUILDFLAG(IS_MAC) + return std::make_unique<FontEnumerationDataSourceMac>(); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return std::make_unique<FontEnumerationDataSourceLinux>(); + #else + return std::make_unique<FontEnumerationDataSourceNull>(); +@@ -76,7 +76,7 @@ bool FontEnumerationDataSource::IsOsSupported() { + return true; + #elif BUILDFLAG(IS_MAC) + return true; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return true; + #else + return false; diff --git a/www/ungoogled-chromium/files/patch-content_browser_gpu_compositor__util.cc b/www/ungoogled-chromium/files/patch-content_browser_gpu_compositor__util.cc new file mode 100644 index 000000000000..70f50eb78237 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_compositor__util.cc @@ -0,0 +1,20 @@ +--- content/browser/gpu/compositor_util.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/gpu/compositor_util.cc +@@ -148,7 +148,7 @@ const GpuFeatureData GetGpuFeatureData( + {"video_decode", + SafeGetFeatureStatus(gpu_feature_info, + gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE), +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + !base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux), + #else + command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode), +@@ -160,7 +160,7 @@ const GpuFeatureData GetGpuFeatureData( + {"video_encode", + SafeGetFeatureStatus(gpu_feature_info, + gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE), +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + !base::FeatureList::IsEnabled(media::kVaapiVideoEncodeLinux), + #else + command_line.HasSwitch(switches::kDisableAcceleratedVideoEncode), 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 new file mode 100644 index 000000000000..0c82a12eb149 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_gpu_gpu__process__host.cc @@ -0,0 +1,28 @@ +--- content/browser/gpu/gpu_process_host.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/gpu/gpu_process_host.cc +@@ -101,7 +101,7 @@ + #include "ui/ozone/public/ozone_switches.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/gfx/switches.h" + #endif + +@@ -253,6 +253,7 @@ static const char* const kSwitchNames[] = { + switches::kEnableBackgroundThreadPool, + switches::kEnableGpuRasterization, + switches::kEnableLogging, ++ switches::kDisableUnveil, + switches::kEnableDeJelly, + switches::kDeJellyScreenWidth, + switches::kDoubleBufferCompositing, +@@ -286,7 +287,7 @@ static const char* const kSwitchNames[] = { + switches::kOzoneDumpFile, + switches::kDisableBufferBWCompression, + #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_media_frameless__media__interface__proxy.cc b/www/ungoogled-chromium/files/patch-content_browser_media_frameless__media__interface__proxy.cc new file mode 100644 index 000000000000..8ad8f219401a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_media_frameless__media__interface__proxy.cc @@ -0,0 +1,20 @@ +--- content/browser/media/frameless_media_interface_proxy.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/media/frameless_media_interface_proxy.cc +@@ -16,7 +16,7 @@ + #include "media/mojo/mojom/renderer_extensions.mojom.h" + #include "media/mojo/mojom/stable/stable_video_decoder.mojom.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/public/browser/stable_video_decoder_factory.h" + #include "media/base/media_switches.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -67,7 +67,7 @@ void FramelessMediaInterfaceProxy::CreateVideoDecoder( + + mojo::PendingRemote<media::stable::mojom::StableVideoDecoder> + oop_video_decoder; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoDecoding)) { + if (!render_process_host_) { + if (!stable_vd_factory_remote_.is_bound()) { diff --git a/www/ungoogled-chromium/files/patch-content_browser_media_frameless__media__interface__proxy.h b/www/ungoogled-chromium/files/patch-content_browser_media_frameless__media__interface__proxy.h new file mode 100644 index 000000000000..160ffa7400b7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_media_frameless__media__interface__proxy.h @@ -0,0 +1,20 @@ +--- content/browser/media/frameless_media_interface_proxy.h.orig 2022-10-01 07:40:07 UTC ++++ content/browser/media/frameless_media_interface_proxy.h +@@ -19,7 +19,7 @@ + #include "mojo/public/cpp/bindings/receiver_set.h" + #include "mojo/public/cpp/bindings/remote.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "media/mojo/mojom/stable/stable_video_decoder.mojom.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -99,7 +99,7 @@ class FramelessMediaInterfaceProxy final + // Connections to the renderer. + mojo::ReceiverSet<media::mojom::InterfaceFactory> receivers_; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Connection to the StableVideoDecoderFactory that lives in a utility + // process. This is only used for out-of-process video decoding and only when + // the FramelessMediaInterfaceProxy is created without a RenderProcessHost diff --git a/www/ungoogled-chromium/files/patch-content_browser_media_media__interface__proxy.cc b/www/ungoogled-chromium/files/patch-content_browser_media_media__interface__proxy.cc new file mode 100644 index 000000000000..7fb119bb599c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_media_media__interface__proxy.cc @@ -0,0 +1,20 @@ +--- content/browser/media/media_interface_proxy.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/media/media_interface_proxy.cc +@@ -76,7 +76,7 @@ + #include "media/mojo/services/mojo_renderer_service.h" // nogncheck + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/public/browser/stable_video_decoder_factory.h" + #include "media/base/media_switches.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -327,7 +327,7 @@ void MediaInterfaceProxy::CreateVideoDecoder( + + mojo::PendingRemote<media::stable::mojom::StableVideoDecoder> + oop_video_decoder; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoDecoding)) { + render_frame_host().GetProcess()->CreateStableVideoDecoder( + oop_video_decoder.InitWithNewPipeAndPassReceiver()); diff --git a/www/ungoogled-chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc new file mode 100644 index 000000000000..ad92cde20a36 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc @@ -0,0 +1,11 @@ +--- content/browser/media/media_keys_listener_manager_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/media/media_keys_listener_manager_impl.cc +@@ -233,7 +233,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + system_media_controls_ = system_media_controls::SystemMediaControls::Create( + media::AudioManager::GetGlobalAppName()); + #endif diff --git a/www/ungoogled-chromium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc b/www/ungoogled-chromium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc new file mode 100644 index 000000000000..a6e4517fa15b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc @@ -0,0 +1,20 @@ +--- content/browser/ppapi_plugin_process_host_receiver_bindings.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/ppapi_plugin_process_host_receiver_bindings.cc +@@ -8,7 +8,7 @@ + + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck + #include "content/browser/font_service.h" // nogncheck + #endif +@@ -17,7 +17,7 @@ namespace content { + + void PpapiPluginProcessHost::BindHostReceiver( + mojo::GenericPendingReceiver receiver) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) + ConnectToFontService(std::move(font_receiver)); + #endif diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc new file mode 100644 index 000000000000..a04178b1549a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc @@ -0,0 +1,11 @@ +--- content/browser/renderer_host/delegated_frame_host.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/renderer_host/delegated_frame_host.cc +@@ -289,7 +289,7 @@ void DelegatedFrameHost::EmbedSurface( + + if (!primary_surface_id || + primary_surface_id->local_surface_id() != local_surface_id_) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // On Windows and Linux, we would like to produce new content as soon as + // possible or the OS will create an additional black gutter. Until we can + // block resize on surface synchronization on these platforms, we will not diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc new file mode 100644 index 000000000000..ba10c72162f8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc @@ -0,0 +1,29 @@ +--- content/browser/renderer_host/input/input_device_change_observer.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/renderer_host/input/input_device_change_observer.cc +@@ -9,7 +9,7 @@ + + #if BUILDFLAG(IS_WIN) + #include "ui/events/devices/input_device_observer_win.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "ui/events/devices/device_data_manager.h" + #elif BUILDFLAG(IS_ANDROID) + #include "ui/events/devices/input_device_observer_android.h" +@@ -21,7 +21,7 @@ InputDeviceChangeObserver::InputDeviceChangeObserver(R + render_view_host_impl_ = rvhi; + #if BUILDFLAG(IS_WIN) + ui::InputDeviceObserverWin::GetInstance()->AddObserver(this); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + ui::DeviceDataManager::GetInstance()->AddObserver(this); + #elif BUILDFLAG(IS_ANDROID) + ui::InputDeviceObserverAndroid::GetInstance()->AddObserver(this); +@@ -31,7 +31,7 @@ InputDeviceChangeObserver::InputDeviceChangeObserver(R + InputDeviceChangeObserver::~InputDeviceChangeObserver() { + #if BUILDFLAG(IS_WIN) + ui::InputDeviceObserverWin::GetInstance()->RemoveObserver(this); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + ui::DeviceDataManager::GetInstance()->RemoveObserver(this); + #elif BUILDFLAG(IS_ANDROID) + ui::InputDeviceObserverAndroid::GetInstance()->RemoveObserver(this); diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__message__filter.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__message__filter.cc new file mode 100644 index 000000000000..b05ad23c9acb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__message__filter.cc @@ -0,0 +1,29 @@ +--- content/browser/renderer_host/render_message_filter.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/renderer_host/render_message_filter.cc +@@ -66,7 +66,7 @@ + #if BUILDFLAG(IS_MAC) + #include "ui/accelerated_widget_mac/window_resize_helper_mac.h" + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/linux_util.h" + #include "base/threading/platform_thread.h" + #endif +@@ -128,7 +128,7 @@ void RenderMessageFilter::GenerateFrameRoutingID( + std::move(callback).Run(routing_id, frame_token, devtools_frame_token); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void RenderMessageFilter::SetThreadTypeOnWorkerThread( + base::PlatformThreadId ns_tid, + base::ThreadType thread_type) { +@@ -149,7 +149,7 @@ void RenderMessageFilter::SetThreadTypeOnWorkerThread( + } + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void RenderMessageFilter::SetThreadType(int32_t ns_tid, + base::ThreadType thread_type) { + constexpr base::TaskTraits kTraits = { diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__message__filter.h b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__message__filter.h new file mode 100644 index 000000000000..cb1840b24b2b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__message__filter.h @@ -0,0 +1,18 @@ +--- content/browser/renderer_host/render_message_filter.h.orig 2022-10-01 07:40:07 UTC ++++ content/browser/renderer_host/render_message_filter.h +@@ -78,13 +78,13 @@ class RenderMessageFilter + void GenerateRoutingID(GenerateRoutingIDCallback routing_id) override; + void GenerateFrameRoutingID(GenerateFrameRoutingIDCallback callback) override; + void HasGpuProcess(HasGpuProcessCallback callback) override; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void SetThreadType(int32_t ns_tid, base::ThreadType thread_type) override; + #endif + + void OnResolveProxy(const GURL& url, IPC::Message* reply_msg); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void SetThreadTypeOnWorkerThread(base::PlatformThreadId ns_tid, + base::ThreadType thread_type); + #endif diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc new file mode 100644 index 000000000000..74d1312b0617 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc @@ -0,0 +1,55 @@ +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/renderer_host/render_process_host_impl.cc +@@ -212,7 +212,7 @@ + #include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <sys/resource.h> + + #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck +@@ -1136,7 +1136,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = + // to indicate failure and std::numeric_limits<size_t>::max() to indicate + // unlimited. + size_t GetPlatformProcessLimit() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + struct rlimit limit; + if (getrlimit(RLIMIT_NPROC, &limit) != 0) + return kUnknownPlatformProcessLimit; +@@ -1223,7 +1223,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public + return; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) { + ConnectToFontService(std::move(font_receiver)); + return; +@@ -2115,7 +2115,7 @@ void RenderProcessHostImpl::CreateWebSocketConnector( + std::move(receiver)); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void RenderProcessHostImpl::CreateStableVideoDecoder( + mojo::PendingReceiver<media::stable::mojom::StableVideoDecoder> receiver) { + if (!stable_video_decoder_factory_remote_.is_bound()) { +@@ -3244,6 +3244,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin + switches::kDisableSpeechAPI, + switches::kDisableThreadedCompositing, + switches::kDisableTouchDragDrop, ++ switches::kDisableUnveil, + switches::kDisableV8IdleTasks, + switches::kDisableVideoCaptureUseGpuMemoryBuffer, + switches::kDisableWebGLImageChromium, +@@ -4720,7 +4721,7 @@ void RenderProcessHostImpl::ResetIPC() { + coordinator_connector_receiver_.reset(); + tracing_registration_.reset(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + stable_video_decoder_factory_remote_.reset(); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h new file mode 100644 index 000000000000..03444b10582f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h @@ -0,0 +1,38 @@ +--- content/browser/renderer_host/render_process_host_impl.h.orig 2022-10-01 07:40:07 UTC ++++ content/browser/renderer_host/render_process_host_impl.h +@@ -83,7 +83,7 @@ + #include "content/public/browser/android/child_process_importance.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "media/mojo/mojom/stable/stable_video_decoder.mojom.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -472,7 +472,7 @@ class CONTENT_EXPORT RenderProcessHostImpl + // Sets this RenderProcessHost to be guest only. For Testing only. + void SetForGuestsOnlyForTesting(); + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + // Launch the zygote early in the browser startup. + static void EarlyZygoteLaunch(); + #endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC) +@@ -671,7 +671,7 @@ class CONTENT_EXPORT RenderProcessHostImpl + mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver) + override; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void CreateStableVideoDecoder( + mojo::PendingReceiver<media::stable::mojom::StableVideoDecoder> receiver) + override; +@@ -1121,7 +1121,7 @@ class CONTENT_EXPORT RenderProcessHostImpl + // RenderProcessHost. This is destroyed early in ResetIPC() method. + std::unique_ptr<PermissionServiceContext> permission_service_context_; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Connection to the StableVideoDecoderFactory that lives in a utility + // process. This is only used for out-of-process video decoding. + mojo::Remote<media::stable::mojom::StableVideoDecoderFactory> diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc new file mode 100644 index 000000000000..20c66ef5325e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc @@ -0,0 +1,11 @@ +--- content/browser/renderer_host/render_view_host_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/renderer_host/render_view_host_impl.cc +@@ -259,7 +259,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( + display::win::ScreenWin::GetSystemMetricsInDIP(SM_CYVSCROLL); + prefs->arrow_bitmap_width_horizontal_scroll_bar_in_dips = + display::win::ScreenWin::GetSystemMetricsInDIP(SM_CXHSCROLL); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + prefs->system_font_family_name = gfx::Font().GetFontName(); + #elif BUILDFLAG(IS_FUCHSIA) + // Make Blink's "focus ring" invisible. The focus ring is a hairline border 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 new file mode 100644 index 000000000000..6bd58b9d9a06 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc @@ -0,0 +1,47 @@ +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/renderer_host/render_widget_host_view_aura.cc +@@ -116,7 +116,7 @@ + #include "ui/gfx/gdi_util.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "content/browser/accessibility/browser_accessibility_auralinux.h" + #include "ui/base/ime/linux/text_edit_command_auralinux.h" + #include "ui/linux/linux_ui.h" +@@ -441,7 +441,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge + if (manager) + return ToBrowserAccessibilityWin(manager->GetRoot())->GetCOM(); + +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BrowserAccessibilityManager* manager = + host()->GetOrCreateRootBrowserAccessibilityManager(); + if (manager && manager->GetRoot()) +@@ -1579,7 +1579,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { + return GetTextInputManager() && GetTextInputManager()->should_do_learning(); + } + +-#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::ImeTextSpan>& ui_ime_text_spans) { +@@ -2400,7 +2400,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { + } + + bool RenderWidgetHostViewAura::NeedsMouseCapture() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + return NeedsInputGrab(); + #else + return false; +@@ -2577,7 +2577,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(); + std::vector<ui::TextEditCommandAuraLinux> commands; + if (!event.skip_in_browser && linux_ui && event.os_event && diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h new file mode 100644 index 000000000000..2e86d47d20bc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h @@ -0,0 +1,11 @@ +--- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2022-10-01 07:40:07 UTC ++++ content/browser/renderer_host/render_widget_host_view_aura.h +@@ -245,7 +245,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura + ukm::SourceId GetClientSourceForMetrics() const override; + bool ShouldDoLearning() override; + +-#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::ImeTextSpan>& ui_ime_text_spans) override; diff --git a/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc new file mode 100644 index 000000000000..a285e627b456 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc @@ -0,0 +1,11 @@ +--- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/renderer_host/render_widget_host_view_event_handler.cc +@@ -596,7 +596,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand + if (event->type() == ui::ET_MOUSE_EXITED) { + if (mouse_locked || selection_popup) + 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) + // Don't forward the mouse leave message which is received when the context + // menu is displayed by the page. This confuses the page and causes state + // changes. diff --git a/www/ungoogled-chromium/files/patch-content_browser_sandbox__host__linux.cc b/www/ungoogled-chromium/files/patch-content_browser_sandbox__host__linux.cc new file mode 100644 index 000000000000..3926f49c7e99 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_sandbox__host__linux.cc @@ -0,0 +1,18 @@ +--- content/browser/sandbox_host_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/sandbox_host_linux.cc +@@ -45,6 +45,7 @@ void SandboxHostLinux::Init() { + // Instead, it replies on a temporary socket provided by the caller. + PCHECK(0 == shutdown(browser_socket, SHUT_WR)) << "shutdown"; + ++#if !defined(OS_BSD) + int pipefds[2]; + CHECK(0 == pipe(pipefds)); + const int child_lifeline_fd = pipefds[0]; +@@ -55,6 +56,7 @@ void SandboxHostLinux::Init() { + ipc_thread_ = std::make_unique<base::DelegateSimpleThread>( + ipc_handler_.get(), "sandbox_ipc_thread"); + ipc_thread_->Start(); ++#endif + } + + } // namespace content diff --git a/www/ungoogled-chromium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc b/www/ungoogled-chromium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc new file mode 100644 index 000000000000..077626d3c16e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc @@ -0,0 +1,11 @@ +--- content/browser/scheduler/responsiveness/jank_monitor_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/scheduler/responsiveness/jank_monitor_impl.cc +@@ -334,7 +334,7 @@ void JankMonitorImpl::ThreadExecutionState::DidRunTask + // in context menus, among others). Simply ignore the mismatches for now. + // See https://crbug.com/929813 for the details of why the mismatch + // happens. +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && defined(USE_OZONE) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) && defined(USE_OZONE) + task_execution_metadata_.clear(); + #endif + return; diff --git a/www/ungoogled-chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc b/www/ungoogled-chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc new file mode 100644 index 000000000000..da364b32ef0c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc @@ -0,0 +1,20 @@ +--- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/scheduler/responsiveness/native_event_observer.cc +@@ -15,7 +15,7 @@ + + #include "ui/events/platform/platform_event_source.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "ui/aura/env.h" + #include "ui/events/event.h" + #endif +@@ -39,7 +39,7 @@ NativeEventObserver::~NativeEventObserver() { + DeregisterObserver(); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void NativeEventObserver::RegisterObserver() { + aura::Env::GetInstance()->AddWindowEventDispatcherObserver(this); + } diff --git a/www/ungoogled-chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h b/www/ungoogled-chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h new file mode 100644 index 000000000000..3c67407496f1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h @@ -0,0 +1,47 @@ +--- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2022-10-01 07:40:07 UTC ++++ content/browser/scheduler/responsiveness/native_event_observer.h +@@ -15,7 +15,7 @@ + #include "content/public/browser/native_event_processor_observer_mac.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "ui/aura/window_event_dispatcher_observer.h" + #endif + +@@ -40,7 +40,7 @@ namespace responsiveness { + class CONTENT_EXPORT NativeEventObserver + #if BUILDFLAG(IS_MAC) + : public NativeEventProcessorObserver +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + : public aura::WindowEventDispatcherObserver + #elif BUILDFLAG(IS_WIN) + : public base::MessagePumpForUI::Observer +@@ -57,7 +57,7 @@ class CONTENT_EXPORT NativeEventObserver + NativeEventObserver(WillRunEventCallback will_run_event_callback, + DidRunEventCallback did_run_event_callback); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + NativeEventObserver(const NativeEventObserver&) = delete; + NativeEventObserver& operator=(const NativeEventObserver&) = delete; +@@ -73,7 +73,7 @@ class CONTENT_EXPORT NativeEventObserver + // Exposed for tests. + void WillRunNativeEvent(const void* opaque_identifier) override; + void DidRunNativeEvent(const void* opaque_identifier) override; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // aura::WindowEventDispatcherObserver overrides: + void OnWindowEventDispatcherStartedProcessing( + aura::WindowEventDispatcher* dispatcher, +@@ -90,7 +90,7 @@ class CONTENT_EXPORT NativeEventObserver + void RegisterObserver(); + void DeregisterObserver(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + struct EventInfo { + const void* unique_id; + }; diff --git a/www/ungoogled-chromium/files/patch-content_browser_utility__process__host__receiver__bindings.cc b/www/ungoogled-chromium/files/patch-content_browser_utility__process__host__receiver__bindings.cc new file mode 100644 index 000000000000..ce16cb77b122 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_utility__process__host__receiver__bindings.cc @@ -0,0 +1,20 @@ +--- content/browser/utility_process_host_receiver_bindings.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/utility_process_host_receiver_bindings.cc +@@ -10,7 +10,7 @@ + #include "content/public/browser/content_browser_client.h" + #include "content/public/common/content_client.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck + #include "content/browser/font_service.h" // nogncheck + #endif +@@ -19,7 +19,7 @@ namespace content { + + void UtilityProcessHost::BindHostReceiver( + mojo::GenericPendingReceiver receiver) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) { + ConnectToFontService(std::move(font_receiver)); + return; diff --git a/www/ungoogled-chromium/files/patch-content_browser_utility__sandbox__delegate.cc b/www/ungoogled-chromium/files/patch-content_browser_utility__sandbox__delegate.cc new file mode 100644 index 000000000000..ab1de93edd99 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_utility__sandbox__delegate.cc @@ -0,0 +1,24 @@ +--- content/browser/utility_sandbox_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/utility_sandbox_delegate.cc +@@ -63,10 +63,10 @@ UtilitySandboxedProcessLauncherDelegate:: + #if BUILDFLAG(ENABLE_PLUGINS) + sandbox_type_ == sandbox::mojom::Sandbox::kPpapi || + #endif +-#if BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + sandbox_type_ == sandbox::mojom::Sandbox::kVideoCapture || + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding || + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) + #if BUILDFLAG(IS_CHROMEOS_ASH) +@@ -109,7 +109,7 @@ ZygoteHandle UtilitySandboxedProcessLauncherDelegate:: + // unsandboxed zygote and then apply their actual sandboxes in the forked + // process upon startup. + if (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork || +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding || + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) + #if BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/www/ungoogled-chromium/files/patch-content_browser_v8__snapshot__files.cc b/www/ungoogled-chromium/files/patch-content_browser_v8__snapshot__files.cc new file mode 100644 index 000000000000..8d15a11ec93d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_v8__snapshot__files.cc @@ -0,0 +1,11 @@ +--- content/browser/v8_snapshot_files.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/v8_snapshot_files.cc +@@ -10,7 +10,7 @@ + namespace content { + + std::map<std::string, base::FilePath> GetV8SnapshotFilesToPreload() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #if defined(USE_V8_CONTEXT_SNAPSHOT) + return {{kV8ContextSnapshotDataDescriptor, + base::FilePath(FILE_PATH_LITERAL(V8_CONTEXT_SNAPSHOT_FILENAME))}}; diff --git a/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc new file mode 100644 index 000000000000..99db0d33e13f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc @@ -0,0 +1,29 @@ +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/web_contents/web_contents_view_aura.cc +@@ -176,7 +176,7 @@ class WebDragSourceAura : public content::WebContentsO + raw_ptr<aura::Window> window_; + }; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Fill out the OSExchangeData with a file contents, synthesizing a name if + // necessary. + void PrepareDragForFileContents(const DropData& drop_data, +@@ -259,7 +259,7 @@ void PrepareDragData(const DropData& drop_data, + if (!drop_data.download_metadata.empty()) + PrepareDragForDownload(drop_data, provider, web_contents); + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // We set the file contents before the URL because the URL also sets file + // contents (to a .URL shortcut). We want to prefer file content data over + // a shortcut so we add it first. +@@ -1360,7 +1360,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* + // Linux window managers like to handle raise-on-click themselves. If we + // raise-on-click manually, this may override user settings that prevent + // focus-stealing. +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + // It is possible for the web-contents to be destroyed while it is being + // activated. Use a weak-ptr to track whether that happened or not. + // More in https://crbug.com/1040725 diff --git a/www/ungoogled-chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc b/www/ungoogled-chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc new file mode 100644 index 000000000000..53aef2195d08 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc @@ -0,0 +1,38 @@ +--- content/browser/webui/web_ui_main_frame_observer.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/webui/web_ui_main_frame_observer.cc +@@ -13,7 +13,7 @@ + #include "content/public/browser/navigation_handle.h" + #include "content/public/browser/web_ui_controller.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/callback_helpers.h" + #include "base/feature_list.h" + #include "base/logging.h" +@@ -31,7 +31,7 @@ namespace content { + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Remove the pieces of the URL we don't want to send back with the error + // reports. In particular, do not send query or fragments as those can have + // privacy-sensitive information in them. +@@ -55,7 +55,7 @@ WebUIMainFrameObserver::WebUIMainFrameObserver(WebUIIm + + WebUIMainFrameObserver::~WebUIMainFrameObserver() = default; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void WebUIMainFrameObserver::OnDidAddMessageToConsole( + RenderFrameHost* source_frame, + blink::mojom::ConsoleMessageLevel log_level, +@@ -163,7 +163,7 @@ void WebUIMainFrameObserver::ReadyToCommitNavigation( + + // TODO(crbug.com/1129544) This is currently disabled due to Windows DLL + // thunking issues. Fix & re-enable. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + MaybeEnableWebUIJavaScriptErrorReporting(navigation_handle); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + } diff --git a/www/ungoogled-chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h b/www/ungoogled-chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h new file mode 100644 index 000000000000..1299e6cfde90 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h @@ -0,0 +1,20 @@ +--- content/browser/webui/web_ui_main_frame_observer.h.orig 2022-10-01 07:40:07 UTC ++++ content/browser/webui/web_ui_main_frame_observer.h +@@ -44,7 +44,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W + + // TODO(crbug.com/1129544) This is currently disabled due to Windows DLL + // thunking issues. Fix & re-enable. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On official Google builds, capture and report JavaScript error messages on + // WebUI surfaces back to Google. This allows us to fix JavaScript errors and + // exceptions. +@@ -60,7 +60,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W + void ReadyToCommitNavigation(NavigationHandle* navigation_handle) override; + + private: +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void MaybeEnableWebUIJavaScriptErrorReporting( + NavigationHandle* navigation_handle); + diff --git a/www/ungoogled-chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc b/www/ungoogled-chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc new file mode 100644 index 000000000000..e2c2b3c24c0a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc @@ -0,0 +1,70 @@ +--- content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ content/browser/zygote_host/zygote_host_impl_linux.cc +@@ -28,6 +28,7 @@ namespace content { + + namespace { + ++#if !BUILDFLAG(IS_BSD) + // Receive a fixed message on fd and return the sender's PID. + // Returns true if the message received matches the expected message. + bool ReceiveFixedMessage(int fd, +@@ -49,6 +50,7 @@ bool ReceiveFixedMessage(int fd, + return false; + return true; + } ++#endif + + } // namespace + +@@ -58,9 +60,13 @@ ZygoteHost* ZygoteHost::GetInstance() { + } + + ZygoteHostImpl::ZygoteHostImpl() ++#if !BUILDFLAG(IS_BSD) + : use_namespace_sandbox_(false), + use_suid_sandbox_(false), + use_suid_sandbox_for_adj_oom_score_(false), ++#else ++ : ++#endif + sandbox_binary_(), + zygote_pids_lock_(), + zygote_pids_() {} +@@ -73,6 +79,7 @@ ZygoteHostImpl* ZygoteHostImpl::GetInstance() { + } + + void ZygoteHostImpl::Init(const base::CommandLine& command_line) { ++#if !BUILDFLAG(IS_BSD) + if (command_line.HasSwitch(sandbox::policy::switches::kNoSandbox)) { + return; + } +@@ -123,6 +130,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com + "you can try using --" + << sandbox::policy::switches::kNoSandbox << "."; + } ++#endif + } + + void ZygoteHostImpl::AddZygotePid(pid_t pid) { +@@ -147,6 +155,7 @@ pid_t ZygoteHostImpl::LaunchZygote( + base::CommandLine* cmd_line, + base::ScopedFD* control_fd, + base::FileHandleMappingVector additional_remapped_fds) { ++#if !BUILDFLAG(IS_BSD) + int fds[2]; + CHECK_EQ(0, socketpair(AF_UNIX, SOCK_SEQPACKET, 0, fds)); + CHECK(base::UnixDomainSocket::EnableReceiveProcessId(fds[0])); +@@ -214,9 +223,12 @@ pid_t ZygoteHostImpl::LaunchZygote( + + AddZygotePid(pid); + return pid; ++#else ++ return 0; ++#endif + } + +-#if !BUILDFLAG(IS_OPENBSD) ++#if !BUILDFLAG(IS_BSD) + void ZygoteHostImpl::AdjustRendererOOMScore(base::ProcessHandle pid, + int score) { + // 1) You can't change the oom_score_adj of a non-dumpable process diff --git a/www/ungoogled-chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h b/www/ungoogled-chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h new file mode 100644 index 000000000000..026b272c0f92 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h @@ -0,0 +1,25 @@ +--- content/browser/zygote_host/zygote_host_impl_linux.h.orig 2022-10-01 07:40:07 UTC ++++ content/browser/zygote_host/zygote_host_impl_linux.h +@@ -42,8 +42,10 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos + base::ScopedFD* control_fd, + base::FileHandleMappingVector additional_remapped_fds); + ++#if !defined(OS_BSD) + void AdjustRendererOOMScore(base::ProcessHandle process_handle, + int score) override; ++#endif + bool HasZygote() { return !zygote_pids_.empty(); } + + private: +@@ -57,9 +59,11 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos + + int renderer_sandbox_status_; + ++#if !defined(OS_BSD) + bool use_namespace_sandbox_; + bool use_suid_sandbox_; + bool use_suid_sandbox_for_adj_oom_score_; ++#endif + std::string sandbox_binary_; + + // This lock protects the |zygote_pids_| set. diff --git a/www/ungoogled-chromium/files/patch-content_child_child__process.cc b/www/ungoogled-chromium/files/patch-content_child_child__process.cc new file mode 100644 index 000000000000..549d9c537bf5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_child_child__process.cc @@ -0,0 +1,11 @@ +--- content/child/child_process.cc.orig 2022-10-01 07:40:07 UTC ++++ content/child/child_process.cc +@@ -68,7 +68,7 @@ ChildProcess::ChildProcess(base::ThreadType io_thread_ + DCHECK(!g_lazy_child_process_tls.Pointer()->Get()); + g_lazy_child_process_tls.Pointer()->Set(this); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const base::CommandLine& command_line = + *base::CommandLine::ForCurrentProcess(); + const bool is_embedded_in_browser_process = diff --git a/www/ungoogled-chromium/files/patch-content_common_BUILD.gn b/www/ungoogled-chromium/files/patch-content_common_BUILD.gn new file mode 100644 index 000000000000..2605a71433c9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_common_BUILD.gn @@ -0,0 +1,12 @@ +--- content/common/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ content/common/BUILD.gn +@@ -428,6 +428,9 @@ if (is_linux || is_chromeos) { + public = [ "set_process_title_linux.h" ] + sources = [ "set_process_title_linux.cc" ] + deps = [ "//base" ] ++ if (is_bsd) { ++ sources -= [ "set_process_title_linux.cc" ] ++ } + } + } + diff --git a/www/ungoogled-chromium/files/patch-content_common_font__list__unittest.cc b/www/ungoogled-chromium/files/patch-content_common_font__list__unittest.cc new file mode 100644 index 000000000000..2663be43b370 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_common_font__list__unittest.cc @@ -0,0 +1,11 @@ +--- content/common/font_list_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ content/common/font_list_unittest.cc +@@ -48,7 +48,7 @@ TEST(FontList, GetFontList) { + EXPECT_TRUE(HasFontWithName(fonts, "MS Gothic", "MS Gothic")); + EXPECT_TRUE(HasFontWithName(fonts, "Segoe UI", "Segoe UI")); + EXPECT_TRUE(HasFontWithName(fonts, "Verdana", "Verdana")); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + EXPECT_TRUE(HasFontWithName(fonts, "Arimo", "Arimo")); + #else + EXPECT_TRUE(HasFontWithName(fonts, "Arial", "Arial")); diff --git a/www/ungoogled-chromium/files/patch-content_common_mojo__core__library__support.cc b/www/ungoogled-chromium/files/patch-content_common_mojo__core__library__support.cc new file mode 100644 index 000000000000..8651a63ab495 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_common_mojo__core__library__support.cc @@ -0,0 +1,11 @@ +--- content/common/mojo_core_library_support.cc.orig 2022-10-01 07:40:07 UTC ++++ content/common/mojo_core_library_support.cc +@@ -15,7 +15,7 @@ bool IsMojoCoreSharedLibraryEnabled() { + } + + absl::optional<base::FilePath> GetMojoCoreSharedLibraryPath() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const base::CommandLine& command_line = + *base::CommandLine::ForCurrentProcess(); + if (!command_line.HasSwitch(switches::kMojoCoreLibraryPath)) diff --git a/www/ungoogled-chromium/files/patch-content_common_user__agent.cc b/www/ungoogled-chromium/files/patch-content_common_user__agent.cc new file mode 100644 index 000000000000..42f783a98e52 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_common_user__agent.cc @@ -0,0 +1,37 @@ +--- content/common/user_agent.cc.orig 2022-10-01 07:40:07 UTC ++++ content/common/user_agent.cc +@@ -41,7 +41,7 @@ std::string GetUserAgentPlatform() { + return ""; + #elif BUILDFLAG(IS_MAC) + return "Macintosh; "; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return "X11; "; // strange, but that's what Firefox uses + #elif BUILDFLAG(IS_ANDROID) + return "Linux; "; +@@ -63,7 +63,7 @@ std::string GetUnifiedPlatform() { + return "Windows NT 10.0; Win64; x64"; + #elif BUILDFLAG(IS_FUCHSIA) + return "Fuchsia"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return "X11; Linux x86_64"; + #else + #error Unsupported platform +@@ -275,6 +275,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons + "Android %s", os_version.c_str() + #elif BUILDFLAG(IS_FUCHSIA) + "Fuchsia" ++#elif BUILDFLAG(IS_BSD) ++#if defined(__x86_64__) ++ "Linux x86_64; %s %s", ++#elif defined(__aarch64__) ++ "Linux aarch64; %s %s", ++#else ++ "Linux i686; %s %s", ++#endif ++ unixinfo.sysname, // e.g. Linux ++ cpu_type.c_str() // e.g. i686 + #elif BUILDFLAG(IS_POSIX) + "%s %s", + unixinfo.sysname, // e.g. Linux diff --git a/www/ungoogled-chromium/files/patch-content_gpu_gpu__main.cc b/www/ungoogled-chromium/files/patch-content_gpu_gpu__main.cc new file mode 100644 index 000000000000..55d9fbdeced2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_gpu_gpu__main.cc @@ -0,0 +1,47 @@ +--- content/gpu/gpu_main.cc.orig 2022-10-01 07:40:07 UTC ++++ content/gpu/gpu_main.cc +@@ -86,7 +86,7 @@ + #include "sandbox/win/src/sandbox.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/gpu/gpu_sandbox_hook_linux.h" + #include "sandbox/policy/linux/sandbox_linux.h" + #include "sandbox/policy/sandbox_type.h" +@@ -108,7 +108,7 @@ namespace content { + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool StartSandboxLinux(gpu::GpuWatchdogThread*, + const gpu::GPUInfo*, + const gpu::GpuPreferences&); +@@ -170,7 +170,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel + bool EnsureSandboxInitialized(gpu::GpuWatchdogThread* watchdog_thread, + const gpu::GPUInfo* gpu_info, + const gpu::GpuPreferences& gpu_prefs) override { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs); + #elif BUILDFLAG(IS_WIN) + return StartSandboxWindows(sandbox_info_); +@@ -266,7 +266,7 @@ int GpuMain(MainFunctionParams parameters) { + std::make_unique<base::SingleThreadTaskExecutor>( + gpu_preferences.message_pump_type); + } +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #error "Unsupported Linux platform." + #elif BUILDFLAG(IS_MAC) + // Cross-process CoreAnimation requires a CFRunLoop to function at all, and +@@ -401,7 +401,7 @@ int GpuMain(MainFunctionParams parameters) { + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread, + const gpu::GPUInfo* gpu_info, + const gpu::GpuPreferences& gpu_prefs) { diff --git a/www/ungoogled-chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc new file mode 100644 index 000000000000..ea48f1b4ea5f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc @@ -0,0 +1,70 @@ +--- content/gpu/gpu_sandbox_hook_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ content/gpu/gpu_sandbox_hook_linux.cc +@@ -118,6 +118,7 @@ void AddStandardChromeOsPermissions( + permissions->push_back(BrokerFilePermission::ReadOnly(kAngleGlesPath)); + } + ++#if !defined(OS_BSD) + void AddV4L2GpuPermissions( + std::vector<BrokerFilePermission>* permissions, + const sandbox::policy::SandboxSeccompBPF::Options& options) { +@@ -434,8 +435,10 @@ std::vector<BrokerFilePermission> FilePermissionsForGp + AddStandardGpuPermissions(&permissions); + return permissions; + } ++#endif + + void LoadArmGpuLibraries() { ++#if !defined(OS_BSD) + // Preload the Mali library. + if (UseChromecastSandboxAllowlist()) { + for (const char* path : kAllowedChromecastPaths) { +@@ -477,6 +480,7 @@ void LoadArmGpuLibraries() { + dlopen(driver_paths[i], dlopen_flag); + } + } ++#endif + } + + bool LoadAmdGpuLibraries() { +@@ -542,12 +546,14 @@ void LoadV4L2Libraries( + } + + void LoadChromecastV4L2Libraries() { ++#if !defined(OS_BSD) + for (const char* path : kAllowedChromecastPaths) { + const std::string library_path(std::string(path) + + std::string("libvpcodec.so")); + if (dlopen(library_path.c_str(), dlopen_flag)) + break; + } ++#endif + } + + bool LoadLibrariesForGpu( +@@ -575,6 +581,7 @@ bool LoadLibrariesForGpu( + return true; + } + ++#if !defined(OS_BSD) + sandbox::syscall_broker::BrokerCommandSet CommandSetForGPU( + const sandbox::policy::SandboxLinux::Options& options) { + sandbox::syscall_broker::BrokerCommandSet command_set; +@@ -597,13 +604,17 @@ bool BrokerProcessPreSandboxHook( + SetProcessTitleFromCommandLine(nullptr); + return true; + } ++#endif + + } // namespace + + bool GpuProcessPreSandboxHook(sandbox::policy::SandboxLinux::Options options) { ++ NOTIMPLEMENTED(); ++#if !defined(OS_BSD) + sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess( + CommandSetForGPU(options), FilePermissionsForGpu(options), + base::BindOnce(BrokerProcessPreSandboxHook), options); ++#endif + + if (!LoadLibrariesForGpu(options)) + return false; diff --git a/www/ungoogled-chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/www/ungoogled-chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc new file mode 100644 index 000000000000..116b24c26313 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc @@ -0,0 +1,29 @@ +--- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/ppapi_plugin/ppapi_blink_platform_impl.cc +@@ -20,7 +20,7 @@ + + #if BUILDFLAG(IS_MAC) + #include "content/child/child_process_sandbox_support_impl_mac.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/child/child_process_sandbox_support_impl_linux.h" + #include "mojo/public/cpp/bindings/pending_remote.h" + #endif +@@ -35,7 +35,7 @@ typedef struct CGFont* CGFontRef; + namespace content { + + PpapiBlinkPlatformImpl::PpapiBlinkPlatformImpl() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + mojo::PendingRemote<font_service::mojom::FontService> font_service; + ChildThread::Get()->BindHostReceiver( + font_service.InitWithNewPipeAndPassReceiver()); +@@ -53,7 +53,7 @@ PpapiBlinkPlatformImpl::~PpapiBlinkPlatformImpl() { + void PpapiBlinkPlatformImpl::Shutdown() {} + + blink::WebSandboxSupport* PpapiBlinkPlatformImpl::GetSandboxSupport() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return sandbox_support_.get(); + #else + return nullptr; diff --git a/www/ungoogled-chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h b/www/ungoogled-chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h new file mode 100644 index 000000000000..294f436373ff --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h @@ -0,0 +1,25 @@ +--- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2022-10-01 07:40:07 UTC ++++ content/ppapi_plugin/ppapi_blink_platform_impl.h +@@ -12,7 +12,7 @@ + #include "build/build_config.h" + #include "content/child/blink_platform_impl.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/services/font/public/cpp/font_loader.h" + #include "third_party/skia/include/core/SkRefCnt.h" + #endif +@@ -38,11 +38,11 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp + blink::WebString DefaultLocale() override; + + private: +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + std::unique_ptr<blink::WebSandboxSupport> sandbox_support_; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + sk_sp<font_service::FontLoader> font_loader_; + #endif + }; diff --git a/www/ungoogled-chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc b/www/ungoogled-chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc new file mode 100644 index 000000000000..c3148a341b66 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc @@ -0,0 +1,23 @@ +--- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2022-10-01 07:40:07 UTC ++++ content/ppapi_plugin/ppapi_plugin_main.cc +@@ -53,6 +53,11 @@ + #include "gin/v8_initializer.h" + #endif + ++#if BUILDFLAG(IS_OPENBSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#include "sandbox/policy/sandbox_type.h" ++#endif ++ + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) + #include <stdlib.h> + #endif +@@ -136,7 +141,7 @@ int PpapiPluginMain(MainFunctionParams parameters) { + gin::V8Initializer::LoadV8Snapshot(); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) + sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox( + sandbox::policy::SandboxTypeFromCommandLine(command_line), + sandbox::policy::SandboxLinux::PreSandboxHook(), diff --git a/www/ungoogled-chromium/files/patch-content_public_browser_render__process__host.h b/www/ungoogled-chromium/files/patch-content_public_browser_render__process__host.h new file mode 100644 index 000000000000..43d5bbc6e27d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_public_browser_render__process__host.h @@ -0,0 +1,20 @@ +--- content/public/browser/render_process_host.h.orig 2022-10-01 07:40:07 UTC ++++ content/public/browser/render_process_host.h +@@ -53,7 +53,7 @@ + #include "content/public/browser/android/child_process_importance.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "media/mojo/mojom/stable/stable_video_decoder.mojom-forward.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -626,7 +626,7 @@ class CONTENT_EXPORT RenderProcessHost : public IPC::S + const blink::StorageKey& storage_key, + mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver) = 0; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + virtual void CreateStableVideoDecoder( + mojo::PendingReceiver<media::stable::mojom::StableVideoDecoder> + receiver) = 0; diff --git a/www/ungoogled-chromium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h b/www/ungoogled-chromium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h new file mode 100644 index 000000000000..5a50e595b73f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_public_browser_zygote__host_zygote__host__linux.h @@ -0,0 +1,16 @@ +--- content/public/browser/zygote_host/zygote_host_linux.h.orig 2022-10-01 07:40:07 UTC ++++ content/public/browser/zygote_host/zygote_host_linux.h +@@ -30,11 +30,13 @@ class ZygoteHost { + // after the first render has been forked. + virtual int GetRendererSandboxStatus() = 0; + ++#if !defined(OS_BSD) + // Adjust the OOM score of the given renderer's PID. The allowed + // range for the score is [0, 1000], where higher values are more + // likely to be killed by the OOM killer. + virtual void AdjustRendererOOMScore(base::ProcessHandle process_handle, + int score) = 0; ++#endif + }; + + } // namespace content diff --git a/www/ungoogled-chromium/files/patch-content_public_common_common__param__traits__macros.h b/www/ungoogled-chromium/files/patch-content_public_common_common__param__traits__macros.h new file mode 100644 index 000000000000..e3b217c455e5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_public_common_common__param__traits__macros.h @@ -0,0 +1,11 @@ +--- content/public/common/common_param_traits_macros.h.orig 2022-10-01 07:40:07 UTC ++++ content/public/common/common_param_traits_macros.h +@@ -128,7 +128,7 @@ IPC_STRUCT_TRAITS_BEGIN(blink::RendererPreferences) + IPC_STRUCT_TRAITS_MEMBER(accept_languages) + IPC_STRUCT_TRAITS_MEMBER(plugin_fullscreen_allowed) + IPC_STRUCT_TRAITS_MEMBER(caret_browsing_enabled) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + IPC_STRUCT_TRAITS_MEMBER(system_font_family_name) + #endif + #if BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-content_public_common_content__features.cc b/www/ungoogled-chromium/files/patch-content_public_common_content__features.cc new file mode 100644 index 000000000000..54d678c45ac6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__features.cc @@ -0,0 +1,50 @@ +--- content/public/common/content_features.cc.orig 2022-10-01 07:40:07 UTC ++++ content/public/common/content_features.cc +@@ -43,7 +43,7 @@ const base::Feature kAudioServiceOutOfProcess { + "AudioServiceOutOfProcess", + // TODO(crbug.com/1052397): Remove !IS_CHROMEOS_LACROS once lacros starts being + // built with OS_CHROMEOS instead of OS_LINUX. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + base::FEATURE_ENABLED_BY_DEFAULT + #else +@@ -55,7 +55,7 @@ const base::Feature kAudioServiceOutOfProcess { + // kAudioServiceOutOfProcess feature is enabled. + const base::Feature kAudioServiceSandbox { + "AudioServiceSandbox", +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -1086,7 +1086,7 @@ const base::Feature kWebAssemblyBaseline{"WebAssemblyB + const base::Feature kWebAssemblyCodeProtection{ + "WebAssemblyCodeProtection", base::FEATURE_ENABLED_BY_DEFAULT}; + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64) + // Use memory protection keys in userspace (PKU) (if available) to protect code + // JITed for WebAssembly. Fall back to traditional memory protection if + // WebAssemblyCodeProtection is also enabled. +@@ -1122,7 +1122,7 @@ const base::Feature kWebAssemblyTiering{"WebAssemblyTi + const base::Feature kWebAssemblyTrapHandler { + "WebAssemblyTrapHandler", + #if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC)) && \ ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \ + defined(ARCH_CPU_X86_64)) || \ + (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) + base::FEATURE_ENABLED_BY_DEFAULT +@@ -1192,7 +1192,11 @@ const base::Feature kWebUIReportOnlyTrustedTypes{ + + // Controls whether the WebUSB API is enabled: + // https://wicg.github.io/webusb ++#if BUILDFLAG(IS_BSD) ++const base::Feature kWebUsb{"WebUSB", base::FEATURE_DISABLED_BY_DEFAULT}; ++#else + const base::Feature kWebUsb{"WebUSB", base::FEATURE_ENABLED_BY_DEFAULT}; ++#endif + + // Controls whether the WebXR Device API is enabled. + const base::Feature kWebXr{"WebXR", base::FEATURE_ENABLED_BY_DEFAULT}; diff --git a/www/ungoogled-chromium/files/patch-content_public_common_content__features.h b/www/ungoogled-chromium/files/patch-content_public_common_content__features.h new file mode 100644 index 000000000000..20204cfaadc0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__features.h @@ -0,0 +1,11 @@ +--- content/public/common/content_features.h.orig 2022-10-01 07:40:07 UTC ++++ content/public/common/content_features.h +@@ -282,7 +282,7 @@ CONTENT_EXPORT extern const base::Feature kV8VmFuture; + CONTENT_EXPORT extern const base::Feature kWebAppWindowControlsOverlay; + CONTENT_EXPORT extern const base::Feature kWebAssemblyBaseline; + CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeProtection; +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64) + CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeProtectionPku; + #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && + // defined(ARCH_CPU_X86_64) diff --git a/www/ungoogled-chromium/files/patch-content_public_common_content__switches.cc b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.cc new file mode 100644 index 000000000000..343e819259ac --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.cc @@ -0,0 +1,20 @@ +--- content/public/common/content_switches.cc.orig 2022-10-01 07:40:07 UTC ++++ content/public/common/content_switches.cc +@@ -370,6 +370,8 @@ const char kEnableGpuMemoryBufferVideoFrames[] = + // builds. + const char kEnableLogging[] = "enable-logging"; + ++const char kDisableUnveil[] = "disable-unveil"; ++ + // Enables the type, downlinkMax attributes of the NetInfo API. Also, enables + // triggering of change attribute of the NetInfo API when there is a change in + // the connection type. +@@ -984,7 +986,7 @@ const char kEnableAutomation[] = "enable-automation"; + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Allows sending text-to-speech requests to speech-dispatcher, a common + // Linux speech service. Because it's buggy, the user must explicitly + // enable it so that visiting a random webpage can't cause instability. diff --git a/www/ungoogled-chromium/files/patch-content_public_common_content__switches.h b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.h new file mode 100644 index 000000000000..32e9393e0a85 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_public_common_content__switches.h @@ -0,0 +1,19 @@ +--- content/public/common/content_switches.h.orig 2022-10-01 07:40:07 UTC ++++ content/public/common/content_switches.h +@@ -118,6 +118,7 @@ CONTENT_EXPORT extern const char kEnableBlinkTestFeatu + CONTENT_EXPORT extern const char kEnableGpuMemoryBufferVideoFrames[]; + CONTENT_EXPORT extern const char kEnableLCDText[]; + CONTENT_EXPORT extern const char kEnableLogging[]; ++CONTENT_EXPORT extern const char kDisableUnveil[]; + CONTENT_EXPORT extern const char kEnableNetworkInformationDownlinkMax[]; + CONTENT_EXPORT extern const char kEnableCanvas2DLayers[]; + CONTENT_EXPORT extern const char kEnablePluginPlaceholderTesting[]; +@@ -265,7 +266,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + CONTENT_EXPORT extern const char kEnableSpeechDispatcher[]; + #endif + diff --git a/www/ungoogled-chromium/files/patch-content_public_common_zygote_features.gni b/www/ungoogled-chromium/files/patch-content_public_common_zygote_features.gni new file mode 100644 index 000000000000..a6eee1453e0c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_public_common_zygote_features.gni @@ -0,0 +1,8 @@ +--- content/public/common/zygote/features.gni.orig 2022-10-01 07:40:07 UTC ++++ content/public/common/zygote/features.gni +@@ -2,4 +2,4 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-use_zygote_handle = is_posix && !is_android && !is_mac ++use_zygote_handle = is_posix && !is_android && !is_mac && !is_bsd diff --git a/www/ungoogled-chromium/files/patch-content_public_test_mock__render__process__host.h b/www/ungoogled-chromium/files/patch-content_public_test_mock__render__process__host.h new file mode 100644 index 000000000000..da8e6fe099c6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_public_test_mock__render__process__host.h @@ -0,0 +1,11 @@ +--- content/public/test/mock_render_process_host.h.orig 2022-10-01 07:40:07 UTC ++++ content/public/test/mock_render_process_host.h +@@ -261,7 +261,7 @@ class MockRenderProcessHost : public RenderProcessHost + const blink::StorageKey& storage_key, + mojo::PendingReceiver<blink::mojom::WebSocketConnector> receiver) + override {} +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void CreateStableVideoDecoder( + mojo::PendingReceiver<media::stable::mojom::StableVideoDecoder> receiver) + override {} diff --git a/www/ungoogled-chromium/files/patch-content_public_test_mock__render__thread.cc b/www/ungoogled-chromium/files/patch-content_public_test_mock__render__thread.cc new file mode 100644 index 000000000000..2f51e0bffbf6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_public_test_mock__render__thread.cc @@ -0,0 +1,11 @@ +--- content/public/test/mock_render_thread.cc.orig 2022-10-01 07:40:07 UTC ++++ content/public/test/mock_render_thread.cc +@@ -62,7 +62,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend + std::move(callback).Run(false); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void SetThreadType(int32_t platform_thread_id, + base::ThreadType thread_type) override {} + #endif diff --git a/www/ungoogled-chromium/files/patch-content_renderer_media_render__media__client.cc b/www/ungoogled-chromium/files/patch-content_renderer_media_render__media__client.cc new file mode 100644 index 000000000000..762ea4ee3550 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_renderer_media_render__media__client.cc @@ -0,0 +1,11 @@ +--- content/renderer/media/render_media_client.cc.orig 2022-10-01 07:40:07 UTC ++++ content/renderer/media/render_media_client.cc +@@ -21,7 +21,7 @@ namespace { + // it asynchronously ahead of time, but can fallback to a blocking call + // when it's needed synchronously. + #if BUILDFLAG(ENABLE_PLATFORM_HEVC) && \ +- (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) ++ (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + #define NEEDS_PROFILE_UPDATER 1 + #else + #define NEEDS_PROFILE_UPDATER 0 diff --git a/www/ungoogled-chromium/files/patch-content_renderer_render__process__impl.cc b/www/ungoogled-chromium/files/patch-content_renderer_render__process__impl.cc new file mode 100644 index 000000000000..212bc6d5cf0e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_renderer_render__process__impl.cc @@ -0,0 +1,29 @@ +--- content/renderer/render_process_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/renderer/render_process_impl.cc +@@ -46,7 +46,7 @@ + #if BUILDFLAG(IS_WIN) + #include "base/win/win_util.h" + #endif +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64) + #include "v8/include/v8-wasm-trap-handler-posix.h" + #endif + +@@ -138,7 +138,7 @@ RenderProcessImpl::RenderProcessImpl() + SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtection, + "--no-wasm-write-protect-code-memory"); + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64) + SetV8FlagIfFeature(features::kWebAssemblyCodeProtectionPku, + "--wasm-memory-protection-keys"); + SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtectionPku, +@@ -224,7 +224,7 @@ RenderProcessImpl::RenderProcessImpl() + + v8::V8::SetFlagsFromString("--freeze-flags-after-init"); + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(ARCH_CPU_X86_64) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_64) + if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) { + if (command_line->HasSwitch(switches::kEnableCrashpad) || + command_line->HasSwitch(switches::kEnableCrashReporter) || diff --git a/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc b/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc new file mode 100644 index 000000000000..91b765f18967 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_renderer_render__thread__impl.cc @@ -0,0 +1,38 @@ +--- content/renderer/render_thread_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/renderer/render_thread_impl.cc +@@ -190,7 +190,7 @@ + + #if BUILDFLAG(IS_MAC) + #include <malloc/malloc.h> +-#else ++#elif !BUILDFLAG(IS_OPENBSD) + #include <malloc.h> + #endif + +@@ -671,7 +671,7 @@ void RenderThreadImpl::Init() { + base::DiscardableMemoryAllocator::SetInstance( + discardable_memory_allocator_.get()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + render_message_filter()->SetThreadType( + ChildProcess::current()->io_thread_id(), base::ThreadType::kCompositing); + #endif +@@ -1041,7 +1041,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: + + const bool enable_video_decode_accelerator = + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux) && + #else + !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) && +@@ -1052,7 +1052,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: + + const bool enable_video_encode_accelerator = + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FeatureList::IsEnabled(media::kVaapiVideoEncodeLinux) && + #else + !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoEncode) && diff --git a/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc new file mode 100644 index 000000000000..4ebb392f9018 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc @@ -0,0 +1,47 @@ +--- content/renderer/renderer_blink_platform_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/renderer/renderer_blink_platform_impl.cc +@@ -108,7 +108,7 @@ + + #if BUILDFLAG(IS_MAC) + #include "content/child/child_process_sandbox_support_impl_mac.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/child/child_process_sandbox_support_impl_linux.h" + #endif + +@@ -177,7 +177,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( + main_thread_scheduler_(main_thread_scheduler) { + // RenderThread may not exist in some tests. + if (RenderThreadImpl::current()) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + mojo::PendingRemote<font_service::mojom::FontService> font_service; + RenderThreadImpl::current()->BindHostReceiver( + font_service.InitWithNewPipeAndPassReceiver()); +@@ -187,7 +187,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( + #endif + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (sandboxEnabled()) { + #if BUILDFLAG(IS_MAC) + sandbox_support_ = std::make_unique<WebSandboxSupportMac>(); +@@ -254,7 +254,7 @@ RendererBlinkPlatformImpl::WrapURLLoaderFactory( + /*terminate_sync_load_event=*/nullptr); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void RendererBlinkPlatformImpl::SetThreadType(base::PlatformThreadId thread_id, + base::ThreadType thread_type) { + if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) { +@@ -265,7 +265,7 @@ void RendererBlinkPlatformImpl::SetThreadType(base::Pl + #endif + + blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return sandbox_support_.get(); + #else + // These platforms do not require sandbox support. diff --git a/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h new file mode 100644 index 000000000000..2658d25ec546 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_renderer_renderer__blink__platform__impl.h @@ -0,0 +1,38 @@ +--- content/renderer/renderer_blink_platform_impl.h.orig 2022-10-01 07:40:07 UTC ++++ content/renderer/renderer_blink_platform_impl.h +@@ -29,7 +29,7 @@ + #include "third_party/blink/public/common/user_agent/user_agent_metadata.h" + #include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/services/font/public/cpp/font_loader.h" // nogncheck + #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck + #endif +@@ -169,7 +169,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi + const blink::WebURL& top_document_web_url) override; + gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; + blink::WebString ConvertIDNToUnicode(const blink::WebString& host) override; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void SetThreadType(base::PlatformThreadId thread_id, + base::ThreadType) override; + #endif +@@ -235,7 +235,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi + void Collect3DContextInformation(blink::Platform::GraphicsInfo* gl_info, + const gpu::GPUInfo& gpu_info) const; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + std::unique_ptr<blink::WebSandboxSupport> sandbox_support_; + #endif + +@@ -255,7 +255,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi + mutable base::WaitableEvent io_thread_id_ready_event_; + base::PlatformThreadId io_thread_id_ = base::kInvalidThreadId; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + sk_sp<font_service::FontLoader> font_loader_; + #endif + diff --git a/www/ungoogled-chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc b/www/ungoogled-chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc new file mode 100644 index 000000000000..8b47f3e05ab0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc @@ -0,0 +1,18 @@ +--- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ content/renderer/renderer_main_platform_delegate_linux.cc +@@ -44,6 +44,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() { + // any renderer has been started. + // Here, we test that the status of SeccompBpf in the renderer is consistent + // with what SandboxLinux::GetStatus() said we would do. ++#if !defined(OS_BSD) + auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance(); + if (linux_sandbox->GetStatus() & sandbox::policy::SandboxLinux::kSeccompBPF) { + CHECK(linux_sandbox->seccomp_bpf_started()); +@@ -65,6 +66,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() { + CHECK_EQ(errno, EPERM); + } + #endif // __x86_64__ ++#endif + + return true; + } diff --git a/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn b/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn new file mode 100644 index 000000000000..ffaf91638428 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_shell_BUILD.gn @@ -0,0 +1,11 @@ +--- content/shell/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ content/shell/BUILD.gn +@@ -893,7 +893,7 @@ group("content_shell_crash_test") { + if (is_win) { + data_deps += [ "//build/win:copy_cdb_to_output" ] + } +- if (is_posix) { ++ if (is_posix && !is_bsd) { + data_deps += [ + "//third_party/breakpad:dump_syms", + "//third_party/breakpad:minidump_stackwalk", diff --git a/www/ungoogled-chromium/files/patch-content_shell_app_shell__main__delegate.cc b/www/ungoogled-chromium/files/patch-content_shell_app_shell__main__delegate.cc new file mode 100644 index 000000000000..f0db400681f9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_shell_app_shell__main__delegate.cc @@ -0,0 +1,11 @@ +--- content/shell/app/shell_main_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ content/shell/app/shell_main_delegate.cc +@@ -208,7 +208,7 @@ void ShellMainDelegate::PreSandboxStartup() { + // Reporting for sub-processes will be initialized in ZygoteForked. + if (process_type != switches::kZygoteProcess) { + crash_reporter::InitializeCrashpad(process_type.empty(), process_type); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + crash_reporter::SetFirstChanceExceptionHandler( + v8::TryHandleWebAssemblyTrapPosix); + #endif diff --git a/www/ungoogled-chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc b/www/ungoogled-chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc new file mode 100644 index 000000000000..cda7e588a61f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc @@ -0,0 +1,47 @@ +--- content/shell/browser/shell_browser_main_parts.cc.orig 2022-10-01 07:40:07 UTC ++++ content/shell/browser/shell_browser_main_parts.cc +@@ -50,7 +50,7 @@ + #include "net/base/network_change_notifier.h" + #endif + +-#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + #include "ui/base/ime/init/input_method_initializer.h" + #endif + +@@ -65,7 +65,7 @@ + #include "chromeos/lacros/dbus/lacros_dbus_thread_manager.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" // nogncheck + #include "ui/linux/linux_ui_factory.h" // nogncheck + #endif +@@ -129,7 +129,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop( + } + + int ShellBrowserMainParts::PreEarlyInitialization() { +-#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + ui::InitializeInputMethodForTesting(); + #endif + #if BUILDFLAG(IS_ANDROID) +@@ -153,7 +153,7 @@ void ShellBrowserMainParts::ToolkitInitialized() { + if (switches::IsRunWebTestsSwitchPresent()) + return; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ui::LinuxUi::SetInstance(ui::CreateLinuxUi()); + #endif + } +@@ -196,7 +196,7 @@ void ShellBrowserMainParts::PostMainMessageLoopRun() { + ShellDevToolsManagerDelegate::StopHttpHandler(); + browser_context_.reset(); + off_the_record_browser_context_.reset(); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ui::LinuxUi::SetInstance(nullptr); + #endif + performance_manager_lifetime_.reset(); diff --git a/www/ungoogled-chromium/files/patch-content_shell_browser_shell__paths.cc b/www/ungoogled-chromium/files/patch-content_shell_browser_shell__paths.cc new file mode 100644 index 000000000000..3d3d8ff2ebb8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_shell_browser_shell__paths.cc @@ -0,0 +1,20 @@ +--- content/shell/browser/shell_paths.cc.orig 2022-10-01 07:40:07 UTC ++++ content/shell/browser/shell_paths.cc +@@ -13,7 +13,7 @@ + + #if BUILDFLAG(IS_FUCHSIA) + #include "base/fuchsia/file_utils.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/nix/xdg_util.h" + #endif + +@@ -25,7 +25,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul + #if BUILDFLAG(IS_WIN) + CHECK(base::PathService::Get(base::DIR_LOCAL_APP_DATA, result)); + *result = result->Append(std::wstring(L"content_shell")); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::unique_ptr<base::Environment> env(base::Environment::Create()); + base::FilePath config_dir(base::nix::GetXDGDirectory( + env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir)); diff --git a/www/ungoogled-chromium/files/patch-content_shell_utility_shell__content__utility__client.cc b/www/ungoogled-chromium/files/patch-content_shell_utility_shell__content__utility__client.cc new file mode 100644 index 000000000000..b37d5ac19acf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_shell_utility_shell__content__utility__client.cc @@ -0,0 +1,20 @@ +--- content/shell/utility/shell_content_utility_client.cc.orig 2022-10-01 07:40:07 UTC ++++ content/shell/utility/shell_content_utility_client.cc +@@ -32,7 +32,7 @@ + #include "sandbox/policy/sandbox.h" + #include "services/test/echo/echo_service.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/test/sandbox_status_service.h" + #endif + +@@ -143,7 +143,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow + binders->Add<mojom::PowerMonitorTest>( + base::BindRepeating(&PowerMonitorTestImpl::MakeSelfOwnedReceiver), + base::ThreadTaskRunnerHandle::Get()); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (register_sandbox_status_helper_) { + binders->Add<content::mojom::SandboxStatusService>( + base::BindRepeating( diff --git a/www/ungoogled-chromium/files/patch-content_test_BUILD.gn b/www/ungoogled-chromium/files/patch-content_test_BUILD.gn new file mode 100644 index 000000000000..567229eeb5a6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_test_BUILD.gn @@ -0,0 +1,20 @@ +--- content/test/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ content/test/BUILD.gn +@@ -2055,7 +2055,7 @@ static_library("run_all_unittests") { + ":test_support", + "//base/test:test_support", + ] +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + deps += [ "//content/common:set_process_title_linux" ] + } + } +@@ -3025,7 +3025,7 @@ test("content_unittests") { + deps += [ "//third_party/boringssl" ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ "../common/set_process_title_linux_unittest.cc" ] + deps += [ "//content/common:set_process_title_linux" ] + } diff --git a/www/ungoogled-chromium/files/patch-content_utility_services.cc b/www/ungoogled-chromium/files/patch-content_utility_services.cc new file mode 100644 index 000000000000..8a0057625c29 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_utility_services.cc @@ -0,0 +1,47 @@ +--- content/utility/services.cc.orig 2022-10-01 07:40:07 UTC ++++ content/utility/services.cc +@@ -63,7 +63,7 @@ + extern sandbox::TargetServices* g_utility_target_services; + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "sandbox/linux/services/libc_interceptor.h" + #include "sandbox/policy/mojom/sandbox.mojom.h" + #include "sandbox/policy/sandbox_type.h" +@@ -85,7 +85,7 @@ extern sandbox::TargetServices* g_utility_target_servi + #endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) || + // BUILDFLAG(USE_V4L2_CODEC)) + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \ ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \ + (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) + #include "media/mojo/services/stable_video_decoder_factory_service.h" // nogncheck + #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && +@@ -198,7 +198,7 @@ auto RunAudio(mojo::PendingReceiver<audio::mojom::Audi + << "task_policy_set TASK_QOS_POLICY"; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + auto* command_line = base::CommandLine::ForCurrentProcess(); + if (sandbox::policy::SandboxTypeFromCommandLine(*command_line) == + sandbox::mojom::Sandbox::kNoSandbox) { +@@ -288,7 +288,7 @@ auto RunOOPArcVideoAcceleratorFactoryService( + #endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) || + // BUILDFLAG(USE_V4L2_CODEC)) + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \ ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \ + (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) + auto RunStableVideoDecoderFactoryService( + mojo::PendingReceiver<media::stable::mojom::StableVideoDecoderFactory> +@@ -342,7 +342,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& + #endif // BUILDFLAG(IS_CHROMEOS_ASH) && (BUILDFLAG(USE_VAAPI) || + // BUILDFLAG(USE_V4L2_CODEC)) + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && \ ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) && \ + (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) + services.Add(RunStableVideoDecoderFactoryService); + #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && diff --git a/www/ungoogled-chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc new file mode 100644 index 000000000000..d18e64119a7f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc @@ -0,0 +1,37 @@ +--- content/utility/speech/speech_recognition_sandbox_hook_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ content/utility/speech/speech_recognition_sandbox_hook_linux.cc +@@ -12,11 +12,14 @@ + #include "sandbox/linux/syscall_broker/broker_command.h" + #include "sandbox/linux/syscall_broker/broker_file_permission.h" + ++#if !defined(OS_BSD) + using sandbox::syscall_broker::BrokerFilePermission; + using sandbox::syscall_broker::MakeBrokerCommandSet; ++#endif + + namespace speech { + ++#if !defined(OS_BSD) + namespace { + + // Gets the file permissions required by the Speech On-Device API (SODA). +@@ -50,9 +53,11 @@ std::vector<BrokerFilePermission> GetSodaFilePermissio + } + + } // namespace ++#endif + + bool SpeechRecognitionPreSandboxHook( + sandbox::policy::SandboxLinux::Options options) { ++#if !defined(OS_BSD) + #if BUILDFLAG(ENABLE_SODA) + base::FilePath test_binary_path = GetSodaTestBinaryPath(); + DVLOG(0) << "SODA test binary path: " << test_binary_path.value().c_str(); +@@ -77,6 +82,7 @@ bool SpeechRecognitionPreSandboxHook( + sandbox::policy::SandboxLinux::PreSandboxHook(), + options); + instance->EngageNamespaceSandboxIfPossible(); ++#endif + + return true; + } diff --git a/www/ungoogled-chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h b/www/ungoogled-chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h new file mode 100644 index 000000000000..7c25d4ed6d69 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h @@ -0,0 +1,14 @@ +--- content/utility/speech/speech_recognition_sandbox_hook_linux.h.orig 2022-10-01 07:40:07 UTC ++++ content/utility/speech/speech_recognition_sandbox_hook_linux.h +@@ -5,7 +5,11 @@ + #ifndef CONTENT_UTILITY_SPEECH_SPEECH_RECOGNITION_SANDBOX_HOOK_LINUX_H_ + #define CONTENT_UTILITY_SPEECH_SPEECH_RECOGNITION_SANDBOX_HOOK_LINUX_H_ + ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace speech { + diff --git a/www/ungoogled-chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc b/www/ungoogled-chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc new file mode 100644 index 000000000000..fbf6aa5f98c6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc @@ -0,0 +1,29 @@ +--- content/utility/utility_blink_platform_with_sandbox_support_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ content/utility/utility_blink_platform_with_sandbox_support_impl.cc +@@ -9,7 +9,7 @@ + + #if BUILDFLAG(IS_MAC) + #include "content/child/child_process_sandbox_support_impl_mac.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/child/child_process_sandbox_support_impl_linux.h" + #endif + +@@ -17,7 +17,7 @@ namespace content { + + UtilityBlinkPlatformWithSandboxSupportImpl:: + UtilityBlinkPlatformWithSandboxSupportImpl() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + mojo::PendingRemote<font_service::mojom::FontService> font_service; + UtilityThread::Get()->BindHostReceiver( + font_service.InitWithNewPipeAndPassReceiver()); +@@ -34,7 +34,7 @@ UtilityBlinkPlatformWithSandboxSupportImpl:: + + blink::WebSandboxSupport* + UtilityBlinkPlatformWithSandboxSupportImpl::GetSandboxSupport() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return sandbox_support_.get(); + #else + return nullptr; diff --git a/www/ungoogled-chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/www/ungoogled-chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h new file mode 100644 index 000000000000..ed290fb75c47 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h @@ -0,0 +1,24 @@ +--- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2022-10-01 07:40:07 UTC ++++ content/utility/utility_blink_platform_with_sandbox_support_impl.h +@@ -10,7 +10,7 @@ + #include "build/build_config.h" + #include "third_party/blink/public/platform/platform.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/services/font/public/cpp/font_loader.h" // nogncheck + #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck + #endif +@@ -38,10 +38,10 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub + blink::WebSandboxSupport* GetSandboxSupport() override; + + private: +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + std::unique_ptr<blink::WebSandboxSupport> sandbox_support_; + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + sk_sp<font_service::FontLoader> font_loader_; + #endif + }; diff --git a/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc b/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc new file mode 100644 index 000000000000..2d791399e149 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_utility_utility__main.cc @@ -0,0 +1,78 @@ +--- content/utility/utility_main.cc.orig 2022-10-01 07:40:07 UTC ++++ content/utility/utility_main.cc +@@ -31,17 +31,19 @@ + #include "third_party/icu/source/common/unicode/unistr.h" + #include "third_party/icu/source/i18n/unicode/timezone.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/utility/speech/speech_recognition_sandbox_hook_linux.h" + #if BUILDFLAG(ENABLE_PRINTING) + #include "printing/sandbox/print_backend_sandbox_hook_linux.h" + #endif ++#if !BUILDFLAG(IS_BSD) + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + #include "services/audio/audio_sandbox_hook_linux.h" + #include "services/network/network_sandbox_hook_linux.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "gpu/config/gpu_info_collector.h" + #include "media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h" + +@@ -50,6 +52,10 @@ + #include "third_party/angle/src/gpu_info_util/SystemInfo.h" // nogncheck + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) + ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#endif ++ + #if BUILDFLAG(IS_CHROMEOS_ASH) + #include "ash/services/ime/ime_sandbox_hook.h" + #include "chromeos/ash/components/assistant/buildflags.h" +@@ -129,7 +135,7 @@ int UtilityMain(MainFunctionParams parameters) { + } + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Initializes the sandbox before any threads are created. + // TODO(jorgelo): move this after GTK initialization when we enable a strict + // Seccomp-BPF policy. +@@ -157,7 +163,7 @@ int UtilityMain(MainFunctionParams parameters) { + pre_sandbox_hook = base::BindOnce(&screen_ai::ScreenAIPreSandboxHook); + break; + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + case sandbox::mojom::Sandbox::kHardwareVideoDecoding: + pre_sandbox_hook = + base::BindOnce(&media::HardwareVideoDecodingPreSandboxHook); +@@ -180,10 +186,11 @@ int UtilityMain(MainFunctionParams parameters) { + default: + break; + } ++#if !BUILDFLAG(IS_BSD) + if (!sandbox::policy::IsUnsandboxedSandboxType(sandbox_type) && + (parameters.zygote_child || !pre_sandbox_hook.is_null())) { + sandbox::policy::SandboxLinux::Options sandbox_options; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + if (sandbox_type == sandbox::mojom::Sandbox::kHardwareVideoDecoding) { + // The kHardwareVideoDecoding sandbox needs to know the GPU type in order + // to select the right policy. +@@ -196,6 +203,11 @@ int UtilityMain(MainFunctionParams parameters) { + sandbox::policy::Sandbox::Initialize( + sandbox_type, std::move(pre_sandbox_hook), sandbox_options); + } ++#else ++ sandbox::policy::Sandbox::Initialize( ++ sandbox_type, std::move(pre_sandbox_hook), ++ sandbox::policy::SandboxLinux::Options()); ++#endif + #elif BUILDFLAG(IS_WIN) + g_utility_target_services = parameters.sandbox_info->target_services; + #endif diff --git a/www/ungoogled-chromium/files/patch-content_zygote_BUILD.gn b/www/ungoogled-chromium/files/patch-content_zygote_BUILD.gn new file mode 100644 index 000000000000..8f58e8f649ca --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_zygote_BUILD.gn @@ -0,0 +1,11 @@ +--- content/zygote/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ content/zygote/BUILD.gn +@@ -5,7 +5,7 @@ + import("//build/config/nacl/config.gni") + import("//content/public/common/zygote/features.gni") + +-if (is_linux || is_chromeos) { ++if ((is_linux || is_chromeos) && !is_bsd) { + source_set("zygote") { + sources = [ + "zygote_linux.cc", diff --git a/www/ungoogled-chromium/files/patch-content_zygote_zygote__linux.cc b/www/ungoogled-chromium/files/patch-content_zygote_zygote__linux.cc new file mode 100644 index 000000000000..785711fc88a1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_zygote_zygote__linux.cc @@ -0,0 +1,15 @@ +--- content/zygote/zygote_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ content/zygote/zygote_linux.cc +@@ -1,6 +1,7 @@ + // Copyright (c) 2012 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. ++#if 0 + + #include "content/zygote/zygote_linux.h" + +@@ -653,3 +654,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick + } + + } // namespace content ++#endif diff --git a/www/ungoogled-chromium/files/patch-content_zygote_zygote__main__linux.cc b/www/ungoogled-chromium/files/patch-content_zygote_zygote__main__linux.cc new file mode 100644 index 000000000000..c6e110086632 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-content_zygote_zygote__main__linux.cc @@ -0,0 +1,64 @@ +--- content/zygote/zygote_main_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ content/zygote/zygote_main_linux.cc +@@ -11,7 +11,9 @@ + #include <stddef.h> + #include <stdint.h> + #include <string.h> ++#if !defined(OS_BSD) + #include <sys/prctl.h> ++#endif + #include <sys/socket.h> + #include <sys/types.h> + #include <unistd.h> +@@ -41,7 +43,9 @@ + #include "sandbox/linux/services/thread_helpers.h" + #include "sandbox/linux/suid/client/setuid_sandbox_client.h" + #include "sandbox/policy/linux/sandbox_debug_handling_linux.h" ++#if !defined(OS_BSD) + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + #include "sandbox/policy/sandbox.h" + #include "sandbox/policy/switches.h" + #include "third_party/icu/source/i18n/unicode/timezone.h" +@@ -50,6 +54,7 @@ namespace content { + + namespace { + ++#if !defined(OS_BSD) + void CloseFds(const std::vector<int>& fds) { + for (const auto& it : fds) { + PCHECK(0 == IGNORE_EINTR(close(it))); +@@ -67,9 +72,11 @@ base::OnceClosure ClosureFromTwoClosures(base::OnceClo + }, + std::move(one), std::move(two)); + } ++#endif + + } // namespace + ++#if !defined(OS_BSD) + // This function triggers the static and lazy construction of objects that need + // to be created before imposing the sandbox. + static void ZygotePreSandboxInit() { +@@ -174,9 +181,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand + CHECK(!using_layer1_sandbox); + } + } ++#endif + + bool ZygoteMain( + std::vector<std::unique_ptr<ZygoteForkDelegate>> fork_delegates) { ++#if !defined(OS_BSD) + sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD()); + + auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance(); +@@ -241,6 +250,9 @@ bool ZygoteMain( + + // This function call can return multiple times, once per fork(). + return zygote.ProcessRequests(); ++#else ++ return false; ++#endif + } + + } // namespace content diff --git a/www/ungoogled-chromium/files/patch-device_bluetooth_bluetooth__adapter.cc b/www/ungoogled-chromium/files/patch-device_bluetooth_bluetooth__adapter.cc new file mode 100644 index 000000000000..41c046cc1d8e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-device_bluetooth_bluetooth__adapter.cc @@ -0,0 +1,11 @@ +--- device/bluetooth/bluetooth_adapter.cc.orig 2022-10-01 07:40:07 UTC ++++ device/bluetooth/bluetooth_adapter.cc +@@ -32,7 +32,7 @@ BluetoothAdapter::ServiceOptions::ServiceOptions() = d + BluetoothAdapter::ServiceOptions::~ServiceOptions() = default; + + #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_MAC) && \ +- !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) ++ !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // static + scoped_refptr<BluetoothAdapter> BluetoothAdapter::CreateAdapter() { + return nullptr; diff --git a/www/ungoogled-chromium/files/patch-device_bluetooth_cast__bluetooth.gni b/www/ungoogled-chromium/files/patch-device_bluetooth_cast__bluetooth.gni new file mode 100644 index 000000000000..9a157ebf79c6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-device_bluetooth_cast__bluetooth.gni @@ -0,0 +1,9 @@ +--- device/bluetooth/cast_bluetooth.gni.orig 2022-10-01 07:40:07 UTC ++++ device/bluetooth/cast_bluetooth.gni +@@ -2,5 +2,5 @@ import("//build/config/features.gni") + + declare_args() { + force_cast_bluetooth = false +- use_bluez = (is_linux && !is_castos && use_dbus) || is_chromeos ++ use_bluez = use_dbus && !is_bsd + } diff --git a/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc b/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc new file mode 100644 index 000000000000..a7b5eaf80aba --- /dev/null +++ b/www/ungoogled-chromium/files/patch-device_gamepad_gamepad__provider.cc @@ -0,0 +1,11 @@ +--- device/gamepad/gamepad_provider.cc.orig 2022-10-01 07:40:07 UTC ++++ device/gamepad/gamepad_provider.cc +@@ -216,7 +216,7 @@ void GamepadProvider::Initialize(std::unique_ptr<Gamep + + if (!polling_thread_) + polling_thread_ = std::make_unique<base::Thread>("Gamepad polling thread"); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Linux, the data fetcher needs to watch file descriptors, so the message + // loop needs to be a libevent loop. + const base::MessagePumpType kMessageLoopType = base::MessagePumpType::IO; diff --git a/www/ungoogled-chromium/files/patch-device_gamepad_hid__writer__linux.cc b/www/ungoogled-chromium/files/patch-device_gamepad_hid__writer__linux.cc new file mode 100644 index 000000000000..b463568493a1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-device_gamepad_hid__writer__linux.cc @@ -0,0 +1,11 @@ +--- device/gamepad/hid_writer_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ device/gamepad/hid_writer_linux.cc +@@ -2,6 +2,8 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + ++#include <unistd.h> ++ + #include "device/gamepad/hid_writer_linux.h" + + #include <unistd.h> diff --git a/www/ungoogled-chromium/files/patch-extensions_browser_api_messaging_message__service.cc b/www/ungoogled-chromium/files/patch-extensions_browser_api_messaging_message__service.cc new file mode 100644 index 000000000000..44b91f7c716a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_browser_api_messaging_message__service.cc @@ -0,0 +1,20 @@ +--- extensions/browser/api/messaging/message_service.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/browser/api/messaging/message_service.cc +@@ -74,7 +74,7 @@ namespace { + const char kReceivingEndDoesntExistError[] = + "Could not establish connection. Receiving end does not exist."; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kMissingPermissionError[] = + "Access to native messaging requires nativeMessaging permission."; + const char kProhibitedByPoliciesError[] = +@@ -437,7 +437,7 @@ void MessageService::OpenChannelToNativeApp( + return; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool has_permission = extension->permissions_data()->HasAPIPermission( + mojom::APIPermissionID::kNativeMessaging); + if (!has_permission) { diff --git a/www/ungoogled-chromium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc b/www/ungoogled-chromium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc new file mode 100644 index 000000000000..d8b7daca01a5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc @@ -0,0 +1,20 @@ +--- extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/browser/api/networking_private/networking_private_delegate_factory.cc +@@ -14,7 +14,7 @@ + #include "extensions/browser/api/networking_private/networking_private_chromeos.h" + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + #include "extensions/browser/api/networking_private/networking_private_lacros.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "extensions/browser/api/networking_private/networking_private_linux.h" + #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + #include "components/wifi/wifi_service.h" +@@ -66,7 +66,7 @@ KeyedService* NetworkingPrivateDelegateFactory::BuildS + delegate = new NetworkingPrivateChromeOS(browser_context); + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + delegate = new NetworkingPrivateLacros(browser_context); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + delegate = new NetworkingPrivateLinux(); + #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + std::unique_ptr<wifi::WiFiService> wifi_service(wifi::WiFiService::Create()); diff --git a/www/ungoogled-chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc b/www/ungoogled-chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc new file mode 100644 index 000000000000..53370a020788 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc @@ -0,0 +1,11 @@ +--- extensions/browser/browser_context_keyed_service_factories.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/browser/browser_context_keyed_service_factories.cc +@@ -89,7 +89,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() + IdleManagerFactory::GetInstance(); + ManagementAPI::GetFactoryInstance(); + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + NetworkingPrivateEventRouterFactory::GetInstance(); + #endif + OffscreenDocumentManager::GetFactory(); diff --git a/www/ungoogled-chromium/files/patch-extensions_browser_extension__prefs.cc b/www/ungoogled-chromium/files/patch-extensions_browser_extension__prefs.cc new file mode 100644 index 000000000000..3dc11bab2b91 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_browser_extension__prefs.cc @@ -0,0 +1,11 @@ +--- extensions/browser/extension_prefs.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/browser/extension_prefs.cc +@@ -2274,7 +2274,7 @@ void ExtensionPrefs::RegisterProfilePrefs( + registry->RegisterDictionaryPref(kInstallSignature); + registry->RegisterListPref(kExternalUninstalls); + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(pref_names::kChromeAppsEnabled, false); + #endif + registry->RegisterBooleanPref(pref_names::kU2fSecurityKeyApiEnabled, false); diff --git a/www/ungoogled-chromium/files/patch-extensions_browser_pref__names.cc b/www/ungoogled-chromium/files/patch-extensions_browser_pref__names.cc new file mode 100644 index 000000000000..2238fdcb5d48 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_browser_pref__names.cc @@ -0,0 +1,11 @@ +--- extensions/browser/pref_names.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/browser/pref_names.cc +@@ -48,7 +48,7 @@ const char kStorageGarbageCollect[] = "extensions.stor + const char kDeletedComponentExtensions[] = + "extensions.deleted_component_extensions"; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + extern const char kChromeAppsEnabled[] = "extensions.chrome_apps_enabled"; + #endif + const char kU2fSecurityKeyApiEnabled[] = diff --git a/www/ungoogled-chromium/files/patch-extensions_browser_pref__names.h b/www/ungoogled-chromium/files/patch-extensions_browser_pref__names.h new file mode 100644 index 000000000000..adb1626fe1b2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_browser_pref__names.h @@ -0,0 +1,11 @@ +--- extensions/browser/pref_names.h.orig 2022-10-01 07:40:07 UTC ++++ extensions/browser/pref_names.h +@@ -98,7 +98,7 @@ extern const char kStorageGarbageCollect[]; + extern const char kDeletedComponentExtensions[]; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // A preference for whether Chrome Apps should be allowed. The default depends + // on the ChromeAppsDeprecation feature flag, and this pref can extend support + // for Chrome Apps by enterprise policy. diff --git a/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json b/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json new file mode 100644 index 000000000000..ad0075daf116 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_common_api___permission__features.json @@ -0,0 +1,29 @@ +--- extensions/common/api/_permission_features.json.orig 2022-10-01 07:40:07 UTC ++++ extensions/common/api/_permission_features.json +@@ -134,7 +134,7 @@ + { + "channel": "stable", + "extension_types": ["platform_app"], +- "platforms": ["chromeos", "win", "mac", "linux"], ++ "platforms": ["chromeos", "win", "mac", "linux", "openbsd", "freebsd"], + "allowlist": [ + "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169 + "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169 +@@ -433,7 +433,7 @@ + }, { + "channel": "stable", + "extension_types": ["extension", "legacy_packaged_app", "platform_app"], +- "platforms": ["chromeos", "mac", "win", "linux", "fuchsia"], ++ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "openbsd", "freebsd"], + "allowlist": [ + "0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651 + "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683 +@@ -475,7 +475,7 @@ + "networkingPrivate": { + "channel": "stable", + "extension_types": ["extension", "legacy_packaged_app", "platform_app"], +- "platforms": ["chromeos", "lacros", "mac", "win", "linux", "fuchsia"], ++ "platforms": ["chromeos", "lacros", "mac", "win", "linux", "fuchsia", "openbsd", "freebsd"], + "allowlist": [ + // DO NOT ADD ANY MORE ENTRIES HERE. + // networkingPrivate is being migrated to networking.onc. diff --git a/www/ungoogled-chromium/files/patch-extensions_common_api_runtime.json b/www/ungoogled-chromium/files/patch-extensions_common_api_runtime.json new file mode 100644 index 000000000000..25d2f7e49c70 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_common_api_runtime.json @@ -0,0 +1,12 @@ +--- extensions/common/api/runtime.json.orig 2022-10-01 07:40:07 UTC ++++ extensions/common/api/runtime.json +@@ -86,7 +86,8 @@ + "cros", + "linux", + "openbsd", +- "fuchsia" ++ "fuchsia", ++ "freebsd" + ] + }, + { diff --git a/www/ungoogled-chromium/files/patch-extensions_common_command.cc b/www/ungoogled-chromium/files/patch-extensions_common_command.cc new file mode 100644 index 000000000000..e514f329d1e0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_common_command.cc @@ -0,0 +1,11 @@ +--- extensions/common/command.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/common/command.cc +@@ -288,7 +288,7 @@ std::string Command::CommandPlatform() { + return values::kKeybindingPlatformMac; + #elif BUILDFLAG(IS_CHROMEOS) + return values::kKeybindingPlatformChromeOs; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return values::kKeybindingPlatformLinux; + #elif BUILDFLAG(IS_FUCHSIA) + // TODO(crbug.com/1312215): Change this once we decide what string should be diff --git a/www/ungoogled-chromium/files/patch-extensions_common_features_feature.cc b/www/ungoogled-chromium/files/patch-extensions_common_features_feature.cc new file mode 100644 index 000000000000..1eca00274bf2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_common_features_feature.cc @@ -0,0 +1,11 @@ +--- extensions/common/features/feature.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/common/features/feature.cc +@@ -34,6 +34,8 @@ Feature::Platform Feature::GetCurrentPlatform() { + return WIN_PLATFORM; + #elif BUILDFLAG(IS_FUCHSIA) + return FUCHSIA_PLATFORM; ++#elif defined(OS_BSD) ++ return LINUX_PLATFORM; + #else + return UNSPECIFIED_PLATFORM; + #endif diff --git a/www/ungoogled-chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc b/www/ungoogled-chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc new file mode 100644 index 000000000000..342e8d24a463 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc @@ -0,0 +1,11 @@ +--- extensions/renderer/bindings/api_binding_util.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/renderer/bindings/api_binding_util.cc +@@ -132,7 +132,7 @@ std::string GetPlatformString() { + return "lacros"; + #elif BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS) + return "chromeos"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return "linux"; + #elif BUILDFLAG(IS_MAC) + return "mac"; diff --git a/www/ungoogled-chromium/files/patch-extensions_renderer_bindings_argument__spec.cc b/www/ungoogled-chromium/files/patch-extensions_renderer_bindings_argument__spec.cc new file mode 100644 index 000000000000..a720745cb7c4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_renderer_bindings_argument__spec.cc @@ -0,0 +1,11 @@ +--- extensions/renderer/bindings/argument_spec.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/renderer/bindings/argument_spec.cc +@@ -16,6 +16,8 @@ + #include "gin/data_object_builder.h" + #include "gin/dictionary.h" + ++#include <cmath> ++ + namespace extensions { + + namespace { diff --git a/www/ungoogled-chromium/files/patch-extensions_shell_app_shell__main__delegate.cc b/www/ungoogled-chromium/files/patch-extensions_shell_app_shell__main__delegate.cc new file mode 100644 index 000000000000..3ca08f32f364 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_shell_app_shell__main__delegate.cc @@ -0,0 +1,20 @@ +--- extensions/shell/app/shell_main_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/shell/app/shell_main_delegate.cc +@@ -42,7 +42,7 @@ + + #if BUILDFLAG(IS_WIN) + #include "base/base_paths_win.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/nix/xdg_util.h" + #elif BUILDFLAG(IS_MAC) + #include "base/base_paths_mac.h" +@@ -61,7 +61,7 @@ base::FilePath GetDataPath() { + return cmd_line->GetSwitchValuePath(switches::kContentShellDataPath); + + base::FilePath data_dir; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::unique_ptr<base::Environment> env(base::Environment::Create()); + data_dir = base::nix::GetXDGDirectory( + env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir); diff --git a/www/ungoogled-chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc b/www/ungoogled-chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc new file mode 100644 index 000000000000..20ba330753eb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc @@ -0,0 +1,11 @@ +--- extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc +@@ -45,7 +45,7 @@ void ShellRuntimeAPIDelegate::OpenURL(const GURL& unin + bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) { + #if BUILDFLAG(IS_CHROMEOS_ASH) + info->os = api::runtime::PLATFORM_OS_CROS; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + info->os = api::runtime::PLATFORM_OS_LINUX; + #endif + return true; diff --git a/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc b/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc new file mode 100644 index 000000000000..8c5f6d2852ee --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc @@ -0,0 +1,11 @@ +--- extensions/shell/browser/shell_browser_main_parts.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/shell/browser/shell_browser_main_parts.cc +@@ -150,7 +150,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop( + switches::kAppShellAllowRoaming)) { + network_controller_->SetCellularAllowRoaming(true); + } +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // app_shell doesn't need GTK, so the fake input method context can work. + // See crbug.com/381852 and revision fb69f142. + // TODO(michaelpg): Verify this works for target environments. diff --git a/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc b/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc new file mode 100644 index 000000000000..ae42cf93b4b1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc @@ -0,0 +1,11 @@ +--- extensions/shell/browser/shell_extensions_api_client.cc.orig 2022-10-01 07:40:07 UTC ++++ extensions/shell/browser/shell_extensions_api_client.cc +@@ -58,7 +58,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider() + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + FileSystemDelegate* ShellExtensionsAPIClient::GetFileSystemDelegate() { + if (!file_system_delegate_) + file_system_delegate_ = std::make_unique<ShellFileSystemDelegate>(); diff --git a/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h b/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h new file mode 100644 index 000000000000..318f6cdb4f79 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.h @@ -0,0 +1,20 @@ +--- extensions/shell/browser/shell_extensions_api_client.h.orig 2022-10-01 07:40:07 UTC ++++ extensions/shell/browser/shell_extensions_api_client.h +@@ -36,7 +36,7 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC + const override; + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + FileSystemDelegate* GetFileSystemDelegate() override; + #endif + MessagingDelegate* GetMessagingDelegate() override; +@@ -45,7 +45,7 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC + private: + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + std::unique_ptr<FileSystemDelegate> file_system_delegate_; + #endif + std::unique_ptr<MessagingDelegate> messaging_delegate_; diff --git a/www/ungoogled-chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/www/ungoogled-chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc new file mode 100644 index 000000000000..54569f1b517e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc @@ -0,0 +1,29 @@ +--- google_apis/gcm/engine/heartbeat_manager.cc.orig 2022-10-01 07:40:07 UTC ++++ google_apis/gcm/engine/heartbeat_manager.cc +@@ -32,7 +32,7 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30; + // Minimum time spent sleeping before we force a new heartbeat. + const int kMinSuspendTimeMs = 1000 * 10; // 10 seconds. + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // The period at which to check if the heartbeat time has passed. Used to + // protect against platforms where the timer is delayed by the system being + // suspended. Only needed on linux because the other OSes provide a standard +@@ -192,7 +192,7 @@ void HeartbeatManager::RestartTimer() { + base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered, + weak_ptr_factory_.GetWeakPtr())); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Windows, Mac, Android, iOS, and Chrome OS all provide a way to be notified + // when the system is suspending or resuming. The only one that does not is + // Linux so we need to poll to check for missed heartbeats. +@@ -217,7 +217,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() { + return; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Otherwise check again later. + io_task_runner_->PostDelayedTask( + FROM_HERE, diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc new file mode 100644 index 000000000000..0f794ba3190d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc @@ -0,0 +1,20 @@ +--- gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/common/gpu_memory_buffer_support.cc +@@ -134,7 +134,7 @@ uint32_t GetPlatformSpecificTextureTarget() { + #if BUILDFLAG(IS_MAC) + return macos_specific_texture_target; + #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + return GL_TEXTURE_EXTERNAL_OES; + #elif BUILDFLAG(IS_FUCHSIA) + return GL_TEXTURE_2D; +@@ -166,7 +166,7 @@ GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextu + gfx::BufferFormat format, + gfx::BufferPlane plane) { + #if defined(USE_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Always use GL_TEXTURE_2D as the target for RGB textures. + // https://crbug.com/916728 + if (format == gfx::BufferFormat::R_8 || format == gfx::BufferFormat::RG_88 || diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc new file mode 100644 index 000000000000..fdd94f93f5ae --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc +@@ -640,7 +640,7 @@ bool AngleVulkanImageBackingFactory::CanUseAngleVulkan + // TODO(penghuang): verify the scanout is the right usage for video playback. + // crbug.com/1280798 + constexpr auto kSupportedUsages = +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + SHARED_IMAGE_USAGE_SCANOUT | + #endif + SHARED_IMAGE_USAGE_GLES2 | SHARED_IMAGE_USAGE_GLES2_FRAMEBUFFER_HINT | diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc new file mode 100644 index 000000000000..e35f689447a5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc @@ -0,0 +1,20 @@ +--- gpu/command_buffer/service/shared_image/external_vk_image_backing.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/service/shared_image/external_vk_image_backing.cc +@@ -31,7 +31,7 @@ + #include "ui/gl/gl_version_info.h" + #include "ui/gl/scoped_binders.h" + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && BUILDFLAG(USE_DAWN) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) + #include "gpu/command_buffer/service/shared_image/external_vk_image_dawn_representation.h" + #endif + +@@ -576,7 +576,7 @@ std::unique_ptr<DawnImageRepresentation> ExternalVkIma + MemoryTypeTracker* tracker, + WGPUDevice wgpuDevice, + WGPUBackendType backend_type) { +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && BUILDFLAG(USE_DAWN) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) + auto wgpu_format = viz::ToWGPUFormat(format()); + + if (wgpu_format == WGPUTextureFormat_Undefined) { diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc new file mode 100644 index 000000000000..6866bfa11b88 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/shared_image/gl_texture_image_backing.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/service/shared_image/gl_texture_image_backing.cc +@@ -254,7 +254,7 @@ void GLTextureImageBacking::InitializeGLTexture( + } + + void GLTextureImageBacking::CreateEGLImage() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD) + SharedContextState* shared_context_state = factory()->GetSharedContextState(); + ui::ScopedMakeCurrent smc(shared_context_state->context(), + shared_context_state->surface()); diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc new file mode 100644 index 000000000000..ebafc5fff4cb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_gl__texture__image__backing__factory.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/shared_image/gl_texture_image_backing_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/service/shared_image/gl_texture_image_backing_factory.cc +@@ -152,7 +152,7 @@ bool GLTextureImageBackingFactory::IsSupported( + // Linux and ChromeOS support WebGPU/Compat on GL. All other platforms + // do not support WebGPU on GL. + if (usage & SHARED_IMAGE_USAGE_WEBGPU) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD) + if (use_webgpu_adapter_ != WebGPUAdapterName::kCompat) { + return false; + } 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 new file mode 100644 index 000000000000..7cd54080f1ba --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc @@ -0,0 +1,29 @@ +--- gpu/command_buffer/service/shared_image/shared_image_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/service/shared_image/shared_image_factory.cc +@@ -52,7 +52,7 @@ + #include "ui/ozone/public/surface_factory_ozone.h" + #endif + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) && \ ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) && \ + BUILDFLAG(ENABLE_VULKAN) + #include "gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.h" + #include "gpu/command_buffer/service/shared_image/ozone_image_backing_factory.h" +@@ -88,7 +88,7 @@ namespace gpu { + + namespace { + +-#if defined(USE_OZONE) && BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS) ++#if defined(USE_OZONE) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS) + + bool ShouldUseExternalVulkanImageFactory() { + #if BUILDFLAG(ENABLE_VULKAN) +@@ -398,7 +398,7 @@ SharedImageFactory::SharedImageFactory( + factories_.push_back(std::move(external_vk_image_factory)); + } + #elif defined(USE_OZONE) +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS) + // Desktop Linux, not ChromeOS. + if (ShouldUseOzoneImageBackingFactory()) { + auto ozone_factory = diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc new file mode 100644 index 000000000000..f0185804efd3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing__factory.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/service/shared_image/wrapped_sk_image_backing_factory.cc +@@ -257,7 +257,7 @@ class WrappedSkImage : public ClearTrackingSharedImage + DCHECK_NE(format(), viz::ResourceFormat::ETC1); + auto mipmap = usage() & SHARED_IMAGE_USAGE_MIPMAP ? GrMipMapped::kYes + : GrMipMapped::kNo; +-#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) ++#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // Initializing to bright green makes it obvious if the pixels are not + // properly set before they are displayed (e.g. https://crbug.com/956555). + // We don't do this on release builds because there is a slight overhead. diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc new file mode 100644 index 000000000000..6d83eaf4a434 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/service/webgpu_decoder_impl.cc +@@ -1071,7 +1071,7 @@ void WebGPUDecoderImpl::RequestAdapterImpl( + + if (gr_context_type_ != GrContextType::kVulkan && + use_webgpu_adapter_ != WebGPUAdapterName::kCompat) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + callback(WGPURequestAdapterStatus_Unavailable, nullptr, + "WebGPU on Linux requires command-line flag " + "--enable-features=Vulkan", diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc new file mode 100644 index 000000000000..72d06ebd4686 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc @@ -0,0 +1,20 @@ +--- gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc +@@ -28,7 +28,7 @@ + #include "ui/gl/gl_image.h" + #include "ui/gl/test/gl_image_test_support.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h" + #include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h" + #endif +@@ -71,7 +71,7 @@ class GpuMemoryBufferTest : public testing::TestWithPa + GLManager gl_; + }; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + class GpuMemoryBufferTestEGL : public testing::Test, + public gpu::GpuCommandBufferTestEGL { + public: diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc new file mode 100644 index 000000000000..c1f6a6c918a4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__oes__egl__image__unittest.cc @@ -0,0 +1,20 @@ +--- gpu/command_buffer/tests/gl_oes_egl_image_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/tests/gl_oes_egl_image_unittest.cc +@@ -14,7 +14,7 @@ + #include "ui/gl/gl_image.h" + #include "ui/gl/init/gl_factory.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "ui/gl/gl_image_native_pixmap.h" + #endif + +@@ -43,7 +43,7 @@ class GpuOESEGLImageTest : public testing::Test, + bool egl_initialized_{false}; + }; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/835072): re-enable this test on ASAN once bugs are fixed. + #if !defined(ADDRESS_SANITIZER) + diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc new file mode 100644 index 000000000000..361cda5662ad --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc @@ -0,0 +1,20 @@ +--- gpu/command_buffer/tests/gl_test_utils.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/tests/gl_test_utils.cc +@@ -24,7 +24,7 @@ + #include "ui/gl/gl_version_info.h" + #include "ui/gl/init/gl_factory.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "ui/gl/gl_image_native_pixmap.h" + #endif + +@@ -458,7 +458,7 @@ void GpuCommandBufferTestEGL::RestoreGLDefault() { + window_system_binding_info_ = gl::GLWindowSystemBindingInfo(); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + scoped_refptr<gl::GLImageNativePixmap> + GpuCommandBufferTestEGL::CreateGLImageNativePixmap(gfx::BufferFormat format, + gfx::Size size, diff --git a/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.h b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.h new file mode 100644 index 000000000000..f09874012023 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.h @@ -0,0 +1,11 @@ +--- gpu/command_buffer/tests/gl_test_utils.h.orig 2022-10-01 07:40:07 UTC ++++ gpu/command_buffer/tests/gl_test_utils.h +@@ -122,7 +122,7 @@ class GpuCommandBufferTestEGL { + return gfx::HasExtension(gl_extensions_, extension); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Create GLImageNativePixmap filled in with the given pixels. + scoped_refptr<gl::GLImageNativePixmap> CreateGLImageNativePixmap( + gfx::BufferFormat format, diff --git a/www/ungoogled-chromium/files/patch-gpu_config_gpu__control__list.cc b/www/ungoogled-chromium/files/patch-gpu_config_gpu__control__list.cc new file mode 100644 index 000000000000..e9e225701aa2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_config_gpu__control__list.cc @@ -0,0 +1,20 @@ +--- gpu/config/gpu_control_list.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/config/gpu_control_list.cc +@@ -302,7 +302,7 @@ bool GpuControlList::More::GLVersionInfoMismatch( + GpuControlList::GLType GpuControlList::More::GetDefaultGLType() { + #if BUILDFLAG(IS_CHROMEOS) + return kGLTypeGL; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return kGLTypeGL; + #elif BUILDFLAG(IS_MAC) + return kGLTypeGL; +@@ -844,7 +844,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { + return kOsAndroid; + #elif BUILDFLAG(IS_FUCHSIA) + return kOsFuchsia; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return kOsLinux; + #elif BUILDFLAG(IS_MAC) + return kOsMacosx; diff --git a/www/ungoogled-chromium/files/patch-gpu_config_gpu__test__config.cc b/www/ungoogled-chromium/files/patch-gpu_config_gpu__test__config.cc new file mode 100644 index 000000000000..5de6859f26b6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_config_gpu__test__config.cc @@ -0,0 +1,11 @@ +--- gpu/config/gpu_test_config.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/config/gpu_test_config.cc +@@ -29,7 +29,7 @@ GPUTestConfig::OS GetCurrentOS() { + #if BUILDFLAG(IS_CHROMEOS_ASH) + return GPUTestConfig::kOsChromeOS; + #elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- BUILDFLAG(IS_OPENBSD) ++ BUILDFLAG(IS_BSD) + return GPUTestConfig::kOsLinux; + #elif BUILDFLAG(IS_WIN) + int32_t major_version = 0; diff --git a/www/ungoogled-chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc b/www/ungoogled-chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc new file mode 100644 index 000000000000..c14602907a26 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc @@ -0,0 +1,20 @@ +--- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/ipc/common/gpu_memory_buffer_support.cc +@@ -21,7 +21,7 @@ + #include "ui/ozone/public/ozone_platform.h" + #endif + +-#if defined(USE_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if defined(USE_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h" + #endif + +@@ -50,7 +50,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType() + return gfx::IO_SURFACE_BUFFER; + #elif BUILDFLAG(IS_ANDROID) + return gfx::ANDROID_HARDWARE_BUFFER; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD) + return gfx::NATIVE_PIXMAP; + #elif BUILDFLAG(IS_WIN) + return gfx::DXGI_SHARED_HANDLE; diff --git a/www/ungoogled-chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h b/www/ungoogled-chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h new file mode 100644 index 000000000000..c96895d94c42 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h @@ -0,0 +1,11 @@ +--- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2022-10-01 07:40:07 UTC ++++ gpu/ipc/common/gpu_memory_buffer_support.h +@@ -18,7 +18,7 @@ + #include "ui/gfx/geometry/size.h" + #include "ui/gfx/gpu_memory_buffer.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(USE_OZONE) || BUILDFLAG(IS_BSD) + namespace gfx { + class ClientNativePixmapFactory; + } diff --git a/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc b/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc new file mode 100644 index 000000000000..3be3d960faee --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__init.cc @@ -0,0 +1,65 @@ +--- gpu/ipc/service/gpu_init.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/ipc/service/gpu_init.cc +@@ -350,7 +350,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + enable_watchdog = false; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool gpu_sandbox_start_early = gpu_preferences_.gpu_sandbox_start_early; + #else // !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + // For some reasons MacOSX's VideoToolbox might crash when called after +@@ -400,7 +400,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } + + bool attempted_startsandbox = false; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Chrome OS ARM Mali, GPU driver userspace creates threads when + // initializing a GL context, so start the sandbox early. + // TODO(zmo): Need to collect OS version before this. +@@ -449,7 +449,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + + if (gl_initialized && gl_use_swiftshader_ && + !gl::IsSoftwareGLImplementation(gl::GetGLImplementationParts())) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly " + << "on Linux"; + return false; +@@ -485,7 +485,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The ContentSandboxHelper is currently the only one implementation of + // GpuSandboxHelper and it has no dependency. Except on Linux where + // VaapiWrapper checks the GL implementation to determine which display +@@ -545,7 +545,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + command_line, gpu_feature_info_, + gpu_preferences_.disable_software_rasterizer, false); + if (gl_use_swiftshader_) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly " + << "on Linux"; + return false; +@@ -673,7 +673,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + + InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Driver may create a compatibility profile context when collect graphics + // information on Linux platform. Try to collect graphics information + // based on core profile context after disabling platform extensions. +@@ -909,7 +909,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c + + InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Driver may create a compatibility profile context when collect graphics + // information on Linux platform. Try to collect graphics information + // based on core profile context after disabling platform extensions. diff --git a/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc b/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc new file mode 100644 index 000000000000..d8715492b63e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc @@ -0,0 +1,20 @@ +--- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/ipc/service/gpu_memory_buffer_factory.cc +@@ -12,7 +12,7 @@ + #include "gpu/ipc/service/gpu_memory_buffer_factory_io_surface.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "gpu/ipc/service/gpu_memory_buffer_factory_native_pixmap.h" + #endif + +@@ -34,7 +34,7 @@ GpuMemoryBufferFactory::CreateNativeType( + return std::make_unique<GpuMemoryBufferFactoryIOSurface>(); + #elif BUILDFLAG(IS_ANDROID) + return std::make_unique<GpuMemoryBufferFactoryAndroidHardwareBuffer>(); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + return std::make_unique<GpuMemoryBufferFactoryNativePixmap>( + vulkan_context_provider); + #elif BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-gpu_ipc_service_x__util.h b/www/ungoogled-chromium/files/patch-gpu_ipc_service_x__util.h new file mode 100644 index 000000000000..b8daae481dd3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_ipc_service_x__util.h @@ -0,0 +1,16 @@ +--- gpu/ipc/service/x_util.h.orig 2022-10-01 07:40:07 UTC ++++ gpu/ipc/service/x_util.h +@@ -11,11 +11,11 @@ + #include "build/build_config.h" + #include "gpu/ipc/service/gpu_config.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/ozone/buildflags.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(OZONE_PLATFORM_X11) + + namespace gpu { diff --git a/www/ungoogled-chromium/files/patch-gpu_vulkan_generate__bindings.py b/www/ungoogled-chromium/files/patch-gpu_vulkan_generate__bindings.py new file mode 100644 index 000000000000..dce43e760bc0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_vulkan_generate__bindings.py @@ -0,0 +1,11 @@ +--- gpu/vulkan/generate_bindings.py.orig 2022-10-01 07:40:07 UTC ++++ gpu/vulkan/generate_bindings.py +@@ -259,7 +259,7 @@ VULKAN_DEVICE_FUNCTIONS = [ + ] + }, + { +- 'ifdef': 'BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)', ++ 'ifdef': 'BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)', + 'extension': 'VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME', + 'functions': [ + 'vkGetImageDrmFormatModifierPropertiesEXT', diff --git a/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc new file mode 100644 index 000000000000..ba514c7a052f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc @@ -0,0 +1,20 @@ +--- gpu/vulkan/vulkan_device_queue.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/vulkan/vulkan_device_queue.cc +@@ -88,7 +88,7 @@ bool VulkanDeviceQueue::Initialize( + + // In dual-CPU cases, we cannot detect the active GPU correctly on Linux, + // so don't select GPU device based on the |gpu_info|. +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // If gpu_info is provided, the device should match it. + if (gpu_info && (device_properties.vendorID != gpu_info->gpu.vendor_id || + device_properties.deviceID != gpu_info->gpu.device_id)) { +@@ -232,7 +232,7 @@ bool VulkanDeviceQueue::Initialize( + enabled_device_features_2_ = {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2}; + + // Android, Fuchsia, and Linux(VaapiVideoDecoder) need YCbCr sampler support. +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!physical_device_info.feature_sampler_ycbcr_conversion) { + LOG(ERROR) << "samplerYcbcrConversion is not supported."; + return false; diff --git a/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__device__queue.h b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__device__queue.h new file mode 100644 index 000000000000..b37a100c2cba --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__device__queue.h @@ -0,0 +1,11 @@ +--- gpu/vulkan/vulkan_device_queue.h.orig 2022-10-01 07:40:07 UTC ++++ gpu/vulkan/vulkan_device_queue.h +@@ -158,7 +158,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanDeviceQueue { + + bool allow_protected_memory_ = false; + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + VkPhysicalDeviceSamplerYcbcrConversionFeatures + sampler_ycbcr_conversion_features_{ + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES}; diff --git a/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc new file mode 100644 index 000000000000..14787b36d195 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc @@ -0,0 +1,11 @@ +--- gpu/vulkan/vulkan_function_pointers.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/vulkan/vulkan_function_pointers.cc +@@ -1151,7 +1151,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer + } + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (gfx::HasExtension(enabled_extensions, + VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME)) { + vkGetImageDrmFormatModifierPropertiesEXT = diff --git a/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h new file mode 100644 index 000000000000..8c6f454b5d17 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h @@ -0,0 +1,27 @@ +--- gpu/vulkan/vulkan_function_pointers.h.orig 2022-10-01 07:40:07 UTC ++++ gpu/vulkan/vulkan_function_pointers.h +@@ -305,7 +305,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers + VulkanFunction<PFN_vkGetSwapchainImagesKHR> vkGetSwapchainImagesKHR; + VulkanFunction<PFN_vkQueuePresentKHR> vkQueuePresentKHR; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + VulkanFunction<PFN_vkGetImageDrmFormatModifierPropertiesEXT> + vkGetImageDrmFormatModifierPropertiesEXT; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -1212,7 +1212,7 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue + pPresentInfo); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierPropertiesEXT( + VkDevice device, + VkImage image, +@@ -1222,4 +1222,4 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp + } + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +-#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_ +\ No newline at end of file ++#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_ diff --git a/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__image.cc b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__image.cc new file mode 100644 index 000000000000..19532dcf0134 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__image.cc @@ -0,0 +1,11 @@ +--- gpu/vulkan/vulkan_image.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/vulkan/vulkan_image.cc +@@ -322,7 +322,7 @@ bool VulkanImage::InitializeWithExternalMemory( + + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + VkPhysicalDeviceImageDrmFormatModifierInfoEXT modifier_info = { + .sType = + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT, diff --git a/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__image.h b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__image.h new file mode 100644 index 000000000000..b490cddde5de --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__image.h @@ -0,0 +1,20 @@ +--- gpu/vulkan/vulkan_image.h.orig 2022-10-01 07:40:07 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<VulkanImage> CreateWithExternalMemoryAndModifiers( + VulkanDeviceQueue* device_queue, + const gfx::Size& size, +@@ -170,7 +170,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-gpu_vulkan_vulkan__util.cc b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__util.cc new file mode 100644 index 000000000000..7c9f02556119 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-gpu_vulkan_vulkan__util.cc @@ -0,0 +1,11 @@ +--- gpu/vulkan/vulkan_util.cc.orig 2022-10-01 07:40:07 UTC ++++ gpu/vulkan/vulkan_util.cc +@@ -199,7 +199,7 @@ bool CheckVulkanCompabilities(const VulkanInfo& vulkan + } + } + +-#if BUILDFLAG(IS_LINUX) && !defined(OZONE_PLATFORM_IS_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !defined(OZONE_PLATFORM_IS_X11) + // Vulkan is only supported with X11 on Linux for now. + return false; + #else diff --git a/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h new file mode 100644 index 000000000000..9346af086b11 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h @@ -0,0 +1,11 @@ +--- headless/lib/browser/headless_browser_main_parts.h.orig 2022-10-01 07:40:07 UTC ++++ headless/lib/browser/headless_browser_main_parts.h +@@ -48,7 +48,7 @@ class HEADLESS_EXPORT HeadlessBrowserMainParts + #if BUILDFLAG(IS_MAC) + void PreCreateMainMessageLoop() override; + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void PostCreateMainMessageLoop() override; + #endif + void QuitMainMessageLoop(); diff --git a/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc new file mode 100644 index 000000000000..b20330d3c578 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc @@ -0,0 +1,11 @@ +--- headless/lib/browser/headless_browser_main_parts_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ headless/lib/browser/headless_browser_main_parts_linux.cc +@@ -24,7 +24,7 @@ constexpr char kProductName[] = "HeadlessChrome"; + #endif + + void HeadlessBrowserMainParts::PostCreateMainMessageLoop() { +-#if defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS_ASH) ++#if defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD) + bluez::BluezDBusManager::Initialize(/*system_bus=*/nullptr); + #endif + diff --git a/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__content__browser__client.h b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__content__browser__client.h new file mode 100644 index 000000000000..a5593cb7d5cf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__content__browser__client.h @@ -0,0 +1,11 @@ +--- headless/lib/browser/headless_content_browser_client.h.orig 2022-10-01 07:40:07 UTC ++++ headless/lib/browser/headless_content_browser_client.h +@@ -47,7 +47,7 @@ class HeadlessContentBrowserClient : public content::C + override; + content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings( + content::BrowserContext* context) override; +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + void GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, diff --git a/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc new file mode 100644 index 000000000000..2b0c94ff81e6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc @@ -0,0 +1,11 @@ +--- headless/lib/browser/headless_request_context_manager.cc.orig 2022-10-01 07:40:07 UTC ++++ headless/lib/browser/headless_request_context_manager.cc +@@ -65,7 +65,7 @@ void SetCryptKeyOnce(const base::FilePath& user_data_p + return; + done_once = true; + +-#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) && defined(HEADLESS_USE_PREFS) ++#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(HEADLESS_USE_PREFS) + // The OSCrypt keys are process bound, so if network service is out of + // process, send it the required key if it is available. + if (content::IsOutOfProcessNetworkService() diff --git a/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc new file mode 100644 index 000000000000..cec849376326 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc @@ -0,0 +1,11 @@ +--- headless/lib/browser/headless_web_contents_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ headless/lib/browser/headless_web_contents_impl.cc +@@ -59,7 +59,7 @@ namespace headless { + namespace { + + void UpdatePrefsFromSystemSettings(blink::RendererPreferences* prefs) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + content::UpdateFontRendererPreferencesFromSystemSettings(prefs); + #endif + diff --git a/www/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc new file mode 100644 index 000000000000..563bdf759e04 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-headless_lib_headless__content__main__delegate.cc @@ -0,0 +1,11 @@ +--- headless/lib/headless_content_main_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ headless/lib/headless_content_main_delegate.cc +@@ -337,7 +337,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( + if (process_type != switches::kZygoteProcess) { + g_headless_crash_client.Pointer()->set_crash_dumps_dir( + options()->crash_dumps_dir); +-#if !BUILDFLAG(IS_WIN) ++#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) + crash_reporter::InitializeCrashpad(process_type.empty(), process_type); + #endif // !BUILDFLAG(IS_WIN) + crash_keys::SetSwitchesFromCommandLine(command_line, nullptr); diff --git a/www/ungoogled-chromium/files/patch-ipc_ipc__channel.h b/www/ungoogled-chromium/files/patch-ipc_ipc__channel.h new file mode 100644 index 000000000000..3f3345661d32 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-ipc_ipc__channel.h @@ -0,0 +1,11 @@ +--- ipc/ipc_channel.h.orig 2022-10-01 07:40:07 UTC ++++ ipc/ipc_channel.h +@@ -234,7 +234,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender { + static std::string GenerateUniqueRandomChannelID(); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Sandboxed processes live in a PID namespace, so when sending the IPC hello + // message from client to server we need to send the PID from the global + // PID namespace. diff --git a/www/ungoogled-chromium/files/patch-ipc_ipc__channel__common.cc b/www/ungoogled-chromium/files/patch-ipc_ipc__channel__common.cc new file mode 100644 index 000000000000..de26aaa6deee --- /dev/null +++ b/www/ungoogled-chromium/files/patch-ipc_ipc__channel__common.cc @@ -0,0 +1,11 @@ +--- ipc/ipc_channel_common.cc.orig 2022-10-01 07:40:07 UTC ++++ ipc/ipc_channel_common.cc +@@ -11,7 +11,7 @@ + + namespace IPC { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + namespace { + int g_global_pid = 0; diff --git a/www/ungoogled-chromium/files/patch-ipc_ipc__channel__mojo.cc b/www/ungoogled-chromium/files/patch-ipc_ipc__channel__mojo.cc new file mode 100644 index 000000000000..09890c364ad4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-ipc_ipc__channel__mojo.cc @@ -0,0 +1,11 @@ +--- ipc/ipc_channel_mojo.cc.orig 2022-10-01 07:40:07 UTC ++++ ipc/ipc_channel_mojo.cc +@@ -112,7 +112,7 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe + }; + + base::ProcessId GetSelfPID() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (int global_pid = Channel::GetGlobalPid()) + return global_pid; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-ipc_ipc__message__utils.cc b/www/ungoogled-chromium/files/patch-ipc_ipc__message__utils.cc new file mode 100644 index 000000000000..19144413fa7e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-ipc_ipc__message__utils.cc @@ -0,0 +1,11 @@ +--- ipc/ipc_message_utils.cc.orig 2022-10-01 07:40:07 UTC ++++ ipc/ipc_message_utils.cc +@@ -359,7 +359,7 @@ void ParamTraits<unsigned int>::Log(const param_type& + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_FUCHSIA) || \ ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS)) + void ParamTraits<long>::Log(const param_type& p, std::string* l) { + l->append(base::NumberToString(p)); diff --git a/www/ungoogled-chromium/files/patch-ipc_ipc__message__utils.h b/www/ungoogled-chromium/files/patch-ipc_ipc__message__utils.h new file mode 100644 index 000000000000..919b73146aee --- /dev/null +++ b/www/ungoogled-chromium/files/patch-ipc_ipc__message__utils.h @@ -0,0 +1,11 @@ +--- ipc/ipc_message_utils.h.orig 2022-10-01 07:40:07 UTC ++++ ipc/ipc_message_utils.h +@@ -214,7 +214,7 @@ struct ParamTraits<unsigned int> { + // Since we want to support Android 32<>64 bit IPC, as long as we don't have + // these traits for 32 bit ARM then that'll catch any errors. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_FUCHSIA) || \ ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS)) + template <> + struct ParamTraits<long> { diff --git a/www/ungoogled-chromium/files/patch-media_BUILD.gn b/www/ungoogled-chromium/files/patch-media_BUILD.gn new file mode 100644 index 000000000000..2197524c067e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_BUILD.gn @@ -0,0 +1,12 @@ +--- media/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ media/BUILD.gn +@@ -84,6 +84,9 @@ config("media_config") { + defines += [ "DLOPEN_PULSEAUDIO" ] + } + } ++ if (use_sndio) { ++ defines += [ "USE_SNDIO" ] ++ } + if (use_cras) { + defines += [ "USE_CRAS" ] + } diff --git a/www/ungoogled-chromium/files/patch-media_audio_BUILD.gn b/www/ungoogled-chromium/files/patch-media_audio_BUILD.gn new file mode 100644 index 000000000000..528b644b19de --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_BUILD.gn @@ -0,0 +1,24 @@ +--- media/audio/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ media/audio/BUILD.gn +@@ -248,9 +248,20 @@ source_set("audio") { + ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !use_sndio) { + sources += [ "linux/audio_manager_linux.cc" ] + } ++ ++ if (use_sndio) { ++ libs += [ "sndio" ] ++ sources += [ ++ "sndio/audio_manager_sndio.cc", ++ "sndio/sndio_input.cc", ++ "sndio/sndio_input.h", ++ "sndio/sndio_output.cc", ++ "sndio/sndio_output.h" ++ ] ++ } + + if (use_alsa) { + libs += [ "asound" ] diff --git a/www/ungoogled-chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc b/www/ungoogled-chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc new file mode 100644 index 000000000000..bbc2e66715d1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc @@ -0,0 +1,54 @@ +--- media/audio/alsa/audio_manager_alsa.cc.orig 2022-10-01 07:40:07 UTC ++++ media/audio/alsa/audio_manager_alsa.cc +@@ -88,7 +88,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType + int card = -1; + + // Loop through the sound cards to get ALSA device hints. ++#if !BUILDFLAG(IS_BSD) + while (!wrapper_->CardNext(&card) && card >= 0) { ++#endif + void** hints = NULL; + int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); + if (!error) { +@@ -100,7 +102,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType + DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: " + << wrapper_->StrError(error); + } ++#if !BUILDFLAG(IS_BSD) + } ++#endif + } + + void AudioManagerAlsa::GetAlsaDevicesInfo(AudioManagerAlsa::StreamType type, +@@ -183,7 +187,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable( + // goes through software conversion if needed (e.g. incompatible + // sample rate). + // TODO(joi): Should we prefer "hw" instead? ++#if BUILDFLAG(IS_BSD) ++ static const char kDeviceTypeDesired[] = "plug"; ++#else + static const char kDeviceTypeDesired[] = "plughw"; ++#endif + return strncmp(kDeviceTypeDesired, device_name, + std::size(kDeviceTypeDesired) - 1) == 0; + } +@@ -205,7 +213,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( + // Loop through the sound cards. + // Don't use snd_device_name_hint(-1,..) since there is an access violation + // inside this ALSA API with libasound.so.2.0.0. ++#if !BUILDFLAG(IS_BSD) + while (!wrapper_->CardNext(&card) && (card >= 0) && !has_device) { ++#endif + int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); + if (!error) { + for (void** hint_iter = hints; *hint_iter != NULL; hint_iter++) { +@@ -229,7 +239,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( + DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: " + << wrapper_->StrError(error); + } ++#if !BUILDFLAG(IS_BSD) + } ++#endif + + return has_device; + } diff --git a/www/ungoogled-chromium/files/patch-media_audio_audio__features.cc b/www/ungoogled-chromium/files/patch-media_audio_audio__features.cc new file mode 100644 index 000000000000..9d62b7f67023 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_audio__features.cc @@ -0,0 +1,11 @@ +--- media/audio/audio_features.cc.orig 2022-10-01 07:40:07 UTC ++++ media/audio/audio_features.cc +@@ -14,7 +14,7 @@ namespace features { + const base::Feature kAudioServiceOutOfProcessKillAtHang{ + "AudioServiceOutOfProcessKillAtHang", + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/ungoogled-chromium/files/patch-media_audio_audio__input__device.cc b/www/ungoogled-chromium/files/patch-media_audio_audio__input__device.cc new file mode 100644 index 000000000000..2bf8edebea82 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_audio__input__device.cc @@ -0,0 +1,11 @@ +--- media/audio/audio_input_device.cc.orig 2022-10-01 07:40:07 UTC ++++ media/audio/audio_input_device.cc +@@ -259,7 +259,7 @@ void AudioInputDevice::OnStreamCreated( + // here. See comments in AliveChecker and PowerObserverHelper for details and + // todos. + if (detect_dead_stream_ == DeadStreamDetection::kEnabled) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const bool stop_at_first_alive_notification = true; + const bool pause_check_during_suspend = false; + #else diff --git a/www/ungoogled-chromium/files/patch-media_audio_audio__output__proxy__unittest.cc b/www/ungoogled-chromium/files/patch-media_audio_audio__output__proxy__unittest.cc new file mode 100644 index 000000000000..0a1b717f6950 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_audio__output__proxy__unittest.cc @@ -0,0 +1,14 @@ +--- media/audio/audio_output_proxy_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ media/audio/audio_output_proxy_unittest.cc +@@ -412,7 +412,11 @@ class AudioOutputProxyTest : public testing::Test { + // |stream| is closed at this point. Start() should reopen it again. + EXPECT_CALL(manager(), MakeAudioOutputStream(_, _, _)) + .Times(2) ++#if BUILDFLAG(IS_BSD) ++ .WillRepeatedly(Return(static_cast<AudioOutputStream*>(NULL))); ++#else + .WillRepeatedly(Return(reinterpret_cast<AudioOutputStream*>(NULL))); ++#endif + + EXPECT_CALL(callback_, OnError(_)).Times(2); + diff --git a/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc b/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc new file mode 100644 index 000000000000..a04dd2aff736 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc @@ -0,0 +1,184 @@ +--- media/audio/sndio/audio_manager_sndio.cc.orig 2022-10-01 07:40:07 UTC ++++ media/audio/sndio/audio_manager_sndio.cc +@@ -0,0 +1,181 @@ ++// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "base/command_line.h" ++#include "base/metrics/histogram_macros.h" ++#include "base/memory/ptr_util.h" ++ ++#include "media/audio/sndio/audio_manager_sndio.h" ++ ++#include "media/audio/audio_device_description.h" ++#include "media/audio/audio_output_dispatcher.h" ++#if defined(USE_SNDIO) ++#include "media/audio/sndio/sndio_input.h" ++#include "media/audio/sndio/sndio_output.h" ++#endif ++#include "media/audio/fake_audio_manager.h" ++#include "media/base/limits.h" ++#include "media/base/media_switches.h" ++ ++namespace media { ++ ++enum SndioAudioIO { ++ kPulse, ++ kSndio, ++ kAudioIOMax = kSndio ++}; ++ ++#if defined(USE_SNDIO) ++// Maximum number of output streams that can be open simultaneously. ++static const int kMaxOutputStreams = 50; ++ ++// Default sample rate for input and output streams. ++static const int kDefaultSampleRate = 48000; ++ ++void AddDefaultDevice(AudioDeviceNames* device_names) { ++ DCHECK(device_names->empty()); ++ device_names->push_front(AudioDeviceName::CreateDefault()); ++} ++ ++bool AudioManagerSndio::HasAudioOutputDevices() { ++ return true; ++} ++ ++bool AudioManagerSndio::HasAudioInputDevices() { ++ return true; ++} ++ ++void AudioManagerSndio::GetAudioInputDeviceNames( ++ AudioDeviceNames* device_names) { ++ DCHECK(device_names->empty()); ++ AddDefaultDevice(device_names); ++} ++ ++void AudioManagerSndio::GetAudioOutputDeviceNames( ++ AudioDeviceNames* device_names) { ++ AddDefaultDevice(device_names); ++} ++ ++#if defined(USE_SNDIO) ++const char* AudioManagerSndio::GetName() { ++ return "SNDIO"; ++} ++#endif ++ ++AudioParameters AudioManagerSndio::GetInputStreamParameters( ++ const std::string& device_id) { ++ static const int kDefaultInputBufferSize = 1024; ++ ++ int user_buffer_size = GetUserBufferSize(); ++ int buffer_size = user_buffer_size ? ++ user_buffer_size : kDefaultInputBufferSize; ++ ++ return AudioParameters( ++ AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO, ++ kDefaultSampleRate, buffer_size); ++} ++ ++AudioManagerSndio::AudioManagerSndio(std::unique_ptr<AudioThread> audio_thread, ++ AudioLogFactory* audio_log_factory) ++ : AudioManagerBase(std::move(audio_thread), ++ audio_log_factory) { ++ DLOG(WARNING) << "AudioManagerSndio"; ++ SetMaxOutputStreamsAllowed(kMaxOutputStreams); ++} ++ ++AudioManagerSndio::~AudioManagerSndio() = default; ++ ++AudioOutputStream* AudioManagerSndio::MakeLinearOutputStream( ++ const AudioParameters& params, ++ const LogCallback& log_callback) { ++ DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); ++ return MakeOutputStream(params); ++} ++ ++AudioOutputStream* AudioManagerSndio::MakeLowLatencyOutputStream( ++ const AudioParameters& params, ++ const std::string& device_id, ++ const LogCallback& log_callback) { ++ DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!"; ++ DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); ++ return MakeOutputStream(params); ++} ++ ++AudioInputStream* AudioManagerSndio::MakeLinearInputStream( ++ const AudioParameters& params, ++ const std::string& device_id, ++ const LogCallback& log_callback) { ++ DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); ++ return MakeInputStream(params); ++} ++ ++AudioInputStream* AudioManagerSndio::MakeLowLatencyInputStream( ++ const AudioParameters& params, ++ const std::string& device_id, ++ const LogCallback& log_callback) { ++ DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); ++ return MakeInputStream(params); ++} ++ ++AudioParameters AudioManagerSndio::GetPreferredOutputStreamParameters( ++ const std::string& output_device_id, ++ const AudioParameters& input_params) { ++ // TODO(tommi): Support |output_device_id|. ++ DLOG_IF(ERROR, !output_device_id.empty()) << "Not implemented!"; ++ static const int kDefaultOutputBufferSize = 2048; ++ ++ ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO; ++ int sample_rate = kDefaultSampleRate; ++ int buffer_size = kDefaultOutputBufferSize; ++ if (input_params.IsValid()) { ++ sample_rate = input_params.sample_rate(); ++ channel_layout = input_params.channel_layout(); ++ buffer_size = std::min(buffer_size, input_params.frames_per_buffer()); ++ } ++ ++ int user_buffer_size = GetUserBufferSize(); ++ if (user_buffer_size) ++ buffer_size = user_buffer_size; ++ ++ return AudioParameters( ++ AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, ++ sample_rate, buffer_size); ++} ++ ++AudioInputStream* AudioManagerSndio::MakeInputStream( ++ const AudioParameters& params) { ++ DLOG(WARNING) << "MakeInputStream"; ++ return new SndioAudioInputStream(this, ++ AudioDeviceDescription::kDefaultDeviceId, params); ++} ++ ++AudioOutputStream* AudioManagerSndio::MakeOutputStream( ++ const AudioParameters& params) { ++ DLOG(WARNING) << "MakeOutputStream"; ++ return new SndioAudioOutputStream(params, this); ++} ++#endif ++ ++std::unique_ptr<media::AudioManager> CreateAudioManager( ++ std::unique_ptr<AudioThread> audio_thread, ++ AudioLogFactory* audio_log_factory) { ++ DLOG(WARNING) << "CreateAudioManager"; ++ // For testing allow audio output to be disabled. ++ if (base::CommandLine::ForCurrentProcess()->HasSwitch( ++ switches::kDisableAudioOutput)) { ++ return std::make_unique<FakeAudioManager>(std::move(audio_thread), ++ audio_log_factory); ++ } ++#if defined(USE_SNDIO) ++ UMA_HISTOGRAM_ENUMERATION("Media.SndioAudioIO", kSndio, kAudioIOMax + 1); ++ return std::make_unique<AudioManagerSndio>(std::move(audio_thread), ++ audio_log_factory); ++#else ++ return std::make_unique<FakeAudioManager>(std::move(audio_thread), ++ audio_log_factory); ++#endif ++ ++} ++ ++} // namespace media diff --git a/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.h b/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.h new file mode 100644 index 000000000000..e791d42538e1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_sndio_audio__manager__sndio.h @@ -0,0 +1,69 @@ +--- media/audio/sndio/audio_manager_sndio.h.orig 2022-10-01 07:40:07 UTC ++++ media/audio/sndio/audio_manager_sndio.h +@@ -0,0 +1,66 @@ ++// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ ++#define MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ ++ ++#include <set> ++ ++#include "base/compiler_specific.h" ++#include "base/memory/ref_counted.h" ++#include "base/threading/thread.h" ++#include "media/audio/audio_manager_base.h" ++ ++namespace media { ++ ++class MEDIA_EXPORT AudioManagerSndio : public AudioManagerBase { ++ public: ++ AudioManagerSndio(std::unique_ptr<AudioThread> audio_thread, ++ AudioLogFactory* audio_log_factory); ++ ++ AudioManagerSndio(const AudioManagerSndio&) = delete; ++ AudioManagerSndio& operator=(const AudioManagerSndio&) = delete; ++ ++ ~AudioManagerSndio() override; ++ ++ // Implementation of AudioManager. ++ bool HasAudioOutputDevices() override; ++ bool HasAudioInputDevices() override; ++ void GetAudioInputDeviceNames(AudioDeviceNames* device_names) override; ++ void GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override; ++ AudioParameters GetInputStreamParameters( ++ const std::string& device_id) override; ++ const char* GetName() override; ++ ++ // Implementation of AudioManagerBase. ++ AudioOutputStream* MakeLinearOutputStream( ++ const AudioParameters& params, ++ const LogCallback& log_callback) override; ++ AudioOutputStream* MakeLowLatencyOutputStream( ++ const AudioParameters& params, ++ const std::string& device_id, ++ const LogCallback& log_callback) override; ++ AudioInputStream* MakeLinearInputStream( ++ const AudioParameters& params, ++ const std::string& device_id, ++ const LogCallback& log_callback) override; ++ AudioInputStream* MakeLowLatencyInputStream( ++ const AudioParameters& params, ++ const std::string& device_id, ++ const LogCallback& log_callback) override; ++ ++ protected: ++ AudioParameters GetPreferredOutputStreamParameters( ++ const std::string& output_device_id, ++ const AudioParameters& input_params) override; ++ ++ private: ++ // Called by MakeLinearOutputStream and MakeLowLatencyOutputStream. ++ AudioOutputStream* MakeOutputStream(const AudioParameters& params); ++ AudioInputStream* MakeInputStream(const AudioParameters& params); ++}; ++ ++} // namespace media ++ ++#endif // MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ diff --git a/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__input.cc b/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__input.cc new file mode 100644 index 000000000000..822a33bf14fb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__input.cc @@ -0,0 +1,204 @@ +--- media/audio/sndio/sndio_input.cc.orig 2022-10-01 07:40:07 UTC ++++ media/audio/sndio/sndio_input.cc +@@ -0,0 +1,201 @@ ++// Copyright 2013 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "base/bind.h" ++#include "base/logging.h" ++#include "media/base/audio_timestamp_helper.h" ++#include "media/audio/sndio/audio_manager_sndio.h" ++#include "media/audio/audio_manager.h" ++#include "media/audio/sndio/sndio_input.h" ++ ++namespace media { ++ ++static const SampleFormat kSampleFormat = kSampleFormatS16; ++ ++void SndioAudioInputStream::OnMoveCallback(void *arg, int delta) ++{ ++ SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg); ++ ++ self->hw_delay += delta; ++} ++ ++void *SndioAudioInputStream::ThreadEntry(void *arg) { ++ SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg); ++ ++ self->ThreadLoop(); ++ return NULL; ++} ++ ++SndioAudioInputStream::SndioAudioInputStream(AudioManagerBase* manager, ++ const std::string& device_name, ++ const AudioParameters& params) ++ : manager(manager), ++ params(params), ++ audio_bus(AudioBus::Create(params)), ++ state(kClosed) { ++} ++ ++SndioAudioInputStream::~SndioAudioInputStream() { ++ if (state != kClosed) ++ Close(); ++} ++ ++AudioInputStream::OpenOutcome SndioAudioInputStream::Open() { ++ struct sio_par par; ++ int sig; ++ ++ if (state != kClosed) ++ return OpenOutcome::kFailed; ++ ++ if (params.format() != AudioParameters::AUDIO_PCM_LINEAR && ++ params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) { ++ LOG(WARNING) << "Unsupported audio format."; ++ return OpenOutcome::kFailed; ++ } ++ ++ sio_initpar(&par); ++ par.rate = params.sample_rate(); ++ par.rchan = params.channels(); ++ par.bits = SampleFormatToBitsPerChannel(kSampleFormat); ++ par.bps = par.bits / 8; ++ par.sig = sig = par.bits != 8 ? 1 : 0; ++ par.le = SIO_LE_NATIVE; ++ par.appbufsz = params.frames_per_buffer(); ++ ++ hdl = sio_open(SIO_DEVANY, SIO_REC, 0); ++ ++ if (hdl == NULL) { ++ LOG(ERROR) << "Couldn't open audio device."; ++ return OpenOutcome::kFailed; ++ } ++ ++ if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) { ++ LOG(ERROR) << "Couldn't set audio parameters."; ++ goto bad_close; ++ } ++ ++ if (par.rate != (unsigned int)params.sample_rate() || ++ par.rchan != (unsigned int)params.channels() || ++ par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) || ++ par.sig != (unsigned int)sig || ++ (par.bps > 1 && par.le != SIO_LE_NATIVE) || ++ (par.bits != par.bps * 8)) { ++ LOG(ERROR) << "Unsupported audio parameters."; ++ goto bad_close; ++ } ++ state = kStopped; ++ buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)]; ++ sio_onmove(hdl, &OnMoveCallback, this); ++ return OpenOutcome::kSuccess; ++bad_close: ++ sio_close(hdl); ++ return OpenOutcome::kFailed; ++} ++ ++void SndioAudioInputStream::Start(AudioInputCallback* cb) { ++ ++ StartAgc(); ++ ++ state = kRunning; ++ hw_delay = 0; ++ callback = cb; ++ sio_start(hdl); ++ if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) { ++ LOG(ERROR) << "Failed to create real-time thread for recording."; ++ sio_stop(hdl); ++ state = kStopped; ++ } ++} ++ ++void SndioAudioInputStream::Stop() { ++ ++ if (state == kStopped) ++ return; ++ ++ state = kStopWait; ++ pthread_join(thread, NULL); ++ sio_stop(hdl); ++ state = kStopped; ++ ++ StopAgc(); ++} ++ ++void SndioAudioInputStream::Close() { ++ ++ if (state == kClosed) ++ goto release; ++ ++ if (state == kRunning) ++ Stop(); ++ ++ state = kClosed; ++ delete [] buffer; ++ sio_close(hdl); ++ ++release: ++ manager->ReleaseInputStream(this); ++} ++ ++double SndioAudioInputStream::GetMaxVolume() { ++ // Not supported ++ return 0.0; ++} ++ ++void SndioAudioInputStream::SetVolume(double volume) { ++ // Not supported. Do nothing. ++} ++ ++double SndioAudioInputStream::GetVolume() { ++ // Not supported. ++ return 0.0; ++} ++ ++bool SndioAudioInputStream::IsMuted() { ++ // Not supported. ++ return false; ++} ++ ++void SndioAudioInputStream::SetOutputDeviceForAec( ++ const std::string& output_device_id) { ++ // Not supported. ++} ++ ++void SndioAudioInputStream::ThreadLoop(void) { ++ size_t todo, n; ++ char *data; ++ unsigned int nframes; ++ double normalized_volume = 0.0; ++ ++ nframes = audio_bus->frames(); ++ ++ while (state == kRunning && !sio_eof(hdl)) { ++ ++ GetAgcVolume(&normalized_volume); ++ ++ // read one block ++ todo = nframes * params.GetBytesPerFrame(kSampleFormat); ++ data = buffer; ++ while (todo > 0) { ++ n = sio_read(hdl, data, todo); ++ if (n == 0) ++ return; // unrecoverable I/O error ++ todo -= n; ++ data += n; ++ } ++ hw_delay -= nframes; ++ ++ // convert frames count to TimeDelta ++ const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay, ++ params.sample_rate()); ++ ++ // push into bus ++ audio_bus->FromInterleaved<SignedInt16SampleTypeTraits>(reinterpret_cast<int16_t*>(buffer), nframes); ++ ++ ++ // invoke callback ++ callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1.); ++ } ++} ++ ++} // namespace media diff --git a/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__input.h b/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__input.h new file mode 100644 index 000000000000..d189809f658a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__input.h @@ -0,0 +1,94 @@ +--- media/audio/sndio/sndio_input.h.orig 2022-10-01 07:40:07 UTC ++++ media/audio/sndio/sndio_input.h +@@ -0,0 +1,91 @@ ++// Copyright 2013 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ ++#define MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ ++ ++#include <stdint.h> ++#include <string> ++#include <sndio.h> ++ ++#include "base/compiler_specific.h" ++#include "base/memory/weak_ptr.h" ++#include "base/time/time.h" ++#include "media/audio/agc_audio_stream.h" ++#include "media/audio/audio_io.h" ++#include "media/audio/audio_device_description.h" ++#include "media/base/audio_parameters.h" ++ ++namespace media { ++ ++class AudioManagerBase; ++ ++// Implementation of AudioOutputStream using sndio(7) ++class SndioAudioInputStream : public AgcAudioStream<AudioInputStream> { ++ public: ++ // Pass this to the constructor if you want to attempt auto-selection ++ // of the audio recording device. ++ static const char kAutoSelectDevice[]; ++ ++ // Create a PCM Output stream for the SNDIO device identified by ++ // |device_name|. If unsure of what to use for |device_name|, use ++ // |kAutoSelectDevice|. ++ SndioAudioInputStream(AudioManagerBase* audio_manager, ++ const std::string& device_name, ++ const AudioParameters& params); ++ ++ SndioAudioInputStream(const SndioAudioInputStream&) = delete; ++ SndioAudioInputStream& operator=(const SndioAudioInputStream&) = delete; ++ ++ ~SndioAudioInputStream() override; ++ ++ // Implementation of AudioInputStream. ++ OpenOutcome Open() override; ++ void Start(AudioInputCallback* callback) override; ++ void Stop() override; ++ void Close() override; ++ double GetMaxVolume() override; ++ void SetVolume(double volume) override; ++ double GetVolume() override; ++ bool IsMuted() override; ++ void SetOutputDeviceForAec(const std::string& output_device_id) override; ++ ++ private: ++ ++ enum StreamState { ++ kClosed, // Not opened yet ++ kStopped, // Device opened, but not started yet ++ kRunning, // Started, device playing ++ kStopWait // Stopping, waiting for the real-time thread to exit ++ }; ++ ++ // C-style call-backs ++ static void OnMoveCallback(void *arg, int delta); ++ static void* ThreadEntry(void *arg); ++ ++ // Continuously moves data from the device to the consumer ++ void ThreadLoop(); ++ // Our creator, the audio manager needs to be notified when we close. ++ AudioManagerBase* manager; ++ // Parameters of the source ++ AudioParameters params; ++ // We store data here for consumer ++ std::unique_ptr<AudioBus> audio_bus; ++ // Call-back that consumes recorded data ++ AudioInputCallback* callback; // Valid during a recording session. ++ // Handle of the audio device ++ struct sio_hdl* hdl; ++ // Current state of the stream ++ enum StreamState state; ++ // High priority thread running ThreadLoop() ++ pthread_t thread; ++ // Number of frames buffered in the hardware ++ int hw_delay; ++ // Temporary buffer where data is stored sndio-compatible format ++ char* buffer; ++}; ++ ++} // namespace media ++ ++#endif // MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ diff --git a/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__output.cc b/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__output.cc new file mode 100644 index 000000000000..82b9f21bee63 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__output.cc @@ -0,0 +1,190 @@ +--- media/audio/sndio/sndio_output.cc.orig 2022-10-01 07:40:07 UTC ++++ media/audio/sndio/sndio_output.cc +@@ -0,0 +1,187 @@ ++// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "base/logging.h" ++#include "base/time/time.h" ++#include "base/time/default_tick_clock.h" ++#include "media/audio/audio_manager_base.h" ++#include "media/base/audio_timestamp_helper.h" ++#include "media/audio/sndio/sndio_output.h" ++ ++namespace media { ++ ++static const SampleFormat kSampleFormat = kSampleFormatS16; ++ ++void SndioAudioOutputStream::OnMoveCallback(void *arg, int delta) { ++ SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg); ++ ++ self->hw_delay -= delta; ++} ++ ++void SndioAudioOutputStream::OnVolCallback(void *arg, unsigned int vol) { ++ SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg); ++ ++ self->vol = vol; ++} ++ ++void *SndioAudioOutputStream::ThreadEntry(void *arg) { ++ SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg); ++ ++ self->ThreadLoop(); ++ return NULL; ++} ++ ++SndioAudioOutputStream::SndioAudioOutputStream(const AudioParameters& params, ++ AudioManagerBase* manager) ++ : manager(manager), ++ params(params), ++ audio_bus(AudioBus::Create(params)), ++ state(kClosed), ++ mutex(PTHREAD_MUTEX_INITIALIZER) { ++} ++ ++SndioAudioOutputStream::~SndioAudioOutputStream() { ++ if (state != kClosed) ++ Close(); ++} ++ ++bool SndioAudioOutputStream::Open() { ++ if (params.format() != AudioParameters::AUDIO_PCM_LINEAR && ++ params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) { ++ LOG(WARNING) << "Unsupported audio format."; ++ return false; ++ } ++ state = kStopped; ++ volpending = 0; ++ vol = SIO_MAXVOL; ++ buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)]; ++ return true; ++} ++ ++void SndioAudioOutputStream::Close() { ++ if (state == kClosed) ++ goto release; ++ if (state == kRunning) ++ Stop(); ++ state = kClosed; ++ delete [] buffer; ++release: ++ manager->ReleaseOutputStream(this); // Calls the destructor ++} ++ ++void SndioAudioOutputStream::Start(AudioSourceCallback* callback) { ++ struct sio_par par; ++ int sig; ++ ++ sio_initpar(&par); ++ par.rate = params.sample_rate(); ++ par.pchan = params.channels(); ++ par.bits = SampleFormatToBitsPerChannel(kSampleFormat); ++ par.bps = par.bits / 8; ++ par.sig = sig = par.bits != 8 ? 1 : 0; ++ par.le = SIO_LE_NATIVE; ++ par.appbufsz = params.frames_per_buffer(); ++ ++ hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0); ++ if (hdl == NULL) { ++ LOG(ERROR) << "Couldn't open audio device."; ++ return; ++ } ++ if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) { ++ LOG(ERROR) << "Couldn't set audio parameters."; ++ sio_close(hdl); ++ return; ++ } ++ if (par.rate != (unsigned int)params.sample_rate() || ++ par.pchan != (unsigned int)params.channels() || ++ par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) || ++ par.sig != (unsigned int)sig || ++ (par.bps > 1 && par.le != SIO_LE_NATIVE) || ++ (par.bits != par.bps * 8)) { ++ LOG(ERROR) << "Unsupported audio parameters."; ++ sio_close(hdl); ++ return; ++ } ++ ++ sio_onmove(hdl, &OnMoveCallback, this); ++ sio_onvol(hdl, &OnVolCallback, this); ++ ++ state = kRunning; ++ hw_delay = 0; ++ source = callback; ++ sio_start(hdl); ++ ++ if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) { ++ LOG(ERROR) << "Failed to create real-time thread."; ++ sio_stop(hdl); ++ sio_close(hdl); ++ state = kStopped; ++ } ++} ++ ++void SndioAudioOutputStream::Stop() { ++ if (state == kStopped) ++ return; ++ state = kStopWait; ++ pthread_join(thread, NULL); ++ sio_stop(hdl); ++ sio_close(hdl); ++ state = kStopped; ++} ++ ++void SndioAudioOutputStream::SetVolume(double v) { ++ pthread_mutex_lock(&mutex); ++ vol = v * SIO_MAXVOL; ++ volpending = 1; ++ pthread_mutex_unlock(&mutex); ++} ++ ++void SndioAudioOutputStream::GetVolume(double* v) { ++ pthread_mutex_lock(&mutex); ++ *v = vol * (1. / SIO_MAXVOL); ++ pthread_mutex_unlock(&mutex); ++} ++ ++// This stream is always used with sub second buffer sizes, where it's ++// sufficient to simply always flush upon Start(). ++void SndioAudioOutputStream::Flush() {} ++ ++void SndioAudioOutputStream::ThreadLoop(void) { ++ int avail, count, result; ++ ++ while (state == kRunning) { ++ // Update volume if needed ++ pthread_mutex_lock(&mutex); ++ if (volpending) { ++ volpending = 0; ++ sio_setvol(hdl, vol); ++ } ++ pthread_mutex_unlock(&mutex); ++ ++ // Get data to play ++ const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay, ++ params.sample_rate()); ++ count = source->OnMoreData(delay, base::TimeTicks::Now(), 0, audio_bus.get()); ++ audio_bus->ToInterleaved<SignedInt16SampleTypeTraits>(count, reinterpret_cast<int16_t*>(buffer)); ++ if (count == 0) { ++ // We have to submit something to the device ++ count = audio_bus->frames(); ++ memset(buffer, 0, count * params.GetBytesPerFrame(kSampleFormat)); ++ LOG(WARNING) << "No data to play, running empty cycle."; ++ } ++ ++ // Submit data to the device ++ avail = count * params.GetBytesPerFrame(kSampleFormat); ++ result = sio_write(hdl, buffer, avail); ++ if (result == 0) { ++ LOG(WARNING) << "Audio device disconnected."; ++ break; ++ } ++ ++ // Update hardware pointer ++ hw_delay += count; ++ } ++} ++ ++} // namespace media diff --git a/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__output.h b/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__output.h new file mode 100644 index 000000000000..1d3e2ef0c1b6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_audio_sndio_sndio__output.h @@ -0,0 +1,91 @@ +--- media/audio/sndio/sndio_output.h.orig 2022-10-01 07:40:07 UTC ++++ media/audio/sndio/sndio_output.h +@@ -0,0 +1,88 @@ ++// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ ++#define MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ ++ ++#include <pthread.h> ++#include <sndio.h> ++ ++#include "base/time/tick_clock.h" ++#include "base/time/time.h" ++#include "media/audio/audio_io.h" ++ ++namespace media { ++ ++class AudioManagerBase; ++ ++// Implementation of AudioOutputStream using sndio(7) ++class SndioAudioOutputStream : public AudioOutputStream { ++ public: ++ // The manager is creating this object ++ SndioAudioOutputStream(const AudioParameters& params, ++ AudioManagerBase* manager); ++ ++ SndioAudioOutputStream(const SndioAudioOutputStream&) = delete; ++ SndioAudioOutputStream& operator=(const SndioAudioOutputStream&) = delete; ++ ++ virtual ~SndioAudioOutputStream(); ++ ++ // Implementation of AudioOutputStream. ++ bool Open() override; ++ void Close() override; ++ void Start(AudioSourceCallback* callback) override; ++ void Stop() override; ++ void SetVolume(double volume) override; ++ void GetVolume(double* volume) override; ++ void Flush() override; ++ ++ friend void sndio_onmove(void *arg, int delta); ++ friend void sndio_onvol(void *arg, unsigned int vol); ++ friend void *sndio_threadstart(void *arg); ++ ++ private: ++ enum StreamState { ++ kClosed, // Not opened yet ++ kStopped, // Device opened, but not started yet ++ kRunning, // Started, device playing ++ kStopWait // Stopping, waiting for the real-time thread to exit ++ }; ++ ++ // C-style call-backs ++ static void OnMoveCallback(void *arg, int delta); ++ static void OnVolCallback(void *arg, unsigned int vol); ++ static void* ThreadEntry(void *arg); ++ ++ // Continuously moves data from the producer to the device ++ void ThreadLoop(void); ++ ++ // Our creator, the audio manager needs to be notified when we close. ++ AudioManagerBase* manager; ++ // Parameters of the source ++ AudioParameters params; ++ // Source stores data here ++ std::unique_ptr<AudioBus> audio_bus; ++ // Call-back that produces data to play ++ AudioSourceCallback* source; ++ // Handle of the audio device ++ struct sio_hdl* hdl; ++ // Current state of the stream ++ enum StreamState state; ++ // High priority thread running ThreadLoop() ++ pthread_t thread; ++ // Protects vol, volpending and hw_delay ++ pthread_mutex_t mutex; ++ // Current volume in the 0..SIO_MAXVOL range ++ int vol; ++ // Set to 1 if volumes must be refreshed in the realtime thread ++ int volpending; ++ // Number of frames buffered in the hardware ++ int hw_delay; ++ // Temporary buffer where data is stored sndio-compatible format ++ char* buffer; ++}; ++ ++} // namespace media ++ ++#endif // MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ diff --git a/www/ungoogled-chromium/files/patch-media_base_audio__latency.cc b/www/ungoogled-chromium/files/patch-media_base_audio__latency.cc new file mode 100644 index 000000000000..11d93f5df2b6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_base_audio__latency.cc @@ -0,0 +1,11 @@ +--- media/base/audio_latency.cc.orig 2022-10-01 07:40:07 UTC ++++ media/base/audio_latency.cc +@@ -137,7 +137,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in + } + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // On Linux, MacOS and Fuchsia, the low level IO implementations on the + // browser side supports all buffer size the clients want. We use the native + // peer connection buffer size (10ms) to achieve best possible performance. diff --git a/www/ungoogled-chromium/files/patch-media_base_media__switches.cc b/www/ungoogled-chromium/files/patch-media_base_media__switches.cc new file mode 100644 index 000000000000..eec014be40ab --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_base_media__switches.cc @@ -0,0 +1,47 @@ +--- media/base/media_switches.cc.orig 2022-10-01 07:40:07 UTC ++++ media/base/media_switches.cc +@@ -10,7 +10,7 @@ + #include "components/system_media_controls/linux/buildflags/buildflags.h" + #include "media/media_buildflags.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/cpu.h" + #endif + +@@ -452,7 +452,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode + // Show toolbar button that opens dialog for controlling media sessions. + const base::Feature kGlobalMediaControls { + "GlobalMediaControls", +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -490,7 +490,7 @@ constexpr base::FeatureParam<kCrosGlobalMediaControlsP + const base::Feature kGlobalMediaControlsPictureInPicture { + "GlobalMediaControlsPictureInPicture", + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -527,7 +527,7 @@ const base::Feature kUseR16Texture{"use-r16-texture", + const base::Feature kUnifiedAutoplay{"UnifiedAutoplay", + base::FEATURE_ENABLED_BY_DEFAULT}; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Enable vaapi video decoding on linux. This is already enabled by default on + // chromeos, but needs an experiment on linux. + const base::Feature kVaapiVideoDecodeLinux{"VaapiVideoDecoder", +@@ -942,7 +942,7 @@ const base::Feature MEDIA_EXPORT kDeprecateLowUsageCod + "DeprecateLowUsageCodecs", base::FEATURE_ENABLED_BY_DEFAULT}; + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Spawn utility processes to perform hardware decode acceleration instead of + // using the GPU process. + const base::Feature MEDIA_EXPORT kUseOutOfProcessVideoDecoding{ diff --git a/www/ungoogled-chromium/files/patch-media_base_media__switches.h b/www/ungoogled-chromium/files/patch-media_base_media__switches.h new file mode 100644 index 000000000000..0d3bd8fd467a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_base_media__switches.h @@ -0,0 +1,20 @@ +--- media/base/media_switches.h.orig 2022-10-01 07:40:07 UTC ++++ media/base/media_switches.h +@@ -203,7 +203,7 @@ MEDIA_EXPORT extern const base::Feature kUseDecoderStr + MEDIA_EXPORT extern const base::Feature kUseFakeDeviceForMediaStream; + MEDIA_EXPORT extern const base::Feature kUseMediaHistoryStore; + MEDIA_EXPORT extern const base::Feature kUseR16Texture; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + MEDIA_EXPORT extern const base::Feature kVaapiVideoDecodeLinux; + MEDIA_EXPORT extern const base::Feature kVaapiVideoEncodeLinux; + MEDIA_EXPORT extern const base::Feature kVaapiIgnoreDriverChecks; +@@ -310,7 +310,7 @@ MEDIA_EXPORT extern const base::FeatureParam< + MEDIA_EXPORT extern const base::Feature kDeprecateLowUsageCodecs; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + MEDIA_EXPORT extern const base::Feature kUseOutOfProcessVideoDecoding; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + diff --git a/www/ungoogled-chromium/files/patch-media_base_scopedfd__helper.h b/www/ungoogled-chromium/files/patch-media_base_scopedfd__helper.h new file mode 100644 index 000000000000..633401055c54 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_base_scopedfd__helper.h @@ -0,0 +1,11 @@ +--- media/base/scopedfd_helper.h.orig 2022-10-01 07:40:07 UTC ++++ media/base/scopedfd_helper.h +@@ -15,7 +15,7 @@ namespace media { + // but since the only current user is V4L2 we are limiting the scope to OS_LINUX + // so the binary size does not inflate on non-using systems. Feel free to adapt + // this and BUILD.gn as our needs evolve. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + // Return a new vector containing duplicates of |fds|, or PCHECKs in case of an + // error. diff --git a/www/ungoogled-chromium/files/patch-media_base_supported__types.cc b/www/ungoogled-chromium/files/patch-media_base_supported__types.cc new file mode 100644 index 000000000000..c8dc5f428bbe --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_base_supported__types.cc @@ -0,0 +1,11 @@ +--- media/base/supported_types.cc.orig 2022-10-01 07:40:07 UTC ++++ media/base/supported_types.cc +@@ -205,7 +205,7 @@ bool IsHevcProfileSupported(const VideoType& type) { + return false; + + #if BUILDFLAG(ENABLE_PLATFORM_HEVC) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_CHROMEOS_LACROS) + // TODO(b/171813538): For Lacros, the supplemental profile cache will be + // asking lacros-gpu, but we will be doing decoding in ash-gpu. Until the diff --git a/www/ungoogled-chromium/files/patch-media_base_user__input__monitor__unittest.cc b/www/ungoogled-chromium/files/patch-media_base_user__input__monitor__unittest.cc new file mode 100644 index 000000000000..9e518c8c822a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_base_user__input__monitor__unittest.cc @@ -0,0 +1,29 @@ +--- media/base/user_input_monitor_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ media/base/user_input_monitor_unittest.cc +@@ -13,7 +13,7 @@ + #include "build/build_config.h" + #include "testing/gtest/include/gtest/gtest.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/files/file_descriptor_watcher_posix.h" + #endif + +@@ -49,7 +49,7 @@ class UserInputMonitorTest : public testing::Test { + } // namespace + + TEST_F(UserInputMonitorTest, CreatePlatformSpecific) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::test::TaskEnvironment task_environment( + base::test::TaskEnvironment::MainThreadType::IO); + #else +@@ -71,7 +71,7 @@ TEST_F(UserInputMonitorTest, CreatePlatformSpecific) { + } + + TEST_F(UserInputMonitorTest, CreatePlatformSpecificWithMapping) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::test::TaskEnvironment task_environment( + base::test::TaskEnvironment::MainThreadType::IO); + #else diff --git a/www/ungoogled-chromium/files/patch-media_base_vector__math.cc b/www/ungoogled-chromium/files/patch-media_base_vector__math.cc new file mode 100644 index 000000000000..6e3b63569ca8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_base_vector__math.cc @@ -0,0 +1,11 @@ +--- media/base/vector_math.cc.orig 2022-10-01 07:40:07 UTC ++++ media/base/vector_math.cc +@@ -18,7 +18,7 @@ + // better, which is anywhere clang is used. + // TODO(pcc): Linux currently uses ThinLTO which has broken auto-vectorization + // in clang, so use our intrinsic version for now. http://crbug.com/738085 +-#if !defined(__clang__) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if !defined(__clang__) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #define FMAC_FUNC FMAC_SSE + #define FMUL_FUNC FMUL_SSE + #else diff --git a/www/ungoogled-chromium/files/patch-media_base_video__frame.cc b/www/ungoogled-chromium/files/patch-media_base_video__frame.cc new file mode 100644 index 000000000000..630ee032012a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_base_video__frame.cc @@ -0,0 +1,74 @@ +--- media/base/video_frame.cc.orig 2022-10-01 07:40:07 UTC ++++ media/base/video_frame.cc +@@ -72,7 +72,7 @@ std::string VideoFrame::StorageTypeToString( + return "OWNED_MEMORY"; + case VideoFrame::STORAGE_SHMEM: + return "SHMEM"; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + case VideoFrame::STORAGE_DMABUFS: + return "DMABUFS"; + #endif +@@ -89,7 +89,7 @@ std::string VideoFrame::StorageTypeToString( + // static + bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) { + return +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // This is not strictly needed but makes explicit that, at VideoFrame + // level, DmaBufs are not mappable from userspace. + storage_type != VideoFrame::STORAGE_DMABUFS && +@@ -285,7 +285,7 @@ static absl::optional<VideoFrameLayout> GetDefaultLayo + return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // This class allows us to embed a vector<ScopedFD> into a scoped_refptr, and + // thus to have several VideoFrames share the same set of DMABUF FDs. + class VideoFrame::DmabufHolder +@@ -624,7 +624,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM + for (size_t i = 0; i < num_planes; ++i) + planes[i].stride = gpu_memory_buffer->stride(i); + uint64_t modifier = gfx::NativePixmapHandle::kNoModifier; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (gpu_memory_buffer->GetType() == gfx::NATIVE_PIXMAP) { + const auto gmb_handle = gpu_memory_buffer->CloneHandle(); + if (gmb_handle.is_null() || +@@ -670,7 +670,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM + return frame; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // static + scoped_refptr<VideoFrame> VideoFrame::WrapExternalDmabufs( + const VideoFrameLayout& layout, +@@ -894,7 +894,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame( + } + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + DCHECK(frame->dmabuf_fds_); + // If there are any |dmabuf_fds_| plugged in, we should refer them too. + wrapping_frame->dmabuf_fds_ = frame->dmabuf_fds_; +@@ -1265,7 +1265,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder( + : mailbox_holders_[texture_index]; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const std::vector<base::ScopedFD>& VideoFrame::DmabufFds() const { + DCHECK_EQ(storage_type_, STORAGE_DMABUFS); + +@@ -1377,7 +1377,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout, + storage_type_(storage_type), + visible_rect_(Intersection(visible_rect, gfx::Rect(layout.coded_size()))), + natural_size_(natural_size), +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + dmabuf_fds_(base::MakeRefCounted<DmabufHolder>()), + #endif + timestamp_(timestamp), diff --git a/www/ungoogled-chromium/files/patch-media_base_video__frame.h b/www/ungoogled-chromium/files/patch-media_base_video__frame.h new file mode 100644 index 000000000000..847562ecf04e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_base_video__frame.h @@ -0,0 +1,47 @@ +--- media/base/video_frame.h.orig 2022-10-01 07:40:07 UTC ++++ media/base/video_frame.h +@@ -41,7 +41,7 @@ + #include "base/mac/scoped_cftyperef.h" + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/files/scoped_file.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -82,7 +82,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers. + STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer. + STORAGE_SHMEM = 4, // Backed by unsafe (writable) shared memory. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(mcasas): Consider turning this type into STORAGE_NATIVE + // based on the idea of using this same enum value for both DMA + // buffers on Linux and CVPixelBuffers on Mac (which currently use +@@ -280,7 +280,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + ReleaseMailboxAndGpuMemoryBufferCB mailbox_holder_and_gmb_release_cb, + base::TimeDelta timestamp); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Wraps provided dmabufs + // (https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html) with a + // VideoFrame. The frame will take ownership of |dmabuf_fds|, and will +@@ -539,7 +539,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + // mailbox, the caller must wait for the included sync point. + const gpu::MailboxHolder& mailbox_holder(size_t texture_index) const; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Returns a vector containing the backing DmaBufs for this frame. The number + // of returned DmaBufs will be equal or less than the number of planes of + // the frame. If there are less, this means that the last FD contains the +@@ -743,7 +743,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + // GPU memory buffer, if this frame is STORAGE_GPU_MEMORY_BUFFER. + std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer_; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + class DmabufHolder; + + // Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc b/www/ungoogled-chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc new file mode 100644 index 000000000000..1778eb19c43d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc @@ -0,0 +1,20 @@ +--- media/capture/video/create_video_capture_device_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/create_video_capture_device_factory.cc +@@ -12,7 +12,7 @@ + #include "media/capture/video/fake_video_capture_device_factory.h" + #include "media/capture/video/file_video_capture_device_factory.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include "media/capture/video/linux/video_capture_device_factory_linux.h" + #elif BUILDFLAG(IS_CHROMEOS_ASH) + #include "media/capture/video/chromeos/public/cros_features.h" +@@ -55,7 +55,7 @@ CreateFakeVideoCaptureDeviceFactory() { + std::unique_ptr<VideoCaptureDeviceFactory> + CreatePlatformSpecificVideoCaptureDeviceFactory( + scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + return std::make_unique<VideoCaptureDeviceFactoryLinux>(ui_task_runner); + #elif BUILDFLAG(IS_CHROMEOS_ASH) + if (base::SysInfo::IsRunningOnChromeOS()) diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc b/www/ungoogled-chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc new file mode 100644 index 000000000000..4552924cc552 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc @@ -0,0 +1,11 @@ +--- media/capture/video/fake_video_capture_device_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/fake_video_capture_device_factory.cc +@@ -213,7 +213,7 @@ void FakeVideoCaptureDeviceFactory::GetDevicesInfo( + int entry_index = 0; + for (const auto& entry : devices_config_) { + VideoCaptureApi api = +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE; + #elif BUILDFLAG(IS_MAC) + VideoCaptureApi::MACOSX_AVFOUNDATION; diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_file__video__capture__device__factory.cc b/www/ungoogled-chromium/files/patch-media_capture_video_file__video__capture__device__factory.cc new file mode 100644 index 000000000000..1b6e19d3017b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_file__video__capture__device__factory.cc @@ -0,0 +1,11 @@ +--- media/capture/video/file_video_capture_device_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/file_video_capture_device_factory.cc +@@ -52,7 +52,7 @@ void FileVideoCaptureDeviceFactory::GetDevicesInfo( + VideoCaptureApi::WIN_DIRECT_SHOW; + #elif BUILDFLAG(IS_MAC) + VideoCaptureApi::MACOSX_AVFOUNDATION; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE; + #else + VideoCaptureApi::UNKNOWN; diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc b/www/ungoogled-chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc new file mode 100644 index 000000000000..612e10030678 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.cc @@ -0,0 +1,11 @@ +--- media/capture/video/linux/fake_v4l2_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/linux/fake_v4l2_impl.cc +@@ -427,7 +427,7 @@ int FakeV4L2Impl::close(int fd) { + return kSuccessReturnValue; + } + +-int FakeV4L2Impl::ioctl(int fd, int request, void* argp) { ++int FakeV4L2Impl::ioctl(int fd, unsigned long request, void* argp) { + base::AutoLock lock(lock_); + auto device_iter = opened_devices_.find(fd); + if (device_iter == opened_devices_.end()) diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h b/www/ungoogled-chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h new file mode 100644 index 000000000000..ceecd98420c6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h @@ -0,0 +1,25 @@ +--- media/capture/video/linux/fake_v4l2_impl.h.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/linux/fake_v4l2_impl.h +@@ -8,7 +8,13 @@ + #include <map> + #include <string> + ++#include "build/build_config.h" ++#if BUILDFLAG(IS_OPENBSD) ++#include <sys/videoio.h> ++typedef __uint32_t __u32; ++#else + #include <linux/videodev2.h> ++#endif + + #include "base/synchronization/lock.h" + #include "media/capture/capture_export.h" +@@ -36,7 +42,7 @@ class CAPTURE_EXPORT FakeV4L2Impl : public V4L2Capture + // Implementation of V4L2CaptureDevice interface: + int open(const char* device_name, int flags) override; + int close(int fd) override; +- int ioctl(int fd, int request, void* argp) override; ++ int ioctl(int fd, unsigned long request, void* argp) override; + void* mmap(void* start, + size_t length, + int prot, diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc new file mode 100644 index 000000000000..643bd20411ec --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc @@ -0,0 +1,44 @@ +--- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/linux/v4l2_capture_delegate.cc +@@ -4,8 +4,10 @@ + + #include "media/capture/video/linux/v4l2_capture_delegate.h" + ++#if !defined(OS_BSD) + #include <linux/version.h> + #include <linux/videodev2.h> ++#endif + #include <poll.h> + #include <sys/fcntl.h> + #include <sys/ioctl.h> +@@ -27,10 +29,10 @@ + + using media::mojom::MeteringMode; + +-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) ++// #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) + // 16 bit depth, Realsense F200. + #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') +-#endif ++// #endif + + // TODO(aleksandar.stojiljkovic): Wrap this with kernel version check once the + // format is introduced to kernel. +@@ -666,7 +668,7 @@ base::WeakPtr<V4L2CaptureDelegate> V4L2CaptureDelegate + + V4L2CaptureDelegate::~V4L2CaptureDelegate() = default; + +-bool V4L2CaptureDelegate::RunIoctl(int request, void* argp) { ++bool V4L2CaptureDelegate::RunIoctl(unsigned int request, void* argp) { + int num_retries = 0; + for (; DoIoctl(request, argp) < 0 && num_retries < kMaxIOCtrlRetries; + ++num_retries) { +@@ -676,7 +678,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void* + return num_retries != kMaxIOCtrlRetries; + } + +-int V4L2CaptureDelegate::DoIoctl(int request, void* argp) { ++int V4L2CaptureDelegate::DoIoctl(unsigned int request, void* argp) { + return HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), request, argp)); + } + diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h new file mode 100644 index 000000000000..15511e7ed520 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h @@ -0,0 +1,15 @@ +--- media/capture/video/linux/v4l2_capture_delegate.h.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/linux/v4l2_capture_delegate.h +@@ -86,10 +86,10 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { + // device file descriptor or (re)starting streaming, can fail but works after + // retrying (https://crbug.com/670262). Returns false if the |request| ioctl + // fails too many times. +- bool RunIoctl(int request, void* argp); ++ bool RunIoctl(unsigned int request, void* argp); + + // Simple wrapper to do HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), ...)). +- int DoIoctl(int request, void* argp); ++ int DoIoctl(unsigned int request, void* argp); + + // Creates a mojom::RangePtr with the (min, max, current, step) values of the + // control associated with |control_id|. Returns an empty Range otherwise. diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h new file mode 100644 index 000000000000..25e677decf6d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h @@ -0,0 +1,11 @@ +--- media/capture/video/linux/v4l2_capture_device.h.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/linux/v4l2_capture_device.h +@@ -21,7 +21,7 @@ class CAPTURE_EXPORT V4L2CaptureDevice + public: + virtual int open(const char* device_name, int flags) = 0; + virtual int close(int fd) = 0; +- virtual int ioctl(int fd, int request, void* argp) = 0; ++ virtual int ioctl(int fd, unsigned long request, void* argp) = 0; + virtual void* mmap(void* start, + size_t length, + int prot, diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc new file mode 100644 index 000000000000..b7e15a350e26 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc @@ -0,0 +1,11 @@ +--- media/capture/video/linux/v4l2_capture_device_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/linux/v4l2_capture_device_impl.cc +@@ -22,7 +22,7 @@ int V4L2CaptureDeviceImpl::close(int fd) { + return ::close(fd); + } + +-int V4L2CaptureDeviceImpl::ioctl(int fd, int request, void* argp) { ++int V4L2CaptureDeviceImpl::ioctl(int fd, unsigned long request, void* argp) { + return ::ioctl(fd, request, argp); + } + diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h new file mode 100644 index 000000000000..8b028b20fb0a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h @@ -0,0 +1,11 @@ +--- media/capture/video/linux/v4l2_capture_device_impl.h.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/linux/v4l2_capture_device_impl.h +@@ -19,7 +19,7 @@ class CAPTURE_EXPORT V4L2CaptureDeviceImpl : public V4 + public: + int open(const char* device_name, int flags) override; + int close(int fd) override; +- int ioctl(int fd, int request, void* argp) override; ++ int ioctl(int fd, unsigned long request, void* argp) override; + void* mmap(void* start, + size_t length, + int prot, diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc b/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc new file mode 100644 index 000000000000..418b2b53c41a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc @@ -0,0 +1,45 @@ +--- media/capture/video/linux/video_capture_device_factory_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/linux/video_capture_device_factory_linux.cc +@@ -72,6 +72,9 @@ class DevVideoFilePathsDeviceProvider + : public VideoCaptureDeviceFactoryLinux::DeviceProvider { + public: + void GetDeviceIds(std::vector<std::string>* target_container) override { ++#if defined(OS_OPENBSD) ++ target_container->emplace_back("/dev/video"); ++#else + const base::FilePath path("/dev/"); + base::FileEnumerator enumerator(path, false, base::FileEnumerator::FILES, + "video*"); +@@ -79,9 +82,13 @@ class DevVideoFilePathsDeviceProvider + const base::FileEnumerator::FileInfo info = enumerator.GetInfo(); + target_container->emplace_back(path.value() + info.GetName().value()); + } ++#endif + } + + std::string GetDeviceModelId(const std::string& device_id) override { ++#if defined(OS_OPENBSD) ++ return std::string(); ++#endif + const std::string file_name = ExtractFileNameFromDeviceId(device_id); + std::string usb_id; + const std::string vid_path = +@@ -99,6 +106,9 @@ class DevVideoFilePathsDeviceProvider + } + + std::string GetDeviceDisplayName(const std::string& device_id) override { ++#if defined(OS_OPENBSD) ++ return std::string(); ++#endif + const std::string file_name = ExtractFileNameFromDeviceId(device_id); + const std::string interface_path = + base::StringPrintf(kInterfacePathTemplate, file_name.c_str()); +@@ -213,7 +223,7 @@ void VideoCaptureDeviceFactoryLinux::GetDevicesInfo( + std::move(callback).Run(std::move(devices_info)); + } + +-int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, int request, void* argp) { ++int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, unsigned int request, void* argp) { + return HANDLE_EINTR(v4l2_->ioctl(fd, request, argp)); + } + diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h b/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h new file mode 100644 index 000000000000..b89c7e3b8e8c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h @@ -0,0 +1,11 @@ +--- media/capture/video/linux/video_capture_device_factory_linux.h.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/linux/video_capture_device_factory_linux.h +@@ -52,7 +52,7 @@ class CAPTURE_EXPORT VideoCaptureDeviceFactoryLinux + + private: + // Simple wrapper to do HANDLE_EINTR(v4l2_->ioctl(fd, ...)). +- int DoIoctl(int fd, int request, void* argp); ++ int DoIoctl(int fd, unsigned int request, void* argp); + + VideoCaptureControlSupport GetControlSupport(int fd); + bool GetControlSupport(int fd, int control_id); diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc b/www/ungoogled-chromium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc new file mode 100644 index 000000000000..06bb6a22520a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc @@ -0,0 +1,11 @@ +--- media/capture/video/video_capture_buffer_pool_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/video_capture_buffer_pool_impl.cc +@@ -74,7 +74,7 @@ VideoCaptureBufferPoolImpl::CreateSharedMemoryViaRawFi + int buffer_id) { + // This requires platforms where base::SharedMemoryHandle is backed by a + // file descriptor. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::AutoLock lock(lock_); + + VideoCaptureBufferTracker* tracker = GetTracker(buffer_id); diff --git a/www/ungoogled-chromium/files/patch-media_capture_video_video__capture__device__client.cc b/www/ungoogled-chromium/files/patch-media_capture_video_video__capture__device__client.cc new file mode 100644 index 000000000000..fa4114a1c35a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_capture_video_video__capture__device__client.cc @@ -0,0 +1,11 @@ +--- media/capture/video/video_capture_device_client.cc.orig 2022-10-01 07:40:07 UTC ++++ media/capture/video/video_capture_device_client.cc +@@ -317,7 +317,7 @@ void VideoCaptureDeviceClient::OnIncomingCapturedData( + // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html. + // Windows RGB24 defines blue at lowest byte, + // see https://msdn.m1cr050ft.qjz9zk/en-us/library/windows/desktop/dd407253 +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + fourcc_format = libyuv::FOURCC_RAW; + #elif BUILDFLAG(IS_WIN) + fourcc_format = libyuv::FOURCC_24BG; diff --git a/www/ungoogled-chromium/files/patch-media_cdm_cdm__paths__unittest.cc b/www/ungoogled-chromium/files/patch-media_cdm_cdm__paths__unittest.cc new file mode 100644 index 000000000000..b27e9566658e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_cdm_cdm__paths__unittest.cc @@ -0,0 +1,11 @@ +--- media/cdm/cdm_paths_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ media/cdm/cdm_paths_unittest.cc +@@ -27,7 +27,7 @@ const char kComponentPlatform[] = + "win"; + #elif BUILDFLAG(IS_CHROMEOS) + "cros"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + "linux"; + #else + #error unsupported platform diff --git a/www/ungoogled-chromium/files/patch-media_gpu_buffer__validation.cc b/www/ungoogled-chromium/files/patch-media_gpu_buffer__validation.cc new file mode 100644 index 000000000000..19eacc9fd1bd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_gpu_buffer__validation.cc @@ -0,0 +1,29 @@ +--- media/gpu/buffer_validation.cc.orig 2022-10-01 07:40:07 UTC ++++ media/gpu/buffer_validation.cc +@@ -15,7 +15,7 @@ + #include "ui/gfx/geometry/size.h" + #include "ui/gfx/gpu_memory_buffer.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <sys/types.h> + #include <unistd.h> + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -23,7 +23,7 @@ + namespace media { + + bool GetFileSize(const int fd, size_t* size) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (fd < 0) { + VLOG(1) << "Invalid file descriptor"; + return false; +@@ -73,7 +73,7 @@ bool VerifyGpuMemoryBufferHandle( + VLOG(1) << "Unsupported: " << pixel_format; + return false; + } +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const size_t num_planes = media::VideoFrame::NumPlanes(pixel_format); + if (num_planes != gmb_handle.native_pixmap_handle.planes.size() || + num_planes == 0) { diff --git a/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc new file mode 100644 index 000000000000..d9abc650f2df --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc @@ -0,0 +1,20 @@ +--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2022-10-01 07:40:07 UTC ++++ media/gpu/chromeos/video_decoder_pipeline.cc +@@ -747,7 +747,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( + } + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Linux should always use a custom allocator (to allocate buffers using + // libva) and a PlatformVideoFramePool. + CHECK(allocator.has_value()); +@@ -769,7 +769,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( + #error "Unsupported platform" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // viable_candidate should always be set unless using L1 protected content, + // which isn't an option on linux. + CHECK(viable_candidate); diff --git a/www/ungoogled-chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc b/www/ungoogled-chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc new file mode 100644 index 000000000000..ce63ff8b9c55 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc @@ -0,0 +1,11 @@ +--- media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ media/gpu/gpu_video_encode_accelerator_factory.cc +@@ -111,7 +111,7 @@ std::vector<VEAFactoryFunction> GetVEAFactoryFunctions + return vea_factory_functions; + + #if BUILDFLAG(USE_VAAPI) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(kVaapiVideoEncodeLinux)) + vea_factory_functions.push_back(base::BindRepeating(&CreateVaapiVEA)); + #else diff --git a/www/ungoogled-chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc new file mode 100644 index 000000000000..e7aa8ed39206 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc @@ -0,0 +1,26 @@ +--- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc +@@ -14,12 +14,15 @@ + #include "media/gpu/vaapi/vaapi_wrapper.h" + #endif + ++#if !BUILDFLAG(IS_BSD) + using sandbox::syscall_broker::BrokerFilePermission; ++#endif + + namespace media { + + bool HardwareVideoDecodingPreSandboxHook( + sandbox::policy::SandboxLinux::Options options) { ++#if !BUILDFLAG(IS_BSD) + sandbox::syscall_broker::BrokerCommandSet command_set; + std::vector<BrokerFilePermission> permissions; + +@@ -121,6 +124,7 @@ bool HardwareVideoDecodingPreSandboxHook( + dlopen("/usr/lib/libv4l2.so", RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE); + #endif // defined(__aarch64__) + #endif // BUILDFLAG(USE_VAAPI) ++#endif + + return true; + } diff --git a/www/ungoogled-chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h b/www/ungoogled-chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h new file mode 100644 index 000000000000..6e96950da798 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h @@ -0,0 +1,16 @@ +--- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h.orig 2022-10-01 07:40:07 UTC ++++ media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h +@@ -5,7 +5,13 @@ + #ifndef MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_DECODING_SANDBOX_HOOK_LINUX_H_ + #define MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_DECODING_SANDBOX_HOOK_LINUX_H_ + ++#include "build/build_config.h" ++ ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace media { + diff --git a/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc b/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc new file mode 100644 index 000000000000..68a87a544666 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc @@ -0,0 +1,11 @@ +--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2022-10-01 07:40:07 UTC ++++ media/gpu/vaapi/vaapi_video_decoder.cc +@@ -767,7 +767,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree + const gfx::Size decoder_natural_size = + aspect_ratio_.GetNaturalSize(decoder_visible_rect); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + absl::optional<DmabufVideoFramePool::CreateFrameCB> allocator = + base::BindRepeating(&AllocateCustomFrameProxy, weak_this_); + std::vector<ImageProcessor::PixelLayoutCandidate> candidates = { diff --git a/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc b/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc new file mode 100644 index 000000000000..6232b51e2d2b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc @@ -0,0 +1,11 @@ +--- media/gpu/vaapi/vaapi_wrapper.cc.orig 2022-10-01 07:40:07 UTC ++++ media/gpu/vaapi/vaapi_wrapper.cc +@@ -742,7 +742,7 @@ VADisplayState::VADisplayState() + bool VADisplayState::Initialize() { + base::AutoLock auto_lock(va_lock_); + +-#if defined(USE_OZONE) && BUILDFLAG(IS_LINUX) ++#if defined(USE_OZONE) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on + // Linux. See comment in OzonePlatform::PlatformProperties::supports_vaapi + // for more details. This will also require revisiting everything that's diff --git a/www/ungoogled-chromium/files/patch-media_media__options.gni b/www/ungoogled-chromium/files/patch-media_media__options.gni new file mode 100644 index 000000000000..4fb276121820 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_media__options.gni @@ -0,0 +1,30 @@ +--- media/media_options.gni.orig 2022-10-01 07:40:07 UTC ++++ media/media_options.gni +@@ -165,12 +165,15 @@ declare_args() { + # Enables runtime selection of ALSA library for audio. + use_alsa = false + ++ # Enable runtime selection of sndio(7) ++ use_sndio = false ++ + # Alsa should be used on all non-Android, non-Mac POSIX systems - with the + # exception of CastOS desktop builds. + # + # TODO(crbug.com/1336055): Remove legacy target_cpu hack used for targeting + # desktop Chromecast builds. +- if (is_posix && !is_android && !is_mac && ++ if (is_posix && !is_android && !is_mac && !is_bsd && + (!is_castos || (target_cpu == "x86" || target_cpu == "x64") || + is_cast_audio_only)) { + use_alsa = true +@@ -186,6 +189,10 @@ declare_args() { + if (!use_cras && !is_castos && !is_asan && !is_tsan) { + use_pulseaudio = true + } ++ } ++ if (is_openbsd) { ++ use_sndio = true ++ use_pulseaudio = false + } + } + diff --git a/www/ungoogled-chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc b/www/ungoogled-chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc new file mode 100644 index 000000000000..5013db739200 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc @@ -0,0 +1,29 @@ +--- media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc.orig 2022-10-01 07:40:07 UTC ++++ media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc +@@ -42,7 +42,7 @@ media::stable::mojom::VideoFrameDataPtr MakeVideoFrame + gfx::GpuMemoryBufferHandle gpu_memory_buffer_handle = + input->GetGpuMemoryBuffer()->CloneHandle(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + CHECK_EQ(gpu_memory_buffer_handle.type, gfx::NATIVE_PIXMAP); + CHECK(!gpu_memory_buffer_handle.native_pixmap_handle.planes.empty()); + #else +@@ -749,7 +749,7 @@ const gfx::GpuMemoryBufferId& StructTraits< + return input.id; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // static + gfx::NativePixmapHandle StructTraits< + media::stable::mojom::NativeGpuMemoryBufferHandleDataView, +@@ -770,7 +770,7 @@ bool StructTraits<media::stable::mojom::NativeGpuMemor + + output->type = gfx::NATIVE_PIXMAP; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (!data.ReadPlatformHandle(&output->native_pixmap_handle)) + return false; + return true; diff --git a/www/ungoogled-chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h b/www/ungoogled-chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h new file mode 100644 index 000000000000..45d6aaba4cf5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h @@ -0,0 +1,11 @@ +--- media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h.orig 2022-10-01 07:40:07 UTC ++++ media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.h +@@ -695,7 +695,7 @@ struct StructTraits<media::stable::mojom::NativeGpuMem + static const gfx::GpuMemoryBufferId& id( + const gfx::GpuMemoryBufferHandle& input); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static gfx::NativePixmapHandle platform_handle( + gfx::GpuMemoryBufferHandle& input); + #else diff --git a/www/ungoogled-chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/www/ungoogled-chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc new file mode 100644 index 000000000000..e6f9c09e78c9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc @@ -0,0 +1,11 @@ +--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2022-10-01 07:40:07 UTC ++++ media/mojo/mojom/video_frame_mojom_traits.cc +@@ -23,7 +23,7 @@ + #include "ui/gfx/mojom/color_space_mojom_traits.h" + #include "ui/gfx/mojom/hdr_metadata_mojom_traits.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/posix/eintr_wrapper.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + diff --git a/www/ungoogled-chromium/files/patch-media_video_fake__gpu__memory__buffer.cc b/www/ungoogled-chromium/files/patch-media_video_fake__gpu__memory__buffer.cc new file mode 100644 index 000000000000..0520a8fd4ee9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_video_fake__gpu__memory__buffer.cc @@ -0,0 +1,38 @@ +--- media/video/fake_gpu_memory_buffer.cc.orig 2022-10-01 07:40:07 UTC ++++ media/video/fake_gpu_memory_buffer.cc +@@ -9,7 +9,7 @@ + #include "media/base/format_utils.h" + #include "media/base/video_frame.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <fcntl.h> + #include <sys/stat.h> + #include <sys/types.h> +@@ -47,7 +47,7 @@ class FakeGpuMemoryBufferImpl : public gpu::GpuMemoryB + + } // namespace + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::ScopedFD GetDummyFD() { + base::ScopedFD fd(open("/dev/zero", O_RDWR)); + DCHECK(fd.is_valid()); +@@ -77,7 +77,7 @@ FakeGpuMemoryBuffer::FakeGpuMemoryBuffer(const gfx::Si + static base::AtomicSequenceNumber buffer_id_generator; + handle_.id = gfx::GpuMemoryBufferId(buffer_id_generator.GetNext()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + for (size_t i = 0; i < VideoFrame::NumPlanes(video_pixel_format_); i++) { + const gfx::Size plane_size_in_bytes = + VideoFrame::PlaneSize(video_pixel_format_, i, size_); +@@ -134,7 +134,7 @@ gfx::GpuMemoryBufferHandle FakeGpuMemoryBuffer::CloneH + gfx::GpuMemoryBufferHandle handle; + handle.type = gfx::NATIVE_PIXMAP; + handle.id = handle_.id; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + handle.native_pixmap_handle = + gfx::CloneHandleForIPC(handle_.native_pixmap_handle); + #endif diff --git a/www/ungoogled-chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/www/ungoogled-chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc new file mode 100644 index 000000000000..46f25b2a92bb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc @@ -0,0 +1,29 @@ +--- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2022-10-01 07:40:07 UTC ++++ media/video/gpu_memory_buffer_video_frame_pool.cc +@@ -797,7 +797,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa + } + + bool is_software_backed_video_frame = !video_frame->HasTextures(); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + is_software_backed_video_frame &= !video_frame->HasDmaBufs(); + #endif + +@@ -1223,7 +1223,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo + frame_resources->plane_resources[gpu_memory_buffer_plane] + .gpu_memory_buffer.get(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + is_webgpu_compatible &= (gpu_memory_buffer != nullptr); + if (is_webgpu_compatible) { + is_webgpu_compatible &= +@@ -1243,7 +1243,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo + gpu::SHARED_IMAGE_USAGE_GLES2 | gpu::SHARED_IMAGE_USAGE_RASTER | + gpu::SHARED_IMAGE_USAGE_DISPLAY | gpu::SHARED_IMAGE_USAGE_SCANOUT; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/1241537): Always add the flag once the + // OzoneImageBacking is by default turned on. + if (base::CommandLine::ForCurrentProcess()->HasSwitch( diff --git a/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc b/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc new file mode 100644 index 000000000000..0f2657e190b7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter.cc @@ -0,0 +1,20 @@ +--- media/video/video_encode_accelerator_adapter.cc.orig 2022-10-01 07:40:07 UTC ++++ media/video/video_encode_accelerator_adapter.cc +@@ -129,7 +129,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig( + if (is_rgb) + config.input_format = PIXEL_FORMAT_I420; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (storage_type == VideoFrame::STORAGE_DMABUFS || + storage_type == VideoFrame::STORAGE_GPU_MEMORY_BUFFER) { + if (is_rgb) +@@ -298,7 +298,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal + SetUpVeaConfig(profile_, options_, format, first_frame->storage_type(), + supported_rc_modes_); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Linux/ChromeOS require a special configuration to use dmabuf storage. + // We need to keep sending frames the same way the first frame was sent. + // Other platforms will happily mix GpuMemoryBuffer storage with regular diff --git a/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc b/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc new file mode 100644 index 000000000000..846fb2da92d2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc @@ -0,0 +1,11 @@ +--- media/video/video_encode_accelerator_adapter_test.cc.orig 2022-10-01 07:40:07 UTC ++++ media/video/video_encode_accelerator_adapter_test.cc +@@ -395,7 +395,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes + + vea()->SetEncodingCallback(base::BindLambdaForTesting( + [&](BitstreamBuffer&, bool keyframe, scoped_refptr<VideoFrame> frame) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + EXPECT_EQ(frame->format(), + IsYuvPlanar(pixel_format) ? pixel_format : PIXEL_FORMAT_I420); + #else diff --git a/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc b/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc new file mode 100644 index 000000000000..0f9e916a3155 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_webrtc_audio__processor.cc @@ -0,0 +1,11 @@ +--- media/webrtc/audio_processor.cc.orig 2022-10-01 07:40:07 UTC ++++ media/webrtc/audio_processor.cc +@@ -473,7 +473,7 @@ absl::optional<double> AudioProcessor::ProcessData( + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + DCHECK_LE(volume, 1.0); + #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ +- BUILDFLAG(IS_OPENBSD) ++ BUILDFLAG(IS_BSD) + // We have a special situation on Linux where the microphone volume can be + // "higher than maximum". The input volume slider in the sound preference + // allows the user to set a scaling that is higher than 100%. It means that diff --git a/www/ungoogled-chromium/files/patch-media_webrtc_helpers__unittests.cc b/www/ungoogled-chromium/files/patch-media_webrtc_helpers__unittests.cc new file mode 100644 index 000000000000..ac532ae66749 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_webrtc_helpers__unittests.cc @@ -0,0 +1,20 @@ +--- media/webrtc/helpers_unittests.cc.orig 2022-10-01 07:40:07 UTC ++++ media/webrtc/helpers_unittests.cc +@@ -36,7 +36,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, CheckDefau + EXPECT_FALSE(config.pre_amplifier.enabled); + EXPECT_TRUE(config.echo_canceller.enabled); + EXPECT_TRUE(config.gain_controller1.enabled); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + EXPECT_TRUE(config.gain_controller2.enabled); + #else + EXPECT_FALSE(config.gain_controller2.enabled); +@@ -98,7 +98,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, CheckDefau + + // Check that either AGC1 digital or AGC2 digital is used based on the + // platforms where the Hybrid AGC is enabled by default. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + EXPECT_FALSE(agc1_analog_config.enable_digital_adaptive); + EXPECT_TRUE(config.gain_controller2.enabled); + EXPECT_TRUE(config.gain_controller2.adaptive_digital.enabled); diff --git a/www/ungoogled-chromium/files/patch-media_webrtc_webrtc__features.cc b/www/ungoogled-chromium/files/patch-media_webrtc_webrtc__features.cc new file mode 100644 index 000000000000..20ccb593cb42 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-media_webrtc_webrtc__features.cc @@ -0,0 +1,20 @@ +--- media/webrtc/webrtc_features.cc.orig 2022-10-01 07:40:07 UTC ++++ media/webrtc/webrtc_features.cc +@@ -9,7 +9,7 @@ + + namespace features { + namespace { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr base::FeatureState kWebRtcHybridAgcState = + base::FEATURE_ENABLED_BY_DEFAULT; + #else +@@ -19,7 +19,7 @@ constexpr base::FeatureState kWebRtcHybridAgcState = + } // namespace + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + constexpr base::FeatureState kWebRtcAnalogAgcClippingControlState = + base::FEATURE_ENABLED_BY_DEFAULT; + #else diff --git a/www/ungoogled-chromium/files/patch-mojo_core_BUILD.gn b/www/ungoogled-chromium/files/patch-mojo_core_BUILD.gn new file mode 100644 index 000000000000..ae1916f3f4e2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-mojo_core_BUILD.gn @@ -0,0 +1,11 @@ +--- mojo/core/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ mojo/core/BUILD.gn +@@ -146,7 +146,7 @@ template("core_impl_source_set") { + ] + } + +- if ((is_linux || is_chromeos || is_android) && !is_nacl) { ++ if ((is_linux || is_chromeos || is_android) && !is_nacl && !is_bsd) { + sources += [ + "channel_linux.cc", + "channel_linux.h", diff --git a/www/ungoogled-chromium/files/patch-mojo_core_channel.cc b/www/ungoogled-chromium/files/patch-mojo_core_channel.cc new file mode 100644 index 000000000000..696121b5f147 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-mojo_core_channel.cc @@ -0,0 +1,14 @@ +--- mojo/core/channel.cc.orig 2022-10-01 07:40:07 UTC ++++ mojo/core/channel.cc +@@ -71,7 +71,11 @@ const size_t kMaxUnusedReadBufferCapacity = 4096; + // Fuchsia: The zx_channel_write() API supports up to 64 handles. + const size_t kMaxAttachedHandles = 64; + ++#if defined(__i386__) && defined(OS_FREEBSD) ++const size_t kChannelMessageAlignment = 4; ++#else + static_assert(alignof(std::max_align_t) >= kChannelMessageAlignment, ""); ++#endif + Channel::AlignedBuffer MakeAlignedBuffer(size_t size) { + // Generic allocators (such as malloc) return a pointer that is suitably + // aligned for storing any type of object with a fundamental alignment diff --git a/www/ungoogled-chromium/files/patch-mojo_core_embedder_features.h b/www/ungoogled-chromium/files/patch-mojo_core_embedder_features.h new file mode 100644 index 000000000000..914a9f7c4f7c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-mojo_core_embedder_features.h @@ -0,0 +1,11 @@ +--- mojo/core/embedder/features.h.orig 2022-10-01 07:40:07 UTC ++++ mojo/core/embedder/features.h +@@ -14,7 +14,7 @@ namespace mojo { + namespace core { + + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_MAC) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(MOJO_CORE_EMBEDDER_FEATURES) + extern const base::Feature kMojoLinuxChannelSharedMem; + diff --git a/www/ungoogled-chromium/files/patch-mojo_public_c_system_thunks.cc b/www/ungoogled-chromium/files/patch-mojo_public_c_system_thunks.cc new file mode 100644 index 000000000000..2287a8ddb7cd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-mojo_public_c_system_thunks.cc @@ -0,0 +1,38 @@ +--- mojo/public/c/system/thunks.cc.orig 2022-10-01 07:40:07 UTC ++++ mojo/public/c/system/thunks.cc +@@ -24,7 +24,7 @@ + #include "mojo/public/c/system/message_pipe.h" + + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "base/environment.h" + #include "base/files/file_path.h" + #include "base/scoped_native_library.h" +@@ -73,7 +73,7 @@ class CoreLibraryInitializer { + + MojoResult LoadLibrary(base::FilePath library_path) { + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + if (library_ && library_->is_valid()) + return MOJO_RESULT_OK; + +@@ -87,7 +87,7 @@ class CoreLibraryInitializer { + + if (library_path.empty()) { + // Default to looking for the library in the current working directory. +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const base::FilePath::CharType kDefaultLibraryPathValue[] = + FILE_PATH_LITERAL("./libmojo_core.so"); + #elif BUILDFLAG(IS_FUCHSIA) +@@ -143,7 +143,7 @@ class CoreLibraryInitializer { + + private: + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + absl::optional<base::ScopedNativeLibrary> library_; + #endif + }; diff --git a/www/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni b/www/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni new file mode 100644 index 000000000000..38128df65aa7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-mojo_public_tools_bindings_mojom.gni @@ -0,0 +1,19 @@ +--- mojo/public/tools/bindings/mojom.gni.orig 2022-10-01 07:40:07 UTC ++++ mojo/public/tools/bindings/mojom.gni +@@ -694,6 +694,16 @@ template("mojom") { + enabled_features += [ "is_win" ] + } + ++ if (is_openbsd) { ++ enabled_features += [ "is_openbsd" ] ++ enabled_features += [ "is_bsd" ] ++ } ++ ++ if (is_freebsd) { ++ enabled_features += [ "is_freebsd" ] ++ enabled_features += [ "is_bsd" ] ++ } ++ + action(parser_target_name) { + script = mojom_parser_script + inputs = mojom_parser_sources + [ build_metadata_filename ] diff --git a/www/ungoogled-chromium/files/patch-net_BUILD.gn b/www/ungoogled-chromium/files/patch-net_BUILD.gn new file mode 100644 index 000000000000..4d59bd27c5a3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_BUILD.gn @@ -0,0 +1,83 @@ +--- net/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ net/BUILD.gn +@@ -104,7 +104,7 @@ net_configs = [ + "//build/config/compiler:wexit_time_destructors", + ] + +-if (is_linux || is_chromeos) { ++if ((is_linux || is_chromeos) && !is_bsd) { + net_configs += [ "//build/config/linux:libresolv" ] + } + +@@ -1200,6 +1200,15 @@ component("net") { + ] + } + ++ if (is_bsd) { ++ sources -= [ ++ "base/address_tracker_linux.cc", ++ "base/address_tracker_linux.h", ++ "base/network_change_notifier_linux.cc", ++ "base/network_interfaces_linux.cc", ++ ] ++ } ++ + if (is_mac) { + sources += [ + "base/network_notification_thread_mac.cc", +@@ -1332,7 +1341,7 @@ component("net") { + } + } + +- if (is_android || is_chromeos) { ++ if (is_android || is_chromeos || is_bsd) { + sources += [ + "base/network_change_notifier_posix.cc", + "base/network_change_notifier_posix.h", +@@ -1365,7 +1374,7 @@ component("net") { + } + + # Use getifaddrs() on POSIX platforms, except Linux. +- if (is_posix && !is_linux && !is_chromeos) { ++ if ((is_posix && !is_linux && !is_chromeos) || is_bsd) { + sources += [ + "base/network_interfaces_getifaddrs.cc", + "base/network_interfaces_getifaddrs.h", +@@ -4370,7 +4379,7 @@ test("net_unittests") { + ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ + "base/address_tracker_linux_unittest.cc", + "base/network_interfaces_linux_unittest.cc", +@@ -4445,6 +4454,10 @@ test("net_unittests") { + "//url:buildflags", + ] + ++ if (is_bsd) { ++ deps += [ "//sandbox/policy" ] ++ } ++ + if (enable_websockets) { + deps += [ "//net/server:tests" ] + } +@@ -4512,7 +4525,7 @@ test("net_unittests") { + ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ "tools/quic/quic_simple_server_test.cc" ] + } + +@@ -4653,7 +4666,7 @@ test("net_unittests") { + } + + # Use getifaddrs() on POSIX platforms, except Linux. +- if (is_posix && !is_linux && !is_chromeos) { ++ if (is_posix && !is_linux && !is_chromeos && !is_bsd) { + sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ] + } + diff --git a/www/ungoogled-chromium/files/patch-net_base_network__change__notifier.cc b/www/ungoogled-chromium/files/patch-net_base_network__change__notifier.cc new file mode 100644 index 000000000000..4424611e2e48 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_base_network__change__notifier.cc @@ -0,0 +1,21 @@ +--- net/base/network_change_notifier.cc.orig 2022-10-01 07:40:07 UTC ++++ net/base/network_change_notifier.cc +@@ -37,7 +37,7 @@ + #include "net/base/network_change_notifier_linux.h" + #elif BUILDFLAG(IS_APPLE) + #include "net/base/network_change_notifier_mac.h" +-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "net/base/network_change_notifier_posix.h" + #elif BUILDFLAG(IS_FUCHSIA) + #include "net/base/network_change_notifier_fuchsia.h" +@@ -326,6 +326,9 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo + #elif BUILDFLAG(IS_FUCHSIA) + return std::make_unique<NetworkChangeNotifierFuchsia>( + /*require_wlan=*/false); ++#elif BUILDFLAG(IS_BSD) ++ return std::make_unique<MockNetworkChangeNotifier>( ++ /*dns_config_notifier*/nullptr); + #else + NOTIMPLEMENTED(); + return nullptr; diff --git a/www/ungoogled-chromium/files/patch-net_base_network__change__notifier__posix.cc b/www/ungoogled-chromium/files/patch-net_base_network__change__notifier__posix.cc new file mode 100644 index 000000000000..6ed45e6e4b07 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_base_network__change__notifier__posix.cc @@ -0,0 +1,11 @@ +--- net/base/network_change_notifier_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ net/base/network_change_notifier_posix.cc +@@ -92,7 +92,7 @@ void NetworkChangeNotifierPosix::GetCurrentMaxBandwidt + NetworkChangeNotifier::NetworkChangeCalculatorParams + NetworkChangeNotifierPosix::NetworkChangeCalculatorParamsPosix() { + NetworkChangeCalculatorParams params; +-#if BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Delay values arrived at by simple experimentation and adjusted so as to + // produce a single signal when switching between network connections. + params.ip_address_offline_delay_ = base::Milliseconds(4000); diff --git a/www/ungoogled-chromium/files/patch-net_base_network__interfaces__posix.h b/www/ungoogled-chromium/files/patch-net_base_network__interfaces__posix.h new file mode 100644 index 000000000000..221f4cdb2dcb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_base_network__interfaces__posix.h @@ -0,0 +1,11 @@ +--- net/base/network_interfaces_posix.h.orig 2022-10-01 07:40:07 UTC ++++ net/base/network_interfaces_posix.h +@@ -8,6 +8,8 @@ + // This file provides some basic functionality shared between + // network_interfaces_linux.cc and network_interfaces_getifaddrs.cc. + ++#include <sys/socket.h> ++ + #include <string> + + struct sockaddr; diff --git a/www/ungoogled-chromium/files/patch-net_base_sockaddr__util__posix.cc b/www/ungoogled-chromium/files/patch-net_base_sockaddr__util__posix.cc new file mode 100644 index 000000000000..653a82d33d4c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_base_sockaddr__util__posix.cc @@ -0,0 +1,12 @@ +--- net/base/sockaddr_util_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ net/base/sockaddr_util_posix.cc +@@ -41,7 +41,8 @@ bool FillUnixAddress(const std::string& socket_path, + return true; + } + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ++ // XXX ? + // Convert the path given into abstract socket name. It must start with + // the '\0' character, so we are adding it. |addr_len| must specify the + // length of the structure exactly, as potentially the socket name may diff --git a/www/ungoogled-chromium/files/patch-net_base_sockaddr__util__posix__unittest.cc b/www/ungoogled-chromium/files/patch-net_base_sockaddr__util__posix__unittest.cc new file mode 100644 index 000000000000..abcd79468ba3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_base_sockaddr__util__posix__unittest.cc @@ -0,0 +1,12 @@ +--- net/base/sockaddr_util_posix_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ net/base/sockaddr_util_posix_unittest.cc +@@ -83,7 +83,8 @@ TEST(FillUnixAddressTest, AbstractLinuxAddress) { + size_t path_max = MaxPathLength(&storage); + std::string path(path_max, '0'); + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ++ // XXX? + EXPECT_TRUE(FillUnixAddress(path, /*use_abstract_namespace=*/true, &storage)); + + EXPECT_EQ(path.size() + 1U + offsetof(struct sockaddr_un, sun_path), diff --git a/www/ungoogled-chromium/files/patch-net_cert_cert__verifier.cc b/www/ungoogled-chromium/files/patch-net_cert_cert__verifier.cc new file mode 100644 index 000000000000..134b44902034 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_cert_cert__verifier.cc @@ -0,0 +1,11 @@ +--- net/cert/cert_verifier.cc.orig 2022-10-01 07:40:07 UTC ++++ net/cert/cert_verifier.cc +@@ -78,7 +78,7 @@ bool CertVerifier::RequestParams::operator<( + std::unique_ptr<CertVerifier> CertVerifier::CreateDefaultWithoutCaching( + scoped_refptr<CertNetFetcher> cert_net_fetcher) { + scoped_refptr<CertVerifyProc> verify_proc; +-#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + verify_proc = + CertVerifyProc::CreateBuiltinVerifyProc(std::move(cert_net_fetcher)); + #elif BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) diff --git a/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc.cc b/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc.cc new file mode 100644 index 000000000000..297f74106bdf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc.cc @@ -0,0 +1,11 @@ +--- net/cert/cert_verify_proc.cc.orig 2022-10-01 07:40:07 UTC ++++ net/cert/cert_verify_proc.cc +@@ -510,7 +510,7 @@ base::Value CertVerifyParams(X509Certificate* cert, + + } // namespace + +-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + // static + scoped_refptr<CertVerifyProc> CertVerifyProc::CreateSystemVerifyProc( + scoped_refptr<CertNetFetcher> cert_net_fetcher) { diff --git a/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc.h b/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc.h new file mode 100644 index 000000000000..7fabe13ad015 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc.h @@ -0,0 +1,11 @@ +--- net/cert/cert_verify_proc.h.orig 2022-10-01 07:40:07 UTC ++++ net/cert/cert_verify_proc.h +@@ -80,7 +80,7 @@ class NET_EXPORT CertVerifyProc + kMaxValue = kOther + }; + +-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + // Creates and returns a CertVerifyProc that uses the system verifier. + // |cert_net_fetcher| may not be used, depending on the implementation. + static scoped_refptr<CertVerifyProc> CreateSystemVerifyProc( diff --git a/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc__unittest.cc b/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc__unittest.cc new file mode 100644 index 000000000000..d461a5e0cd58 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_cert_cert__verify__proc__unittest.cc @@ -0,0 +1,11 @@ +--- net/cert/cert_verify_proc_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ net/cert/cert_verify_proc_unittest.cc +@@ -239,7 +239,7 @@ const std::vector<CertVerifyProcType> kAllCertVerifier + #if BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED) + CERT_VERIFY_PROC_BUILTIN_CHROME_ROOTS + #endif +-#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + CERT_VERIFY_PROC_BUILTIN + #else + #error Unsupported platform diff --git a/www/ungoogled-chromium/files/patch-net_cert_test__root__certs__unittest.cc b/www/ungoogled-chromium/files/patch-net_cert_test__root__certs__unittest.cc new file mode 100644 index 000000000000..07df54067687 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_cert_test__root__certs__unittest.cc @@ -0,0 +1,11 @@ +--- net/cert/test_root_certs_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ net/cert/test_root_certs_unittest.cc +@@ -33,7 +33,7 @@ const char kRootCertificateFile[] = "root_ca_cert.pem" + const char kGoodCertificateFile[] = "ok_cert.pem"; + + scoped_refptr<CertVerifyProc> CreateCertVerifyProc() { +-#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return CertVerifyProc::CreateBuiltinVerifyProc(/*cert_net_fetcher=*/nullptr); + #elif BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) + if (base::FeatureList::IsEnabled(features::kCertVerifierBuiltinFeature)) { diff --git a/www/ungoogled-chromium/files/patch-net_disk__cache_blockfile_disk__format.h b/www/ungoogled-chromium/files/patch-net_disk__cache_blockfile_disk__format.h new file mode 100644 index 000000000000..99fe4a962729 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_disk__cache_blockfile_disk__format.h @@ -0,0 +1,12 @@ +--- net/disk_cache/blockfile/disk_format.h.orig 2022-10-01 07:40:07 UTC ++++ net/disk_cache/blockfile/disk_format.h +@@ -153,7 +153,9 @@ struct RankingsNode { + }; + #pragma pack(pop) + ++#if !defined(OS_BSD) + static_assert(sizeof(RankingsNode) == 36, "bad RankingsNode"); ++#endif + + } // namespace disk_cache + diff --git a/www/ungoogled-chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc b/www/ungoogled-chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc new file mode 100644 index 000000000000..eed8d4e3619a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc @@ -0,0 +1,20 @@ +--- net/disk_cache/simple/simple_file_tracker.cc.orig 2022-10-01 07:40:07 UTC ++++ net/disk_cache/simple/simple_file_tracker.cc +@@ -29,7 +29,17 @@ void RecordFileDescripterLimiterOp(FileDescriptorLimit + } // namespace + + SimpleFileTracker::SimpleFileTracker(int file_limit) ++#if defined(OS_OPENBSD) ++{ ++ // cap the file descriptor limit at 85% of the size of the ++ // file descriptor table and also substract the amount of ++ // currently used file descriptors as this should give us ++ // enough reserve to avoid hitting the limit ++ file_limit_ = (getdtablesize() * 0.85) - getdtablecount(); ++} ++#else + : file_limit_(file_limit) {} ++#endif + + SimpleFileTracker::~SimpleFileTracker() { + DCHECK(lru_.empty()); diff --git a/www/ungoogled-chromium/files/patch-net_dns_BUILD.gn b/www/ungoogled-chromium/files/patch-net_dns_BUILD.gn new file mode 100644 index 000000000000..d7d076e2632e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_BUILD.gn @@ -0,0 +1,31 @@ +--- net/dns/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ net/dns/BUILD.gn +@@ -113,7 +113,7 @@ source_set("dns") { + "dns_config_service_android.cc", + "dns_config_service_android.h", + ] +- } else if (is_linux) { ++ } else if (is_linux && !is_bsd) { + sources += [ + "dns_config_service_linux.cc", + "dns_config_service_linux.h", +@@ -154,6 +154,7 @@ source_set("dns") { + ":host_resolver_manager", + ":mdns_client", + "//net:net_public_deps", ++ "//printing/buildflags", + ] + + allow_circular_includes_from = [ +@@ -416,9 +417,9 @@ source_set("tests") { + + if (is_android) { + sources += [ "dns_config_service_android_unittest.cc" ] +- } else if (is_linux) { ++ } else if (is_linux && !is_bsd) { + sources += [ "dns_config_service_linux_unittest.cc" ] +- } else if (is_posix) { ++ } else if (is_posix && !is_bsd) { + sources += [ "dns_config_service_posix_unittest.cc" ] + } + diff --git a/www/ungoogled-chromium/files/patch-net_dns_address__sorter__posix.cc b/www/ungoogled-chromium/files/patch-net_dns_address__sorter__posix.cc new file mode 100644 index 000000000000..9b3d626f289c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_address__sorter__posix.cc @@ -0,0 +1,10 @@ +--- net/dns/address_sorter_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ net/dns/address_sorter_posix.cc +@@ -18,6 +18,7 @@ + #include <ifaddrs.h> + #include <net/if.h> + #include <netinet/in_var.h> ++#include <netinet6/in6_var.h> + #include <string.h> + #include <sys/ioctl.h> + #endif diff --git a/www/ungoogled-chromium/files/patch-net_dns_dns__config__service__posix.cc b/www/ungoogled-chromium/files/patch-net_dns_dns__config__service__posix.cc new file mode 100644 index 000000000000..61a45117ff31 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_dns__config__service__posix.cc @@ -0,0 +1,26 @@ +--- net/dns/dns_config_service_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ net/dns/dns_config_service_posix.cc +@@ -34,6 +34,11 @@ + #include "net/dns/dns_config_watcher_mac.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include "base/command_line.h" ++#include "sandbox/policy/switches.h" ++#endif ++ + namespace net { + + namespace internal { +@@ -130,6 +135,11 @@ class DnsConfigServicePosix::Watcher : public DnsConfi + + bool Watch() override { + CheckOnCorrectSequence(); ++ ++// pledge + unveil ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ if (!command_line->HasSwitch(sandbox::policy::switches::kNoSandbox)) ++ return false; + + bool success = true; + if (!config_watcher_.Watch(base::BindRepeating(&Watcher::OnConfigChanged, diff --git a/www/ungoogled-chromium/files/patch-net_dns_dns__reloader.cc b/www/ungoogled-chromium/files/patch-net_dns_dns__reloader.cc new file mode 100644 index 000000000000..2334b6920d52 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_dns__reloader.cc @@ -0,0 +1,18 @@ +--- net/dns/dns_reloader.cc.orig 2022-10-01 07:40:07 UTC ++++ net/dns/dns_reloader.cc +@@ -6,7 +6,7 @@ + + #include "build/build_config.h" + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) && \ ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) && \ + !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_FUCHSIA) + + #include <resolv.h> +@@ -113,5 +113,5 @@ void DnsReloaderMaybeReload() { + + } // namespace net + +-#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) ++#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) && + // && !BUILDFLAG(IS_ANDROID) diff --git a/www/ungoogled-chromium/files/patch-net_dns_dns__reloader.h b/www/ungoogled-chromium/files/patch-net_dns_dns__reloader.h new file mode 100644 index 000000000000..3fc028a40732 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_dns__reloader.h @@ -0,0 +1,11 @@ +--- net/dns/dns_reloader.h.orig 2022-10-01 07:40:07 UTC ++++ net/dns/dns_reloader.h +@@ -7,7 +7,7 @@ + + #include "build/build_config.h" + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + namespace net { + + // Call on the network thread before calling DnsReloaderMaybeReload() anywhere. diff --git a/www/ungoogled-chromium/files/patch-net_dns_dns__util.cc b/www/ungoogled-chromium/files/patch-net_dns_dns__util.cc new file mode 100644 index 000000000000..c92d3512138d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_dns__util.cc @@ -0,0 +1,11 @@ +--- net/dns/dns_util.cc.orig 2022-10-01 07:40:07 UTC ++++ net/dns/dns_util.cc +@@ -28,6 +28,8 @@ + #include "net/third_party/uri_template/uri_template.h" + #include "third_party/abseil-cpp/absl/types/optional.h" + ++#include <sys/socket.h> ++ + #if BUILDFLAG(IS_POSIX) + #include <netinet/in.h> + #include <net/if.h> diff --git a/www/ungoogled-chromium/files/patch-net_dns_host__resolver__manager.cc b/www/ungoogled-chromium/files/patch-net_dns_host__resolver__manager.cc new file mode 100644 index 000000000000..629a4d57d353 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_host__resolver__manager.cc @@ -0,0 +1,11 @@ +--- net/dns/host_resolver_manager.cc.orig 2022-10-01 07:40:07 UTC ++++ net/dns/host_resolver_manager.cc +@@ -3121,7 +3121,7 @@ HostResolverManager::HostResolverManager( + } + if (system_dns_config_notifier_) + system_dns_config_notifier_->AddObserver(this); +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_OPENBSD) && \ ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) && \ + !BUILDFLAG(IS_ANDROID) + EnsureDnsReloaderInit(); + #endif diff --git a/www/ungoogled-chromium/files/patch-net_dns_host__resolver__proc.cc b/www/ungoogled-chromium/files/patch-net_dns_host__resolver__proc.cc new file mode 100644 index 000000000000..90bce0f51678 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_host__resolver__proc.cc @@ -0,0 +1,22 @@ +--- net/dns/host_resolver_proc.cc.orig 2022-10-01 07:40:07 UTC ++++ net/dns/host_resolver_proc.cc +@@ -19,10 +19,6 @@ + #include "net/dns/dns_util.h" + #include "net/dns/host_resolver.h" + +-#if BUILDFLAG(IS_OPENBSD) +-#define AI_ADDRCONFIG 0 +-#endif +- + namespace net { + + HostResolverProc* HostResolverProc::default_proc_ = nullptr; +@@ -193,7 +189,7 @@ int SystemHostResolverCall(const std::string& host, + base::BlockingType::WILL_BLOCK); + + #if BUILDFLAG(IS_POSIX) && \ +- !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_ANDROID)) ++ !(BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_ANDROID)) + DnsReloaderMaybeReload(); + #endif + auto [ai, err, os_error] = AddressInfo::Get(host, hints, nullptr, network); diff --git a/www/ungoogled-chromium/files/patch-net_dns_public_BUILD.gn b/www/ungoogled-chromium/files/patch-net_dns_public_BUILD.gn new file mode 100644 index 000000000000..070062524d8d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_public_BUILD.gn @@ -0,0 +1,11 @@ +--- net/dns/public/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ net/dns/public/BUILD.gn +@@ -74,7 +74,7 @@ source_set("tests") { + "doh_provider_entry_unittest.cc", + ] + +- if (is_posix && !is_android) { ++ if (is_posix && !is_android && !is_bsd) { + sources += [ "resolv_reader_unittest.cc" ] + } + diff --git a/www/ungoogled-chromium/files/patch-net_dns_public_resolv__reader.h b/www/ungoogled-chromium/files/patch-net_dns_public_resolv__reader.h new file mode 100644 index 000000000000..d0d3fa635c54 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_public_resolv__reader.h @@ -0,0 +1,10 @@ +--- net/dns/public/resolv_reader.h.orig 2022-10-01 07:40:07 UTC ++++ net/dns/public/resolv_reader.h +@@ -5,6 +5,7 @@ + #ifndef NET_DNS_PUBLIC_RESOLV_READER_H_ + #define NET_DNS_PUBLIC_RESOLV_READER_H_ + ++#include <netinet/in.h> + #include <resolv.h> + + #include <memory> diff --git a/www/ungoogled-chromium/files/patch-net_dns_public_scoped__res__state.h b/www/ungoogled-chromium/files/patch-net_dns_public_scoped__res__state.h new file mode 100644 index 000000000000..ec7cb74a5095 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_dns_public_scoped__res__state.h @@ -0,0 +1,10 @@ +--- net/dns/public/scoped_res_state.h.orig 2022-10-01 07:40:07 UTC ++++ net/dns/public/scoped_res_state.h +@@ -5,6 +5,7 @@ + #ifndef NET_DNS_PUBLIC_SCOPED_RES_STATE_H_ + #define NET_DNS_PUBLIC_SCOPED_RES_STATE_H_ + ++#include <netinet/in.h> + #include <resolv.h> + + #include "build/build_config.h" diff --git a/www/ungoogled-chromium/files/patch-net_http_http__auth__gssapi__posix.cc b/www/ungoogled-chromium/files/patch-net_http_http__auth__gssapi__posix.cc new file mode 100644 index 000000000000..b459a051430f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_http_http__auth__gssapi__posix.cc @@ -0,0 +1,14 @@ +--- net/http/http_auth_gssapi_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ net/http/http_auth_gssapi_posix.cc +@@ -368,8 +368,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib + static const char* const kDefaultLibraryNames[] = { + #if BUILDFLAG(IS_APPLE) + "/System/Library/Frameworks/GSS.framework/GSS" +-#elif BUILDFLAG(IS_OPENBSD) +- "libgssapi.so" // Heimdal - OpenBSD ++#elif BUILDFLAG(IS_BSD) ++ "libgssapi_krb5.so.2", // MIT Kerberos - FreeBSD ++ "libgssapi.so" // Heimdal - OpenBSD, FreeBSD + #else + "libgssapi_krb5.so.2", // MIT Kerberos - FC, Suse10, Debian + "libgssapi.so.4", // Heimdal - Suse10, MDK diff --git a/www/ungoogled-chromium/files/patch-net_http_http__auth__gssapi__posix.h b/www/ungoogled-chromium/files/patch-net_http_http__auth__gssapi__posix.h new file mode 100644 index 000000000000..d4518d883aef --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_http_http__auth__gssapi__posix.h @@ -0,0 +1,12 @@ +--- net/http/http_auth_gssapi_posix.h.orig 2022-10-01 07:40:07 UTC ++++ net/http/http_auth_gssapi_posix.h +@@ -21,6 +21,9 @@ + #if BUILDFLAG(IS_APPLE) + #include <GSS/gssapi.h> + #elif BUILDFLAG(IS_FREEBSD) ++#ifndef GSS_C_DELEG_POLICY_FLAG ++#define GSS_C_DELEG_POLICY_FLAG 32768 ++#endif + #include <gssapi/gssapi.h> + #else + #include <gssapi.h> diff --git a/www/ungoogled-chromium/files/patch-net_http_http__network__session.cc b/www/ungoogled-chromium/files/patch-net_http_http__network__session.cc new file mode 100644 index 000000000000..ec5c2ad8e51c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_http_http__network__session.cc @@ -0,0 +1,12 @@ +--- net/http/http_network_session.cc.orig 2022-10-01 07:40:07 UTC ++++ net/http/http_network_session.cc +@@ -20,7 +20,9 @@ + #include "build/build_config.h" + #include "net/base/features.h" + #include "net/dns/host_resolver.h" ++#if defined(USE_KERBEROS) + #include "net/http/http_auth_handler_factory.h" ++#endif + #include "net/http/http_response_body_drainer.h" + #include "net/http/http_stream_factory.h" + #include "net/http/url_security_manager.h" diff --git a/www/ungoogled-chromium/files/patch-net_proxy__resolution_proxy__config__service.cc b/www/ungoogled-chromium/files/patch-net_proxy__resolution_proxy__config__service.cc new file mode 100644 index 000000000000..35e72db926fb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_proxy__resolution_proxy__config__service.cc @@ -0,0 +1,35 @@ +--- net/proxy_resolution/proxy_config_service.cc.orig 2022-10-01 07:40:07 UTC ++++ net/proxy_resolution/proxy_config_service.cc +@@ -18,20 +18,20 @@ + #include "net/proxy_resolution/proxy_config_service_ios.h" + #elif BUILDFLAG(IS_MAC) + #include "net/proxy_resolution/proxy_config_service_mac.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "net/proxy_resolution/proxy_config_service_linux.h" + #elif BUILDFLAG(IS_ANDROID) + #include "net/proxy_resolution/proxy_config_service_android.h" + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "net/traffic_annotation/network_traffic_annotation.h" + #endif + + namespace net { + + namespace { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation = + net::DefineNetworkTrafficAnnotation("proxy_config_system", R"( + semantics { +@@ -108,7 +108,7 @@ ProxyConfigService::CreateSystemProxyConfigService( + << "profile_io_data.cc::CreateProxyConfigService and this should " + << "be used only for examples."; + return std::make_unique<UnsetProxyConfigService>(); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<ProxyConfigServiceLinux> linux_config_service( + std::make_unique<ProxyConfigServiceLinux>()); + diff --git a/www/ungoogled-chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc b/www/ungoogled-chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc new file mode 100644 index 000000000000..3b8f24e8bb2b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc @@ -0,0 +1,40 @@ +--- net/proxy_resolution/proxy_config_service_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ net/proxy_resolution/proxy_config_service_linux.cc +@@ -6,7 +6,9 @@ + + #include <errno.h> + #include <limits.h> ++#if !defined(OS_BSD) + #include <sys/inotify.h> ++#endif + #include <unistd.h> + + #include <map> +@@ -502,6 +504,7 @@ bool SettingGetterImplGSettings::CheckVersion( + } + #endif // defined(USE_GIO) + ++#if !defined(OS_BSD) + // Converts |value| from a decimal string to an int. If there was a failure + // parsing, returns |default_value|. + int StringToIntOrDefault(base::StringPiece value, int default_value) { +@@ -1030,6 +1033,7 @@ class SettingGetterImplKDE : public ProxyConfigService + // events on. + scoped_refptr<base::SequencedTaskRunner> file_task_runner_; + }; ++#endif + + } // namespace + +@@ -1246,9 +1250,11 @@ ProxyConfigServiceLinux::Delegate::Delegate( + case base::nix::DESKTOP_ENVIRONMENT_KDE3: + case base::nix::DESKTOP_ENVIRONMENT_KDE4: + case base::nix::DESKTOP_ENVIRONMENT_KDE5: ++#if !defined(OS_BSD) + setting_getter_ = + std::make_unique<SettingGetterImplKDE>(env_var_getter_.get()); + break; ++#endif + case base::nix::DESKTOP_ENVIRONMENT_XFCE: + case base::nix::DESKTOP_ENVIRONMENT_OTHER: + break; diff --git a/www/ungoogled-chromium/files/patch-net_socket_socket__posix.cc b/www/ungoogled-chromium/files/patch-net_socket_socket__posix.cc new file mode 100644 index 000000000000..65c20f177574 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_socket_socket__posix.cc @@ -0,0 +1,11 @@ +--- net/socket/socket_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ net/socket/socket_posix.cc +@@ -516,7 +516,7 @@ void SocketPosix::ReadCompleted() { + } + + int SocketPosix::DoWrite(IOBuffer* buf, int buf_len) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Disable SIGPIPE for this write. Although Chromium globally disables + // SIGPIPE, the net stack may be used in other consumers which do not do + // this. MSG_NOSIGNAL is a Linux-only API. On OS X, this is a setsockopt on diff --git a/www/ungoogled-chromium/files/patch-net_socket_socks5__client__socket.cc b/www/ungoogled-chromium/files/patch-net_socket_socks5__client__socket.cc new file mode 100644 index 000000000000..587025991c66 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_socket_socks5__client__socket.cc @@ -0,0 +1,12 @@ +--- net/socket/socks5_client_socket.cc.orig 2022-10-01 07:40:07 UTC ++++ net/socket/socks5_client_socket.cc +@@ -19,6 +19,9 @@ + #include "net/log/net_log_event_type.h" + #include "net/traffic_annotation/network_traffic_annotation.h" + ++#include <sys/types.h> ++#include <netinet/in.h> ++ + namespace net { + + const unsigned int SOCKS5ClientSocket::kGreetReadHeaderSize = 2; diff --git a/www/ungoogled-chromium/files/patch-net_socket_tcp__socket__posix.cc b/www/ungoogled-chromium/files/patch-net_socket_tcp__socket__posix.cc new file mode 100644 index 000000000000..cf2bc7df9488 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_socket_tcp__socket__posix.cc @@ -0,0 +1,20 @@ +--- net/socket/tcp_socket_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ net/socket/tcp_socket_posix.cc +@@ -100,6 +100,17 @@ bool SetTCPKeepAlive(int fd, bool enable, int delay) { + PLOG(ERROR) << "Failed to set TCP_KEEPALIVE on fd: " << fd; + return false; + } ++#elif BUILDFLAG(IS_FREEBSD) ++ // Set seconds until first TCP keep alive. ++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &delay, sizeof(delay))) { ++ PLOG(ERROR) << "Failed to set TCP_KEEPIDLE on fd: " << fd; ++ return false; ++ } ++ // Set seconds between TCP keep alives. ++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &delay, sizeof(delay))) { ++ PLOG(ERROR) << "Failed to set TCP_KEEPINTVL on fd: " << fd; ++ return false; ++ } + #endif + } + diff --git a/www/ungoogled-chromium/files/patch-net_socket_udp__socket__posix.cc b/www/ungoogled-chromium/files/patch-net_socket_udp__socket__posix.cc new file mode 100644 index 000000000000..e70aa7e87625 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_socket_udp__socket__posix.cc @@ -0,0 +1,29 @@ +--- net/socket/udp_socket_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ net/socket/udp_socket_posix.cc +@@ -559,7 +559,7 @@ int UDPSocketPosix::SetDoNotFragment() { + } + + void UDPSocketPosix::SetMsgConfirm(bool confirm) { +-#if !BUILDFLAG(IS_APPLE) ++#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + if (confirm) { + sendto_flags_ |= MSG_CONFIRM; + } else { +@@ -580,7 +580,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) { + DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); + int value = broadcast ? 1 : 0; + int rv; +-#if BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + // SO_REUSEPORT on OSX permits multiple processes to each receive + // UDP multicast or broadcast datagrams destined for the bound + // port. +@@ -893,7 +893,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address) + #if BUILDFLAG(IS_CHROMEOS_ASH) + if (last_error == EINVAL) + return ERR_ADDRESS_IN_USE; +-#elif BUILDFLAG(IS_APPLE) ++#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + if (last_error == EADDRNOTAVAIL) + return ERR_ADDRESS_IN_USE; + #endif diff --git a/www/ungoogled-chromium/files/patch-net_socket_udp__socket__unittest.cc b/www/ungoogled-chromium/files/patch-net_socket_udp__socket__unittest.cc new file mode 100644 index 000000000000..bc48d5b169bc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_socket_udp__socket__unittest.cc @@ -0,0 +1,47 @@ +--- net/socket/udp_socket_unittest.cc.orig 2022-10-01 07:40:07 UTC ++++ net/socket/udp_socket_unittest.cc +@@ -328,7 +328,7 @@ TEST_F(UDPSocketTest, PartialRecv) { + EXPECT_EQ(second_packet, received); + } + +-#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // - MacOS: requires root permissions on OSX 10.7+. + // - Android: devices attached to testbots don't have default network, so + // broadcasting to 255.255.255.255 returns error -109 (Address not reachable). +@@ -588,7 +588,7 @@ TEST_F(UDPSocketTest, ClientSetDoNotFragment) { + EXPECT_THAT(rv, IsOk()); + + rv = client.SetDoNotFragment(); +-#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/945590): IP_MTU_DISCOVER is not implemented on Fuchsia. + EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED)); + #elif BUILDFLAG(IS_MAC) +@@ -616,7 +616,7 @@ TEST_F(UDPSocketTest, ServerSetDoNotFragment) { + EXPECT_THAT(rv, IsOk()); + + rv = server.SetDoNotFragment(); +-#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/945590): IP_MTU_DISCOVER is not implemented on Fuchsia. + EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED)); + #elif BUILDFLAG(IS_MAC) +@@ -681,7 +681,7 @@ TEST_F(UDPSocketTest, JoinMulticastGroup) { + + // TODO(https://crbug.com/947115): failing on device on iOS 12.2. + // TODO(https://crbug.com/1227554): flaky on Mac 11. +-#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #define MAYBE_SharedMulticastAddress DISABLED_SharedMulticastAddress + #else + #define MAYBE_SharedMulticastAddress SharedMulticastAddress +@@ -735,7 +735,7 @@ TEST_F(UDPSocketTest, MAYBE_SharedMulticastAddress) { + NetLogSource()); + ASSERT_THAT(client_socket.Connect(send_address), IsOk()); + +-#if !BUILDFLAG(IS_CHROMEOS_ASH) ++#if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_BSD) + // Send a message via the multicast group. That message is expected be be + // received by both receving sockets. + // diff --git a/www/ungoogled-chromium/files/patch-net_third__party_quiche_BUILD.gn b/www/ungoogled-chromium/files/patch-net_third__party_quiche_BUILD.gn new file mode 100644 index 000000000000..1c9880c17931 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_third__party_quiche_BUILD.gn @@ -0,0 +1,11 @@ +--- net/third_party/quiche/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ net/third_party/quiche/BUILD.gn +@@ -28,7 +28,7 @@ import("//build/config/chromeos/ui_mode.gni") + import("//testing/libfuzzer/fuzzer_test.gni") + import("//third_party/protobuf/proto_library.gni") + +-build_epoll_based_tools = is_linux || is_chromeos ++build_epoll_based_tools = (is_linux && !is_bsd) || is_chromeos + + config("quiche_internal_config") { + cflags = [] diff --git a/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__comparision__tool.cc b/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__comparision__tool.cc new file mode 100644 index 000000000000..b723e3281491 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__comparision__tool.cc @@ -0,0 +1,29 @@ +--- net/tools/cert_verify_tool/cert_verify_comparision_tool.cc.orig 2022-10-01 07:40:07 UTC ++++ net/tools/cert_verify_tool/cert_verify_comparision_tool.cc +@@ -35,7 +35,7 @@ + #include "net/url_request/url_request_context_builder.h" + #include "net/url_request/url_request_context_getter.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "net/proxy_resolution/proxy_config.h" + #include "net/proxy_resolution/proxy_config_service_fixed.h" + #endif +@@ -55,7 +55,7 @@ void SetUpOnNetworkThread( + base::WaitableEvent* initialization_complete_event) { + net::URLRequestContextBuilder url_request_context_builder; + url_request_context_builder.set_user_agent(GetUserAgent()); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Linux, use a fixed ProxyConfigService, since the default one + // depends on glib. + // +@@ -127,7 +127,7 @@ class CertVerifyImpl { + std::unique_ptr<CertVerifyImpl> CreateCertVerifyImplFromName( + base::StringPiece impl_name, + scoped_refptr<net::CertNetFetcher> cert_net_fetcher) { +-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + if (impl_name == "platform") { + return std::make_unique<CertVerifyImpl>( + "CertVerifyProc (system)", net::CertVerifyProc::CreateSystemVerifyProc( diff --git a/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc new file mode 100644 index 000000000000..bd72cca81866 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc @@ -0,0 +1,38 @@ +--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2022-10-01 07:40:07 UTC ++++ net/tools/cert_verify_tool/cert_verify_tool.cc +@@ -30,7 +30,7 @@ + #include "net/url_request/url_request_context_builder.h" + #include "net/url_request/url_request_context_getter.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "net/proxy_resolution/proxy_config.h" + #include "net/proxy_resolution/proxy_config_service_fixed.h" + #endif +@@ -60,7 +60,7 @@ void SetUpOnNetworkThread( + base::WaitableEvent* initialization_complete_event) { + net::URLRequestContextBuilder url_request_context_builder; + url_request_context_builder.set_user_agent(GetUserAgent()); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Linux, use a fixed ProxyConfigService, since the default one + // depends on glib. + // +@@ -217,7 +217,7 @@ std::unique_ptr<CertVerifyImpl> CreateCertVerifyImplFr + base::StringPiece impl_name, + scoped_refptr<net::CertNetFetcher> cert_net_fetcher, + RootStoreType root_store_type) { +-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + if (impl_name == "platform") { + if (root_store_type != RootStoreType::kSystem) { + std::cerr << "WARNING: platform verifier not supported with " +@@ -474,7 +474,7 @@ int main(int argc, char** argv) { + std::string impls_str = command_line.GetSwitchValueASCII("impls"); + if (impls_str.empty()) { + // Default value. +-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + impls_str = "platform,"; + #endif + impls_str += "builtin,pathbuilder"; diff --git a/www/ungoogled-chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h b/www/ungoogled-chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h new file mode 100644 index 000000000000..dbd3a0044657 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h @@ -0,0 +1,20 @@ +--- net/traffic_annotation/network_traffic_annotation.h.orig 2022-10-01 07:40:07 UTC ++++ net/traffic_annotation/network_traffic_annotation.h +@@ -373,7 +373,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { + } // namespace net + + // Placeholder for unannotated usages. +-#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + #define TRAFFIC_ANNOTATION_WITHOUT_PROTO(ANNOTATION_ID) \ + net::DefineNetworkTrafficAnnotation(ANNOTATION_ID, "No proto yet.") + #endif +@@ -387,7 +387,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. + #if !BUILDFLAG(IS_WIN) && \ +- !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + + #define NO_TRAFFIC_ANNOTATION_YET \ + net::DefineNetworkTrafficAnnotation("undefined", "Nothing here yet.") diff --git a/www/ungoogled-chromium/files/patch-net_url__request_url__request__context.cc b/www/ungoogled-chromium/files/patch-net_url__request_url__request__context.cc new file mode 100644 index 000000000000..ba2e992225b6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_url__request_url__request__context.cc @@ -0,0 +1,11 @@ +--- net/url_request/url_request_context.cc.orig 2022-10-01 07:40:07 UTC ++++ net/url_request/url_request_context.cc +@@ -64,7 +64,7 @@ const HttpNetworkSessionContext* URLRequestContext::Ge + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. + #if !BUILDFLAG(IS_WIN) && \ +- !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + std::unique_ptr<URLRequest> URLRequestContext::CreateRequest( + const GURL& url, + RequestPriority priority, diff --git a/www/ungoogled-chromium/files/patch-net_url__request_url__request__context.h b/www/ungoogled-chromium/files/patch-net_url__request_url__request__context.h new file mode 100644 index 000000000000..061226158cf7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_url__request_url__request__context.h @@ -0,0 +1,11 @@ +--- net/url_request/url_request_context.h.orig 2022-10-01 07:40:07 UTC ++++ net/url_request/url_request_context.h +@@ -89,7 +89,7 @@ class NET_EXPORT URLRequestContext { + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. + #if !BUILDFLAG(IS_WIN) && \ +- !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++ !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + // This function should not be used in Chromium, please use the version with + // NetworkTrafficAnnotationTag in the future. + // diff --git a/www/ungoogled-chromium/files/patch-net_url__request_url__request__context__builder.cc b/www/ungoogled-chromium/files/patch-net_url__request_url__request__context__builder.cc new file mode 100644 index 000000000000..d4ba926d5403 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-net_url__request_url__request__context__builder.cc @@ -0,0 +1,11 @@ +--- net/url_request/url_request_context_builder.cc.orig 2022-10-01 07:40:07 UTC ++++ net/url_request/url_request_context_builder.cc +@@ -504,7 +504,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu + } + + if (!proxy_resolution_service_) { +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) + // TODO(willchan): Switch to using this code when + // ProxyConfigService::CreateSystemProxyConfigService()'s + // signature doesn't suck. diff --git a/www/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc new file mode 100644 index 000000000000..ca0a259933d2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-pdf_pdfium_pdfium__engine.cc @@ -0,0 +1,20 @@ +--- pdf/pdfium/pdfium_engine.cc.orig 2022-10-01 07:40:07 UTC ++++ pdf/pdfium/pdfium_engine.cc +@@ -81,7 +81,7 @@ + #include "gin/public/cppgc.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "pdf/pdfium/pdfium_font_linux.h" + #endif + +@@ -516,7 +516,7 @@ void InitializeSDK(bool enable_v8, FontMappingMode fon + + FPDF_InitLibraryWithConfig(&config); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + g_font_mapping_mode = font_mapping_mode; + InitializeLinuxFontMapper(); + #endif diff --git a/www/ungoogled-chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc b/www/ungoogled-chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc new file mode 100644 index 000000000000..eacfd02e8777 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc @@ -0,0 +1,20 @@ +--- printing/mojom/printing_context_mojom_traits.cc.orig 2022-10-01 07:40:07 UTC ++++ printing/mojom/printing_context_mojom_traits.cc +@@ -15,7 +15,7 @@ + #include "ui/gfx/geometry/mojom/geometry_mojom_traits.h" + #include "ui/gfx/geometry/size.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "mojo/public/mojom/base/values.mojom.h" + #endif + +@@ -147,7 +147,7 @@ bool StructTraits< + } + + out->set_pages_per_sheet(data.pages_per_sheet()); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + DCHECK(out->advanced_settings().empty()); + if (!data.ReadAdvancedSettings(&out->advanced_settings())) + return false; diff --git a/www/ungoogled-chromium/files/patch-printing_mojom_printing__context__mojom__traits.h b/www/ungoogled-chromium/files/patch-printing_mojom_printing__context__mojom__traits.h new file mode 100644 index 000000000000..578bf9da5441 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-printing_mojom_printing__context__mojom__traits.h @@ -0,0 +1,11 @@ +--- printing/mojom/printing_context_mojom_traits.h.orig 2022-10-01 07:40:07 UTC ++++ printing/mojom/printing_context_mojom_traits.h +@@ -158,7 +158,7 @@ struct StructTraits<printing::mojom::PrintSettingsData + return s.pages_per_sheet(); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static const printing::PrintSettings::AdvancedSettings& advanced_settings( + const printing::PrintSettings& s) { + return s.advanced_settings(); diff --git a/www/ungoogled-chromium/files/patch-printing_print__settings.cc b/www/ungoogled-chromium/files/patch-printing_print__settings.cc new file mode 100644 index 000000000000..0860bec70e7e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-printing_print__settings.cc @@ -0,0 +1,20 @@ +--- printing/print_settings.cc.orig 2022-10-01 07:40:07 UTC ++++ printing/print_settings.cc +@@ -272,7 +272,7 @@ PrintSettings& PrintSettings::operator=(const PrintSet + #endif + is_modifiable_ = settings.is_modifiable_; + pages_per_sheet_ = settings.pages_per_sheet_; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + for (const auto& item : settings.advanced_settings_) + advanced_settings_.emplace(item.first, item.second.Clone()); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -312,7 +312,7 @@ void PrintSettings::Clear() { + #endif + is_modifiable_ = true; + pages_per_sheet_ = 1; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + advanced_settings_.clear(); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + #if BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-printing_print__settings.h b/www/ungoogled-chromium/files/patch-printing_print__settings.h new file mode 100644 index 000000000000..042c0dac744c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-printing_print__settings.h @@ -0,0 +1,38 @@ +--- printing/print_settings.h.orig 2022-10-01 07:40:07 UTC ++++ printing/print_settings.h +@@ -18,7 +18,7 @@ + #include "ui/gfx/geometry/rect.h" + #include "ui/gfx/geometry/size.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <map> + + #include "base/values.h" +@@ -66,7 +66,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { + } + }; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + using AdvancedSettings = std::map<std::string, base::Value>; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -221,7 +221,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { + pages_per_sheet_ = pages_per_sheet; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + AdvancedSettings& advanced_settings() { return advanced_settings_; } + const AdvancedSettings& advanced_settings() const { + return advanced_settings_; +@@ -322,7 +322,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { + // Number of pages per sheet. + int pages_per_sheet_; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Advanced settings. + AdvancedSettings advanced_settings_; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-printing_print__settings__conversion.cc b/www/ungoogled-chromium/files/patch-printing_print__settings__conversion.cc new file mode 100644 index 000000000000..1fbd5c300c88 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-printing_print__settings__conversion.cc @@ -0,0 +1,11 @@ +--- printing/print_settings_conversion.cc.orig 2022-10-01 07:40:07 UTC ++++ printing/print_settings_conversion.cc +@@ -256,7 +256,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet + settings->set_is_modifiable(is_modifiable.value()); + } + +-#if BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && defined(USE_CUPS)) ++#if BUILDFLAG(IS_CHROMEOS) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_CUPS)) + const base::Value::Dict* advanced_settings = + job_settings.FindDict(kSettingAdvancedSettings); + if (advanced_settings) { diff --git a/www/ungoogled-chromium/files/patch-printing_printing__context__linux.cc b/www/ungoogled-chromium/files/patch-printing_printing__context__linux.cc new file mode 100644 index 000000000000..81c423b276ef --- /dev/null +++ b/www/ungoogled-chromium/files/patch-printing_printing__context__linux.cc @@ -0,0 +1,38 @@ +--- printing/printing_context_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ printing/printing_context_linux.cc +@@ -19,7 +19,7 @@ + #include "printing/units.h" + + // Avoid using LinuxUi on Fuchsia. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -68,7 +68,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett + + ResetSettings(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!ui::LinuxUi::instance()) + return mojom::ResultCode::kSuccess; + +@@ -81,7 +81,7 @@ mojom::ResultCode PrintingContextLinux::UseDefaultSett + } + + gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceUnits() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (ui::LinuxUi::instance()) + return ui::LinuxUi::instance()->GetPdfPaperSize(this); + #endif +@@ -94,7 +94,7 @@ mojom::ResultCode PrintingContextLinux::UpdatePrinterS + DCHECK(!printer_settings.show_system_dialog); + DCHECK(!in_print_job_); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!ui::LinuxUi::instance()) + return mojom::ResultCode::kSuccess; + diff --git a/www/ungoogled-chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc new file mode 100644 index 000000000000..07d819277329 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc @@ -0,0 +1,51 @@ +--- printing/sandbox/print_backend_sandbox_hook_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ printing/sandbox/print_backend_sandbox_hook_linux.cc +@@ -9,21 +9,28 @@ + #include "base/files/file_util.h" + #include "base/path_service.h" + #include "build/build_config.h" ++#if !BUILDFLAG(IS_BSD) + #include "sandbox/linux/syscall_broker/broker_command.h" + #include "sandbox/linux/syscall_broker/broker_file_permission.h" + #include "sandbox/policy/export.h" + #include "sandbox/policy/linux/sandbox_linux.h" + #include "services/network/network_sandbox_hook_linux.h" ++#else ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#endif + + #if BUILDFLAG(IS_CHROMEOS) && defined(USE_CUPS) + #include "printing/backend/cups_connection_pool.h" + #endif + ++#if !BUILDFLAG(IS_BSD) + using sandbox::syscall_broker::BrokerFilePermission; + using sandbox::syscall_broker::MakeBrokerCommandSet; ++#endif + + namespace printing { + ++#if !BUILDFLAG(IS_BSD) + namespace { + + sandbox::syscall_broker::BrokerCommandSet GetPrintBackendBrokerCommandSet() { +@@ -84,9 +91,11 @@ std::vector<BrokerFilePermission> GetPrintBackendFileP + } + + } // namespace ++#endif + + bool PrintBackendPreSandboxHook( + sandbox::policy::SandboxLinux::Options options) { ++#if !BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_CHROMEOS) && defined(USE_CUPS) + // Create the socket connections to the CUPS server before engaging the + // sandbox, since new connections cannot be made after that. +@@ -100,6 +109,7 @@ bool PrintBackendPreSandboxHook( + sandbox::policy::SandboxLinux::PreSandboxHook(), options); + + instance->EngageNamespaceSandboxIfPossible(); ++#endif + return true; + } + diff --git a/www/ungoogled-chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h b/www/ungoogled-chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h new file mode 100644 index 000000000000..03de177e84ce --- /dev/null +++ b/www/ungoogled-chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h @@ -0,0 +1,16 @@ +--- printing/sandbox/print_backend_sandbox_hook_linux.h.orig 2022-10-01 07:40:07 UTC ++++ printing/sandbox/print_backend_sandbox_hook_linux.h +@@ -5,8 +5,13 @@ + #ifndef PRINTING_SANDBOX_PRINT_BACKEND_SANDBOX_HOOK_LINUX_H_ + #define PRINTING_SANDBOX_PRINT_BACKEND_SANDBOX_HOOK_LINUX_H_ + ++#include "build/build_config.h" + #include "base/component_export.h" ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace printing { + diff --git a/www/ungoogled-chromium/files/patch-remoting_base_chromoting__event.cc b/www/ungoogled-chromium/files/patch-remoting_base_chromoting__event.cc new file mode 100644 index 000000000000..0eae8455223d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_base_chromoting__event.cc @@ -0,0 +1,11 @@ +--- remoting/base/chromoting_event.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/base/chromoting_event.cc +@@ -190,7 +190,7 @@ void ChromotingEvent::AddSystemInfo() { + SetString(kCpuKey, base::SysInfo::OperatingSystemArchitecture()); + SetString(kOsVersionKey, base::SysInfo::OperatingSystemVersion()); + SetString(kWebAppVersionKey, STRINGIZE(VERSION)); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + Os os = Os::CHROMOTING_LINUX; + #elif BUILDFLAG(IS_CHROMEOS_ASH) + Os os = Os::CHROMOTING_CHROMEOS; diff --git a/www/ungoogled-chromium/files/patch-remoting_base_host__settings.cc b/www/ungoogled-chromium/files/patch-remoting_base_host__settings.cc new file mode 100644 index 000000000000..7681af175886 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_base_host__settings.cc @@ -0,0 +1,20 @@ +--- remoting/base/host_settings.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/base/host_settings.cc +@@ -7,7 +7,7 @@ + #include "base/no_destructor.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) ++#if BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + #include "remoting/base/file_host_settings.h" + #endif // BUILDFLAG(IS_LINUX) + +@@ -44,7 +44,7 @@ HostSettings::~HostSettings() = default; + + // static + HostSettings* HostSettings::GetInstance() { +-#if BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) ++#if BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + static base::NoDestructor<FileHostSettings> instance( + FileHostSettings::GetSettingsFilePath()); + #elif BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-remoting_client_display_sys__opengl.h b/www/ungoogled-chromium/files/patch-remoting_client_display_sys__opengl.h new file mode 100644 index 000000000000..db155e6dd562 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_client_display_sys__opengl.h @@ -0,0 +1,11 @@ +--- remoting/client/display/sys_opengl.h.orig 2022-10-01 07:40:07 UTC ++++ remoting/client/display/sys_opengl.h +@@ -9,7 +9,7 @@ + + #if BUILDFLAG(IS_IOS) + #include <OpenGLES/ES3/gl.h> +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #define GL_GLEXT_PROTOTYPES + #include <GL/gl.h> + #include <GL/glext.h> diff --git a/www/ungoogled-chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc b/www/ungoogled-chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc new file mode 100644 index 000000000000..a7153cd06e6a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc @@ -0,0 +1,11 @@ +--- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/codec/webrtc_video_encoder_vpx.cc +@@ -89,7 +89,7 @@ void SetVp8CodecParameters(vpx_codec_enc_cfg_t* config + const webrtc::DesktopSize& size) { + SetCommonCodecParameters(config, size); + +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) ++#if (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && !BUILDFLAG(IS_CHROMEOS_LACROS) + // On Linux, using too many threads for VP8 encoding has been linked to high + // CPU usage on machines that are under stress. See http://crbug.com/1151148. + // 5/3/2022 update: Perf testing has shown that doubling the number of threads diff --git a/www/ungoogled-chromium/files/patch-remoting_host_base_switches.cc b/www/ungoogled-chromium/files/patch-remoting_host_base_switches.cc new file mode 100644 index 000000000000..a52bcb1fb305 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_base_switches.cc @@ -0,0 +1,18 @@ +--- remoting/host/base/switches.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/base/switches.cc +@@ -23,13 +23,13 @@ const char kProcessTypeEvaluateCapability[] = "evaluat + const char kProcessTypeFileChooser[] = "file_chooser"; + const char kProcessTypeUrlForwarderConfigurator[] = + "url_forwarder_configurator"; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kProcessTypeXSessionChooser[] = "xsession_chooser"; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + + const char kEvaluateCapabilitySwitchName[] = "evaluate-type"; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const char kEnableUtempter[] = "enable-utempter"; + #endif + diff --git a/www/ungoogled-chromium/files/patch-remoting_host_base_switches.h b/www/ungoogled-chromium/files/patch-remoting_host_base_switches.h new file mode 100644 index 000000000000..e126c3b2a17d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_base_switches.h @@ -0,0 +1,18 @@ +--- remoting/host/base/switches.h.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/base/switches.h +@@ -35,13 +35,13 @@ extern const char kProcessTypeRdpDesktopSession[]; + extern const char kProcessTypeEvaluateCapability[]; + extern const char kProcessTypeFileChooser[]; + extern const char kProcessTypeUrlForwarderConfigurator[]; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kProcessTypeXSessionChooser[]; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + + extern const char kEvaluateCapabilitySwitchName[]; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Used to record client sessions to utmp/wtmp. + extern const char kEnableUtempter[]; + #endif diff --git a/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host.cc b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host.cc new file mode 100644 index 000000000000..181a090e04c0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host.cc @@ -0,0 +1,11 @@ +--- remoting/host/chromoting_host.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/chromoting_host.cc +@@ -124,7 +124,7 @@ void ChromotingHost::StartChromotingHostServices() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK(!ipc_server_); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + ipc_server_ = std::make_unique<MojoIpcServer<mojom::ChromotingHostServices>>( + GetChromotingHostServicesServerName(), this); + ipc_server_->StartServer(); diff --git a/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__context.cc b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__context.cc new file mode 100644 index 000000000000..38b1e2aaaa4c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__context.cc @@ -0,0 +1,11 @@ +--- remoting/host/chromoting_host_context.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/chromoting_host_context.cc +@@ -143,7 +143,7 @@ std::unique_ptr<ChromotingHostContext> ChromotingHostC + // on a UI thread. + scoped_refptr<AutoThreadTaskRunner> input_task_runner = + AutoThread::CreateWithType("ChromotingInputThread", ui_task_runner, +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::MessagePumpType::UI); + #else + base::MessagePumpType::IO); diff --git a/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__client.cc b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__client.cc new file mode 100644 index 000000000000..30c1b445534e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_chromoting__host__services__client.cc @@ -0,0 +1,20 @@ +--- remoting/host/chromoting_host_services_client.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/chromoting_host_services_client.cc +@@ -28,7 +28,7 @@ bool g_initialized = false; + + } // namespace + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + // static + constexpr char +@@ -112,7 +112,7 @@ bool ChromotingHostServicesClient::EnsureSessionServic + if (session_services_remote_.is_bound()) { + return true; + } +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!environment_->HasVar(kChromeRemoteDesktopSessionEnvVar)) { + LOG(WARNING) << "Current desktop environment is not remotable."; + return false; diff --git a/www/ungoogled-chromium/files/patch-remoting_host_evaluate__capability.cc b/www/ungoogled-chromium/files/patch-remoting_host_evaluate__capability.cc new file mode 100644 index 000000000000..e0d37f59af6b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_evaluate__capability.cc @@ -0,0 +1,11 @@ +--- remoting/host/evaluate_capability.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/evaluate_capability.cc +@@ -55,7 +55,7 @@ base::FilePath BuildHostBinaryPath() { + } + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (path.BaseName().value() == + FILE_PATH_LITERAL("chrome-remote-desktop-host")) { + return path; diff --git a/www/ungoogled-chromium/files/patch-remoting_host_heartbeat__sender.cc b/www/ungoogled-chromium/files/patch-remoting_host_heartbeat__sender.cc new file mode 100644 index 000000000000..5ae9c6090a4a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_heartbeat__sender.cc @@ -0,0 +1,11 @@ +--- remoting/host/heartbeat_sender.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/heartbeat_sender.cc +@@ -111,7 +111,7 @@ const net::BackoffEntry::Policy kBackoffPolicy = { + std::string GetHostname() { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag + // switch of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + return net::GetHostName(); + #elif BUILDFLAG(IS_WIN) + wchar_t buffer[MAX_PATH] = {0}; diff --git a/www/ungoogled-chromium/files/patch-remoting_host_host__attributes.cc b/www/ungoogled-chromium/files/patch-remoting_host_host__attributes.cc new file mode 100644 index 000000000000..1b4827a751e3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_host__attributes.cc @@ -0,0 +1,11 @@ +--- remoting/host/host_attributes.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/host_attributes.cc +@@ -121,7 +121,7 @@ std::string GetHostAttributes() { + media::InitializeMediaFoundation()) { + result.push_back("HWEncoder"); + } +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + result.push_back("HWEncoder"); + #endif + diff --git a/www/ungoogled-chromium/files/patch-remoting_host_host__details.cc b/www/ungoogled-chromium/files/patch-remoting_host_host__details.cc new file mode 100644 index 000000000000..00ea1af50301 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_host__details.cc @@ -0,0 +1,11 @@ +--- remoting/host/host_details.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/host_details.cc +@@ -23,7 +23,7 @@ std::string GetHostOperatingSystemName() { + return "Mac"; + #elif BUILDFLAG(IS_CHROMEOS_ASH) + return "ChromeOS"; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + return "Linux"; + #elif BUILDFLAG(IS_ANDROID) + return "Android"; diff --git a/www/ungoogled-chromium/files/patch-remoting_host_host__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_host__main.cc new file mode 100644 index 000000000000..aa5a8a33a660 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_host__main.cc @@ -0,0 +1,29 @@ +--- remoting/host/host_main.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/host_main.cc +@@ -50,7 +50,7 @@ int FileChooserMain(); + int RdpDesktopSessionMain(); + int UrlForwarderConfiguratorMain(); + #endif // BUILDFLAG(IS_WIN) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + int XSessionChooserMain(); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -63,7 +63,7 @@ const char kUsageMessage[] = + "\n" + "Options:\n" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + " --audio-pipe-name=<pipe> - Sets the pipe name to capture audio on " + "Linux.\n" + #endif // BUILDFLAG(IS_LINUX) +@@ -155,7 +155,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro + } else if (process_type == kProcessTypeUrlForwarderConfigurator) { + main_routine = &UrlForwarderConfiguratorMain; + #endif // BUILDFLAG(IS_WIN) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + } else if (process_type == kProcessTypeXSessionChooser) { + main_routine = &XSessionChooserMain; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-remoting_host_ipc__constants.cc b/www/ungoogled-chromium/files/patch-remoting_host_ipc__constants.cc new file mode 100644 index 000000000000..9912403bb806 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_ipc__constants.cc @@ -0,0 +1,11 @@ +--- remoting/host/ipc_constants.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/ipc_constants.cc +@@ -16,7 +16,7 @@ namespace remoting { + + namespace { + +-#if !defined(NDEBUG) && BUILDFLAG(IS_LINUX) ++#if !defined(NDEBUG) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + // Use a different IPC name for Linux debug builds so that we can run the host + // directly from out/Debug without interfering with the production host that + // might also be running. diff --git a/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc new file mode 100644 index 000000000000..6c11f711c375 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc @@ -0,0 +1,47 @@ +--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/it2me/it2me_native_messaging_host_main.cc +@@ -30,7 +30,7 @@ + #include "remoting/host/resources.h" + #include "remoting/host/usage_stats_consent.h" + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) + #include <gtk/gtk.h> + + #include "base/linux_util.h" +@@ -77,7 +77,7 @@ bool CurrentProcessHasUiAccess() { + // Creates a It2MeNativeMessagingHost instance, attaches it to stdin/stdout and + // runs the task executor until It2MeNativeMessagingHost signals shutdown. + int It2MeNativeMessagingHostMain(int argc, char** argv) { +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) + // Initialize Xlib for multi-threaded use, allowing non-Chromium code to + // use X11 safely (such as the WebRTC capturer, GTK ...) + x11::InitXlib(); +@@ -123,7 +123,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv + + remoting::LoadResources(""); + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) + // Required for any calls into GTK functions, such as the Disconnect and + // Continue windows. Calling with nullptr arguments because we don't have + // any command line arguments for gtk to consume. +@@ -257,7 +257,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv + PolicyWatcher::CreateWithTaskRunner(context->file_task_runner(), + context->management_service()); + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) + // Create an X11EventSource on all UI threads, so the global X11 connection + // (x11::Connection::Get()) can dispatch X events. + auto event_source = +@@ -280,7 +280,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv + // Run the loop until channel is alive. + run_loop.Run(); + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) + input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() { + delete ui::X11EventSource::GetInstance(); + })); diff --git a/www/ungoogled-chromium/files/patch-remoting_host_me2me__desktop__environment.cc b/www/ungoogled-chromium/files/patch-remoting_host_me2me__desktop__environment.cc new file mode 100644 index 000000000000..3f04f48c117e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_me2me__desktop__environment.cc @@ -0,0 +1,11 @@ +--- remoting/host/me2me_desktop_environment.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/me2me_desktop_environment.cc +@@ -148,7 +148,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity( + + // Otherwise, if the session is shared with the local user start monitoring + // the local input and create the in-session UI. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool want_user_interface = false; + #elif BUILDFLAG(IS_APPLE) + // Don't try to display any UI on top of the system's login screen as this diff --git a/www/ungoogled-chromium/files/patch-remoting_host_policy__watcher.cc b/www/ungoogled-chromium/files/patch-remoting_host_policy__watcher.cc new file mode 100644 index 000000000000..444199d1aafd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_policy__watcher.cc @@ -0,0 +1,11 @@ +--- remoting/host/policy_watcher.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/policy_watcher.cc +@@ -184,7 +184,7 @@ std::unique_ptr<base::DictionaryValue> PolicyWatcher:: + result->SetStringKey(key::kRemoteAccessHostUdpPortRange, ""); + result->SetIntKey(key::kRemoteAccessHostClipboardSizeBytes, -1); + result->SetBoolKey(key::kRemoteAccessHostAllowRemoteSupportConnections, true); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + result->SetBoolKey(key::kRemoteAccessHostMatchUsername, false); + #endif + #if !BUILDFLAG(IS_CHROMEOS) diff --git a/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc b/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc new file mode 100644 index 000000000000..13cea3ffc8f0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc @@ -0,0 +1,20 @@ +--- remoting/host/remote_open_url/remote_open_url_client.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/remote_open_url/remote_open_url_client.cc +@@ -18,7 +18,7 @@ + #include "remoting/host/mojom/chromoting_host_services.mojom.h" + #include "remoting/host/mojom/remote_url_opener.mojom.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/remote_open_url/remote_open_url_client_delegate_linux.h" + #elif BUILDFLAG(IS_WIN) + #include "remoting/host/remote_open_url/remote_open_url_client_delegate_win.h" +@@ -31,7 +31,7 @@ namespace { + constexpr base::TimeDelta kRequestTimeout = base::Seconds(5); + + std::unique_ptr<RemoteOpenUrlClient::Delegate> CreateDelegate() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return std::make_unique<RemoteOpenUrlClientDelegateLinux>(); + #elif BUILDFLAG(IS_WIN) + return std::make_unique<RemoteOpenUrlClientDelegateWin>(); diff --git a/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc b/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc new file mode 100644 index 000000000000..01aebce6c895 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc @@ -0,0 +1,11 @@ +--- remoting/host/remote_open_url/remote_open_url_util.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/remote_open_url/remote_open_url_util.cc +@@ -30,7 +30,7 @@ const wchar_t kRegisteredApplicationsKeyName[] = + #endif // defined (OS_WIN) + + bool IsRemoteOpenUrlSupported() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return true; + #elif BUILDFLAG(IS_WIN) + // The modern default apps settings dialog is only available to Windows 8+. diff --git a/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc b/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc new file mode 100644 index 000000000000..384fb7e01b42 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc @@ -0,0 +1,11 @@ +--- remoting/host/remote_open_url/url_forwarder_configurator.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/remote_open_url/url_forwarder_configurator.cc +@@ -12,7 +12,7 @@ UrlForwarderConfigurator::UrlForwarderConfigurator() = + + UrlForwarderConfigurator::~UrlForwarderConfigurator() = default; + +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_WIN) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) + + // static + std::unique_ptr<UrlForwarderConfigurator> UrlForwarderConfigurator::Create() { diff --git a/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc b/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc new file mode 100644 index 000000000000..42d041687a9c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_remoting__me2me__host.cc @@ -0,0 +1,144 @@ +--- remoting/host/remoting_me2me_host.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/remoting_me2me_host.cc +@@ -125,7 +125,7 @@ + #include "remoting/host/mac/permission_utils.h" + #endif // BUILDFLAG(IS_APPLE) + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) + #include <gtk/gtk.h> + + #include "ui/events/platform/x11/x11_event_source.h" +@@ -133,13 +133,13 @@ + #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && + // defined(REMOTING_USE_X11) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/linux_util.h" + #include "remoting/host/audio_capturer_linux.h" + #include "remoting/host/linux/certificate_watcher.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/host_utmp_logger.h" + #endif + +@@ -177,7 +177,7 @@ const char kApplicationName[] = "chromoting"; + const char kStdinConfigPath[] = "-"; + #endif // !defined(REMOTING_MULTI_PROCESS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The command line switch used to pass name of the pipe to capture audio on + // linux. + const char kAudioPipeSwitchName[] = "audio-pipe-name"; +@@ -385,7 +385,7 @@ class HostProcess : public ConfigWatcher::Delegate, + + std::unique_ptr<ChromotingHostContext> context_; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Watch for certificate changes and kill the host when changes occur + std::unique_ptr<CertificateWatcher> cert_watcher_; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -451,7 +451,7 @@ class HostProcess : public ConfigWatcher::Delegate, + + std::unique_ptr<HostStatusLogger> host_status_logger_; + std::unique_ptr<HostEventLogger> host_event_logger_; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<HostUTMPLogger> host_utmp_logger_; + #endif + std::unique_ptr<HostPowerSaveBlocker> power_save_blocker_; +@@ -759,7 +759,7 @@ void HostProcess::StartOnNetworkThread() { + void HostProcess::ShutdownOnNetworkThread() { + DCHECK(context_->network_task_runner()->BelongsToCurrentThread()); + config_watcher_.reset(); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + cert_watcher_.reset(); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + } +@@ -818,7 +818,7 @@ void HostProcess::CreateAuthenticatorFactory() { + DCHECK(third_party_auth_config_.token_url.is_valid()); + DCHECK(third_party_auth_config_.token_validation_url.is_valid()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (!cert_watcher_) { + cert_watcher_ = std::make_unique<CertificateWatcher>( + base::BindRepeating(&HostProcess::ShutdownHost, +@@ -937,7 +937,7 @@ void HostProcess::StartOnUiThread() { + base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)), + base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this))); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // If an audio pipe is specific on the command-line then initialize + // AudioCapturerLinux to capture from it. + base::FilePath audio_pipe_name = base::CommandLine::ForCurrentProcess()-> +@@ -1008,7 +1008,7 @@ void HostProcess::ShutdownOnUiThread() { + // It is now safe for the HostProcess to be deleted. + self_ = nullptr; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Cause the global AudioPipeReader to be freed, otherwise the audio + // thread will remain in-use and prevent the process from exiting. + // TODO(wez): DesktopEnvironmentFactory should own the pipe reader. +@@ -1016,7 +1016,7 @@ void HostProcess::ShutdownOnUiThread() { + AudioCapturerLinux::InitializePipeReader(nullptr, base::FilePath()); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) + context_->input_task_runner()->PostTask( + FROM_HERE, + base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); })); +@@ -1343,7 +1343,7 @@ bool HostProcess::OnUsernamePolicyUpdate(base::Diction + // Returns false: never restart the host after this policy update. + DCHECK(context_->network_task_runner()->BelongsToCurrentThread()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + absl::optional<bool> host_username_match_required = + policies->FindBoolKey(policy::key::kRemoteAccessHostMatchUsername); + if (!host_username_match_required.has_value()) +@@ -1727,7 +1727,7 @@ void HostProcess::StartHost() { + // The feature is enabled for all Googlers using a supported platform. + desktop_environment_options_.set_enable_remote_open_url(is_googler_); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + desktop_environment_options_.set_enable_remote_webauthn(is_googler_); + #endif + +@@ -1760,7 +1760,7 @@ void HostProcess::StartHost() { + host_status_logger_ = std::make_unique<HostStatusLogger>( + host_->status_monitor(), log_to_server_.get()); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); + if (cmd_line->HasSwitch(kEnableUtempter)) + host_utmp_logger_ = +@@ -1929,7 +1929,7 @@ int HostProcessMain() { + HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION); + const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #if defined(REMOTING_USE_X11) + // Initialize Xlib for multi-threaded use, allowing non-Chromium code to + // use X11 safely (such as the WebRTC capturer, GTK ...) +@@ -1975,7 +1975,7 @@ int HostProcessMain() { + std::unique_ptr<net::NetworkChangeNotifier> network_change_notifier( + net::NetworkChangeNotifier::CreateIfNeeded()); + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) + // Create an X11EventSource on all UI threads, so the global X11 connection + // (x11::Connection::Get()) can dispatch X events. + auto event_source = diff --git a/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc b/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc new file mode 100644 index 000000000000..f1b8dfa649f0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_setup_start__host__main.cc @@ -0,0 +1,29 @@ +--- remoting/host/setup/start_host_main.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/setup/start_host_main.cc +@@ -31,7 +31,7 @@ + #include <unistd.h> + #endif // BUILDFLAG(IS_POSIX) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/setup/daemon_controller_delegate_linux.h" + #include "remoting/host/setup/start_host_as_root.h" + #endif // BUILDFLAG(IS_LINUX) +@@ -125,7 +125,7 @@ void OnDone(HostStarter::Result result) { + } // namespace + + int StartHostMain(int argc, char** argv) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Minimize the amount of code that runs as root on Posix systems. + if (getuid() == 0) { + return remoting::StartHostAsRoot(argc, argv); +@@ -162,7 +162,7 @@ int StartHostMain(int argc, char** argv) { + // for the account which generated |code|. + std::string host_owner = command_line->GetSwitchValueASCII("host-owner"); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (command_line->HasSwitch("no-start")) { + // On Linux, registering the host with systemd and starting it is the only + // reason start_host requires root. The --no-start options skips that final diff --git a/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc b/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc new file mode 100644 index 000000000000..4311118c7d38 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc @@ -0,0 +1,29 @@ +--- remoting/host/webauthn/remote_webauthn_caller_security_utils.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/webauthn/remote_webauthn_caller_security_utils.cc +@@ -9,7 +9,7 @@ + #include "base/strings/utf_string_conversions.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "base/containers/fixed_flat_set.h" + #include "base/files/file_path.h" + #include "base/process/process_handle.h" +@@ -37,7 +37,7 @@ namespace { + + // No static variables needed for debug builds. + +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + constexpr auto kAllowedCallerPrograms = + base::MakeFixedFlatSet<base::FilePath::StringPieceType>({ +@@ -76,7 +76,7 @@ bool IsLaunchedByTrustedProcess() { + #if !defined(NDEBUG) + // Just return true on debug builds for the convenience of development. + return true; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::ProcessId parent_pid = + base::GetParentProcessId(base::GetCurrentProcessHandle()); + // Note that on Linux the process image may no longer exist in its original diff --git a/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc b/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc new file mode 100644 index 000000000000..99a7b4b8d471 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc @@ -0,0 +1,28 @@ +--- remoting/host/webauthn/remote_webauthn_extension_notifier.cc.orig 2022-10-01 07:40:07 UTC ++++ remoting/host/webauthn/remote_webauthn_extension_notifier.cc +@@ -23,7 +23,7 @@ + #include "base/threading/sequenced_task_runner_handle.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/environment.h" + #include "base/nix/xdg_util.h" + #include "base/strings/string_util.h" +@@ -68,14 +68,14 @@ static constexpr char kExtensionWakeupFileContent[] = + // Caller should check if the directory exists before writing files to it. A + // directory only exists if the corresponding Chrome version is installed. + std::vector<base::FilePath> GetRemoteStateChangeDirPaths() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + constexpr base::FilePath::CharType kStateChangeDirName[] = + FILE_PATH_LITERAL("WebAuthenticationProxyRemoteSessionStateChange"); + #endif + + std::vector<base::FilePath> dirs; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // See: chrome/common/chrome_paths_linux.cc + auto env = base::Environment::Create(); + base::FilePath base_path; diff --git a/www/ungoogled-chromium/files/patch-remoting_resources_remoting__strings.grd b/www/ungoogled-chromium/files/patch-remoting_resources_remoting__strings.grd new file mode 100644 index 000000000000..d10d1b5f9bf2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-remoting_resources_remoting__strings.grd @@ -0,0 +1,20 @@ +--- remoting/resources/remoting_strings.grd.orig 2022-10-01 07:40:07 UTC ++++ remoting/resources/remoting_strings.grd +@@ -955,7 +955,7 @@ If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium. + <message name="IDS_URL_FORWARDER_INCORRECTLY_CONFIGURED" desc="Message shown when the Chrome Remote Desktop URL forwarder is incorrectly configured."> + <ph name="URL_FORWARDER_NAME">%s<ex>Chrome Remote Desktop URL Forwarder</ex></ph> is not configured correctly. Please choose a different default web browser and then enable URL forwarding again. + </message> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_SESSION_DIALOG_MESSAGE" desc="The message to show at the top of the session-selection dialog."> + Select a session to launch within your Chrome Remote Desktop environment. (Note that some session types may not support running within Chrome Remote Desktop and on the local console simultaneously.) + </message> +@@ -971,7 +971,7 @@ If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium. + <message name="IDS_SESSION_DIALOG_DEFAULT_SESSION_COMMENT" desc="The comment for the entry to launch the default session."> + Launch the default XSession + </message> +- </if> <!-- is_linux --> ++ </if> <!-- is_posix --> + </messages> + </release> + </grit> diff --git a/www/ungoogled-chromium/files/patch-sandbox_BUILD.gn b/www/ungoogled-chromium/files/patch-sandbox_BUILD.gn new file mode 100644 index 000000000000..fd26bf977f32 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_BUILD.gn @@ -0,0 +1,11 @@ +--- sandbox/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ sandbox/BUILD.gn +@@ -49,7 +49,7 @@ group("sandbox") { + "//sandbox/mac:system_services", + "//sandbox/mac/mojom", + ] +- } else if (is_linux || is_chromeos || is_android) { ++ } else if ((is_linux && !is_bsd) || is_chromeos || is_android) { + public_deps = [ "//sandbox/linux:sandbox" ] + } + } diff --git a/www/ungoogled-chromium/files/patch-sandbox_features.gni b/www/ungoogled-chromium/files/patch-sandbox_features.gni new file mode 100644 index 000000000000..53d932f45b4b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_features.gni @@ -0,0 +1,11 @@ +--- sandbox/features.gni.orig 2022-10-01 07:40:07 UTC ++++ sandbox/features.gni +@@ -6,7 +6,7 @@ + # currently. + # Do not disable seccomp_bpf anywhere without talking to + # security@ch40m1um.qjz9zk! +-use_seccomp_bpf = (is_linux || is_chromeos || is_android) && ++use_seccomp_bpf = !is_bsd && (is_linux || is_chromeos || is_android) && + (current_cpu == "x86" || current_cpu == "x64" || + current_cpu == "arm" || current_cpu == "arm64" || + current_cpu == "mipsel" || current_cpu == "mips64el") diff --git a/www/ungoogled-chromium/files/patch-sandbox_linux_BUILD.gn b/www/ungoogled-chromium/files/patch-sandbox_linux_BUILD.gn new file mode 100644 index 000000000000..05b308efe749 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_linux_BUILD.gn @@ -0,0 +1,58 @@ +--- sandbox/linux/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ sandbox/linux/BUILD.gn +@@ -12,12 +12,12 @@ if (is_android) { + } + + declare_args() { +- compile_suid_client = is_linux || is_chromeos ++ compile_suid_client = (is_linux || is_chromeos) && !is_bsd + +- compile_credentials = is_linux || is_chromeos ++ compile_credentials = (is_linux || is_chromeos) && !is_bsd + + # On Android, use plain GTest. +- use_base_test_suite = is_linux || is_chromeos ++ use_base_test_suite = (is_linux || is_chromeos) && !is_bsd + } + + # We have two principal targets: sandbox and sandbox_linux_unittests +@@ -373,6 +373,39 @@ component("sandbox_services") { + sources += [ + "services/libc_interceptor.cc", + "services/libc_interceptor.h", ++ ] ++ } ++ ++ if (is_bsd) { ++ sources -= [ ++ "services/scoped_process.cc", ++ "services/scoped_process.h", ++ "services/syscall_wrappers.cc", ++ "services/syscall_wrappers.h", ++ "services/yama.cc", ++ "services/yama.h", ++ "syscall_broker/broker_channel.cc", ++ "syscall_broker/broker_channel.h", ++ "syscall_broker/broker_client.cc", ++ "syscall_broker/broker_client.h", ++ "syscall_broker/broker_command.cc", ++ "syscall_broker/broker_command.h", ++ "syscall_broker/broker_file_permission.cc", ++ "syscall_broker/broker_file_permission.h", ++ "syscall_broker/broker_host.cc", ++ "syscall_broker/broker_host.h", ++ "syscall_broker/broker_permission_list.cc", ++ "syscall_broker/broker_permission_list.h", ++ "syscall_broker/broker_process.cc", ++ "syscall_broker/broker_process.h", ++ "syscall_broker/broker_sandbox_config.cc", ++ "syscall_broker/broker_sandbox_config.h", ++ "syscall_broker/broker_simple_message.cc", ++ "syscall_broker/broker_simple_message.h", ++ "syscall_broker/remote_syscall_arg_handler.cc", ++ "syscall_broker/remote_syscall_arg_handler.h", ++ "syscall_broker/syscall_dispatcher.cc", ++ "syscall_broker/syscall_dispatcher.h", + ] + } + } diff --git a/www/ungoogled-chromium/files/patch-sandbox_linux_services_init__process__reaper.cc b/www/ungoogled-chromium/files/patch-sandbox_linux_services_init__process__reaper.cc new file mode 100644 index 000000000000..faaf2bee3de1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_linux_services_init__process__reaper.cc @@ -0,0 +1,15 @@ +--- sandbox/linux/services/init_process_reaper.cc.orig 2022-10-01 07:40:07 UTC ++++ sandbox/linux/services/init_process_reaper.cc +@@ -2,6 +2,7 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + ++#if 0 + #include "sandbox/linux/services/init_process_reaper.h" + + #include <signal.h> +@@ -100,3 +101,4 @@ bool CreateInitProcessReaper(base::OnceClosure post_fo + } + + } // namespace sandbox. ++#endif diff --git a/www/ungoogled-chromium/files/patch-sandbox_linux_services_libc__interceptor.cc b/www/ungoogled-chromium/files/patch-sandbox_linux_services_libc__interceptor.cc new file mode 100644 index 000000000000..b1c2495cb562 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_linux_services_libc__interceptor.cc @@ -0,0 +1,21 @@ +--- sandbox/linux/services/libc_interceptor.cc.orig 2022-10-01 07:40:07 UTC ++++ sandbox/linux/services/libc_interceptor.cc +@@ -11,7 +11,9 @@ + #include <stddef.h> + #include <stdint.h> + #include <string.h> ++#if !defined(OS_BSD) + #include <sys/prctl.h> ++#endif + #include <sys/socket.h> + #include <sys/types.h> + #include <time.h> +@@ -94,7 +96,7 @@ bool ReadTimeStruct(base::PickleIterator* iter, + } else { + base::AutoLock lock(g_timezones_lock.Get()); + auto ret_pair = g_timezones.Get().insert(timezone); +- output->tm_zone = ret_pair.first->c_str(); ++ output->tm_zone = (char *)ret_pair.first->c_str(); + } + + return true; diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_BUILD.gn b/www/ungoogled-chromium/files/patch-sandbox_policy_BUILD.gn new file mode 100644 index 000000000000..8a22985b5044 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_BUILD.gn @@ -0,0 +1,39 @@ +--- sandbox/policy/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/BUILD.gn +@@ -36,7 +36,7 @@ component("policy") { + "//sandbox/policy/mojom", + ] + public_deps = [ "//sandbox:common" ] +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ + "linux/bpf_audio_policy_linux.cc", + "linux/bpf_audio_policy_linux.h", +@@ -95,6 +95,27 @@ component("policy") { + "//sandbox/linux:sandbox_services", + "//sandbox/linux:seccomp_bpf", + "//sandbox/linux:suid_sandbox_client", ++ ] ++ } ++ if (is_openbsd) { ++ sources += [ ++ "openbsd/sandbox_openbsd.cc", ++ "openbsd/sandbox_openbsd.h", ++ ] ++ deps += [ ++ "//sandbox:sandbox_buildflags", ++ "//ui/gfx/x", ++ ] ++ libs = [ "util" ] ++ } ++ if (is_freebsd) { ++ sources += [ ++ "freebsd/sandbox_freebsd.cc", ++ "freebsd/sandbox_freebsd.h", ++ ] ++ deps += [ ++ "//sandbox:sandbox_buildflags", ++ "//ui/gfx/x", + ] + } + if (is_chromeos_ash) { diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_features.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_features.cc new file mode 100644 index 000000000000..89c2f4d1739a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_features.cc @@ -0,0 +1,14 @@ +--- sandbox/policy/features.cc.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/features.cc +@@ -14,7 +14,11 @@ namespace sandbox::policy::features { + // Enables network service sandbox. + // (Only causes an effect when feature kNetworkService is enabled.) + const base::Feature kNetworkServiceSandbox{"NetworkServiceSandbox", ++#if BUILDFLAG(IS_BSD) ++ base::FEATURE_ENABLED_BY_DEFAULT}; ++#else + base::FEATURE_DISABLED_BY_DEFAULT}; ++#endif + #endif // !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_FUCHSIA) + + #if BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc new file mode 100644 index 000000000000..d5daea12234a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc @@ -0,0 +1,256 @@ +--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/freebsd/sandbox_freebsd.cc +@@ -0,0 +1,253 @@ ++// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++ ++#include <dirent.h> ++#include <fcntl.h> ++#include <stdint.h> ++#include <sys/resource.h> ++#include <sys/stat.h> ++#include <sys/time.h> ++#include <sys/types.h> ++#include <unistd.h> ++ ++#include <limits> ++#include <memory> ++#include <string> ++#include <vector> ++ ++#include "base/bind.h" ++#include "base/callback_helpers.h" ++#include "base/command_line.h" ++#include "base/debug/stack_trace.h" ++#include "base/feature_list.h" ++#include "base/files/file_path.h" ++#include "base/files/file_util.h" ++#include "base/files/scoped_file.h" ++#include "base/logging.h" ++#include "base/memory/singleton.h" ++#include "base/path_service.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/strings/string_number_conversions.h" ++#include "base/system/sys_info.h" ++#include "base/threading/thread.h" ++#include "base/time/time.h" ++#include "build/build_config.h" ++#include "sandbox/constants.h" ++#include "sandbox/linux/services/credentials.h" ++#include "sandbox/linux/services/namespace_sandbox.h" ++#include "sandbox/linux/services/proc_util.h" ++#include "sandbox/linux/services/resource_limits.h" ++#include "sandbox/linux/services/thread_helpers.h" ++#include "sandbox/linux/syscall_broker/broker_command.h" ++#include "sandbox/linux/syscall_broker/broker_process.h" ++#include "sandbox/policy/sandbox.h" ++#include "sandbox/policy/sandbox_type.h" ++#include "sandbox/policy/mojom/sandbox.mojom.h" ++#include "sandbox/policy/switches.h" ++#include "sandbox/sandbox_buildflags.h" ++ ++#if BUILDFLAG(USING_SANITIZER) ++#include <sanitizer/common_interface_defs.h> ++#endif ++ ++#if defined(USE_NSS_CERTS) ++#include "crypto/nss_util.h" ++#endif ++ ++#include "ui/gfx/x/connection.h" ++#include "ui/gfx/font_util.h" ++ ++#include <X11/Xlib.h> ++ ++#define MAXTOKENS 3 ++ ++#define _UNVEIL_MAIN "/etc/ungoogled-chromium/unveil.main"; ++#define _UNVEIL_RENDERER "/etc/ungoogled-chromium/unveil.renderer"; ++#define _UNVEIL_GPU "/etc/ungoogled-chromium/unveil.gpu"; ++#define _UNVEIL_PLUGIN "/etc/ungoogled-chromium/unveil.plugin"; ++#define _UNVEIL_UTILITY "/etc/ungoogled-chromium/unveil.utility"; ++#define _UNVEIL_UTILITY_NETWORK "/etc/ungoogled-chromium/unveil.utility_network"; ++#define _UNVEIL_UTILITY_AUDIO "/etc/ungoogled-chromium/unveil.utility_audio"; ++#define _UNVEIL_UTILITY_VIDEO "/etc/ungoogled-chromium/unveil.utility_video"; ++ ++namespace sandbox { ++namespace policy { ++ ++SandboxLinux::SandboxLinux() ++ : sandbox_status_flags_(kInvalid), ++ pre_initialized_(false), ++ initialize_sandbox_ran_(false), ++ broker_process_(nullptr) { ++} ++ ++SandboxLinux::~SandboxLinux() { ++ if (pre_initialized_) { ++ CHECK(initialize_sandbox_ran_); ++ } ++} ++ ++SandboxLinux* SandboxLinux::GetInstance() { ++ SandboxLinux* instance = base::Singleton<SandboxLinux>::get(); ++ CHECK(instance); ++ return instance; ++} ++ ++void SandboxLinux::StopThread(base::Thread* thread) { ++ DCHECK(thread); ++ thread->Stop(); ++} ++ ++void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) { ++ CHECK(!pre_initialized_); ++#if BUILDFLAG(USING_SANITIZER) ++ // Sanitizers need to open some resources before the sandbox is enabled. ++ // This should not fork, not launch threads, not open a directory. ++ __sanitizer_sandbox_on_notify(sanitizer_args()); ++ sanitizer_args_.reset(); ++#endif ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ const std::string process_type = ++ command_line->GetSwitchValueASCII(switches::kProcessType); ++ ++ base::SysInfo::AmountOfPhysicalMemory(); ++ base::SysInfo::NumberOfProcessors(); ++ ++#if defined(USE_NSS_CERTS) ++ // The main process has to initialize the ~/.pki dir which won't work ++ // after unveil(2). ++ if (process_type.empty()) ++ crypto::EnsureNSSInit(); ++#endif ++ ++ // cache the XErrorDB by forcing a read on it ++ { ++ auto* connection = x11::Connection::Get(); ++ auto* display = connection->GetXlibDisplay().display(); ++ ++ char buf[1]; ++ XGetErrorDatabaseText(display, "XProtoError", "0", "", buf, std::size(buf)); ++ } ++ ++ if (process_type.empty()) { ++ base::FilePath cache_directory, local_directory; ++ ++ base::PathService::Get(base::DIR_CACHE, &cache_directory); ++ base::PathService::Get(base::DIR_HOME, &local_directory); ++ ++ cache_directory = cache_directory.AppendASCII("ungoogled-chromium"); ++ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); ++ ++ if (!base::CreateDirectory(cache_directory)) { ++ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; ++ } ++ ++ if (!base::CreateDirectory(local_directory)) { ++ LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; ++ } ++ } ++ ++ if (process_type == switches::kRendererProcess) ++ gfx::InitializeFonts(); ++ ++ pre_initialized_ = true; ++} ++ ++bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, ++ SandboxLinux::PreSandboxHook hook, ++ const Options& options) { ++ DCHECK(!initialize_sandbox_ran_); ++ initialize_sandbox_ran_ = true; ++ ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ const std::string process_type = ++ command_line->GetSwitchValueASCII(switches::kProcessType); ++ ++ if (command_line->HasSwitch(switches::kNoSandbox)) ++ return true; ++ ++ VLOG(1) << "SandboxLinux::InitializeSandbox: process_type=" ++ << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type); ++ ++ // Only one thread is running, pre-initialize if not already done. ++ if (!pre_initialized_) ++ PreinitializeSandbox(sandbox_type); ++ ++ // Attempt to limit the future size of the address space of the process. ++ int error = 0; ++ const bool limited_as = LimitAddressSpace(&error); ++ if (error) { ++ // Restore errno. Internally to |LimitAddressSpace|, the errno due to ++ // setrlimit may be lost. ++ errno = error; ++ PCHECK(limited_as); ++ } ++ ++ return true; ++} ++ ++bool SandboxLinux::LimitAddressSpace(int* error) { ++#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \ ++ !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) { ++ return false; ++ } ++ ++ // Unfortunately, it does not appear possible to set RLIMIT_AS such that it ++ // will both (a) be high enough to support V8's and WebAssembly's address ++ // space requirements while also (b) being low enough to mitigate exploits ++ // using integer overflows that require large allocations, heap spray, or ++ // other memory-hungry attack modes. ++ ++ *error = sandbox::ResourceLimits::Lower( ++ RLIMIT_DATA, static_cast<rlim_t>(sandbox::kDataSizeLimit)); ++ ++ // Cache the resource limit before turning on the sandbox. ++ base::SysInfo::AmountOfVirtualMemory(); ++ base::SysInfo::MaxSharedMemorySize(); ++ ++ return *error == 0; ++#else ++ base::SysInfo::AmountOfVirtualMemory(); ++ return false; ++#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && ++ // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) ++} ++ ++// static ++std::string SandboxLinux::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) { ++ switch (sandbox_type) { ++ case sandbox::mojom::Sandbox::kNoSandbox: ++ return "Unsandboxed"; ++ case sandbox::mojom::Sandbox::kRenderer: ++ return "Renderer"; ++ case sandbox::mojom::Sandbox::kUtility: ++ return "Utility"; ++ case sandbox::mojom::Sandbox::kGpu: ++ return "GPU"; ++ case sandbox::mojom::Sandbox::kPpapi: ++ return "PPAPI"; ++ case sandbox::mojom::Sandbox::kNetwork: ++ return "Network"; ++ case sandbox::mojom::Sandbox::kCdm: ++ return "CDM"; ++ case sandbox::mojom::Sandbox::kPrintCompositor: ++ return "Print Compositor"; ++ case sandbox::mojom::Sandbox::kAudio: ++ return "Audio"; ++ case sandbox::mojom::Sandbox::kSpeechRecognition: ++ return "Speech Recognition"; ++ case sandbox::mojom::Sandbox::kService: ++ return "Service"; ++ case sandbox::mojom::Sandbox::kVideoCapture: ++ return "Video Capture"; ++ default: ++ return "Unknown"; ++ } ++} ++ ++} // namespace policy ++} // namespace sandbox diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h b/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h new file mode 100644 index 000000000000..499927a3dd2f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h @@ -0,0 +1,281 @@ +--- sandbox/policy/freebsd/sandbox_freebsd.h.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/freebsd/sandbox_freebsd.h +@@ -0,0 +1,278 @@ ++// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++#ifndef SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ ++#define SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ ++ ++#include <memory> ++#include <string> ++#include <vector> ++ ++#include "base/logging.h" ++#include "base/posix/global_descriptors.h" ++#include "sandbox/policy/export.h" ++#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" ++#include "sandbox/policy/mojom/sandbox.mojom.h" ++#include "sandbox/policy/sanitizer_buildflags.h" ++ ++#if BUILDFLAG(USING_SANITIZER) ++#include <sanitizer/common_interface_defs.h> ++#endif ++ ++namespace base { ++template <typename T> ++struct DefaultSingletonTraits; ++class Thread; ++} // namespace base ++ ++namespace sandbox { ++namespace syscall_broker { ++class BrokerProcess; ++} // namespace syscall_broker ++} // namespace sandbox ++ ++namespace sandbox { ++namespace policy { ++ ++// A singleton class to represent and change our sandboxing state for the ++// three main Linux sandboxes. ++// The sandboxing model allows using two layers of sandboxing. The first layer ++// can be implemented either with unprivileged namespaces or with the setuid ++// sandbox. This class provides a way to engage the namespace sandbox, but does ++// not deal with the legacy setuid sandbox directly. ++// The second layer is mainly based on seccomp-bpf and is engaged with ++// InitializeSandbox(). InitializeSandbox() is also responsible for "sealing" ++// the first layer of sandboxing. That is, InitializeSandbox must always be ++// called to have any meaningful sandboxing at all. ++class SANDBOX_POLICY_EXPORT SandboxLinux { ++ public: ++ // This is a list of sandbox IPC methods which the renderer may send to the ++ // sandbox host. See ++ // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_sandbox_ipc.md ++ // This isn't the full list, values < 32 are reserved for methods called from ++ // Skia, and values < 64 are reserved for libc_interceptor.cc. ++ enum LinuxSandboxIPCMethods { ++ DEPRECATED_METHOD_GET_FALLBACK_FONT_FOR_CHAR = 64, ++ DEPRECATED_METHOD_GET_CHILD_WITH_INODE, ++ DEPRECATED_METHOD_GET_STYLE_FOR_STRIKE, ++ METHOD_MAKE_SHARED_MEMORY_SEGMENT, ++ DEPRECATED_METHOD_MATCH_WITH_FALLBACK, ++ }; ++ ++ // These form a bitmask which describes the conditions of the Linux sandbox. ++ // Note: this doesn't strictly give you the current status, it states ++ // what will be enabled when the relevant processes are initialized. ++ enum Status { ++ // SUID sandbox active. ++ kSUID = 1 << 0, ++ ++ // Sandbox is using a new PID namespace. ++ kPIDNS = 1 << 1, ++ ++ // Sandbox is using a new network namespace. ++ kNetNS = 1 << 2, ++ ++ // seccomp-bpf sandbox active. ++ kSeccompBPF = 1 << 3, ++ ++ // The Yama LSM module is present and enforcing. ++ kYama = 1 << 4, ++ ++ // seccomp-bpf sandbox is active and the kernel supports TSYNC. ++ kSeccompTSYNC = 1 << 5, ++ ++ // User namespace sandbox active. ++ kUserNS = 1 << 6, ++ ++ // A flag that denotes an invalid sandbox status. ++ kInvalid = 1 << 31, ++ }; ++ ++ // SandboxLinux Options are a superset of SandboxSecompBPF Options. ++ struct Options : public SandboxSeccompBPF::Options { ++ // When running with a zygote, the namespace sandbox will have already ++ // been engaged prior to initializing SandboxLinux itself, and need not ++ // be done so again. Set to true to indicate that there isn't a zygote ++ // for this process and the step is to be performed here explicitly. ++ bool engage_namespace_sandbox = false; ++ ++ // Allow starting the sandbox with multiple threads already running. This ++ // will enable TSYNC for seccomp-BPF, which syncs the seccomp-BPF policy ++ // across all running threads. ++ bool allow_threads_during_sandbox_init = false; ++ ++ // Enables the CHECK for open directories. The open directory check is only ++ // useful for the chroot jail (from the semantic layer of the sandbox), and ++ // can safely be disabled if we are only enabling the seccomp-BPF layer. ++ bool check_for_open_directories = true; ++ }; ++ ++ // Callers can provide this hook to run code right before the policy ++ // is passed to the BPF compiler and the sandbox is engaged. If ++ // pre_sandbox_hook() returns true, the sandbox will be engaged ++ // afterwards, otherwise the process is terminated. ++ using PreSandboxHook = base::OnceCallback<bool(Options)>; ++ ++ // Get our singleton instance. ++ static SandboxLinux* GetInstance(); ++ ++ SandboxLinux(const SandboxLinux&) = delete; ++ SandboxLinux& operator=(const SandboxLinux&) = delete; ++ ++ bool SetPledge(const char *pstring, const char *ppath); ++ bool SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type); ++ ++ // Do some initialization that can only be done before any of the sandboxes ++ // are enabled. If using the setuid sandbox, this should be called manually ++ // before the setuid sandbox is engaged. ++ // Security: When this runs, it is imperative that either InitializeSandbox() ++ // runs as well or that all file descriptors returned in ++ // GetFileDescriptorsToClose() get closed. ++ // Otherwise file descriptors that bypass the security of the setuid sandbox ++ // would be kept open. One must be particularly careful if a process performs ++ // a fork(). ++ void PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Check that the current process is the init process of a new PID ++ // namespace and then proceed to drop access to the file system by using ++ // a new unprivileged namespace. This is a layer-1 sandbox. ++ // In order for this sandbox to be effective, it must be "sealed" by calling ++ // InitializeSandbox(). ++ void EngageNamespaceSandbox(bool from_zygote); ++ ++ // Return a list of file descriptors to close if PreinitializeSandbox() ran ++ // but InitializeSandbox() won't. Avoid using. ++ // TODO(jln): get rid of this hack. ++ std::vector<int> GetFileDescriptorsToClose(); ++ ++ // Seal an eventual layer-1 sandbox and initialize the layer-2 sandbox with ++ // an adequate policy depending on the process type and command line ++ // arguments. ++ // Currently the layer-2 sandbox is composed of seccomp-bpf and address space ++ // limitations. ++ // This function should only be called without any thread running. ++ bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, ++ PreSandboxHook hook, ++ const Options& options); ++ ++ // Stop |thread| in a way that can be trusted by the sandbox. ++ void StopThread(base::Thread* thread); ++ ++ // Returns the status of the renderer, worker and ppapi sandbox. Can only ++ // be queried after going through PreinitializeSandbox(). This is a bitmask ++ // and uses the constants defined in "enum Status" above. Since the ++ // status needs to be provided before the sandboxes are actually started, ++ // this returns what will actually happen once InitializeSandbox() ++ // is called from inside these processes. ++ int GetStatus(); ++ ++ static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Returns true if the current process is single-threaded or if the number ++ // of threads cannot be determined. ++ bool IsSingleThreaded() const; ++ ++ // Returns true if we started Seccomp BPF. ++ bool seccomp_bpf_started() const; ++ ++ // Check the policy and eventually start the seccomp-bpf sandbox. This should ++ // never be called with threads started. If we detect that threads have ++ // started we will crash. ++ bool StartSeccompBPF(sandbox::mojom::Sandbox sandbox_type, ++ PreSandboxHook hook, ++ const Options& options); ++ ++ // Limit the address space of the current process (and its children) to make ++ // some vulnerabilities harder to exploit. Writes the errno due to setrlimit ++ // (including 0 if no error) into |error|. ++ bool LimitAddressSpace(int* error); ++ ++ // Returns a file descriptor to proc. The file descriptor is no longer valid ++ // after the sandbox has been sealed. ++ int proc_fd() const { ++ DCHECK_NE(-1, proc_fd_); ++ return proc_fd_; ++ } ++ ++#if BUILDFLAG(USING_SANITIZER) ++ __sanitizer_sandbox_arguments* sanitizer_args() const { ++ return sanitizer_args_.get(); ++ }; ++#endif ++ ++ // A BrokerProcess is a helper that is started before the sandbox is engaged, ++ // typically from a pre-sandbox hook, that will serve requests to access ++ // files over an IPC channel. The client of this runs from a SIGSYS handler ++ // triggered by the seccomp-bpf sandbox. ++ // |client_sandbox_policy| is the policy being run by the client, and is ++ // used to derive the equivalent broker-side policy. ++ // |broker_side_hook| is an alternate pre-sandbox hook to be run before the ++ // broker itself gets sandboxed, to which the broker side policy and ++ // |options| are passed. ++ // Crashes the process if the broker can not be started since continuation ++ // is impossible (and presumably unsafe). ++ // This should never be destroyed, as after the sandbox is started it is ++ // vital to the process. ++#if 0 ++ void StartBrokerProcess( ++ const sandbox::syscall_broker::BrokerCommandSet& allowed_command_set, ++ std::vector<sandbox::syscall_broker::BrokerFilePermission> permissions, ++ PreSandboxHook broker_side_hook, ++ const Options& options); ++ ++ sandbox::syscall_broker::BrokerProcess* broker_process() const { ++ return broker_process_; ++ } ++#endif ++ ++ private: ++ friend struct base::DefaultSingletonTraits<SandboxLinux>; ++ ++ SandboxLinux(); ++ ~SandboxLinux(); ++ ++ // We must have been pre_initialized_ before using these. ++ bool seccomp_bpf_supported() const; ++ bool seccomp_bpf_with_tsync_supported() const; ++ ++ // Returns true if it can be determined that the current process has open ++ // directories that are not managed by the SandboxLinux class. This would ++ // be a vulnerability as it would allow to bypass the setuid sandbox. ++ bool HasOpenDirectories() const; ++ ++ // The last part of the initialization is to make sure any temporary "hole" ++ // in the sandbox is closed. For now, this consists of closing proc_fd_. ++ void SealSandbox(); ++ ++ // GetStatus() makes promises as to how the sandbox will behave. This ++ // checks that no promises have been broken. ++ void CheckForBrokenPromises(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Stop |thread| and make sure it does not appear in /proc/self/tasks/ ++ // anymore. ++ void StopThreadAndEnsureNotCounted(base::Thread* thread) const; ++ ++ // A file descriptor to /proc. It's dangerous to have it around as it could ++ // allow for sandbox bypasses. It needs to be closed before we consider ++ // ourselves sandboxed. ++ int proc_fd_; ++ ++ bool seccomp_bpf_started_; ++ // The value returned by GetStatus(). Gets computed once and then cached. ++ int sandbox_status_flags_; ++ // Did PreinitializeSandbox() run? ++ bool pre_initialized_; ++ bool seccomp_bpf_supported_; // Accurate if pre_initialized_. ++ bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_. ++ bool yama_is_enforcing_; // Accurate if pre_initialized_. ++ bool initialize_sandbox_ran_; // InitializeSandbox() was called. ++#if BUILDFLAG(USING_SANITIZER) ++ std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_; ++#endif ++ sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global. ++}; ++ ++} // namespace policy ++} // namespace sandbox ++ ++#endif // SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_mojom_sandbox.mojom b/www/ungoogled-chromium/files/patch-sandbox_policy_mojom_sandbox.mojom new file mode 100644 index 000000000000..555d3741a197 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_mojom_sandbox.mojom @@ -0,0 +1,15 @@ +--- sandbox/policy/mojom/sandbox.mojom.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/mojom/sandbox.mojom +@@ -72,6 +72,12 @@ enum Sandbox { + [EnableIf=is_fuchsia] + kVideoCapture, + ++ [EnableIf=is_openbsd] ++ kVideoCapture, ++ ++ [EnableIf=is_freebsd] ++ kVideoCapture, ++ + // Allows access to file contents and Windows APIs for parsing icons from PE + // files. + [EnableIf=is_win] diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc new file mode 100644 index 000000000000..9861f34c7f73 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc @@ -0,0 +1,416 @@ +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/openbsd/sandbox_openbsd.cc +@@ -0,0 +1,413 @@ ++// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++ ++#include <dirent.h> ++#include <fcntl.h> ++#include <stdint.h> ++#include <sys/resource.h> ++#include <sys/stat.h> ++#include <sys/time.h> ++#include <sys/types.h> ++#include <unistd.h> ++#include <util.h> ++ ++#include <limits> ++#include <memory> ++#include <string> ++#include <vector> ++ ++#include "base/bind.h" ++#include "base/callback_helpers.h" ++#include "base/command_line.h" ++#include "base/debug/stack_trace.h" ++#include "base/feature_list.h" ++#include "base/files/file_path.h" ++#include "base/files/file_util.h" ++#include "base/files/scoped_file.h" ++#include "base/logging.h" ++#include "base/memory/singleton.h" ++#include "base/path_service.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/strings/string_number_conversions.h" ++#include "base/system/sys_info.h" ++#include "base/threading/thread.h" ++#include "base/time/time.h" ++#include "build/build_config.h" ++#include "sandbox/constants.h" ++#include "sandbox/linux/services/credentials.h" ++#include "sandbox/linux/services/namespace_sandbox.h" ++#include "sandbox/linux/services/proc_util.h" ++#include "sandbox/linux/services/resource_limits.h" ++#include "sandbox/linux/services/thread_helpers.h" ++#include "sandbox/linux/syscall_broker/broker_command.h" ++#include "sandbox/linux/syscall_broker/broker_process.h" ++#include "sandbox/policy/sandbox.h" ++#include "sandbox/policy/sandbox_type.h" ++#include "sandbox/policy/mojom/sandbox.mojom.h" ++#include "sandbox/policy/switches.h" ++#include "sandbox/sandbox_buildflags.h" ++ ++#if BUILDFLAG(USING_SANITIZER) ++#include <sanitizer/common_interface_defs.h> ++#endif ++ ++#if defined(USE_NSS_CERTS) ++#include "crypto/nss_util.h" ++#endif ++ ++#include "third_party/boringssl/src/include/openssl/crypto.h" ++ ++#include "ui/gfx/x/connection.h" ++#include "ui/gfx/font_util.h" ++ ++#include <X11/Xlib.h> ++ ++#define MAXTOKENS 3 ++ ++#define _UNVEIL_MAIN "/etc/ungoogled-chromium/unveil.main"; ++#define _UNVEIL_RENDERER "/etc/ungoogled-chromium/unveil.renderer"; ++#define _UNVEIL_GPU "/etc/ungoogled-chromium/unveil.gpu"; ++#define _UNVEIL_PLUGIN "/etc/ungoogled-chromium/unveil.plugin"; ++#define _UNVEIL_UTILITY "/etc/ungoogled-chromium/unveil.utility"; ++#define _UNVEIL_UTILITY_NETWORK "/etc/ungoogled-chromium/unveil.utility_network"; ++#define _UNVEIL_UTILITY_AUDIO "/etc/ungoogled-chromium/unveil.utility_audio"; ++#define _UNVEIL_UTILITY_VIDEO "/etc/ungoogled-chromium/unveil.utility_video"; ++ ++namespace sandbox { ++namespace policy { ++ ++SandboxLinux::SandboxLinux() ++ : unveil_initialized_(false), ++ sandbox_status_flags_(kInvalid), ++ pre_initialized_(false), ++ initialize_sandbox_ran_(false), ++ broker_process_(nullptr) { ++} ++ ++SandboxLinux::~SandboxLinux() { ++ if (pre_initialized_) { ++ CHECK(initialize_sandbox_ran_); ++ } ++} ++ ++SandboxLinux* SandboxLinux::GetInstance() { ++ SandboxLinux* instance = base::Singleton<SandboxLinux>::get(); ++ CHECK(instance); ++ return instance; ++} ++ ++void SandboxLinux::StopThread(base::Thread* thread) { ++ DCHECK(thread); ++ thread->Stop(); ++} ++ ++void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) { ++ CHECK(!pre_initialized_); ++#if BUILDFLAG(USING_SANITIZER) ++ // Sanitizers need to open some resources before the sandbox is enabled. ++ // This should not fork, not launch threads, not open a directory. ++ __sanitizer_sandbox_on_notify(sanitizer_args()); ++ sanitizer_args_.reset(); ++#endif ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ const std::string process_type = ++ command_line->GetSwitchValueASCII(switches::kProcessType); ++ ++ base::SysInfo::AmountOfPhysicalMemory(); ++ base::SysInfo::NumberOfProcessors(); ++ base::SysInfo::CPUModelName(); ++ ++#if defined(USE_NSS_CERTS) ++ // The main process has to initialize the ~/.pki dir which won't work ++ // after unveil(2). ++ if (process_type.empty()) ++ crypto::EnsureNSSInit(); ++#endif ++ ++ if (process_type.empty()) ++ CRYPTO_pre_sandbox_init(); ++ ++ // cache the XErrorDB by forcing a read on it ++ { ++ auto* connection = x11::Connection::Get(); ++ auto* display = connection->GetXlibDisplay().display(); ++ ++ char buf[1]; ++ XGetErrorDatabaseText(display, "XProtoError", "0", "", buf, std::size(buf)); ++ } ++ ++ if (process_type.empty()) { ++ base::FilePath cache_directory, local_directory; ++ ++ base::PathService::Get(base::DIR_CACHE, &cache_directory); ++ base::PathService::Get(base::DIR_HOME, &local_directory); ++ ++ cache_directory = cache_directory.AppendASCII("ungoogled-chromium"); ++ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); ++ ++ if (!base::CreateDirectory(cache_directory)) { ++ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; ++ } ++ ++ if (!base::CreateDirectory(local_directory)) { ++ LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; ++ } ++ } ++ ++ if (process_type == switches::kRendererProcess) ++ gfx::InitializeFonts(); ++ ++ if (!command_line->HasSwitch(switches::kDisableUnveil)) ++ SetUnveil(process_type, sandbox_type); ++ ++ pre_initialized_ = true; ++} ++ ++bool SandboxLinux::SetPledge(const char *pstring, const char *ppath) { ++ FILE *fp; ++ char *s = NULL; ++ size_t len = 0; ++ ssize_t read; ++ ++ if (pstring != NULL) { ++ if (pledge(pstring, NULL) == -1) ++ goto err; ++ } else if (ppath != NULL) { ++ fp = fopen(ppath, "r"); ++ if (fp != NULL) { ++ while ((read = getline(&s, &len, fp)) != -1 ) { ++ if (s[strlen(s)-1] == '\n') ++ s[strlen(s)-1] = '\0'; ++ if (pledge(s, NULL) == -1) ++ goto err; ++ } ++ fclose(fp); ++ } else { ++ LOG(ERROR) << "fopen() failed, errno: " << errno; ++ return false; ++ } ++ } ++ return true; ++err: ++ LOG(ERROR) << "pledge() failed, errno: " << errno; ++ return false; ++} ++ ++bool SandboxLinux::SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type) { ++ FILE *fp; ++ char *s = NULL, *cp = NULL, *home = NULL, **ap, *tokens[MAXTOKENS]; ++ char path[PATH_MAX]; ++ const char *ufile; ++ size_t len = 0, lineno = 0; ++ ++ if (process_type.empty()) { ++ ufile = _UNVEIL_MAIN; ++ } else if (process_type == switches::kRendererProcess) { ++ ufile = _UNVEIL_RENDERER; ++ } else if (process_type == switches::kGpuProcess) { ++ ufile = _UNVEIL_GPU; ++ } else if (process_type == switches::kPpapiPluginProcess) { ++ ufile = _UNVEIL_PLUGIN; ++ } else if (process_type == switches::kUtilityProcess) { ++ if (sandbox_type == sandbox::mojom::Sandbox::kNetwork) { ++ ufile = _UNVEIL_UTILITY_NETWORK; ++ } else if (sandbox_type == sandbox::mojom::Sandbox::kAudio) { ++ ufile = _UNVEIL_UTILITY_AUDIO; ++ } else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture) { ++ ufile = _UNVEIL_UTILITY_VIDEO; ++ } else { ++ ufile = _UNVEIL_UTILITY; ++ } ++ } ++ ++ fp = fopen(ufile, "r"); ++ if (fp != NULL) { ++ while (!feof(fp)) { ++ if ((s = fparseln(fp, &len, &lineno, NULL, ++ FPARSELN_UNESCCOMM | FPARSELN_UNESCCONT)) == NULL) { ++ if (ferror(fp)) { ++ LOG(ERROR) << "ferror(), errno: " << errno; ++ _exit(1); ++ } else { ++ continue; ++ } ++ } ++ cp = s; ++ cp += strspn(cp, " \t\n"); /* eat whitespace */ ++ if (cp[0] == '\0') ++ continue; ++ ++ for (ap = tokens; ap < &tokens[MAXTOKENS - 1] && ++ (*ap = strsep(&cp, " \t")) != NULL;) { ++ if (**ap != '\0') ++ ap++; ++ } ++ *ap = NULL; ++ ++ if (tokens[1] == NULL) { ++ LOG(ERROR) << ufile << ": line " << lineno << ": must supply value to " << s; ++ _exit(1); ++ } ++ ++ if (tokens[0][0] == '~') { ++ if ((home = getenv("HOME")) == NULL || *home == '\0') { ++ LOG(ERROR) << "failed to get home"; ++ _exit(1); ++ } ++ memmove(tokens[0], tokens[0] + 1, strlen(tokens[0])); ++ strncpy(path, home, sizeof(path) - 1); ++ path[sizeof(path) - 1] = '\0'; ++ strncat(path, tokens[0], sizeof(path) - 1 - strlen(path)); ++ } else { ++ strncpy(path, tokens[0], sizeof(path) - 1); ++ path[sizeof(path) - 1] = '\0'; ++ } ++ ++ if (unveil(path, tokens[1]) == -1) { ++ LOG(ERROR) << "failed unveiling " << path << " with permissions " << tokens[1]; ++ _exit(1); ++ } else { ++ VLOG(1) << "unveiling " << path << " with permissions " << tokens[1]; ++ } ++ } ++ fclose(fp); ++ } else { ++ LOG(ERROR) << "failed to open " << ufile << " errno: " << errno; ++ _exit(1); ++ } ++ ++ unveil_initialized_ = true; ++ ++ return true; ++} ++ ++bool SandboxLinux::unveil_initialized() const { ++ return unveil_initialized_; ++} ++ ++bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, ++ SandboxLinux::PreSandboxHook hook, ++ const Options& options) { ++ DCHECK(!initialize_sandbox_ran_); ++ initialize_sandbox_ran_ = true; ++ ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ const std::string process_type = ++ command_line->GetSwitchValueASCII(switches::kProcessType); ++ ++ if (command_line->HasSwitch(switches::kNoSandbox)) ++ return true; ++ ++ VLOG(1) << "SandboxLinux::InitializeSandbox: process_type=" ++ << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type); ++ ++ // Only one thread is running, pre-initialize if not already done. ++ if (!pre_initialized_) ++ PreinitializeSandbox(sandbox_type); ++ ++ // Attempt to limit the future size of the address space of the process. ++ int error = 0; ++ const bool limited_as = LimitAddressSpace(&error); ++ if (error) { ++ // Restore errno. Internally to |LimitAddressSpace|, the errno due to ++ // setrlimit may be lost. ++ errno = error; ++ PCHECK(limited_as); ++ } ++ ++ if (process_type.empty()) { ++ // XXX use a file for listing pledges of the main process for now ++ // XXX not having the file is not a fatal error ++ SetPledge(NULL, "/etc/ungoogled-chromium/pledge.main"); ++ } else if (process_type == switches::kRendererProcess) { ++ // prot_exec needed by v8 ++ // flock needed by sqlite3 locking ++ SetPledge("stdio rpath flock prot_exec recvfd sendfd ps", NULL); ++ } else if (process_type == switches::kGpuProcess) { ++ SetPledge("stdio rpath cpath wpath getpw drm prot_exec recvfd sendfd tmppath", NULL); ++ } else if (process_type == switches::kPpapiPluginProcess) { ++ // prot_exec needed by v8 ++ SetPledge("stdio rpath prot_exec recvfd sendfd", NULL); ++ } else if (process_type == switches::kUtilityProcess) { ++ if (sandbox_type == sandbox::mojom::Sandbox::kAudio) ++ SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_audio"); ++ else if (sandbox_type == sandbox::mojom::Sandbox::kNetwork) ++ SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_network"); ++ else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture) ++ SetPledge(NULL, "/etc/ungoogled-chromium/pledge.utility_video"); ++ else ++ SetPledge("stdio rpath cpath wpath fattr flock sendfd recvfd prot_exec", NULL); ++ } else { ++ LOG(ERROR) << "non-pledge()'d process: " << process_type; ++ return false; ++ } ++ ++ return true; ++} ++ ++bool SandboxLinux::LimitAddressSpace(int* error) { ++#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \ ++ !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) { ++ return false; ++ } ++ ++ // Unfortunately, it does not appear possible to set RLIMIT_AS such that it ++ // will both (a) be high enough to support V8's and WebAssembly's address ++ // space requirements while also (b) being low enough to mitigate exploits ++ // using integer overflows that require large allocations, heap spray, or ++ // other memory-hungry attack modes. ++ ++ *error = sandbox::ResourceLimits::Lower( ++ RLIMIT_DATA, static_cast<rlim_t>(sandbox::kDataSizeLimit)); ++ ++ // Cache the resource limit before turning on the sandbox. ++ base::SysInfo::AmountOfVirtualMemory(); ++ base::SysInfo::MaxSharedMemorySize(); ++ ++ return *error == 0; ++#else ++ base::SysInfo::AmountOfVirtualMemory(); ++ return false; ++#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && ++ // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) ++} ++ ++// static ++std::string SandboxLinux::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) { ++ switch (sandbox_type) { ++ case sandbox::mojom::Sandbox::kNoSandbox: ++ return "Unsandboxed"; ++ case sandbox::mojom::Sandbox::kRenderer: ++ return "Renderer"; ++ case sandbox::mojom::Sandbox::kUtility: ++ return "Utility"; ++ case sandbox::mojom::Sandbox::kGpu: ++ return "GPU"; ++ case sandbox::mojom::Sandbox::kPpapi: ++ return "PPAPI"; ++ case sandbox::mojom::Sandbox::kNetwork: ++ return "Network"; ++ case sandbox::mojom::Sandbox::kCdm: ++ return "CDM"; ++ case sandbox::mojom::Sandbox::kPrintCompositor: ++ return "Print Compositor"; ++ case sandbox::mojom::Sandbox::kAudio: ++ return "Audio"; ++ case sandbox::mojom::Sandbox::kSpeechRecognition: ++ return "Speech Recognition"; ++ case sandbox::mojom::Sandbox::kService: ++ return "Service"; ++ case sandbox::mojom::Sandbox::kVideoCapture: ++ return "Video Capture"; ++ default: ++ return "Unknown"; ++ } ++} ++ ++} // namespace policy ++} // namespace sandbox diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h b/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h new file mode 100644 index 000000000000..d167f3f73eec --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h @@ -0,0 +1,285 @@ +--- sandbox/policy/openbsd/sandbox_openbsd.h.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/openbsd/sandbox_openbsd.h +@@ -0,0 +1,282 @@ ++// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++#ifndef SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ ++#define SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ ++ ++#include <memory> ++#include <string> ++#include <vector> ++ ++#include "base/logging.h" ++#include "base/posix/global_descriptors.h" ++#include "sandbox/policy/export.h" ++#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" ++#include "sandbox/policy/mojom/sandbox.mojom.h" ++#include "sandbox/policy/sanitizer_buildflags.h" ++ ++#if BUILDFLAG(USING_SANITIZER) ++#include <sanitizer/common_interface_defs.h> ++#endif ++ ++namespace base { ++template <typename T> ++struct DefaultSingletonTraits; ++class Thread; ++} // namespace base ++ ++namespace sandbox { ++namespace syscall_broker { ++class BrokerProcess; ++} // namespace syscall_broker ++} // namespace sandbox ++ ++namespace sandbox { ++namespace policy { ++ ++// A singleton class to represent and change our sandboxing state for the ++// three main Linux sandboxes. ++// The sandboxing model allows using two layers of sandboxing. The first layer ++// can be implemented either with unprivileged namespaces or with the setuid ++// sandbox. This class provides a way to engage the namespace sandbox, but does ++// not deal with the legacy setuid sandbox directly. ++// The second layer is mainly based on seccomp-bpf and is engaged with ++// InitializeSandbox(). InitializeSandbox() is also responsible for "sealing" ++// the first layer of sandboxing. That is, InitializeSandbox must always be ++// called to have any meaningful sandboxing at all. ++class SANDBOX_POLICY_EXPORT SandboxLinux { ++ public: ++ // This is a list of sandbox IPC methods which the renderer may send to the ++ // sandbox host. See ++ // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_sandbox_ipc.md ++ // This isn't the full list, values < 32 are reserved for methods called from ++ // Skia, and values < 64 are reserved for libc_interceptor.cc. ++ enum LinuxSandboxIPCMethods { ++ DEPRECATED_METHOD_GET_FALLBACK_FONT_FOR_CHAR = 64, ++ DEPRECATED_METHOD_GET_CHILD_WITH_INODE, ++ DEPRECATED_METHOD_GET_STYLE_FOR_STRIKE, ++ METHOD_MAKE_SHARED_MEMORY_SEGMENT, ++ DEPRECATED_METHOD_MATCH_WITH_FALLBACK, ++ }; ++ ++ // These form a bitmask which describes the conditions of the Linux sandbox. ++ // Note: this doesn't strictly give you the current status, it states ++ // what will be enabled when the relevant processes are initialized. ++ enum Status { ++ // SUID sandbox active. ++ kSUID = 1 << 0, ++ ++ // Sandbox is using a new PID namespace. ++ kPIDNS = 1 << 1, ++ ++ // Sandbox is using a new network namespace. ++ kNetNS = 1 << 2, ++ ++ // seccomp-bpf sandbox active. ++ kSeccompBPF = 1 << 3, ++ ++ // The Yama LSM module is present and enforcing. ++ kYama = 1 << 4, ++ ++ // seccomp-bpf sandbox is active and the kernel supports TSYNC. ++ kSeccompTSYNC = 1 << 5, ++ ++ // User namespace sandbox active. ++ kUserNS = 1 << 6, ++ ++ // A flag that denotes an invalid sandbox status. ++ kInvalid = 1 << 31, ++ }; ++ ++ // SandboxLinux Options are a superset of SandboxSecompBPF Options. ++ struct Options : public SandboxSeccompBPF::Options { ++ // When running with a zygote, the namespace sandbox will have already ++ // been engaged prior to initializing SandboxLinux itself, and need not ++ // be done so again. Set to true to indicate that there isn't a zygote ++ // for this process and the step is to be performed here explicitly. ++ bool engage_namespace_sandbox = false; ++ ++ // Allow starting the sandbox with multiple threads already running. This ++ // will enable TSYNC for seccomp-BPF, which syncs the seccomp-BPF policy ++ // across all running threads. ++ bool allow_threads_during_sandbox_init = false; ++ ++ // Enables the CHECK for open directories. The open directory check is only ++ // useful for the chroot jail (from the semantic layer of the sandbox), and ++ // can safely be disabled if we are only enabling the seccomp-BPF layer. ++ bool check_for_open_directories = true; ++ }; ++ ++ // Callers can provide this hook to run code right before the policy ++ // is passed to the BPF compiler and the sandbox is engaged. If ++ // pre_sandbox_hook() returns true, the sandbox will be engaged ++ // afterwards, otherwise the process is terminated. ++ using PreSandboxHook = base::OnceCallback<bool(Options)>; ++ ++ // Get our singleton instance. ++ static SandboxLinux* GetInstance(); ++ ++ SandboxLinux(const SandboxLinux&) = delete; ++ SandboxLinux& operator=(const SandboxLinux&) = delete; ++ ++ bool SetPledge(const char *pstring, const char *ppath); ++ bool SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type); ++ ++ // Do some initialization that can only be done before any of the sandboxes ++ // are enabled. If using the setuid sandbox, this should be called manually ++ // before the setuid sandbox is engaged. ++ // Security: When this runs, it is imperative that either InitializeSandbox() ++ // runs as well or that all file descriptors returned in ++ // GetFileDescriptorsToClose() get closed. ++ // Otherwise file descriptors that bypass the security of the setuid sandbox ++ // would be kept open. One must be particularly careful if a process performs ++ // a fork(). ++ void PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Check that the current process is the init process of a new PID ++ // namespace and then proceed to drop access to the file system by using ++ // a new unprivileged namespace. This is a layer-1 sandbox. ++ // In order for this sandbox to be effective, it must be "sealed" by calling ++ // InitializeSandbox(). ++ void EngageNamespaceSandbox(bool from_zygote); ++ ++ // Return a list of file descriptors to close if PreinitializeSandbox() ran ++ // but InitializeSandbox() won't. Avoid using. ++ // TODO(jln): get rid of this hack. ++ std::vector<int> GetFileDescriptorsToClose(); ++ ++ // Seal an eventual layer-1 sandbox and initialize the layer-2 sandbox with ++ // an adequate policy depending on the process type and command line ++ // arguments. ++ // Currently the layer-2 sandbox is composed of seccomp-bpf and address space ++ // limitations. ++ // This function should only be called without any thread running. ++ bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, ++ PreSandboxHook hook, ++ const Options& options); ++ ++ // Stop |thread| in a way that can be trusted by the sandbox. ++ void StopThread(base::Thread* thread); ++ ++ // Returns the status of the renderer, worker and ppapi sandbox. Can only ++ // be queried after going through PreinitializeSandbox(). This is a bitmask ++ // and uses the constants defined in "enum Status" above. Since the ++ // status needs to be provided before the sandboxes are actually started, ++ // this returns what will actually happen once InitializeSandbox() ++ // is called from inside these processes. ++ int GetStatus(); ++ ++ static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Returns true if the current process is single-threaded or if the number ++ // of threads cannot be determined. ++ bool IsSingleThreaded() const; ++ ++ // Returns true if we started Seccomp BPF. ++ bool seccomp_bpf_started() const; ++ ++ // Returns true if unveil(2) is used. ++ bool unveil_initialized() const; ++ ++ // Check the policy and eventually start the seccomp-bpf sandbox. This should ++ // never be called with threads started. If we detect that threads have ++ // started we will crash. ++ bool StartSeccompBPF(sandbox::mojom::Sandbox sandbox_type, ++ PreSandboxHook hook, ++ const Options& options); ++ ++ // Limit the address space of the current process (and its children) to make ++ // some vulnerabilities harder to exploit. Writes the errno due to setrlimit ++ // (including 0 if no error) into |error|. ++ bool LimitAddressSpace(int* error); ++ ++ // Returns a file descriptor to proc. The file descriptor is no longer valid ++ // after the sandbox has been sealed. ++ int proc_fd() const { ++ DCHECK_NE(-1, proc_fd_); ++ return proc_fd_; ++ } ++ ++#if BUILDFLAG(USING_SANITIZER) ++ __sanitizer_sandbox_arguments* sanitizer_args() const { ++ return sanitizer_args_.get(); ++ }; ++#endif ++ ++ // A BrokerProcess is a helper that is started before the sandbox is engaged, ++ // typically from a pre-sandbox hook, that will serve requests to access ++ // files over an IPC channel. The client of this runs from a SIGSYS handler ++ // triggered by the seccomp-bpf sandbox. ++ // |client_sandbox_policy| is the policy being run by the client, and is ++ // used to derive the equivalent broker-side policy. ++ // |broker_side_hook| is an alternate pre-sandbox hook to be run before the ++ // broker itself gets sandboxed, to which the broker side policy and ++ // |options| are passed. ++ // Crashes the process if the broker can not be started since continuation ++ // is impossible (and presumably unsafe). ++ // This should never be destroyed, as after the sandbox is started it is ++ // vital to the process. ++#if 0 ++ void StartBrokerProcess( ++ const sandbox::syscall_broker::BrokerCommandSet& allowed_command_set, ++ std::vector<sandbox::syscall_broker::BrokerFilePermission> permissions, ++ PreSandboxHook broker_side_hook, ++ const Options& options); ++ ++ sandbox::syscall_broker::BrokerProcess* broker_process() const { ++ return broker_process_; ++ } ++#endif ++ ++ private: ++ friend struct base::DefaultSingletonTraits<SandboxLinux>; ++ ++ SandboxLinux(); ++ ~SandboxLinux(); ++ ++ // We must have been pre_initialized_ before using these. ++ bool seccomp_bpf_supported() const; ++ bool seccomp_bpf_with_tsync_supported() const; ++ ++ // Returns true if it can be determined that the current process has open ++ // directories that are not managed by the SandboxLinux class. This would ++ // be a vulnerability as it would allow to bypass the setuid sandbox. ++ bool HasOpenDirectories() const; ++ ++ // The last part of the initialization is to make sure any temporary "hole" ++ // in the sandbox is closed. For now, this consists of closing proc_fd_. ++ void SealSandbox(); ++ ++ // GetStatus() makes promises as to how the sandbox will behave. This ++ // checks that no promises have been broken. ++ void CheckForBrokenPromises(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Stop |thread| and make sure it does not appear in /proc/self/tasks/ ++ // anymore. ++ void StopThreadAndEnsureNotCounted(base::Thread* thread) const; ++ ++ // A file descriptor to /proc. It's dangerous to have it around as it could ++ // allow for sandbox bypasses. It needs to be closed before we consider ++ // ourselves sandboxed. ++ int proc_fd_; ++ ++ bool seccomp_bpf_started_; ++ bool unveil_initialized_; ++ // The value returned by GetStatus(). Gets computed once and then cached. ++ int sandbox_status_flags_; ++ // Did PreinitializeSandbox() run? ++ bool pre_initialized_; ++ bool seccomp_bpf_supported_; // Accurate if pre_initialized_. ++ bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_. ++ bool yama_is_enforcing_; // Accurate if pre_initialized_. ++ bool initialize_sandbox_ran_; // InitializeSandbox() was called. ++#if BUILDFLAG(USING_SANITIZER) ++ std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_; ++#endif ++ sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global. ++}; ++ ++} // namespace policy ++} // namespace sandbox ++ ++#endif // SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox.cc new file mode 100644 index 000000000000..85211cbee8d2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox.cc @@ -0,0 +1,22 @@ +--- sandbox/policy/sandbox.cc.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/sandbox.cc +@@ -17,6 +17,10 @@ + #include "sandbox/policy/linux/sandbox_linux.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#endif // BUILDFLAG(IS_BSD) ++ + #if BUILDFLAG(IS_MAC) + #include "sandbox/mac/seatbelt.h" + #endif // BUILDFLAG(IS_MAC) +@@ -30,7 +34,7 @@ + namespace sandbox { + namespace policy { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool Sandbox::Initialize(sandbox::mojom::Sandbox sandbox_type, + SandboxLinux::PreSandboxHook hook, + const SandboxLinux::Options& options) { diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox.h b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox.h new file mode 100644 index 000000000000..c07461683129 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox.h @@ -0,0 +1,22 @@ +--- sandbox/policy/sandbox.h.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/sandbox.h +@@ -12,6 +12,10 @@ + #include "sandbox/policy/linux/sandbox_linux.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#endif ++ + namespace sandbox { + namespace mojom { + enum class Sandbox; +@@ -32,7 +36,7 @@ namespace policy { + + class SANDBOX_POLICY_EXPORT Sandbox { + public: +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static bool Initialize(sandbox::mojom::Sandbox sandbox_type, + SandboxLinux::PreSandboxHook hook, + const SandboxLinux::Options& options); diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox__type.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox__type.cc new file mode 100644 index 000000000000..1ad9d3b800d3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_sandbox__type.cc @@ -0,0 +1,70 @@ +--- sandbox/policy/sandbox_type.cc.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/sandbox_type.cc +@@ -39,7 +39,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { + #endif + case Sandbox::kAudio: + return false; +-#if BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + case Sandbox::kVideoCapture: + return false; + #endif +@@ -62,7 +62,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { + case Sandbox::kMirroring: + case Sandbox::kNaClLoader: + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + case Sandbox::kHardwareVideoDecoding: + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) + #if BUILDFLAG(IS_CHROMEOS_ASH) +@@ -127,7 +127,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi + #endif + case Sandbox::kPrintCompositor: + case Sandbox::kAudio: +-#if BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + case Sandbox::kVideoCapture: + #endif + #if BUILDFLAG(IS_WIN) +@@ -138,7 +138,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi + case Sandbox::kMediaFoundationCdm: + case Sandbox::kWindowsSystemProxyResolver: + #endif // BUILDFLAG(IS_WIN) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + case Sandbox::kHardwareVideoDecoding: + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) + #if BUILDFLAG(IS_CHROMEOS_ASH) +@@ -257,7 +257,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb + return switches::kUtilitySandbox; + case Sandbox::kAudio: + return switches::kAudioSandbox; +-#if BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + case Sandbox::kVideoCapture: + return switches::kVideoCaptureSandbox; + #endif +@@ -287,7 +287,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb + case Sandbox::kMirroring: + return switches::kMirroringSandbox; + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + case Sandbox::kHardwareVideoDecoding: + return switches::kHardwareVideoDecodingSandbox; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +@@ -375,11 +375,11 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( + if (sandbox_string == switches::kScreenAISandbox) + return Sandbox::kScreenAI; + #endif +-#if BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + if (sandbox_string == switches::kVideoCaptureSandbox) + return Sandbox::kVideoCapture; + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + if (sandbox_string == switches::kHardwareVideoDecodingSandbox) + return Sandbox::kHardwareVideoDecoding; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_switches.cc b/www/ungoogled-chromium/files/patch-sandbox_policy_switches.cc new file mode 100644 index 000000000000..9b83c3f0c315 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_switches.cc @@ -0,0 +1,22 @@ +--- sandbox/policy/switches.cc.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/switches.cc +@@ -54,7 +54,7 @@ const char kWindowsSystemProxyResolverSandbox[] = "pro + const char kMirroringSandbox[] = "mirroring"; + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + const char kHardwareVideoDecodingSandbox[] = "hardware_video_decoding"; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) + +@@ -101,7 +101,9 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f + // Meant to be used as a browser-level switch for testing purposes only. + const char kNoSandbox[] = "no-sandbox"; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++const char kDisableUnveil[] = "disable-unveil"; ++ ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Instructs the zygote to launch without a sandbox. Processes forked from this + // type of zygote will apply their own custom sandboxes later. + const char kNoZygoteSandbox[] = "no-zygote-sandbox"; diff --git a/www/ungoogled-chromium/files/patch-sandbox_policy_switches.h b/www/ungoogled-chromium/files/patch-sandbox_policy_switches.h new file mode 100644 index 000000000000..7535e4a67390 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-sandbox_policy_switches.h @@ -0,0 +1,21 @@ +--- sandbox/policy/switches.h.orig 2022-10-01 07:40:07 UTC ++++ sandbox/policy/switches.h +@@ -56,7 +56,7 @@ SANDBOX_POLICY_EXPORT extern const char kWindowsSystem + SANDBOX_POLICY_EXPORT extern const char kMirroringSandbox[]; + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + SANDBOX_POLICY_EXPORT extern const char kHardwareVideoDecodingSandbox[]; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) + +@@ -78,7 +78,8 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid + SANDBOX_POLICY_EXPORT extern const char kGpuSandboxAllowSysVShm[]; + SANDBOX_POLICY_EXPORT extern const char kGpuSandboxFailuresFatal[]; + SANDBOX_POLICY_EXPORT extern const char kNoSandbox[]; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++SANDBOX_POLICY_EXPORT extern const char kDisableUnveil[]; ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + SANDBOX_POLICY_EXPORT extern const char kNoZygoteSandbox[]; + #endif + #if BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc new file mode 100644 index 000000000000..9b0dbc7bf4fe --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc @@ -0,0 +1,31 @@ +--- services/audio/audio_sandbox_hook_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ services/audio/audio_sandbox_hook_linux.cc +@@ -143,6 +143,7 @@ void AddPulseAudioFilePermissions( + } + #endif + ++#if !defined(OS_BSD) + std::vector<BrokerFilePermission> GetAudioFilePermissions() { + std::vector<BrokerFilePermission> permissions{ + BrokerFilePermission::ReadOnly("/dev/urandom"), +@@ -171,10 +172,12 @@ void LoadAudioLibraries() { + } + } + } ++#endif + + } // namespace + + bool AudioPreSandboxHook(sandbox::policy::SandboxLinux::Options options) { ++#if !defined(OS_BSD) + LoadAudioLibraries(); + auto* instance = sandbox::policy::SandboxLinux::GetInstance(); + instance->StartBrokerProcess(MakeBrokerCommandSet({ +@@ -194,6 +197,7 @@ bool AudioPreSandboxHook(sandbox::policy::SandboxLinux + // TODO(https://crbug.com/850878) enable namespace sandbox. Currently, if + // enabled, connect() on pulse native socket fails with ENOENT (called from + // pa_context_connect). ++#endif + + return true; + } diff --git a/www/ungoogled-chromium/files/patch-services_audio_audio__sandbox__hook__linux.h b/www/ungoogled-chromium/files/patch-services_audio_audio__sandbox__hook__linux.h new file mode 100644 index 000000000000..2ec0dba49476 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_audio_audio__sandbox__hook__linux.h @@ -0,0 +1,14 @@ +--- services/audio/audio_sandbox_hook_linux.h.orig 2022-10-01 07:40:07 UTC ++++ services/audio/audio_sandbox_hook_linux.h +@@ -5,7 +5,11 @@ + #ifndef SERVICES_AUDIO_AUDIO_SANDBOX_HOOK_LINUX_H_ + #define SERVICES_AUDIO_AUDIO_SANDBOX_HOOK_LINUX_H_ + ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace audio { + diff --git a/www/ungoogled-chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc b/www/ungoogled-chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc new file mode 100644 index 000000000000..55c6a696991f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_cert__verifier_cert__verifier__creation.cc @@ -0,0 +1,28 @@ +--- services/cert_verifier/cert_verifier_creation.cc.orig 2022-10-01 07:40:07 UTC ++++ services/cert_verifier/cert_verifier_creation.cc +@@ -12,7 +12,7 @@ + #include "net/cert_net/cert_net_fetcher_url_request.h" + #include "net/net_buildflags.h" + +-#if BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) || \ ++#if BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) || BUILDFLAG(IS_BSD) || \ + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + #include "net/cert/cert_verify_proc_builtin.h" + #include "net/cert/internal/system_trust_store.h" +@@ -119,7 +119,7 @@ class OldDefaultCertVerifyProcFactory : public net::Ce + user_slot_restriction_ ? crypto::ScopedPK11Slot(PK11_ReferenceSlot( + user_slot_restriction_.get())) + : nullptr)); +-#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + verify_proc = net::CreateCertVerifyProcBuiltin( + std::move(cert_net_fetcher), net::CreateSslSystemTrustStore()); + #else +@@ -294,6 +294,7 @@ bool IsUsingChromeRootStore( + bool IsUsingCertNetFetcher() { + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \ ++ BUILDFLAG(IS_BSD) || \ + BUILDFLAG(TRIAL_COMPARISON_CERT_VERIFIER_SUPPORTED) || \ + BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) || \ + BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED) diff --git a/www/ungoogled-chromium/files/patch-services_device_compute__pressure_cpu__probe.cc b/www/ungoogled-chromium/files/patch-services_device_compute__pressure_cpu__probe.cc new file mode 100644 index 000000000000..bb3daf60b92f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_compute__pressure_cpu__probe.cc @@ -0,0 +1,10 @@ +--- services/device/compute_pressure/cpu_probe.cc.orig 2022-10-01 07:40:07 UTC ++++ services/device/compute_pressure/cpu_probe.cc +@@ -63,6 +63,7 @@ std::unique_ptr<CpuProbe> CpuProbe::Create() { + #elif BUILDFLAG(IS_MAC) + return CpuProbeMac::Create(); + #else ++ NOTIMPLEMENTED(); + return std::make_unique<NullCpuProbe>(); + #endif // BUILDFLAG(IS_ANDROID) + } diff --git a/www/ungoogled-chromium/files/patch-services_device_geolocation_location__arbitrator.cc b/www/ungoogled-chromium/files/patch-services_device_geolocation_location__arbitrator.cc new file mode 100644 index 000000000000..5e388fd6e4a5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_geolocation_location__arbitrator.cc @@ -0,0 +1,11 @@ +--- services/device/geolocation/location_arbitrator.cc.orig 2022-10-01 07:40:07 UTC ++++ services/device/geolocation/location_arbitrator.cc +@@ -161,7 +161,7 @@ LocationArbitrator::NewNetworkLocationProvider( + + std::unique_ptr<LocationProvider> + LocationArbitrator::NewSystemLocationProvider() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + return nullptr; + #else + return device::NewSystemLocationProvider(main_task_runner_, diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_BUILD.gn b/www/ungoogled-chromium/files/patch-services_device_hid_BUILD.gn new file mode 100644 index 000000000000..ef81273b3312 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_hid_BUILD.gn @@ -0,0 +1,28 @@ +--- services/device/hid/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ services/device/hid/BUILD.gn +@@ -35,6 +35,25 @@ source_set("hid") { + "//services/device/public/mojom", + ] + ++ if (is_openbsd) { ++ sources += [ ++ "hid_connection_fido.cc", ++ "hid_connection_fido.h", ++ "hid_service_fido.cc", ++ "hid_service_fido.h", ++ ] ++ libs = ["fido2", "cbor", "usbhid", "crypto", "util"] ++ } ++ ++ if (is_freebsd) { ++ sources += [ ++ "hid_connection_freebsd.cc", ++ "hid_connection_freebsd.h", ++ "hid_service_freebsd.cc", ++ "hid_service_freebsd.h", ++ ] ++ } ++ + if ((is_linux || is_chromeos) && use_udev) { + sources += [ + "hid_connection_linux.cc", diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__fido.cc b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__fido.cc new file mode 100644 index 000000000000..3460c713b2de --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__fido.cc @@ -0,0 +1,200 @@ +--- services/device/hid/hid_connection_fido.cc.orig 2022-10-01 07:40:07 UTC ++++ services/device/hid/hid_connection_fido.cc +@@ -0,0 +1,197 @@ ++// Copyright (c) 2020 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "services/device/hid/hid_connection_fido.h" ++ ++#include "base/bind.h" ++#include "base/files/file_descriptor_watcher_posix.h" ++#include "base/location.h" ++#include "base/numerics/safe_math.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/task/single_thread_task_runner.h" ++#include "base/threading/scoped_blocking_call.h" ++#include "base/threading/thread_restrictions.h" ++#include "base/threading/thread_task_runner_handle.h" ++#include "components/device_event_log/device_event_log.h" ++#include "services/device/hid/hid_service.h" ++ ++namespace device { ++ ++class HidConnectionFido::BlockingTaskHelper { ++public: ++ BlockingTaskHelper(base::ScopedFD fd, ++ scoped_refptr<HidDeviceInfo> device_info, ++ base::WeakPtr<HidConnectionFido> connection) ++ : fd_(std::move(fd)), ++ // Report buffers must always have room for the report ID. ++ report_buffer_size_(device_info->max_input_report_size() + 1), ++ has_report_id_(device_info->has_report_id()), connection_(connection), ++ origin_task_runner_(base::ThreadTaskRunnerHandle::Get()) { ++ DETACH_FROM_SEQUENCE(sequence_checker_); ++ } ++ ++ BlockingTaskHelper(const BlockingTaskHelper&) = delete; ++ BlockingTaskHelper& operator=(const BlockingTaskHelper&) = delete; ++ ++ ~BlockingTaskHelper() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); } ++ ++ // Starts the FileDescriptorWatcher that reads input events from the device. ++ // Must be called on a thread that has a base::MessageLoopForIO. ++ void Start() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::internal::AssertBlockingAllowed(); ++ ++ file_watcher_ = base::FileDescriptorWatcher::WatchReadable( ++ fd_.get(), base::BindRepeating(&BlockingTaskHelper::OnFileCanReadWithoutBlocking, ++ base::Unretained(this))); ++ } ++ ++ void Write(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ ++ auto data = buffer->front(); ++ size_t size = buffer->size(); ++ // if report id is 0, it shouldn't be included ++ if (data[0] == 0) { ++ data++; ++ size--; ++ } ++ ++ ssize_t result = HANDLE_EINTR(write(fd_.get(), data, size)); ++ bool success = static_cast<size_t>(result) == size; ++ if (!success) { ++ HID_LOG(EVENT) << "HID write failed: " << result << " != " << size; ++ } ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), success)); ++ } ++ ++ void GetFeatureReport(uint8_t report_id, ++ scoped_refptr<base::RefCountedBytes> buffer, ++ ReadCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ HID_PLOG(EVENT) << "GendFeatureReport not implemented on OpenBSD"; ++ origin_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(std::move(callback), false, nullptr, 0)); ++ } ++ ++ void SendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ HID_PLOG(EVENT) << "SendFeatureReport not implemented on OpenBSD"; ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), false)); ++ } ++ ++private: ++ void OnFileCanReadWithoutBlocking() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ++ scoped_refptr<base::RefCountedBytes> buffer( ++ new base::RefCountedBytes(report_buffer_size_)); ++ unsigned char *data = buffer->front(); ++ size_t length = report_buffer_size_; ++ if (!has_report_id_) { ++ // OpenBSD will not prefix the buffer with a report ID if report IDs are ++ // not used by the device. Prefix the buffer with 0. ++ *data++ = 0; ++ length--; ++ } ++ ++ ssize_t bytes_read = HANDLE_EINTR(read(fd_.get(), data, length)); ++ if (bytes_read < 0) { ++ if (errno != EAGAIN) { ++ HID_PLOG(EVENT) << "Read failed"; ++ // This assumes that the error is unrecoverable and disables reading ++ // from the device until it has been re-opened. ++ // TODO(reillyg): Investigate starting and stopping the file descriptor ++ // watcher in response to pending read requests so that per-request ++ // errors can be returned to the client. ++ file_watcher_.reset(); ++ } ++ return; ++ } ++ if (!has_report_id_) { ++ // Behave as if the byte prefixed above as the the report ID was read. ++ bytes_read++; ++ } ++ ++ origin_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&HidConnectionFido::ProcessInputReport, ++ connection_, buffer, bytes_read)); ++ } ++ ++ SEQUENCE_CHECKER(sequence_checker_); ++ base::ScopedFD fd_; ++ const size_t report_buffer_size_; ++ const bool has_report_id_; ++ base::WeakPtr<HidConnectionFido> connection_; ++ const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_; ++ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_; ++}; ++ ++HidConnectionFido::HidConnectionFido( ++ scoped_refptr<HidDeviceInfo> device_info, base::ScopedFD fd, ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner, ++ bool allow_protected_reports, bool allow_fido_reports) ++ : HidConnection(device_info, allow_protected_reports, allow_fido_reports), ++ blocking_task_runner_(std::move(blocking_task_runner)), ++ weak_factory_(this), ++ helper_(std::make_unique<BlockingTaskHelper>( ++ std::move(fd), device_info, weak_factory_.GetWeakPtr())) { ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::Start, ++ base::Unretained(helper_.get()))); ++} ++ ++HidConnectionFido::~HidConnectionFido() = default; ++ ++void HidConnectionFido::PlatformClose() { ++ // By closing the device on the blocking task runner 1) the requirement that ++ // base::ScopedFD is destroyed on a thread where I/O is allowed is satisfied ++ // and 2) any tasks posted to this task runner that refer to this file will ++ // complete before it is closed. ++ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); ++} ++ ++void HidConnectionFido::PlatformWrite( ++ scoped_refptr<base::RefCountedBytes> buffer, WriteCallback callback) { ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::Write, ++ base::Unretained(helper_.get()), buffer, ++ std::move(callback))); ++} ++ ++void HidConnectionFido::PlatformGetFeatureReport(uint8_t report_id, ++ ReadCallback callback) { ++ // The first byte of the destination buffer is the report ID being requested ++ // and is overwritten by the feature report. ++ DCHECK_GT(device_info()->max_feature_report_size(), 0u); ++ scoped_refptr<base::RefCountedBytes> buffer( ++ new base::RefCountedBytes(device_info()->max_feature_report_size() + 1)); ++ if (report_id != 0) ++ buffer->data()[0] = report_id; ++ ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::GetFeatureReport, ++ base::Unretained(helper_.get()), report_id, ++ buffer, std::move(callback))); ++} ++ ++void HidConnectionFido::PlatformSendFeatureReport( ++ scoped_refptr<base::RefCountedBytes> buffer, WriteCallback callback) { ++ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, ++ base::BlockingType::MAY_BLOCK); ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::SendFeatureReport, ++ base::Unretained(helper_.get()), buffer, ++ std::move(callback))); ++} ++ ++} // namespace device diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__fido.h b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__fido.h new file mode 100644 index 000000000000..a08e125d7268 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__fido.h @@ -0,0 +1,60 @@ +--- services/device/hid/hid_connection_fido.h.orig 2022-10-01 07:40:07 UTC ++++ services/device/hid/hid_connection_fido.h +@@ -0,0 +1,57 @@ ++// Copyright (c) 2020 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_H_ ++#define SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_H_ ++ ++#include "base/files/scoped_file.h" ++#include "base/memory/ptr_util.h" ++#include "base/memory/ref_counted_memory.h" ++#include "base/memory/weak_ptr.h" ++#include "base/sequence_checker.h" ++#include "services/device/hid/hid_connection.h" ++ ++namespace device { ++ ++class HidConnectionFido : public HidConnection { ++public: ++ HidConnectionFido( ++ scoped_refptr<HidDeviceInfo> device_info, base::ScopedFD fd, ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner, ++ bool allow_protected_reports, bool allow_fido_reports); ++ ++private: ++ friend class base::RefCountedThreadSafe<HidConnectionFido>; ++ class BlockingTaskHelper; ++ ++ HidConnectionFido(const HidConnectionFido&) = delete; ++ HidConnectionFido& operator=(const HidConnectionFido&) = delete; ++ ++ ~HidConnectionFido() override; ++ ++ // HidConnection implementation. ++ void PlatformClose() override; ++ void PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) override; ++ void PlatformGetFeatureReport(uint8_t report_id, ++ ReadCallback callback) override; ++ void PlatformSendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) override; ++ ++ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; ++ const scoped_refptr<base::SequencedTaskRunner> task_runner_; ++ ++ SEQUENCE_CHECKER(sequence_checker_); ++ ++ base::WeakPtrFactory<HidConnectionFido> weak_factory_; ++ ++ // |helper_| lives on the sequence to which |blocking_task_runner_| posts ++ // tasks so all calls must be posted there including this object's ++ // destruction. ++ std::unique_ptr<BlockingTaskHelper> helper_; ++}; ++ ++} // namespace device ++ ++#endif // SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_H_ diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__freebsd.cc b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__freebsd.cc new file mode 100644 index 000000000000..34bd508c3fa2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__freebsd.cc @@ -0,0 +1,245 @@ +--- services/device/hid/hid_connection_freebsd.cc.orig 2022-10-01 07:40:07 UTC ++++ services/device/hid/hid_connection_freebsd.cc +@@ -0,0 +1,242 @@ ++// Copyright (c) 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "services/device/hid/hid_connection_freebsd.h" ++ ++#include <dev/usb/usbhid.h> ++#include <dev/usb/usb_ioctl.h> ++ ++#include "base/bind.h" ++#include "base/files/file_descriptor_watcher_posix.h" ++#include "base/location.h" ++#include "base/numerics/safe_math.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/strings/stringprintf.h" ++#include "base/task/single_thread_task_runner.h" ++#include "base/threading/scoped_blocking_call.h" ++#include "base/threading/thread_restrictions.h" ++#include "base/threading/thread_task_runner_handle.h" ++#include "components/device_event_log/device_event_log.h" ++#include "services/device/hid/hid_service.h" ++ ++namespace device { ++ ++class HidConnectionFreeBSD::BlockingTaskRunnerHelper { ++ public: ++ BlockingTaskRunnerHelper(base::ScopedFD fd, ++ scoped_refptr<HidDeviceInfo> device_info, ++ base::WeakPtr<HidConnectionFreeBSD> connection) ++ : fd_(std::move(fd)), ++ connection_(connection), ++ origin_task_runner_(base::ThreadTaskRunnerHandle::Get()) { ++ DETACH_FROM_SEQUENCE(sequence_checker_); ++ // Report buffers must always have room for the report ID. ++ report_buffer_size_ = device_info->max_input_report_size() + 1; ++ has_report_id_ = device_info->has_report_id(); ++ } ++ ++ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete; ++ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete; ++ ++ ~BlockingTaskRunnerHelper() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); } ++ ++ // Starts the FileDescriptorWatcher that reads input events from the device. ++ // Must be called on a thread that has a base::MessageLoopForIO. ++ void Start() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::internal::AssertBlockingAllowed(); ++ ++ file_watcher_ = base::FileDescriptorWatcher::WatchReadable( ++ fd_.get(), base::BindRepeating(&BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking, ++ base::Unretained(this))); ++ } ++ ++ void Write(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ ++ auto data = buffer->front(); ++ size_t size = buffer->size(); ++ // if report id is 0, it shouldn't be included ++ if (data[0] == 0) { ++ data++; ++ size--; ++ } ++ ++ ssize_t result = HANDLE_EINTR(write(fd_.get(), data, size)); ++ if (result < 0) { ++ HID_PLOG(EVENT) << "Write failed"; ++ origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), false)); ++ } else { ++ if (static_cast<size_t>(result) != size) ++ HID_LOG(EVENT) << "Incomplete HID write: " << result << " != " << size; ++ origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), true)); ++ } ++ } ++ ++ void GetFeatureReport(uint8_t report_id, ++ scoped_refptr<base::RefCountedBytes> buffer, ++ ReadCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ struct usb_gen_descriptor ugd; ++ ugd.ugd_report_type = UHID_FEATURE_REPORT; ++ ugd.ugd_data = buffer->front(); ++ ugd.ugd_maxlen = buffer->size(); ++ int result = HANDLE_EINTR( ++ ioctl(fd_.get(), USB_GET_REPORT, &ugd)); ++ if (result < 0) { ++ HID_PLOG(EVENT) << "Failed to get feature report"; ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), false, nullptr, 0)); ++ } else if (result == 0) { ++ HID_LOG(EVENT) << "Get feature result too short."; ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), false, nullptr, 0)); ++ } else { ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), true, buffer, result)); ++ } ++ } ++ ++ void SendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ struct usb_gen_descriptor ugd; ++ ugd.ugd_report_type = UHID_FEATURE_REPORT; ++ ugd.ugd_data = buffer->front(); ++ ugd.ugd_maxlen = buffer->size(); ++ // FreeBSD does not require report id if it's not used ++ if (buffer->front()[0] == 0) { ++ ugd.ugd_data = buffer->front() + 1; ++ ugd.ugd_maxlen = buffer->size() - 1; ++ } else { ++ ugd.ugd_data = buffer->front(); ++ ugd.ugd_maxlen = buffer->size(); ++ } ++ int result = HANDLE_EINTR( ++ ioctl(fd_.get(), USB_SET_REPORT, &ugd)); ++ if (result < 0) { ++ HID_PLOG(EVENT) << "Failed to send feature report"; ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), false)); ++ } else { ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), true)); ++ } ++ } ++ ++ private: ++ void OnFileCanReadWithoutBlocking() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ++ scoped_refptr<base::RefCountedBytes> buffer(new base::RefCountedBytes(report_buffer_size_)); ++ unsigned char* data = buffer->front(); ++ size_t length = report_buffer_size_; ++ if (!has_report_id_) { ++ // FreeBSD will not prefix the buffer with a report ID if report IDs are not ++ // used by the device. Prefix the buffer with 0. ++ *data++ = 0; ++ length--; ++ } ++ ++ ssize_t bytes_read = HANDLE_EINTR(read(fd_.get(), data, length)); ++ if (bytes_read < 0) { ++ if (errno != EAGAIN) { ++ HID_PLOG(EVENT) << "Read failed"; ++ // This assumes that the error is unrecoverable and disables reading ++ // from the device until it has been re-opened. ++ // TODO(reillyg): Investigate starting and stopping the file descriptor ++ // watcher in response to pending read requests so that per-request ++ // errors can be returned to the client. ++ file_watcher_.reset(); ++ } ++ return; ++ } ++ if (!has_report_id_) { ++ // Behave as if the byte prefixed above as the the report ID was read. ++ bytes_read++; ++ } ++ ++ origin_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&HidConnectionFreeBSD::ProcessInputReport, ++ connection_, buffer, bytes_read)); ++ } ++ ++ SEQUENCE_CHECKER(sequence_checker_); ++ base::ScopedFD fd_; ++ size_t report_buffer_size_; ++ bool has_report_id_; ++ base::WeakPtr<HidConnectionFreeBSD> connection_; ++ const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_; ++ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_; ++}; ++ ++HidConnectionFreeBSD::HidConnectionFreeBSD( ++ scoped_refptr<HidDeviceInfo> device_info, ++ base::ScopedFD fd, ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner, ++ bool allow_protected_reports, ++ bool allow_fido_reports) ++ : HidConnection(device_info, allow_protected_reports, allow_fido_reports), ++ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner)), ++ blocking_task_runner_(std::move(blocking_task_runner)) { ++ helper_.reset(new BlockingTaskRunnerHelper(std::move(fd), device_info, ++ weak_factory_.GetWeakPtr())); ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start, ++ base::Unretained(helper_.get()))); ++} ++ ++HidConnectionFreeBSD::~HidConnectionFreeBSD() {} ++ ++void HidConnectionFreeBSD::PlatformClose() { ++ // By closing the device on the blocking task runner 1) the requirement that ++ // base::ScopedFD is destroyed on a thread where I/O is allowed is satisfied ++ // and 2) any tasks posted to this task runner that refer to this file will ++ // complete before it is closed. ++ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); ++} ++ ++void HidConnectionFreeBSD::PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ ++ blocking_task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&BlockingTaskRunnerHelper::Write, base::Unretained(helper_.get()), ++ buffer, std::move(callback))); ++} ++ ++void HidConnectionFreeBSD::PlatformGetFeatureReport(uint8_t report_id, ++ ReadCallback callback) { ++ // The first byte of the destination buffer is the report ID being requested ++ // and is overwritten by the feature report. ++ DCHECK_GT(device_info()->max_feature_report_size(), 0u); ++ scoped_refptr<base::RefCountedBytes> buffer( ++ new base::RefCountedBytes(device_info()->max_feature_report_size() + 1)); ++ if (report_id != 0) ++ buffer->data()[0] = report_id; ++ ++ blocking_task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&BlockingTaskRunnerHelper::GetFeatureReport, ++ base::Unretained(helper_.get()), report_id, ++ buffer, std::move(callback))); ++} ++ ++void HidConnectionFreeBSD::PlatformSendFeatureReport( ++ scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ blocking_task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&BlockingTaskRunnerHelper::SendFeatureReport, ++ base::Unretained(helper_.get()), buffer, std::move(callback))); ++} ++ ++} // namespace device diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__freebsd.h b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__freebsd.h new file mode 100644 index 000000000000..8e176b23dfea --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__connection__freebsd.h @@ -0,0 +1,70 @@ +--- services/device/hid/hid_connection_freebsd.h.orig 2022-10-01 07:40:07 UTC ++++ services/device/hid/hid_connection_freebsd.h +@@ -0,0 +1,67 @@ ++// Copyright (c) 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef DEVICE_HID_HID_CONNECTION_FREEBSD_H_ ++#define DEVICE_HID_HID_CONNECTION_FREEBSD_H_ ++ ++#include <stddef.h> ++#include <stdint.h> ++ ++#include "base/files/scoped_file.h" ++#include "base/memory/weak_ptr.h" ++#include "base/memory/ref_counted_memory.h" ++#include "base/task/sequenced_task_runner.h" ++#include "services/device/hid/hid_connection.h" ++ ++namespace base { ++class SequencedTaskRunner; ++} ++ ++namespace net { ++class IOBuffer; ++} ++ ++namespace device { ++ ++class HidConnectionFreeBSD : public HidConnection { ++ public: ++ HidConnectionFreeBSD( ++ scoped_refptr<HidDeviceInfo> device_info, ++ base::ScopedFD fd, ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner, ++ bool allow_protected_reports, ++ bool allow_fido_reports); ++ ++ private: ++ friend class base::RefCountedThreadSafe<HidConnectionFreeBSD>; ++ class BlockingTaskRunnerHelper; ++ ++ HidConnectionFreeBSD(const HidConnectionFreeBSD&) = delete; ++ HidConnectionFreeBSD& operator=(const HidConnectionFreeBSD&) = delete; ++ ++ ~HidConnectionFreeBSD() override; ++ ++ // HidConnection implementation. ++ void PlatformClose() override; ++ void PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) override; ++ void PlatformGetFeatureReport(uint8_t report_id, ++ ReadCallback callback) override; ++ void PlatformSendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) override; ++ ++ // |helper_| lives on the sequence to which |blocking_task_runner_| posts ++ // tasks so all calls must be posted there including this object's ++ // destruction. ++ std::unique_ptr<BlockingTaskRunnerHelper, base::OnTaskRunnerDeleter> helper_; ++ ++ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; ++ const scoped_refptr<base::SequencedTaskRunner> task_runner_; ++ ++ base::WeakPtrFactory<HidConnectionFreeBSD> weak_factory_{this}; ++}; ++ ++} // namespace device ++ ++#endif // DEVICE_HID_HID_CONNECTION_FREEBSD_H_ diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service.cc b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service.cc new file mode 100644 index 000000000000..25c4f14996c9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service.cc @@ -0,0 +1,24 @@ +--- services/device/hid/hid_service.cc.orig 2022-10-01 07:40:07 UTC ++++ services/device/hid/hid_service.cc +@@ -19,6 +19,10 @@ + + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_UDEV) + #include "services/device/hid/hid_service_linux.h" ++#elif BUILDFLAG(IS_OPENBSD) ++#include "services/device/hid/hid_service_fido.h" ++#elif BUILDFLAG(IS_FREEBSD) ++#include "services/device/hid/hid_service_freebsd.h" + #elif BUILDFLAG(IS_MAC) + #include "services/device/hid/hid_service_mac.h" + #elif BUILDFLAG(IS_WIN) +@@ -62,6 +66,10 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr + std::unique_ptr<HidService> HidService::Create() { + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_UDEV) + return base::WrapUnique(new HidServiceLinux()); ++#elif BUILDFLAG(IS_OPENBSD) ++ return base::WrapUnique(new HidServiceFido()); ++#elif BUILDFLAG(IS_FREEBSD) ++ return base::WrapUnique(new HidServiceFreeBSD()); + #elif BUILDFLAG(IS_MAC) + return base::WrapUnique(new HidServiceMac()); + #elif BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.cc b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.cc new file mode 100644 index 000000000000..bbfc438e6f1a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.cc @@ -0,0 +1,330 @@ +--- services/device/hid/hid_service_fido.cc.orig 2022-10-01 07:40:07 UTC ++++ services/device/hid/hid_service_fido.cc +@@ -0,0 +1,327 @@ ++// Copyright 2020 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "services/device/hid/hid_service_fido.h" ++ ++#include <fcntl.h> ++#include <poll.h> ++#include <stdint.h> ++#include <sys/socket.h> ++#include <sys/un.h> ++#include <unistd.h> ++ ++// TODO: remove once the missing guard in fido.h is fixed upstream. ++extern "C" { ++#include <fido.h> ++} ++ ++#include <set> ++#include <string> ++#include <vector> ++ ++#include "base/bind.h" ++#include "base/files/file.h" ++#include "base/files/file_descriptor_watcher_posix.h" ++#include "base/files/file_enumerator.h" ++#include "base/location.h" ++#include "base/logging.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/task/single_thread_task_runner.h" ++#include "base/task/thread_pool.h" ++#include "base/stl_util.h" ++#include "base/strings/pattern.h" ++#include "base/strings/string_split.h" ++#include "base/strings/string_util.h" ++#include "base/strings/stringprintf.h" ++#include "base/strings/sys_string_conversions.h" ++#include "base/threading/scoped_blocking_call.h" ++#include "base/threading/thread_task_runner_handle.h" ++#include "components/device_event_log/device_event_log.h" ++#include "services/device/hid/hid_connection_fido.h" ++ ++namespace device { ++ ++namespace { ++ ++struct ConnectParams { ++ ConnectParams(scoped_refptr<HidDeviceInfo> device_info, ++ HidService::ConnectCallback callback) ++ : device_info(std::move(device_info)), callback(std::move(callback)), ++ task_runner(base::ThreadTaskRunnerHandle::Get()), ++ blocking_task_runner(base::ThreadPool::CreateSequencedTaskRunner( ++ HidService::kBlockingTaskTraits)) {} ++ ~ConnectParams() {} ++ ++ scoped_refptr<HidDeviceInfo> device_info; ++ HidService::ConnectCallback callback; ++ scoped_refptr<base::SequencedTaskRunner> task_runner; ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner; ++ base::ScopedFD fd; ++ bool allow_protected_reports; ++ bool allow_fido_reports; ++}; ++ ++void CreateConnection(std::unique_ptr<ConnectParams> params) { ++ DCHECK(params->fd.is_valid()); ++ std::move(params->callback).Run(base::MakeRefCounted<HidConnectionFido>( ++ std::move(params->device_info), std::move(params->fd), ++ std::move(params->blocking_task_runner), params->allow_protected_reports, ++ params->allow_fido_reports)); ++} ++ ++void FinishOpen(std::unique_ptr<ConnectParams> params) { ++ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner; ++ ++ task_runner->PostTask(FROM_HERE, ++ base::BindOnce(&CreateConnection, std::move(params))); ++} ++ ++bool terrible_ping_kludge(int fd, const std::string &path) { ++ u_char data[256]; ++ int i, n; ++ struct pollfd pfd; ++ ++ for (i = 0; i < 4; i++) { ++ memset(data, 0, sizeof(data)); ++ /* broadcast channel ID */ ++ data[1] = 0xff; ++ data[2] = 0xff; ++ data[3] = 0xff; ++ data[4] = 0xff; ++ /* Ping command */ ++ data[5] = 0x81; ++ /* One byte ping only, Vasili */ ++ data[6] = 0; ++ data[7] = 1; ++ HID_LOG(EVENT) << "send ping " << i << " " << path; ++ if (write(fd, data, 64) == -1) { ++ HID_PLOG(ERROR) << "write " << path; ++ return false; ++ } ++ HID_LOG(EVENT) << "wait reply " << path; ++ memset(&pfd, 0, sizeof(pfd)); ++ pfd.fd = fd; ++ pfd.events = POLLIN; ++ if ((n = poll(&pfd, 1, 100)) == -1) { ++ HID_PLOG(EVENT) << "poll " << path; ++ return false; ++ } else if (n == 0) { ++ HID_LOG(EVENT) << "timed out " << path; ++ continue; ++ } ++ if (read(fd, data, 64) == -1) { ++ HID_PLOG(ERROR) << "read " << path; ++ return false; ++ } ++ /* ++ * Ping isn't always supported on the broadcast channel, ++ * so we might get an error, but we don't care - we're ++ * synched now. ++ */ ++ HID_LOG(EVENT) << "got reply " << path; ++ return true; ++ } ++ HID_LOG(ERROR) << "no response " << path; ++ return false; ++} ++ ++void OpenOnBlockingThread(std::unique_ptr<ConnectParams> params) { ++ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, ++ base::BlockingType::MAY_BLOCK); ++ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner; ++ ++ const auto &device_node = params->device_info->device_node(); ++ base::FilePath device_path(device_node); ++ int flags = ++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; ++ base::File device_file(device_path, flags); ++ if (!device_file.IsValid()) { ++ HID_LOG(EVENT) << "Failed to open '" << device_node << "': " ++ << base::File::ErrorToString(device_file.error_details()); ++ task_runner->PostTask(FROM_HERE, base::BindOnce(std::move(params->callback), nullptr)); ++ return; ++ } ++ if (!terrible_ping_kludge(device_file.GetPlatformFile(), device_node)) { ++ HID_LOG(EVENT) << "Failed to ping " << device_node; ++ task_runner->PostTask(FROM_HERE, base::BindOnce(std::move(params->callback), nullptr)); ++ return; ++ } ++ params->fd.reset(device_file.TakePlatformFile()); ++ FinishOpen(std::move(params)); ++} ++ ++// HID report descriptor for U2F interface. Copied from: ++// https://chromium.googlesource.com/chromiumos/platform2/+/c6c7e4e54fce11932fedaa3ea10236bf75d85a2b%5E%21/u2fd/u2fhid.cc ++// Apparently Chromium wants to see these bytes, but OpenBSD fido(4) ++// devices prohibit USB_GET_REPORT_DESC ioctl that could be used to ++// get the bytes from the USB device. ++constexpr uint8_t kU2fReportDesc[] = { ++ 0x06, 0xD0, 0xF1, /* Usage Page (FIDO Alliance), FIDO_USAGE_PAGE */ ++ 0x09, 0x01, /* Usage (U2F HID Auth. Device) FIDO_USAGE_U2FHID */ ++ 0xA1, 0x01, /* Collection (Application), HID_APPLICATION */ ++ 0x09, 0x20, /* Usage (Input Report Data), FIDO_USAGE_DATA_IN */ ++ 0x15, 0x00, /* Logical Minimum (0) */ ++ 0x26, 0xFF, 0x00, /* Logical Maximum (255) */ ++ 0x75, 0x08, /* Report Size (8) */ ++ 0x95, 0x40, /* Report Count (64), HID_INPUT_REPORT_BYTES */ ++ 0x81, 0x02, /* Input (Data, Var, Abs), Usage */ ++ 0x09, 0x21, /* Usage (Output Report Data), FIDO_USAGE_DATA_OUT */ ++ 0x15, 0x00, /* Logical Minimum (0) */ ++ 0x26, 0xFF, 0x00, /* Logical Maximum (255) */ ++ 0x75, 0x08, /* Report Size (8) */ ++ 0x95, 0x40, /* Report Count (64), HID_OUTPUT_REPORT_BYTES */ ++ 0x91, 0x02, /* Output (Data, Var, Abs), Usage */ ++ 0xC0 /* End Collection */ ++}; ++ ++} // namespace ++ ++class HidServiceFido::BlockingTaskHelper { ++public: ++ BlockingTaskHelper(base::WeakPtr<HidServiceFido> service) ++ : service_(std::move(service)), ++ task_runner_(base::ThreadTaskRunnerHandle::Get()) { ++ DETACH_FROM_SEQUENCE(sequence_checker_); ++ } ++ ++ BlockingTaskHelper(const BlockingTaskHelper&) = delete; ++ BlockingTaskHelper& operator=(const BlockingTaskHelper&) = delete; ++ ++ ~BlockingTaskHelper() = default; ++ ++ void Start() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ ++ fido_dev_info_t *devlist = NULL; ++ fido_dev_t *dev = NULL; ++ size_t devlist_len = 0, i; ++ const char *path; ++ int r; ++ const int MAX_FIDO_DEVICES = 256; ++ ++ if ((devlist = fido_dev_info_new(MAX_FIDO_DEVICES)) == NULL) { ++ HID_LOG(ERROR) << "fido_dev_info_new failed"; ++ goto out; ++ } ++ if ((r = fido_dev_info_manifest(devlist, MAX_FIDO_DEVICES, &devlist_len)) != ++ FIDO_OK) { ++ HID_LOG(ERROR) << "fido_dev_info_manifest: " << fido_strerr(r); ++ goto out; ++ } ++ ++ HID_LOG(EVENT) << "fido_dev_info_manifest found " << devlist_len ++ << " device(s)"; ++ ++ for (i = 0; i < devlist_len; i++) { ++ const fido_dev_info_t *di = fido_dev_info_ptr(devlist, i); ++ if (di == NULL) { ++ HID_LOG(ERROR) << "fido_dev_info_ptr " << i << " failed"; ++ continue; ++ } ++ if ((path = fido_dev_info_path(di)) == NULL) { ++ HID_LOG(ERROR) << "fido_dev_info_path " << i << " failed"; ++ continue; ++ } ++ HID_LOG(EVENT) << "trying device " << i << ": " << path; ++ if ((dev = fido_dev_new()) == NULL) { ++ HID_LOG(ERROR) << "fido_dev_new failed"; ++ continue; ++ } ++ if ((r = fido_dev_open(dev, path)) != FIDO_OK) { ++ HID_LOG(ERROR) << "fido_dev_open failed " << path; ++ fido_dev_free(&dev); ++ continue; ++ } ++ OnDeviceAdded(di); ++ fido_dev_close(dev); ++ fido_dev_free(&dev); ++ } ++ ++ out: ++ if (devlist != NULL) ++ fido_dev_info_free(&devlist, MAX_FIDO_DEVICES); ++ ++ task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&HidServiceFido::FirstEnumerationComplete, service_)); ++ } ++ ++ void OnDeviceAdded(const fido_dev_info_t *di) { ++ auto null_as_empty = [](const char *r) -> std::string { ++ return (r != nullptr) ? r : ""; ++ }; ++ std::string device_node(null_as_empty(fido_dev_info_path(di))); ++ std::vector<uint8_t> report_descriptor( ++ kU2fReportDesc, kU2fReportDesc + sizeof(kU2fReportDesc)); ++ scoped_refptr<HidDeviceInfo> device_info(new HidDeviceInfo( ++ device_node, /*physical_device_id=*/"", fido_dev_info_vendor(di), ++ fido_dev_info_product(di), null_as_empty(fido_dev_info_product_string(di)), ++ null_as_empty(fido_dev_info_manufacturer_string(di)), ++ device::mojom::HidBusType::kHIDBusTypeUSB, report_descriptor, ++ device_node)); ++ ++ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::AddDevice, ++ service_, device_info)); ++ } ++ ++ void OnDeviceRemoved(std::string device_node) { ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::RemoveDevice, ++ service_, device_node)); ++ } ++ ++private: ++ SEQUENCE_CHECKER(sequence_checker_); ++ ++ // This weak pointer is only valid when checked on this task runner. ++ base::WeakPtr<HidServiceFido> service_; ++ scoped_refptr<base::SequencedTaskRunner> task_runner_; ++}; ++ ++HidServiceFido::HidServiceFido() ++ : task_runner_(base::ThreadTaskRunnerHandle::Get()), ++ blocking_task_runner_( ++ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)), ++ weak_factory_(this), helper_(std::make_unique<BlockingTaskHelper>( ++ weak_factory_.GetWeakPtr())) { ++ blocking_task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&BlockingTaskHelper::Start, base::Unretained(helper_.get()))); ++} ++ ++HidServiceFido::~HidServiceFido() { ++ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); ++} ++ ++base::WeakPtr<HidService> HidServiceFido::GetWeakPtr() { ++ return weak_factory_.GetWeakPtr(); ++} ++ ++void HidServiceFido::Connect(const std::string &device_guid, ++ bool allow_protected_reports, ++ bool allow_fido_reports, ++ ConnectCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ++ const auto &map_entry = devices().find(device_guid); ++ if (map_entry == devices().end()) { ++ base::ThreadTaskRunnerHandle::Get()->PostTask( ++ FROM_HERE, base::BindOnce(std::move(callback), nullptr)); ++ return; ++ } ++ ++ scoped_refptr<HidDeviceInfo> device_info = map_entry->second; ++ ++ auto params = std::make_unique<ConnectParams>(device_info, std::move(callback)); ++ ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner = ++ params->blocking_task_runner; ++ blocking_task_runner->PostTask( ++ FROM_HERE, base::BindOnce(&OpenOnBlockingThread, std::move(params))); ++} ++ ++} // namespace device diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.h b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.h new file mode 100644 index 000000000000..b0a47cd8a36e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__fido.h @@ -0,0 +1,46 @@ +--- services/device/hid/hid_service_fido.h.orig 2022-10-01 07:40:07 UTC ++++ services/device/hid/hid_service_fido.h +@@ -0,0 +1,43 @@ ++// Copyright 2020 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_ ++#define SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_ ++ ++#include <string> ++ ++#include "base/memory/ref_counted.h" ++#include "base/memory/weak_ptr.h" ++#include "services/device/hid/hid_service.h" ++ ++namespace device { ++ ++class HidServiceFido : public HidService { ++public: ++ HidServiceFido(); ++ ++ HidServiceFido(const HidServiceFido&) = delete; ++ HidServiceFido& operator=(const HidServiceFido&) = delete; ++ ++ ~HidServiceFido() override; ++ ++ void Connect(const std::string &device_guid, ++ bool allow_protected_reports, ++ bool allow_fido_reports, ++ ConnectCallback connect) override; ++ base::WeakPtr<HidService> GetWeakPtr() override; ++ ++private: ++ class BlockingTaskHelper; ++ const scoped_refptr<base::SequencedTaskRunner> task_runner_; ++ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; ++ base::WeakPtrFactory<HidServiceFido> weak_factory_; ++ // |helper_| lives on the sequence |blocking_task_runner_| posts to and holds ++ // a weak reference back to the service that owns it. ++ std::unique_ptr<BlockingTaskHelper> helper_; ++}; ++ ++} // namespace device ++ ++#endif // SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_ diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc new file mode 100644 index 000000000000..3172c0ea3b58 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.cc @@ -0,0 +1,400 @@ +--- services/device/hid/hid_service_freebsd.cc.orig 2022-10-01 07:40:07 UTC ++++ services/device/hid/hid_service_freebsd.cc +@@ -0,0 +1,397 @@ ++// Copyright 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "services/device/hid/hid_service_freebsd.h" ++ ++#include <dev/usb/usb_ioctl.h> ++#include <stdint.h> ++#include <sys/socket.h> ++#include <sys/un.h> ++ ++#include <set> ++#include <string> ++#include <vector> ++ ++#include "base/bind.h" ++#include "base/files/file_descriptor_watcher_posix.h" ++#include "base/files/file_enumerator.h" ++#include "base/files/file_util.h" ++#include "base/files/file.h" ++#include "base/location.h" ++#include "base/logging.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/stl_util.h" ++#include "base/strings/pattern.h" ++#include "base/strings/stringprintf.h" ++#include "base/strings/sys_string_conversions.h" ++#include "base/strings/string_util.h" ++#include "base/strings/string_split.h" ++#include "base/task/single_thread_task_runner.h" ++#include "base/task/thread_pool.h" ++#include "base/threading/scoped_blocking_call.h" ++#include "base/threading/thread_task_runner_handle.h" ++#include "base/threading/thread_restrictions.h" ++#include "components/device_event_log/device_event_log.h" ++#include "services/device/hid/hid_connection_freebsd.h" ++ ++const int kMaxPermissionChecks = 5; ++ ++namespace device { ++ ++struct HidServiceFreeBSD::ConnectParams { ++ ConnectParams(scoped_refptr<HidDeviceInfo> device_info, ++ bool allow_protected_reports, ++ bool allow_fido_reports, ++ ConnectCallback callback) ++ : device_info(std::move(device_info)), ++ allow_protected_reports(allow_protected_reports), ++ allow_fido_reports(allow_fido_reports), ++ callback(std::move(callback)), ++ task_runner(base::ThreadTaskRunnerHandle::Get()), ++ blocking_task_runner( ++ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {} ++ ~ConnectParams() {} ++ ++ scoped_refptr<HidDeviceInfo> device_info; ++ bool allow_protected_reports; ++ bool allow_fido_reports; ++ ConnectCallback callback; ++ scoped_refptr<base::SequencedTaskRunner> task_runner; ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner; ++ base::ScopedFD fd; ++}; ++ ++class HidServiceFreeBSD::BlockingTaskRunnerHelper { ++ public: ++ BlockingTaskRunnerHelper(base::WeakPtr<HidServiceFreeBSD> service) ++ : service_(std::move(service)), ++ task_runner_(base::ThreadTaskRunnerHandle::Get()) { ++ DETACH_FROM_SEQUENCE(sequence_checker_); ++ ++ timer_.reset(new base::RepeatingTimer()); ++ devd_buffer_ = new net::IOBufferWithSize(1024); ++ } ++ ++ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete; ++ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete; ++ ++ ~BlockingTaskRunnerHelper() { ++ } ++ ++ void Start() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ++ const base::FilePath kDevRoot("/dev"); ++ const std::string kUHIDPattern("/dev/uhid*"); ++ ++ base::FileEnumerator enumerator(kDevRoot, false, base::FileEnumerator::FILES); ++ do { ++ const base::FilePath next_device_path(enumerator.Next()); ++ const std::string next_device = next_device_path.value(); ++ if (next_device.empty()) ++ break; ++ ++ if (base::MatchPattern(next_device, kUHIDPattern)) ++ OnDeviceAdded(next_device.substr(5)); ++ } while (true); ++ ++ SetupDevdMonitor(); ++ ++ task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&HidServiceFreeBSD::FirstEnumerationComplete, service_)); ++ } ++ ++ bool HaveReadWritePermissions(std::string device_id) { ++ std::string device_node = "/dev/" + device_id; ++ base::internal::AssertBlockingAllowed(); ++ ++ base::FilePath device_path(device_node); ++ base::File device_file; ++ int flags = ++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; ++ device_file.Initialize(device_path, flags); ++ if (!device_file.IsValid()) ++ return false; ++ ++ return true; ++ } ++ ++ void OnDeviceAdded(std::string device_id) { ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ std::string device_node = "/dev/" + device_id; ++ uint16_t vendor_id = 0xffff; ++ uint16_t product_id = 0xffff; ++ std::string product_name = ""; ++ std::string serial_number = ""; ++ ++ std::vector<uint8_t> report_descriptor; ++ ++ base::internal::AssertBlockingAllowed(); ++ ++ base::FilePath device_path(device_node); ++ base::File device_file; ++ int flags = ++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; ++ device_file.Initialize(device_path, flags); ++ if (!device_file.IsValid()) { ++ HID_LOG(ERROR) << "Failed to open '" << device_node ++ << "': " ++ << base::File::ErrorToString(device_file.error_details()); ++ return; ++ } ++ ++ base::ScopedFD fd; ++ fd.reset(device_file.TakePlatformFile()); ++ ++ struct usb_gen_descriptor ugd; ++ ugd.ugd_data = NULL; ++ ugd.ugd_maxlen = 0xffff; ++ int result = HANDLE_EINTR( ++ ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd)); ++ ++ if (result < 0) { ++ HID_LOG(ERROR) << "Failed to get report descriptor size"; ++ return; ++ } ++ ++ report_descriptor.resize(ugd.ugd_actlen); ++ ++ ugd.ugd_data = report_descriptor.data(); ++ ugd.ugd_maxlen = ugd.ugd_actlen; ++ result = HANDLE_EINTR( ++ ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd)); ++ ++ if (result < 0) { ++ HID_LOG(ERROR) << "Failed to get report descriptor"; ++ return; ++ } ++ ++ scoped_refptr<HidDeviceInfo> device_info(new HidDeviceInfo( ++ device_id, ++ /*physical_device_id*/"", ++ vendor_id, ++ product_id, ++ product_name, ++ serial_number, ++ device::mojom::HidBusType::kHIDBusTypeUSB, ++ report_descriptor, ++ device_node)); ++ ++ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::AddDevice, ++ service_, device_info)); ++ } ++ ++ void OnDeviceRemoved(std::string device_id) { ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&HidServiceFreeBSD::RemoveDevice, service_, ++ device_id)); ++ } ++ ++ private: ++ ++ void CheckPendingPermissionChange() { ++ base::internal::AssertBlockingAllowed(); ++ std::map<std::string, int>::iterator it; ++ for (it = permissions_checks_attempts_.begin(); it != permissions_checks_attempts_.end();) { ++ std::string device_name = it->first; ++ bool keep = true; ++ if (HaveReadWritePermissions(device_name)) { ++ OnDeviceAdded(device_name); ++ keep = false; ++ } ++ else if (it->second-- <= 0) { ++ HID_LOG(ERROR) << "Still don't have write permissions to '" << device_name ++ << "' after " << kMaxPermissionChecks << " attempts"; ++ keep = false; ++ } ++ ++ if (keep) ++ ++it; ++ else ++ permissions_checks_attempts_.erase(it++); ++ } ++ ++ if (permissions_checks_attempts_.empty()) ++ timer_->Stop(); ++ } ++ ++ void SetupDevdMonitor() { ++ base::internal::AssertBlockingAllowed(); ++ ++ int devd_fd = socket(AF_UNIX, SOCK_SEQPACKET, 0); ++ if (devd_fd < 0) ++ return; ++ ++ struct sockaddr_un sa; ++ ++ sa.sun_family = AF_UNIX; ++ strlcpy(sa.sun_path, "/var/run/devd.seqpacket.pipe", sizeof(sa.sun_path)); ++ if (connect(devd_fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) { ++ close(devd_fd); ++ return; ++ } ++ ++ devd_fd_.reset(devd_fd); ++ file_watcher_ = base::FileDescriptorWatcher::WatchReadable( ++ devd_fd_.get(), base::BindRepeating(&BlockingTaskRunnerHelper::OnDevdMessageCanBeRead, ++ base::Unretained(this))); ++ } ++ ++ void OnDevdMessageCanBeRead() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ssize_t bytes_read = HANDLE_EINTR(recv(devd_fd_.get(), devd_buffer_->data(), ++ devd_buffer_->size() - 1, MSG_WAITALL)); ++ if (bytes_read < 0) { ++ if (errno != EAGAIN) { ++ HID_LOG(ERROR) << "Read failed"; ++ file_watcher_.reset(); ++ } ++ return; ++ } ++ ++ devd_buffer_->data()[bytes_read] = 0; ++ char *data = devd_buffer_->data(); ++ // It may take some time for devd to change permissions ++ // on /dev/uhidX node. So do not fail immediately if ++ // open fail. Retry each second for kMaxPermissionChecks ++ // times before giving up entirely ++ if (base::StartsWith(data, "+uhid", base::CompareCase::SENSITIVE)) { ++ std::vector<std::string> parts = base::SplitString( ++ data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); ++ if (!parts.empty()) { ++ std::string device_name = parts[0].substr(1); // skip '+' ++ if (HaveReadWritePermissions(device_name)) ++ OnDeviceAdded(parts[0].substr(1)); ++ else { ++ // Do not re-add to checks ++ if (permissions_checks_attempts_.find(device_name) == permissions_checks_attempts_.end()) { ++ permissions_checks_attempts_.insert(std::pair<std::string, int>(device_name, kMaxPermissionChecks)); ++ timer_->Start(FROM_HERE, base::Seconds(1), ++ this, &BlockingTaskRunnerHelper::CheckPendingPermissionChange); ++ } ++ } ++ } ++ } ++ ++ if (base::StartsWith(data, "-uhid", base::CompareCase::SENSITIVE)) { ++ std::vector<std::string> parts = base::SplitString( ++ data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); ++ if (!parts.empty()) { ++ std::string device_name = parts[0].substr(1); // skip '-' ++ auto it = permissions_checks_attempts_.find(device_name); ++ if (it != permissions_checks_attempts_.end()) { ++ permissions_checks_attempts_.erase(it); ++ if (permissions_checks_attempts_.empty()) ++ timer_->Stop(); ++ } ++ OnDeviceRemoved(parts[0].substr(1)); ++ } ++ } ++ } ++ ++ SEQUENCE_CHECKER(sequence_checker_); ++ ++ // This weak pointer is only valid when checked on this task runner. ++ base::WeakPtr<HidServiceFreeBSD> service_; ++ scoped_refptr<base::SequencedTaskRunner> task_runner_; ++ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_; ++ std::unique_ptr<base::RepeatingTimer> timer_; ++ base::ScopedFD devd_fd_; ++ scoped_refptr<net::IOBufferWithSize> devd_buffer_; ++ std::map<std::string, int> permissions_checks_attempts_; ++}; ++ ++HidServiceFreeBSD::HidServiceFreeBSD() ++ : blocking_task_runner_( ++ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)), ++ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) { ++ helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr())); ++ blocking_task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&BlockingTaskRunnerHelper::Start, base::Unretained(helper_.get()))); ++} ++ ++HidServiceFreeBSD::~HidServiceFreeBSD() { ++ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); ++} ++ ++base::WeakPtr<HidService> HidServiceFreeBSD::GetWeakPtr() { ++ return weak_factory_.GetWeakPtr(); ++} ++ ++// static ++void HidServiceFreeBSD::OpenOnBlockingThread( ++ std::unique_ptr<ConnectParams> params) { ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner; ++ ++ base::FilePath device_path(params->device_info->device_node()); ++ base::File device_file; ++ int flags = ++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; ++ device_file.Initialize(device_path, flags); ++ if (!device_file.IsValid()) { ++ HID_LOG(EVENT) << "Failed to open '" << params->device_info->device_node() ++ << "': " ++ << base::File::ErrorToString(device_file.error_details()); ++ task_runner->PostTask(FROM_HERE, ++ base::BindOnce(std::move(params->callback), nullptr)); ++ return; ++ } ++ params->fd.reset(device_file.TakePlatformFile()); ++ task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::FinishOpen, ++ std::move(params))); ++} ++ ++void HidServiceFreeBSD::Connect(const std::string& device_guid, ++ bool allow_protected_reports, ++ bool allow_fido_reports, ++ ConnectCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ++ const auto& map_entry = devices().find(device_guid); ++ if (map_entry == devices().end()) { ++ base::ThreadTaskRunnerHandle::Get()->PostTask( ++ FROM_HERE, base::BindOnce(std::move(callback), nullptr)); ++ return; ++ } ++ ++ scoped_refptr<HidDeviceInfo> device_info = map_entry->second; ++ ++ auto params = std::make_unique<ConnectParams>(device_info, ++ allow_protected_reports, ++ allow_fido_reports, ++ std::move(callback)); ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner = ++ params->blocking_task_runner; ++ ++ blocking_task_runner->PostTask( ++ FROM_HERE, base::BindOnce(&HidServiceFreeBSD::OpenOnBlockingThread, ++ std::move(params))); ++} ++ ++// static ++void HidServiceFreeBSD::FinishOpen(std::unique_ptr<ConnectParams> params) { ++ DCHECK(params->fd.is_valid()); ++ ++ if (!base::SetNonBlocking(params->fd.get())) { ++ HID_PLOG(ERROR) << "Failed to set the non-blocking flag on the device fd"; ++ std::move(params->callback).Run(nullptr); ++ } ++ ++ std::move(params->callback).Run(base::MakeRefCounted<HidConnectionFreeBSD>( ++ std::move(params->device_info), ++ std::move(params->fd), ++ std::move(params->blocking_task_runner), ++ params->allow_protected_reports, ++ params->allow_fido_reports ++ )); ++} ++ ++} // namespace device diff --git a/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.h b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.h new file mode 100644 index 000000000000..e190a33b930d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_hid_hid__service__freebsd.h @@ -0,0 +1,52 @@ +--- services/device/hid/hid_service_freebsd.h.orig 2022-10-01 07:40:07 UTC ++++ services/device/hid/hid_service_freebsd.h +@@ -0,0 +1,49 @@ ++// Copyright 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef DEVICE_HID_HID_SERVICE_FREEBSD_H_ ++#define DEVICE_HID_HID_SERVICE_FREEBSD_H_ ++ ++#include <string> ++ ++#include "base/memory/ref_counted.h" ++#include "base/memory/weak_ptr.h" ++#include "base/timer/timer.h" ++#include "services/device/hid/hid_service.h" ++#include "net/base/io_buffer.h" ++ ++namespace device { ++ ++class HidServiceFreeBSD : public HidService { ++ public: ++ HidServiceFreeBSD(); ++ ++ HidServiceFreeBSD(const HidServiceFreeBSD&) = delete; ++ HidServiceFreeBSD& operator=(const HidServiceFreeBSD&) = delete; ++ ++ ~HidServiceFreeBSD() override; ++ ++ void Connect(const std::string& device_guid, ++ bool allow_protected_reports, ++ bool allow_fido_reports, ++ ConnectCallback connect) override; ++ base::WeakPtr<HidService> GetWeakPtr() override; ++ ++ private: ++ struct ConnectParams; ++ class BlockingTaskRunnerHelper; ++ ++ static void OpenOnBlockingThread(std::unique_ptr<ConnectParams> params); ++ static void FinishOpen(std::unique_ptr<ConnectParams> params); ++ ++ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; ++ // |helper_| lives on the sequence |blocking_task_runner_| posts to and holds ++ // a weak reference back to the service that owns it. ++ std::unique_ptr<BlockingTaskRunnerHelper, base::OnTaskRunnerDeleter> helper_; ++ base::WeakPtrFactory<HidServiceFreeBSD> weak_factory_{this}; ++}; ++ ++} // namespace device ++ ++#endif // DEVICE_HID_HID_SERVICE_FREEBSD_H_ diff --git a/www/ungoogled-chromium/files/patch-services_device_serial_BUILD.gn b/www/ungoogled-chromium/files/patch-services_device_serial_BUILD.gn new file mode 100644 index 000000000000..347e50d5a182 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_serial_BUILD.gn @@ -0,0 +1,16 @@ +--- services/device/serial/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ services/device/serial/BUILD.gn +@@ -83,6 +83,13 @@ if (is_win || ((is_linux || is_chromeos) && use_udev) + ] + } + ++ if (is_bsd) { ++ sources -= [ ++ "serial_device_enumerator_linux.cc", ++ "serial_device_enumerator_linux.h" ++ ] ++ } ++ + if (use_udev) { + deps += [ "//device/udev_linux" ] + } diff --git a/www/ungoogled-chromium/files/patch-services_device_serial_serial__device__enumerator.cc b/www/ungoogled-chromium/files/patch-services_device_serial_serial__device__enumerator.cc new file mode 100644 index 000000000000..1a64ee89d5c4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_serial_serial__device__enumerator.cc @@ -0,0 +1,20 @@ +--- services/device/serial/serial_device_enumerator.cc.orig 2022-10-01 07:40:07 UTC ++++ services/device/serial/serial_device_enumerator.cc +@@ -11,7 +11,7 @@ + #include "build/build_config.h" + #include "components/device_event_log/device_event_log.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "services/device/serial/serial_device_enumerator_linux.h" + #elif BUILDFLAG(IS_MAC) + #include "services/device/serial/serial_device_enumerator_mac.h" +@@ -24,7 +24,7 @@ namespace device { + // static + std::unique_ptr<SerialDeviceEnumerator> SerialDeviceEnumerator::Create( + scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return SerialDeviceEnumeratorLinux::Create(); + #elif BUILDFLAG(IS_MAC) + return std::make_unique<SerialDeviceEnumeratorMac>(); diff --git a/www/ungoogled-chromium/files/patch-services_device_serial_serial__io__handler__posix.cc b/www/ungoogled-chromium/files/patch-services_device_serial_serial__io__handler__posix.cc new file mode 100644 index 000000000000..df6814b7b528 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_serial_serial__io__handler__posix.cc @@ -0,0 +1,11 @@ +--- services/device/serial/serial_io_handler_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ services/device/serial/serial_io_handler_posix.cc +@@ -67,7 +67,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee + BITRATE_TO_SPEED_CASE(9600) + BITRATE_TO_SPEED_CASE(19200) + BITRATE_TO_SPEED_CASE(38400) +-#if !BUILDFLAG(IS_MAC) ++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) + BITRATE_TO_SPEED_CASE(57600) + BITRATE_TO_SPEED_CASE(115200) + BITRATE_TO_SPEED_CASE(230400) diff --git a/www/ungoogled-chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc b/www/ungoogled-chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc new file mode 100644 index 000000000000..fd9a6c15e4d1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc @@ -0,0 +1,14 @@ +--- services/device/time_zone_monitor/time_zone_monitor_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ services/device/time_zone_monitor/time_zone_monitor_linux.cc +@@ -137,7 +137,11 @@ class TimeZoneMonitorLinuxImpl + // false positives are harmless, assuming the false positive rate is + // reasonable. + const char* const kFilesToWatch[] = { ++#if defined(OS_BSD) ++ "/etc/localtime", ++#else + "/etc/localtime", "/etc/timezone", "/etc/TZ", ++#endif + }; + for (size_t index = 0; index < std::size(kFilesToWatch); ++index) { + file_path_watchers_.push_back(std::make_unique<base::FilePathWatcher>()); diff --git a/www/ungoogled-chromium/files/patch-services_device_usb_BUILD.gn b/www/ungoogled-chromium/files/patch-services_device_usb_BUILD.gn new file mode 100644 index 000000000000..3f66947343dd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_device_usb_BUILD.gn @@ -0,0 +1,38 @@ +--- services/device/usb/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ services/device/usb/BUILD.gn +@@ -103,15 +103,17 @@ static_library("usb") { + deps += [ "//third_party/re2" ] + } + +- if (is_mac) { +- sources += [ +- "usb_device_handle_mac.cc", +- "usb_device_handle_mac.h", +- "usb_device_mac.cc", +- "usb_device_mac.h", +- "usb_service_mac.cc", +- "usb_service_mac.h", +- ] ++ if (is_mac || is_bsd) { ++ if (is_mac) { ++ sources += [ ++ "usb_device_handle_mac.cc", ++ "usb_device_handle_mac.h", ++ "usb_device_mac.cc", ++ "usb_device_mac.h", ++ "usb_service_mac.cc", ++ "usb_service_mac.h", ++ ] ++ } + + # These sources and deps are required for libusb. + # TODO(https://crbug.com/1096743) Remove these sources. +@@ -152,7 +154,7 @@ static_library("usb") { + deps += [ "//device/udev_linux" ] + } + +- if (is_android || is_chromeos || is_linux) { ++ if (is_android || is_chromeos || is_linux && !is_bsd) { + sources += [ + "usb_device_handle_usbfs.cc", + "usb_device_handle_usbfs.h", diff --git a/www/ungoogled-chromium/files/patch-services_network_BUILD.gn b/www/ungoogled-chromium/files/patch-services_network_BUILD.gn new file mode 100644 index 000000000000..07da042faf7d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_network_BUILD.gn @@ -0,0 +1,10 @@ +--- services/network/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ services/network/BUILD.gn +@@ -322,7 +322,6 @@ if (is_linux || is_chromeos) { + ] + deps = [ + "//base:base", +- "//sandbox/linux:sandbox_services", + "//sandbox/policy:policy", + ] + } diff --git a/www/ungoogled-chromium/files/patch-services_network_network__sandbox__hook__linux.cc b/www/ungoogled-chromium/files/patch-services_network_network__sandbox__hook__linux.cc new file mode 100644 index 000000000000..b573a006b604 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_network_network__sandbox__hook__linux.cc @@ -0,0 +1,26 @@ +--- services/network/network_sandbox_hook_linux.cc.orig 2022-10-01 07:40:07 UTC ++++ services/network/network_sandbox_hook_linux.cc +@@ -26,12 +26,15 @@ sandbox::syscall_broker::BrokerCommandSet GetNetworkBr + }); + } + ++#if !defined(OS_BSD) + std::vector<BrokerFilePermission> GetNetworkFilePermissions() { + // TODO(tsepez): remove universal permission under filesystem root. + return {BrokerFilePermission::ReadWriteCreateRecursive("/")}; + } ++#endif + + bool NetworkPreSandboxHook(sandbox::policy::SandboxLinux::Options options) { ++#if !defined(OS_BSD) + auto* instance = sandbox::policy::SandboxLinux::GetInstance(); + + instance->StartBrokerProcess( +@@ -39,6 +42,7 @@ bool NetworkPreSandboxHook(sandbox::policy::SandboxLin + sandbox::policy::SandboxLinux::PreSandboxHook(), options); + + instance->EngageNamespaceSandboxIfPossible(); ++#endif + return true; + } + diff --git a/www/ungoogled-chromium/files/patch-services_network_network__sandbox__hook__linux.h b/www/ungoogled-chromium/files/patch-services_network_network__sandbox__hook__linux.h new file mode 100644 index 000000000000..03f716e23fea --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_network_network__sandbox__hook__linux.h @@ -0,0 +1,14 @@ +--- services/network/network_sandbox_hook_linux.h.orig 2022-10-01 07:40:07 UTC ++++ services/network/network_sandbox_hook_linux.h +@@ -10,7 +10,11 @@ + #include "base/component_export.h" + #include "sandbox/linux/syscall_broker/broker_command.h" + #include "sandbox/linux/syscall_broker/broker_file_permission.h" ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace network { + diff --git a/www/ungoogled-chromium/files/patch-services_network_network__service.cc b/www/ungoogled-chromium/files/patch-services_network_network__service.cc new file mode 100644 index 000000000000..06c978d649c2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_network_network__service.cc @@ -0,0 +1,11 @@ +--- services/network/network_service.cc.orig 2022-10-01 07:40:07 UTC ++++ services/network/network_service.cc +@@ -83,7 +83,7 @@ + #include "third_party/boringssl/src/include/openssl/cpu.h" + #endif + +-#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || \ ++#if ((BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD)) || \ + BUILDFLAG(IS_CHROMEOS_LACROS) + + #include "components/os_crypt/key_storage_config_linux.h" diff --git a/www/ungoogled-chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/www/ungoogled-chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc new file mode 100644 index 000000000000..904d8aff9ddb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc @@ -0,0 +1,65 @@ +--- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2022-10-01 07:40:07 UTC ++++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc +@@ -52,7 +52,7 @@ uint32_t CalculatePrivateFootprintKb(const mojom::RawO + uint32_t shared_resident_kb) { + DCHECK(os_dump.platform_private_footprint); + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + uint64_t rss_anon_bytes = os_dump.platform_private_footprint->rss_anon_bytes; + uint64_t vm_swap_bytes = os_dump.platform_private_footprint->vm_swap_bytes; + return (rss_anon_bytes + vm_swap_bytes) / 1024; +@@ -80,7 +80,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl + os_dump->is_peak_rss_resettable = internal_os_dump.is_peak_rss_resettable; + os_dump->private_footprint_kb = + CalculatePrivateFootprintKb(internal_os_dump, shared_resident_kb); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + os_dump->private_footprint_swap_kb = + internal_os_dump.platform_private_footprint->vm_swap_bytes / 1024; + #endif +@@ -259,7 +259,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( + + // On most platforms each process can dump data about their own process + // so ask each process to do so Linux is special see below. +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + request->pending_responses.insert({client_info.pid, ResponseType::kOSDump}); + client->RequestOSMemoryDump(request->memory_map_option(), + {base::kNullProcessId}, +@@ -274,7 +274,7 @@ void QueuedRequestDispatcher::SetUpAndDispatch( + + // In some cases, OS stats can only be dumped from a privileged process to + // get around to sandboxing/selinux restrictions (see crbug.com/461788). +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::vector<base::ProcessId> pids; + mojom::ClientProcess* browser_client = nullptr; + base::ProcessId browser_client_pid = base::kNullProcessId; +@@ -320,7 +320,7 @@ void QueuedRequestDispatcher::SetUpAndDispatchVmRegion + const OsCallback& os_callback) { + // On Linux, OS stats can only be dumped from a privileged process to + // get around to sandboxing/selinux restrictions (see crbug.com/461788). +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + mojom::ClientProcess* browser_client = nullptr; + base::ProcessId browser_client_pid = 0; + for (const auto& client_info : clients) { +@@ -371,7 +371,7 @@ QueuedRequestDispatcher::FinalizeVmRegionRequest( + // each client process provides 1 OS dump, % the case where the client is + // disconnected mid dump. + OSMemDumpMap& extra_os_dumps = response.second.os_dumps; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + for (auto& kv : extra_os_dumps) { + auto pid = kv.first == base::kNullProcessId ? original_pid : kv.first; + DCHECK(results.find(pid) == results.end()); +@@ -433,7 +433,7 @@ void QueuedRequestDispatcher::Finalize(QueuedRequest* + // crash). In the latter case (OS_LINUX) we expect the full map to come + // from the browser process response. + OSMemDumpMap& extra_os_dumps = response.second.os_dumps; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + for (const auto& kv : extra_os_dumps) { + auto pid = kv.first == base::kNullProcessId ? original_pid : kv.first; + DCHECK_EQ(pid_to_os_dump[pid], nullptr); diff --git a/www/ungoogled-chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn b/www/ungoogled-chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn new file mode 100644 index 000000000000..2cb253bdf45b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn @@ -0,0 +1,16 @@ +--- services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ services/resource_coordinator/public/cpp/memory_instrumentation/BUILD.gn +@@ -29,8 +29,12 @@ component("memory_instrumentation") { + sources += [ "os_metrics_win.cc" ] + } + +- if (is_android || is_linux || is_chromeos) { ++ if ((is_android || is_linux || is_chromeos) && !is_bsd) { + sources += [ "os_metrics_linux.cc" ] ++ } ++ ++ if (is_bsd) { ++ sources += [ "os_metrics_bsd.cc" ] + } + + if (is_fuchsia) { diff --git a/www/ungoogled-chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h b/www/ungoogled-chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h new file mode 100644 index 000000000000..7e2a7662e2c0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h @@ -0,0 +1,20 @@ +--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2022-10-01 07:40:07 UTC ++++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h +@@ -45,7 +45,7 @@ class COMPONENT_EXPORT( + mojom::RawOSMemDump*); + static std::vector<mojom::VmRegionPtr> GetProcessMemoryMaps(base::ProcessId); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + static void SetProcSmapsForTesting(FILE*); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || + // BUILDFLAG(IS_ANDROID) +@@ -62,7 +62,7 @@ class COMPONENT_EXPORT( + static std::vector<mojom::VmRegionPtr> GetProcessModules(base::ProcessId); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Provides information on the dump state of resident pages. These values are + // written to logs. New enum values can be added, but existing enums must + // never be renumbered or deleted and reused. diff --git a/www/ungoogled-chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc b/www/ungoogled-chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc new file mode 100644 index 000000000000..6400f6a8a117 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc @@ -0,0 +1,61 @@ +--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_bsd.cc.orig 2022-10-01 07:40:07 UTC ++++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_bsd.cc +@@ -0,0 +1,58 @@ ++// Copyright 2022 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h" ++ ++#include "base/memory/page_size.h" ++#include "base/process/process.h" ++#include "base/process/process_handle.h" ++ ++#include <sys/sysctl.h> ++ ++#include <vector> ++ ++#if BUILDFLAG(IS_OPENBSD) ++#define vm_rssize info.p_vm_rssize ++#elif BUILDFLAG(IS_FREEBSD) ++#include <sys/user.h> ++#define vm_rssize info.ki_rssize ++#endif ++ ++namespace memory_instrumentation { ++ ++// static ++bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, ++ mojom::RawOSMemDump* dump) { ++ base::Process process = pid == base::kNullProcessId ++ ? base::Process::Current() ++ : base::Process::Open(pid); ++ const size_t kPageSize = base::GetPageSize(); ++ struct kinfo_proc info; ++ size_t length = sizeof(struct kinfo_proc); ++#if BUILDFLAG(IS_OPENBSD) ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process.Handle(), ++ static_cast<int>(length), 1 }; ++#elif BUILDFLAG(IS_FREEBSD) ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process.Handle() }; ++#endif ++ ++ if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) ++ return false; ++ ++ dump->resident_set_kb = (vm_rssize * kPageSize) / 1024; ++ dump->platform_private_footprint->rss_anon_bytes = ++ vm_rssize * kPageSize; ++ dump->platform_private_footprint->vm_swap_bytes = 0; ++ ++ return true; ++} ++ ++// static ++std::vector<mojom::VmRegionPtr> OSMetrics::GetProcessMemoryMaps( ++ base::ProcessId) { ++ NOTIMPLEMENTED(); ++ return std::vector<mojom::VmRegionPtr>(); ++} ++ ++} // namespace memory_instrumentation diff --git a/www/ungoogled-chromium/files/patch-services_service__manager_BUILD.gn b/www/ungoogled-chromium/files/patch-services_service__manager_BUILD.gn new file mode 100644 index 000000000000..28c441c81ecc --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_service__manager_BUILD.gn @@ -0,0 +1,11 @@ +--- services/service_manager/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ services/service_manager/BUILD.gn +@@ -67,7 +67,7 @@ source_set("service_manager") { + ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + deps += [ "//sandbox/linux:sandbox_services" ] + } + } diff --git a/www/ungoogled-chromium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn b/www/ungoogled-chromium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn new file mode 100644 index 000000000000..ad87aac11213 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn @@ -0,0 +1,11 @@ +--- services/service_manager/public/cpp/service_executable/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ services/service_manager/public/cpp/service_executable/BUILD.gn +@@ -22,7 +22,7 @@ source_set("support") { + "//services/service_manager/public/mojom", + ] + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + deps += [ + "//sandbox/linux:sandbox", + "//sandbox/linux:sandbox_services", diff --git a/www/ungoogled-chromium/files/patch-services_video__capture_broadcasting__receiver.cc b/www/ungoogled-chromium/files/patch-services_video__capture_broadcasting__receiver.cc new file mode 100644 index 000000000000..77c7e7f5d69a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_video__capture_broadcasting__receiver.cc @@ -0,0 +1,11 @@ +--- services/video_capture/broadcasting_receiver.cc.orig 2022-10-01 07:40:07 UTC ++++ services/video_capture/broadcasting_receiver.cc +@@ -234,7 +234,7 @@ void BroadcastingReceiver::BufferContext:: + ConvertRawFileDescriptorToUnsafeShmemRegion() { + DCHECK(buffer_handle_->is_shared_memory_via_raw_file_descriptor()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const size_t handle_size = + buffer_handle_->get_shared_memory_via_raw_file_descriptor() + ->shared_memory_size_in_bytes; diff --git a/www/ungoogled-chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom b/www/ungoogled-chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom new file mode 100644 index 000000000000..c2348e4c9d5e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom @@ -0,0 +1,15 @@ +--- services/video_capture/public/mojom/video_capture_service.mojom.orig 2022-10-01 07:40:07 UTC ++++ services/video_capture/public/mojom/video_capture_service.mojom +@@ -24,10 +24,10 @@ interface AcceleratorFactory { + pending_receiver<chromeos_camera.mojom.MjpegDecodeAccelerator> jda); + }; + +-[EnableIf=is_fuchsia] ++[EnableIf=is_openbsd] + const sandbox.mojom.Sandbox kVideoCaptureSandbox + = sandbox.mojom.Sandbox.kVideoCapture; +-[EnableIfNot=is_fuchsia] ++[EnableIfNot=is_openbsd] + const sandbox.mojom.Sandbox kVideoCaptureSandbox + = sandbox.mojom.Sandbox.kNoSandbox; + diff --git a/www/ungoogled-chromium/files/patch-skia_ext_SkMemory__new__handler.cpp b/www/ungoogled-chromium/files/patch-skia_ext_SkMemory__new__handler.cpp new file mode 100644 index 000000000000..c5d5605f89f8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-skia_ext_SkMemory__new__handler.cpp @@ -0,0 +1,11 @@ +--- skia/ext/SkMemory_new_handler.cpp.orig 2022-10-01 07:40:07 UTC ++++ skia/ext/SkMemory_new_handler.cpp +@@ -79,7 +79,7 @@ static void* malloc_nothrow(size_t size) { + // TODO(b.kelemen): we should always use UncheckedMalloc but currently it + // doesn't work as intended everywhere. + void* result; +-#if BUILDFLAG(IS_IOS) ++#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + result = malloc(size); + #else + // It's the responsibility of the caller to check the return value. diff --git a/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_base_config.h b/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_base_config.h new file mode 100644 index 000000000000..68b8e662813b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_base_config.h @@ -0,0 +1,21 @@ +--- third_party/abseil-cpp/absl/base/config.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/abseil-cpp/absl/base/config.h +@@ -458,7 +458,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != + // POSIX.1-2001. + #ifdef ABSL_HAVE_SCHED_YIELD + #error ABSL_HAVE_SCHED_YIELD cannot be directly set +-#elif defined(__linux__) || defined(__ros__) || defined(__native_client__) ++#elif defined(__linux__) || defined(__ros__) || defined(__native_client__) || \ ++ defined(__OpenBSD__) || defined(__FreeBSD__) + #define ABSL_HAVE_SCHED_YIELD 1 + #endif + +@@ -473,7 +474,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != + // platforms. + #ifdef ABSL_HAVE_SEMAPHORE_H + #error ABSL_HAVE_SEMAPHORE_H cannot be directly set +-#elif defined(__linux__) || defined(__ros__) ++#elif defined(__linux__) || defined(__ros__) || defined(__OpenBSD__) || defined(__FreeBSD__) + #define ABSL_HAVE_SEMAPHORE_H 1 + #endif + diff --git a/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc b/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc new file mode 100644 index 000000000000..4c9c3dab1dc3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc @@ -0,0 +1,23 @@ +--- third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/abseil-cpp/absl/base/internal/sysinfo.cc +@@ -30,7 +30,7 @@ + #include <sys/syscall.h> + #endif + +-#if defined(__APPLE__) || defined(__FreeBSD__) ++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) + #include <sys/sysctl.h> + #endif + +@@ -307,9 +307,11 @@ static double GetNominalCPUFrequency() { + // a new mode (turbo mode). Essentially, those frequencies cannot + // always be relied upon. The same reasons apply to /proc/cpuinfo as + // well. ++#if !defined(__OpenBSD__) && !defined(__FreeBSD__) // pledge violation + if (ReadLongFromFile("/sys/devices/system/cpu/cpu0/tsc_freq_khz", &freq)) { + return freq * 1e3; // Value is kHz. + } ++#endif + + #if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY) + // On these platforms, the TSC frequency is the nominal CPU diff --git a/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h b/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h new file mode 100644 index 000000000000..89aa32762542 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h @@ -0,0 +1,11 @@ +--- third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +@@ -33,7 +33,7 @@ + + #if defined(__ELF__) && !defined(__OpenBSD__) && !defined(__QNX__) && \ + !defined(__native_client__) && !defined(__asmjs__) && \ +- !defined(__wasm__) && !defined(__HAIKU__) ++ !defined(__wasm__) && !defined(__HAIKU__) && !defined(__FreeBSD__) + #define ABSL_HAVE_ELF_MEM_IMAGE 1 + #endif + diff --git a/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc b/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc new file mode 100644 index 000000000000..fd35ed0a0bb1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc @@ -0,0 +1,11 @@ +--- third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +@@ -19,7 +19,7 @@ + #endif + + #if defined(HAS_STRPTIME) && HAS_STRPTIME +-#if !defined(_XOPEN_SOURCE) && !defined(__OpenBSD__) ++#if !defined(_XOPEN_SOURCE) && !defined(__OpenBSD__) && !defined(__FreeBSD__) + #define _XOPEN_SOURCE // Definedness suffices for strptime. + #endif + #endif diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn new file mode 100644 index 000000000000..72fd9534fa70 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_BUILD.gn @@ -0,0 +1,47 @@ +--- third_party/angle/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/BUILD.gn +@@ -261,7 +261,6 @@ config("extra_warnings") { + "-Wtautological-type-limit-compare", + "-Wundefined-reinterpret-cast", + "-Wunneeded-internal-declaration", +- "-Wunused-but-set-variable", + "-Wsuggest-destructor-override", + "-Wsuggest-override", + +@@ -439,7 +438,7 @@ angle_static_library("angle_common") { + all_dependent_configs = [ ":angle_disable_pool_alloc" ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + libs = [ "dl" ] + } + +@@ -569,6 +568,9 @@ angle_static_library("angle_gpu_info_util") { + "Xi", + "Xext", + ] ++ if (is_bsd) { ++ libs += [ "GL" ] ++ } + } + + if (angle_use_wayland && angle_has_build) { +@@ -1089,12 +1091,12 @@ if (angle_use_wayland) { + "wayland-client", + "wayland-egl", + ] ++ } else { ++ include_dirs = [ ++ "$wayland_dir/egl", ++ "$wayland_dir/src", ++ ] + } +- +- include_dirs = [ +- "$wayland_dir/egl", +- "$wayland_dir/src", +- ] + } + + group("angle_wayland") { diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_common_platform.h b/www/ungoogled-chromium/files/patch-third__party_angle_src_common_platform.h new file mode 100644 index 000000000000..7d15d876227c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_common_platform.h @@ -0,0 +1,19 @@ +--- third_party/angle/src/common/platform.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/common/platform.h +@@ -26,7 +26,15 @@ + #elif defined(__linux__) || defined(EMSCRIPTEN) + # define ANGLE_PLATFORM_LINUX 1 + # define ANGLE_PLATFORM_POSIX 1 +-#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ ++#elif defined(__OpenBSD__) ++# define ANGLE_PLATFORM_OPENBSD 1 ++# define ANGLE_PLATFORM_POSIX 1 ++# define ANGLE_PLATFORM_BSD 1 ++#elif defined(__FreeBSD__) ++# define ANGLE_PLATFORM_FREEBSD 1 ++# define ANGLE_PLATFORM_POSIX 1 ++# define ANGLE_PLATFORM_BSD 1 ++#elif defined(__NetBSD__) || \ + defined(__DragonFly__) || defined(__sun) || defined(__GLIBC__) || defined(__GNU__) || \ + defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__) + # define ANGLE_PLATFORM_POSIX 1 diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_common_vulkan_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_angle_src_common_vulkan_BUILD.gn new file mode 100644 index 000000000000..3ae1f1a598f6 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_common_vulkan_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/angle/src/common/vulkan/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/common/vulkan/BUILD.gn +@@ -33,7 +33,7 @@ if (angle_enable_vulkan || angle_build_vulkan_system_i + if (angle_shared_libvulkan) { + defines = [ "ANGLE_SHARED_LIBVULKAN=1" ] + } +- if (angle_use_wayland) { ++ if (angle_use_wayland && !use_system_libwayland) { + include_dirs = [ "$wayland_dir/src" ] + } + configs = [ "$angle_root:angle_vulkan_wayland_config" ] diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h b/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h new file mode 100644 index 000000000000..f7319d70bd1b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h @@ -0,0 +1,16 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h +@@ -14,6 +14,13 @@ + namespace angle + { + ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices); ++#if defined(__FreeBSD__) ++bool GetPCIDevicesFreeBSD(std::vector<GPUDeviceInfo> *devices); ++#endif ++#endif ++ + // Defined in SystemInfo_libpci when GPU_INFO_USE_LIBPCI is defined. + bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo> *devices); + // Defined in SystemInfo_x11 when GPU_INFO_USE_X11 is defined. diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp b/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp new file mode 100644 index 000000000000..9335f81efec3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp @@ -0,0 +1,90 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp +@@ -12,6 +12,11 @@ + #include <pci/pci.h> + #include <unistd.h> + ++#if defined(__FreeBSD__) ++#include <fcntl.h> ++#include <sys/pciio.h> ++#endif ++ + #include "common/angleutils.h" + #include "common/debug.h" + +@@ -85,6 +90,75 @@ struct LibPCI : private angle::NonCopyable + }; + + } // anonymous namespace ++ ++#if defined(__FreeBSD__) ++// Adds an entry per PCI GPU found and fills the device and vendor ID. ++bool GetPCIDevicesFreeBSD(std::vector<GPUDeviceInfo> *devices) ++{ ++ int fd; ++ struct pci_conf_io conf; ++ struct pci_conf *matches; ++ uint32_t offset = 0; ++ ++ fd = open("/dev/pci", O_RDONLY); ++ if (fd < 0) ++ return false; ++ ++ matches = new struct pci_conf[32]; ++ conf.generation = 0; ++ do { ++ conf.pat_buf_len = 0; ++ conf.num_patterns = 0; ++ conf.patterns = NULL; ++ conf.match_buf_len = 32 * sizeof(struct pci_conf); ++ conf.num_matches = 32; ++ conf.matches = matches; ++ conf.offset = offset; ++ conf.status = PCI_GETCONF_ERROR; ++ if (ioctl(fd, PCIOCGETCONF, &conf) < 0) { ++ if (errno == ENODEV) ++ break; ++ } ++ /* PCI_GETCONF_LIST_CHANGED would require us to start over. */ ++ if (conf.status == PCI_GETCONF_ERROR || conf.status == PCI_GETCONF_LIST_CHANGED) { ++ break; ++ } ++ ++ for (unsigned int i = 0; i < conf.num_matches; i++) { ++ uint16_t device_class = (matches[i].pc_class << 8) | matches[i].pc_subclass; ++ ++ // Skip non-GPU devices ++ switch (device_class) ++ { ++ case PCI_CLASS_DISPLAY_VGA: ++ case PCI_CLASS_DISPLAY_XGA: ++ case PCI_CLASS_DISPLAY_3D: ++ break; ++ default: ++ continue; ++ } ++ ++ // Skip unknown devices ++ if (matches[i].pc_vendor == 0 || matches[i].pc_device == 0) { ++ continue; ++ } ++ ++ GPUDeviceInfo info; ++ info.vendorId = matches[i].pc_vendor; ++ info.deviceId = matches[i].pc_device; ++ ++ devices->push_back(info); ++ } ++ offset += conf.num_matches; ++ } while (conf.status == PCI_GETCONF_MORE_DEVS); ++ ++ delete[] matches; ++ ++ close(fd); ++ ++ return true; ++} ++#endif + + // Adds an entry per PCI GPU found and fills the device and vendor ID. + bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo> *devices) diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp b/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp new file mode 100644 index 000000000000..1408e5c436e3 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp @@ -0,0 +1,35 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp +@@ -71,6 +71,24 @@ bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo + + bool GetSystemInfo(SystemInfo *info) + { ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++ if (!CollectMesaCardInfo(&(info->gpus))) ++ { ++#if defined(__FreeBSD__) ++ if (!GetPCIDevicesFreeBSD(&(info->gpus))) ++ { ++#endif ++#if defined(ANGLE_USE_VULKAN_SYSTEM_INFO) ++ // Try vulkan backend to get GPU info ++ return GetSystemInfoVulkan(info); ++#else ++ return false; ++#endif ++#if defined(__FreeBSD__) ++ } ++#endif ++ } ++#else + if (!GetPCIDevicesWithLibPCI(&(info->gpus))) + { + #if defined(ANGLE_USE_VULKAN_SYSTEM_INFO) +@@ -85,6 +103,7 @@ bool GetSystemInfo(SystemInfo *info) + { + return false; + } ++#endif + + GetDualGPUInfo(info); + diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp b/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp new file mode 100644 index 000000000000..b175e3b4bbd1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp @@ -0,0 +1,60 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp +@@ -8,6 +8,10 @@ + + #include "gpu_info_util/SystemInfo_internal.h" + ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++#include <GL/glx.h> ++#include <GL/glxext.h> ++#endif + #include <X11/Xlib.h> + + #include "common/debug.h" +@@ -18,8 +22,46 @@ + # error SystemInfo_x11.cpp compiled without GPU_INFO_USE_X11 + #endif + ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++#define GLX_RENDERER_VENDOR_ID_MESA 0x8183 ++#define GLX_RENDERER_DEVICE_ID_MESA 0x8184 ++#endif ++ + namespace angle + { ++ ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices) ++{ ++ unsigned int vid[3], did[3]; ++ ++ Display *display = XOpenDisplay(NULL); ++ if (!display) { ++ return false; ++ } ++ ++ PFNGLXQUERYRENDERERINTEGERMESAPROC queryInteger = ++ (PFNGLXQUERYRENDERERINTEGERMESAPROC) glXGetProcAddressARB((const GLubyte *) ++ "glXQueryRendererIntegerMESA"); ++ ++ if (!queryInteger) ++ return false; ++ ++ bool vendor_ret = ++ queryInteger(display, 0, 0, GLX_RENDERER_VENDOR_ID_MESA, vid); ++ bool device_ret = ++ queryInteger(display, 0, 0, GLX_RENDERER_DEVICE_ID_MESA, did); ++ ++ if (vendor_ret && device_ret) { ++ GPUDeviceInfo info; ++ info.vendorId = vid[0]; ++ info.deviceId = did[0]; ++ devices->push_back(info); ++ } ++ ++ return true; ++} ++#endif + + bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version) + { diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp new file mode 100644 index 000000000000..94bcc98b0d1e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp @@ -0,0 +1,47 @@ +--- third_party/angle/src/libANGLE/Display.cpp.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/libANGLE/Display.cpp +@@ -54,7 +54,7 @@ + # include "libANGLE/renderer/gl/wgl/DisplayWGL.h" + # elif defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_IOS) + # include "libANGLE/renderer/gl/apple/DisplayApple_api.h" +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) + # include "libANGLE/renderer/gl/egl/DisplayEGL.h" + # if defined(ANGLE_USE_GBM) + # include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h" +@@ -331,7 +331,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di + impl = rx::CreateDisplayCGLOrEAGL(state); + break; + +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) + # if defined(ANGLE_USE_GBM) + if (platformType == 0) + { +@@ -374,7 +374,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di + #if defined(ANGLE_ENABLE_OPENGL) + # if defined(ANGLE_PLATFORM_WINDOWS) + impl = new rx::DisplayWGL(state); +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) + # if defined(ANGLE_USE_GBM) + if (platformType == 0 || + platformType == EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE) +@@ -425,7 +425,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di + impl = rx::CreateVulkanWin32Display(state); + } + break; +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) + # if defined(ANGLE_USE_GBM) + if (platformType == EGL_PLATFORM_GBM_KHR && rx::IsVulkanGbmDisplayAvailable()) + { +@@ -1986,7 +1986,7 @@ static ClientExtensions GenerateClientExtensions() + extensions.x11Visual = true; + #endif + +-#if defined(ANGLE_PLATFORM_LINUX) ++#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) + extensions.platformANGLEDeviceTypeEGLANGLE = true; + #endif + diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_formatutils.cpp b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_formatutils.cpp new file mode 100644 index 000000000000..9b71499b1d3c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_formatutils.cpp @@ -0,0 +1,11 @@ +--- third_party/angle/src/libANGLE/formatutils.cpp.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/libANGLE/formatutils.cpp +@@ -1399,7 +1399,7 @@ static InternalFormatInfoMap BuildInternalFormatInfoMa + AddYUVFormat(&map, GL_G8_B8R8_2PLANE_420_UNORM_ANGLE, true, 8, 8, 8, 0, 0, GL_G8_B8R8_2PLANE_420_UNORM_ANGLE, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, NeverSupported, NeverSupported); + AddYUVFormat(&map, GL_G8_B8_R8_3PLANE_420_UNORM_ANGLE, true, 8, 8, 8, 0, 0, GL_G8_B8_R8_3PLANE_420_UNORM_ANGLE, GL_UNSIGNED_BYTE, GL_UNSIGNED_NORMALIZED, false, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, RequireExt<&Extensions::yuvInternalFormatANGLE>, NeverSupported, NeverSupported); + +-#if defined(ANGLE_PLATFORM_LINUX) ++#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) + // From GL_OES_required_internalformat + // The |shared| bit shouldn't be 2. But given this hits assertion when bits + // are checked, it's fine to have this bit set as 2 as a workaround. diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h new file mode 100644 index 000000000000..26f30beeea17 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h @@ -0,0 +1,11 @@ +--- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/libANGLE/renderer/driver_utils.h +@@ -183,7 +183,7 @@ inline bool IsWindows() + + inline bool IsLinux() + { +-#if defined(ANGLE_PLATFORM_LINUX) ++#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) + return true; + #else + return false; diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp new file mode 100644 index 000000000000..7332427f7fbd --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp @@ -0,0 +1,15 @@ +--- third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp +@@ -144,10 +144,10 @@ bool FunctionsGLX::initialize(Display *xDisplay, int s + // which a GLXWindow was ever created. + if (!sLibHandle) + { +- sLibHandle = dlopen("libGL.so.1", RTLD_NOW); ++ sLibHandle = dlopen("libGL.so", RTLD_NOW); + if (!sLibHandle) + { +- *errorString = std::string("Could not dlopen libGL.so.1: ") + dlerror(); ++ *errorString = std::string("Could not dlopen libGL.so: ") + dlerror(); + return false; + } + } diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h new file mode 100644 index 000000000000..325e9469e6f7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h @@ -0,0 +1,11 @@ +--- third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h +@@ -23,7 +23,7 @@ bool IsVulkanWin32DisplayAvailable(); + DisplayImpl *CreateVulkanWin32Display(const egl::DisplayState &state); + #endif // defined(ANGLE_PLATFORM_WINDOWS) + +-#if defined(ANGLE_PLATFORM_LINUX) ++#if defined(ANGLE_PLATFORM_POSIX) + bool IsVulkanWaylandDisplayAvailable(); + DisplayImpl *CreateVulkanWaylandDisplay(const egl::DisplayState &state); + diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_src_third__party_volk_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_angle_src_third__party_volk_BUILD.gn new file mode 100644 index 000000000000..7af0201e40ae --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_src_third__party_volk_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/angle/src/third_party/volk/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/src/third_party/volk/BUILD.gn +@@ -20,7 +20,7 @@ source_set("volk") { + public_configs = [ ":volk_config" ] + configs += [ "$angle_root:angle_no_cfi_icall" ] + public_deps = [ "$angle_vulkan_headers_dir:vulkan_headers" ] +- if (angle_use_wayland) { ++ if (angle_use_wayland && !use_system_libwayland) { + include_dirs = [ "$wayland_dir/src" ] + } + } diff --git a/www/ungoogled-chromium/files/patch-third__party_angle_util_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_angle_util_BUILD.gn new file mode 100644 index 000000000000..3a6f8e0c2daa --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_angle_util_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/angle/util/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ third_party/angle/util/BUILD.gn +@@ -246,7 +246,7 @@ foreach(is_shared_library, + ] + libs = [] + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + libs += [ + "rt", + "dl", diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_common_privacy__budget_active__sampling.cc b/www/ungoogled-chromium/files/patch-third__party_blink_common_privacy__budget_active__sampling.cc new file mode 100644 index 000000000000..af6268fdd5d7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_common_privacy__budget_active__sampling.cc @@ -0,0 +1,11 @@ +--- third_party/blink/common/privacy_budget/active_sampling.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/common/privacy_budget/active_sampling.cc +@@ -24,7 +24,7 @@ namespace blink { + bool IdentifiabilityActiveSampler::IsFontFamilyAvailable(const char* family, + SkFontMgr* fm) { + base::ScopedAllowBaseSyncPrimitives allow; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return !!fm->legacyMakeTypeface(family, SkFontStyle()); + #else + sk_sp<SkFontStyleSet> set(fm->matchFamily(family)); diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc b/www/ungoogled-chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc new file mode 100644 index 000000000000..c7f2f7df010f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc @@ -0,0 +1,11 @@ +--- third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc +@@ -64,7 +64,7 @@ bool StructTraits<blink::mojom::RendererPreferencesDat + if (!data.ReadAcceptLanguages(&out->accept_languages)) + return false; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (!data.ReadSystemFontFamilyName(&out->system_font_family_name)) + return false; + #endif diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h b/www/ungoogled-chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h new file mode 100644 index 000000000000..355a848760be --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h @@ -0,0 +1,11 @@ +--- third_party/blink/public/common/renderer_preferences/renderer_preferences.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/public/common/renderer_preferences/renderer_preferences.h +@@ -50,7 +50,7 @@ struct BLINK_COMMON_EXPORT RendererPreferences { + bool webrtc_allow_legacy_tls_protocols{false}; + UserAgentOverride user_agent_override; + std::string accept_languages; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::string system_font_family_name; + #endif + #if BUILDFLAG(IS_WIN) diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h b/www/ungoogled-chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h new file mode 100644 index 000000000000..33fd2cce474a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h @@ -0,0 +1,11 @@ +--- third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h +@@ -157,7 +157,7 @@ struct BLINK_COMMON_EXPORT + return data.accept_languages; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static const std::string& system_font_family_name( + const ::blink::RendererPreferences& data) { + return data.system_font_family_name; diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_public_platform_platform.h b/www/ungoogled-chromium/files/patch-third__party_blink_public_platform_platform.h new file mode 100644 index 000000000000..17df6b3cc1e5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_public_platform_platform.h @@ -0,0 +1,11 @@ +--- third_party/blink/public/platform/platform.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/public/platform/platform.h +@@ -340,7 +340,7 @@ class BLINK_PLATFORM_EXPORT Platform { + return nullptr; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // This is called after the thread is created, so the embedder + // can initiate an IPC to change its thread type (on Linux we can't + // increase the nice value, so we need to ask the browser process). This diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_public_platform_web__vector.h b/www/ungoogled-chromium/files/patch-third__party_blink_public_platform_web__vector.h new file mode 100644 index 000000000000..135e7aeb131e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_public_platform_web__vector.h @@ -0,0 +1,11 @@ +--- third_party/blink/public/platform/web_vector.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/public/platform/web_vector.h +@@ -81,7 +81,7 @@ class WebVector { + // The vector can be populated using reserve() and emplace_back(). + WebVector() = default; + +-#if defined(ARCH_CPU_64_BITS) ++#if defined(ARCH_CPU_64_BITS) || defined(__OpenBSD__) + // Create a vector with |size| default-constructed elements. We define + // a constructor with size_t otherwise we'd have a duplicate define. + explicit WebVector(size_t size) : data_(size) {} diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py new file mode 100644 index 000000000000..f68cb9f752a4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py +@@ -28,7 +28,7 @@ def init(root_src_dir, enable_style_format=True): + root_src_dir = os.path.abspath(root_src_dir) + + # Determine //buildtools/<platform>/ directory +- if sys.platform.startswith("linux"): ++ if sys.platform.startswith(("linux","openbsd","freebsd")): + platform = "linux64" + exe_suffix = "" + elif sys.platform.startswith("darwin"): diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py new file mode 100644 index 000000000000..5448924208e4 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py @@ -0,0 +1,10 @@ +--- third_party/blink/renderer/build/scripts/run_with_pythonpath.py.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/build/scripts/run_with_pythonpath.py +@@ -22,6 +22,7 @@ def main(): + existing_pp = ( + os.pathsep + env['PYTHONPATH']) if 'PYTHONPATH' in env else '' + env['PYTHONPATH'] = os.pathsep.join(python_paths) + existing_pp ++ env['LD_LIBRARY_PATH'] = "${WRKSRC}/out/Release" + sys.exit(subprocess.call([sys.executable] + args, env=env)) + + diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc new file mode 100644 index 000000000000..fd8b360355d1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc @@ -0,0 +1,35 @@ +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/controller/blink_initializer.cc +@@ -74,12 +74,12 @@ + #include "third_party/blink/renderer/controller/oom_intervention_impl.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h" + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "third_party/blink/renderer/controller/highest_pmf_reporter.h" + #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" + #endif +@@ -172,7 +172,7 @@ void InitializeCommon(Platform* platform, mojo::Binder + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring. + if (UserLevelMemoryPressureSignalGenerator::Enabled()) + UserLevelMemoryPressureSignalGenerator::Instance(); +@@ -253,7 +253,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder + main_thread_task_runner); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + binders.Add<mojom::blink::MemoryUsageMonitorLinux>( + ConvertToBaseRepeatingCallback( + CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)), diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc new file mode 100644 index 000000000000..efbae0cf910e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc @@ -0,0 +1,21 @@ +--- third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/controller/memory_usage_monitor_posix.cc +@@ -129,15 +129,17 @@ void MemoryUsageMonitorPosix::ResetFileDescriptors() { + + void MemoryUsageMonitorPosix::SetProcFiles(base::File statm_file, + base::File status_file) { ++#if !BUILDFLAG(IS_BSD) + DCHECK(statm_file.IsValid()); + DCHECK(status_file.IsValid()); + DCHECK_EQ(-1, statm_fd_.get()); + DCHECK_EQ(-1, status_fd_.get()); + statm_fd_.reset(statm_file.TakePlatformFile()); + status_fd_.reset(status_file.TakePlatformFile()); ++#endif + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // static + void MemoryUsageMonitorPosix::Bind( + mojo::PendingReceiver<mojom::blink::MemoryUsageMonitorLinux> receiver) { diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h new file mode 100644 index 000000000000..b159787395c0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h @@ -0,0 +1,47 @@ +--- third_party/blink/renderer/controller/memory_usage_monitor_posix.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/controller/memory_usage_monitor_posix.h +@@ -13,7 +13,7 @@ + #include "third_party/blink/renderer/controller/controller_export.h" + #include "third_party/blink/renderer/controller/memory_usage_monitor.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "third_party/blink/public/mojom/memory_usage_monitor_linux.mojom-blink.h" + #endif + +@@ -22,7 +22,7 @@ namespace blink { + // MemoryUsageMonitor implementation for Android and Linux. + class CONTROLLER_EXPORT MemoryUsageMonitorPosix + : public MemoryUsageMonitor +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + , + public mojom::blink::MemoryUsageMonitorLinux + #endif +@@ -30,7 +30,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix + public: + MemoryUsageMonitorPosix() = default; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static void Bind( + mojo::PendingReceiver<mojom::blink::MemoryUsageMonitorLinux> receiver); + #endif +@@ -48,7 +48,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix + uint64_t* vm_size, + uint64_t* vm_hwm_size); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // mojom::MemoryUsageMonitorLinux implementations: + void SetProcFiles(base::File statm_file, base::File status_file) override; + #endif +@@ -66,7 +66,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix + base::ScopedFD statm_fd_; + base::ScopedFD status_fd_; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + mojo::Receiver<mojom::blink::MemoryUsageMonitorLinux> receiver_{this}; + #endif + }; diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc new file mode 100644 index 000000000000..3e9ea2b00965 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/core/editing/editing_behavior.cc +@@ -280,7 +280,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb + // unexpected behaviour + if (ch < ' ') + return false; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // According to XKB map no keyboard combinations with ctrl key are mapped to + // printable characters, however we need the filter as the DomKey/text could + // contain printable characters. diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc new file mode 100644 index 000000000000..a9b9545d0a45 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/execution_context/navigator_base.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/core/execution_context/navigator_base.cc +@@ -31,7 +31,7 @@ String GetReducedNavigatorPlatform() { + return "Win32"; + #elif BUILDFLAG(IS_FUCHSIA) + return ""; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return "Linux x86_64"; + #else + #error Unsupported platform diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc new file mode 100644 index 000000000000..dac419702ebb --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/core/exported/web_view_impl.cc +@@ -404,7 +404,7 @@ SkFontHinting RendererPreferencesToSkiaHinting( + const blink::RendererPreferences& prefs) { + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + if (!prefs.should_antialias_text) { + // When anti-aliasing is off, GTK maps all non-zero hinting settings to + // 'Normal' hinting so we do the same. Otherwise, folks who have 'Slight' +@@ -3254,7 +3254,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs + renderer_preferences_.use_subpixel_positioning); + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) && \ + !BUILDFLAG(IS_ANDROID) + if (!renderer_preferences_.system_font_family_name.empty()) { + WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUTF8( diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc new file mode 100644 index 000000000000..78b16577382e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/core/frame/web_frame_test.cc +@@ -6357,7 +6357,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { + MoveCaretStaysHorizontallyAlignedWhenMoved + #endif + // TODO(crbug.com/1317375): Build these tests on all platforms. +-#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + TEST_F(WebFrameTest, MAYBE_SelectRangeStaysHorizontallyAlignedWhenMoved) { + RegisterMockedHttpURLLoad("move_caret.html"); + +@@ -6753,7 +6753,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc + TEST_F(CompositedSelectionBoundsTest, LargeSelectionNoScroll) { + RunTest("composited_selection_bounds_large_selection_noscroll.html"); + } +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #if !BUILDFLAG(IS_ANDROID) + TEST_F(CompositedSelectionBoundsTest, Input) { + web_view_helper_.GetWebView()->GetSettings()->SetDefaultFontSize(16); diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc new file mode 100644 index 000000000000..036a26bc0654 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc +@@ -45,7 +45,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin + + /* The value is based on user statistics on Nov 2017. */ + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN)) ++ BUILDFLAG(IS_WIN)) || BUILDFLAG(IS_BSD) + const double kIdleTaskStartTimeoutDelayMs = 1000.0; + #else + const double kIdleTaskStartTimeoutDelayMs = 4000.0; // For ChromeOS, Mobile diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc new file mode 100644 index 000000000000..5ec31c3b78d8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/core/inspector/inspector_memory_agent.cc +@@ -190,7 +190,7 @@ InspectorMemoryAgent::GetSamplingProfileById(uint32_t + + Vector<String> InspectorMemoryAgent::Symbolize( + const WebVector<void*>& addresses) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(alph): Move symbolization to the client. + Vector<void*> addresses_to_symbolize; + for (size_t i = 0; i < addresses.size(); i++) { diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc new file mode 100644 index 000000000000..427517fc95f5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/core/layout/layout_view.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/core/layout/layout_view.cc +@@ -65,7 +65,7 @@ + #include "ui/display/screen_info.h" + #include "ui/gfx/geometry/quad_f.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "third_party/blink/renderer/platform/fonts/font_cache.h" + #endif + +@@ -359,7 +359,7 @@ void LayoutView::UpdateLayout() { + DCHECK(!layout_state_); + LayoutState root_layout_state(*this); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The font code in FontPlatformData does not have a direct connection to the + // document, the frame or anything from which we could retrieve the device + // scale factor. After using zoom for DSF, the GraphicsContext does only ever diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc new file mode 100644 index 000000000000..8bc0f00c43ac --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/paint/paint_layer.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/core/paint/paint_layer.cc +@@ -110,7 +110,7 @@ namespace blink { + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + struct SameSizeAsPaintLayer : GarbageCollected<PaintLayer>, DisplayItemClient { + // The bit fields may fit into the machine word of DisplayItemClient which + // has only 8-bit data. diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc new file mode 100644 index 000000000000..2582c1960308 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc +@@ -151,7 +151,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const + // is true for at least GTK and QT apps). + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + return false; + #else + return true; +@@ -325,7 +325,7 @@ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scr + const WebMouseEvent& event) { + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + if (event.button == WebPointerProperties::Button::kMiddle) + return true; + #endif diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc new file mode 100644 index 000000000000..a3fea9217f68 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/modules/media/audio/audio_device_factory.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/modules/media/audio/audio_device_factory.cc +@@ -34,7 +34,7 @@ namespace { + AudioDeviceFactory* g_factory_override = nullptr; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Due to driver deadlock issues on Windows (http://crbug/422522) there is a + // chance device authorization response is never received from the browser side. + // In this case we will time out, to avoid renderer hang forever waiting for diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc new file mode 100644 index 000000000000..cfe6c9cc7718 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc +@@ -678,7 +678,7 @@ TEST_F(AudioRendererMixerManagerTest, MixerParamsLaten + mixer->get_output_params_for_testing().sample_rate()); + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // Use 10 ms buffer (441 frames per buffer). + EXPECT_EQ(output_sample_rate / 100, + mixer->get_output_params_for_testing().frames_per_buffer()); diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc new file mode 100644 index 000000000000..745948d77ec2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc +@@ -284,7 +284,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar + SetupRenderer(kDefaultOutputDeviceId); + renderer_proxy_->Start(); + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + static const int kExpectedBufferSize = kHardwareSampleRate / 100; + #elif BUILDFLAG(IS_ANDROID) + static const int kExpectedBufferSize = 2 * kHardwareSampleRate / 100; diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc new file mode 100644 index 000000000000..8e24934b928e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc +@@ -379,7 +379,7 @@ class AudioWorkletThreadPriorityTest + + // TODO(crbug.com/1022888): The worklet thread priority is always NORMAL + // on OS_LINUX and OS_CHROMEOS regardless of the thread priority setting. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (expected_priority == base::ThreadPriorityForTest::kRealtimeAudio || + expected_priority == base::ThreadPriorityForTest::kDisplay) { + EXPECT_EQ(actual_priority, base::ThreadPriorityForTest::kNormal); diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc new file mode 100644 index 000000000000..3184d5b7e7f8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +@@ -6150,7 +6150,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid + constexpr bool kAllowZeroCopyImages = true; + #endif + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/1175907): Only TexImage2D seems to work with the GPU path on + // Android M -- appears to work fine on R, but to avoid regressions in <video> + // limit to TexImage2D only for now. Fails conformance test on Nexus 5X: diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc new file mode 100644 index 000000000000..b18d1a8ce7c8 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__webcodecs__video__frame.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/modules/webgl/webgl_webcodecs_video_frame.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/modules/webgl/webgl_webcodecs_video_frame.cc +@@ -101,7 +101,7 @@ bool WebGLWebCodecsVideoFrame::Supported(WebGLRenderin + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // TODO(jie.a.chen@intel.com): Add Linux support. + return false; + #elif BUILDFLAG(IS_MAC) diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn new file mode 100644 index 000000000000..19711aa8a521 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/platform/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/BUILD.gn +@@ -1898,7 +1898,7 @@ static_library("test_support") { + ] + + # fuzzed_data_provider may not work with a custom toolchain. +- if (custom_toolchain == "" && is_clang) { ++ if ((custom_toolchain == "" && is_clang) && !is_bsd) { + sources += [ + "testing/fuzzed_data_provider.cc", + "testing/fuzzed_data_provider.h", diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc new file mode 100644 index 000000000000..e3a18e4a64b9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/fonts/font_cache.cc +@@ -75,7 +75,7 @@ extern const char kNotoColorEmojiCompat[] = "Noto Colo + + SkFontMgr* FontCache::static_font_manager_ = nullptr; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + float FontCache::device_scale_factor_ = 1.0; + #endif + +@@ -142,7 +142,7 @@ FontCache::~FontCache() { + FontPlatformData* FontCache::SystemFontPlatformData( + const FontDescription& font_description) { + const AtomicString& family = FontCache::SystemFontFamily(); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + if (family.IsEmpty() || family == font_family_names::kSystemUi) + return nullptr; + #else diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h new file mode 100644 index 000000000000..8555650bac90 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h @@ -0,0 +1,47 @@ +--- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/fonts/font_cache.h +@@ -58,7 +58,7 @@ + #include "third_party/skia/include/core/SkFontMgr.h" + #include "third_party/skia/include/core/SkRefCnt.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "ui/gfx/font_fallback_linux.h" + #endif + +@@ -184,7 +184,7 @@ class PLATFORM_EXPORT FontCache final { + static void PrewarmFamily(const AtomicString& family_name) {} + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // These are needed for calling QueryRenderStyleForStrike, since + // gfx::GetFontRenderParams makes distinctions based on DSF. + static float DeviceScaleFactor() { return device_scale_factor_; } +@@ -267,7 +267,7 @@ class PLATFORM_EXPORT FontCache final { + const char* locale_family_name); + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static bool GetFontForCharacter(UChar32, + const char* preferred_locale, + gfx::FallbackFontData*); +@@ -347,7 +347,7 @@ class PLATFORM_EXPORT FontCache final { + const FontFaceCreationParams&, + std::string& name); + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static AtomicString GetFamilyNameForCharacter(SkFontMgr*, + UChar32, + const FontDescription&, +@@ -389,7 +389,7 @@ class PLATFORM_EXPORT FontCache final { + std::unique_ptr<FallbackFamilyStyleCache> fallback_params_cache_; + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static float device_scale_factor_; + #endif + diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc new file mode 100644 index 000000000000..6aeb2e546445 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/fonts/font_description.cc +@@ -39,7 +39,7 @@ + #include "third_party/blink/renderer/platform/wtf/text/string_hash.h" + #include "third_party/blink/renderer/platform/wtf/text/string_hasher.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "third_party/blink/renderer/platform/fonts/font_cache.h" + #endif + +@@ -270,7 +270,7 @@ FontCacheKey FontDescription::CacheKey( + static_cast<unsigned>(fields_.orientation_) << 1 | // bit 2-3 + static_cast<unsigned>(fields_.subpixel_text_position_); // bit 1 + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + float device_scale_factor_for_key = FontCache::DeviceScaleFactor(); + #else + float device_scale_factor_for_key = 1.0f; diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc new file mode 100644 index 000000000000..6cd1eb0cf6db --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc @@ -0,0 +1,29 @@ +--- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/fonts/font_metrics.cc +@@ -39,7 +39,7 @@ + namespace blink { + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // This is the largest VDMX table which we'll try to load and parse. + static const size_t kMaxVDMXTableSize = 1024 * 1024; // 1 MB + #endif +@@ -69,7 +69,7 @@ void FontMetrics::AscentDescentWithHacks( + bool is_vdmx_valid = false; + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // Manually digging up VDMX metrics is only applicable when bytecode hinting + // using FreeType. With DirectWrite or CoreText, no bytecode hinting is ever + // done. This code should be pushed into FreeType (hinted font metrics). +@@ -117,7 +117,7 @@ void FontMetrics::AscentDescentWithHacks( + if (descent < metrics.fDescent) { + visual_overflow_inflation_for_descent = 1; + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // When subpixel positioning is enabled, if the descent is rounded down, + // the descent part of the glyph may be truncated when displayed in a + // 'overflow: hidden' container. To avoid that, borrow 1 unit from the diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__platform__data.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__platform__data.cc new file mode 100644 index 000000000000..f8fc9eee2481 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__platform__data.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/platform/fonts/font_platform_data.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/fonts/font_platform_data.cc +@@ -48,7 +48,7 @@ + namespace blink { + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Getting the system font render style takes a significant amount of time on + // Linux because looking up fonts using fontconfig can be very slow. We fetch + // the render style for each font family and text size, while it's very +@@ -122,7 +122,7 @@ FontPlatformData::FontPlatformData(sk_sp<SkTypeface> t + style_ = WebFontRenderStyle::GetDefault(); + #if !BUILDFLAG(IS_WIN) + WebFontRenderStyle system_style; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool override_font_name_and_size = + base::FeatureList::IsEnabled(kOptimizeLinuxFonts); + #else diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc new file mode 100644 index 000000000000..3c95a99f7d26 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/platform/fonts/font_unique_name_lookup.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/fonts/font_unique_name_lookup.cc +@@ -9,7 +9,7 @@ + #if BUILDFLAG(IS_ANDROID) + #include "third_party/blink/public/mojom/font_unique_name_lookup/font_unique_name_lookup.mojom-blink.h" + #include "third_party/blink/renderer/platform/fonts/android/font_unique_name_lookup_android.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "third_party/blink/renderer/platform/fonts/linux/font_unique_name_lookup_linux.h" + #elif BUILDFLAG(IS_WIN) + #include "third_party/blink/renderer/platform/fonts/win/font_unique_name_lookup_win.h" +@@ -24,7 +24,7 @@ std::unique_ptr<FontUniqueNameLookup> + FontUniqueNameLookup::GetPlatformUniqueNameLookup() { + #if BUILDFLAG(IS_ANDROID) + return std::make_unique<FontUniqueNameLookupAndroid>(); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return std::make_unique<FontUniqueNameLookupLinux>(); + #elif BUILDFLAG(IS_WIN) + return std::make_unique<FontUniqueNameLookupWin>(); diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc new file mode 100644 index 000000000000..8cf65e3d84fa --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc @@ -0,0 +1,29 @@ +--- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc +@@ -60,7 +60,7 @@ AtomicString ToAtomicString(const SkString& str) { + return AtomicString::FromUTF8(str.c_str(), str.size()); + } + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // This function is called on android or when we are emulating android fonts on + // linux and the embedder has overriden the default fontManager with + // WebFontRendering::setSkiaFontMgr. +@@ -236,7 +236,7 @@ sk_sp<SkTypeface> FontCache::CreateTypeface( + } + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // On linux if the fontManager has been overridden then we should be calling + // the embedder provided font Manager rather than calling + // SkTypeface::CreateFromName which may redirect the call to the default font +@@ -263,7 +263,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFon + std::string name; + + sk_sp<SkTypeface> typeface; +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool noto_color_emoji_from_gmscore = false; + #if BUILDFLAG(IS_ANDROID) + // Use the unique local matching pathway for fetching Noto Color Emoji Compat diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc new file mode 100644 index 000000000000..a9096785e14e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc @@ -0,0 +1,15 @@ +--- third_party/blink/renderer/platform/graphics/begin_frame_provider.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/graphics/begin_frame_provider.cc +@@ -76,8 +76,12 @@ void BeginFrameProvider::CreateCompositorFrameSinkIfNe + + // Once we are using RAF, this thread is driving user interactive display + // updates. Update priority accordingly. ++ // pledge(2) ++ // stop this baloney ++#if !defined(OS_OPENBSD) + base::PlatformThread::SetCurrentThreadType( + base::ThreadType::kDisplayCritical); ++#endif + + mojo::Remote<mojom::blink::EmbeddedFrameSinkProvider> provider; + Platform::Current()->GetBrowserInterfaceBroker()->GetInterface( diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc new file mode 100644 index 000000000000..08fb6988c809 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/platform/graphics/video_frame_submitter.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/graphics/video_frame_submitter.cc +@@ -332,7 +332,7 @@ void VideoFrameSubmitter::OnBeginFrame( + continue; + auto& feedback = + timing_details.find(frame_token)->value.presentation_feedback; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO: On Linux failure flag is unreliable, and perfectly rendered frames + // are reported as failures all the time. + bool presentation_failure = false; 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 new file mode 100644 index 000000000000..e8a50ffd972e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 @@ -0,0 +1,62 @@ +--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/runtime_enabled_features.json5 +@@ -33,7 +33,7 @@ + // shipped stable can have its runtime flag removed soon after. + status: { + valid_values: ["stable", "experimental", "test"], +- valid_keys: ["Android", "Win", "ChromeOS_Ash", "ChromeOS_Lacros", "Mac", "Linux"] ++ valid_keys: ["Android", "Win", "ChromeOS_Ash", "ChromeOS_Lacros", "Mac", "Linux", "OpenBSD", "FreeBSD"] + }, + + // "implied_by" or "depends_on" specifies relationship to other features: +@@ -1014,7 +1014,7 @@ + depends_on: ["FileSystemAccess"], + status: {"Android": "test", "default": "experimental"}, + origin_trial_feature_name: "FileHandling", +- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"], + }, + { + name: "FileHandlingIcons", +@@ -2329,7 +2329,7 @@ + { + name: "U2FSecurityKeyAPI", + origin_trial_feature_name: "U2FSecurityKeyAPI", +- origin_trial_os: ["win", "mac", "linux", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], + origin_trial_type: "deprecation", + }, + { +@@ -2344,7 +2344,7 @@ + { + name: "UnrestrictedSharedArrayBuffer", + origin_trial_feature_name: "UnrestrictedSharedArrayBuffer", +- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"], + }, + { + name: "URLPatternCompareComponent", +@@ -2362,7 +2362,7 @@ + origin_trial_feature_name: "UserAgentReduction", + origin_trial_allows_third_party: true, + // iOS not included as it should not send a reduced User-Agent string. +- origin_trial_os: ["android", "chromeos", "fuchsia", "linux", "mac", "win"], ++ origin_trial_os: ["android", "chromeos", "fuchsia", "linux", "mac", "win", "openbsd", "freebsd"], + }, + { + name: "V8IdleTasks", +@@ -2477,12 +2477,12 @@ + name: "WebAppUrlHandling", + status: "experimental", + origin_trial_feature_name: "WebAppUrlHandling", +- origin_trial_os: ["win", "mac", "linux"], ++ origin_trial_os: ["win", "mac", "linux", "openbsd", "freebsd"], + }, + { + name: "WebAppWindowControlsOverlay", + origin_trial_feature_name: "WebAppWindowControlsOverlay", +- origin_trial_os: ["win", "mac", "linux", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], + status: "stable", + }, + { diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc new file mode 100644 index 000000000000..911f7b35d566 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/platform/scheduler/common/thread.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/scheduler/common/thread.cc +@@ -86,7 +86,7 @@ void Thread::CreateAndSetCompositorThread() { + std::make_unique<scheduler::CompositorThread>(params); + compositor_thread->Init(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_OPENBSD) + compositor_thread->GetTaskRunner()->PostTaskAndReplyWithResult( + FROM_HERE, base::BindOnce(&base::PlatformThread::CurrentId), + base::BindOnce([](base::PlatformThreadId compositor_thread_id) { diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc new file mode 100644 index 000000000000..6f30e23355d2 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_widget_compositing_categorized__worker__pool.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/platform/widget/compositing/categorized_worker_pool.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/widget/compositing/categorized_worker_pool.cc +@@ -256,7 +256,7 @@ void CategorizedWorkerPool::Start(int num_normal_threa + "CompositorTileWorkerBackground", thread_options, this, + background_thread_prio_categories, + &has_task_for_background_priority_thread_cv_); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + thread->SetBackgroundingCallback( + Thread::MainThread()->GetDeprecatedTaskRunner(), + base::BindOnce([](base::PlatformThreadId thread_id) { diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h new file mode 100644 index 000000000000..d4183857325b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/platform/wtf/container_annotations.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/wtf/container_annotations.h +@@ -12,7 +12,7 @@ + // TODO(ochang): Remove the ARCH_CPU_X86_64 condition to enable this for X86 + // once the crashes there have been fixed: http://crbug.com/461406 + #if defined(ADDRESS_SANITIZER) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ + defined(ARCH_CPU_X86_64) + + // Annotations require buffers to begin on an 8-byte boundary. See diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_wtf_math__extras.h b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_wtf_math__extras.h new file mode 100644 index 000000000000..1c1525c4db52 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_wtf_math__extras.h @@ -0,0 +1,23 @@ +--- third_party/blink/renderer/platform/wtf/math_extras.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/wtf/math_extras.h +@@ -128,6 +128,10 @@ constexpr float Grad2turn(float g) { + return g * (1.0f / 400.0f); + } + ++#if defined(OS_FREEBSD) ++#pragma clang diagnostic push ++#pragma clang diagnostic ignored "-Winvalid-constexpr" ++#endif + constexpr double RoundHalfTowardsPositiveInfinity(double value) { + return std::floor(value + 0.5); + } +@@ -135,6 +139,9 @@ constexpr double RoundHalfTowardsPositiveInfinity(doub + constexpr float RoundHalfTowardsPositiveInfinity(float value) { + return std::floor(value + 0.5f); + } ++#if defined(OS_FREEBSD) ++#pragma clang diagnostic pop ++#endif + + // ClampTo() is implemented by templated helper classes (to allow for partial + // template specialization) as well as several helper functions. diff --git a/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc new file mode 100644 index 000000000000..9419f64b054b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc @@ -0,0 +1,37 @@ +--- third_party/blink/renderer/platform/wtf/stack_util.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/blink/renderer/platform/wtf/stack_util.cc +@@ -18,6 +18,11 @@ + extern "C" void* __libc_stack_end; // NOLINT + #endif + ++#if BUILDFLAG(IS_BSD) ++#include <sys/signal.h> ++#include <pthread_np.h> ++#endif ++ + namespace WTF { + + size_t GetUnderestimatedStackSize() { +@@ -62,6 +67,8 @@ size_t GetUnderestimatedStackSize() { + // low as 512k. + // + return 512 * 1024; ++#elif BUILDFLAG(IS_OPENBSD) ++ return 512 * 1024; + #elif BUILDFLAG(IS_MAC) + // pthread_get_stacksize_np() returns too low a value for the main thread on + // OSX 10.9, +@@ -147,6 +154,13 @@ void* GetStackStart() { + ::GetCurrentThreadStackLimits(&lowLimit, &highLimit); + return reinterpret_cast<void*>(highLimit); + #endif ++#elif BUILDFLAG(IS_OPENBSD) ++ stack_t ss; ++ void *base; ++ int error = pthread_stackseg_np(pthread_self(), &ss); ++ CHECK(!error); ++ base = (void*)((size_t) ss.ss_sp - ss.ss_size); ++ return reinterpret_cast<uint8_t*>(base) + ss.ss_size; + #else + #error Unsupported getStackStart on this platform. + #endif diff --git a/www/ungoogled-chromium/files/patch-third__party_boringssl_BUILD.generated.gni b/www/ungoogled-chromium/files/patch-third__party_boringssl_BUILD.generated.gni new file mode 100644 index 000000000000..3b4277a66243 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_boringssl_BUILD.generated.gni @@ -0,0 +1,18 @@ +--- third_party/boringssl/BUILD.generated.gni.orig 2022-10-01 07:40:07 UTC ++++ third_party/boringssl/BUILD.generated.gni +@@ -78,6 +78,7 @@ crypto_sources = [ + "src/crypto/cpu_aarch64_apple.c", + "src/crypto/cpu_aarch64_fuchsia.c", + "src/crypto/cpu_aarch64_linux.c", ++ "src/crypto/cpu_aarch64_openbsd.c", + "src/crypto/cpu_aarch64_win.c", + "src/crypto/cpu_arm.c", + "src/crypto/cpu_arm_linux.c", +@@ -184,6 +185,7 @@ crypto_sources = [ + "src/crypto/rand_extra/deterministic.c", + "src/crypto/rand_extra/forkunsafe.c", + "src/crypto/rand_extra/fuchsia.c", ++ "src/crypto/rand_extra/arc4random.c", + "src/crypto/rand_extra/passive.c", + "src/crypto/rand_extra/rand_extra.c", + "src/crypto/rand_extra/windows.c", diff --git a/www/ungoogled-chromium/files/patch-third__party_boringssl_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_boringssl_BUILD.gn new file mode 100644 index 000000000000..760a66783737 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_boringssl_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/boringssl/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ third_party/boringssl/BUILD.gn +@@ -92,7 +92,7 @@ if (is_win && !is_msan && current_cpu != "arm64") { + public_configs = [ ":no_asm_config" ] + } + } else if (current_cpu == "arm64") { +- if (is_linux || is_chromeos || is_android) { ++ if ((is_linux || is_chromeos || is_android) && !is_freebsd) { + sources += crypto_sources_linux_aarch64 + } else if (is_apple) { + sources += crypto_sources_apple_aarch64 diff --git a/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c new file mode 100644 index 000000000000..b63d9530072d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_cpu__aarch64__openbsd.c @@ -0,0 +1,60 @@ +--- third_party/boringssl/src/crypto/cpu_aarch64_openbsd.c.orig 2022-10-01 07:40:07 UTC ++++ third_party/boringssl/src/crypto/cpu_aarch64_openbsd.c +@@ -0,0 +1,57 @@ ++/* Copyright (c) 2022, Robert Nagy <robert@openbsd.org> ++ * ++ * Permission to use, copy, modify, and/or distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY ++ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION ++ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN ++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ ++ ++#include <openssl/cpu.h> ++ ++#if defined(OPENSSL_AARCH64) && defined(OPENSSL_OPENBSD) && \ ++ !defined(OPENSSL_STATIC_ARMCAP) ++ ++#include <sys/sysctl.h> ++#include <machine/cpu.h> ++#include <machine/armreg.h> ++#include <stdio.h> ++ ++#include <openssl/arm_arch.h> ++ ++#include "internal.h" ++ ++extern uint32_t OPENSSL_armcap_P; ++ ++void OPENSSL_cpuid_setup(void) { ++ int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 }; ++ size_t len = sizeof(uint64_t); ++ uint64_t cpu_id = 0; ++ ++ if (sysctl(isar0_mib, 2, &cpu_id, &len, NULL, 0) < 0) ++ return; ++ ++ OPENSSL_armcap_P |= ARMV7_NEON; ++ ++ if (ID_AA64ISAR0_AES(cpu_id) >= ID_AA64ISAR0_AES_BASE) ++ OPENSSL_armcap_P |= ARMV8_AES; ++ ++ if (ID_AA64ISAR0_AES(cpu_id) >= ID_AA64ISAR0_AES_PMULL) ++ OPENSSL_armcap_P |= ARMV8_PMULL; ++ ++ if (ID_AA64ISAR0_SHA1(cpu_id) >= ID_AA64ISAR0_SHA1_BASE) ++ OPENSSL_armcap_P |= ARMV8_SHA1; ++ ++ if (ID_AA64ISAR0_SHA2(cpu_id) >= ID_AA64ISAR0_SHA2_BASE) ++ OPENSSL_armcap_P |= ARMV8_SHA256; ++ ++ if (ID_AA64ISAR0_SHA2(cpu_id) >= ID_AA64ISAR0_SHA2_512) ++ OPENSSL_armcap_P |= ARMV8_SHA512; ++} ++ ++#endif // OPENSSL_AARCH64 && OPENSSL_OPENBSD && !OPENSSL_STATIC_ARMCAP diff --git a/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_rand_internal.h b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_rand_internal.h new file mode 100644 index 000000000000..bb2aa71dac94 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_fipsmodule_rand_internal.h @@ -0,0 +1,12 @@ +--- third_party/boringssl/src/crypto/fipsmodule/rand/internal.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/boringssl/src/crypto/fipsmodule/rand/internal.h +@@ -27,7 +27,8 @@ extern "C" { + + + #if !defined(OPENSSL_WINDOWS) && !defined(OPENSSL_FUCHSIA) && \ +- !defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE) && !defined(OPENSSL_TRUSTY) ++ !defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE) && !defined(OPENSSL_TRUSTY) && \ ++ !defined(OPENSSL_ARC4RANDOM) + #define OPENSSL_URANDOM + #endif + diff --git a/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_rand__extra_arc4random.c b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_rand__extra_arc4random.c new file mode 100644 index 000000000000..89cefe478f75 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_rand__extra_arc4random.c @@ -0,0 +1,36 @@ +--- third_party/boringssl/src/crypto/rand_extra/arc4random.c.orig 2022-10-01 07:40:07 UTC ++++ third_party/boringssl/src/crypto/rand_extra/arc4random.c +@@ -0,0 +1,33 @@ ++/* Copyright (c) 2018, Robert Nagy <robert@openbsd.org> ++ * ++ * Permission to use, copy, modify, and/or distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY ++ * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION ++ * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN ++ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ ++ ++#define _BSD_SOURCE 1 ++ ++#include <openssl/rand.h> ++ ++#if defined(OPENSSL_ARC4RANDOM) && !defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE) ++ ++#include <stdlib.h> ++ ++#include "../fipsmodule/rand/internal.h" ++ ++void CRYPTO_sysrand_for_seed(uint8_t *out, size_t requested) { ++ CRYPTO_sysrand(out, requested); ++} ++ ++void CRYPTO_sysrand(uint8_t *out, size_t requested) { ++ arc4random_buf(out, requested); ++} ++ ++#endif // OPENSSL_ARC4RANDOM && !BORINGSSL_UNSAFE_DETERMINISTIC_MODE diff --git a/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_refcount__c11.c b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_refcount__c11.c new file mode 100644 index 000000000000..5301fe488782 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_crypto_refcount__c11.c @@ -0,0 +1,12 @@ +--- third_party/boringssl/src/crypto/refcount_c11.c.orig 2022-10-01 07:40:07 UTC ++++ third_party/boringssl/src/crypto/refcount_c11.c +@@ -22,6 +22,9 @@ + #include <stdatomic.h> + #include <stdlib.h> + ++#if !defined(__cplusplus) && !defined(static_assert) ++#define static_assert _Static_assert ++#endif + + // See comment above the typedef of CRYPTO_refcount_t about these tests. + static_assert(alignof(CRYPTO_refcount_t) == alignof(_Atomic CRYPTO_refcount_t), diff --git a/www/ungoogled-chromium/files/patch-third__party_boringssl_src_include_openssl_base.h b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_include_openssl_base.h new file mode 100644 index 000000000000..9c958d49b2d1 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_include_openssl_base.h @@ -0,0 +1,14 @@ +--- third_party/boringssl/src/include/openssl/base.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/boringssl/src/include/openssl/base.h +@@ -156,6 +156,11 @@ extern "C" { + #define OPENSSL_FUCHSIA + #endif + ++#if defined(__OpenBSD__) ++#define OPENSSL_OPENBSD ++#define OPENSSL_ARC4RANDOM ++#endif ++ + #if defined(__TRUSTY__) + #define OPENSSL_TRUSTY + #define OPENSSL_NO_THREADS_CORRUPT_MEMORY_AND_LEAK_SECRETS_IF_THREADED diff --git a/www/ungoogled-chromium/files/patch-third__party_boringssl_src_include_openssl_thread.h b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_include_openssl_thread.h new file mode 100644 index 000000000000..cd260507fd1f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_boringssl_src_include_openssl_thread.h @@ -0,0 +1,10 @@ +--- third_party/boringssl/src/include/openssl/thread.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/boringssl/src/include/openssl/thread.h +@@ -78,6 +78,7 @@ typedef union crypto_mutex_st { + void *handle; + } CRYPTO_MUTEX; + #elif !defined(__GLIBC__) ++#include <pthread.h> + typedef pthread_rwlock_t CRYPTO_MUTEX; + #else + // On glibc, |pthread_rwlock_t| is hidden under feature flags, and we can't diff --git a/www/ungoogled-chromium/files/patch-third__party_brotli_common_platform.h b/www/ungoogled-chromium/files/patch-third__party_brotli_common_platform.h new file mode 100644 index 000000000000..9e9cf0715c6c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_brotli_common_platform.h @@ -0,0 +1,11 @@ +--- third_party/brotli/common/platform.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/brotli/common/platform.h +@@ -28,7 +28,7 @@ + #include <brotli/port.h> + #include <brotli/types.h> + +-#if defined(OS_LINUX) || defined(OS_CYGWIN) || defined(__EMSCRIPTEN__) ++#if defined(OS_LINUX) || defined(OS_CYGWIN) || defined(__EMSCRIPTEN__) || defined(OS_BSD) + #include <endian.h> + #elif defined(OS_FREEBSD) + #include <machine/endian.h> diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni new file mode 100644 index 000000000000..6245b5bf6798 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/build/crashpad_buildconfig.gni.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/build/crashpad_buildconfig.gni +@@ -58,7 +58,7 @@ if (crashpad_is_in_chromium) { + crashpad_is_mac = is_mac + crashpad_is_ios = is_ios + crashpad_is_win = is_win +- crashpad_is_linux = is_linux || is_chromeos ++ crashpad_is_linux = (is_linux || is_chromeos) && !is_bsd + crashpad_is_android = is_android + crashpad_is_fuchsia = is_fuchsia + diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn new file mode 100644 index 000000000000..addbbc562dca --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn @@ -0,0 +1,16 @@ +--- third_party/crashpad/crashpad/client/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/client/BUILD.gn +@@ -130,6 +130,13 @@ static_library("common") { + if (crashpad_is_win) { + sources += [ "crash_report_database_win.cc" ] + } ++ ++ if (crashpad_is_posix) { ++ sources += [ ++ "crashpad_client_posix.cc", ++ ] ++ } ++ + if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) { + sources += [ + "crash_report_database_generic.cc", diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc new file mode 100644 index 000000000000..ec68270b7f11 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc @@ -0,0 +1,43 @@ +--- third_party/crashpad/crashpad/client/crashpad_client_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/client/crashpad_client_posix.cc +@@ -0,0 +1,40 @@ ++// Copyright 2017 The Crashpad Authors. All rights reserved. ++// ++// Licensed under the Apache License, Version 2.0 (the "License"); ++// you may not use this file except in compliance with the License. ++// You may obtain a copy of the License at ++// ++// http://www.apache.org/licenses/LICENSE-2.0 ++// ++// Unless required by applicable law or agreed to in writing, software ++// distributed under the License is distributed on an "AS IS" BASIS, ++// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++// See the License for the specific language governing permissions and ++// limitations under the License. ++ ++#include "client/crashpad_client.h" ++ ++#include "base/logging.h" ++#include "base/notreached.h" ++ ++namespace crashpad { ++ ++CrashpadClient::CrashpadClient() {} ++ ++CrashpadClient::~CrashpadClient() {} ++ ++bool CrashpadClient::StartHandler( ++ const base::FilePath& handler, ++ const base::FilePath& database, ++ const base::FilePath& metrics_dir, ++ const std::string& url, ++ const std::map<std::string, std::string>& annotations, ++ const std::vector<std::string>& arguments, ++ bool restartable, ++ bool asynchronous_start, ++ const std::vector<base::FilePath>& attachments) { ++ NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 ++ return false; ++} ++ ++} // namespace crashpad diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc new file mode 100644 index 000000000000..11ea096a63cf --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc @@ -0,0 +1,13 @@ +--- third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc +@@ -159,6 +159,10 @@ std::string MinidumpMiscInfoDebugBuildString() { + static constexpr char kOS[] = "win"; + #elif BUILDFLAG(IS_FUCHSIA) + static constexpr char kOS[] = "fuchsia"; ++#elif defined(OS_OPENBSD) ++ static constexpr char kOS[] = "openbsd"; ++#elif defined(OS_FREEBSD) ++ static constexpr char kOS[] = "freebsd"; + #else + #error define kOS for this operating system + #endif diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h new file mode 100644 index 000000000000..4226ad90f06b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h @@ -0,0 +1,20 @@ +--- third_party/crashpad/crashpad/util/misc/address_types.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/util/misc/address_types.h +@@ -25,7 +25,7 @@ + #include <mach/mach_types.h> + #elif BUILDFLAG(IS_WIN) + #include "util/win/address_types.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "util/linux/address_types.h" + #elif BUILDFLAG(IS_FUCHSIA) + #include <zircon/types.h> +@@ -55,7 +55,7 @@ using VMSize = mach_vm_size_t; + using VMAddress = WinVMAddress; + using VMSize = WinVMSize; + +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + + using VMAddress = LinuxVMAddress; + using VMSize = LinuxVMSize; diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h new file mode 100644 index 000000000000..8ab48238a38b --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h @@ -0,0 +1,22 @@ +--- third_party/crashpad/crashpad/util/misc/capture_context.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/util/misc/capture_context.h +@@ -21,7 +21,8 @@ + #include <mach/mach.h> + #elif BUILDFLAG(IS_WIN) + #include <windows.h> +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ ++ BUILDFLAG(IS_FREEBSD) + #include <ucontext.h> + #elif BUILDFLAG(IS_FUCHSIA) + #include <signal.h> +@@ -38,7 +39,8 @@ using NativeCPUContext = arm_unified_thread_state; + #elif BUILDFLAG(IS_WIN) + using NativeCPUContext = CONTEXT; + #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ ++ BUILDFLAG(IS_BSD) + using NativeCPUContext = ucontext_t; + #endif // BUILDFLAG(IS_APPLE) + diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc new file mode 100644 index 000000000000..d6ba33ef96df --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/util/misc/metrics.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/util/misc/metrics.cc +@@ -25,7 +25,7 @@ + #define METRICS_OS_NAME "Win" + #elif BUILDFLAG(IS_ANDROID) + #define METRICS_OS_NAME "Android" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #define METRICS_OS_NAME "Linux" + #elif BUILDFLAG(IS_FUCHSIA) + #define METRICS_OS_NAME "Fuchsia" diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc new file mode 100644 index 000000000000..2786281df1db --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/util/misc/uuid.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/util/misc/uuid.cc +@@ -101,7 +101,7 @@ bool UUID::InitializeWithNew() { + InitializeFromBytes(uuid); + return true; + #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // Linux, Android, and Fuchsia do not provide a UUID generator in a + // widely-available system library. On Linux and Android, uuid_generate() + // from libuuid is not available everywhere. diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc new file mode 100644 index 000000000000..8533fc01858e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/util/posix/close_multiple.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/util/posix/close_multiple.cc +@@ -72,7 +72,7 @@ void CloseNowOrOnExec(int fd, bool ebadf_ok) { + // This is an advantage over looping over all possible file descriptors, because + // no attempt needs to be made to close file descriptors that are not open. + bool CloseMultipleNowOrOnExecUsingFDDir(int min_fd, int preserve_fd) { +-#if BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + static constexpr char kFDDir[] = "/dev/fd"; + #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + static constexpr char kFDDir[] = "/proc/self/fd"; diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc new file mode 100644 index 000000000000..9cbb0873a072 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/util/posix/drop_privileges.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/util/posix/drop_privileges.cc +@@ -25,7 +25,7 @@ void DropPrivileges() { + gid_t gid = getgid(); + uid_t uid = getuid(); + +-#if BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + // Based on the POSIX.1-2008 2013 edition documentation for setreuid() and + // setregid(), setreuid() and setregid() alone should be sufficient to drop + // privileges. The standard specifies that the saved ID should be set to the diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc new file mode 100644 index 000000000000..11d45c61a2d7 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc @@ -0,0 +1,33 @@ +--- third_party/crashpad/crashpad/util/posix/signals.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/util/posix/signals.cc +@@ -51,7 +51,7 @@ constexpr int kCrashSignals[] = { + #if defined(SIGEMT) + SIGEMT, + #endif // defined(SIGEMT) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + SIGXCPU, + SIGXFSZ, + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -91,7 +91,7 @@ constexpr int kTerminateSignals[] = { + SIGXCPU, + SIGXFSZ, + #endif // BUILDFLAG(IS_APPLE) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + SIGIO, + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + }; +@@ -251,8 +251,12 @@ bool Signals::WillSignalReraiseAutonomously(const sigi + // remains. See 10.12.3 xnu-3789.41.3/bsd/kern/kern_sig.c + // psignal_internal(). + (code > 0 && ++#if defined(SI_ASYNCIO) + code != SI_ASYNCIO && ++#endif ++#if defined(SI_MESGQ) + code != SI_MESGQ && ++#endif + code != SI_QUEUE && + code != SI_TIMER && + code != SI_USER && diff --git a/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc new file mode 100644 index 000000000000..5ab689a3ce36 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc @@ -0,0 +1,20 @@ +--- third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc.orig 2022-10-01 07:40:07 UTC ++++ third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc +@@ -67,7 +67,7 @@ constexpr const char* kSignalNames[] = { + "INFO", + "USR1", + "USR2", +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #if defined(ARCH_CPU_MIPS_FAMILY) + "HUP", + "INT", +@@ -138,7 +138,7 @@ constexpr const char* kSignalNames[] = { + #endif // defined(ARCH_CPU_MIPS_FAMILY) + #endif + }; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // NSIG is 64 to account for real-time signals. + static_assert(std::size(kSignalNames) == 32, "kSignalNames length"); + #else diff --git a/www/ungoogled-chromium/files/patch-third__party_crc32c_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_crc32c_BUILD.gn new file mode 100644 index 000000000000..9a4ed6cee820 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_crc32c_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/crc32c/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ third_party/crc32c/BUILD.gn +@@ -47,7 +47,7 @@ config("crc32c_config") { + } + + # Android added <sys/auxv.h> in API level 18. +- if (is_linux || is_chromeos || is_android) { ++ if (is_linux || is_chromeos || is_android && !is_bsd) { + defines += [ + "HAVE_STRONG_GETAUXVAL=1", + "HAVE_WEAK_GETAUXVAL=1", diff --git a/www/ungoogled-chromium/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h b/www/ungoogled-chromium/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h new file mode 100644 index 000000000000..a50757c07bfa --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h @@ -0,0 +1,11 @@ +--- third_party/dawn/include/dawn/native/VulkanBackend.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/dawn/include/dawn/native/VulkanBackend.h +@@ -70,7 +70,7 @@ struct ExternalImageExportInfoVk : ExternalImageExport + }; + + // Can't use DAWN_PLATFORM_IS(LINUX) since header included in both Dawn and Chrome +-#ifdef __linux__ ++#if defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__) + + // Common properties of external images represented by FDs. On successful import the file + // descriptor's ownership is transferred to the Dawn implementation and they shouldn't be diff --git a/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h b/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h new file mode 100644 index 000000000000..af58ee2b68b5 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_common_Platform.h @@ -0,0 +1,14 @@ +--- third_party/dawn/src/dawn/common/Platform.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/dawn/src/dawn/common/Platform.h +@@ -45,6 +45,11 @@ + #error "Unsupported Windows platform." + #endif + ++#elif defined(__OpenBSD__) || defined(__FreeBSD__) ++#define DAWN_PLATFORM_IS_LINUX 1 ++#define DAWN_PLATFORM_IS_BSD 1 ++#define DAWN_PLATFORM_IS_POSIX 1 ++ + #elif defined(__linux__) + #define DAWN_PLATFORM_IS_LINUX 1 + #define DAWN_PLATFORM_IS_POSIX 1 diff --git a/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp b/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp new file mode 100644 index 000000000000..d0d7e5d2bd34 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp @@ -0,0 +1,11 @@ +--- third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp.orig 2022-10-01 07:40:07 UTC ++++ third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp +@@ -42,7 +42,7 @@ constexpr char kSwiftshaderLibName[] = "libvk_swiftsha + #endif + + #if DAWN_PLATFORM_IS(LINUX) +-#if DAWN_PLATFORM_IS(ANDROID) ++#if DAWN_PLATFORM_IS(ANDROID) || DAWN_PLATFORM_IS(BSD) + constexpr char kVulkanLibName[] = "libvulkan.so"; + #else + constexpr char kVulkanLibName[] = "libvulkan.so.1"; diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_BUILD.gn b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_BUILD.gn new file mode 100644 index 000000000000..74582a01433c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_BUILD.gn @@ -0,0 +1,10 @@ +--- third_party/ffmpeg/BUILD.gn.orig 2022-10-01 07:40:07 UTC ++++ third_party/ffmpeg/BUILD.gn +@@ -349,7 +349,6 @@ target(link_target_type, "ffmpeg_internal") { + libs += [ + "m", + "z", +- "rt", + ] + } + if (is_component_ffmpeg) { diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h new file mode 100644 index 000000000000..24e26b649e4f --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config.h @@ -0,0 +1,740 @@ +--- third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config.h +@@ -0,0 +1,737 @@ ++/* Automatically generated by configure - do not modify! */ ++#ifndef FFMPEG_CONFIG_H ++#define FFMPEG_CONFIG_H ++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/d/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags=-O2 --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a' --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */ ++#define FFMPEG_LICENSE "LGPL version 2.1 or later" ++#define CONFIG_THIS_YEAR 2022 ++#define FFMPEG_DATADIR "/usr/local/share/ffmpeg" ++#define AVCONV_DATADIR "/usr/local/share/ffmpeg" ++#define CC_IDENT "OpenBSD clang version 13.0.0" ++#define OS_NAME openbsd ++#define av_restrict restrict ++#define EXTERN_PREFIX "" ++#define EXTERN_ASM ++#define BUILDSUF "" ++#define SLIBSUF ".so" ++#define HAVE_MMX2 HAVE_MMXEXT ++#define SWS_MAX_FILTER_SIZE 256 ++#define ARCH_AARCH64 1 ++#define ARCH_ALPHA 0 ++#define ARCH_ARM 0 ++#define ARCH_AVR32 0 ++#define ARCH_AVR32_AP 0 ++#define ARCH_AVR32_UC 0 ++#define ARCH_BFIN 0 ++#define ARCH_IA64 0 ++#define ARCH_LOONGARCH 0 ++#define ARCH_LOONGARCH32 0 ++#define ARCH_LOONGARCH64 0 ++#define ARCH_M68K 0 ++#define ARCH_MIPS 0 ++#define ARCH_MIPS64 0 ++#define ARCH_PARISC 0 ++#define ARCH_PPC 0 ++#define ARCH_PPC64 0 ++#define ARCH_RISCV 0 ++#define ARCH_S390 0 ++#define ARCH_SH4 0 ++#define ARCH_SPARC 0 ++#define ARCH_SPARC64 0 ++#define ARCH_TILEGX 0 ++#define ARCH_TILEPRO 0 ++#define ARCH_TOMI 0 ++#define ARCH_X86 0 ++#define ARCH_X86_32 0 ++#define ARCH_X86_64 0 ++#define HAVE_ARMV5TE 0 ++#define HAVE_ARMV6 0 ++#define HAVE_ARMV6T2 0 ++#define HAVE_ARMV8 1 ++#define HAVE_NEON 1 ++#define HAVE_VFP 1 ++#define HAVE_VFPV3 0 ++#define HAVE_SETEND 0 ++#define HAVE_ALTIVEC 0 ++#define HAVE_DCBZL 0 ++#define HAVE_LDBRX 0 ++#define HAVE_POWER8 0 ++#define HAVE_PPC4XX 0 ++#define HAVE_VSX 0 ++#define HAVE_AESNI 0 ++#define HAVE_AMD3DNOW 0 ++#define HAVE_AMD3DNOWEXT 0 ++#define HAVE_AVX 0 ++#define HAVE_AVX2 0 ++#define HAVE_AVX512 0 ++#define HAVE_AVX512ICL 0 ++#define HAVE_FMA3 0 ++#define HAVE_FMA4 0 ++#define HAVE_MMX 0 ++#define HAVE_MMXEXT 0 ++#define HAVE_SSE 0 ++#define HAVE_SSE2 0 ++#define HAVE_SSE3 0 ++#define HAVE_SSE4 0 ++#define HAVE_SSE42 0 ++#define HAVE_SSSE3 0 ++#define HAVE_XOP 0 ++#define HAVE_CPUNOP 0 ++#define HAVE_I686 0 ++#define HAVE_MIPSFPU 0 ++#define HAVE_MIPS32R2 0 ++#define HAVE_MIPS32R5 0 ++#define HAVE_MIPS64R2 0 ++#define HAVE_MIPS32R6 0 ++#define HAVE_MIPS64R6 0 ++#define HAVE_MIPSDSP 0 ++#define HAVE_MIPSDSPR2 0 ++#define HAVE_MSA 0 ++#define HAVE_LOONGSON2 0 ++#define HAVE_LOONGSON3 0 ++#define HAVE_MMI 0 ++#define HAVE_LSX 0 ++#define HAVE_LASX 0 ++#define HAVE_ARMV5TE_EXTERNAL 0 ++#define HAVE_ARMV6_EXTERNAL 0 ++#define HAVE_ARMV6T2_EXTERNAL 0 ++#define HAVE_ARMV8_EXTERNAL 1 ++#define HAVE_NEON_EXTERNAL 1 ++#define HAVE_VFP_EXTERNAL 1 ++#define HAVE_VFPV3_EXTERNAL 0 ++#define HAVE_SETEND_EXTERNAL 0 ++#define HAVE_ALTIVEC_EXTERNAL 0 ++#define HAVE_DCBZL_EXTERNAL 0 ++#define HAVE_LDBRX_EXTERNAL 0 ++#define HAVE_POWER8_EXTERNAL 0 ++#define HAVE_PPC4XX_EXTERNAL 0 ++#define HAVE_VSX_EXTERNAL 0 ++#define HAVE_AESNI_EXTERNAL 0 ++#define HAVE_AMD3DNOW_EXTERNAL 0 ++#define HAVE_AMD3DNOWEXT_EXTERNAL 0 ++#define HAVE_AVX_EXTERNAL 0 ++#define HAVE_AVX2_EXTERNAL 0 ++#define HAVE_AVX512_EXTERNAL 0 ++#define HAVE_AVX512ICL_EXTERNAL 0 ++#define HAVE_FMA3_EXTERNAL 0 ++#define HAVE_FMA4_EXTERNAL 0 ++#define HAVE_MMX_EXTERNAL 0 ++#define HAVE_MMXEXT_EXTERNAL 0 ++#define HAVE_SSE_EXTERNAL 0 ++#define HAVE_SSE2_EXTERNAL 0 ++#define HAVE_SSE3_EXTERNAL 0 ++#define HAVE_SSE4_EXTERNAL 0 ++#define HAVE_SSE42_EXTERNAL 0 ++#define HAVE_SSSE3_EXTERNAL 0 ++#define HAVE_XOP_EXTERNAL 0 ++#define HAVE_CPUNOP_EXTERNAL 0 ++#define HAVE_I686_EXTERNAL 0 ++#define HAVE_MIPSFPU_EXTERNAL 0 ++#define HAVE_MIPS32R2_EXTERNAL 0 ++#define HAVE_MIPS32R5_EXTERNAL 0 ++#define HAVE_MIPS64R2_EXTERNAL 0 ++#define HAVE_MIPS32R6_EXTERNAL 0 ++#define HAVE_MIPS64R6_EXTERNAL 0 ++#define HAVE_MIPSDSP_EXTERNAL 0 ++#define HAVE_MIPSDSPR2_EXTERNAL 0 ++#define HAVE_MSA_EXTERNAL 0 ++#define HAVE_LOONGSON2_EXTERNAL 0 ++#define HAVE_LOONGSON3_EXTERNAL 0 ++#define HAVE_MMI_EXTERNAL 0 ++#define HAVE_LSX_EXTERNAL 0 ++#define HAVE_LASX_EXTERNAL 0 ++#define HAVE_ARMV5TE_INLINE 0 ++#define HAVE_ARMV6_INLINE 0 ++#define HAVE_ARMV6T2_INLINE 0 ++#define HAVE_ARMV8_INLINE 1 ++#define HAVE_NEON_INLINE 1 ++#define HAVE_VFP_INLINE 1 ++#define HAVE_VFPV3_INLINE 0 ++#define HAVE_SETEND_INLINE 0 ++#define HAVE_ALTIVEC_INLINE 0 ++#define HAVE_DCBZL_INLINE 0 ++#define HAVE_LDBRX_INLINE 0 ++#define HAVE_POWER8_INLINE 0 ++#define HAVE_PPC4XX_INLINE 0 ++#define HAVE_VSX_INLINE 0 ++#define HAVE_AESNI_INLINE 0 ++#define HAVE_AMD3DNOW_INLINE 0 ++#define HAVE_AMD3DNOWEXT_INLINE 0 ++#define HAVE_AVX_INLINE 0 ++#define HAVE_AVX2_INLINE 0 ++#define HAVE_AVX512_INLINE 0 ++#define HAVE_AVX512ICL_INLINE 0 ++#define HAVE_FMA3_INLINE 0 ++#define HAVE_FMA4_INLINE 0 ++#define HAVE_MMX_INLINE 0 ++#define HAVE_MMXEXT_INLINE 0 ++#define HAVE_SSE_INLINE 0 ++#define HAVE_SSE2_INLINE 0 ++#define HAVE_SSE3_INLINE 0 ++#define HAVE_SSE4_INLINE 0 ++#define HAVE_SSE42_INLINE 0 ++#define HAVE_SSSE3_INLINE 0 ++#define HAVE_XOP_INLINE 0 ++#define HAVE_CPUNOP_INLINE 0 ++#define HAVE_I686_INLINE 0 ++#define HAVE_MIPSFPU_INLINE 0 ++#define HAVE_MIPS32R2_INLINE 0 ++#define HAVE_MIPS32R5_INLINE 0 ++#define HAVE_MIPS64R2_INLINE 0 ++#define HAVE_MIPS32R6_INLINE 0 ++#define HAVE_MIPS64R6_INLINE 0 ++#define HAVE_MIPSDSP_INLINE 0 ++#define HAVE_MIPSDSPR2_INLINE 0 ++#define HAVE_MSA_INLINE 0 ++#define HAVE_LOONGSON2_INLINE 0 ++#define HAVE_LOONGSON3_INLINE 0 ++#define HAVE_MMI_INLINE 0 ++#define HAVE_LSX_INLINE 0 ++#define HAVE_LASX_INLINE 0 ++#define HAVE_ALIGNED_STACK 1 ++#define HAVE_FAST_64BIT 1 ++#define HAVE_FAST_CLZ 1 ++#define HAVE_FAST_CMOV 0 ++#define HAVE_LOCAL_ALIGNED 0 ++#define HAVE_SIMD_ALIGN_16 1 ++#define HAVE_SIMD_ALIGN_32 0 ++#define HAVE_SIMD_ALIGN_64 0 ++#define HAVE_ATOMIC_CAS_PTR 0 ++#define HAVE_MACHINE_RW_BARRIER 0 ++#define HAVE_MEMORYBARRIER 0 ++#define HAVE_MM_EMPTY 0 ++#define HAVE_RDTSC 0 ++#define HAVE_SEM_TIMEDWAIT 1 ++#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1 ++#define HAVE_CABS 0 ++#define HAVE_CEXP 0 ++#define HAVE_INLINE_ASM 1 ++#define HAVE_SYMVER 0 ++#define HAVE_X86ASM 0 ++#define HAVE_BIGENDIAN 0 ++#define HAVE_FAST_UNALIGNED 1 ++#define HAVE_ARPA_INET_H 0 ++#define HAVE_ASM_TYPES_H 0 ++#define HAVE_CDIO_PARANOIA_H 0 ++#define HAVE_CDIO_PARANOIA_PARANOIA_H 0 ++#define HAVE_CUDA_H 0 ++#define HAVE_DISPATCH_DISPATCH_H 0 ++#define HAVE_DEV_BKTR_IOCTL_BT848_H 0 ++#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0 ++#define HAVE_DEV_IC_BT8XX_H 1 ++#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0 ++#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0 ++#define HAVE_DIRECT_H 0 ++#define HAVE_DIRENT_H 1 ++#define HAVE_DXGIDEBUG_H 0 ++#define HAVE_DXVA_H 0 ++#define HAVE_ES2_GL_H 0 ++#define HAVE_GSM_H 0 ++#define HAVE_IO_H 0 ++#define HAVE_LINUX_DMA_BUF_H 0 ++#define HAVE_LINUX_PERF_EVENT_H 0 ++#define HAVE_MACHINE_IOCTL_BT848_H 0 ++#define HAVE_MACHINE_IOCTL_METEOR_H 0 ++#define HAVE_MALLOC_H 0 ++#define HAVE_OPENCV2_CORE_CORE_C_H 0 ++#define HAVE_OPENGL_GL3_H 0 ++#define HAVE_POLL_H 1 ++#define HAVE_SYS_PARAM_H 1 ++#define HAVE_SYS_RESOURCE_H 1 ++#define HAVE_SYS_SELECT_H 1 ++#define HAVE_SYS_SOUNDCARD_H 0 ++#define HAVE_SYS_TIME_H 1 ++#define HAVE_SYS_UN_H 1 ++#define HAVE_SYS_VIDEOIO_H 1 ++#define HAVE_TERMIOS_H 1 ++#define HAVE_UDPLITE_H 0 ++#define HAVE_UNISTD_H 1 ++#define HAVE_VALGRIND_VALGRIND_H 0 /* #define HAVE_VALGRIND_VALGRIND_H 1 -- forced to 0. See https://crbug.com/590440 */ ++#define HAVE_WINDOWS_H 0 ++#define HAVE_WINSOCK2_H 0 ++#define HAVE_INTRINSICS_NEON 1 ++#define HAVE_ATANF 1 ++#define HAVE_ATAN2F 1 ++#define HAVE_CBRT 1 ++#define HAVE_CBRTF 1 ++#define HAVE_COPYSIGN 1 ++#define HAVE_COSF 1 ++#define HAVE_ERF 1 ++#define HAVE_EXP2 1 ++#define HAVE_EXP2F 1 ++#define HAVE_EXPF 1 ++#define HAVE_HYPOT 1 ++#define HAVE_ISFINITE 1 ++#define HAVE_ISINF 1 ++#define HAVE_ISNAN 1 ++#define HAVE_LDEXPF 1 ++#define HAVE_LLRINT 1 ++#define HAVE_LLRINTF 1 ++#define HAVE_LOG2 1 ++#define HAVE_LOG2F 1 ++#define HAVE_LOG10F 1 ++#define HAVE_LRINT 1 ++#define HAVE_LRINTF 1 ++#define HAVE_POWF 1 ++#define HAVE_RINT 1 ++#define HAVE_ROUND 1 ++#define HAVE_ROUNDF 1 ++#define HAVE_SINF 1 ++#define HAVE_TRUNC 1 ++#define HAVE_TRUNCF 1 ++#define HAVE_DOS_PATHS 0 ++#define HAVE_LIBC_MSVCRT 0 ++#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0 ++#define HAVE_SECTION_DATA_REL_RO 1 ++#define HAVE_THREADS 1 ++#define HAVE_UWP 0 ++#define HAVE_WINRT 0 ++#define HAVE_ACCESS 1 ++#define HAVE_ALIGNED_MALLOC 0 ++#define HAVE_ARC4RANDOM 1 ++#define HAVE_CLOCK_GETTIME 1 ++#define HAVE_CLOSESOCKET 0 ++#define HAVE_COMMANDLINETOARGVW 0 ++#define HAVE_FCNTL 1 ++#define HAVE_GETADDRINFO 0 ++#define HAVE_GETAUXVAL 0 ++#define HAVE_GETHRTIME 0 ++#define HAVE_GETOPT 1 ++#define HAVE_GETMODULEHANDLE 0 ++#define HAVE_GETPROCESSAFFINITYMASK 0 ++#define HAVE_GETPROCESSMEMORYINFO 0 ++#define HAVE_GETPROCESSTIMES 0 ++#define HAVE_GETRUSAGE 1 ++#define HAVE_GETSTDHANDLE 0 ++#define HAVE_GETSYSTEMTIMEASFILETIME 0 ++#define HAVE_GETTIMEOFDAY 1 ++#define HAVE_GLOB 1 ++#define HAVE_GLXGETPROCADDRESS 0 ++#define HAVE_GMTIME_R 1 ++#define HAVE_INET_ATON 0 ++#define HAVE_ISATTY 1 ++#define HAVE_KBHIT 0 ++#define HAVE_LOCALTIME_R 1 ++#define HAVE_LSTAT 1 ++#define HAVE_LZO1X_999_COMPRESS 0 ++#define HAVE_MACH_ABSOLUTE_TIME 0 ++#define HAVE_MAPVIEWOFFILE 0 ++#define HAVE_MEMALIGN 0 ++#define HAVE_MKSTEMP 1 ++#define HAVE_MMAP 1 ++#define HAVE_MPROTECT 1 ++#define HAVE_NANOSLEEP 1 ++#define HAVE_PEEKNAMEDPIPE 0 ++#define HAVE_POSIX_MEMALIGN 1 ++#define HAVE_PTHREAD_CANCEL 1 ++#define HAVE_SCHED_GETAFFINITY 0 ++#define HAVE_SECITEMIMPORT 0 ++#define HAVE_SETCONSOLETEXTATTRIBUTE 0 ++#define HAVE_SETCONSOLECTRLHANDLER 0 ++#define HAVE_SETDLLDIRECTORY 0 ++#define HAVE_SETMODE 0 ++#define HAVE_SETRLIMIT 1 ++#define HAVE_SLEEP 0 ++#define HAVE_STRERROR_R 1 ++#define HAVE_SYSCONF 1 ++#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 1 -- forced to 0 for Fuchsia */ ++#define HAVE_USLEEP 1 ++#define HAVE_UTGETOSTYPEFROMSTRING 0 ++#define HAVE_VIRTUALALLOC 0 ++#define HAVE_WGLGETPROCADDRESS 0 ++#define HAVE_BCRYPT 0 ++#define HAVE_VAAPI_DRM 0 ++#define HAVE_VAAPI_X11 0 ++#define HAVE_VDPAU_X11 0 ++#define HAVE_PTHREADS 1 ++#define HAVE_OS2THREADS 0 ++#define HAVE_W32THREADS 0 ++#define HAVE_AS_ARCH_DIRECTIVE 0 ++#define HAVE_AS_DN_DIRECTIVE 0 ++#define HAVE_AS_FPU_DIRECTIVE 0 ++#define HAVE_AS_FUNC 0 ++#define HAVE_AS_OBJECT_ARCH 0 ++#define HAVE_ASM_MOD_Q 0 ++#define HAVE_BLOCKS_EXTENSION 0 ++#define HAVE_EBP_AVAILABLE 0 ++#define HAVE_EBX_AVAILABLE 0 ++#define HAVE_GNU_AS 0 ++#define HAVE_GNU_WINDRES 0 ++#define HAVE_IBM_ASM 0 ++#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 0 ++#define HAVE_INLINE_ASM_LABELS 1 ++#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1 ++#define HAVE_PRAGMA_DEPRECATED 1 ++#define HAVE_RSYNC_CONTIMEOUT 0 ++#define HAVE_SYMVER_ASM_LABEL 1 ++#define HAVE_SYMVER_GNU_ASM 1 ++/* #define HAVE_VFP_ARGS 0 -- softfp/hardfp selection is done by the chrome build */ ++#define HAVE_XFORM_ASM 0 ++#define HAVE_XMM_CLOBBERS 0 ++#define HAVE_KCMVIDEOCODECTYPE_HEVC 0 ++#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0 ++#define HAVE_KCMVIDEOCODECTYPE_VP9 0 ++#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0 ++#define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0 ++#define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0 ++#define HAVE_SOCKLEN_T 0 ++#define HAVE_STRUCT_ADDRINFO 0 ++#define HAVE_STRUCT_GROUP_SOURCE_REQ 0 ++#define HAVE_STRUCT_IP_MREQ_SOURCE 0 ++#define HAVE_STRUCT_IPV6_MREQ 0 ++#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0 ++#define HAVE_STRUCT_POLLFD 0 ++#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1 ++#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0 ++#define HAVE_STRUCT_SOCKADDR_IN6 0 ++#define HAVE_STRUCT_SOCKADDR_SA_LEN 0 ++#define HAVE_STRUCT_SOCKADDR_STORAGE 0 ++#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 ++#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1 ++#define HAVE_GZIP 1 ++#define HAVE_LIBDRM_GETFB2 0 ++#define HAVE_MAKEINFO 1 ++#define HAVE_MAKEINFO_HTML 0 ++#define HAVE_OPENCL_D3D11 0 ++#define HAVE_OPENCL_DRM_ARM 0 ++#define HAVE_OPENCL_DRM_BEIGNET 0 ++#define HAVE_OPENCL_DXVA2 0 ++#define HAVE_OPENCL_VAAPI_BEIGNET 0 ++#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0 ++#define HAVE_PERL 1 ++#define HAVE_POD2MAN 1 ++#define HAVE_TEXI2HTML 0 ++#define HAVE_XMLLINT 1 ++#define HAVE_ZLIB_GZIP 0 ++#define CONFIG_DOC 0 ++#define CONFIG_HTMLPAGES 0 ++#define CONFIG_MANPAGES 0 ++#define CONFIG_PODPAGES 0 ++#define CONFIG_TXTPAGES 0 ++#define CONFIG_AVIO_LIST_DIR_EXAMPLE 1 ++#define CONFIG_AVIO_READING_EXAMPLE 1 ++#define CONFIG_DECODE_AUDIO_EXAMPLE 1 ++#define CONFIG_DECODE_VIDEO_EXAMPLE 1 ++#define CONFIG_DEMUXING_DECODING_EXAMPLE 1 ++#define CONFIG_ENCODE_AUDIO_EXAMPLE 1 ++#define CONFIG_ENCODE_VIDEO_EXAMPLE 1 ++#define CONFIG_EXTRACT_MVS_EXAMPLE 1 ++#define CONFIG_FILTER_AUDIO_EXAMPLE 0 ++#define CONFIG_FILTERING_AUDIO_EXAMPLE 0 ++#define CONFIG_FILTERING_VIDEO_EXAMPLE 0 ++#define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1 ++#define CONFIG_HW_DECODE_EXAMPLE 1 ++#define CONFIG_METADATA_EXAMPLE 1 ++#define CONFIG_MUXING_EXAMPLE 0 ++#define CONFIG_QSVDEC_EXAMPLE 0 ++#define CONFIG_REMUXING_EXAMPLE 1 ++#define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0 ++#define CONFIG_SCALING_VIDEO_EXAMPLE 0 ++#define CONFIG_TRANSCODE_AAC_EXAMPLE 0 ++#define CONFIG_TRANSCODING_EXAMPLE 0 ++#define CONFIG_VAAPI_ENCODE_EXAMPLE 0 ++#define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0 ++#define CONFIG_AVISYNTH 0 ++#define CONFIG_FREI0R 0 ++#define CONFIG_LIBCDIO 0 ++#define CONFIG_LIBDAVS2 0 ++#define CONFIG_LIBRUBBERBAND 0 ++#define CONFIG_LIBVIDSTAB 0 ++#define CONFIG_LIBX264 0 ++#define CONFIG_LIBX265 0 ++#define CONFIG_LIBXAVS 0 ++#define CONFIG_LIBXAVS2 0 ++#define CONFIG_LIBXVID 0 ++#define CONFIG_DECKLINK 0 ++#define CONFIG_LIBFDK_AAC 0 ++#define CONFIG_LIBTLS 0 ++#define CONFIG_GMP 0 ++#define CONFIG_LIBARIBB24 0 ++#define CONFIG_LIBLENSFUN 0 ++#define CONFIG_LIBOPENCORE_AMRNB 0 ++#define CONFIG_LIBOPENCORE_AMRWB 0 ++#define CONFIG_LIBVO_AMRWBENC 0 ++#define CONFIG_MBEDTLS 0 ++#define CONFIG_RKMPP 0 ++#define CONFIG_LIBSMBCLIENT 0 ++#define CONFIG_CHROMAPRINT 0 ++#define CONFIG_GCRYPT 0 ++#define CONFIG_GNUTLS 0 ++#define CONFIG_JNI 0 ++#define CONFIG_LADSPA 0 ++#define CONFIG_LIBAOM 0 ++#define CONFIG_LIBASS 0 ++#define CONFIG_LIBBLURAY 0 ++#define CONFIG_LIBBS2B 0 ++#define CONFIG_LIBCACA 0 ++#define CONFIG_LIBCELT 0 ++#define CONFIG_LIBCODEC2 0 ++#define CONFIG_LIBDAV1D 0 ++#define CONFIG_LIBDC1394 0 ++#define CONFIG_LIBDRM 0 ++#define CONFIG_LIBFLITE 0 ++#define CONFIG_LIBFONTCONFIG 0 ++#define CONFIG_LIBFREETYPE 0 ++#define CONFIG_LIBFRIBIDI 0 ++#define CONFIG_LIBGLSLANG 0 ++#define CONFIG_LIBGME 0 ++#define CONFIG_LIBGSM 0 ++#define CONFIG_LIBIEC61883 0 ++#define CONFIG_LIBILBC 0 ++#define CONFIG_LIBJACK 0 ++#define CONFIG_LIBKLVANC 0 ++#define CONFIG_LIBKVAZAAR 0 ++#define CONFIG_LIBMODPLUG 0 ++#define CONFIG_LIBMP3LAME 0 ++#define CONFIG_LIBMYSOFA 0 ++#define CONFIG_LIBOPENCV 0 ++#define CONFIG_LIBOPENH264 0 ++#define CONFIG_LIBOPENJPEG 0 ++#define CONFIG_LIBOPENMPT 0 ++#define CONFIG_LIBOPENVINO 0 ++#define CONFIG_LIBOPUS 1 ++#define CONFIG_LIBPLACEBO 0 ++#define CONFIG_LIBPULSE 0 ++#define CONFIG_LIBRABBITMQ 0 ++#define CONFIG_LIBRAV1E 0 ++#define CONFIG_LIBRIST 0 ++#define CONFIG_LIBRSVG 0 ++#define CONFIG_LIBRTMP 0 ++#define CONFIG_LIBSHADERC 0 ++#define CONFIG_LIBSHINE 0 ++#define CONFIG_LIBSMBCLIENT 0 ++#define CONFIG_LIBSNAPPY 0 ++#define CONFIG_LIBSOXR 0 ++#define CONFIG_LIBSPEEX 0 ++#define CONFIG_LIBSRT 0 ++#define CONFIG_LIBSSH 0 ++#define CONFIG_LIBSVTAV1 0 ++#define CONFIG_LIBTENSORFLOW 0 ++#define CONFIG_LIBTESSERACT 0 ++#define CONFIG_LIBTHEORA 0 ++#define CONFIG_LIBTWOLAME 0 ++#define CONFIG_LIBUAVS3D 0 ++#define CONFIG_LIBV4L2 0 ++#define CONFIG_LIBVMAF 0 ++#define CONFIG_LIBVORBIS 0 ++#define CONFIG_LIBVPX 0 ++#define CONFIG_LIBWEBP 0 ++#define CONFIG_LIBXML2 0 ++#define CONFIG_LIBZIMG 0 ++#define CONFIG_LIBZMQ 0 ++#define CONFIG_LIBZVBI 0 ++#define CONFIG_LV2 0 ++#define CONFIG_MEDIACODEC 0 ++#define CONFIG_OPENAL 0 ++#define CONFIG_OPENGL 0 ++#define CONFIG_OPENSSL 0 ++#define CONFIG_POCKETSPHINX 0 ++#define CONFIG_VAPOURSYNTH 0 ++#define CONFIG_ALSA 0 ++#define CONFIG_APPKIT 0 ++#define CONFIG_AVFOUNDATION 0 ++#define CONFIG_BZLIB 0 ++#define CONFIG_COREIMAGE 0 ++#define CONFIG_ICONV 0 ++#define CONFIG_LIBXCB 0 ++#define CONFIG_LIBXCB_SHM 0 ++#define CONFIG_LIBXCB_SHAPE 0 ++#define CONFIG_LIBXCB_XFIXES 0 ++#define CONFIG_LZMA 0 ++#define CONFIG_MEDIAFOUNDATION 0 ++#define CONFIG_METAL 0 ++#define CONFIG_SCHANNEL 0 ++#define CONFIG_SDL2 0 ++#define CONFIG_SECURETRANSPORT 0 ++#define CONFIG_SNDIO 0 ++#define CONFIG_XLIB 0 ++#define CONFIG_ZLIB 0 ++#define CONFIG_CUDA_NVCC 0 ++#define CONFIG_CUDA_SDK 0 ++#define CONFIG_LIBNPP 0 ++#define CONFIG_LIBMFX 0 ++#define CONFIG_MMAL 0 ++#define CONFIG_OMX 0 ++#define CONFIG_OPENCL 0 ++#define CONFIG_AMF 0 ++#define CONFIG_AUDIOTOOLBOX 0 ++#define CONFIG_CRYSTALHD 0 ++#define CONFIG_CUDA 0 ++#define CONFIG_CUDA_LLVM 0 ++#define CONFIG_CUVID 0 ++#define CONFIG_D3D11VA 0 ++#define CONFIG_DXVA2 0 ++#define CONFIG_FFNVCODEC 0 ++#define CONFIG_NVDEC 0 ++#define CONFIG_NVENC 0 ++#define CONFIG_VAAPI 0 ++#define CONFIG_VDPAU 0 ++#define CONFIG_VIDEOTOOLBOX 0 ++#define CONFIG_VULKAN 0 ++#define CONFIG_V4L2_M2M 0 ++#define CONFIG_FTRAPV 0 ++#define CONFIG_GRAY 0 ++#define CONFIG_HARDCODED_TABLES 0 ++#define CONFIG_OMX_RPI 0 ++#define CONFIG_RUNTIME_CPUDETECT 1 ++#define CONFIG_SAFE_BITSTREAM_READER 1 ++#define CONFIG_SHARED 0 ++#define CONFIG_SMALL 0 ++#define CONFIG_STATIC 1 ++#define CONFIG_SWSCALE_ALPHA 1 ++#define CONFIG_GPL 0 ++#define CONFIG_NONFREE 0 ++#define CONFIG_VERSION3 0 ++#define CONFIG_AVDEVICE 0 ++#define CONFIG_AVFILTER 0 ++#define CONFIG_SWSCALE 0 ++#define CONFIG_POSTPROC 0 ++#define CONFIG_AVFORMAT 1 ++#define CONFIG_AVCODEC 1 ++#define CONFIG_SWRESAMPLE 0 ++#define CONFIG_AVUTIL 1 ++#define CONFIG_FFPLAY 0 ++#define CONFIG_FFPROBE 0 ++#define CONFIG_FFMPEG 0 ++#define CONFIG_DCT 1 ++#define CONFIG_DWT 0 ++#define CONFIG_ERROR_RESILIENCE 0 ++#define CONFIG_FAAN 0 ++#define CONFIG_FAST_UNALIGNED 1 ++#define CONFIG_FFT 1 ++#define CONFIG_LSP 0 ++#define CONFIG_MDCT 1 ++#define CONFIG_PIXELUTILS 0 ++#define CONFIG_NETWORK 0 ++#define CONFIG_RDFT 1 ++#define CONFIG_AUTODETECT 0 ++#define CONFIG_FONTCONFIG 0 ++#define CONFIG_LARGE_TESTS 1 ++#define CONFIG_LINUX_PERF 0 ++#define CONFIG_MACOS_KPERF 0 ++#define CONFIG_MEMORY_POISONING 0 ++#define CONFIG_NEON_CLOBBER_TEST 0 ++#define CONFIG_OSSFUZZ 0 ++#define CONFIG_PIC 1 ++#define CONFIG_PTX_COMPRESSION 0 ++#define CONFIG_THUMB 0 ++#define CONFIG_VALGRIND_BACKTRACE 0 ++#define CONFIG_XMM_CLOBBER_TEST 0 ++#define CONFIG_BSFS 0 ++#define CONFIG_DECODERS 1 ++#define CONFIG_ENCODERS 0 ++#define CONFIG_HWACCELS 0 ++#define CONFIG_PARSERS 1 ++#define CONFIG_INDEVS 0 ++#define CONFIG_OUTDEVS 0 ++#define CONFIG_FILTERS 0 ++#define CONFIG_DEMUXERS 1 ++#define CONFIG_MUXERS 0 ++#define CONFIG_PROTOCOLS 0 ++#define CONFIG_AANDCTTABLES 0 ++#define CONFIG_AC3DSP 0 ++#define CONFIG_ADTS_HEADER 1 ++#define CONFIG_ATSC_A53 1 ++#define CONFIG_AUDIO_FRAME_QUEUE 0 ++#define CONFIG_AUDIODSP 0 ++#define CONFIG_BLOCKDSP 0 ++#define CONFIG_BSWAPDSP 0 ++#define CONFIG_CABAC 1 ++#define CONFIG_CBS 0 ++#define CONFIG_CBS_AV1 0 ++#define CONFIG_CBS_H264 0 ++#define CONFIG_CBS_H265 0 ++#define CONFIG_CBS_JPEG 0 ++#define CONFIG_CBS_MPEG2 0 ++#define CONFIG_CBS_VP9 0 ++#define CONFIG_DEFLATE_WRAPPER 0 ++#define CONFIG_DIRAC_PARSE 1 ++#define CONFIG_DNN 0 ++#define CONFIG_DOVI_RPU 0 ++#define CONFIG_DVPROFILE 0 ++#define CONFIG_EXIF 0 ++#define CONFIG_FAANDCT 0 ++#define CONFIG_FAANIDCT 0 ++#define CONFIG_FDCTDSP 0 ++#define CONFIG_FLACDSP 1 ++#define CONFIG_FMTCONVERT 0 ++#define CONFIG_FRAME_THREAD_ENCODER 0 ++#define CONFIG_G722DSP 0 ++#define CONFIG_GOLOMB 1 ++#define CONFIG_GPLV3 0 ++#define CONFIG_H263DSP 0 ++#define CONFIG_H264CHROMA 1 ++#define CONFIG_H264DSP 1 ++#define CONFIG_H264PARSE 1 ++#define CONFIG_H264PRED 1 ++#define CONFIG_H264QPEL 1 ++#define CONFIG_HEVCPARSE 0 ++#define CONFIG_HPELDSP 1 ++#define CONFIG_HUFFMAN 0 ++#define CONFIG_HUFFYUVDSP 0 ++#define CONFIG_HUFFYUVENCDSP 0 ++#define CONFIG_IDCTDSP 0 ++#define CONFIG_IIRFILTER 0 ++#define CONFIG_MDCT15 1 ++#define CONFIG_INFLATE_WRAPPER 0 ++#define CONFIG_INTRAX8 0 ++#define CONFIG_ISO_MEDIA 1 ++#define CONFIG_IVIDSP 0 ++#define CONFIG_JPEGTABLES 0 ++#define CONFIG_LGPLV3 0 ++#define CONFIG_LIBX262 0 ++#define CONFIG_LLAUDDSP 0 ++#define CONFIG_LLVIDDSP 0 ++#define CONFIG_LLVIDENCDSP 0 ++#define CONFIG_LPC 0 ++#define CONFIG_LZF 0 ++#define CONFIG_ME_CMP 0 ++#define CONFIG_MPEG_ER 0 ++#define CONFIG_MPEGAUDIO 1 ++#define CONFIG_MPEGAUDIODSP 1 ++#define CONFIG_MPEGAUDIOHEADER 1 ++#define CONFIG_MPEG4AUDIO 1 ++#define CONFIG_MPEGVIDEO 0 ++#define CONFIG_MPEGVIDEODEC 0 ++#define CONFIG_MPEGVIDEOENC 0 ++#define CONFIG_MSS34DSP 0 ++#define CONFIG_PIXBLOCKDSP 0 ++#define CONFIG_QPELDSP 0 ++#define CONFIG_QSV 0 ++#define CONFIG_QSVDEC 0 ++#define CONFIG_QSVENC 0 ++#define CONFIG_QSVVPP 0 ++#define CONFIG_RANGECODER 0 ++#define CONFIG_RIFFDEC 1 ++#define CONFIG_RIFFENC 0 ++#define CONFIG_RTPDEC 0 ++#define CONFIG_RTPENC_CHAIN 0 ++#define CONFIG_RV34DSP 0 ++#define CONFIG_SCENE_SAD 0 ++#define CONFIG_SINEWIN 1 ++#define CONFIG_SNAPPY 0 ++#define CONFIG_SRTP 0 ++#define CONFIG_STARTCODE 1 ++#define CONFIG_TEXTUREDSP 0 ++#define CONFIG_TEXTUREDSPENC 0 ++#define CONFIG_TPELDSP 0 ++#define CONFIG_VAAPI_1 0 ++#define CONFIG_VAAPI_ENCODE 0 ++#define CONFIG_VC1DSP 0 ++#define CONFIG_VIDEODSP 1 ++#define CONFIG_VP3DSP 1 ++#define CONFIG_VP56DSP 0 ++#define CONFIG_VP8DSP 1 ++#define CONFIG_WMA_FREQS 0 ++#define CONFIG_WMV2DSP 0 ++#endif /* FFMPEG_CONFIG_H */ diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h new file mode 100644 index 000000000000..2179e96bda17 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_arm64_config__components.h @@ -0,0 +1,2066 @@ +--- third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config_components.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/arm64/config_components.h +@@ -0,0 +1,2063 @@ ++/* Automatically generated by configure - do not modify! */ ++#ifndef FFMPEG_CONFIG_COMPONENTS_H ++#define FFMPEG_CONFIG_COMPONENTS_H ++#define CONFIG_AAC_ADTSTOASC_BSF 0 ++#define CONFIG_AV1_FRAME_MERGE_BSF 0 ++#define CONFIG_AV1_FRAME_SPLIT_BSF 0 ++#define CONFIG_AV1_METADATA_BSF 0 ++#define CONFIG_CHOMP_BSF 0 ++#define CONFIG_DUMP_EXTRADATA_BSF 0 ++#define CONFIG_DCA_CORE_BSF 0 ++#define CONFIG_DV_ERROR_MARKER_BSF 0 ++#define CONFIG_EAC3_CORE_BSF 0 ++#define CONFIG_EXTRACT_EXTRADATA_BSF 0 ++#define CONFIG_FILTER_UNITS_BSF 0 ++#define CONFIG_H264_METADATA_BSF 0 ++#define CONFIG_H264_MP4TOANNEXB_BSF 0 ++#define CONFIG_H264_REDUNDANT_PPS_BSF 0 ++#define CONFIG_HAPQA_EXTRACT_BSF 0 ++#define CONFIG_HEVC_METADATA_BSF 0 ++#define CONFIG_HEVC_MP4TOANNEXB_BSF 0 ++#define CONFIG_IMX_DUMP_HEADER_BSF 0 ++#define CONFIG_MJPEG2JPEG_BSF 0 ++#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0 ++#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0 ++#define CONFIG_MPEG2_METADATA_BSF 0 ++#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0 ++#define CONFIG_MOV2TEXTSUB_BSF 0 ++#define CONFIG_NOISE_BSF 0 ++#define CONFIG_NULL_BSF 0 ++#define CONFIG_OPUS_METADATA_BSF 0 ++#define CONFIG_PCM_RECHUNK_BSF 0 ++#define CONFIG_PRORES_METADATA_BSF 0 ++#define CONFIG_REMOVE_EXTRADATA_BSF 0 ++#define CONFIG_SETTS_BSF 0 ++#define CONFIG_TEXT2MOVSUB_BSF 0 ++#define CONFIG_TRACE_HEADERS_BSF 0 ++#define CONFIG_TRUEHD_CORE_BSF 0 ++#define CONFIG_VP9_METADATA_BSF 0 ++#define CONFIG_VP9_RAW_REORDER_BSF 0 ++#define CONFIG_VP9_SUPERFRAME_BSF 0 ++#define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0 ++#define CONFIG_AASC_DECODER 0 ++#define CONFIG_AIC_DECODER 0 ++#define CONFIG_ALIAS_PIX_DECODER 0 ++#define CONFIG_AGM_DECODER 0 ++#define CONFIG_AMV_DECODER 0 ++#define CONFIG_ANM_DECODER 0 ++#define CONFIG_ANSI_DECODER 0 ++#define CONFIG_APNG_DECODER 0 ++#define CONFIG_ARBC_DECODER 0 ++#define CONFIG_ARGO_DECODER 0 ++#define CONFIG_ASV1_DECODER 0 ++#define CONFIG_ASV2_DECODER 0 ++#define CONFIG_AURA_DECODER 0 ++#define CONFIG_AURA2_DECODER 0 ++#define CONFIG_AVRP_DECODER 0 ++#define CONFIG_AVRN_DECODER 0 ++#define CONFIG_AVS_DECODER 0 ++#define CONFIG_AVUI_DECODER 0 ++#define CONFIG_AYUV_DECODER 0 ++#define CONFIG_BETHSOFTVID_DECODER 0 ++#define CONFIG_BFI_DECODER 0 ++#define CONFIG_BINK_DECODER 0 ++#define CONFIG_BITPACKED_DECODER 0 ++#define CONFIG_BMP_DECODER 0 ++#define CONFIG_BMV_VIDEO_DECODER 0 ++#define CONFIG_BRENDER_PIX_DECODER 0 ++#define CONFIG_C93_DECODER 0 ++#define CONFIG_CAVS_DECODER 0 ++#define CONFIG_CDGRAPHICS_DECODER 0 ++#define CONFIG_CDTOONS_DECODER 0 ++#define CONFIG_CDXL_DECODER 0 ++#define CONFIG_CFHD_DECODER 0 ++#define CONFIG_CINEPAK_DECODER 0 ++#define CONFIG_CLEARVIDEO_DECODER 0 ++#define CONFIG_CLJR_DECODER 0 ++#define CONFIG_CLLC_DECODER 0 ++#define CONFIG_COMFORTNOISE_DECODER 0 ++#define CONFIG_CPIA_DECODER 0 ++#define CONFIG_CRI_DECODER 0 ++#define CONFIG_CSCD_DECODER 0 ++#define CONFIG_CYUV_DECODER 0 ++#define CONFIG_DDS_DECODER 0 ++#define CONFIG_DFA_DECODER 0 ++#define CONFIG_DIRAC_DECODER 0 ++#define CONFIG_DNXHD_DECODER 0 ++#define CONFIG_DPX_DECODER 0 ++#define CONFIG_DSICINVIDEO_DECODER 0 ++#define CONFIG_DVAUDIO_DECODER 0 ++#define CONFIG_DVVIDEO_DECODER 0 ++#define CONFIG_DXA_DECODER 0 ++#define CONFIG_DXTORY_DECODER 0 ++#define CONFIG_DXV_DECODER 0 ++#define CONFIG_EACMV_DECODER 0 ++#define CONFIG_EAMAD_DECODER 0 ++#define CONFIG_EATGQ_DECODER 0 ++#define CONFIG_EATGV_DECODER 0 ++#define CONFIG_EATQI_DECODER 0 ++#define CONFIG_EIGHTBPS_DECODER 0 ++#define CONFIG_EIGHTSVX_EXP_DECODER 0 ++#define CONFIG_EIGHTSVX_FIB_DECODER 0 ++#define CONFIG_ESCAPE124_DECODER 0 ++#define CONFIG_ESCAPE130_DECODER 0 ++#define CONFIG_EXR_DECODER 0 ++#define CONFIG_FFV1_DECODER 0 ++#define CONFIG_FFVHUFF_DECODER 0 ++#define CONFIG_FIC_DECODER 0 ++#define CONFIG_FITS_DECODER 0 ++#define CONFIG_FLASHSV_DECODER 0 ++#define CONFIG_FLASHSV2_DECODER 0 ++#define CONFIG_FLIC_DECODER 0 ++#define CONFIG_FLV_DECODER 0 ++#define CONFIG_FMVC_DECODER 0 ++#define CONFIG_FOURXM_DECODER 0 ++#define CONFIG_FRAPS_DECODER 0 ++#define CONFIG_FRWU_DECODER 0 ++#define CONFIG_G2M_DECODER 0 ++#define CONFIG_GDV_DECODER 0 ++#define CONFIG_GEM_DECODER 0 ++#define CONFIG_GIF_DECODER 0 ++#define CONFIG_H261_DECODER 0 ++#define CONFIG_H263_DECODER 0 ++#define CONFIG_H263I_DECODER 0 ++#define CONFIG_H263P_DECODER 0 ++#define CONFIG_H263_V4L2M2M_DECODER 0 ++#define CONFIG_H264_DECODER 1 ++#define CONFIG_H264_CRYSTALHD_DECODER 0 ++#define CONFIG_H264_V4L2M2M_DECODER 0 ++#define CONFIG_H264_MEDIACODEC_DECODER 0 ++#define CONFIG_H264_MMAL_DECODER 0 ++#define CONFIG_H264_QSV_DECODER 0 ++#define CONFIG_H264_RKMPP_DECODER 0 ++#define CONFIG_HAP_DECODER 0 ++#define CONFIG_HEVC_DECODER 0 ++#define CONFIG_HEVC_QSV_DECODER 0 ++#define CONFIG_HEVC_RKMPP_DECODER 0 ++#define CONFIG_HEVC_V4L2M2M_DECODER 0 ++#define CONFIG_HNM4_VIDEO_DECODER 0 ++#define CONFIG_HQ_HQA_DECODER 0 ++#define CONFIG_HQX_DECODER 0 ++#define CONFIG_HUFFYUV_DECODER 0 ++#define CONFIG_HYMT_DECODER 0 ++#define CONFIG_IDCIN_DECODER 0 ++#define CONFIG_IFF_ILBM_DECODER 0 ++#define CONFIG_IMM4_DECODER 0 ++#define CONFIG_IMM5_DECODER 0 ++#define CONFIG_INDEO2_DECODER 0 ++#define CONFIG_INDEO3_DECODER 0 ++#define CONFIG_INDEO4_DECODER 0 ++#define CONFIG_INDEO5_DECODER 0 ++#define CONFIG_INTERPLAY_VIDEO_DECODER 0 ++#define CONFIG_IPU_DECODER 0 ++#define CONFIG_JPEG2000_DECODER 0 ++#define CONFIG_JPEGLS_DECODER 0 ++#define CONFIG_JV_DECODER 0 ++#define CONFIG_KGV1_DECODER 0 ++#define CONFIG_KMVC_DECODER 0 ++#define CONFIG_LAGARITH_DECODER 0 ++#define CONFIG_LOCO_DECODER 0 ++#define CONFIG_LSCR_DECODER 0 ++#define CONFIG_M101_DECODER 0 ++#define CONFIG_MAGICYUV_DECODER 0 ++#define CONFIG_MDEC_DECODER 0 ++#define CONFIG_MIMIC_DECODER 0 ++#define CONFIG_MJPEG_DECODER 0 ++#define CONFIG_MJPEGB_DECODER 0 ++#define CONFIG_MMVIDEO_DECODER 0 ++#define CONFIG_MOBICLIP_DECODER 0 ++#define CONFIG_MOTIONPIXELS_DECODER 0 ++#define CONFIG_MPEG1VIDEO_DECODER 0 ++#define CONFIG_MPEG2VIDEO_DECODER 0 ++#define CONFIG_MPEG4_DECODER 0 ++#define CONFIG_MPEG4_CRYSTALHD_DECODER 0 ++#define CONFIG_MPEG4_V4L2M2M_DECODER 0 ++#define CONFIG_MPEG4_MMAL_DECODER 0 ++#define CONFIG_MPEGVIDEO_DECODER 0 ++#define CONFIG_MPEG1_V4L2M2M_DECODER 0 ++#define CONFIG_MPEG2_MMAL_DECODER 0 ++#define CONFIG_MPEG2_CRYSTALHD_DECODER 0 ++#define CONFIG_MPEG2_V4L2M2M_DECODER 0 ++#define CONFIG_MPEG2_QSV_DECODER 0 ++#define CONFIG_MPEG2_MEDIACODEC_DECODER 0 ++#define CONFIG_MSA1_DECODER 0 ++#define CONFIG_MSCC_DECODER 0 ++#define CONFIG_MSMPEG4V1_DECODER 0 ++#define CONFIG_MSMPEG4V2_DECODER 0 ++#define CONFIG_MSMPEG4V3_DECODER 0 ++#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0 ++#define CONFIG_MSP2_DECODER 0 ++#define CONFIG_MSRLE_DECODER 0 ++#define CONFIG_MSS1_DECODER 0 ++#define CONFIG_MSS2_DECODER 0 ++#define CONFIG_MSVIDEO1_DECODER 0 ++#define CONFIG_MSZH_DECODER 0 ++#define CONFIG_MTS2_DECODER 0 ++#define CONFIG_MV30_DECODER 0 ++#define CONFIG_MVC1_DECODER 0 ++#define CONFIG_MVC2_DECODER 0 ++#define CONFIG_MVDV_DECODER 0 ++#define CONFIG_MVHA_DECODER 0 ++#define CONFIG_MWSC_DECODER 0 ++#define CONFIG_MXPEG_DECODER 0 ++#define CONFIG_NOTCHLC_DECODER 0 ++#define CONFIG_NUV_DECODER 0 ++#define CONFIG_PAF_VIDEO_DECODER 0 ++#define CONFIG_PAM_DECODER 0 ++#define CONFIG_PBM_DECODER 0 ++#define CONFIG_PCX_DECODER 0 ++#define CONFIG_PFM_DECODER 0 ++#define CONFIG_PGM_DECODER 0 ++#define CONFIG_PGMYUV_DECODER 0 ++#define CONFIG_PGX_DECODER 0 ++#define CONFIG_PHOTOCD_DECODER 0 ++#define CONFIG_PICTOR_DECODER 0 ++#define CONFIG_PIXLET_DECODER 0 ++#define CONFIG_PNG_DECODER 0 ++#define CONFIG_PPM_DECODER 0 ++#define CONFIG_PRORES_DECODER 0 ++#define CONFIG_PROSUMER_DECODER 0 ++#define CONFIG_PSD_DECODER 0 ++#define CONFIG_PTX_DECODER 0 ++#define CONFIG_QDRAW_DECODER 0 ++#define CONFIG_QPEG_DECODER 0 ++#define CONFIG_QTRLE_DECODER 0 ++#define CONFIG_R10K_DECODER 0 ++#define CONFIG_R210_DECODER 0 ++#define CONFIG_RASC_DECODER 0 ++#define CONFIG_RAWVIDEO_DECODER 0 ++#define CONFIG_RL2_DECODER 0 ++#define CONFIG_ROQ_DECODER 0 ++#define CONFIG_RPZA_DECODER 0 ++#define CONFIG_RSCC_DECODER 0 ++#define CONFIG_RV10_DECODER 0 ++#define CONFIG_RV20_DECODER 0 ++#define CONFIG_RV30_DECODER 0 ++#define CONFIG_RV40_DECODER 0 ++#define CONFIG_S302M_DECODER 0 ++#define CONFIG_SANM_DECODER 0 ++#define CONFIG_SCPR_DECODER 0 ++#define CONFIG_SCREENPRESSO_DECODER 0 ++#define CONFIG_SGA_DECODER 0 ++#define CONFIG_SGI_DECODER 0 ++#define CONFIG_SGIRLE_DECODER 0 ++#define CONFIG_SHEERVIDEO_DECODER 0 ++#define CONFIG_SIMBIOSIS_IMX_DECODER 0 ++#define CONFIG_SMACKER_DECODER 0 ++#define CONFIG_SMC_DECODER 0 ++#define CONFIG_SMVJPEG_DECODER 0 ++#define CONFIG_SNOW_DECODER 0 ++#define CONFIG_SP5X_DECODER 0 ++#define CONFIG_SPEEDHQ_DECODER 0 ++#define CONFIG_SPEEX_DECODER 0 ++#define CONFIG_SRGC_DECODER 0 ++#define CONFIG_SUNRAST_DECODER 0 ++#define CONFIG_SVQ1_DECODER 0 ++#define CONFIG_SVQ3_DECODER 0 ++#define CONFIG_TARGA_DECODER 0 ++#define CONFIG_TARGA_Y216_DECODER 0 ++#define CONFIG_TDSC_DECODER 0 ++#define CONFIG_THEORA_DECODER 1 ++#define CONFIG_THP_DECODER 0 ++#define CONFIG_TIERTEXSEQVIDEO_DECODER 0 ++#define CONFIG_TIFF_DECODER 0 ++#define CONFIG_TMV_DECODER 0 ++#define CONFIG_TRUEMOTION1_DECODER 0 ++#define CONFIG_TRUEMOTION2_DECODER 0 ++#define CONFIG_TRUEMOTION2RT_DECODER 0 ++#define CONFIG_TSCC_DECODER 0 ++#define CONFIG_TSCC2_DECODER 0 ++#define CONFIG_TXD_DECODER 0 ++#define CONFIG_ULTI_DECODER 0 ++#define CONFIG_UTVIDEO_DECODER 0 ++#define CONFIG_V210_DECODER 0 ++#define CONFIG_V210X_DECODER 0 ++#define CONFIG_V308_DECODER 0 ++#define CONFIG_V408_DECODER 0 ++#define CONFIG_V410_DECODER 0 ++#define CONFIG_VB_DECODER 0 ++#define CONFIG_VBLE_DECODER 0 ++#define CONFIG_VC1_DECODER 0 ++#define CONFIG_VC1_CRYSTALHD_DECODER 0 ++#define CONFIG_VC1IMAGE_DECODER 0 ++#define CONFIG_VC1_MMAL_DECODER 0 ++#define CONFIG_VC1_QSV_DECODER 0 ++#define CONFIG_VC1_V4L2M2M_DECODER 0 ++#define CONFIG_VCR1_DECODER 0 ++#define CONFIG_VMDVIDEO_DECODER 0 ++#define CONFIG_VMNC_DECODER 0 ++#define CONFIG_VP3_DECODER 1 ++#define CONFIG_VP4_DECODER 0 ++#define CONFIG_VP5_DECODER 0 ++#define CONFIG_VP6_DECODER 0 ++#define CONFIG_VP6A_DECODER 0 ++#define CONFIG_VP6F_DECODER 0 ++#define CONFIG_VP7_DECODER 0 ++#define CONFIG_VP8_DECODER 1 ++#define CONFIG_VP8_RKMPP_DECODER 0 ++#define CONFIG_VP8_V4L2M2M_DECODER 0 ++#define CONFIG_VP9_DECODER 0 ++#define CONFIG_VP9_RKMPP_DECODER 0 ++#define CONFIG_VP9_V4L2M2M_DECODER 0 ++#define CONFIG_VQA_DECODER 0 ++#define CONFIG_WEBP_DECODER 0 ++#define CONFIG_WCMV_DECODER 0 ++#define CONFIG_WRAPPED_AVFRAME_DECODER 0 ++#define CONFIG_WMV1_DECODER 0 ++#define CONFIG_WMV2_DECODER 0 ++#define CONFIG_WMV3_DECODER 0 ++#define CONFIG_WMV3_CRYSTALHD_DECODER 0 ++#define CONFIG_WMV3IMAGE_DECODER 0 ++#define CONFIG_WNV1_DECODER 0 ++#define CONFIG_XAN_WC3_DECODER 0 ++#define CONFIG_XAN_WC4_DECODER 0 ++#define CONFIG_XBM_DECODER 0 ++#define CONFIG_XFACE_DECODER 0 ++#define CONFIG_XL_DECODER 0 ++#define CONFIG_XPM_DECODER 0 ++#define CONFIG_XWD_DECODER 0 ++#define CONFIG_Y41P_DECODER 0 ++#define CONFIG_YLC_DECODER 0 ++#define CONFIG_YOP_DECODER 0 ++#define CONFIG_YUV4_DECODER 0 ++#define CONFIG_ZERO12V_DECODER 0 ++#define CONFIG_ZEROCODEC_DECODER 0 ++#define CONFIG_ZLIB_DECODER 0 ++#define CONFIG_ZMBV_DECODER 0 ++#define CONFIG_AAC_DECODER 1 ++#define CONFIG_AAC_FIXED_DECODER 0 ++#define CONFIG_AAC_LATM_DECODER 0 ++#define CONFIG_AC3_DECODER 0 ++#define CONFIG_AC3_FIXED_DECODER 0 ++#define CONFIG_ACELP_KELVIN_DECODER 0 ++#define CONFIG_ALAC_DECODER 0 ++#define CONFIG_ALS_DECODER 0 ++#define CONFIG_AMRNB_DECODER 0 ++#define CONFIG_AMRWB_DECODER 0 ++#define CONFIG_APE_DECODER 0 ++#define CONFIG_APTX_DECODER 0 ++#define CONFIG_APTX_HD_DECODER 0 ++#define CONFIG_ATRAC1_DECODER 0 ++#define CONFIG_ATRAC3_DECODER 0 ++#define CONFIG_ATRAC3AL_DECODER 0 ++#define CONFIG_ATRAC3P_DECODER 0 ++#define CONFIG_ATRAC3PAL_DECODER 0 ++#define CONFIG_ATRAC9_DECODER 0 ++#define CONFIG_BINKAUDIO_DCT_DECODER 0 ++#define CONFIG_BINKAUDIO_RDFT_DECODER 0 ++#define CONFIG_BMV_AUDIO_DECODER 0 ++#define CONFIG_COOK_DECODER 0 ++#define CONFIG_DCA_DECODER 0 ++#define CONFIG_DFPWM_DECODER 0 ++#define CONFIG_DOLBY_E_DECODER 0 ++#define CONFIG_DSD_LSBF_DECODER 0 ++#define CONFIG_DSD_MSBF_DECODER 0 ++#define CONFIG_DSD_LSBF_PLANAR_DECODER 0 ++#define CONFIG_DSD_MSBF_PLANAR_DECODER 0 ++#define CONFIG_DSICINAUDIO_DECODER 0 ++#define CONFIG_DSS_SP_DECODER 0 ++#define CONFIG_DST_DECODER 0 ++#define CONFIG_EAC3_DECODER 0 ++#define CONFIG_EVRC_DECODER 0 ++#define CONFIG_FASTAUDIO_DECODER 0 ++#define CONFIG_FFWAVESYNTH_DECODER 0 ++#define CONFIG_FLAC_DECODER 1 ++#define CONFIG_G723_1_DECODER 0 ++#define CONFIG_G729_DECODER 0 ++#define CONFIG_GSM_DECODER 0 ++#define CONFIG_GSM_MS_DECODER 0 ++#define CONFIG_HCA_DECODER 0 ++#define CONFIG_HCOM_DECODER 0 ++#define CONFIG_IAC_DECODER 0 ++#define CONFIG_ILBC_DECODER 0 ++#define CONFIG_IMC_DECODER 0 ++#define CONFIG_INTERPLAY_ACM_DECODER 0 ++#define CONFIG_MACE3_DECODER 0 ++#define CONFIG_MACE6_DECODER 0 ++#define CONFIG_METASOUND_DECODER 0 ++#define CONFIG_MLP_DECODER 0 ++#define CONFIG_MP1_DECODER 0 ++#define CONFIG_MP1FLOAT_DECODER 0 ++#define CONFIG_MP2_DECODER 0 ++#define CONFIG_MP2FLOAT_DECODER 0 ++#define CONFIG_MP3FLOAT_DECODER 0 ++#define CONFIG_MP3_DECODER 1 ++#define CONFIG_MP3ADUFLOAT_DECODER 0 ++#define CONFIG_MP3ADU_DECODER 0 ++#define CONFIG_MP3ON4FLOAT_DECODER 0 ++#define CONFIG_MP3ON4_DECODER 0 ++#define CONFIG_MPC7_DECODER 0 ++#define CONFIG_MPC8_DECODER 0 ++#define CONFIG_MSNSIREN_DECODER 0 ++#define CONFIG_NELLYMOSER_DECODER 0 ++#define CONFIG_ON2AVC_DECODER 0 ++#define CONFIG_OPUS_DECODER 0 ++#define CONFIG_PAF_AUDIO_DECODER 0 ++#define CONFIG_QCELP_DECODER 0 ++#define CONFIG_QDM2_DECODER 0 ++#define CONFIG_QDMC_DECODER 0 ++#define CONFIG_RA_144_DECODER 0 ++#define CONFIG_RA_288_DECODER 0 ++#define CONFIG_RALF_DECODER 0 ++#define CONFIG_SBC_DECODER 0 ++#define CONFIG_SHORTEN_DECODER 0 ++#define CONFIG_SIPR_DECODER 0 ++#define CONFIG_SIREN_DECODER 0 ++#define CONFIG_SMACKAUD_DECODER 0 ++#define CONFIG_SONIC_DECODER 0 ++#define CONFIG_TAK_DECODER 0 ++#define CONFIG_TRUEHD_DECODER 0 ++#define CONFIG_TRUESPEECH_DECODER 0 ++#define CONFIG_TTA_DECODER 0 ++#define CONFIG_TWINVQ_DECODER 0 ++#define CONFIG_VMDAUDIO_DECODER 0 ++#define CONFIG_VORBIS_DECODER 1 ++#define CONFIG_WAVPACK_DECODER 0 ++#define CONFIG_WMALOSSLESS_DECODER 0 ++#define CONFIG_WMAPRO_DECODER 0 ++#define CONFIG_WMAV1_DECODER 0 ++#define CONFIG_WMAV2_DECODER 0 ++#define CONFIG_WMAVOICE_DECODER 0 ++#define CONFIG_WS_SND1_DECODER 0 ++#define CONFIG_XMA1_DECODER 0 ++#define CONFIG_XMA2_DECODER 0 ++#define CONFIG_PCM_ALAW_DECODER 1 ++#define CONFIG_PCM_BLURAY_DECODER 0 ++#define CONFIG_PCM_DVD_DECODER 0 ++#define CONFIG_PCM_F16LE_DECODER 0 ++#define CONFIG_PCM_F24LE_DECODER 0 ++#define CONFIG_PCM_F32BE_DECODER 0 ++#define CONFIG_PCM_F32LE_DECODER 1 ++#define CONFIG_PCM_F64BE_DECODER 0 ++#define CONFIG_PCM_F64LE_DECODER 0 ++#define CONFIG_PCM_LXF_DECODER 0 ++#define CONFIG_PCM_MULAW_DECODER 1 ++#define CONFIG_PCM_S8_DECODER 0 ++#define CONFIG_PCM_S8_PLANAR_DECODER 0 ++#define CONFIG_PCM_S16BE_DECODER 1 ++#define CONFIG_PCM_S16BE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S16LE_DECODER 1 ++#define CONFIG_PCM_S16LE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S24BE_DECODER 1 ++#define CONFIG_PCM_S24DAUD_DECODER 0 ++#define CONFIG_PCM_S24LE_DECODER 1 ++#define CONFIG_PCM_S24LE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S32BE_DECODER 0 ++#define CONFIG_PCM_S32LE_DECODER 1 ++#define CONFIG_PCM_S32LE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S64BE_DECODER 0 ++#define CONFIG_PCM_S64LE_DECODER 0 ++#define CONFIG_PCM_SGA_DECODER 0 ++#define CONFIG_PCM_U8_DECODER 1 ++#define CONFIG_PCM_U16BE_DECODER 0 ++#define CONFIG_PCM_U16LE_DECODER 0 ++#define CONFIG_PCM_U24BE_DECODER 0 ++#define CONFIG_PCM_U24LE_DECODER 0 ++#define CONFIG_PCM_U32BE_DECODER 0 ++#define CONFIG_PCM_U32LE_DECODER 0 ++#define CONFIG_PCM_VIDC_DECODER 0 ++#define CONFIG_DERF_DPCM_DECODER 0 ++#define CONFIG_GREMLIN_DPCM_DECODER 0 ++#define CONFIG_INTERPLAY_DPCM_DECODER 0 ++#define CONFIG_ROQ_DPCM_DECODER 0 ++#define CONFIG_SDX2_DPCM_DECODER 0 ++#define CONFIG_SOL_DPCM_DECODER 0 ++#define CONFIG_XAN_DPCM_DECODER 0 ++#define CONFIG_ADPCM_4XM_DECODER 0 ++#define CONFIG_ADPCM_ADX_DECODER 0 ++#define CONFIG_ADPCM_AFC_DECODER 0 ++#define CONFIG_ADPCM_AGM_DECODER 0 ++#define CONFIG_ADPCM_AICA_DECODER 0 ++#define CONFIG_ADPCM_ARGO_DECODER 0 ++#define CONFIG_ADPCM_CT_DECODER 0 ++#define CONFIG_ADPCM_DTK_DECODER 0 ++#define CONFIG_ADPCM_EA_DECODER 0 ++#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 0 ++#define CONFIG_ADPCM_EA_R1_DECODER 0 ++#define CONFIG_ADPCM_EA_R2_DECODER 0 ++#define CONFIG_ADPCM_EA_R3_DECODER 0 ++#define CONFIG_ADPCM_EA_XAS_DECODER 0 ++#define CONFIG_ADPCM_G722_DECODER 0 ++#define CONFIG_ADPCM_G726_DECODER 0 ++#define CONFIG_ADPCM_G726LE_DECODER 0 ++#define CONFIG_ADPCM_IMA_ACORN_DECODER 0 ++#define CONFIG_ADPCM_IMA_AMV_DECODER 0 ++#define CONFIG_ADPCM_IMA_ALP_DECODER 0 ++#define CONFIG_ADPCM_IMA_APC_DECODER 0 ++#define CONFIG_ADPCM_IMA_APM_DECODER 0 ++#define CONFIG_ADPCM_IMA_CUNNING_DECODER 0 ++#define CONFIG_ADPCM_IMA_DAT4_DECODER 0 ++#define CONFIG_ADPCM_IMA_DK3_DECODER 0 ++#define CONFIG_ADPCM_IMA_DK4_DECODER 0 ++#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0 ++#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 0 ++#define CONFIG_ADPCM_IMA_ISS_DECODER 0 ++#define CONFIG_ADPCM_IMA_MOFLEX_DECODER 0 ++#define CONFIG_ADPCM_IMA_MTF_DECODER 0 ++#define CONFIG_ADPCM_IMA_OKI_DECODER 0 ++#define CONFIG_ADPCM_IMA_QT_DECODER 0 ++#define CONFIG_ADPCM_IMA_RAD_DECODER 0 ++#define CONFIG_ADPCM_IMA_SSI_DECODER 0 ++#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 0 ++#define CONFIG_ADPCM_IMA_WAV_DECODER 0 ++#define CONFIG_ADPCM_IMA_WS_DECODER 0 ++#define CONFIG_ADPCM_MS_DECODER 0 ++#define CONFIG_ADPCM_MTAF_DECODER 0 ++#define CONFIG_ADPCM_PSX_DECODER 0 ++#define CONFIG_ADPCM_SBPRO_2_DECODER 0 ++#define CONFIG_ADPCM_SBPRO_3_DECODER 0 ++#define CONFIG_ADPCM_SBPRO_4_DECODER 0 ++#define CONFIG_ADPCM_SWF_DECODER 0 ++#define CONFIG_ADPCM_THP_DECODER 0 ++#define CONFIG_ADPCM_THP_LE_DECODER 0 ++#define CONFIG_ADPCM_VIMA_DECODER 0 ++#define CONFIG_ADPCM_XA_DECODER 0 ++#define CONFIG_ADPCM_YAMAHA_DECODER 0 ++#define CONFIG_ADPCM_ZORK_DECODER 0 ++#define CONFIG_SSA_DECODER 0 ++#define CONFIG_ASS_DECODER 0 ++#define CONFIG_CCAPTION_DECODER 0 ++#define CONFIG_DVBSUB_DECODER 0 ++#define CONFIG_DVDSUB_DECODER 0 ++#define CONFIG_JACOSUB_DECODER 0 ++#define CONFIG_MICRODVD_DECODER 0 ++#define CONFIG_MOVTEXT_DECODER 0 ++#define CONFIG_MPL2_DECODER 0 ++#define CONFIG_PGSSUB_DECODER 0 ++#define CONFIG_PJS_DECODER 0 ++#define CONFIG_REALTEXT_DECODER 0 ++#define CONFIG_SAMI_DECODER 0 ++#define CONFIG_SRT_DECODER 0 ++#define CONFIG_STL_DECODER 0 ++#define CONFIG_SUBRIP_DECODER 0 ++#define CONFIG_SUBVIEWER_DECODER 0 ++#define CONFIG_SUBVIEWER1_DECODER 0 ++#define CONFIG_TEXT_DECODER 0 ++#define CONFIG_VPLAYER_DECODER 0 ++#define CONFIG_WEBVTT_DECODER 0 ++#define CONFIG_XSUB_DECODER 0 ++#define CONFIG_AAC_AT_DECODER 0 ++#define CONFIG_AC3_AT_DECODER 0 ++#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0 ++#define CONFIG_ALAC_AT_DECODER 0 ++#define CONFIG_AMR_NB_AT_DECODER 0 ++#define CONFIG_EAC3_AT_DECODER 0 ++#define CONFIG_GSM_MS_AT_DECODER 0 ++#define CONFIG_ILBC_AT_DECODER 0 ++#define CONFIG_MP1_AT_DECODER 0 ++#define CONFIG_MP2_AT_DECODER 0 ++#define CONFIG_MP3_AT_DECODER 0 ++#define CONFIG_PCM_ALAW_AT_DECODER 0 ++#define CONFIG_PCM_MULAW_AT_DECODER 0 ++#define CONFIG_QDMC_AT_DECODER 0 ++#define CONFIG_QDM2_AT_DECODER 0 ++#define CONFIG_LIBARIBB24_DECODER 0 ++#define CONFIG_LIBCELT_DECODER 0 ++#define CONFIG_LIBCODEC2_DECODER 0 ++#define CONFIG_LIBDAV1D_DECODER 0 ++#define CONFIG_LIBDAVS2_DECODER 0 ++#define CONFIG_LIBFDK_AAC_DECODER 0 ++#define CONFIG_LIBGSM_DECODER 0 ++#define CONFIG_LIBGSM_MS_DECODER 0 ++#define CONFIG_LIBILBC_DECODER 0 ++#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0 ++#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0 ++#define CONFIG_LIBOPENJPEG_DECODER 0 ++#define CONFIG_LIBOPUS_DECODER 1 ++#define CONFIG_LIBRSVG_DECODER 0 ++#define CONFIG_LIBSPEEX_DECODER 0 ++#define CONFIG_LIBUAVS3D_DECODER 0 ++#define CONFIG_LIBVORBIS_DECODER 0 ++#define CONFIG_LIBVPX_VP8_DECODER 0 ++#define CONFIG_LIBVPX_VP9_DECODER 0 ++#define CONFIG_LIBZVBI_TELETEXT_DECODER 0 ++#define CONFIG_BINTEXT_DECODER 0 ++#define CONFIG_XBIN_DECODER 0 ++#define CONFIG_IDF_DECODER 0 ++#define CONFIG_LIBAOM_AV1_DECODER 0 ++#define CONFIG_AV1_DECODER 0 ++#define CONFIG_AV1_CUVID_DECODER 0 ++#define CONFIG_AV1_QSV_DECODER 0 ++#define CONFIG_LIBOPENH264_DECODER 0 ++#define CONFIG_H264_CUVID_DECODER 0 ++#define CONFIG_HEVC_CUVID_DECODER 0 ++#define CONFIG_HEVC_MEDIACODEC_DECODER 0 ++#define CONFIG_MJPEG_CUVID_DECODER 0 ++#define CONFIG_MJPEG_QSV_DECODER 0 ++#define CONFIG_MPEG1_CUVID_DECODER 0 ++#define CONFIG_MPEG2_CUVID_DECODER 0 ++#define CONFIG_MPEG4_CUVID_DECODER 0 ++#define CONFIG_MPEG4_MEDIACODEC_DECODER 0 ++#define CONFIG_VC1_CUVID_DECODER 0 ++#define CONFIG_VP8_CUVID_DECODER 0 ++#define CONFIG_VP8_MEDIACODEC_DECODER 0 ++#define CONFIG_VP8_QSV_DECODER 0 ++#define CONFIG_VP9_CUVID_DECODER 0 ++#define CONFIG_VP9_MEDIACODEC_DECODER 0 ++#define CONFIG_VP9_QSV_DECODER 0 ++#define CONFIG_A64MULTI_ENCODER 0 ++#define CONFIG_A64MULTI5_ENCODER 0 ++#define CONFIG_ALIAS_PIX_ENCODER 0 ++#define CONFIG_AMV_ENCODER 0 ++#define CONFIG_APNG_ENCODER 0 ++#define CONFIG_ASV1_ENCODER 0 ++#define CONFIG_ASV2_ENCODER 0 ++#define CONFIG_AVRP_ENCODER 0 ++#define CONFIG_AVUI_ENCODER 0 ++#define CONFIG_AYUV_ENCODER 0 ++#define CONFIG_BITPACKED_ENCODER 0 ++#define CONFIG_BMP_ENCODER 0 ++#define CONFIG_CFHD_ENCODER 0 ++#define CONFIG_CINEPAK_ENCODER 0 ++#define CONFIG_CLJR_ENCODER 0 ++#define CONFIG_COMFORTNOISE_ENCODER 0 ++#define CONFIG_DNXHD_ENCODER 0 ++#define CONFIG_DPX_ENCODER 0 ++#define CONFIG_DVVIDEO_ENCODER 0 ++#define CONFIG_EXR_ENCODER 0 ++#define CONFIG_FFV1_ENCODER 0 ++#define CONFIG_FFVHUFF_ENCODER 0 ++#define CONFIG_FITS_ENCODER 0 ++#define CONFIG_FLASHSV_ENCODER 0 ++#define CONFIG_FLASHSV2_ENCODER 0 ++#define CONFIG_FLV_ENCODER 0 ++#define CONFIG_GIF_ENCODER 0 ++#define CONFIG_H261_ENCODER 0 ++#define CONFIG_H263_ENCODER 0 ++#define CONFIG_H263P_ENCODER 0 ++#define CONFIG_HAP_ENCODER 0 ++#define CONFIG_HUFFYUV_ENCODER 0 ++#define CONFIG_JPEG2000_ENCODER 0 ++#define CONFIG_JPEGLS_ENCODER 0 ++#define CONFIG_LJPEG_ENCODER 0 ++#define CONFIG_MAGICYUV_ENCODER 0 ++#define CONFIG_MJPEG_ENCODER 0 ++#define CONFIG_MPEG1VIDEO_ENCODER 0 ++#define CONFIG_MPEG2VIDEO_ENCODER 0 ++#define CONFIG_MPEG4_ENCODER 0 ++#define CONFIG_MSMPEG4V2_ENCODER 0 ++#define CONFIG_MSMPEG4V3_ENCODER 0 ++#define CONFIG_MSVIDEO1_ENCODER 0 ++#define CONFIG_PAM_ENCODER 0 ++#define CONFIG_PBM_ENCODER 0 ++#define CONFIG_PCX_ENCODER 0 ++#define CONFIG_PFM_ENCODER 0 ++#define CONFIG_PGM_ENCODER 0 ++#define CONFIG_PGMYUV_ENCODER 0 ++#define CONFIG_PNG_ENCODER 0 ++#define CONFIG_PPM_ENCODER 0 ++#define CONFIG_PRORES_ENCODER 0 ++#define CONFIG_PRORES_AW_ENCODER 0 ++#define CONFIG_PRORES_KS_ENCODER 0 ++#define CONFIG_QTRLE_ENCODER 0 ++#define CONFIG_R10K_ENCODER 0 ++#define CONFIG_R210_ENCODER 0 ++#define CONFIG_RAWVIDEO_ENCODER 0 ++#define CONFIG_ROQ_ENCODER 0 ++#define CONFIG_RPZA_ENCODER 0 ++#define CONFIG_RV10_ENCODER 0 ++#define CONFIG_RV20_ENCODER 0 ++#define CONFIG_S302M_ENCODER 0 ++#define CONFIG_SGI_ENCODER 0 ++#define CONFIG_SMC_ENCODER 0 ++#define CONFIG_SNOW_ENCODER 0 ++#define CONFIG_SPEEDHQ_ENCODER 0 ++#define CONFIG_SUNRAST_ENCODER 0 ++#define CONFIG_SVQ1_ENCODER 0 ++#define CONFIG_TARGA_ENCODER 0 ++#define CONFIG_TIFF_ENCODER 0 ++#define CONFIG_UTVIDEO_ENCODER 0 ++#define CONFIG_V210_ENCODER 0 ++#define CONFIG_V308_ENCODER 0 ++#define CONFIG_V408_ENCODER 0 ++#define CONFIG_V410_ENCODER 0 ++#define CONFIG_VC2_ENCODER 0 ++#define CONFIG_WRAPPED_AVFRAME_ENCODER 0 ++#define CONFIG_WMV1_ENCODER 0 ++#define CONFIG_WMV2_ENCODER 0 ++#define CONFIG_XBM_ENCODER 0 ++#define CONFIG_XFACE_ENCODER 0 ++#define CONFIG_XWD_ENCODER 0 ++#define CONFIG_Y41P_ENCODER 0 ++#define CONFIG_YUV4_ENCODER 0 ++#define CONFIG_ZLIB_ENCODER 0 ++#define CONFIG_ZMBV_ENCODER 0 ++#define CONFIG_AAC_ENCODER 0 ++#define CONFIG_AC3_ENCODER 0 ++#define CONFIG_AC3_FIXED_ENCODER 0 ++#define CONFIG_ALAC_ENCODER 0 ++#define CONFIG_APTX_ENCODER 0 ++#define CONFIG_APTX_HD_ENCODER 0 ++#define CONFIG_DCA_ENCODER 0 ++#define CONFIG_DFPWM_ENCODER 0 ++#define CONFIG_EAC3_ENCODER 0 ++#define CONFIG_FLAC_ENCODER 0 ++#define CONFIG_G723_1_ENCODER 0 ++#define CONFIG_MLP_ENCODER 0 ++#define CONFIG_MP2_ENCODER 0 ++#define CONFIG_MP2FIXED_ENCODER 0 ++#define CONFIG_NELLYMOSER_ENCODER 0 ++#define CONFIG_OPUS_ENCODER 0 ++#define CONFIG_RA_144_ENCODER 0 ++#define CONFIG_SBC_ENCODER 0 ++#define CONFIG_SONIC_ENCODER 0 ++#define CONFIG_SONIC_LS_ENCODER 0 ++#define CONFIG_TRUEHD_ENCODER 0 ++#define CONFIG_TTA_ENCODER 0 ++#define CONFIG_VORBIS_ENCODER 0 ++#define CONFIG_WAVPACK_ENCODER 0 ++#define CONFIG_WMAV1_ENCODER 0 ++#define CONFIG_WMAV2_ENCODER 0 ++#define CONFIG_PCM_ALAW_ENCODER 0 ++#define CONFIG_PCM_BLURAY_ENCODER 0 ++#define CONFIG_PCM_DVD_ENCODER 0 ++#define CONFIG_PCM_F32BE_ENCODER 0 ++#define CONFIG_PCM_F32LE_ENCODER 0 ++#define CONFIG_PCM_F64BE_ENCODER 0 ++#define CONFIG_PCM_F64LE_ENCODER 0 ++#define CONFIG_PCM_MULAW_ENCODER 0 ++#define CONFIG_PCM_S8_ENCODER 0 ++#define CONFIG_PCM_S8_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S16BE_ENCODER 0 ++#define CONFIG_PCM_S16BE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S16LE_ENCODER 0 ++#define CONFIG_PCM_S16LE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S24BE_ENCODER 0 ++#define CONFIG_PCM_S24DAUD_ENCODER 0 ++#define CONFIG_PCM_S24LE_ENCODER 0 ++#define CONFIG_PCM_S24LE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S32BE_ENCODER 0 ++#define CONFIG_PCM_S32LE_ENCODER 0 ++#define CONFIG_PCM_S32LE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S64BE_ENCODER 0 ++#define CONFIG_PCM_S64LE_ENCODER 0 ++#define CONFIG_PCM_U8_ENCODER 0 ++#define CONFIG_PCM_U16BE_ENCODER 0 ++#define CONFIG_PCM_U16LE_ENCODER 0 ++#define CONFIG_PCM_U24BE_ENCODER 0 ++#define CONFIG_PCM_U24LE_ENCODER 0 ++#define CONFIG_PCM_U32BE_ENCODER 0 ++#define CONFIG_PCM_U32LE_ENCODER 0 ++#define CONFIG_PCM_VIDC_ENCODER 0 ++#define CONFIG_ROQ_DPCM_ENCODER 0 ++#define CONFIG_ADPCM_ADX_ENCODER 0 ++#define CONFIG_ADPCM_ARGO_ENCODER 0 ++#define CONFIG_ADPCM_G722_ENCODER 0 ++#define CONFIG_ADPCM_G726_ENCODER 0 ++#define CONFIG_ADPCM_G726LE_ENCODER 0 ++#define CONFIG_ADPCM_IMA_AMV_ENCODER 0 ++#define CONFIG_ADPCM_IMA_ALP_ENCODER 0 ++#define CONFIG_ADPCM_IMA_APM_ENCODER 0 ++#define CONFIG_ADPCM_IMA_QT_ENCODER 0 ++#define CONFIG_ADPCM_IMA_SSI_ENCODER 0 ++#define CONFIG_ADPCM_IMA_WAV_ENCODER 0 ++#define CONFIG_ADPCM_IMA_WS_ENCODER 0 ++#define CONFIG_ADPCM_MS_ENCODER 0 ++#define CONFIG_ADPCM_SWF_ENCODER 0 ++#define CONFIG_ADPCM_YAMAHA_ENCODER 0 ++#define CONFIG_SSA_ENCODER 0 ++#define CONFIG_ASS_ENCODER 0 ++#define CONFIG_DVBSUB_ENCODER 0 ++#define CONFIG_DVDSUB_ENCODER 0 ++#define CONFIG_MOVTEXT_ENCODER 0 ++#define CONFIG_SRT_ENCODER 0 ++#define CONFIG_SUBRIP_ENCODER 0 ++#define CONFIG_TEXT_ENCODER 0 ++#define CONFIG_TTML_ENCODER 0 ++#define CONFIG_WEBVTT_ENCODER 0 ++#define CONFIG_XSUB_ENCODER 0 ++#define CONFIG_AAC_AT_ENCODER 0 ++#define CONFIG_ALAC_AT_ENCODER 0 ++#define CONFIG_ILBC_AT_ENCODER 0 ++#define CONFIG_PCM_ALAW_AT_ENCODER 0 ++#define CONFIG_PCM_MULAW_AT_ENCODER 0 ++#define CONFIG_LIBAOM_AV1_ENCODER 0 ++#define CONFIG_LIBCODEC2_ENCODER 0 ++#define CONFIG_LIBFDK_AAC_ENCODER 0 ++#define CONFIG_LIBGSM_ENCODER 0 ++#define CONFIG_LIBGSM_MS_ENCODER 0 ++#define CONFIG_LIBILBC_ENCODER 0 ++#define CONFIG_LIBMP3LAME_ENCODER 0 ++#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0 ++#define CONFIG_LIBOPENJPEG_ENCODER 0 ++#define CONFIG_LIBOPUS_ENCODER 0 ++#define CONFIG_LIBRAV1E_ENCODER 0 ++#define CONFIG_LIBSHINE_ENCODER 0 ++#define CONFIG_LIBSPEEX_ENCODER 0 ++#define CONFIG_LIBSVTAV1_ENCODER 0 ++#define CONFIG_LIBTHEORA_ENCODER 0 ++#define CONFIG_LIBTWOLAME_ENCODER 0 ++#define CONFIG_LIBVO_AMRWBENC_ENCODER 0 ++#define CONFIG_LIBVORBIS_ENCODER 0 ++#define CONFIG_LIBVPX_VP8_ENCODER 0 ++#define CONFIG_LIBVPX_VP9_ENCODER 0 ++#define CONFIG_LIBWEBP_ANIM_ENCODER 0 ++#define CONFIG_LIBWEBP_ENCODER 0 ++#define CONFIG_LIBX262_ENCODER 0 ++#define CONFIG_LIBX264_ENCODER 0 ++#define CONFIG_LIBX264RGB_ENCODER 0 ++#define CONFIG_LIBX265_ENCODER 0 ++#define CONFIG_LIBXAVS_ENCODER 0 ++#define CONFIG_LIBXAVS2_ENCODER 0 ++#define CONFIG_LIBXVID_ENCODER 0 ++#define CONFIG_AAC_MF_ENCODER 0 ++#define CONFIG_AC3_MF_ENCODER 0 ++#define CONFIG_H263_V4L2M2M_ENCODER 0 ++#define CONFIG_LIBOPENH264_ENCODER 0 ++#define CONFIG_H264_AMF_ENCODER 0 ++#define CONFIG_H264_MF_ENCODER 0 ++#define CONFIG_H264_NVENC_ENCODER 0 ++#define CONFIG_H264_OMX_ENCODER 0 ++#define CONFIG_H264_QSV_ENCODER 0 ++#define CONFIG_H264_V4L2M2M_ENCODER 0 ++#define CONFIG_H264_VAAPI_ENCODER 0 ++#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0 ++#define CONFIG_HEVC_AMF_ENCODER 0 ++#define CONFIG_HEVC_MF_ENCODER 0 ++#define CONFIG_HEVC_NVENC_ENCODER 0 ++#define CONFIG_HEVC_QSV_ENCODER 0 ++#define CONFIG_HEVC_V4L2M2M_ENCODER 0 ++#define CONFIG_HEVC_VAAPI_ENCODER 0 ++#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0 ++#define CONFIG_LIBKVAZAAR_ENCODER 0 ++#define CONFIG_MJPEG_QSV_ENCODER 0 ++#define CONFIG_MJPEG_VAAPI_ENCODER 0 ++#define CONFIG_MP3_MF_ENCODER 0 ++#define CONFIG_MPEG2_QSV_ENCODER 0 ++#define CONFIG_MPEG2_VAAPI_ENCODER 0 ++#define CONFIG_MPEG4_OMX_ENCODER 0 ++#define CONFIG_MPEG4_V4L2M2M_ENCODER 0 ++#define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0 ++#define CONFIG_VP8_V4L2M2M_ENCODER 0 ++#define CONFIG_VP8_VAAPI_ENCODER 0 ++#define CONFIG_VP9_VAAPI_ENCODER 0 ++#define CONFIG_VP9_QSV_ENCODER 0 ++#define CONFIG_AV1_D3D11VA_HWACCEL 0 ++#define CONFIG_AV1_D3D11VA2_HWACCEL 0 ++#define CONFIG_AV1_DXVA2_HWACCEL 0 ++#define CONFIG_AV1_NVDEC_HWACCEL 0 ++#define CONFIG_AV1_VAAPI_HWACCEL 0 ++#define CONFIG_H263_VAAPI_HWACCEL 0 ++#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_H264_D3D11VA_HWACCEL 0 ++#define CONFIG_H264_D3D11VA2_HWACCEL 0 ++#define CONFIG_H264_DXVA2_HWACCEL 0 ++#define CONFIG_H264_NVDEC_HWACCEL 0 ++#define CONFIG_H264_VAAPI_HWACCEL 0 ++#define CONFIG_H264_VDPAU_HWACCEL 0 ++#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_HEVC_D3D11VA_HWACCEL 0 ++#define CONFIG_HEVC_D3D11VA2_HWACCEL 0 ++#define CONFIG_HEVC_DXVA2_HWACCEL 0 ++#define CONFIG_HEVC_NVDEC_HWACCEL 0 ++#define CONFIG_HEVC_VAAPI_HWACCEL 0 ++#define CONFIG_HEVC_VDPAU_HWACCEL 0 ++#define CONFIG_HEVC_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_MJPEG_NVDEC_HWACCEL 0 ++#define CONFIG_MJPEG_VAAPI_HWACCEL 0 ++#define CONFIG_MPEG1_NVDEC_HWACCEL 0 ++#define CONFIG_MPEG1_VDPAU_HWACCEL 0 ++#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_MPEG2_D3D11VA_HWACCEL 0 ++#define CONFIG_MPEG2_D3D11VA2_HWACCEL 0 ++#define CONFIG_MPEG2_NVDEC_HWACCEL 0 ++#define CONFIG_MPEG2_DXVA2_HWACCEL 0 ++#define CONFIG_MPEG2_VAAPI_HWACCEL 0 ++#define CONFIG_MPEG2_VDPAU_HWACCEL 0 ++#define CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_MPEG4_NVDEC_HWACCEL 0 ++#define CONFIG_MPEG4_VAAPI_HWACCEL 0 ++#define CONFIG_MPEG4_VDPAU_HWACCEL 0 ++#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_VC1_D3D11VA_HWACCEL 0 ++#define CONFIG_VC1_D3D11VA2_HWACCEL 0 ++#define CONFIG_VC1_DXVA2_HWACCEL 0 ++#define CONFIG_VC1_NVDEC_HWACCEL 0 ++#define CONFIG_VC1_VAAPI_HWACCEL 0 ++#define CONFIG_VC1_VDPAU_HWACCEL 0 ++#define CONFIG_VP8_NVDEC_HWACCEL 0 ++#define CONFIG_VP8_VAAPI_HWACCEL 0 ++#define CONFIG_VP9_D3D11VA_HWACCEL 0 ++#define CONFIG_VP9_D3D11VA2_HWACCEL 0 ++#define CONFIG_VP9_DXVA2_HWACCEL 0 ++#define CONFIG_VP9_NVDEC_HWACCEL 0 ++#define CONFIG_VP9_VAAPI_HWACCEL 0 ++#define CONFIG_VP9_VDPAU_HWACCEL 0 ++#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_WMV3_D3D11VA_HWACCEL 0 ++#define CONFIG_WMV3_D3D11VA2_HWACCEL 0 ++#define CONFIG_WMV3_DXVA2_HWACCEL 0 ++#define CONFIG_WMV3_NVDEC_HWACCEL 0 ++#define CONFIG_WMV3_VAAPI_HWACCEL 0 ++#define CONFIG_WMV3_VDPAU_HWACCEL 0 ++#define CONFIG_AAC_PARSER 1 ++#define CONFIG_AAC_LATM_PARSER 0 ++#define CONFIG_AC3_PARSER 0 ++#define CONFIG_ADX_PARSER 0 ++#define CONFIG_AMR_PARSER 0 ++#define CONFIG_AV1_PARSER 0 ++#define CONFIG_AVS2_PARSER 0 ++#define CONFIG_AVS3_PARSER 0 ++#define CONFIG_BMP_PARSER 0 ++#define CONFIG_CAVSVIDEO_PARSER 0 ++#define CONFIG_COOK_PARSER 0 ++#define CONFIG_CRI_PARSER 0 ++#define CONFIG_DCA_PARSER 0 ++#define CONFIG_DIRAC_PARSER 0 ++#define CONFIG_DNXHD_PARSER 0 ++#define CONFIG_DOLBY_E_PARSER 0 ++#define CONFIG_DPX_PARSER 0 ++#define CONFIG_DVAUDIO_PARSER 0 ++#define CONFIG_DVBSUB_PARSER 0 ++#define CONFIG_DVDSUB_PARSER 0 ++#define CONFIG_DVD_NAV_PARSER 0 ++#define CONFIG_FLAC_PARSER 1 ++#define CONFIG_G723_1_PARSER 0 ++#define CONFIG_G729_PARSER 0 ++#define CONFIG_GIF_PARSER 0 ++#define CONFIG_GSM_PARSER 0 ++#define CONFIG_H261_PARSER 0 ++#define CONFIG_H263_PARSER 0 ++#define CONFIG_H264_PARSER 1 ++#define CONFIG_HEVC_PARSER 0 ++#define CONFIG_IPU_PARSER 0 ++#define CONFIG_JPEG2000_PARSER 0 ++#define CONFIG_MJPEG_PARSER 0 ++#define CONFIG_MLP_PARSER 0 ++#define CONFIG_MPEG4VIDEO_PARSER 0 ++#define CONFIG_MPEGAUDIO_PARSER 1 ++#define CONFIG_MPEGVIDEO_PARSER 0 ++#define CONFIG_OPUS_PARSER 1 ++#define CONFIG_PNG_PARSER 0 ++#define CONFIG_PNM_PARSER 0 ++#define CONFIG_RV30_PARSER 0 ++#define CONFIG_RV40_PARSER 0 ++#define CONFIG_SBC_PARSER 0 ++#define CONFIG_SIPR_PARSER 0 ++#define CONFIG_TAK_PARSER 0 ++#define CONFIG_VC1_PARSER 0 ++#define CONFIG_VORBIS_PARSER 1 ++#define CONFIG_VP3_PARSER 1 ++#define CONFIG_VP8_PARSER 1 ++#define CONFIG_VP9_PARSER 1 ++#define CONFIG_WEBP_PARSER 0 ++#define CONFIG_XBM_PARSER 0 ++#define CONFIG_XMA_PARSER 0 ++#define CONFIG_ALSA_INDEV 0 ++#define CONFIG_ANDROID_CAMERA_INDEV 0 ++#define CONFIG_AVFOUNDATION_INDEV 0 ++#define CONFIG_BKTR_INDEV 0 ++#define CONFIG_DECKLINK_INDEV 0 ++#define CONFIG_DSHOW_INDEV 0 ++#define CONFIG_FBDEV_INDEV 0 ++#define CONFIG_GDIGRAB_INDEV 0 ++#define CONFIG_IEC61883_INDEV 0 ++#define CONFIG_JACK_INDEV 0 ++#define CONFIG_KMSGRAB_INDEV 0 ++#define CONFIG_LAVFI_INDEV 0 ++#define CONFIG_OPENAL_INDEV 0 ++#define CONFIG_OSS_INDEV 0 ++#define CONFIG_PULSE_INDEV 0 ++#define CONFIG_SNDIO_INDEV 0 ++#define CONFIG_V4L2_INDEV 0 ++#define CONFIG_VFWCAP_INDEV 0 ++#define CONFIG_XCBGRAB_INDEV 0 ++#define CONFIG_LIBCDIO_INDEV 0 ++#define CONFIG_LIBDC1394_INDEV 0 ++#define CONFIG_ALSA_OUTDEV 0 ++#define CONFIG_AUDIOTOOLBOX_OUTDEV 0 ++#define CONFIG_CACA_OUTDEV 0 ++#define CONFIG_DECKLINK_OUTDEV 0 ++#define CONFIG_FBDEV_OUTDEV 0 ++#define CONFIG_OPENGL_OUTDEV 0 ++#define CONFIG_OSS_OUTDEV 0 ++#define CONFIG_PULSE_OUTDEV 0 ++#define CONFIG_SDL2_OUTDEV 0 ++#define CONFIG_SNDIO_OUTDEV 0 ++#define CONFIG_V4L2_OUTDEV 0 ++#define CONFIG_XV_OUTDEV 0 ++#define CONFIG_ABENCH_FILTER 0 ++#define CONFIG_ACOMPRESSOR_FILTER 0 ++#define CONFIG_ACONTRAST_FILTER 0 ++#define CONFIG_ACOPY_FILTER 0 ++#define CONFIG_ACUE_FILTER 0 ++#define CONFIG_ACROSSFADE_FILTER 0 ++#define CONFIG_ACROSSOVER_FILTER 0 ++#define CONFIG_ACRUSHER_FILTER 0 ++#define CONFIG_ADECLICK_FILTER 0 ++#define CONFIG_ADECLIP_FILTER 0 ++#define CONFIG_ADECORRELATE_FILTER 0 ++#define CONFIG_ADELAY_FILTER 0 ++#define CONFIG_ADENORM_FILTER 0 ++#define CONFIG_ADERIVATIVE_FILTER 0 ++#define CONFIG_ADYNAMICEQUALIZER_FILTER 0 ++#define CONFIG_ADYNAMICSMOOTH_FILTER 0 ++#define CONFIG_AECHO_FILTER 0 ++#define CONFIG_AEMPHASIS_FILTER 0 ++#define CONFIG_AEVAL_FILTER 0 ++#define CONFIG_AEXCITER_FILTER 0 ++#define CONFIG_AFADE_FILTER 0 ++#define CONFIG_AFFTDN_FILTER 0 ++#define CONFIG_AFFTFILT_FILTER 0 ++#define CONFIG_AFIR_FILTER 0 ++#define CONFIG_AFORMAT_FILTER 0 ++#define CONFIG_AFREQSHIFT_FILTER 0 ++#define CONFIG_AFWTDN_FILTER 0 ++#define CONFIG_AGATE_FILTER 0 ++#define CONFIG_AIIR_FILTER 0 ++#define CONFIG_AINTEGRAL_FILTER 0 ++#define CONFIG_AINTERLEAVE_FILTER 0 ++#define CONFIG_ALATENCY_FILTER 0 ++#define CONFIG_ALIMITER_FILTER 0 ++#define CONFIG_ALLPASS_FILTER 0 ++#define CONFIG_ALOOP_FILTER 0 ++#define CONFIG_AMERGE_FILTER 0 ++#define CONFIG_AMETADATA_FILTER 0 ++#define CONFIG_AMIX_FILTER 0 ++#define CONFIG_AMULTIPLY_FILTER 0 ++#define CONFIG_ANEQUALIZER_FILTER 0 ++#define CONFIG_ANLMDN_FILTER 0 ++#define CONFIG_ANLMF_FILTER 0 ++#define CONFIG_ANLMS_FILTER 0 ++#define CONFIG_ANULL_FILTER 0 ++#define CONFIG_APAD_FILTER 0 ++#define CONFIG_APERMS_FILTER 0 ++#define CONFIG_APHASER_FILTER 0 ++#define CONFIG_APHASESHIFT_FILTER 0 ++#define CONFIG_APSYCLIP_FILTER 0 ++#define CONFIG_APULSATOR_FILTER 0 ++#define CONFIG_AREALTIME_FILTER 0 ++#define CONFIG_ARESAMPLE_FILTER 0 ++#define CONFIG_AREVERSE_FILTER 0 ++#define CONFIG_ARNNDN_FILTER 0 ++#define CONFIG_ASDR_FILTER 0 ++#define CONFIG_ASEGMENT_FILTER 0 ++#define CONFIG_ASELECT_FILTER 0 ++#define CONFIG_ASENDCMD_FILTER 0 ++#define CONFIG_ASETNSAMPLES_FILTER 0 ++#define CONFIG_ASETPTS_FILTER 0 ++#define CONFIG_ASETRATE_FILTER 0 ++#define CONFIG_ASETTB_FILTER 0 ++#define CONFIG_ASHOWINFO_FILTER 0 ++#define CONFIG_ASIDEDATA_FILTER 0 ++#define CONFIG_ASOFTCLIP_FILTER 0 ++#define CONFIG_ASPECTRALSTATS_FILTER 0 ++#define CONFIG_ASPLIT_FILTER 0 ++#define CONFIG_ASR_FILTER 0 ++#define CONFIG_ASTATS_FILTER 0 ++#define CONFIG_ASTREAMSELECT_FILTER 0 ++#define CONFIG_ASUBBOOST_FILTER 0 ++#define CONFIG_ASUBCUT_FILTER 0 ++#define CONFIG_ASUPERCUT_FILTER 0 ++#define CONFIG_ASUPERPASS_FILTER 0 ++#define CONFIG_ASUPERSTOP_FILTER 0 ++#define CONFIG_ATEMPO_FILTER 0 ++#define CONFIG_ATILT_FILTER 0 ++#define CONFIG_ATRIM_FILTER 0 ++#define CONFIG_AXCORRELATE_FILTER 0 ++#define CONFIG_AZMQ_FILTER 0 ++#define CONFIG_BANDPASS_FILTER 0 ++#define CONFIG_BANDREJECT_FILTER 0 ++#define CONFIG_BASS_FILTER 0 ++#define CONFIG_BIQUAD_FILTER 0 ++#define CONFIG_BS2B_FILTER 0 ++#define CONFIG_CHANNELMAP_FILTER 0 ++#define CONFIG_CHANNELSPLIT_FILTER 0 ++#define CONFIG_CHORUS_FILTER 0 ++#define CONFIG_COMPAND_FILTER 0 ++#define CONFIG_COMPENSATIONDELAY_FILTER 0 ++#define CONFIG_CROSSFEED_FILTER 0 ++#define CONFIG_CRYSTALIZER_FILTER 0 ++#define CONFIG_DCSHIFT_FILTER 0 ++#define CONFIG_DEESSER_FILTER 0 ++#define CONFIG_DIALOGUENHANCE_FILTER 0 ++#define CONFIG_DRMETER_FILTER 0 ++#define CONFIG_DYNAUDNORM_FILTER 0 ++#define CONFIG_EARWAX_FILTER 0 ++#define CONFIG_EBUR128_FILTER 0 ++#define CONFIG_EQUALIZER_FILTER 0 ++#define CONFIG_EXTRASTEREO_FILTER 0 ++#define CONFIG_FIREQUALIZER_FILTER 0 ++#define CONFIG_FLANGER_FILTER 0 ++#define CONFIG_HAAS_FILTER 0 ++#define CONFIG_HDCD_FILTER 0 ++#define CONFIG_HEADPHONE_FILTER 0 ++#define CONFIG_HIGHPASS_FILTER 0 ++#define CONFIG_HIGHSHELF_FILTER 0 ++#define CONFIG_JOIN_FILTER 0 ++#define CONFIG_LADSPA_FILTER 0 ++#define CONFIG_LOUDNORM_FILTER 0 ++#define CONFIG_LOWPASS_FILTER 0 ++#define CONFIG_LOWSHELF_FILTER 0 ++#define CONFIG_LV2_FILTER 0 ++#define CONFIG_MCOMPAND_FILTER 0 ++#define CONFIG_PAN_FILTER 0 ++#define CONFIG_REPLAYGAIN_FILTER 0 ++#define CONFIG_RUBBERBAND_FILTER 0 ++#define CONFIG_SIDECHAINCOMPRESS_FILTER 0 ++#define CONFIG_SIDECHAINGATE_FILTER 0 ++#define CONFIG_SILENCEDETECT_FILTER 0 ++#define CONFIG_SILENCEREMOVE_FILTER 0 ++#define CONFIG_SOFALIZER_FILTER 0 ++#define CONFIG_SPEECHNORM_FILTER 0 ++#define CONFIG_STEREOTOOLS_FILTER 0 ++#define CONFIG_STEREOWIDEN_FILTER 0 ++#define CONFIG_SUPEREQUALIZER_FILTER 0 ++#define CONFIG_SURROUND_FILTER 0 ++#define CONFIG_TREBLE_FILTER 0 ++#define CONFIG_TREMOLO_FILTER 0 ++#define CONFIG_VIBRATO_FILTER 0 ++#define CONFIG_VOLUME_FILTER 0 ++#define CONFIG_VOLUMEDETECT_FILTER 0 ++#define CONFIG_AEVALSRC_FILTER 0 ++#define CONFIG_AFIRSRC_FILTER 0 ++#define CONFIG_ANOISESRC_FILTER 0 ++#define CONFIG_ANULLSRC_FILTER 0 ++#define CONFIG_FLITE_FILTER 0 ++#define CONFIG_HILBERT_FILTER 0 ++#define CONFIG_SINC_FILTER 0 ++#define CONFIG_SINE_FILTER 0 ++#define CONFIG_ANULLSINK_FILTER 0 ++#define CONFIG_ADDROI_FILTER 0 ++#define CONFIG_ALPHAEXTRACT_FILTER 0 ++#define CONFIG_ALPHAMERGE_FILTER 0 ++#define CONFIG_AMPLIFY_FILTER 0 ++#define CONFIG_ASS_FILTER 0 ++#define CONFIG_ATADENOISE_FILTER 0 ++#define CONFIG_AVGBLUR_FILTER 0 ++#define CONFIG_AVGBLUR_OPENCL_FILTER 0 ++#define CONFIG_AVGBLUR_VULKAN_FILTER 0 ++#define CONFIG_BBOX_FILTER 0 ++#define CONFIG_BENCH_FILTER 0 ++#define CONFIG_BILATERAL_FILTER 0 ++#define CONFIG_BITPLANENOISE_FILTER 0 ++#define CONFIG_BLACKDETECT_FILTER 0 ++#define CONFIG_BLACKFRAME_FILTER 0 ++#define CONFIG_BLEND_FILTER 0 ++#define CONFIG_BLEND_VULKAN_FILTER 0 ++#define CONFIG_BM3D_FILTER 0 ++#define CONFIG_BOXBLUR_FILTER 0 ++#define CONFIG_BOXBLUR_OPENCL_FILTER 0 ++#define CONFIG_BWDIF_FILTER 0 ++#define CONFIG_CAS_FILTER 0 ++#define CONFIG_CHROMABER_VULKAN_FILTER 0 ++#define CONFIG_CHROMAHOLD_FILTER 0 ++#define CONFIG_CHROMAKEY_FILTER 0 ++#define CONFIG_CHROMANR_FILTER 0 ++#define CONFIG_CHROMASHIFT_FILTER 0 ++#define CONFIG_CIESCOPE_FILTER 0 ++#define CONFIG_CODECVIEW_FILTER 0 ++#define CONFIG_COLORBALANCE_FILTER 0 ++#define CONFIG_COLORCHANNELMIXER_FILTER 0 ++#define CONFIG_COLORCONTRAST_FILTER 0 ++#define CONFIG_COLORCORRECT_FILTER 0 ++#define CONFIG_COLORIZE_FILTER 0 ++#define CONFIG_COLORKEY_FILTER 0 ++#define CONFIG_COLORKEY_OPENCL_FILTER 0 ++#define CONFIG_COLORHOLD_FILTER 0 ++#define CONFIG_COLORLEVELS_FILTER 0 ++#define CONFIG_COLORMATRIX_FILTER 0 ++#define CONFIG_COLORSPACE_FILTER 0 ++#define CONFIG_COLORTEMPERATURE_FILTER 0 ++#define CONFIG_CONVOLUTION_FILTER 0 ++#define CONFIG_CONVOLUTION_OPENCL_FILTER 0 ++#define CONFIG_CONVOLVE_FILTER 0 ++#define CONFIG_COPY_FILTER 0 ++#define CONFIG_COREIMAGE_FILTER 0 ++#define CONFIG_COVER_RECT_FILTER 0 ++#define CONFIG_CROP_FILTER 0 ++#define CONFIG_CROPDETECT_FILTER 0 ++#define CONFIG_CUE_FILTER 0 ++#define CONFIG_CURVES_FILTER 0 ++#define CONFIG_DATASCOPE_FILTER 0 ++#define CONFIG_DBLUR_FILTER 0 ++#define CONFIG_DCTDNOIZ_FILTER 0 ++#define CONFIG_DEBAND_FILTER 0 ++#define CONFIG_DEBLOCK_FILTER 0 ++#define CONFIG_DECIMATE_FILTER 0 ++#define CONFIG_DECONVOLVE_FILTER 0 ++#define CONFIG_DEDOT_FILTER 0 ++#define CONFIG_DEFLATE_FILTER 0 ++#define CONFIG_DEFLICKER_FILTER 0 ++#define CONFIG_DEINTERLACE_QSV_FILTER 0 ++#define CONFIG_DEINTERLACE_VAAPI_FILTER 0 ++#define CONFIG_DEJUDDER_FILTER 0 ++#define CONFIG_DELOGO_FILTER 0 ++#define CONFIG_DENOISE_VAAPI_FILTER 0 ++#define CONFIG_DERAIN_FILTER 0 ++#define CONFIG_DESHAKE_FILTER 0 ++#define CONFIG_DESHAKE_OPENCL_FILTER 0 ++#define CONFIG_DESPILL_FILTER 0 ++#define CONFIG_DETELECINE_FILTER 0 ++#define CONFIG_DILATION_FILTER 0 ++#define CONFIG_DILATION_OPENCL_FILTER 0 ++#define CONFIG_DISPLACE_FILTER 0 ++#define CONFIG_DNN_CLASSIFY_FILTER 0 ++#define CONFIG_DNN_DETECT_FILTER 0 ++#define CONFIG_DNN_PROCESSING_FILTER 0 ++#define CONFIG_DOUBLEWEAVE_FILTER 0 ++#define CONFIG_DRAWBOX_FILTER 0 ++#define CONFIG_DRAWGRAPH_FILTER 0 ++#define CONFIG_DRAWGRID_FILTER 0 ++#define CONFIG_DRAWTEXT_FILTER 0 ++#define CONFIG_EDGEDETECT_FILTER 0 ++#define CONFIG_ELBG_FILTER 0 ++#define CONFIG_ENTROPY_FILTER 0 ++#define CONFIG_EPX_FILTER 0 ++#define CONFIG_EQ_FILTER 0 ++#define CONFIG_EROSION_FILTER 0 ++#define CONFIG_EROSION_OPENCL_FILTER 0 ++#define CONFIG_ESTDIF_FILTER 0 ++#define CONFIG_EXPOSURE_FILTER 0 ++#define CONFIG_EXTRACTPLANES_FILTER 0 ++#define CONFIG_FADE_FILTER 0 ++#define CONFIG_FFTDNOIZ_FILTER 0 ++#define CONFIG_FFTFILT_FILTER 0 ++#define CONFIG_FIELD_FILTER 0 ++#define CONFIG_FIELDHINT_FILTER 0 ++#define CONFIG_FIELDMATCH_FILTER 0 ++#define CONFIG_FIELDORDER_FILTER 0 ++#define CONFIG_FILLBORDERS_FILTER 0 ++#define CONFIG_FIND_RECT_FILTER 0 ++#define CONFIG_FLIP_VULKAN_FILTER 0 ++#define CONFIG_FLOODFILL_FILTER 0 ++#define CONFIG_FORMAT_FILTER 0 ++#define CONFIG_FPS_FILTER 0 ++#define CONFIG_FRAMEPACK_FILTER 0 ++#define CONFIG_FRAMERATE_FILTER 0 ++#define CONFIG_FRAMESTEP_FILTER 0 ++#define CONFIG_FREEZEDETECT_FILTER 0 ++#define CONFIG_FREEZEFRAMES_FILTER 0 ++#define CONFIG_FREI0R_FILTER 0 ++#define CONFIG_FSPP_FILTER 0 ++#define CONFIG_GBLUR_FILTER 0 ++#define CONFIG_GBLUR_VULKAN_FILTER 0 ++#define CONFIG_GEQ_FILTER 0 ++#define CONFIG_GRADFUN_FILTER 0 ++#define CONFIG_GRAPHMONITOR_FILTER 0 ++#define CONFIG_GRAYWORLD_FILTER 0 ++#define CONFIG_GREYEDGE_FILTER 0 ++#define CONFIG_GUIDED_FILTER 0 ++#define CONFIG_HALDCLUT_FILTER 0 ++#define CONFIG_HFLIP_FILTER 0 ++#define CONFIG_HFLIP_VULKAN_FILTER 0 ++#define CONFIG_HISTEQ_FILTER 0 ++#define CONFIG_HISTOGRAM_FILTER 0 ++#define CONFIG_HQDN3D_FILTER 0 ++#define CONFIG_HQX_FILTER 0 ++#define CONFIG_HSTACK_FILTER 0 ++#define CONFIG_HSVHOLD_FILTER 0 ++#define CONFIG_HSVKEY_FILTER 0 ++#define CONFIG_HUE_FILTER 0 ++#define CONFIG_HUESATURATION_FILTER 0 ++#define CONFIG_HWDOWNLOAD_FILTER 0 ++#define CONFIG_HWMAP_FILTER 0 ++#define CONFIG_HWUPLOAD_FILTER 0 ++#define CONFIG_HWUPLOAD_CUDA_FILTER 0 ++#define CONFIG_HYSTERESIS_FILTER 0 ++#define CONFIG_IDENTITY_FILTER 0 ++#define CONFIG_IDET_FILTER 0 ++#define CONFIG_IL_FILTER 0 ++#define CONFIG_INFLATE_FILTER 0 ++#define CONFIG_INTERLACE_FILTER 0 ++#define CONFIG_INTERLEAVE_FILTER 0 ++#define CONFIG_KERNDEINT_FILTER 0 ++#define CONFIG_KIRSCH_FILTER 0 ++#define CONFIG_LAGFUN_FILTER 0 ++#define CONFIG_LATENCY_FILTER 0 ++#define CONFIG_LENSCORRECTION_FILTER 0 ++#define CONFIG_LENSFUN_FILTER 0 ++#define CONFIG_LIBPLACEBO_FILTER 0 ++#define CONFIG_LIBVMAF_FILTER 0 ++#define CONFIG_LIMITDIFF_FILTER 0 ++#define CONFIG_LIMITER_FILTER 0 ++#define CONFIG_LOOP_FILTER 0 ++#define CONFIG_LUMAKEY_FILTER 0 ++#define CONFIG_LUT_FILTER 0 ++#define CONFIG_LUT1D_FILTER 0 ++#define CONFIG_LUT2_FILTER 0 ++#define CONFIG_LUT3D_FILTER 0 ++#define CONFIG_LUTRGB_FILTER 0 ++#define CONFIG_LUTYUV_FILTER 0 ++#define CONFIG_MASKEDCLAMP_FILTER 0 ++#define CONFIG_MASKEDMAX_FILTER 0 ++#define CONFIG_MASKEDMERGE_FILTER 0 ++#define CONFIG_MASKEDMIN_FILTER 0 ++#define CONFIG_MASKEDTHRESHOLD_FILTER 0 ++#define CONFIG_MASKFUN_FILTER 0 ++#define CONFIG_MCDEINT_FILTER 0 ++#define CONFIG_MEDIAN_FILTER 0 ++#define CONFIG_MERGEPLANES_FILTER 0 ++#define CONFIG_MESTIMATE_FILTER 0 ++#define CONFIG_METADATA_FILTER 0 ++#define CONFIG_MIDEQUALIZER_FILTER 0 ++#define CONFIG_MINTERPOLATE_FILTER 0 ++#define CONFIG_MIX_FILTER 0 ++#define CONFIG_MONOCHROME_FILTER 0 ++#define CONFIG_MORPHO_FILTER 0 ++#define CONFIG_MPDECIMATE_FILTER 0 ++#define CONFIG_MSAD_FILTER 0 ++#define CONFIG_NEGATE_FILTER 0 ++#define CONFIG_NLMEANS_FILTER 0 ++#define CONFIG_NLMEANS_OPENCL_FILTER 0 ++#define CONFIG_NNEDI_FILTER 0 ++#define CONFIG_NOFORMAT_FILTER 0 ++#define CONFIG_NOISE_FILTER 0 ++#define CONFIG_NORMALIZE_FILTER 0 ++#define CONFIG_NULL_FILTER 0 ++#define CONFIG_OCR_FILTER 0 ++#define CONFIG_OCV_FILTER 0 ++#define CONFIG_OSCILLOSCOPE_FILTER 0 ++#define CONFIG_OVERLAY_FILTER 0 ++#define CONFIG_OVERLAY_OPENCL_FILTER 0 ++#define CONFIG_OVERLAY_QSV_FILTER 0 ++#define CONFIG_OVERLAY_VAAPI_FILTER 0 ++#define CONFIG_OVERLAY_VULKAN_FILTER 0 ++#define CONFIG_OVERLAY_CUDA_FILTER 0 ++#define CONFIG_OWDENOISE_FILTER 0 ++#define CONFIG_PAD_FILTER 0 ++#define CONFIG_PAD_OPENCL_FILTER 0 ++#define CONFIG_PALETTEGEN_FILTER 0 ++#define CONFIG_PALETTEUSE_FILTER 0 ++#define CONFIG_PERMS_FILTER 0 ++#define CONFIG_PERSPECTIVE_FILTER 0 ++#define CONFIG_PHASE_FILTER 0 ++#define CONFIG_PHOTOSENSITIVITY_FILTER 0 ++#define CONFIG_PIXDESCTEST_FILTER 0 ++#define CONFIG_PIXSCOPE_FILTER 0 ++#define CONFIG_PP_FILTER 0 ++#define CONFIG_PP7_FILTER 0 ++#define CONFIG_PREMULTIPLY_FILTER 0 ++#define CONFIG_PREWITT_FILTER 0 ++#define CONFIG_PREWITT_OPENCL_FILTER 0 ++#define CONFIG_PROCAMP_VAAPI_FILTER 0 ++#define CONFIG_PROGRAM_OPENCL_FILTER 0 ++#define CONFIG_PSEUDOCOLOR_FILTER 0 ++#define CONFIG_PSNR_FILTER 0 ++#define CONFIG_PULLUP_FILTER 0 ++#define CONFIG_QP_FILTER 0 ++#define CONFIG_RANDOM_FILTER 0 ++#define CONFIG_READEIA608_FILTER 0 ++#define CONFIG_READVITC_FILTER 0 ++#define CONFIG_REALTIME_FILTER 0 ++#define CONFIG_REMAP_FILTER 0 ++#define CONFIG_REMOVEGRAIN_FILTER 0 ++#define CONFIG_REMOVELOGO_FILTER 0 ++#define CONFIG_REPEATFIELDS_FILTER 0 ++#define CONFIG_REVERSE_FILTER 0 ++#define CONFIG_RGBASHIFT_FILTER 0 ++#define CONFIG_ROBERTS_FILTER 0 ++#define CONFIG_ROBERTS_OPENCL_FILTER 0 ++#define CONFIG_ROTATE_FILTER 0 ++#define CONFIG_SAB_FILTER 0 ++#define CONFIG_SCALE_FILTER 0 ++#define CONFIG_SCALE_CUDA_FILTER 0 ++#define CONFIG_SCALE_NPP_FILTER 0 ++#define CONFIG_SCALE_QSV_FILTER 0 ++#define CONFIG_SCALE_VAAPI_FILTER 0 ++#define CONFIG_SCALE_VULKAN_FILTER 0 ++#define CONFIG_SCALE2REF_FILTER 0 ++#define CONFIG_SCALE2REF_NPP_FILTER 0 ++#define CONFIG_SCDET_FILTER 0 ++#define CONFIG_SCHARR_FILTER 0 ++#define CONFIG_SCROLL_FILTER 0 ++#define CONFIG_SEGMENT_FILTER 0 ++#define CONFIG_SELECT_FILTER 0 ++#define CONFIG_SELECTIVECOLOR_FILTER 0 ++#define CONFIG_SENDCMD_FILTER 0 ++#define CONFIG_SEPARATEFIELDS_FILTER 0 ++#define CONFIG_SETDAR_FILTER 0 ++#define CONFIG_SETFIELD_FILTER 0 ++#define CONFIG_SETPARAMS_FILTER 0 ++#define CONFIG_SETPTS_FILTER 0 ++#define CONFIG_SETRANGE_FILTER 0 ++#define CONFIG_SETSAR_FILTER 0 ++#define CONFIG_SETTB_FILTER 0 ++#define CONFIG_SHARPEN_NPP_FILTER 0 ++#define CONFIG_SHARPNESS_VAAPI_FILTER 0 ++#define CONFIG_SHEAR_FILTER 0 ++#define CONFIG_SHOWINFO_FILTER 0 ++#define CONFIG_SHOWPALETTE_FILTER 0 ++#define CONFIG_SHUFFLEFRAMES_FILTER 0 ++#define CONFIG_SHUFFLEPIXELS_FILTER 0 ++#define CONFIG_SHUFFLEPLANES_FILTER 0 ++#define CONFIG_SIDEDATA_FILTER 0 ++#define CONFIG_SIGNALSTATS_FILTER 0 ++#define CONFIG_SIGNATURE_FILTER 0 ++#define CONFIG_SMARTBLUR_FILTER 0 ++#define CONFIG_SOBEL_FILTER 0 ++#define CONFIG_SOBEL_OPENCL_FILTER 0 ++#define CONFIG_SPLIT_FILTER 0 ++#define CONFIG_SPP_FILTER 0 ++#define CONFIG_SR_FILTER 0 ++#define CONFIG_SSIM_FILTER 0 ++#define CONFIG_STEREO3D_FILTER 0 ++#define CONFIG_STREAMSELECT_FILTER 0 ++#define CONFIG_SUBTITLES_FILTER 0 ++#define CONFIG_SUPER2XSAI_FILTER 0 ++#define CONFIG_SWAPRECT_FILTER 0 ++#define CONFIG_SWAPUV_FILTER 0 ++#define CONFIG_TBLEND_FILTER 0 ++#define CONFIG_TELECINE_FILTER 0 ++#define CONFIG_THISTOGRAM_FILTER 0 ++#define CONFIG_THRESHOLD_FILTER 0 ++#define CONFIG_THUMBNAIL_FILTER 0 ++#define CONFIG_THUMBNAIL_CUDA_FILTER 0 ++#define CONFIG_TILE_FILTER 0 ++#define CONFIG_TINTERLACE_FILTER 0 ++#define CONFIG_TLUT2_FILTER 0 ++#define CONFIG_TMEDIAN_FILTER 0 ++#define CONFIG_TMIDEQUALIZER_FILTER 0 ++#define CONFIG_TMIX_FILTER 0 ++#define CONFIG_TONEMAP_FILTER 0 ++#define CONFIG_TONEMAP_OPENCL_FILTER 0 ++#define CONFIG_TONEMAP_VAAPI_FILTER 0 ++#define CONFIG_TPAD_FILTER 0 ++#define CONFIG_TRANSPOSE_FILTER 0 ++#define CONFIG_TRANSPOSE_NPP_FILTER 0 ++#define CONFIG_TRANSPOSE_OPENCL_FILTER 0 ++#define CONFIG_TRANSPOSE_VAAPI_FILTER 0 ++#define CONFIG_TRANSPOSE_VULKAN_FILTER 0 ++#define CONFIG_TRIM_FILTER 0 ++#define CONFIG_UNPREMULTIPLY_FILTER 0 ++#define CONFIG_UNSHARP_FILTER 0 ++#define CONFIG_UNSHARP_OPENCL_FILTER 0 ++#define CONFIG_UNTILE_FILTER 0 ++#define CONFIG_USPP_FILTER 0 ++#define CONFIG_V360_FILTER 0 ++#define CONFIG_VAGUEDENOISER_FILTER 0 ++#define CONFIG_VARBLUR_FILTER 0 ++#define CONFIG_VECTORSCOPE_FILTER 0 ++#define CONFIG_VFLIP_FILTER 0 ++#define CONFIG_VFLIP_VULKAN_FILTER 0 ++#define CONFIG_VFRDET_FILTER 0 ++#define CONFIG_VIBRANCE_FILTER 0 ++#define CONFIG_VIDSTABDETECT_FILTER 0 ++#define CONFIG_VIDSTABTRANSFORM_FILTER 0 ++#define CONFIG_VIF_FILTER 0 ++#define CONFIG_VIGNETTE_FILTER 0 ++#define CONFIG_VMAFMOTION_FILTER 0 ++#define CONFIG_VPP_QSV_FILTER 0 ++#define CONFIG_VSTACK_FILTER 0 ++#define CONFIG_W3FDIF_FILTER 0 ++#define CONFIG_WAVEFORM_FILTER 0 ++#define CONFIG_WEAVE_FILTER 0 ++#define CONFIG_XBR_FILTER 0 ++#define CONFIG_XCORRELATE_FILTER 0 ++#define CONFIG_XFADE_FILTER 0 ++#define CONFIG_XFADE_OPENCL_FILTER 0 ++#define CONFIG_XMEDIAN_FILTER 0 ++#define CONFIG_XSTACK_FILTER 0 ++#define CONFIG_YADIF_FILTER 0 ++#define CONFIG_YADIF_CUDA_FILTER 0 ++#define CONFIG_YADIF_VIDEOTOOLBOX_FILTER 0 ++#define CONFIG_YAEPBLUR_FILTER 0 ++#define CONFIG_ZMQ_FILTER 0 ++#define CONFIG_ZOOMPAN_FILTER 0 ++#define CONFIG_ZSCALE_FILTER 0 ++#define CONFIG_ALLRGB_FILTER 0 ++#define CONFIG_ALLYUV_FILTER 0 ++#define CONFIG_CELLAUTO_FILTER 0 ++#define CONFIG_COLOR_FILTER 0 ++#define CONFIG_COLORSPECTRUM_FILTER 0 ++#define CONFIG_COREIMAGESRC_FILTER 0 ++#define CONFIG_FREI0R_SRC_FILTER 0 ++#define CONFIG_GRADIENTS_FILTER 0 ++#define CONFIG_HALDCLUTSRC_FILTER 0 ++#define CONFIG_LIFE_FILTER 0 ++#define CONFIG_MANDELBROT_FILTER 0 ++#define CONFIG_MPTESTSRC_FILTER 0 ++#define CONFIG_NULLSRC_FILTER 0 ++#define CONFIG_OPENCLSRC_FILTER 0 ++#define CONFIG_PAL75BARS_FILTER 0 ++#define CONFIG_PAL100BARS_FILTER 0 ++#define CONFIG_RGBTESTSRC_FILTER 0 ++#define CONFIG_SIERPINSKI_FILTER 0 ++#define CONFIG_SMPTEBARS_FILTER 0 ++#define CONFIG_SMPTEHDBARS_FILTER 0 ++#define CONFIG_TESTSRC_FILTER 0 ++#define CONFIG_TESTSRC2_FILTER 0 ++#define CONFIG_YUVTESTSRC_FILTER 0 ++#define CONFIG_NULLSINK_FILTER 0 ++#define CONFIG_ABITSCOPE_FILTER 0 ++#define CONFIG_ADRAWGRAPH_FILTER 0 ++#define CONFIG_AGRAPHMONITOR_FILTER 0 ++#define CONFIG_AHISTOGRAM_FILTER 0 ++#define CONFIG_APHASEMETER_FILTER 0 ++#define CONFIG_AVECTORSCOPE_FILTER 0 ++#define CONFIG_CONCAT_FILTER 0 ++#define CONFIG_SHOWCQT_FILTER 0 ++#define CONFIG_SHOWFREQS_FILTER 0 ++#define CONFIG_SHOWSPATIAL_FILTER 0 ++#define CONFIG_SHOWSPECTRUM_FILTER 0 ++#define CONFIG_SHOWSPECTRUMPIC_FILTER 0 ++#define CONFIG_SHOWVOLUME_FILTER 0 ++#define CONFIG_SHOWWAVES_FILTER 0 ++#define CONFIG_SHOWWAVESPIC_FILTER 0 ++#define CONFIG_SPECTRUMSYNTH_FILTER 0 ++#define CONFIG_AMOVIE_FILTER 0 ++#define CONFIG_MOVIE_FILTER 0 ++#define CONFIG_AFIFO_FILTER 0 ++#define CONFIG_FIFO_FILTER 0 ++#define CONFIG_AA_DEMUXER 0 ++#define CONFIG_AAC_DEMUXER 1 ++#define CONFIG_AAX_DEMUXER 0 ++#define CONFIG_AC3_DEMUXER 0 ++#define CONFIG_ACE_DEMUXER 0 ++#define CONFIG_ACM_DEMUXER 0 ++#define CONFIG_ACT_DEMUXER 0 ++#define CONFIG_ADF_DEMUXER 0 ++#define CONFIG_ADP_DEMUXER 0 ++#define CONFIG_ADS_DEMUXER 0 ++#define CONFIG_ADX_DEMUXER 0 ++#define CONFIG_AEA_DEMUXER 0 ++#define CONFIG_AFC_DEMUXER 0 ++#define CONFIG_AIFF_DEMUXER 0 ++#define CONFIG_AIX_DEMUXER 0 ++#define CONFIG_ALP_DEMUXER 0 ++#define CONFIG_AMR_DEMUXER 0 ++#define CONFIG_AMRNB_DEMUXER 0 ++#define CONFIG_AMRWB_DEMUXER 0 ++#define CONFIG_ANM_DEMUXER 0 ++#define CONFIG_APC_DEMUXER 0 ++#define CONFIG_APE_DEMUXER 0 ++#define CONFIG_APM_DEMUXER 0 ++#define CONFIG_APNG_DEMUXER 0 ++#define CONFIG_APTX_DEMUXER 0 ++#define CONFIG_APTX_HD_DEMUXER 0 ++#define CONFIG_AQTITLE_DEMUXER 0 ++#define CONFIG_ARGO_ASF_DEMUXER 0 ++#define CONFIG_ARGO_BRP_DEMUXER 0 ++#define CONFIG_ARGO_CVG_DEMUXER 0 ++#define CONFIG_ASF_DEMUXER 0 ++#define CONFIG_ASF_O_DEMUXER 0 ++#define CONFIG_ASS_DEMUXER 0 ++#define CONFIG_AST_DEMUXER 0 ++#define CONFIG_AU_DEMUXER 0 ++#define CONFIG_AV1_DEMUXER 0 ++#define CONFIG_AVI_DEMUXER 0 ++#define CONFIG_AVISYNTH_DEMUXER 0 ++#define CONFIG_AVR_DEMUXER 0 ++#define CONFIG_AVS_DEMUXER 0 ++#define CONFIG_AVS2_DEMUXER 0 ++#define CONFIG_AVS3_DEMUXER 0 ++#define CONFIG_BETHSOFTVID_DEMUXER 0 ++#define CONFIG_BFI_DEMUXER 0 ++#define CONFIG_BINTEXT_DEMUXER 0 ++#define CONFIG_BINK_DEMUXER 0 ++#define CONFIG_BINKA_DEMUXER 0 ++#define CONFIG_BIT_DEMUXER 0 ++#define CONFIG_BITPACKED_DEMUXER 0 ++#define CONFIG_BMV_DEMUXER 0 ++#define CONFIG_BFSTM_DEMUXER 0 ++#define CONFIG_BRSTM_DEMUXER 0 ++#define CONFIG_BOA_DEMUXER 0 ++#define CONFIG_C93_DEMUXER 0 ++#define CONFIG_CAF_DEMUXER 0 ++#define CONFIG_CAVSVIDEO_DEMUXER 0 ++#define CONFIG_CDG_DEMUXER 0 ++#define CONFIG_CDXL_DEMUXER 0 ++#define CONFIG_CINE_DEMUXER 0 ++#define CONFIG_CODEC2_DEMUXER 0 ++#define CONFIG_CODEC2RAW_DEMUXER 0 ++#define CONFIG_CONCAT_DEMUXER 0 ++#define CONFIG_DASH_DEMUXER 0 ++#define CONFIG_DATA_DEMUXER 0 ++#define CONFIG_DAUD_DEMUXER 0 ++#define CONFIG_DCSTR_DEMUXER 0 ++#define CONFIG_DERF_DEMUXER 0 ++#define CONFIG_DFA_DEMUXER 0 ++#define CONFIG_DFPWM_DEMUXER 0 ++#define CONFIG_DHAV_DEMUXER 0 ++#define CONFIG_DIRAC_DEMUXER 0 ++#define CONFIG_DNXHD_DEMUXER 0 ++#define CONFIG_DSF_DEMUXER 0 ++#define CONFIG_DSICIN_DEMUXER 0 ++#define CONFIG_DSS_DEMUXER 0 ++#define CONFIG_DTS_DEMUXER 0 ++#define CONFIG_DTSHD_DEMUXER 0 ++#define CONFIG_DV_DEMUXER 0 ++#define CONFIG_DVBSUB_DEMUXER 0 ++#define CONFIG_DVBTXT_DEMUXER 0 ++#define CONFIG_DXA_DEMUXER 0 ++#define CONFIG_EA_DEMUXER 0 ++#define CONFIG_EA_CDATA_DEMUXER 0 ++#define CONFIG_EAC3_DEMUXER 0 ++#define CONFIG_EPAF_DEMUXER 0 ++#define CONFIG_FFMETADATA_DEMUXER 0 ++#define CONFIG_FILMSTRIP_DEMUXER 0 ++#define CONFIG_FITS_DEMUXER 0 ++#define CONFIG_FLAC_DEMUXER 1 ++#define CONFIG_FLIC_DEMUXER 0 ++#define CONFIG_FLV_DEMUXER 0 ++#define CONFIG_LIVE_FLV_DEMUXER 0 ++#define CONFIG_FOURXM_DEMUXER 0 ++#define CONFIG_FRM_DEMUXER 0 ++#define CONFIG_FSB_DEMUXER 0 ++#define CONFIG_FWSE_DEMUXER 0 ++#define CONFIG_G722_DEMUXER 0 ++#define CONFIG_G723_1_DEMUXER 0 ++#define CONFIG_G726_DEMUXER 0 ++#define CONFIG_G726LE_DEMUXER 0 ++#define CONFIG_G729_DEMUXER 0 ++#define CONFIG_GDV_DEMUXER 0 ++#define CONFIG_GENH_DEMUXER 0 ++#define CONFIG_GIF_DEMUXER 0 ++#define CONFIG_GSM_DEMUXER 0 ++#define CONFIG_GXF_DEMUXER 0 ++#define CONFIG_H261_DEMUXER 0 ++#define CONFIG_H263_DEMUXER 0 ++#define CONFIG_H264_DEMUXER 0 ++#define CONFIG_HCA_DEMUXER 0 ++#define CONFIG_HCOM_DEMUXER 0 ++#define CONFIG_HEVC_DEMUXER 0 ++#define CONFIG_HLS_DEMUXER 0 ++#define CONFIG_HNM_DEMUXER 0 ++#define CONFIG_ICO_DEMUXER 0 ++#define CONFIG_IDCIN_DEMUXER 0 ++#define CONFIG_IDF_DEMUXER 0 ++#define CONFIG_IFF_DEMUXER 0 ++#define CONFIG_IFV_DEMUXER 0 ++#define CONFIG_ILBC_DEMUXER 0 ++#define CONFIG_IMAGE2_DEMUXER 0 ++#define CONFIG_IMAGE2PIPE_DEMUXER 0 ++#define CONFIG_IMAGE2_ALIAS_PIX_DEMUXER 0 ++#define CONFIG_IMAGE2_BRENDER_PIX_DEMUXER 0 ++#define CONFIG_IMF_DEMUXER 0 ++#define CONFIG_INGENIENT_DEMUXER 0 ++#define CONFIG_IPMOVIE_DEMUXER 0 ++#define CONFIG_IPU_DEMUXER 0 ++#define CONFIG_IRCAM_DEMUXER 0 ++#define CONFIG_ISS_DEMUXER 0 ++#define CONFIG_IV8_DEMUXER 0 ++#define CONFIG_IVF_DEMUXER 0 ++#define CONFIG_IVR_DEMUXER 0 ++#define CONFIG_JACOSUB_DEMUXER 0 ++#define CONFIG_JV_DEMUXER 0 ++#define CONFIG_KUX_DEMUXER 0 ++#define CONFIG_KVAG_DEMUXER 0 ++#define CONFIG_LMLM4_DEMUXER 0 ++#define CONFIG_LOAS_DEMUXER 0 ++#define CONFIG_LUODAT_DEMUXER 0 ++#define CONFIG_LRC_DEMUXER 0 ++#define CONFIG_LVF_DEMUXER 0 ++#define CONFIG_LXF_DEMUXER 0 ++#define CONFIG_M4V_DEMUXER 0 ++#define CONFIG_MCA_DEMUXER 0 ++#define CONFIG_MCC_DEMUXER 0 ++#define CONFIG_MATROSKA_DEMUXER 1 ++#define CONFIG_MGSTS_DEMUXER 0 ++#define CONFIG_MICRODVD_DEMUXER 0 ++#define CONFIG_MJPEG_DEMUXER 0 ++#define CONFIG_MJPEG_2000_DEMUXER 0 ++#define CONFIG_MLP_DEMUXER 0 ++#define CONFIG_MLV_DEMUXER 0 ++#define CONFIG_MM_DEMUXER 0 ++#define CONFIG_MMF_DEMUXER 0 ++#define CONFIG_MODS_DEMUXER 0 ++#define CONFIG_MOFLEX_DEMUXER 0 ++#define CONFIG_MOV_DEMUXER 1 ++#define CONFIG_MP3_DEMUXER 1 ++#define CONFIG_MPC_DEMUXER 0 ++#define CONFIG_MPC8_DEMUXER 0 ++#define CONFIG_MPEGPS_DEMUXER 0 ++#define CONFIG_MPEGTS_DEMUXER 0 ++#define CONFIG_MPEGTSRAW_DEMUXER 0 ++#define CONFIG_MPEGVIDEO_DEMUXER 0 ++#define CONFIG_MPJPEG_DEMUXER 0 ++#define CONFIG_MPL2_DEMUXER 0 ++#define CONFIG_MPSUB_DEMUXER 0 ++#define CONFIG_MSF_DEMUXER 0 ++#define CONFIG_MSNWC_TCP_DEMUXER 0 ++#define CONFIG_MSP_DEMUXER 0 ++#define CONFIG_MTAF_DEMUXER 0 ++#define CONFIG_MTV_DEMUXER 0 ++#define CONFIG_MUSX_DEMUXER 0 ++#define CONFIG_MV_DEMUXER 0 ++#define CONFIG_MVI_DEMUXER 0 ++#define CONFIG_MXF_DEMUXER 0 ++#define CONFIG_MXG_DEMUXER 0 ++#define CONFIG_NC_DEMUXER 0 ++#define CONFIG_NISTSPHERE_DEMUXER 0 ++#define CONFIG_NSP_DEMUXER 0 ++#define CONFIG_NSV_DEMUXER 0 ++#define CONFIG_NUT_DEMUXER 0 ++#define CONFIG_NUV_DEMUXER 0 ++#define CONFIG_OBU_DEMUXER 0 ++#define CONFIG_OGG_DEMUXER 1 ++#define CONFIG_OMA_DEMUXER 0 ++#define CONFIG_PAF_DEMUXER 0 ++#define CONFIG_PCM_ALAW_DEMUXER 0 ++#define CONFIG_PCM_MULAW_DEMUXER 0 ++#define CONFIG_PCM_VIDC_DEMUXER 0 ++#define CONFIG_PCM_F64BE_DEMUXER 0 ++#define CONFIG_PCM_F64LE_DEMUXER 0 ++#define CONFIG_PCM_F32BE_DEMUXER 0 ++#define CONFIG_PCM_F32LE_DEMUXER 0 ++#define CONFIG_PCM_S32BE_DEMUXER 0 ++#define CONFIG_PCM_S32LE_DEMUXER 0 ++#define CONFIG_PCM_S24BE_DEMUXER 0 ++#define CONFIG_PCM_S24LE_DEMUXER 0 ++#define CONFIG_PCM_S16BE_DEMUXER 0 ++#define CONFIG_PCM_S16LE_DEMUXER 0 ++#define CONFIG_PCM_S8_DEMUXER 0 ++#define CONFIG_PCM_U32BE_DEMUXER 0 ++#define CONFIG_PCM_U32LE_DEMUXER 0 ++#define CONFIG_PCM_U24BE_DEMUXER 0 ++#define CONFIG_PCM_U24LE_DEMUXER 0 ++#define CONFIG_PCM_U16BE_DEMUXER 0 ++#define CONFIG_PCM_U16LE_DEMUXER 0 ++#define CONFIG_PCM_U8_DEMUXER 0 ++#define CONFIG_PJS_DEMUXER 0 ++#define CONFIG_PMP_DEMUXER 0 ++#define CONFIG_PP_BNK_DEMUXER 0 ++#define CONFIG_PVA_DEMUXER 0 ++#define CONFIG_PVF_DEMUXER 0 ++#define CONFIG_QCP_DEMUXER 0 ++#define CONFIG_R3D_DEMUXER 0 ++#define CONFIG_RAWVIDEO_DEMUXER 0 ++#define CONFIG_REALTEXT_DEMUXER 0 ++#define CONFIG_REDSPARK_DEMUXER 0 ++#define CONFIG_RL2_DEMUXER 0 ++#define CONFIG_RM_DEMUXER 0 ++#define CONFIG_ROQ_DEMUXER 0 ++#define CONFIG_RPL_DEMUXER 0 ++#define CONFIG_RSD_DEMUXER 0 ++#define CONFIG_RSO_DEMUXER 0 ++#define CONFIG_RTP_DEMUXER 0 ++#define CONFIG_RTSP_DEMUXER 0 ++#define CONFIG_S337M_DEMUXER 0 ++#define CONFIG_SAMI_DEMUXER 0 ++#define CONFIG_SAP_DEMUXER 0 ++#define CONFIG_SBC_DEMUXER 0 ++#define CONFIG_SBG_DEMUXER 0 ++#define CONFIG_SCC_DEMUXER 0 ++#define CONFIG_SCD_DEMUXER 0 ++#define CONFIG_SDP_DEMUXER 0 ++#define CONFIG_SDR2_DEMUXER 0 ++#define CONFIG_SDS_DEMUXER 0 ++#define CONFIG_SDX_DEMUXER 0 ++#define CONFIG_SEGAFILM_DEMUXER 0 ++#define CONFIG_SER_DEMUXER 0 ++#define CONFIG_SGA_DEMUXER 0 ++#define CONFIG_SHORTEN_DEMUXER 0 ++#define CONFIG_SIFF_DEMUXER 0 ++#define CONFIG_SIMBIOSIS_IMX_DEMUXER 0 ++#define CONFIG_SLN_DEMUXER 0 ++#define CONFIG_SMACKER_DEMUXER 0 ++#define CONFIG_SMJPEG_DEMUXER 0 ++#define CONFIG_SMUSH_DEMUXER 0 ++#define CONFIG_SOL_DEMUXER 0 ++#define CONFIG_SOX_DEMUXER 0 ++#define CONFIG_SPDIF_DEMUXER 0 ++#define CONFIG_SRT_DEMUXER 0 ++#define CONFIG_STR_DEMUXER 0 ++#define CONFIG_STL_DEMUXER 0 ++#define CONFIG_SUBVIEWER1_DEMUXER 0 ++#define CONFIG_SUBVIEWER_DEMUXER 0 ++#define CONFIG_SUP_DEMUXER 0 ++#define CONFIG_SVAG_DEMUXER 0 ++#define CONFIG_SVS_DEMUXER 0 ++#define CONFIG_SWF_DEMUXER 0 ++#define CONFIG_TAK_DEMUXER 0 ++#define CONFIG_TEDCAPTIONS_DEMUXER 0 ++#define CONFIG_THP_DEMUXER 0 ++#define CONFIG_THREEDOSTR_DEMUXER 0 ++#define CONFIG_TIERTEXSEQ_DEMUXER 0 ++#define CONFIG_TMV_DEMUXER 0 ++#define CONFIG_TRUEHD_DEMUXER 0 ++#define CONFIG_TTA_DEMUXER 0 ++#define CONFIG_TXD_DEMUXER 0 ++#define CONFIG_TTY_DEMUXER 0 ++#define CONFIG_TY_DEMUXER 0 ++#define CONFIG_V210_DEMUXER 0 ++#define CONFIG_V210X_DEMUXER 0 ++#define CONFIG_VAG_DEMUXER 0 ++#define CONFIG_VC1_DEMUXER 0 ++#define CONFIG_VC1T_DEMUXER 0 ++#define CONFIG_VIVIDAS_DEMUXER 0 ++#define CONFIG_VIVO_DEMUXER 0 ++#define CONFIG_VMD_DEMUXER 0 ++#define CONFIG_VOBSUB_DEMUXER 0 ++#define CONFIG_VOC_DEMUXER 0 ++#define CONFIG_VPK_DEMUXER 0 ++#define CONFIG_VPLAYER_DEMUXER 0 ++#define CONFIG_VQF_DEMUXER 0 ++#define CONFIG_W64_DEMUXER 0 ++#define CONFIG_WAV_DEMUXER 1 ++#define CONFIG_WC3_DEMUXER 0 ++#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0 ++#define CONFIG_WEBVTT_DEMUXER 0 ++#define CONFIG_WSAUD_DEMUXER 0 ++#define CONFIG_WSD_DEMUXER 0 ++#define CONFIG_WSVQA_DEMUXER 0 ++#define CONFIG_WTV_DEMUXER 0 ++#define CONFIG_WVE_DEMUXER 0 ++#define CONFIG_WV_DEMUXER 0 ++#define CONFIG_XA_DEMUXER 0 ++#define CONFIG_XBIN_DEMUXER 0 ++#define CONFIG_XMV_DEMUXER 0 ++#define CONFIG_XVAG_DEMUXER 0 ++#define CONFIG_XWMA_DEMUXER 0 ++#define CONFIG_YOP_DEMUXER 0 ++#define CONFIG_YUV4MPEGPIPE_DEMUXER 0 ++#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_CRI_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_DDS_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_GEM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_GIF_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PGX_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PHOTOCD_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PSD_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_SVG_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_WEBP_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_XBM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_XPM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_XWD_PIPE_DEMUXER 0 ++#define CONFIG_LIBGME_DEMUXER 0 ++#define CONFIG_LIBMODPLUG_DEMUXER 0 ++#define CONFIG_LIBOPENMPT_DEMUXER 0 ++#define CONFIG_VAPOURSYNTH_DEMUXER 0 ++#define CONFIG_A64_MUXER 0 ++#define CONFIG_AC3_MUXER 0 ++#define CONFIG_ADTS_MUXER 0 ++#define CONFIG_ADX_MUXER 0 ++#define CONFIG_AIFF_MUXER 0 ++#define CONFIG_ALP_MUXER 0 ++#define CONFIG_AMR_MUXER 0 ++#define CONFIG_AMV_MUXER 0 ++#define CONFIG_APM_MUXER 0 ++#define CONFIG_APNG_MUXER 0 ++#define CONFIG_APTX_MUXER 0 ++#define CONFIG_APTX_HD_MUXER 0 ++#define CONFIG_ARGO_ASF_MUXER 0 ++#define CONFIG_ARGO_CVG_MUXER 0 ++#define CONFIG_ASF_MUXER 0 ++#define CONFIG_ASS_MUXER 0 ++#define CONFIG_AST_MUXER 0 ++#define CONFIG_ASF_STREAM_MUXER 0 ++#define CONFIG_AU_MUXER 0 ++#define CONFIG_AVI_MUXER 0 ++#define CONFIG_AVM2_MUXER 0 ++#define CONFIG_AVS2_MUXER 0 ++#define CONFIG_AVS3_MUXER 0 ++#define CONFIG_BIT_MUXER 0 ++#define CONFIG_CAF_MUXER 0 ++#define CONFIG_CAVSVIDEO_MUXER 0 ++#define CONFIG_CODEC2_MUXER 0 ++#define CONFIG_CODEC2RAW_MUXER 0 ++#define CONFIG_CRC_MUXER 0 ++#define CONFIG_DASH_MUXER 0 ++#define CONFIG_DATA_MUXER 0 ++#define CONFIG_DAUD_MUXER 0 ++#define CONFIG_DFPWM_MUXER 0 ++#define CONFIG_DIRAC_MUXER 0 ++#define CONFIG_DNXHD_MUXER 0 ++#define CONFIG_DTS_MUXER 0 ++#define CONFIG_DV_MUXER 0 ++#define CONFIG_EAC3_MUXER 0 ++#define CONFIG_F4V_MUXER 0 ++#define CONFIG_FFMETADATA_MUXER 0 ++#define CONFIG_FIFO_MUXER 0 ++#define CONFIG_FIFO_TEST_MUXER 0 ++#define CONFIG_FILMSTRIP_MUXER 0 ++#define CONFIG_FITS_MUXER 0 ++#define CONFIG_FLAC_MUXER 0 ++#define CONFIG_FLV_MUXER 0 ++#define CONFIG_FRAMECRC_MUXER 0 ++#define CONFIG_FRAMEHASH_MUXER 0 ++#define CONFIG_FRAMEMD5_MUXER 0 ++#define CONFIG_G722_MUXER 0 ++#define CONFIG_G723_1_MUXER 0 ++#define CONFIG_G726_MUXER 0 ++#define CONFIG_G726LE_MUXER 0 ++#define CONFIG_GIF_MUXER 0 ++#define CONFIG_GSM_MUXER 0 ++#define CONFIG_GXF_MUXER 0 ++#define CONFIG_H261_MUXER 0 ++#define CONFIG_H263_MUXER 0 ++#define CONFIG_H264_MUXER 0 ++#define CONFIG_HASH_MUXER 0 ++#define CONFIG_HDS_MUXER 0 ++#define CONFIG_HEVC_MUXER 0 ++#define CONFIG_HLS_MUXER 0 ++#define CONFIG_ICO_MUXER 0 ++#define CONFIG_ILBC_MUXER 0 ++#define CONFIG_IMAGE2_MUXER 0 ++#define CONFIG_IMAGE2PIPE_MUXER 0 ++#define CONFIG_IPOD_MUXER 0 ++#define CONFIG_IRCAM_MUXER 0 ++#define CONFIG_ISMV_MUXER 0 ++#define CONFIG_IVF_MUXER 0 ++#define CONFIG_JACOSUB_MUXER 0 ++#define CONFIG_KVAG_MUXER 0 ++#define CONFIG_LATM_MUXER 0 ++#define CONFIG_LRC_MUXER 0 ++#define CONFIG_M4V_MUXER 0 ++#define CONFIG_MD5_MUXER 0 ++#define CONFIG_MATROSKA_MUXER 0 ++#define CONFIG_MATROSKA_AUDIO_MUXER 0 ++#define CONFIG_MICRODVD_MUXER 0 ++#define CONFIG_MJPEG_MUXER 0 ++#define CONFIG_MLP_MUXER 0 ++#define CONFIG_MMF_MUXER 0 ++#define CONFIG_MOV_MUXER 0 ++#define CONFIG_MP2_MUXER 0 ++#define CONFIG_MP3_MUXER 0 ++#define CONFIG_MP4_MUXER 0 ++#define CONFIG_MPEG1SYSTEM_MUXER 0 ++#define CONFIG_MPEG1VCD_MUXER 0 ++#define CONFIG_MPEG1VIDEO_MUXER 0 ++#define CONFIG_MPEG2DVD_MUXER 0 ++#define CONFIG_MPEG2SVCD_MUXER 0 ++#define CONFIG_MPEG2VIDEO_MUXER 0 ++#define CONFIG_MPEG2VOB_MUXER 0 ++#define CONFIG_MPEGTS_MUXER 0 ++#define CONFIG_MPJPEG_MUXER 0 ++#define CONFIG_MXF_MUXER 0 ++#define CONFIG_MXF_D10_MUXER 0 ++#define CONFIG_MXF_OPATOM_MUXER 0 ++#define CONFIG_NULL_MUXER 0 ++#define CONFIG_NUT_MUXER 0 ++#define CONFIG_OBU_MUXER 0 ++#define CONFIG_OGA_MUXER 0 ++#define CONFIG_OGG_MUXER 0 ++#define CONFIG_OGV_MUXER 0 ++#define CONFIG_OMA_MUXER 0 ++#define CONFIG_OPUS_MUXER 0 ++#define CONFIG_PCM_ALAW_MUXER 0 ++#define CONFIG_PCM_MULAW_MUXER 0 ++#define CONFIG_PCM_VIDC_MUXER 0 ++#define CONFIG_PCM_F64BE_MUXER 0 ++#define CONFIG_PCM_F64LE_MUXER 0 ++#define CONFIG_PCM_F32BE_MUXER 0 ++#define CONFIG_PCM_F32LE_MUXER 0 ++#define CONFIG_PCM_S32BE_MUXER 0 ++#define CONFIG_PCM_S32LE_MUXER 0 ++#define CONFIG_PCM_S24BE_MUXER 0 ++#define CONFIG_PCM_S24LE_MUXER 0 ++#define CONFIG_PCM_S16BE_MUXER 0 ++#define CONFIG_PCM_S16LE_MUXER 0 ++#define CONFIG_PCM_S8_MUXER 0 ++#define CONFIG_PCM_U32BE_MUXER 0 ++#define CONFIG_PCM_U32LE_MUXER 0 ++#define CONFIG_PCM_U24BE_MUXER 0 ++#define CONFIG_PCM_U24LE_MUXER 0 ++#define CONFIG_PCM_U16BE_MUXER 0 ++#define CONFIG_PCM_U16LE_MUXER 0 ++#define CONFIG_PCM_U8_MUXER 0 ++#define CONFIG_PSP_MUXER 0 ++#define CONFIG_RAWVIDEO_MUXER 0 ++#define CONFIG_RM_MUXER 0 ++#define CONFIG_ROQ_MUXER 0 ++#define CONFIG_RSO_MUXER 0 ++#define CONFIG_RTP_MUXER 0 ++#define CONFIG_RTP_MPEGTS_MUXER 0 ++#define CONFIG_RTSP_MUXER 0 ++#define CONFIG_SAP_MUXER 0 ++#define CONFIG_SBC_MUXER 0 ++#define CONFIG_SCC_MUXER 0 ++#define CONFIG_SEGAFILM_MUXER 0 ++#define CONFIG_SEGMENT_MUXER 0 ++#define CONFIG_STREAM_SEGMENT_MUXER 0 ++#define CONFIG_SMJPEG_MUXER 0 ++#define CONFIG_SMOOTHSTREAMING_MUXER 0 ++#define CONFIG_SOX_MUXER 0 ++#define CONFIG_SPX_MUXER 0 ++#define CONFIG_SPDIF_MUXER 0 ++#define CONFIG_SRT_MUXER 0 ++#define CONFIG_STREAMHASH_MUXER 0 ++#define CONFIG_SUP_MUXER 0 ++#define CONFIG_SWF_MUXER 0 ++#define CONFIG_TEE_MUXER 0 ++#define CONFIG_TG2_MUXER 0 ++#define CONFIG_TGP_MUXER 0 ++#define CONFIG_MKVTIMESTAMP_V2_MUXER 0 ++#define CONFIG_TRUEHD_MUXER 0 ++#define CONFIG_TTA_MUXER 0 ++#define CONFIG_TTML_MUXER 0 ++#define CONFIG_UNCODEDFRAMECRC_MUXER 0 ++#define CONFIG_VC1_MUXER 0 ++#define CONFIG_VC1T_MUXER 0 ++#define CONFIG_VOC_MUXER 0 ++#define CONFIG_W64_MUXER 0 ++#define CONFIG_WAV_MUXER 0 ++#define CONFIG_WEBM_MUXER 0 ++#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0 ++#define CONFIG_WEBM_CHUNK_MUXER 0 ++#define CONFIG_WEBP_MUXER 0 ++#define CONFIG_WEBVTT_MUXER 0 ++#define CONFIG_WSAUD_MUXER 0 ++#define CONFIG_WTV_MUXER 0 ++#define CONFIG_WV_MUXER 0 ++#define CONFIG_YUV4MPEGPIPE_MUXER 0 ++#define CONFIG_CHROMAPRINT_MUXER 0 ++#define CONFIG_ASYNC_PROTOCOL 0 ++#define CONFIG_BLURAY_PROTOCOL 0 ++#define CONFIG_CACHE_PROTOCOL 0 ++#define CONFIG_CONCAT_PROTOCOL 0 ++#define CONFIG_CONCATF_PROTOCOL 0 ++#define CONFIG_CRYPTO_PROTOCOL 0 ++#define CONFIG_DATA_PROTOCOL 0 ++#define CONFIG_FFRTMPCRYPT_PROTOCOL 0 ++#define CONFIG_FFRTMPHTTP_PROTOCOL 0 ++#define CONFIG_FILE_PROTOCOL 0 ++#define CONFIG_FTP_PROTOCOL 0 ++#define CONFIG_GOPHER_PROTOCOL 0 ++#define CONFIG_GOPHERS_PROTOCOL 0 ++#define CONFIG_HLS_PROTOCOL 0 ++#define CONFIG_HTTP_PROTOCOL 0 ++#define CONFIG_HTTPPROXY_PROTOCOL 0 ++#define CONFIG_HTTPS_PROTOCOL 0 ++#define CONFIG_ICECAST_PROTOCOL 0 ++#define CONFIG_MMSH_PROTOCOL 0 ++#define CONFIG_MMST_PROTOCOL 0 ++#define CONFIG_MD5_PROTOCOL 0 ++#define CONFIG_PIPE_PROTOCOL 0 ++#define CONFIG_PROMPEG_PROTOCOL 0 ++#define CONFIG_RTMP_PROTOCOL 0 ++#define CONFIG_RTMPE_PROTOCOL 0 ++#define CONFIG_RTMPS_PROTOCOL 0 ++#define CONFIG_RTMPT_PROTOCOL 0 ++#define CONFIG_RTMPTE_PROTOCOL 0 ++#define CONFIG_RTMPTS_PROTOCOL 0 ++#define CONFIG_RTP_PROTOCOL 0 ++#define CONFIG_SCTP_PROTOCOL 0 ++#define CONFIG_SRTP_PROTOCOL 0 ++#define CONFIG_SUBFILE_PROTOCOL 0 ++#define CONFIG_TEE_PROTOCOL 0 ++#define CONFIG_TCP_PROTOCOL 0 ++#define CONFIG_TLS_PROTOCOL 0 ++#define CONFIG_UDP_PROTOCOL 0 ++#define CONFIG_UDPLITE_PROTOCOL 0 ++#define CONFIG_UNIX_PROTOCOL 0 ++#define CONFIG_LIBAMQP_PROTOCOL 0 ++#define CONFIG_LIBRIST_PROTOCOL 0 ++#define CONFIG_LIBRTMP_PROTOCOL 0 ++#define CONFIG_LIBRTMPE_PROTOCOL 0 ++#define CONFIG_LIBRTMPS_PROTOCOL 0 ++#define CONFIG_LIBRTMPT_PROTOCOL 0 ++#define CONFIG_LIBRTMPTE_PROTOCOL 0 ++#define CONFIG_LIBSRT_PROTOCOL 0 ++#define CONFIG_LIBSSH_PROTOCOL 0 ++#define CONFIG_LIBSMBCLIENT_PROTOCOL 0 ++#define CONFIG_LIBZMQ_PROTOCOL 0 ++#endif /* FFMPEG_CONFIG_COMPONENTS_H */ diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm new file mode 100644 index 000000000000..4ab3d4d60a1d --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.asm @@ -0,0 +1,723 @@ +--- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.asm.orig 2022-10-01 07:40:07 UTC ++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.asm +@@ -0,0 +1,720 @@ ++; Automatically generated by configure - do not modify! ++%define ARCH_AARCH64 0 ++%define ARCH_ALPHA 0 ++%define ARCH_ARM 0 ++%define ARCH_AVR32 0 ++%define ARCH_AVR32_AP 0 ++%define ARCH_AVR32_UC 0 ++%define ARCH_BFIN 0 ++%define ARCH_IA64 0 ++%define ARCH_LOONGARCH 0 ++%define ARCH_LOONGARCH32 0 ++%define ARCH_LOONGARCH64 0 ++%define ARCH_M68K 0 ++%define ARCH_MIPS 0 ++%define ARCH_MIPS64 0 ++%define ARCH_PARISC 0 ++%define ARCH_PPC 0 ++%define ARCH_PPC64 0 ++%define ARCH_RISCV 0 ++%define ARCH_S390 0 ++%define ARCH_SH4 0 ++%define ARCH_SPARC 0 ++%define ARCH_SPARC64 0 ++%define ARCH_TILEGX 0 ++%define ARCH_TILEPRO 0 ++%define ARCH_TOMI 0 ++%define ARCH_X86 1 ++%define ARCH_X86_32 1 ++%define ARCH_X86_64 0 ++%define HAVE_ARMV5TE 0 ++%define HAVE_ARMV6 0 ++%define HAVE_ARMV6T2 0 ++%define HAVE_ARMV8 0 ++%define HAVE_NEON 0 ++%define HAVE_VFP 0 ++%define HAVE_VFPV3 0 ++%define HAVE_SETEND 0 ++%define HAVE_ALTIVEC 0 ++%define HAVE_DCBZL 0 ++%define HAVE_LDBRX 0 ++%define HAVE_POWER8 0 ++%define HAVE_PPC4XX 0 ++%define HAVE_VSX 0 ++%define HAVE_AESNI 1 ++%define HAVE_AMD3DNOW 1 ++%define HAVE_AMD3DNOWEXT 1 ++%define HAVE_AVX 1 ++%define HAVE_AVX2 1 ++%define HAVE_AVX512 1 ++%define HAVE_AVX512ICL 1 ++%define HAVE_FMA3 1 ++%define HAVE_FMA4 1 ++%define HAVE_MMX 1 ++%define HAVE_MMXEXT 1 ++%define HAVE_SSE 1 ++%define HAVE_SSE2 1 ++%define HAVE_SSE3 1 ++%define HAVE_SSE4 1 ++%define HAVE_SSE42 1 ++%define HAVE_SSSE3 1 ++%define HAVE_XOP 1 ++%define HAVE_CPUNOP 0 ++%define HAVE_I686 1 ++%define HAVE_MIPSFPU 0 ++%define HAVE_MIPS32R2 0 ++%define HAVE_MIPS32R5 0 ++%define HAVE_MIPS64R2 0 ++%define HAVE_MIPS32R6 0 ++%define HAVE_MIPS64R6 0 ++%define HAVE_MIPSDSP 0 ++%define HAVE_MIPSDSPR2 0 ++%define HAVE_MSA 0 ++%define HAVE_LOONGSON2 0 ++%define HAVE_LOONGSON3 0 ++%define HAVE_MMI 0 ++%define HAVE_LSX 0 ++%define HAVE_LASX 0 ++%define HAVE_ARMV5TE_EXTERNAL 0 ++%define HAVE_ARMV6_EXTERNAL 0 ++%define HAVE_ARMV6T2_EXTERNAL 0 ++%define HAVE_ARMV8_EXTERNAL 0 ++%define HAVE_NEON_EXTERNAL 0 ++%define HAVE_VFP_EXTERNAL 0 ++%define HAVE_VFPV3_EXTERNAL 0 ++%define HAVE_SETEND_EXTERNAL 0 ++%define HAVE_ALTIVEC_EXTERNAL 0 ++%define HAVE_DCBZL_EXTERNAL 0 ++%define HAVE_LDBRX_EXTERNAL 0 ++%define HAVE_POWER8_EXTERNAL 0 ++%define HAVE_PPC4XX_EXTERNAL 0 ++%define HAVE_VSX_EXTERNAL 0 ++%define HAVE_AESNI_EXTERNAL 1 ++%define HAVE_AMD3DNOW_EXTERNAL 1 ++%define HAVE_AMD3DNOWEXT_EXTERNAL 1 ++%define HAVE_AVX_EXTERNAL 1 ++%define HAVE_AVX2_EXTERNAL 1 ++%define HAVE_AVX512_EXTERNAL 1 ++%define HAVE_AVX512ICL_EXTERNAL 0 ++%define HAVE_FMA3_EXTERNAL 1 ++%define HAVE_FMA4_EXTERNAL 1 ++%define HAVE_MMX_EXTERNAL 1 ++%define HAVE_MMXEXT_EXTERNAL 1 ++%define HAVE_SSE_EXTERNAL 1 ++%define HAVE_SSE2_EXTERNAL 1 ++%define HAVE_SSE3_EXTERNAL 1 ++%define HAVE_SSE4_EXTERNAL 1 ++%define HAVE_SSE42_EXTERNAL 1 ++%define HAVE_SSSE3_EXTERNAL 1 ++%define HAVE_XOP_EXTERNAL 1 ++%define HAVE_CPUNOP_EXTERNAL 0 ++%define HAVE_I686_EXTERNAL 0 ++%define HAVE_MIPSFPU_EXTERNAL 0 ++%define HAVE_MIPS32R2_EXTERNAL 0 ++%define HAVE_MIPS32R5_EXTERNAL 0 ++%define HAVE_MIPS64R2_EXTERNAL 0 ++%define HAVE_MIPS32R6_EXTERNAL 0 ++%define HAVE_MIPS64R6_EXTERNAL 0 ++%define HAVE_MIPSDSP_EXTERNAL 0 ++%define HAVE_MIPSDSPR2_EXTERNAL 0 ++%define HAVE_MSA_EXTERNAL 0 ++%define HAVE_LOONGSON2_EXTERNAL 0 ++%define HAVE_LOONGSON3_EXTERNAL 0 ++%define HAVE_MMI_EXTERNAL 0 ++%define HAVE_LSX_EXTERNAL 0 ++%define HAVE_LASX_EXTERNAL 0 ++%define HAVE_ARMV5TE_INLINE 0 ++%define HAVE_ARMV6_INLINE 0 ++%define HAVE_ARMV6T2_INLINE 0 ++%define HAVE_ARMV8_INLINE 0 ++%define HAVE_NEON_INLINE 0 ++%define HAVE_VFP_INLINE 0 ++%define HAVE_VFPV3_INLINE 0 ++%define HAVE_SETEND_INLINE 0 ++%define HAVE_ALTIVEC_INLINE 0 ++%define HAVE_DCBZL_INLINE 0 ++%define HAVE_LDBRX_INLINE 0 ++%define HAVE_POWER8_INLINE 0 ++%define HAVE_PPC4XX_INLINE 0 ++%define HAVE_VSX_INLINE 0 ++%define HAVE_AESNI_INLINE 1 ++%define HAVE_AMD3DNOW_INLINE 1 ++%define HAVE_AMD3DNOWEXT_INLINE 1 ++%define HAVE_AVX_INLINE 1 ++%define HAVE_AVX2_INLINE 1 ++%define HAVE_AVX512_INLINE 1 ++%define HAVE_AVX512ICL_INLINE 1 ++%define HAVE_FMA3_INLINE 1 ++%define HAVE_FMA4_INLINE 1 ++%define HAVE_MMX_INLINE 1 ++%define HAVE_MMXEXT_INLINE 1 ++%define HAVE_SSE_INLINE 1 ++%define HAVE_SSE2_INLINE 1 ++%define HAVE_SSE3_INLINE 1 ++%define HAVE_SSE4_INLINE 1 ++%define HAVE_SSE42_INLINE 1 ++%define HAVE_SSSE3_INLINE 1 ++%define HAVE_XOP_INLINE 1 ++%define HAVE_CPUNOP_INLINE 0 ++%define HAVE_I686_INLINE 0 ++%define HAVE_MIPSFPU_INLINE 0 ++%define HAVE_MIPS32R2_INLINE 0 ++%define HAVE_MIPS32R5_INLINE 0 ++%define HAVE_MIPS64R2_INLINE 0 ++%define HAVE_MIPS32R6_INLINE 0 ++%define HAVE_MIPS64R6_INLINE 0 ++%define HAVE_MIPSDSP_INLINE 0 ++%define HAVE_MIPSDSPR2_INLINE 0 ++%define HAVE_MSA_INLINE 0 ++%define HAVE_LOONGSON2_INLINE 0 ++%define HAVE_LOONGSON3_INLINE 0 ++%define HAVE_MMI_INLINE 0 ++%define HAVE_LSX_INLINE 0 ++%define HAVE_LASX_INLINE 0 ++%define HAVE_ALIGNED_STACK 0 ++%define HAVE_FAST_64BIT 0 ++%define HAVE_FAST_CLZ 1 ++%define HAVE_FAST_CMOV 0 ++%define HAVE_LOCAL_ALIGNED 1 ++%define HAVE_SIMD_ALIGN_16 1 ++%define HAVE_SIMD_ALIGN_32 1 ++%define HAVE_SIMD_ALIGN_64 1 ++%define HAVE_ATOMIC_CAS_PTR 0 ++%define HAVE_MACHINE_RW_BARRIER 0 ++%define HAVE_MEMORYBARRIER 0 ++%define HAVE_MM_EMPTY 0 ++%define HAVE_RDTSC 0 ++%define HAVE_SEM_TIMEDWAIT 1 ++%define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1 ++%define HAVE_CABS 0 ++%define HAVE_CEXP 0 ++%define HAVE_INLINE_ASM 1 ++%define HAVE_SYMVER 0 ++%define HAVE_X86ASM 1 ++%define HAVE_BIGENDIAN 0 ++%define HAVE_FAST_UNALIGNED 1 ++%define HAVE_ARPA_INET_H 0 ++%define HAVE_ASM_TYPES_H 0 ++%define HAVE_CDIO_PARANOIA_H 0 ++%define HAVE_CDIO_PARANOIA_PARANOIA_H 0 ++%define HAVE_CUDA_H 0 ++%define HAVE_DISPATCH_DISPATCH_H 0 ++%define HAVE_DEV_BKTR_IOCTL_BT848_H 0 ++%define HAVE_DEV_BKTR_IOCTL_METEOR_H 0 ++%define HAVE_DEV_IC_BT8XX_H 1 ++%define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0 ++%define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0 ++%define HAVE_DIRECT_H 0 ++%define HAVE_DIRENT_H 1 ++%define HAVE_DXGIDEBUG_H 0 ++%define HAVE_DXVA_H 0 ++%define HAVE_ES2_GL_H 0 ++%define HAVE_GSM_H 0 ++%define HAVE_IO_H 0 ++%define HAVE_LINUX_DMA_BUF_H 0 ++%define HAVE_LINUX_PERF_EVENT_H 0 ++%define HAVE_MACHINE_IOCTL_BT848_H 0 ++%define HAVE_MACHINE_IOCTL_METEOR_H 0 ++%define HAVE_MALLOC_H 0 ++%define HAVE_OPENCV2_CORE_CORE_C_H 0 ++%define HAVE_OPENGL_GL3_H 0 ++%define HAVE_POLL_H 1 ++%define HAVE_SYS_PARAM_H 1 ++%define HAVE_SYS_RESOURCE_H 1 ++%define HAVE_SYS_SELECT_H 1 ++%define HAVE_SYS_SOUNDCARD_H 0 ++%define HAVE_SYS_TIME_H 1 ++%define HAVE_SYS_UN_H 1 ++%define HAVE_SYS_VIDEOIO_H 1 ++%define HAVE_TERMIOS_H 1 ++%define HAVE_UDPLITE_H 0 ++%define HAVE_UNISTD_H 1 ++%define HAVE_VALGRIND_VALGRIND_H 0 ; %define HAVE_VALGRIND_VALGRIND_H 0 -- forced to 0. See https://crbug.com/590440 ++%define HAVE_WINDOWS_H 0 ++%define HAVE_WINSOCK2_H 0 ++%define HAVE_INTRINSICS_NEON 0 ++%define HAVE_ATANF 1 ++%define HAVE_ATAN2F 1 ++%define HAVE_CBRT 1 ++%define HAVE_CBRTF 1 ++%define HAVE_COPYSIGN 1 ++%define HAVE_COSF 1 ++%define HAVE_ERF 1 ++%define HAVE_EXP2 1 ++%define HAVE_EXP2F 1 ++%define HAVE_EXPF 1 ++%define HAVE_HYPOT 1 ++%define HAVE_ISFINITE 1 ++%define HAVE_ISINF 1 ++%define HAVE_ISNAN 1 ++%define HAVE_LDEXPF 1 ++%define HAVE_LLRINT 1 ++%define HAVE_LLRINTF 1 ++%define HAVE_LOG2 1 ++%define HAVE_LOG2F 1 ++%define HAVE_LOG10F 1 ++%define HAVE_LRINT 1 ++%define HAVE_LRINTF 1 ++%define HAVE_POWF 1 ++%define HAVE_RINT 1 ++%define HAVE_ROUND 1 ++%define HAVE_ROUNDF 1 ++%define HAVE_SINF 1 ++%define HAVE_TRUNC 1 ++%define HAVE_TRUNCF 1 ++%define HAVE_DOS_PATHS 0 ++%define HAVE_LIBC_MSVCRT 0 ++%define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0 ++%define HAVE_SECTION_DATA_REL_RO 1 ++%define HAVE_THREADS 1 ++%define HAVE_UWP 0 ++%define HAVE_WINRT 0 ++%define HAVE_ACCESS 1 ++%define HAVE_ALIGNED_MALLOC 0 ++%define HAVE_ARC4RANDOM 1 ++%define HAVE_CLOCK_GETTIME 1 ++%define HAVE_CLOSESOCKET 0 ++%define HAVE_COMMANDLINETOARGVW 0 ++%define HAVE_FCNTL 1 ++%define HAVE_GETADDRINFO 0 ++%define HAVE_GETAUXVAL 0 ++%define HAVE_GETHRTIME 0 ++%define HAVE_GETOPT 1 ++%define HAVE_GETMODULEHANDLE 0 ++%define HAVE_GETPROCESSAFFINITYMASK 0 ++%define HAVE_GETPROCESSMEMORYINFO 0 ++%define HAVE_GETPROCESSTIMES 0 ++%define HAVE_GETRUSAGE 1 ++%define HAVE_GETSTDHANDLE 0 ++%define HAVE_GETSYSTEMTIMEASFILETIME 0 ++%define HAVE_GETTIMEOFDAY 1 ++%define HAVE_GLOB 1 ++%define HAVE_GLXGETPROCADDRESS 0 ++%define HAVE_GMTIME_R 1 ++%define HAVE_INET_ATON 0 ++%define HAVE_ISATTY 1 ++%define HAVE_KBHIT 0 ++%define HAVE_LOCALTIME_R 1 ++%define HAVE_LSTAT 1 ++%define HAVE_LZO1X_999_COMPRESS 0 ++%define HAVE_MACH_ABSOLUTE_TIME 0 ++%define HAVE_MAPVIEWOFFILE 0 ++%define HAVE_MEMALIGN 0 ++%define HAVE_MKSTEMP 1 ++%define HAVE_MMAP 1 ++%define HAVE_MPROTECT 1 ++%define HAVE_NANOSLEEP 1 ++%define HAVE_PEEKNAMEDPIPE 0 ++%define HAVE_POSIX_MEMALIGN 1 ++%define HAVE_PTHREAD_CANCEL 1 ++%define HAVE_SCHED_GETAFFINITY 0 ++%define HAVE_SECITEMIMPORT 0 ++%define HAVE_SETCONSOLETEXTATTRIBUTE 0 ++%define HAVE_SETCONSOLECTRLHANDLER 0 ++%define HAVE_SETDLLDIRECTORY 0 ++%define HAVE_SETMODE 0 ++%define HAVE_SETRLIMIT 1 ++%define HAVE_SLEEP 0 ++%define HAVE_STRERROR_R 1 ++%define HAVE_SYSCONF 1 ++%define HAVE_SYSCTL 0 ++%define HAVE_USLEEP 1 ++%define HAVE_UTGETOSTYPEFROMSTRING 0 ++%define HAVE_VIRTUALALLOC 0 ++%define HAVE_WGLGETPROCADDRESS 0 ++%define HAVE_BCRYPT 0 ++%define HAVE_VAAPI_DRM 0 ++%define HAVE_VAAPI_X11 0 ++%define HAVE_VDPAU_X11 0 ++%define HAVE_PTHREADS 1 ++%define HAVE_OS2THREADS 0 ++%define HAVE_W32THREADS 0 ++%define HAVE_AS_ARCH_DIRECTIVE 0 ++%define HAVE_AS_DN_DIRECTIVE 0 ++%define HAVE_AS_FPU_DIRECTIVE 0 ++%define HAVE_AS_FUNC 0 ++%define HAVE_AS_OBJECT_ARCH 0 ++%define HAVE_ASM_MOD_Q 0 ++%define HAVE_BLOCKS_EXTENSION 0 ++%define HAVE_EBP_AVAILABLE 1 ++%define HAVE_EBX_AVAILABLE 1 ++%define HAVE_GNU_AS 0 ++%define HAVE_GNU_WINDRES 0 ++%define HAVE_IBM_ASM 0 ++%define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 1 ++%define HAVE_INLINE_ASM_LABELS 1 ++%define HAVE_INLINE_ASM_NONLOCAL_LABELS 1 ++%define HAVE_PRAGMA_DEPRECATED 1 ++%define HAVE_RSYNC_CONTIMEOUT 1 ++%define HAVE_SYMVER_ASM_LABEL 1 ++%define HAVE_SYMVER_GNU_ASM 1 ++%define HAVE_VFP_ARGS 0 ++%define HAVE_XFORM_ASM 0 ++%define HAVE_XMM_CLOBBERS 1 ++%define HAVE_KCMVIDEOCODECTYPE_HEVC 0 ++%define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0 ++%define HAVE_KCMVIDEOCODECTYPE_VP9 0 ++%define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0 ++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0 ++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0 ++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0 ++%define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0 ++%define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0 ++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0 ++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0 ++%define HAVE_SOCKLEN_T 0 ++%define HAVE_STRUCT_ADDRINFO 0 ++%define HAVE_STRUCT_GROUP_SOURCE_REQ 0 ++%define HAVE_STRUCT_IP_MREQ_SOURCE 0 ++%define HAVE_STRUCT_IPV6_MREQ 0 ++%define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0 ++%define HAVE_STRUCT_POLLFD 0 ++%define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1 ++%define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0 ++%define HAVE_STRUCT_SOCKADDR_IN6 0 ++%define HAVE_STRUCT_SOCKADDR_SA_LEN 0 ++%define HAVE_STRUCT_SOCKADDR_STORAGE 0 ++%define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 ++%define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1 ++%define HAVE_GZIP 1 ++%define HAVE_LIBDRM_GETFB2 0 ++%define HAVE_MAKEINFO 1 ++%define HAVE_MAKEINFO_HTML 0 ++%define HAVE_OPENCL_D3D11 0 ++%define HAVE_OPENCL_DRM_ARM 0 ++%define HAVE_OPENCL_DRM_BEIGNET 0 ++%define HAVE_OPENCL_DXVA2 0 ++%define HAVE_OPENCL_VAAPI_BEIGNET 0 ++%define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0 ++%define HAVE_PERL 1 ++%define HAVE_POD2MAN 1 ++%define HAVE_TEXI2HTML 0 ++%define HAVE_XMLLINT 1 ++%define HAVE_ZLIB_GZIP 0 ++%define CONFIG_DOC 0 ++%define CONFIG_HTMLPAGES 0 ++%define CONFIG_MANPAGES 0 ++%define CONFIG_PODPAGES 0 ++%define CONFIG_TXTPAGES 0 ++%define CONFIG_AVIO_LIST_DIR_EXAMPLE 1 ++%define CONFIG_AVIO_READING_EXAMPLE 1 ++%define CONFIG_DECODE_AUDIO_EXAMPLE 1 ++%define CONFIG_DECODE_VIDEO_EXAMPLE 1 ++%define CONFIG_DEMUXING_DECODING_EXAMPLE 1 ++%define CONFIG_ENCODE_AUDIO_EXAMPLE 1 ++%define CONFIG_ENCODE_VIDEO_EXAMPLE 1 ++%define CONFIG_EXTRACT_MVS_EXAMPLE 1 ++%define CONFIG_FILTER_AUDIO_EXAMPLE 0 ++%define CONFIG_FILTERING_AUDIO_EXAMPLE 0 ++%define CONFIG_FILTERING_VIDEO_EXAMPLE 0 ++%define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1 ++%define CONFIG_HW_DECODE_EXAMPLE 1 ++%define CONFIG_METADATA_EXAMPLE 1 ++%define CONFIG_MUXING_EXAMPLE 0 ++%define CONFIG_QSVDEC_EXAMPLE 0 ++%define CONFIG_REMUXING_EXAMPLE 1 ++%define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0 ++%define CONFIG_SCALING_VIDEO_EXAMPLE 0 ++%define CONFIG_TRANSCODE_AAC_EXAMPLE 0 ++%define CONFIG_TRANSCODING_EXAMPLE 0 ++%define CONFIG_VAAPI_ENCODE_EXAMPLE 0 ++%define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0 ++%define CONFIG_AVISYNTH 0 ++%define CONFIG_FREI0R 0 ++%define CONFIG_LIBCDIO 0 ++%define CONFIG_LIBDAVS2 0 ++%define CONFIG_LIBRUBBERBAND 0 ++%define CONFIG_LIBVIDSTAB 0 ++%define CONFIG_LIBX264 0 ++%define CONFIG_LIBX265 0 ++%define CONFIG_LIBXAVS 0 ++%define CONFIG_LIBXAVS2 0 ++%define CONFIG_LIBXVID 0 ++%define CONFIG_DECKLINK 0 ++%define CONFIG_LIBFDK_AAC 0 ++%define CONFIG_LIBTLS 0 ++%define CONFIG_GMP 0 ++%define CONFIG_LIBARIBB24 0 ++%define CONFIG_LIBLENSFUN 0 ++%define CONFIG_LIBOPENCORE_AMRNB 0 ++%define CONFIG_LIBOPENCORE_AMRWB 0 ++%define CONFIG_LIBVO_AMRWBENC 0 ++%define CONFIG_MBEDTLS 0 ++%define CONFIG_RKMPP 0 ++%define CONFIG_LIBSMBCLIENT 0 ++%define CONFIG_CHROMAPRINT 0 ++%define CONFIG_GCRYPT 0 ++%define CONFIG_GNUTLS 0 ++%define CONFIG_JNI 0 ++%define CONFIG_LADSPA 0 ++%define CONFIG_LIBAOM 0 ++%define CONFIG_LIBASS 0 ++%define CONFIG_LIBBLURAY 0 ++%define CONFIG_LIBBS2B 0 ++%define CONFIG_LIBCACA 0 ++%define CONFIG_LIBCELT 0 ++%define CONFIG_LIBCODEC2 0 ++%define CONFIG_LIBDAV1D 0 ++%define CONFIG_LIBDC1394 0 ++%define CONFIG_LIBDRM 0 ++%define CONFIG_LIBFLITE 0 ++%define CONFIG_LIBFONTCONFIG 0 ++%define CONFIG_LIBFREETYPE 0 ++%define CONFIG_LIBFRIBIDI 0 ++%define CONFIG_LIBGLSLANG 0 ++%define CONFIG_LIBGME 0 ++%define CONFIG_LIBGSM 0 ++%define CONFIG_LIBIEC61883 0 ++%define CONFIG_LIBILBC 0 ++%define CONFIG_LIBJACK 0 ++%define CONFIG_LIBKLVANC 0 ++%define CONFIG_LIBKVAZAAR 0 ++%define CONFIG_LIBMODPLUG 0 ++%define CONFIG_LIBMP3LAME 0 ++%define CONFIG_LIBMYSOFA 0 ++%define CONFIG_LIBOPENCV 0 ++%define CONFIG_LIBOPENH264 0 ++%define CONFIG_LIBOPENJPEG 0 ++%define CONFIG_LIBOPENMPT 0 ++%define CONFIG_LIBOPENVINO 0 ++%define CONFIG_LIBOPUS 1 ++%define CONFIG_LIBPLACEBO 0 ++%define CONFIG_LIBPULSE 0 ++%define CONFIG_LIBRABBITMQ 0 ++%define CONFIG_LIBRAV1E 0 ++%define CONFIG_LIBRIST 0 ++%define CONFIG_LIBRSVG 0 ++%define CONFIG_LIBRTMP 0 ++%define CONFIG_LIBSHADERC 0 ++%define CONFIG_LIBSHINE 0 ++%define CONFIG_LIBSMBCLIENT 0 ++%define CONFIG_LIBSNAPPY 0 ++%define CONFIG_LIBSOXR 0 ++%define CONFIG_LIBSPEEX 0 ++%define CONFIG_LIBSRT 0 ++%define CONFIG_LIBSSH 0 ++%define CONFIG_LIBSVTAV1 0 ++%define CONFIG_LIBTENSORFLOW 0 ++%define CONFIG_LIBTESSERACT 0 ++%define CONFIG_LIBTHEORA 0 ++%define CONFIG_LIBTWOLAME 0 ++%define CONFIG_LIBUAVS3D 0 ++%define CONFIG_LIBV4L2 0 ++%define CONFIG_LIBVMAF 0 ++%define CONFIG_LIBVORBIS 0 ++%define CONFIG_LIBVPX 0 ++%define CONFIG_LIBWEBP 0 ++%define CONFIG_LIBXML2 0 ++%define CONFIG_LIBZIMG 0 ++%define CONFIG_LIBZMQ 0 ++%define CONFIG_LIBZVBI 0 ++%define CONFIG_LV2 0 ++%define CONFIG_MEDIACODEC 0 ++%define CONFIG_OPENAL 0 ++%define CONFIG_OPENGL 0 ++%define CONFIG_OPENSSL 0 ++%define CONFIG_POCKETSPHINX 0 ++%define CONFIG_VAPOURSYNTH 0 ++%define CONFIG_ALSA 0 ++%define CONFIG_APPKIT 0 ++%define CONFIG_AVFOUNDATION 0 ++%define CONFIG_BZLIB 0 ++%define CONFIG_COREIMAGE 0 ++%define CONFIG_ICONV 0 ++%define CONFIG_LIBXCB 0 ++%define CONFIG_LIBXCB_SHM 0 ++%define CONFIG_LIBXCB_SHAPE 0 ++%define CONFIG_LIBXCB_XFIXES 0 ++%define CONFIG_LZMA 0 ++%define CONFIG_MEDIAFOUNDATION 0 ++%define CONFIG_METAL 0 ++%define CONFIG_SCHANNEL 0 ++%define CONFIG_SDL2 0 ++%define CONFIG_SECURETRANSPORT 0 ++%define CONFIG_SNDIO 0 ++%define CONFIG_XLIB 0 ++%define CONFIG_ZLIB 0 ++%define CONFIG_CUDA_NVCC 0 ++%define CONFIG_CUDA_SDK 0 ++%define CONFIG_LIBNPP 0 ++%define CONFIG_LIBMFX 0 ++%define CONFIG_MMAL 0 ++%define CONFIG_OMX 0 ++%define CONFIG_OPENCL 0 ++%define CONFIG_AMF 0 ++%define CONFIG_AUDIOTOOLBOX 0 ++%define CONFIG_CRYSTALHD 0 ++%define CONFIG_CUDA 0 ++%define CONFIG_CUDA_LLVM 0 ++%define CONFIG_CUVID 0 ++%define CONFIG_D3D11VA 0 ++%define CONFIG_DXVA2 0 ++%define CONFIG_FFNVCODEC 0 ++%define CONFIG_NVDEC 0 ++%define CONFIG_NVENC 0 ++%define CONFIG_VAAPI 0 ++%define CONFIG_VDPAU 0 ++%define CONFIG_VIDEOTOOLBOX 0 ++%define CONFIG_VULKAN 0 ++%define CONFIG_V4L2_M2M 0 ++%define CONFIG_FTRAPV 0 ++%define CONFIG_GRAY 0 ++%define CONFIG_HARDCODED_TABLES 0 ++%define CONFIG_OMX_RPI 0 ++%define CONFIG_RUNTIME_CPUDETECT 1 ++%define CONFIG_SAFE_BITSTREAM_READER 1 ++%define CONFIG_SHARED 0 ++%define CONFIG_SMALL 0 ++%define CONFIG_STATIC 1 ++%define CONFIG_SWSCALE_ALPHA 1 ++%define CONFIG_GPL 0 ++%define CONFIG_NONFREE 0 ++%define CONFIG_VERSION3 0 ++%define CONFIG_AVDEVICE 0 ++%define CONFIG_AVFILTER 0 ++%define CONFIG_SWSCALE 0 ++%define CONFIG_POSTPROC 0 ++%define CONFIG_AVFORMAT 1 ++%define CONFIG_AVCODEC 1 ++%define CONFIG_SWRESAMPLE 0 ++%define CONFIG_AVUTIL 1 ++%define CONFIG_FFPLAY 0 ++%define CONFIG_FFPROBE 0 ++%define CONFIG_FFMPEG 0 ++%define CONFIG_DCT 1 ++%define CONFIG_DWT 0 ++%define CONFIG_ERROR_RESILIENCE 0 ++%define CONFIG_FAAN 0 ++%define CONFIG_FAST_UNALIGNED 1 ++%define CONFIG_FFT 1 ++%define CONFIG_LSP 0 ++%define CONFIG_MDCT 1 ++%define CONFIG_PIXELUTILS 0 ++%define CONFIG_NETWORK 0 ++%define CONFIG_RDFT 1 ++%define CONFIG_AUTODETECT 0 ++%define CONFIG_FONTCONFIG 0 ++%define CONFIG_LARGE_TESTS 1 ++%define CONFIG_LINUX_PERF 0 ++%define CONFIG_MACOS_KPERF 0 ++%define CONFIG_MEMORY_POISONING 0 ++%define CONFIG_NEON_CLOBBER_TEST 0 ++%define CONFIG_OSSFUZZ 0 ++%define CONFIG_PIC 1 ++%define CONFIG_PTX_COMPRESSION 0 ++%define CONFIG_THUMB 0 ++%define CONFIG_VALGRIND_BACKTRACE 0 ++%define CONFIG_XMM_CLOBBER_TEST 0 ++%define CONFIG_BSFS 0 ++%define CONFIG_DECODERS 1 ++%define CONFIG_ENCODERS 0 ++%define CONFIG_HWACCELS 0 ++%define CONFIG_PARSERS 1 ++%define CONFIG_INDEVS 0 ++%define CONFIG_OUTDEVS 0 ++%define CONFIG_FILTERS 0 ++%define CONFIG_DEMUXERS 1 ++%define CONFIG_MUXERS 0 ++%define CONFIG_PROTOCOLS 0 ++%define CONFIG_AANDCTTABLES 0 ++%define CONFIG_AC3DSP 0 ++%define CONFIG_ADTS_HEADER 1 ++%define CONFIG_ATSC_A53 1 ++%define CONFIG_AUDIO_FRAME_QUEUE 0 ++%define CONFIG_AUDIODSP 0 ++%define CONFIG_BLOCKDSP 0 ++%define CONFIG_BSWAPDSP 0 ++%define CONFIG_CABAC 1 ++%define CONFIG_CBS 0 ++%define CONFIG_CBS_AV1 0 ++%define CONFIG_CBS_H264 0 ++%define CONFIG_CBS_H265 0 ++%define CONFIG_CBS_JPEG 0 ++%define CONFIG_CBS_MPEG2 0 ++%define CONFIG_CBS_VP9 0 ++%define CONFIG_DEFLATE_WRAPPER 0 ++%define CONFIG_DIRAC_PARSE 1 ++%define CONFIG_DNN 0 ++%define CONFIG_DOVI_RPU 0 ++%define CONFIG_DVPROFILE 0 ++%define CONFIG_EXIF 0 ++%define CONFIG_FAANDCT 0 ++%define CONFIG_FAANIDCT 0 ++%define CONFIG_FDCTDSP 0 ++%define CONFIG_FLACDSP 1 ++%define CONFIG_FMTCONVERT 0 ++%define CONFIG_FRAME_THREAD_ENCODER 0 ++%define CONFIG_G722DSP 0 ++%define CONFIG_GOLOMB 1 ++%define CONFIG_GPLV3 0 ++%define CONFIG_H263DSP 0 ++%define CONFIG_H264CHROMA 1 ++%define CONFIG_H264DSP 1 ++%define CONFIG_H264PARSE 1 ++%define CONFIG_H264PRED 1 ++%define CONFIG_H264QPEL 1 ++%define CONFIG_HEVCPARSE 0 ++%define CONFIG_HPELDSP 1 ++%define CONFIG_HUFFMAN 0 ++%define CONFIG_HUFFYUVDSP 0 ++%define CONFIG_HUFFYUVENCDSP 0 ++%define CONFIG_IDCTDSP 0 ++%define CONFIG_IIRFILTER 0 ++%define CONFIG_MDCT15 1 ++%define CONFIG_INFLATE_WRAPPER 0 ++%define CONFIG_INTRAX8 0 ++%define CONFIG_ISO_MEDIA 1 ++%define CONFIG_IVIDSP 0 ++%define CONFIG_JPEGTABLES 0 ++%define CONFIG_LGPLV3 0 ++%define CONFIG_LIBX262 0 ++%define CONFIG_LLAUDDSP 0 ++%define CONFIG_LLVIDDSP 0 ++%define CONFIG_LLVIDENCDSP 0 ++%define CONFIG_LPC 0 ++%define CONFIG_LZF 0 ++%define CONFIG_ME_CMP 0 ++%define CONFIG_MPEG_ER 0 ++%define CONFIG_MPEGAUDIO 1 ++%define CONFIG_MPEGAUDIODSP 1 ++%define CONFIG_MPEGAUDIOHEADER 1 ++%define CONFIG_MPEG4AUDIO 1 ++%define CONFIG_MPEGVIDEO 0 ++%define CONFIG_MPEGVIDEODEC 0 ++%define CONFIG_MPEGVIDEOENC 0 ++%define CONFIG_MSS34DSP 0 ++%define CONFIG_PIXBLOCKDSP 0 ++%define CONFIG_QPELDSP 0 ++%define CONFIG_QSV 0 ++%define CONFIG_QSVDEC 0 ++%define CONFIG_QSVENC 0 ++%define CONFIG_QSVVPP 0 ++%define CONFIG_RANGECODER 0 ++%define CONFIG_RIFFDEC 1 ++%define CONFIG_RIFFENC 0 ++%define CONFIG_RTPDEC 0 ++%define CONFIG_RTPENC_CHAIN 0 ++%define CONFIG_RV34DSP 0 ++%define CONFIG_SCENE_SAD 0 ++%define CONFIG_SINEWIN 1 ++%define CONFIG_SNAPPY 0 ++%define CONFIG_SRTP 0 ++%define CONFIG_STARTCODE 1 ++%define CONFIG_TEXTUREDSP 0 ++%define CONFIG_TEXTUREDSPENC 0 ++%define CONFIG_TPELDSP 0 ++%define CONFIG_VAAPI_1 0 ++%define CONFIG_VAAPI_ENCODE 0 ++%define CONFIG_VC1DSP 0 ++%define CONFIG_VIDEODSP 1 ++%define CONFIG_VP3DSP 1 ++%define CONFIG_VP56DSP 0 ++%define CONFIG_VP8DSP 1 ++%define CONFIG_WMA_FREQS 0 ++%define CONFIG_WMV2DSP 0 diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h new file mode 100644 index 000000000000..7efd0083783a --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config.h @@ -0,0 +1,740 @@ +--- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config.h +@@ -0,0 +1,737 @@ ++/* Automatically generated by configure - do not modify! */ ++#ifndef FFMPEG_CONFIG_H ++#define FFMPEG_CONFIG_H ++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/d/code/chrome/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --arch=i686 --extra-cflags='\"-m32\"' --extra-ldflags='\"-m32\"' --enable-pic --cc=clang --cxx=clang++ --ld=clang --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" -- elide long configuration string from binary */ ++#define FFMPEG_LICENSE "LGPL version 2.1 or later" ++#define CONFIG_THIS_YEAR 2022 ++#define FFMPEG_DATADIR "/usr/local/share/ffmpeg" ++#define AVCONV_DATADIR "/usr/local/share/ffmpeg" ++#define CC_IDENT "OpenBSD clang version 13.0.0" ++#define OS_NAME openbsd ++#define av_restrict restrict ++#define EXTERN_PREFIX "" ++#define EXTERN_ASM ++#define BUILDSUF "" ++#define SLIBSUF ".so" ++#define HAVE_MMX2 HAVE_MMXEXT ++#define SWS_MAX_FILTER_SIZE 256 ++#define ARCH_AARCH64 0 ++#define ARCH_ALPHA 0 ++#define ARCH_ARM 0 ++#define ARCH_AVR32 0 ++#define ARCH_AVR32_AP 0 ++#define ARCH_AVR32_UC 0 ++#define ARCH_BFIN 0 ++#define ARCH_IA64 0 ++#define ARCH_LOONGARCH 0 ++#define ARCH_LOONGARCH32 0 ++#define ARCH_LOONGARCH64 0 ++#define ARCH_M68K 0 ++#define ARCH_MIPS 0 ++#define ARCH_MIPS64 0 ++#define ARCH_PARISC 0 ++#define ARCH_PPC 0 ++#define ARCH_PPC64 0 ++#define ARCH_RISCV 0 ++#define ARCH_S390 0 ++#define ARCH_SH4 0 ++#define ARCH_SPARC 0 ++#define ARCH_SPARC64 0 ++#define ARCH_TILEGX 0 ++#define ARCH_TILEPRO 0 ++#define ARCH_TOMI 0 ++#define ARCH_X86 1 ++#define ARCH_X86_32 1 ++#define ARCH_X86_64 0 ++#define HAVE_ARMV5TE 0 ++#define HAVE_ARMV6 0 ++#define HAVE_ARMV6T2 0 ++#define HAVE_ARMV8 0 ++#define HAVE_NEON 0 ++#define HAVE_VFP 0 ++#define HAVE_VFPV3 0 ++#define HAVE_SETEND 0 ++#define HAVE_ALTIVEC 0 ++#define HAVE_DCBZL 0 ++#define HAVE_LDBRX 0 ++#define HAVE_POWER8 0 ++#define HAVE_PPC4XX 0 ++#define HAVE_VSX 0 ++#define HAVE_AESNI 1 ++#define HAVE_AMD3DNOW 1 ++#define HAVE_AMD3DNOWEXT 1 ++#define HAVE_AVX 1 ++#define HAVE_AVX2 1 ++#define HAVE_AVX512 1 ++#define HAVE_AVX512ICL 1 ++#define HAVE_FMA3 1 ++#define HAVE_FMA4 1 ++#define HAVE_MMX 1 ++#define HAVE_MMXEXT 1 ++#define HAVE_SSE 1 ++#define HAVE_SSE2 1 ++#define HAVE_SSE3 1 ++#define HAVE_SSE4 1 ++#define HAVE_SSE42 1 ++#define HAVE_SSSE3 1 ++#define HAVE_XOP 1 ++#define HAVE_CPUNOP 0 ++#define HAVE_I686 1 ++#define HAVE_MIPSFPU 0 ++#define HAVE_MIPS32R2 0 ++#define HAVE_MIPS32R5 0 ++#define HAVE_MIPS64R2 0 ++#define HAVE_MIPS32R6 0 ++#define HAVE_MIPS64R6 0 ++#define HAVE_MIPSDSP 0 ++#define HAVE_MIPSDSPR2 0 ++#define HAVE_MSA 0 ++#define HAVE_LOONGSON2 0 ++#define HAVE_LOONGSON3 0 ++#define HAVE_MMI 0 ++#define HAVE_LSX 0 ++#define HAVE_LASX 0 ++#define HAVE_ARMV5TE_EXTERNAL 0 ++#define HAVE_ARMV6_EXTERNAL 0 ++#define HAVE_ARMV6T2_EXTERNAL 0 ++#define HAVE_ARMV8_EXTERNAL 0 ++#define HAVE_NEON_EXTERNAL 0 ++#define HAVE_VFP_EXTERNAL 0 ++#define HAVE_VFPV3_EXTERNAL 0 ++#define HAVE_SETEND_EXTERNAL 0 ++#define HAVE_ALTIVEC_EXTERNAL 0 ++#define HAVE_DCBZL_EXTERNAL 0 ++#define HAVE_LDBRX_EXTERNAL 0 ++#define HAVE_POWER8_EXTERNAL 0 ++#define HAVE_PPC4XX_EXTERNAL 0 ++#define HAVE_VSX_EXTERNAL 0 ++#define HAVE_AESNI_EXTERNAL 1 ++#define HAVE_AMD3DNOW_EXTERNAL 1 ++#define HAVE_AMD3DNOWEXT_EXTERNAL 1 ++#define HAVE_AVX_EXTERNAL 1 ++#define HAVE_AVX2_EXTERNAL 1 ++#define HAVE_AVX512_EXTERNAL 1 ++#define HAVE_AVX512ICL_EXTERNAL 0 ++#define HAVE_FMA3_EXTERNAL 1 ++#define HAVE_FMA4_EXTERNAL 1 ++#define HAVE_MMX_EXTERNAL 1 ++#define HAVE_MMXEXT_EXTERNAL 1 ++#define HAVE_SSE_EXTERNAL 1 ++#define HAVE_SSE2_EXTERNAL 1 ++#define HAVE_SSE3_EXTERNAL 1 ++#define HAVE_SSE4_EXTERNAL 1 ++#define HAVE_SSE42_EXTERNAL 1 ++#define HAVE_SSSE3_EXTERNAL 1 ++#define HAVE_XOP_EXTERNAL 1 ++#define HAVE_CPUNOP_EXTERNAL 0 ++#define HAVE_I686_EXTERNAL 0 ++#define HAVE_MIPSFPU_EXTERNAL 0 ++#define HAVE_MIPS32R2_EXTERNAL 0 ++#define HAVE_MIPS32R5_EXTERNAL 0 ++#define HAVE_MIPS64R2_EXTERNAL 0 ++#define HAVE_MIPS32R6_EXTERNAL 0 ++#define HAVE_MIPS64R6_EXTERNAL 0 ++#define HAVE_MIPSDSP_EXTERNAL 0 ++#define HAVE_MIPSDSPR2_EXTERNAL 0 ++#define HAVE_MSA_EXTERNAL 0 ++#define HAVE_LOONGSON2_EXTERNAL 0 ++#define HAVE_LOONGSON3_EXTERNAL 0 ++#define HAVE_MMI_EXTERNAL 0 ++#define HAVE_LSX_EXTERNAL 0 ++#define HAVE_LASX_EXTERNAL 0 ++#define HAVE_ARMV5TE_INLINE 0 ++#define HAVE_ARMV6_INLINE 0 ++#define HAVE_ARMV6T2_INLINE 0 ++#define HAVE_ARMV8_INLINE 0 ++#define HAVE_NEON_INLINE 0 ++#define HAVE_VFP_INLINE 0 ++#define HAVE_VFPV3_INLINE 0 ++#define HAVE_SETEND_INLINE 0 ++#define HAVE_ALTIVEC_INLINE 0 ++#define HAVE_DCBZL_INLINE 0 ++#define HAVE_LDBRX_INLINE 0 ++#define HAVE_POWER8_INLINE 0 ++#define HAVE_PPC4XX_INLINE 0 ++#define HAVE_VSX_INLINE 0 ++#define HAVE_AESNI_INLINE 1 ++#define HAVE_AMD3DNOW_INLINE 1 ++#define HAVE_AMD3DNOWEXT_INLINE 1 ++#define HAVE_AVX_INLINE 1 ++#define HAVE_AVX2_INLINE 1 ++#define HAVE_AVX512_INLINE 1 ++#define HAVE_AVX512ICL_INLINE 1 ++#define HAVE_FMA3_INLINE 1 ++#define HAVE_FMA4_INLINE 1 ++#define HAVE_MMX_INLINE 1 ++#define HAVE_MMXEXT_INLINE 1 ++#define HAVE_SSE_INLINE 1 ++#define HAVE_SSE2_INLINE 1 ++#define HAVE_SSE3_INLINE 1 ++#define HAVE_SSE4_INLINE 1 ++#define HAVE_SSE42_INLINE 1 ++#define HAVE_SSSE3_INLINE 1 ++#define HAVE_XOP_INLINE 1 ++#define HAVE_CPUNOP_INLINE 0 ++#define HAVE_I686_INLINE 0 ++#define HAVE_MIPSFPU_INLINE 0 ++#define HAVE_MIPS32R2_INLINE 0 ++#define HAVE_MIPS32R5_INLINE 0 ++#define HAVE_MIPS64R2_INLINE 0 ++#define HAVE_MIPS32R6_INLINE 0 ++#define HAVE_MIPS64R6_INLINE 0 ++#define HAVE_MIPSDSP_INLINE 0 ++#define HAVE_MIPSDSPR2_INLINE 0 ++#define HAVE_MSA_INLINE 0 ++#define HAVE_LOONGSON2_INLINE 0 ++#define HAVE_LOONGSON3_INLINE 0 ++#define HAVE_MMI_INLINE 0 ++#define HAVE_LSX_INLINE 0 ++#define HAVE_LASX_INLINE 0 ++#define HAVE_ALIGNED_STACK 0 ++#define HAVE_FAST_64BIT 0 ++#define HAVE_FAST_CLZ 1 ++#define HAVE_FAST_CMOV 0 ++#define HAVE_LOCAL_ALIGNED 1 ++#define HAVE_SIMD_ALIGN_16 1 ++#define HAVE_SIMD_ALIGN_32 1 ++#define HAVE_SIMD_ALIGN_64 1 ++#define HAVE_ATOMIC_CAS_PTR 0 ++#define HAVE_MACHINE_RW_BARRIER 0 ++#define HAVE_MEMORYBARRIER 0 ++#define HAVE_MM_EMPTY 0 ++#define HAVE_RDTSC 0 ++#define HAVE_SEM_TIMEDWAIT 1 ++#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1 ++#define HAVE_CABS 0 ++#define HAVE_CEXP 0 ++#define HAVE_INLINE_ASM 1 ++#define HAVE_SYMVER 0 ++#define HAVE_X86ASM 1 ++#define HAVE_BIGENDIAN 0 ++#define HAVE_FAST_UNALIGNED 1 ++#define HAVE_ARPA_INET_H 0 ++#define HAVE_ASM_TYPES_H 0 ++#define HAVE_CDIO_PARANOIA_H 0 ++#define HAVE_CDIO_PARANOIA_PARANOIA_H 0 ++#define HAVE_CUDA_H 0 ++#define HAVE_DISPATCH_DISPATCH_H 0 ++#define HAVE_DEV_BKTR_IOCTL_BT848_H 0 ++#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0 ++#define HAVE_DEV_IC_BT8XX_H 1 ++#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0 ++#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0 ++#define HAVE_DIRECT_H 0 ++#define HAVE_DIRENT_H 1 ++#define HAVE_DXGIDEBUG_H 0 ++#define HAVE_DXVA_H 0 ++#define HAVE_ES2_GL_H 0 ++#define HAVE_GSM_H 0 ++#define HAVE_IO_H 0 ++#define HAVE_LINUX_DMA_BUF_H 0 ++#define HAVE_LINUX_PERF_EVENT_H 0 ++#define HAVE_MACHINE_IOCTL_BT848_H 0 ++#define HAVE_MACHINE_IOCTL_METEOR_H 0 ++#define HAVE_MALLOC_H 0 ++#define HAVE_OPENCV2_CORE_CORE_C_H 0 ++#define HAVE_OPENGL_GL3_H 0 ++#define HAVE_POLL_H 1 ++#define HAVE_SYS_PARAM_H 1 ++#define HAVE_SYS_RESOURCE_H 1 ++#define HAVE_SYS_SELECT_H 1 ++#define HAVE_SYS_SOUNDCARD_H 0 ++#define HAVE_SYS_TIME_H 1 ++#define HAVE_SYS_UN_H 1 ++#define HAVE_SYS_VIDEOIO_H 1 ++#define HAVE_TERMIOS_H 1 ++#define HAVE_UDPLITE_H 0 ++#define HAVE_UNISTD_H 1 ++#define HAVE_VALGRIND_VALGRIND_H 0 /* #define HAVE_VALGRIND_VALGRIND_H 0 -- forced to 0. See https://crbug.com/590440 */ ++#define HAVE_WINDOWS_H 0 ++#define HAVE_WINSOCK2_H 0 ++#define HAVE_INTRINSICS_NEON 0 ++#define HAVE_ATANF 1 ++#define HAVE_ATAN2F 1 ++#define HAVE_CBRT 1 ++#define HAVE_CBRTF 1 ++#define HAVE_COPYSIGN 1 ++#define HAVE_COSF 1 ++#define HAVE_ERF 1 ++#define HAVE_EXP2 1 ++#define HAVE_EXP2F 1 ++#define HAVE_EXPF 1 ++#define HAVE_HYPOT 1 ++#define HAVE_ISFINITE 1 ++#define HAVE_ISINF 1 ++#define HAVE_ISNAN 1 ++#define HAVE_LDEXPF 1 ++#define HAVE_LLRINT 1 ++#define HAVE_LLRINTF 1 ++#define HAVE_LOG2 1 ++#define HAVE_LOG2F 1 ++#define HAVE_LOG10F 1 ++#define HAVE_LRINT 1 ++#define HAVE_LRINTF 1 ++#define HAVE_POWF 1 ++#define HAVE_RINT 1 ++#define HAVE_ROUND 1 ++#define HAVE_ROUNDF 1 ++#define HAVE_SINF 1 ++#define HAVE_TRUNC 1 ++#define HAVE_TRUNCF 1 ++#define HAVE_DOS_PATHS 0 ++#define HAVE_LIBC_MSVCRT 0 ++#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0 ++#define HAVE_SECTION_DATA_REL_RO 1 ++#define HAVE_THREADS 1 ++#define HAVE_UWP 0 ++#define HAVE_WINRT 0 ++#define HAVE_ACCESS 1 ++#define HAVE_ALIGNED_MALLOC 0 ++#define HAVE_ARC4RANDOM 1 ++#define HAVE_CLOCK_GETTIME 1 ++#define HAVE_CLOSESOCKET 0 ++#define HAVE_COMMANDLINETOARGVW 0 ++#define HAVE_FCNTL 1 ++#define HAVE_GETADDRINFO 0 ++#define HAVE_GETAUXVAL 0 ++#define HAVE_GETHRTIME 0 ++#define HAVE_GETOPT 1 ++#define HAVE_GETMODULEHANDLE 0 ++#define HAVE_GETPROCESSAFFINITYMASK 0 ++#define HAVE_GETPROCESSMEMORYINFO 0 ++#define HAVE_GETPROCESSTIMES 0 ++#define HAVE_GETRUSAGE 1 ++#define HAVE_GETSTDHANDLE 0 ++#define HAVE_GETSYSTEMTIMEASFILETIME 0 ++#define HAVE_GETTIMEOFDAY 1 ++#define HAVE_GLOB 1 ++#define HAVE_GLXGETPROCADDRESS 0 ++#define HAVE_GMTIME_R 1 ++#define HAVE_INET_ATON 0 ++#define HAVE_ISATTY 1 ++#define HAVE_KBHIT 0 ++#define HAVE_LOCALTIME_R 1 ++#define HAVE_LSTAT 1 ++#define HAVE_LZO1X_999_COMPRESS 0 ++#define HAVE_MACH_ABSOLUTE_TIME 0 ++#define HAVE_MAPVIEWOFFILE 0 ++#define HAVE_MEMALIGN 0 ++#define HAVE_MKSTEMP 1 ++#define HAVE_MMAP 1 ++#define HAVE_MPROTECT 1 ++#define HAVE_NANOSLEEP 1 ++#define HAVE_PEEKNAMEDPIPE 0 ++#define HAVE_POSIX_MEMALIGN 1 ++#define HAVE_PTHREAD_CANCEL 1 ++#define HAVE_SCHED_GETAFFINITY 0 ++#define HAVE_SECITEMIMPORT 0 ++#define HAVE_SETCONSOLETEXTATTRIBUTE 0 ++#define HAVE_SETCONSOLECTRLHANDLER 0 ++#define HAVE_SETDLLDIRECTORY 0 ++#define HAVE_SETMODE 0 ++#define HAVE_SETRLIMIT 1 ++#define HAVE_SLEEP 0 ++#define HAVE_STRERROR_R 1 ++#define HAVE_SYSCONF 1 ++#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 0 -- forced to 0 for Fuchsia */ ++#define HAVE_USLEEP 1 ++#define HAVE_UTGETOSTYPEFROMSTRING 0 ++#define HAVE_VIRTUALALLOC 0 ++#define HAVE_WGLGETPROCADDRESS 0 ++#define HAVE_BCRYPT 0 ++#define HAVE_VAAPI_DRM 0 ++#define HAVE_VAAPI_X11 0 ++#define HAVE_VDPAU_X11 0 ++#define HAVE_PTHREADS 1 ++#define HAVE_OS2THREADS 0 ++#define HAVE_W32THREADS 0 ++#define HAVE_AS_ARCH_DIRECTIVE 0 ++#define HAVE_AS_DN_DIRECTIVE 0 ++#define HAVE_AS_FPU_DIRECTIVE 0 ++#define HAVE_AS_FUNC 0 ++#define HAVE_AS_OBJECT_ARCH 0 ++#define HAVE_ASM_MOD_Q 0 ++#define HAVE_BLOCKS_EXTENSION 0 ++/* #define HAVE_EBP_AVAILABLE 1 -- ebp selection is done by the chrome build */ ++#define HAVE_EBX_AVAILABLE 1 ++#define HAVE_GNU_AS 0 ++#define HAVE_GNU_WINDRES 0 ++#define HAVE_IBM_ASM 0 ++#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 1 ++#define HAVE_INLINE_ASM_LABELS 1 ++#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1 ++#define HAVE_PRAGMA_DEPRECATED 1 ++#define HAVE_RSYNC_CONTIMEOUT 1 ++#define HAVE_SYMVER_ASM_LABEL 1 ++#define HAVE_SYMVER_GNU_ASM 1 ++#define HAVE_VFP_ARGS 0 ++#define HAVE_XFORM_ASM 0 ++#define HAVE_XMM_CLOBBERS 1 ++#define HAVE_KCMVIDEOCODECTYPE_HEVC 0 ++#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0 ++#define HAVE_KCMVIDEOCODECTYPE_VP9 0 ++#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0 ++#define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0 ++#define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0 ++#define HAVE_SOCKLEN_T 0 ++#define HAVE_STRUCT_ADDRINFO 0 ++#define HAVE_STRUCT_GROUP_SOURCE_REQ 0 ++#define HAVE_STRUCT_IP_MREQ_SOURCE 0 ++#define HAVE_STRUCT_IPV6_MREQ 0 ++#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0 ++#define HAVE_STRUCT_POLLFD 0 ++#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1 ++#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0 ++#define HAVE_STRUCT_SOCKADDR_IN6 0 ++#define HAVE_STRUCT_SOCKADDR_SA_LEN 0 ++#define HAVE_STRUCT_SOCKADDR_STORAGE 0 ++#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 ++#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1 ++#define HAVE_GZIP 1 ++#define HAVE_LIBDRM_GETFB2 0 ++#define HAVE_MAKEINFO 1 ++#define HAVE_MAKEINFO_HTML 0 ++#define HAVE_OPENCL_D3D11 0 ++#define HAVE_OPENCL_DRM_ARM 0 ++#define HAVE_OPENCL_DRM_BEIGNET 0 ++#define HAVE_OPENCL_DXVA2 0 ++#define HAVE_OPENCL_VAAPI_BEIGNET 0 ++#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0 ++#define HAVE_PERL 1 ++#define HAVE_POD2MAN 1 ++#define HAVE_TEXI2HTML 0 ++#define HAVE_XMLLINT 1 ++#define HAVE_ZLIB_GZIP 0 ++#define CONFIG_DOC 0 ++#define CONFIG_HTMLPAGES 0 ++#define CONFIG_MANPAGES 0 ++#define CONFIG_PODPAGES 0 ++#define CONFIG_TXTPAGES 0 ++#define CONFIG_AVIO_LIST_DIR_EXAMPLE 1 ++#define CONFIG_AVIO_READING_EXAMPLE 1 ++#define CONFIG_DECODE_AUDIO_EXAMPLE 1 ++#define CONFIG_DECODE_VIDEO_EXAMPLE 1 ++#define CONFIG_DEMUXING_DECODING_EXAMPLE 1 ++#define CONFIG_ENCODE_AUDIO_EXAMPLE 1 ++#define CONFIG_ENCODE_VIDEO_EXAMPLE 1 ++#define CONFIG_EXTRACT_MVS_EXAMPLE 1 ++#define CONFIG_FILTER_AUDIO_EXAMPLE 0 ++#define CONFIG_FILTERING_AUDIO_EXAMPLE 0 ++#define CONFIG_FILTERING_VIDEO_EXAMPLE 0 ++#define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1 ++#define CONFIG_HW_DECODE_EXAMPLE 1 ++#define CONFIG_METADATA_EXAMPLE 1 ++#define CONFIG_MUXING_EXAMPLE 0 ++#define CONFIG_QSVDEC_EXAMPLE 0 ++#define CONFIG_REMUXING_EXAMPLE 1 ++#define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0 ++#define CONFIG_SCALING_VIDEO_EXAMPLE 0 ++#define CONFIG_TRANSCODE_AAC_EXAMPLE 0 ++#define CONFIG_TRANSCODING_EXAMPLE 0 ++#define CONFIG_VAAPI_ENCODE_EXAMPLE 0 ++#define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0 ++#define CONFIG_AVISYNTH 0 ++#define CONFIG_FREI0R 0 ++#define CONFIG_LIBCDIO 0 ++#define CONFIG_LIBDAVS2 0 ++#define CONFIG_LIBRUBBERBAND 0 ++#define CONFIG_LIBVIDSTAB 0 ++#define CONFIG_LIBX264 0 ++#define CONFIG_LIBX265 0 ++#define CONFIG_LIBXAVS 0 ++#define CONFIG_LIBXAVS2 0 ++#define CONFIG_LIBXVID 0 ++#define CONFIG_DECKLINK 0 ++#define CONFIG_LIBFDK_AAC 0 ++#define CONFIG_LIBTLS 0 ++#define CONFIG_GMP 0 ++#define CONFIG_LIBARIBB24 0 ++#define CONFIG_LIBLENSFUN 0 ++#define CONFIG_LIBOPENCORE_AMRNB 0 ++#define CONFIG_LIBOPENCORE_AMRWB 0 ++#define CONFIG_LIBVO_AMRWBENC 0 ++#define CONFIG_MBEDTLS 0 ++#define CONFIG_RKMPP 0 ++#define CONFIG_LIBSMBCLIENT 0 ++#define CONFIG_CHROMAPRINT 0 ++#define CONFIG_GCRYPT 0 ++#define CONFIG_GNUTLS 0 ++#define CONFIG_JNI 0 ++#define CONFIG_LADSPA 0 ++#define CONFIG_LIBAOM 0 ++#define CONFIG_LIBASS 0 ++#define CONFIG_LIBBLURAY 0 ++#define CONFIG_LIBBS2B 0 ++#define CONFIG_LIBCACA 0 ++#define CONFIG_LIBCELT 0 ++#define CONFIG_LIBCODEC2 0 ++#define CONFIG_LIBDAV1D 0 ++#define CONFIG_LIBDC1394 0 ++#define CONFIG_LIBDRM 0 ++#define CONFIG_LIBFLITE 0 ++#define CONFIG_LIBFONTCONFIG 0 ++#define CONFIG_LIBFREETYPE 0 ++#define CONFIG_LIBFRIBIDI 0 ++#define CONFIG_LIBGLSLANG 0 ++#define CONFIG_LIBGME 0 ++#define CONFIG_LIBGSM 0 ++#define CONFIG_LIBIEC61883 0 ++#define CONFIG_LIBILBC 0 ++#define CONFIG_LIBJACK 0 ++#define CONFIG_LIBKLVANC 0 ++#define CONFIG_LIBKVAZAAR 0 ++#define CONFIG_LIBMODPLUG 0 ++#define CONFIG_LIBMP3LAME 0 ++#define CONFIG_LIBMYSOFA 0 ++#define CONFIG_LIBOPENCV 0 ++#define CONFIG_LIBOPENH264 0 ++#define CONFIG_LIBOPENJPEG 0 ++#define CONFIG_LIBOPENMPT 0 ++#define CONFIG_LIBOPENVINO 0 ++#define CONFIG_LIBOPUS 1 ++#define CONFIG_LIBPLACEBO 0 ++#define CONFIG_LIBPULSE 0 ++#define CONFIG_LIBRABBITMQ 0 ++#define CONFIG_LIBRAV1E 0 ++#define CONFIG_LIBRIST 0 ++#define CONFIG_LIBRSVG 0 ++#define CONFIG_LIBRTMP 0 ++#define CONFIG_LIBSHADERC 0 ++#define CONFIG_LIBSHINE 0 ++#define CONFIG_LIBSMBCLIENT 0 ++#define CONFIG_LIBSNAPPY 0 ++#define CONFIG_LIBSOXR 0 ++#define CONFIG_LIBSPEEX 0 ++#define CONFIG_LIBSRT 0 ++#define CONFIG_LIBSSH 0 ++#define CONFIG_LIBSVTAV1 0 ++#define CONFIG_LIBTENSORFLOW 0 ++#define CONFIG_LIBTESSERACT 0 ++#define CONFIG_LIBTHEORA 0 ++#define CONFIG_LIBTWOLAME 0 ++#define CONFIG_LIBUAVS3D 0 ++#define CONFIG_LIBV4L2 0 ++#define CONFIG_LIBVMAF 0 ++#define CONFIG_LIBVORBIS 0 ++#define CONFIG_LIBVPX 0 ++#define CONFIG_LIBWEBP 0 ++#define CONFIG_LIBXML2 0 ++#define CONFIG_LIBZIMG 0 ++#define CONFIG_LIBZMQ 0 ++#define CONFIG_LIBZVBI 0 ++#define CONFIG_LV2 0 ++#define CONFIG_MEDIACODEC 0 ++#define CONFIG_OPENAL 0 ++#define CONFIG_OPENGL 0 ++#define CONFIG_OPENSSL 0 ++#define CONFIG_POCKETSPHINX 0 ++#define CONFIG_VAPOURSYNTH 0 ++#define CONFIG_ALSA 0 ++#define CONFIG_APPKIT 0 ++#define CONFIG_AVFOUNDATION 0 ++#define CONFIG_BZLIB 0 ++#define CONFIG_COREIMAGE 0 ++#define CONFIG_ICONV 0 ++#define CONFIG_LIBXCB 0 ++#define CONFIG_LIBXCB_SHM 0 ++#define CONFIG_LIBXCB_SHAPE 0 ++#define CONFIG_LIBXCB_XFIXES 0 ++#define CONFIG_LZMA 0 ++#define CONFIG_MEDIAFOUNDATION 0 ++#define CONFIG_METAL 0 ++#define CONFIG_SCHANNEL 0 ++#define CONFIG_SDL2 0 ++#define CONFIG_SECURETRANSPORT 0 ++#define CONFIG_SNDIO 0 ++#define CONFIG_XLIB 0 ++#define CONFIG_ZLIB 0 ++#define CONFIG_CUDA_NVCC 0 ++#define CONFIG_CUDA_SDK 0 ++#define CONFIG_LIBNPP 0 ++#define CONFIG_LIBMFX 0 ++#define CONFIG_MMAL 0 ++#define CONFIG_OMX 0 ++#define CONFIG_OPENCL 0 ++#define CONFIG_AMF 0 ++#define CONFIG_AUDIOTOOLBOX 0 ++#define CONFIG_CRYSTALHD 0 ++#define CONFIG_CUDA 0 ++#define CONFIG_CUDA_LLVM 0 ++#define CONFIG_CUVID 0 ++#define CONFIG_D3D11VA 0 ++#define CONFIG_DXVA2 0 ++#define CONFIG_FFNVCODEC 0 ++#define CONFIG_NVDEC 0 ++#define CONFIG_NVENC 0 ++#define CONFIG_VAAPI 0 ++#define CONFIG_VDPAU 0 ++#define CONFIG_VIDEOTOOLBOX 0 ++#define CONFIG_VULKAN 0 ++#define CONFIG_V4L2_M2M 0 ++#define CONFIG_FTRAPV 0 ++#define CONFIG_GRAY 0 ++#define CONFIG_HARDCODED_TABLES 0 ++#define CONFIG_OMX_RPI 0 ++#define CONFIG_RUNTIME_CPUDETECT 1 ++#define CONFIG_SAFE_BITSTREAM_READER 1 ++#define CONFIG_SHARED 0 ++#define CONFIG_SMALL 0 ++#define CONFIG_STATIC 1 ++#define CONFIG_SWSCALE_ALPHA 1 ++#define CONFIG_GPL 0 ++#define CONFIG_NONFREE 0 ++#define CONFIG_VERSION3 0 ++#define CONFIG_AVDEVICE 0 ++#define CONFIG_AVFILTER 0 ++#define CONFIG_SWSCALE 0 ++#define CONFIG_POSTPROC 0 ++#define CONFIG_AVFORMAT 1 ++#define CONFIG_AVCODEC 1 ++#define CONFIG_SWRESAMPLE 0 ++#define CONFIG_AVUTIL 1 ++#define CONFIG_FFPLAY 0 ++#define CONFIG_FFPROBE 0 ++#define CONFIG_FFMPEG 0 ++#define CONFIG_DCT 1 ++#define CONFIG_DWT 0 ++#define CONFIG_ERROR_RESILIENCE 0 ++#define CONFIG_FAAN 0 ++#define CONFIG_FAST_UNALIGNED 1 ++#define CONFIG_FFT 1 ++#define CONFIG_LSP 0 ++#define CONFIG_MDCT 1 ++#define CONFIG_PIXELUTILS 0 ++#define CONFIG_NETWORK 0 ++#define CONFIG_RDFT 1 ++#define CONFIG_AUTODETECT 0 ++#define CONFIG_FONTCONFIG 0 ++#define CONFIG_LARGE_TESTS 1 ++#define CONFIG_LINUX_PERF 0 ++#define CONFIG_MACOS_KPERF 0 ++#define CONFIG_MEMORY_POISONING 0 ++#define CONFIG_NEON_CLOBBER_TEST 0 ++#define CONFIG_OSSFUZZ 0 ++#define CONFIG_PIC 1 ++#define CONFIG_PTX_COMPRESSION 0 ++#define CONFIG_THUMB 0 ++#define CONFIG_VALGRIND_BACKTRACE 0 ++#define CONFIG_XMM_CLOBBER_TEST 0 ++#define CONFIG_BSFS 0 ++#define CONFIG_DECODERS 1 ++#define CONFIG_ENCODERS 0 ++#define CONFIG_HWACCELS 0 ++#define CONFIG_PARSERS 1 ++#define CONFIG_INDEVS 0 ++#define CONFIG_OUTDEVS 0 ++#define CONFIG_FILTERS 0 ++#define CONFIG_DEMUXERS 1 ++#define CONFIG_MUXERS 0 ++#define CONFIG_PROTOCOLS 0 ++#define CONFIG_AANDCTTABLES 0 ++#define CONFIG_AC3DSP 0 ++#define CONFIG_ADTS_HEADER 1 ++#define CONFIG_ATSC_A53 1 ++#define CONFIG_AUDIO_FRAME_QUEUE 0 ++#define CONFIG_AUDIODSP 0 ++#define CONFIG_BLOCKDSP 0 ++#define CONFIG_BSWAPDSP 0 ++#define CONFIG_CABAC 1 ++#define CONFIG_CBS 0 ++#define CONFIG_CBS_AV1 0 ++#define CONFIG_CBS_H264 0 ++#define CONFIG_CBS_H265 0 ++#define CONFIG_CBS_JPEG 0 ++#define CONFIG_CBS_MPEG2 0 ++#define CONFIG_CBS_VP9 0 ++#define CONFIG_DEFLATE_WRAPPER 0 ++#define CONFIG_DIRAC_PARSE 1 ++#define CONFIG_DNN 0 ++#define CONFIG_DOVI_RPU 0 ++#define CONFIG_DVPROFILE 0 ++#define CONFIG_EXIF 0 ++#define CONFIG_FAANDCT 0 ++#define CONFIG_FAANIDCT 0 ++#define CONFIG_FDCTDSP 0 ++#define CONFIG_FLACDSP 1 ++#define CONFIG_FMTCONVERT 0 ++#define CONFIG_FRAME_THREAD_ENCODER 0 ++#define CONFIG_G722DSP 0 ++#define CONFIG_GOLOMB 1 ++#define CONFIG_GPLV3 0 ++#define CONFIG_H263DSP 0 ++#define CONFIG_H264CHROMA 1 ++#define CONFIG_H264DSP 1 ++#define CONFIG_H264PARSE 1 ++#define CONFIG_H264PRED 1 ++#define CONFIG_H264QPEL 1 ++#define CONFIG_HEVCPARSE 0 ++#define CONFIG_HPELDSP 1 ++#define CONFIG_HUFFMAN 0 ++#define CONFIG_HUFFYUVDSP 0 ++#define CONFIG_HUFFYUVENCDSP 0 ++#define CONFIG_IDCTDSP 0 ++#define CONFIG_IIRFILTER 0 ++#define CONFIG_MDCT15 1 ++#define CONFIG_INFLATE_WRAPPER 0 ++#define CONFIG_INTRAX8 0 ++#define CONFIG_ISO_MEDIA 1 ++#define CONFIG_IVIDSP 0 ++#define CONFIG_JPEGTABLES 0 ++#define CONFIG_LGPLV3 0 ++#define CONFIG_LIBX262 0 ++#define CONFIG_LLAUDDSP 0 ++#define CONFIG_LLVIDDSP 0 ++#define CONFIG_LLVIDENCDSP 0 ++#define CONFIG_LPC 0 ++#define CONFIG_LZF 0 ++#define CONFIG_ME_CMP 0 ++#define CONFIG_MPEG_ER 0 ++#define CONFIG_MPEGAUDIO 1 ++#define CONFIG_MPEGAUDIODSP 1 ++#define CONFIG_MPEGAUDIOHEADER 1 ++#define CONFIG_MPEG4AUDIO 1 ++#define CONFIG_MPEGVIDEO 0 ++#define CONFIG_MPEGVIDEODEC 0 ++#define CONFIG_MPEGVIDEOENC 0 ++#define CONFIG_MSS34DSP 0 ++#define CONFIG_PIXBLOCKDSP 0 ++#define CONFIG_QPELDSP 0 ++#define CONFIG_QSV 0 ++#define CONFIG_QSVDEC 0 ++#define CONFIG_QSVENC 0 ++#define CONFIG_QSVVPP 0 ++#define CONFIG_RANGECODER 0 ++#define CONFIG_RIFFDEC 1 ++#define CONFIG_RIFFENC 0 ++#define CONFIG_RTPDEC 0 ++#define CONFIG_RTPENC_CHAIN 0 ++#define CONFIG_RV34DSP 0 ++#define CONFIG_SCENE_SAD 0 ++#define CONFIG_SINEWIN 1 ++#define CONFIG_SNAPPY 0 ++#define CONFIG_SRTP 0 ++#define CONFIG_STARTCODE 1 ++#define CONFIG_TEXTUREDSP 0 ++#define CONFIG_TEXTUREDSPENC 0 ++#define CONFIG_TPELDSP 0 ++#define CONFIG_VAAPI_1 0 ++#define CONFIG_VAAPI_ENCODE 0 ++#define CONFIG_VC1DSP 0 ++#define CONFIG_VIDEODSP 1 ++#define CONFIG_VP3DSP 1 ++#define CONFIG_VP56DSP 0 ++#define CONFIG_VP8DSP 1 ++#define CONFIG_WMA_FREQS 0 ++#define CONFIG_WMV2DSP 0 ++#endif /* FFMPEG_CONFIG_H */ diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h new file mode 100644 index 000000000000..17513983d93c --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_ia32_config__components.h @@ -0,0 +1,2066 @@ +--- third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config_components.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/ia32/config_components.h +@@ -0,0 +1,2063 @@ ++/* Automatically generated by configure - do not modify! */ ++#ifndef FFMPEG_CONFIG_COMPONENTS_H ++#define FFMPEG_CONFIG_COMPONENTS_H ++#define CONFIG_AAC_ADTSTOASC_BSF 0 ++#define CONFIG_AV1_FRAME_MERGE_BSF 0 ++#define CONFIG_AV1_FRAME_SPLIT_BSF 0 ++#define CONFIG_AV1_METADATA_BSF 0 ++#define CONFIG_CHOMP_BSF 0 ++#define CONFIG_DUMP_EXTRADATA_BSF 0 ++#define CONFIG_DCA_CORE_BSF 0 ++#define CONFIG_DV_ERROR_MARKER_BSF 0 ++#define CONFIG_EAC3_CORE_BSF 0 ++#define CONFIG_EXTRACT_EXTRADATA_BSF 0 ++#define CONFIG_FILTER_UNITS_BSF 0 ++#define CONFIG_H264_METADATA_BSF 0 ++#define CONFIG_H264_MP4TOANNEXB_BSF 0 ++#define CONFIG_H264_REDUNDANT_PPS_BSF 0 ++#define CONFIG_HAPQA_EXTRACT_BSF 0 ++#define CONFIG_HEVC_METADATA_BSF 0 ++#define CONFIG_HEVC_MP4TOANNEXB_BSF 0 ++#define CONFIG_IMX_DUMP_HEADER_BSF 0 ++#define CONFIG_MJPEG2JPEG_BSF 0 ++#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0 ++#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0 ++#define CONFIG_MPEG2_METADATA_BSF 0 ++#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0 ++#define CONFIG_MOV2TEXTSUB_BSF 0 ++#define CONFIG_NOISE_BSF 0 ++#define CONFIG_NULL_BSF 0 ++#define CONFIG_OPUS_METADATA_BSF 0 ++#define CONFIG_PCM_RECHUNK_BSF 0 ++#define CONFIG_PRORES_METADATA_BSF 0 ++#define CONFIG_REMOVE_EXTRADATA_BSF 0 ++#define CONFIG_SETTS_BSF 0 ++#define CONFIG_TEXT2MOVSUB_BSF 0 ++#define CONFIG_TRACE_HEADERS_BSF 0 ++#define CONFIG_TRUEHD_CORE_BSF 0 ++#define CONFIG_VP9_METADATA_BSF 0 ++#define CONFIG_VP9_RAW_REORDER_BSF 0 ++#define CONFIG_VP9_SUPERFRAME_BSF 0 ++#define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0 ++#define CONFIG_AASC_DECODER 0 ++#define CONFIG_AIC_DECODER 0 ++#define CONFIG_ALIAS_PIX_DECODER 0 ++#define CONFIG_AGM_DECODER 0 ++#define CONFIG_AMV_DECODER 0 ++#define CONFIG_ANM_DECODER 0 ++#define CONFIG_ANSI_DECODER 0 ++#define CONFIG_APNG_DECODER 0 ++#define CONFIG_ARBC_DECODER 0 ++#define CONFIG_ARGO_DECODER 0 ++#define CONFIG_ASV1_DECODER 0 ++#define CONFIG_ASV2_DECODER 0 ++#define CONFIG_AURA_DECODER 0 ++#define CONFIG_AURA2_DECODER 0 ++#define CONFIG_AVRP_DECODER 0 ++#define CONFIG_AVRN_DECODER 0 ++#define CONFIG_AVS_DECODER 0 ++#define CONFIG_AVUI_DECODER 0 ++#define CONFIG_AYUV_DECODER 0 ++#define CONFIG_BETHSOFTVID_DECODER 0 ++#define CONFIG_BFI_DECODER 0 ++#define CONFIG_BINK_DECODER 0 ++#define CONFIG_BITPACKED_DECODER 0 ++#define CONFIG_BMP_DECODER 0 ++#define CONFIG_BMV_VIDEO_DECODER 0 ++#define CONFIG_BRENDER_PIX_DECODER 0 ++#define CONFIG_C93_DECODER 0 ++#define CONFIG_CAVS_DECODER 0 ++#define CONFIG_CDGRAPHICS_DECODER 0 ++#define CONFIG_CDTOONS_DECODER 0 ++#define CONFIG_CDXL_DECODER 0 ++#define CONFIG_CFHD_DECODER 0 ++#define CONFIG_CINEPAK_DECODER 0 ++#define CONFIG_CLEARVIDEO_DECODER 0 ++#define CONFIG_CLJR_DECODER 0 ++#define CONFIG_CLLC_DECODER 0 ++#define CONFIG_COMFORTNOISE_DECODER 0 ++#define CONFIG_CPIA_DECODER 0 ++#define CONFIG_CRI_DECODER 0 ++#define CONFIG_CSCD_DECODER 0 ++#define CONFIG_CYUV_DECODER 0 ++#define CONFIG_DDS_DECODER 0 ++#define CONFIG_DFA_DECODER 0 ++#define CONFIG_DIRAC_DECODER 0 ++#define CONFIG_DNXHD_DECODER 0 ++#define CONFIG_DPX_DECODER 0 ++#define CONFIG_DSICINVIDEO_DECODER 0 ++#define CONFIG_DVAUDIO_DECODER 0 ++#define CONFIG_DVVIDEO_DECODER 0 ++#define CONFIG_DXA_DECODER 0 ++#define CONFIG_DXTORY_DECODER 0 ++#define CONFIG_DXV_DECODER 0 ++#define CONFIG_EACMV_DECODER 0 ++#define CONFIG_EAMAD_DECODER 0 ++#define CONFIG_EATGQ_DECODER 0 ++#define CONFIG_EATGV_DECODER 0 ++#define CONFIG_EATQI_DECODER 0 ++#define CONFIG_EIGHTBPS_DECODER 0 ++#define CONFIG_EIGHTSVX_EXP_DECODER 0 ++#define CONFIG_EIGHTSVX_FIB_DECODER 0 ++#define CONFIG_ESCAPE124_DECODER 0 ++#define CONFIG_ESCAPE130_DECODER 0 ++#define CONFIG_EXR_DECODER 0 ++#define CONFIG_FFV1_DECODER 0 ++#define CONFIG_FFVHUFF_DECODER 0 ++#define CONFIG_FIC_DECODER 0 ++#define CONFIG_FITS_DECODER 0 ++#define CONFIG_FLASHSV_DECODER 0 ++#define CONFIG_FLASHSV2_DECODER 0 ++#define CONFIG_FLIC_DECODER 0 ++#define CONFIG_FLV_DECODER 0 ++#define CONFIG_FMVC_DECODER 0 ++#define CONFIG_FOURXM_DECODER 0 ++#define CONFIG_FRAPS_DECODER 0 ++#define CONFIG_FRWU_DECODER 0 ++#define CONFIG_G2M_DECODER 0 ++#define CONFIG_GDV_DECODER 0 ++#define CONFIG_GEM_DECODER 0 ++#define CONFIG_GIF_DECODER 0 ++#define CONFIG_H261_DECODER 0 ++#define CONFIG_H263_DECODER 0 ++#define CONFIG_H263I_DECODER 0 ++#define CONFIG_H263P_DECODER 0 ++#define CONFIG_H263_V4L2M2M_DECODER 0 ++#define CONFIG_H264_DECODER 1 ++#define CONFIG_H264_CRYSTALHD_DECODER 0 ++#define CONFIG_H264_V4L2M2M_DECODER 0 ++#define CONFIG_H264_MEDIACODEC_DECODER 0 ++#define CONFIG_H264_MMAL_DECODER 0 ++#define CONFIG_H264_QSV_DECODER 0 ++#define CONFIG_H264_RKMPP_DECODER 0 ++#define CONFIG_HAP_DECODER 0 ++#define CONFIG_HEVC_DECODER 0 ++#define CONFIG_HEVC_QSV_DECODER 0 ++#define CONFIG_HEVC_RKMPP_DECODER 0 ++#define CONFIG_HEVC_V4L2M2M_DECODER 0 ++#define CONFIG_HNM4_VIDEO_DECODER 0 ++#define CONFIG_HQ_HQA_DECODER 0 ++#define CONFIG_HQX_DECODER 0 ++#define CONFIG_HUFFYUV_DECODER 0 ++#define CONFIG_HYMT_DECODER 0 ++#define CONFIG_IDCIN_DECODER 0 ++#define CONFIG_IFF_ILBM_DECODER 0 ++#define CONFIG_IMM4_DECODER 0 ++#define CONFIG_IMM5_DECODER 0 ++#define CONFIG_INDEO2_DECODER 0 ++#define CONFIG_INDEO3_DECODER 0 ++#define CONFIG_INDEO4_DECODER 0 ++#define CONFIG_INDEO5_DECODER 0 ++#define CONFIG_INTERPLAY_VIDEO_DECODER 0 ++#define CONFIG_IPU_DECODER 0 ++#define CONFIG_JPEG2000_DECODER 0 ++#define CONFIG_JPEGLS_DECODER 0 ++#define CONFIG_JV_DECODER 0 ++#define CONFIG_KGV1_DECODER 0 ++#define CONFIG_KMVC_DECODER 0 ++#define CONFIG_LAGARITH_DECODER 0 ++#define CONFIG_LOCO_DECODER 0 ++#define CONFIG_LSCR_DECODER 0 ++#define CONFIG_M101_DECODER 0 ++#define CONFIG_MAGICYUV_DECODER 0 ++#define CONFIG_MDEC_DECODER 0 ++#define CONFIG_MIMIC_DECODER 0 ++#define CONFIG_MJPEG_DECODER 0 ++#define CONFIG_MJPEGB_DECODER 0 ++#define CONFIG_MMVIDEO_DECODER 0 ++#define CONFIG_MOBICLIP_DECODER 0 ++#define CONFIG_MOTIONPIXELS_DECODER 0 ++#define CONFIG_MPEG1VIDEO_DECODER 0 ++#define CONFIG_MPEG2VIDEO_DECODER 0 ++#define CONFIG_MPEG4_DECODER 0 ++#define CONFIG_MPEG4_CRYSTALHD_DECODER 0 ++#define CONFIG_MPEG4_V4L2M2M_DECODER 0 ++#define CONFIG_MPEG4_MMAL_DECODER 0 ++#define CONFIG_MPEGVIDEO_DECODER 0 ++#define CONFIG_MPEG1_V4L2M2M_DECODER 0 ++#define CONFIG_MPEG2_MMAL_DECODER 0 ++#define CONFIG_MPEG2_CRYSTALHD_DECODER 0 ++#define CONFIG_MPEG2_V4L2M2M_DECODER 0 ++#define CONFIG_MPEG2_QSV_DECODER 0 ++#define CONFIG_MPEG2_MEDIACODEC_DECODER 0 ++#define CONFIG_MSA1_DECODER 0 ++#define CONFIG_MSCC_DECODER 0 ++#define CONFIG_MSMPEG4V1_DECODER 0 ++#define CONFIG_MSMPEG4V2_DECODER 0 ++#define CONFIG_MSMPEG4V3_DECODER 0 ++#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0 ++#define CONFIG_MSP2_DECODER 0 ++#define CONFIG_MSRLE_DECODER 0 ++#define CONFIG_MSS1_DECODER 0 ++#define CONFIG_MSS2_DECODER 0 ++#define CONFIG_MSVIDEO1_DECODER 0 ++#define CONFIG_MSZH_DECODER 0 ++#define CONFIG_MTS2_DECODER 0 ++#define CONFIG_MV30_DECODER 0 ++#define CONFIG_MVC1_DECODER 0 ++#define CONFIG_MVC2_DECODER 0 ++#define CONFIG_MVDV_DECODER 0 ++#define CONFIG_MVHA_DECODER 0 ++#define CONFIG_MWSC_DECODER 0 ++#define CONFIG_MXPEG_DECODER 0 ++#define CONFIG_NOTCHLC_DECODER 0 ++#define CONFIG_NUV_DECODER 0 ++#define CONFIG_PAF_VIDEO_DECODER 0 ++#define CONFIG_PAM_DECODER 0 ++#define CONFIG_PBM_DECODER 0 ++#define CONFIG_PCX_DECODER 0 ++#define CONFIG_PFM_DECODER 0 ++#define CONFIG_PGM_DECODER 0 ++#define CONFIG_PGMYUV_DECODER 0 ++#define CONFIG_PGX_DECODER 0 ++#define CONFIG_PHOTOCD_DECODER 0 ++#define CONFIG_PICTOR_DECODER 0 ++#define CONFIG_PIXLET_DECODER 0 ++#define CONFIG_PNG_DECODER 0 ++#define CONFIG_PPM_DECODER 0 ++#define CONFIG_PRORES_DECODER 0 ++#define CONFIG_PROSUMER_DECODER 0 ++#define CONFIG_PSD_DECODER 0 ++#define CONFIG_PTX_DECODER 0 ++#define CONFIG_QDRAW_DECODER 0 ++#define CONFIG_QPEG_DECODER 0 ++#define CONFIG_QTRLE_DECODER 0 ++#define CONFIG_R10K_DECODER 0 ++#define CONFIG_R210_DECODER 0 ++#define CONFIG_RASC_DECODER 0 ++#define CONFIG_RAWVIDEO_DECODER 0 ++#define CONFIG_RL2_DECODER 0 ++#define CONFIG_ROQ_DECODER 0 ++#define CONFIG_RPZA_DECODER 0 ++#define CONFIG_RSCC_DECODER 0 ++#define CONFIG_RV10_DECODER 0 ++#define CONFIG_RV20_DECODER 0 ++#define CONFIG_RV30_DECODER 0 ++#define CONFIG_RV40_DECODER 0 ++#define CONFIG_S302M_DECODER 0 ++#define CONFIG_SANM_DECODER 0 ++#define CONFIG_SCPR_DECODER 0 ++#define CONFIG_SCREENPRESSO_DECODER 0 ++#define CONFIG_SGA_DECODER 0 ++#define CONFIG_SGI_DECODER 0 ++#define CONFIG_SGIRLE_DECODER 0 ++#define CONFIG_SHEERVIDEO_DECODER 0 ++#define CONFIG_SIMBIOSIS_IMX_DECODER 0 ++#define CONFIG_SMACKER_DECODER 0 ++#define CONFIG_SMC_DECODER 0 ++#define CONFIG_SMVJPEG_DECODER 0 ++#define CONFIG_SNOW_DECODER 0 ++#define CONFIG_SP5X_DECODER 0 ++#define CONFIG_SPEEDHQ_DECODER 0 ++#define CONFIG_SPEEX_DECODER 0 ++#define CONFIG_SRGC_DECODER 0 ++#define CONFIG_SUNRAST_DECODER 0 ++#define CONFIG_SVQ1_DECODER 0 ++#define CONFIG_SVQ3_DECODER 0 ++#define CONFIG_TARGA_DECODER 0 ++#define CONFIG_TARGA_Y216_DECODER 0 ++#define CONFIG_TDSC_DECODER 0 ++#define CONFIG_THEORA_DECODER 1 ++#define CONFIG_THP_DECODER 0 ++#define CONFIG_TIERTEXSEQVIDEO_DECODER 0 ++#define CONFIG_TIFF_DECODER 0 ++#define CONFIG_TMV_DECODER 0 ++#define CONFIG_TRUEMOTION1_DECODER 0 ++#define CONFIG_TRUEMOTION2_DECODER 0 ++#define CONFIG_TRUEMOTION2RT_DECODER 0 ++#define CONFIG_TSCC_DECODER 0 ++#define CONFIG_TSCC2_DECODER 0 ++#define CONFIG_TXD_DECODER 0 ++#define CONFIG_ULTI_DECODER 0 ++#define CONFIG_UTVIDEO_DECODER 0 ++#define CONFIG_V210_DECODER 0 ++#define CONFIG_V210X_DECODER 0 ++#define CONFIG_V308_DECODER 0 ++#define CONFIG_V408_DECODER 0 ++#define CONFIG_V410_DECODER 0 ++#define CONFIG_VB_DECODER 0 ++#define CONFIG_VBLE_DECODER 0 ++#define CONFIG_VC1_DECODER 0 ++#define CONFIG_VC1_CRYSTALHD_DECODER 0 ++#define CONFIG_VC1IMAGE_DECODER 0 ++#define CONFIG_VC1_MMAL_DECODER 0 ++#define CONFIG_VC1_QSV_DECODER 0 ++#define CONFIG_VC1_V4L2M2M_DECODER 0 ++#define CONFIG_VCR1_DECODER 0 ++#define CONFIG_VMDVIDEO_DECODER 0 ++#define CONFIG_VMNC_DECODER 0 ++#define CONFIG_VP3_DECODER 1 ++#define CONFIG_VP4_DECODER 0 ++#define CONFIG_VP5_DECODER 0 ++#define CONFIG_VP6_DECODER 0 ++#define CONFIG_VP6A_DECODER 0 ++#define CONFIG_VP6F_DECODER 0 ++#define CONFIG_VP7_DECODER 0 ++#define CONFIG_VP8_DECODER 1 ++#define CONFIG_VP8_RKMPP_DECODER 0 ++#define CONFIG_VP8_V4L2M2M_DECODER 0 ++#define CONFIG_VP9_DECODER 0 ++#define CONFIG_VP9_RKMPP_DECODER 0 ++#define CONFIG_VP9_V4L2M2M_DECODER 0 ++#define CONFIG_VQA_DECODER 0 ++#define CONFIG_WEBP_DECODER 0 ++#define CONFIG_WCMV_DECODER 0 ++#define CONFIG_WRAPPED_AVFRAME_DECODER 0 ++#define CONFIG_WMV1_DECODER 0 ++#define CONFIG_WMV2_DECODER 0 ++#define CONFIG_WMV3_DECODER 0 ++#define CONFIG_WMV3_CRYSTALHD_DECODER 0 ++#define CONFIG_WMV3IMAGE_DECODER 0 ++#define CONFIG_WNV1_DECODER 0 ++#define CONFIG_XAN_WC3_DECODER 0 ++#define CONFIG_XAN_WC4_DECODER 0 ++#define CONFIG_XBM_DECODER 0 ++#define CONFIG_XFACE_DECODER 0 ++#define CONFIG_XL_DECODER 0 ++#define CONFIG_XPM_DECODER 0 ++#define CONFIG_XWD_DECODER 0 ++#define CONFIG_Y41P_DECODER 0 ++#define CONFIG_YLC_DECODER 0 ++#define CONFIG_YOP_DECODER 0 ++#define CONFIG_YUV4_DECODER 0 ++#define CONFIG_ZERO12V_DECODER 0 ++#define CONFIG_ZEROCODEC_DECODER 0 ++#define CONFIG_ZLIB_DECODER 0 ++#define CONFIG_ZMBV_DECODER 0 ++#define CONFIG_AAC_DECODER 1 ++#define CONFIG_AAC_FIXED_DECODER 0 ++#define CONFIG_AAC_LATM_DECODER 0 ++#define CONFIG_AC3_DECODER 0 ++#define CONFIG_AC3_FIXED_DECODER 0 ++#define CONFIG_ACELP_KELVIN_DECODER 0 ++#define CONFIG_ALAC_DECODER 0 ++#define CONFIG_ALS_DECODER 0 ++#define CONFIG_AMRNB_DECODER 0 ++#define CONFIG_AMRWB_DECODER 0 ++#define CONFIG_APE_DECODER 0 ++#define CONFIG_APTX_DECODER 0 ++#define CONFIG_APTX_HD_DECODER 0 ++#define CONFIG_ATRAC1_DECODER 0 ++#define CONFIG_ATRAC3_DECODER 0 ++#define CONFIG_ATRAC3AL_DECODER 0 ++#define CONFIG_ATRAC3P_DECODER 0 ++#define CONFIG_ATRAC3PAL_DECODER 0 ++#define CONFIG_ATRAC9_DECODER 0 ++#define CONFIG_BINKAUDIO_DCT_DECODER 0 ++#define CONFIG_BINKAUDIO_RDFT_DECODER 0 ++#define CONFIG_BMV_AUDIO_DECODER 0 ++#define CONFIG_COOK_DECODER 0 ++#define CONFIG_DCA_DECODER 0 ++#define CONFIG_DFPWM_DECODER 0 ++#define CONFIG_DOLBY_E_DECODER 0 ++#define CONFIG_DSD_LSBF_DECODER 0 ++#define CONFIG_DSD_MSBF_DECODER 0 ++#define CONFIG_DSD_LSBF_PLANAR_DECODER 0 ++#define CONFIG_DSD_MSBF_PLANAR_DECODER 0 ++#define CONFIG_DSICINAUDIO_DECODER 0 ++#define CONFIG_DSS_SP_DECODER 0 ++#define CONFIG_DST_DECODER 0 ++#define CONFIG_EAC3_DECODER 0 ++#define CONFIG_EVRC_DECODER 0 ++#define CONFIG_FASTAUDIO_DECODER 0 ++#define CONFIG_FFWAVESYNTH_DECODER 0 ++#define CONFIG_FLAC_DECODER 1 ++#define CONFIG_G723_1_DECODER 0 ++#define CONFIG_G729_DECODER 0 ++#define CONFIG_GSM_DECODER 0 ++#define CONFIG_GSM_MS_DECODER 0 ++#define CONFIG_HCA_DECODER 0 ++#define CONFIG_HCOM_DECODER 0 ++#define CONFIG_IAC_DECODER 0 ++#define CONFIG_ILBC_DECODER 0 ++#define CONFIG_IMC_DECODER 0 ++#define CONFIG_INTERPLAY_ACM_DECODER 0 ++#define CONFIG_MACE3_DECODER 0 ++#define CONFIG_MACE6_DECODER 0 ++#define CONFIG_METASOUND_DECODER 0 ++#define CONFIG_MLP_DECODER 0 ++#define CONFIG_MP1_DECODER 0 ++#define CONFIG_MP1FLOAT_DECODER 0 ++#define CONFIG_MP2_DECODER 0 ++#define CONFIG_MP2FLOAT_DECODER 0 ++#define CONFIG_MP3FLOAT_DECODER 0 ++#define CONFIG_MP3_DECODER 1 ++#define CONFIG_MP3ADUFLOAT_DECODER 0 ++#define CONFIG_MP3ADU_DECODER 0 ++#define CONFIG_MP3ON4FLOAT_DECODER 0 ++#define CONFIG_MP3ON4_DECODER 0 ++#define CONFIG_MPC7_DECODER 0 ++#define CONFIG_MPC8_DECODER 0 ++#define CONFIG_MSNSIREN_DECODER 0 ++#define CONFIG_NELLYMOSER_DECODER 0 ++#define CONFIG_ON2AVC_DECODER 0 ++#define CONFIG_OPUS_DECODER 0 ++#define CONFIG_PAF_AUDIO_DECODER 0 ++#define CONFIG_QCELP_DECODER 0 ++#define CONFIG_QDM2_DECODER 0 ++#define CONFIG_QDMC_DECODER 0 ++#define CONFIG_RA_144_DECODER 0 ++#define CONFIG_RA_288_DECODER 0 ++#define CONFIG_RALF_DECODER 0 ++#define CONFIG_SBC_DECODER 0 ++#define CONFIG_SHORTEN_DECODER 0 ++#define CONFIG_SIPR_DECODER 0 ++#define CONFIG_SIREN_DECODER 0 ++#define CONFIG_SMACKAUD_DECODER 0 ++#define CONFIG_SONIC_DECODER 0 ++#define CONFIG_TAK_DECODER 0 ++#define CONFIG_TRUEHD_DECODER 0 ++#define CONFIG_TRUESPEECH_DECODER 0 ++#define CONFIG_TTA_DECODER 0 ++#define CONFIG_TWINVQ_DECODER 0 ++#define CONFIG_VMDAUDIO_DECODER 0 ++#define CONFIG_VORBIS_DECODER 1 ++#define CONFIG_WAVPACK_DECODER 0 ++#define CONFIG_WMALOSSLESS_DECODER 0 ++#define CONFIG_WMAPRO_DECODER 0 ++#define CONFIG_WMAV1_DECODER 0 ++#define CONFIG_WMAV2_DECODER 0 ++#define CONFIG_WMAVOICE_DECODER 0 ++#define CONFIG_WS_SND1_DECODER 0 ++#define CONFIG_XMA1_DECODER 0 ++#define CONFIG_XMA2_DECODER 0 ++#define CONFIG_PCM_ALAW_DECODER 1 ++#define CONFIG_PCM_BLURAY_DECODER 0 ++#define CONFIG_PCM_DVD_DECODER 0 ++#define CONFIG_PCM_F16LE_DECODER 0 ++#define CONFIG_PCM_F24LE_DECODER 0 ++#define CONFIG_PCM_F32BE_DECODER 0 ++#define CONFIG_PCM_F32LE_DECODER 1 ++#define CONFIG_PCM_F64BE_DECODER 0 ++#define CONFIG_PCM_F64LE_DECODER 0 ++#define CONFIG_PCM_LXF_DECODER 0 ++#define CONFIG_PCM_MULAW_DECODER 1 ++#define CONFIG_PCM_S8_DECODER 0 ++#define CONFIG_PCM_S8_PLANAR_DECODER 0 ++#define CONFIG_PCM_S16BE_DECODER 1 ++#define CONFIG_PCM_S16BE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S16LE_DECODER 1 ++#define CONFIG_PCM_S16LE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S24BE_DECODER 1 ++#define CONFIG_PCM_S24DAUD_DECODER 0 ++#define CONFIG_PCM_S24LE_DECODER 1 ++#define CONFIG_PCM_S24LE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S32BE_DECODER 0 ++#define CONFIG_PCM_S32LE_DECODER 1 ++#define CONFIG_PCM_S32LE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S64BE_DECODER 0 ++#define CONFIG_PCM_S64LE_DECODER 0 ++#define CONFIG_PCM_SGA_DECODER 0 ++#define CONFIG_PCM_U8_DECODER 1 ++#define CONFIG_PCM_U16BE_DECODER 0 ++#define CONFIG_PCM_U16LE_DECODER 0 ++#define CONFIG_PCM_U24BE_DECODER 0 ++#define CONFIG_PCM_U24LE_DECODER 0 ++#define CONFIG_PCM_U32BE_DECODER 0 ++#define CONFIG_PCM_U32LE_DECODER 0 ++#define CONFIG_PCM_VIDC_DECODER 0 ++#define CONFIG_DERF_DPCM_DECODER 0 ++#define CONFIG_GREMLIN_DPCM_DECODER 0 ++#define CONFIG_INTERPLAY_DPCM_DECODER 0 ++#define CONFIG_ROQ_DPCM_DECODER 0 ++#define CONFIG_SDX2_DPCM_DECODER 0 ++#define CONFIG_SOL_DPCM_DECODER 0 ++#define CONFIG_XAN_DPCM_DECODER 0 ++#define CONFIG_ADPCM_4XM_DECODER 0 ++#define CONFIG_ADPCM_ADX_DECODER 0 ++#define CONFIG_ADPCM_AFC_DECODER 0 ++#define CONFIG_ADPCM_AGM_DECODER 0 ++#define CONFIG_ADPCM_AICA_DECODER 0 ++#define CONFIG_ADPCM_ARGO_DECODER 0 ++#define CONFIG_ADPCM_CT_DECODER 0 ++#define CONFIG_ADPCM_DTK_DECODER 0 ++#define CONFIG_ADPCM_EA_DECODER 0 ++#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 0 ++#define CONFIG_ADPCM_EA_R1_DECODER 0 ++#define CONFIG_ADPCM_EA_R2_DECODER 0 ++#define CONFIG_ADPCM_EA_R3_DECODER 0 ++#define CONFIG_ADPCM_EA_XAS_DECODER 0 ++#define CONFIG_ADPCM_G722_DECODER 0 ++#define CONFIG_ADPCM_G726_DECODER 0 ++#define CONFIG_ADPCM_G726LE_DECODER 0 ++#define CONFIG_ADPCM_IMA_ACORN_DECODER 0 ++#define CONFIG_ADPCM_IMA_AMV_DECODER 0 ++#define CONFIG_ADPCM_IMA_ALP_DECODER 0 ++#define CONFIG_ADPCM_IMA_APC_DECODER 0 ++#define CONFIG_ADPCM_IMA_APM_DECODER 0 ++#define CONFIG_ADPCM_IMA_CUNNING_DECODER 0 ++#define CONFIG_ADPCM_IMA_DAT4_DECODER 0 ++#define CONFIG_ADPCM_IMA_DK3_DECODER 0 ++#define CONFIG_ADPCM_IMA_DK4_DECODER 0 ++#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0 ++#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 0 ++#define CONFIG_ADPCM_IMA_ISS_DECODER 0 ++#define CONFIG_ADPCM_IMA_MOFLEX_DECODER 0 ++#define CONFIG_ADPCM_IMA_MTF_DECODER 0 ++#define CONFIG_ADPCM_IMA_OKI_DECODER 0 ++#define CONFIG_ADPCM_IMA_QT_DECODER 0 ++#define CONFIG_ADPCM_IMA_RAD_DECODER 0 ++#define CONFIG_ADPCM_IMA_SSI_DECODER 0 ++#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 0 ++#define CONFIG_ADPCM_IMA_WAV_DECODER 0 ++#define CONFIG_ADPCM_IMA_WS_DECODER 0 ++#define CONFIG_ADPCM_MS_DECODER 0 ++#define CONFIG_ADPCM_MTAF_DECODER 0 ++#define CONFIG_ADPCM_PSX_DECODER 0 ++#define CONFIG_ADPCM_SBPRO_2_DECODER 0 ++#define CONFIG_ADPCM_SBPRO_3_DECODER 0 ++#define CONFIG_ADPCM_SBPRO_4_DECODER 0 ++#define CONFIG_ADPCM_SWF_DECODER 0 ++#define CONFIG_ADPCM_THP_DECODER 0 ++#define CONFIG_ADPCM_THP_LE_DECODER 0 ++#define CONFIG_ADPCM_VIMA_DECODER 0 ++#define CONFIG_ADPCM_XA_DECODER 0 ++#define CONFIG_ADPCM_YAMAHA_DECODER 0 ++#define CONFIG_ADPCM_ZORK_DECODER 0 ++#define CONFIG_SSA_DECODER 0 ++#define CONFIG_ASS_DECODER 0 ++#define CONFIG_CCAPTION_DECODER 0 ++#define CONFIG_DVBSUB_DECODER 0 ++#define CONFIG_DVDSUB_DECODER 0 ++#define CONFIG_JACOSUB_DECODER 0 ++#define CONFIG_MICRODVD_DECODER 0 ++#define CONFIG_MOVTEXT_DECODER 0 ++#define CONFIG_MPL2_DECODER 0 ++#define CONFIG_PGSSUB_DECODER 0 ++#define CONFIG_PJS_DECODER 0 ++#define CONFIG_REALTEXT_DECODER 0 ++#define CONFIG_SAMI_DECODER 0 ++#define CONFIG_SRT_DECODER 0 ++#define CONFIG_STL_DECODER 0 ++#define CONFIG_SUBRIP_DECODER 0 ++#define CONFIG_SUBVIEWER_DECODER 0 ++#define CONFIG_SUBVIEWER1_DECODER 0 ++#define CONFIG_TEXT_DECODER 0 ++#define CONFIG_VPLAYER_DECODER 0 ++#define CONFIG_WEBVTT_DECODER 0 ++#define CONFIG_XSUB_DECODER 0 ++#define CONFIG_AAC_AT_DECODER 0 ++#define CONFIG_AC3_AT_DECODER 0 ++#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0 ++#define CONFIG_ALAC_AT_DECODER 0 ++#define CONFIG_AMR_NB_AT_DECODER 0 ++#define CONFIG_EAC3_AT_DECODER 0 ++#define CONFIG_GSM_MS_AT_DECODER 0 ++#define CONFIG_ILBC_AT_DECODER 0 ++#define CONFIG_MP1_AT_DECODER 0 ++#define CONFIG_MP2_AT_DECODER 0 ++#define CONFIG_MP3_AT_DECODER 0 ++#define CONFIG_PCM_ALAW_AT_DECODER 0 ++#define CONFIG_PCM_MULAW_AT_DECODER 0 ++#define CONFIG_QDMC_AT_DECODER 0 ++#define CONFIG_QDM2_AT_DECODER 0 ++#define CONFIG_LIBARIBB24_DECODER 0 ++#define CONFIG_LIBCELT_DECODER 0 ++#define CONFIG_LIBCODEC2_DECODER 0 ++#define CONFIG_LIBDAV1D_DECODER 0 ++#define CONFIG_LIBDAVS2_DECODER 0 ++#define CONFIG_LIBFDK_AAC_DECODER 0 ++#define CONFIG_LIBGSM_DECODER 0 ++#define CONFIG_LIBGSM_MS_DECODER 0 ++#define CONFIG_LIBILBC_DECODER 0 ++#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0 ++#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0 ++#define CONFIG_LIBOPENJPEG_DECODER 0 ++#define CONFIG_LIBOPUS_DECODER 1 ++#define CONFIG_LIBRSVG_DECODER 0 ++#define CONFIG_LIBSPEEX_DECODER 0 ++#define CONFIG_LIBUAVS3D_DECODER 0 ++#define CONFIG_LIBVORBIS_DECODER 0 ++#define CONFIG_LIBVPX_VP8_DECODER 0 ++#define CONFIG_LIBVPX_VP9_DECODER 0 ++#define CONFIG_LIBZVBI_TELETEXT_DECODER 0 ++#define CONFIG_BINTEXT_DECODER 0 ++#define CONFIG_XBIN_DECODER 0 ++#define CONFIG_IDF_DECODER 0 ++#define CONFIG_LIBAOM_AV1_DECODER 0 ++#define CONFIG_AV1_DECODER 0 ++#define CONFIG_AV1_CUVID_DECODER 0 ++#define CONFIG_AV1_QSV_DECODER 0 ++#define CONFIG_LIBOPENH264_DECODER 0 ++#define CONFIG_H264_CUVID_DECODER 0 ++#define CONFIG_HEVC_CUVID_DECODER 0 ++#define CONFIG_HEVC_MEDIACODEC_DECODER 0 ++#define CONFIG_MJPEG_CUVID_DECODER 0 ++#define CONFIG_MJPEG_QSV_DECODER 0 ++#define CONFIG_MPEG1_CUVID_DECODER 0 ++#define CONFIG_MPEG2_CUVID_DECODER 0 ++#define CONFIG_MPEG4_CUVID_DECODER 0 ++#define CONFIG_MPEG4_MEDIACODEC_DECODER 0 ++#define CONFIG_VC1_CUVID_DECODER 0 ++#define CONFIG_VP8_CUVID_DECODER 0 ++#define CONFIG_VP8_MEDIACODEC_DECODER 0 ++#define CONFIG_VP8_QSV_DECODER 0 ++#define CONFIG_VP9_CUVID_DECODER 0 ++#define CONFIG_VP9_MEDIACODEC_DECODER 0 ++#define CONFIG_VP9_QSV_DECODER 0 ++#define CONFIG_A64MULTI_ENCODER 0 ++#define CONFIG_A64MULTI5_ENCODER 0 ++#define CONFIG_ALIAS_PIX_ENCODER 0 ++#define CONFIG_AMV_ENCODER 0 ++#define CONFIG_APNG_ENCODER 0 ++#define CONFIG_ASV1_ENCODER 0 ++#define CONFIG_ASV2_ENCODER 0 ++#define CONFIG_AVRP_ENCODER 0 ++#define CONFIG_AVUI_ENCODER 0 ++#define CONFIG_AYUV_ENCODER 0 ++#define CONFIG_BITPACKED_ENCODER 0 ++#define CONFIG_BMP_ENCODER 0 ++#define CONFIG_CFHD_ENCODER 0 ++#define CONFIG_CINEPAK_ENCODER 0 ++#define CONFIG_CLJR_ENCODER 0 ++#define CONFIG_COMFORTNOISE_ENCODER 0 ++#define CONFIG_DNXHD_ENCODER 0 ++#define CONFIG_DPX_ENCODER 0 ++#define CONFIG_DVVIDEO_ENCODER 0 ++#define CONFIG_EXR_ENCODER 0 ++#define CONFIG_FFV1_ENCODER 0 ++#define CONFIG_FFVHUFF_ENCODER 0 ++#define CONFIG_FITS_ENCODER 0 ++#define CONFIG_FLASHSV_ENCODER 0 ++#define CONFIG_FLASHSV2_ENCODER 0 ++#define CONFIG_FLV_ENCODER 0 ++#define CONFIG_GIF_ENCODER 0 ++#define CONFIG_H261_ENCODER 0 ++#define CONFIG_H263_ENCODER 0 ++#define CONFIG_H263P_ENCODER 0 ++#define CONFIG_HAP_ENCODER 0 ++#define CONFIG_HUFFYUV_ENCODER 0 ++#define CONFIG_JPEG2000_ENCODER 0 ++#define CONFIG_JPEGLS_ENCODER 0 ++#define CONFIG_LJPEG_ENCODER 0 ++#define CONFIG_MAGICYUV_ENCODER 0 ++#define CONFIG_MJPEG_ENCODER 0 ++#define CONFIG_MPEG1VIDEO_ENCODER 0 ++#define CONFIG_MPEG2VIDEO_ENCODER 0 ++#define CONFIG_MPEG4_ENCODER 0 ++#define CONFIG_MSMPEG4V2_ENCODER 0 ++#define CONFIG_MSMPEG4V3_ENCODER 0 ++#define CONFIG_MSVIDEO1_ENCODER 0 ++#define CONFIG_PAM_ENCODER 0 ++#define CONFIG_PBM_ENCODER 0 ++#define CONFIG_PCX_ENCODER 0 ++#define CONFIG_PFM_ENCODER 0 ++#define CONFIG_PGM_ENCODER 0 ++#define CONFIG_PGMYUV_ENCODER 0 ++#define CONFIG_PNG_ENCODER 0 ++#define CONFIG_PPM_ENCODER 0 ++#define CONFIG_PRORES_ENCODER 0 ++#define CONFIG_PRORES_AW_ENCODER 0 ++#define CONFIG_PRORES_KS_ENCODER 0 ++#define CONFIG_QTRLE_ENCODER 0 ++#define CONFIG_R10K_ENCODER 0 ++#define CONFIG_R210_ENCODER 0 ++#define CONFIG_RAWVIDEO_ENCODER 0 ++#define CONFIG_ROQ_ENCODER 0 ++#define CONFIG_RPZA_ENCODER 0 ++#define CONFIG_RV10_ENCODER 0 ++#define CONFIG_RV20_ENCODER 0 ++#define CONFIG_S302M_ENCODER 0 ++#define CONFIG_SGI_ENCODER 0 ++#define CONFIG_SMC_ENCODER 0 ++#define CONFIG_SNOW_ENCODER 0 ++#define CONFIG_SPEEDHQ_ENCODER 0 ++#define CONFIG_SUNRAST_ENCODER 0 ++#define CONFIG_SVQ1_ENCODER 0 ++#define CONFIG_TARGA_ENCODER 0 ++#define CONFIG_TIFF_ENCODER 0 ++#define CONFIG_UTVIDEO_ENCODER 0 ++#define CONFIG_V210_ENCODER 0 ++#define CONFIG_V308_ENCODER 0 ++#define CONFIG_V408_ENCODER 0 ++#define CONFIG_V410_ENCODER 0 ++#define CONFIG_VC2_ENCODER 0 ++#define CONFIG_WRAPPED_AVFRAME_ENCODER 0 ++#define CONFIG_WMV1_ENCODER 0 ++#define CONFIG_WMV2_ENCODER 0 ++#define CONFIG_XBM_ENCODER 0 ++#define CONFIG_XFACE_ENCODER 0 ++#define CONFIG_XWD_ENCODER 0 ++#define CONFIG_Y41P_ENCODER 0 ++#define CONFIG_YUV4_ENCODER 0 ++#define CONFIG_ZLIB_ENCODER 0 ++#define CONFIG_ZMBV_ENCODER 0 ++#define CONFIG_AAC_ENCODER 0 ++#define CONFIG_AC3_ENCODER 0 ++#define CONFIG_AC3_FIXED_ENCODER 0 ++#define CONFIG_ALAC_ENCODER 0 ++#define CONFIG_APTX_ENCODER 0 ++#define CONFIG_APTX_HD_ENCODER 0 ++#define CONFIG_DCA_ENCODER 0 ++#define CONFIG_DFPWM_ENCODER 0 ++#define CONFIG_EAC3_ENCODER 0 ++#define CONFIG_FLAC_ENCODER 0 ++#define CONFIG_G723_1_ENCODER 0 ++#define CONFIG_MLP_ENCODER 0 ++#define CONFIG_MP2_ENCODER 0 ++#define CONFIG_MP2FIXED_ENCODER 0 ++#define CONFIG_NELLYMOSER_ENCODER 0 ++#define CONFIG_OPUS_ENCODER 0 ++#define CONFIG_RA_144_ENCODER 0 ++#define CONFIG_SBC_ENCODER 0 ++#define CONFIG_SONIC_ENCODER 0 ++#define CONFIG_SONIC_LS_ENCODER 0 ++#define CONFIG_TRUEHD_ENCODER 0 ++#define CONFIG_TTA_ENCODER 0 ++#define CONFIG_VORBIS_ENCODER 0 ++#define CONFIG_WAVPACK_ENCODER 0 ++#define CONFIG_WMAV1_ENCODER 0 ++#define CONFIG_WMAV2_ENCODER 0 ++#define CONFIG_PCM_ALAW_ENCODER 0 ++#define CONFIG_PCM_BLURAY_ENCODER 0 ++#define CONFIG_PCM_DVD_ENCODER 0 ++#define CONFIG_PCM_F32BE_ENCODER 0 ++#define CONFIG_PCM_F32LE_ENCODER 0 ++#define CONFIG_PCM_F64BE_ENCODER 0 ++#define CONFIG_PCM_F64LE_ENCODER 0 ++#define CONFIG_PCM_MULAW_ENCODER 0 ++#define CONFIG_PCM_S8_ENCODER 0 ++#define CONFIG_PCM_S8_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S16BE_ENCODER 0 ++#define CONFIG_PCM_S16BE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S16LE_ENCODER 0 ++#define CONFIG_PCM_S16LE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S24BE_ENCODER 0 ++#define CONFIG_PCM_S24DAUD_ENCODER 0 ++#define CONFIG_PCM_S24LE_ENCODER 0 ++#define CONFIG_PCM_S24LE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S32BE_ENCODER 0 ++#define CONFIG_PCM_S32LE_ENCODER 0 ++#define CONFIG_PCM_S32LE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S64BE_ENCODER 0 ++#define CONFIG_PCM_S64LE_ENCODER 0 ++#define CONFIG_PCM_U8_ENCODER 0 ++#define CONFIG_PCM_U16BE_ENCODER 0 ++#define CONFIG_PCM_U16LE_ENCODER 0 ++#define CONFIG_PCM_U24BE_ENCODER 0 ++#define CONFIG_PCM_U24LE_ENCODER 0 ++#define CONFIG_PCM_U32BE_ENCODER 0 ++#define CONFIG_PCM_U32LE_ENCODER 0 ++#define CONFIG_PCM_VIDC_ENCODER 0 ++#define CONFIG_ROQ_DPCM_ENCODER 0 ++#define CONFIG_ADPCM_ADX_ENCODER 0 ++#define CONFIG_ADPCM_ARGO_ENCODER 0 ++#define CONFIG_ADPCM_G722_ENCODER 0 ++#define CONFIG_ADPCM_G726_ENCODER 0 ++#define CONFIG_ADPCM_G726LE_ENCODER 0 ++#define CONFIG_ADPCM_IMA_AMV_ENCODER 0 ++#define CONFIG_ADPCM_IMA_ALP_ENCODER 0 ++#define CONFIG_ADPCM_IMA_APM_ENCODER 0 ++#define CONFIG_ADPCM_IMA_QT_ENCODER 0 ++#define CONFIG_ADPCM_IMA_SSI_ENCODER 0 ++#define CONFIG_ADPCM_IMA_WAV_ENCODER 0 ++#define CONFIG_ADPCM_IMA_WS_ENCODER 0 ++#define CONFIG_ADPCM_MS_ENCODER 0 ++#define CONFIG_ADPCM_SWF_ENCODER 0 ++#define CONFIG_ADPCM_YAMAHA_ENCODER 0 ++#define CONFIG_SSA_ENCODER 0 ++#define CONFIG_ASS_ENCODER 0 ++#define CONFIG_DVBSUB_ENCODER 0 ++#define CONFIG_DVDSUB_ENCODER 0 ++#define CONFIG_MOVTEXT_ENCODER 0 ++#define CONFIG_SRT_ENCODER 0 ++#define CONFIG_SUBRIP_ENCODER 0 ++#define CONFIG_TEXT_ENCODER 0 ++#define CONFIG_TTML_ENCODER 0 ++#define CONFIG_WEBVTT_ENCODER 0 ++#define CONFIG_XSUB_ENCODER 0 ++#define CONFIG_AAC_AT_ENCODER 0 ++#define CONFIG_ALAC_AT_ENCODER 0 ++#define CONFIG_ILBC_AT_ENCODER 0 ++#define CONFIG_PCM_ALAW_AT_ENCODER 0 ++#define CONFIG_PCM_MULAW_AT_ENCODER 0 ++#define CONFIG_LIBAOM_AV1_ENCODER 0 ++#define CONFIG_LIBCODEC2_ENCODER 0 ++#define CONFIG_LIBFDK_AAC_ENCODER 0 ++#define CONFIG_LIBGSM_ENCODER 0 ++#define CONFIG_LIBGSM_MS_ENCODER 0 ++#define CONFIG_LIBILBC_ENCODER 0 ++#define CONFIG_LIBMP3LAME_ENCODER 0 ++#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0 ++#define CONFIG_LIBOPENJPEG_ENCODER 0 ++#define CONFIG_LIBOPUS_ENCODER 0 ++#define CONFIG_LIBRAV1E_ENCODER 0 ++#define CONFIG_LIBSHINE_ENCODER 0 ++#define CONFIG_LIBSPEEX_ENCODER 0 ++#define CONFIG_LIBSVTAV1_ENCODER 0 ++#define CONFIG_LIBTHEORA_ENCODER 0 ++#define CONFIG_LIBTWOLAME_ENCODER 0 ++#define CONFIG_LIBVO_AMRWBENC_ENCODER 0 ++#define CONFIG_LIBVORBIS_ENCODER 0 ++#define CONFIG_LIBVPX_VP8_ENCODER 0 ++#define CONFIG_LIBVPX_VP9_ENCODER 0 ++#define CONFIG_LIBWEBP_ANIM_ENCODER 0 ++#define CONFIG_LIBWEBP_ENCODER 0 ++#define CONFIG_LIBX262_ENCODER 0 ++#define CONFIG_LIBX264_ENCODER 0 ++#define CONFIG_LIBX264RGB_ENCODER 0 ++#define CONFIG_LIBX265_ENCODER 0 ++#define CONFIG_LIBXAVS_ENCODER 0 ++#define CONFIG_LIBXAVS2_ENCODER 0 ++#define CONFIG_LIBXVID_ENCODER 0 ++#define CONFIG_AAC_MF_ENCODER 0 ++#define CONFIG_AC3_MF_ENCODER 0 ++#define CONFIG_H263_V4L2M2M_ENCODER 0 ++#define CONFIG_LIBOPENH264_ENCODER 0 ++#define CONFIG_H264_AMF_ENCODER 0 ++#define CONFIG_H264_MF_ENCODER 0 ++#define CONFIG_H264_NVENC_ENCODER 0 ++#define CONFIG_H264_OMX_ENCODER 0 ++#define CONFIG_H264_QSV_ENCODER 0 ++#define CONFIG_H264_V4L2M2M_ENCODER 0 ++#define CONFIG_H264_VAAPI_ENCODER 0 ++#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0 ++#define CONFIG_HEVC_AMF_ENCODER 0 ++#define CONFIG_HEVC_MF_ENCODER 0 ++#define CONFIG_HEVC_NVENC_ENCODER 0 ++#define CONFIG_HEVC_QSV_ENCODER 0 ++#define CONFIG_HEVC_V4L2M2M_ENCODER 0 ++#define CONFIG_HEVC_VAAPI_ENCODER 0 ++#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0 ++#define CONFIG_LIBKVAZAAR_ENCODER 0 ++#define CONFIG_MJPEG_QSV_ENCODER 0 ++#define CONFIG_MJPEG_VAAPI_ENCODER 0 ++#define CONFIG_MP3_MF_ENCODER 0 ++#define CONFIG_MPEG2_QSV_ENCODER 0 ++#define CONFIG_MPEG2_VAAPI_ENCODER 0 ++#define CONFIG_MPEG4_OMX_ENCODER 0 ++#define CONFIG_MPEG4_V4L2M2M_ENCODER 0 ++#define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0 ++#define CONFIG_VP8_V4L2M2M_ENCODER 0 ++#define CONFIG_VP8_VAAPI_ENCODER 0 ++#define CONFIG_VP9_VAAPI_ENCODER 0 ++#define CONFIG_VP9_QSV_ENCODER 0 ++#define CONFIG_AV1_D3D11VA_HWACCEL 0 ++#define CONFIG_AV1_D3D11VA2_HWACCEL 0 ++#define CONFIG_AV1_DXVA2_HWACCEL 0 ++#define CONFIG_AV1_NVDEC_HWACCEL 0 ++#define CONFIG_AV1_VAAPI_HWACCEL 0 ++#define CONFIG_H263_VAAPI_HWACCEL 0 ++#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_H264_D3D11VA_HWACCEL 0 ++#define CONFIG_H264_D3D11VA2_HWACCEL 0 ++#define CONFIG_H264_DXVA2_HWACCEL 0 ++#define CONFIG_H264_NVDEC_HWACCEL 0 ++#define CONFIG_H264_VAAPI_HWACCEL 0 ++#define CONFIG_H264_VDPAU_HWACCEL 0 ++#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_HEVC_D3D11VA_HWACCEL 0 ++#define CONFIG_HEVC_D3D11VA2_HWACCEL 0 ++#define CONFIG_HEVC_DXVA2_HWACCEL 0 ++#define CONFIG_HEVC_NVDEC_HWACCEL 0 ++#define CONFIG_HEVC_VAAPI_HWACCEL 0 ++#define CONFIG_HEVC_VDPAU_HWACCEL 0 ++#define CONFIG_HEVC_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_MJPEG_NVDEC_HWACCEL 0 ++#define CONFIG_MJPEG_VAAPI_HWACCEL 0 ++#define CONFIG_MPEG1_NVDEC_HWACCEL 0 ++#define CONFIG_MPEG1_VDPAU_HWACCEL 0 ++#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_MPEG2_D3D11VA_HWACCEL 0 ++#define CONFIG_MPEG2_D3D11VA2_HWACCEL 0 ++#define CONFIG_MPEG2_NVDEC_HWACCEL 0 ++#define CONFIG_MPEG2_DXVA2_HWACCEL 0 ++#define CONFIG_MPEG2_VAAPI_HWACCEL 0 ++#define CONFIG_MPEG2_VDPAU_HWACCEL 0 ++#define CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_MPEG4_NVDEC_HWACCEL 0 ++#define CONFIG_MPEG4_VAAPI_HWACCEL 0 ++#define CONFIG_MPEG4_VDPAU_HWACCEL 0 ++#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_VC1_D3D11VA_HWACCEL 0 ++#define CONFIG_VC1_D3D11VA2_HWACCEL 0 ++#define CONFIG_VC1_DXVA2_HWACCEL 0 ++#define CONFIG_VC1_NVDEC_HWACCEL 0 ++#define CONFIG_VC1_VAAPI_HWACCEL 0 ++#define CONFIG_VC1_VDPAU_HWACCEL 0 ++#define CONFIG_VP8_NVDEC_HWACCEL 0 ++#define CONFIG_VP8_VAAPI_HWACCEL 0 ++#define CONFIG_VP9_D3D11VA_HWACCEL 0 ++#define CONFIG_VP9_D3D11VA2_HWACCEL 0 ++#define CONFIG_VP9_DXVA2_HWACCEL 0 ++#define CONFIG_VP9_NVDEC_HWACCEL 0 ++#define CONFIG_VP9_VAAPI_HWACCEL 0 ++#define CONFIG_VP9_VDPAU_HWACCEL 0 ++#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_WMV3_D3D11VA_HWACCEL 0 ++#define CONFIG_WMV3_D3D11VA2_HWACCEL 0 ++#define CONFIG_WMV3_DXVA2_HWACCEL 0 ++#define CONFIG_WMV3_NVDEC_HWACCEL 0 ++#define CONFIG_WMV3_VAAPI_HWACCEL 0 ++#define CONFIG_WMV3_VDPAU_HWACCEL 0 ++#define CONFIG_AAC_PARSER 1 ++#define CONFIG_AAC_LATM_PARSER 0 ++#define CONFIG_AC3_PARSER 0 ++#define CONFIG_ADX_PARSER 0 ++#define CONFIG_AMR_PARSER 0 ++#define CONFIG_AV1_PARSER 0 ++#define CONFIG_AVS2_PARSER 0 ++#define CONFIG_AVS3_PARSER 0 ++#define CONFIG_BMP_PARSER 0 ++#define CONFIG_CAVSVIDEO_PARSER 0 ++#define CONFIG_COOK_PARSER 0 ++#define CONFIG_CRI_PARSER 0 ++#define CONFIG_DCA_PARSER 0 ++#define CONFIG_DIRAC_PARSER 0 ++#define CONFIG_DNXHD_PARSER 0 ++#define CONFIG_DOLBY_E_PARSER 0 ++#define CONFIG_DPX_PARSER 0 ++#define CONFIG_DVAUDIO_PARSER 0 ++#define CONFIG_DVBSUB_PARSER 0 ++#define CONFIG_DVDSUB_PARSER 0 ++#define CONFIG_DVD_NAV_PARSER 0 ++#define CONFIG_FLAC_PARSER 1 ++#define CONFIG_G723_1_PARSER 0 ++#define CONFIG_G729_PARSER 0 ++#define CONFIG_GIF_PARSER 0 ++#define CONFIG_GSM_PARSER 0 ++#define CONFIG_H261_PARSER 0 ++#define CONFIG_H263_PARSER 0 ++#define CONFIG_H264_PARSER 1 ++#define CONFIG_HEVC_PARSER 0 ++#define CONFIG_IPU_PARSER 0 ++#define CONFIG_JPEG2000_PARSER 0 ++#define CONFIG_MJPEG_PARSER 0 ++#define CONFIG_MLP_PARSER 0 ++#define CONFIG_MPEG4VIDEO_PARSER 0 ++#define CONFIG_MPEGAUDIO_PARSER 1 ++#define CONFIG_MPEGVIDEO_PARSER 0 ++#define CONFIG_OPUS_PARSER 1 ++#define CONFIG_PNG_PARSER 0 ++#define CONFIG_PNM_PARSER 0 ++#define CONFIG_RV30_PARSER 0 ++#define CONFIG_RV40_PARSER 0 ++#define CONFIG_SBC_PARSER 0 ++#define CONFIG_SIPR_PARSER 0 ++#define CONFIG_TAK_PARSER 0 ++#define CONFIG_VC1_PARSER 0 ++#define CONFIG_VORBIS_PARSER 1 ++#define CONFIG_VP3_PARSER 1 ++#define CONFIG_VP8_PARSER 1 ++#define CONFIG_VP9_PARSER 1 ++#define CONFIG_WEBP_PARSER 0 ++#define CONFIG_XBM_PARSER 0 ++#define CONFIG_XMA_PARSER 0 ++#define CONFIG_ALSA_INDEV 0 ++#define CONFIG_ANDROID_CAMERA_INDEV 0 ++#define CONFIG_AVFOUNDATION_INDEV 0 ++#define CONFIG_BKTR_INDEV 0 ++#define CONFIG_DECKLINK_INDEV 0 ++#define CONFIG_DSHOW_INDEV 0 ++#define CONFIG_FBDEV_INDEV 0 ++#define CONFIG_GDIGRAB_INDEV 0 ++#define CONFIG_IEC61883_INDEV 0 ++#define CONFIG_JACK_INDEV 0 ++#define CONFIG_KMSGRAB_INDEV 0 ++#define CONFIG_LAVFI_INDEV 0 ++#define CONFIG_OPENAL_INDEV 0 ++#define CONFIG_OSS_INDEV 0 ++#define CONFIG_PULSE_INDEV 0 ++#define CONFIG_SNDIO_INDEV 0 ++#define CONFIG_V4L2_INDEV 0 ++#define CONFIG_VFWCAP_INDEV 0 ++#define CONFIG_XCBGRAB_INDEV 0 ++#define CONFIG_LIBCDIO_INDEV 0 ++#define CONFIG_LIBDC1394_INDEV 0 ++#define CONFIG_ALSA_OUTDEV 0 ++#define CONFIG_AUDIOTOOLBOX_OUTDEV 0 ++#define CONFIG_CACA_OUTDEV 0 ++#define CONFIG_DECKLINK_OUTDEV 0 ++#define CONFIG_FBDEV_OUTDEV 0 ++#define CONFIG_OPENGL_OUTDEV 0 ++#define CONFIG_OSS_OUTDEV 0 ++#define CONFIG_PULSE_OUTDEV 0 ++#define CONFIG_SDL2_OUTDEV 0 ++#define CONFIG_SNDIO_OUTDEV 0 ++#define CONFIG_V4L2_OUTDEV 0 ++#define CONFIG_XV_OUTDEV 0 ++#define CONFIG_ABENCH_FILTER 0 ++#define CONFIG_ACOMPRESSOR_FILTER 0 ++#define CONFIG_ACONTRAST_FILTER 0 ++#define CONFIG_ACOPY_FILTER 0 ++#define CONFIG_ACUE_FILTER 0 ++#define CONFIG_ACROSSFADE_FILTER 0 ++#define CONFIG_ACROSSOVER_FILTER 0 ++#define CONFIG_ACRUSHER_FILTER 0 ++#define CONFIG_ADECLICK_FILTER 0 ++#define CONFIG_ADECLIP_FILTER 0 ++#define CONFIG_ADECORRELATE_FILTER 0 ++#define CONFIG_ADELAY_FILTER 0 ++#define CONFIG_ADENORM_FILTER 0 ++#define CONFIG_ADERIVATIVE_FILTER 0 ++#define CONFIG_ADYNAMICEQUALIZER_FILTER 0 ++#define CONFIG_ADYNAMICSMOOTH_FILTER 0 ++#define CONFIG_AECHO_FILTER 0 ++#define CONFIG_AEMPHASIS_FILTER 0 ++#define CONFIG_AEVAL_FILTER 0 ++#define CONFIG_AEXCITER_FILTER 0 ++#define CONFIG_AFADE_FILTER 0 ++#define CONFIG_AFFTDN_FILTER 0 ++#define CONFIG_AFFTFILT_FILTER 0 ++#define CONFIG_AFIR_FILTER 0 ++#define CONFIG_AFORMAT_FILTER 0 ++#define CONFIG_AFREQSHIFT_FILTER 0 ++#define CONFIG_AFWTDN_FILTER 0 ++#define CONFIG_AGATE_FILTER 0 ++#define CONFIG_AIIR_FILTER 0 ++#define CONFIG_AINTEGRAL_FILTER 0 ++#define CONFIG_AINTERLEAVE_FILTER 0 ++#define CONFIG_ALATENCY_FILTER 0 ++#define CONFIG_ALIMITER_FILTER 0 ++#define CONFIG_ALLPASS_FILTER 0 ++#define CONFIG_ALOOP_FILTER 0 ++#define CONFIG_AMERGE_FILTER 0 ++#define CONFIG_AMETADATA_FILTER 0 ++#define CONFIG_AMIX_FILTER 0 ++#define CONFIG_AMULTIPLY_FILTER 0 ++#define CONFIG_ANEQUALIZER_FILTER 0 ++#define CONFIG_ANLMDN_FILTER 0 ++#define CONFIG_ANLMF_FILTER 0 ++#define CONFIG_ANLMS_FILTER 0 ++#define CONFIG_ANULL_FILTER 0 ++#define CONFIG_APAD_FILTER 0 ++#define CONFIG_APERMS_FILTER 0 ++#define CONFIG_APHASER_FILTER 0 ++#define CONFIG_APHASESHIFT_FILTER 0 ++#define CONFIG_APSYCLIP_FILTER 0 ++#define CONFIG_APULSATOR_FILTER 0 ++#define CONFIG_AREALTIME_FILTER 0 ++#define CONFIG_ARESAMPLE_FILTER 0 ++#define CONFIG_AREVERSE_FILTER 0 ++#define CONFIG_ARNNDN_FILTER 0 ++#define CONFIG_ASDR_FILTER 0 ++#define CONFIG_ASEGMENT_FILTER 0 ++#define CONFIG_ASELECT_FILTER 0 ++#define CONFIG_ASENDCMD_FILTER 0 ++#define CONFIG_ASETNSAMPLES_FILTER 0 ++#define CONFIG_ASETPTS_FILTER 0 ++#define CONFIG_ASETRATE_FILTER 0 ++#define CONFIG_ASETTB_FILTER 0 ++#define CONFIG_ASHOWINFO_FILTER 0 ++#define CONFIG_ASIDEDATA_FILTER 0 ++#define CONFIG_ASOFTCLIP_FILTER 0 ++#define CONFIG_ASPECTRALSTATS_FILTER 0 ++#define CONFIG_ASPLIT_FILTER 0 ++#define CONFIG_ASR_FILTER 0 ++#define CONFIG_ASTATS_FILTER 0 ++#define CONFIG_ASTREAMSELECT_FILTER 0 ++#define CONFIG_ASUBBOOST_FILTER 0 ++#define CONFIG_ASUBCUT_FILTER 0 ++#define CONFIG_ASUPERCUT_FILTER 0 ++#define CONFIG_ASUPERPASS_FILTER 0 ++#define CONFIG_ASUPERSTOP_FILTER 0 ++#define CONFIG_ATEMPO_FILTER 0 ++#define CONFIG_ATILT_FILTER 0 ++#define CONFIG_ATRIM_FILTER 0 ++#define CONFIG_AXCORRELATE_FILTER 0 ++#define CONFIG_AZMQ_FILTER 0 ++#define CONFIG_BANDPASS_FILTER 0 ++#define CONFIG_BANDREJECT_FILTER 0 ++#define CONFIG_BASS_FILTER 0 ++#define CONFIG_BIQUAD_FILTER 0 ++#define CONFIG_BS2B_FILTER 0 ++#define CONFIG_CHANNELMAP_FILTER 0 ++#define CONFIG_CHANNELSPLIT_FILTER 0 ++#define CONFIG_CHORUS_FILTER 0 ++#define CONFIG_COMPAND_FILTER 0 ++#define CONFIG_COMPENSATIONDELAY_FILTER 0 ++#define CONFIG_CROSSFEED_FILTER 0 ++#define CONFIG_CRYSTALIZER_FILTER 0 ++#define CONFIG_DCSHIFT_FILTER 0 ++#define CONFIG_DEESSER_FILTER 0 ++#define CONFIG_DIALOGUENHANCE_FILTER 0 ++#define CONFIG_DRMETER_FILTER 0 ++#define CONFIG_DYNAUDNORM_FILTER 0 ++#define CONFIG_EARWAX_FILTER 0 ++#define CONFIG_EBUR128_FILTER 0 ++#define CONFIG_EQUALIZER_FILTER 0 ++#define CONFIG_EXTRASTEREO_FILTER 0 ++#define CONFIG_FIREQUALIZER_FILTER 0 ++#define CONFIG_FLANGER_FILTER 0 ++#define CONFIG_HAAS_FILTER 0 ++#define CONFIG_HDCD_FILTER 0 ++#define CONFIG_HEADPHONE_FILTER 0 ++#define CONFIG_HIGHPASS_FILTER 0 ++#define CONFIG_HIGHSHELF_FILTER 0 ++#define CONFIG_JOIN_FILTER 0 ++#define CONFIG_LADSPA_FILTER 0 ++#define CONFIG_LOUDNORM_FILTER 0 ++#define CONFIG_LOWPASS_FILTER 0 ++#define CONFIG_LOWSHELF_FILTER 0 ++#define CONFIG_LV2_FILTER 0 ++#define CONFIG_MCOMPAND_FILTER 0 ++#define CONFIG_PAN_FILTER 0 ++#define CONFIG_REPLAYGAIN_FILTER 0 ++#define CONFIG_RUBBERBAND_FILTER 0 ++#define CONFIG_SIDECHAINCOMPRESS_FILTER 0 ++#define CONFIG_SIDECHAINGATE_FILTER 0 ++#define CONFIG_SILENCEDETECT_FILTER 0 ++#define CONFIG_SILENCEREMOVE_FILTER 0 ++#define CONFIG_SOFALIZER_FILTER 0 ++#define CONFIG_SPEECHNORM_FILTER 0 ++#define CONFIG_STEREOTOOLS_FILTER 0 ++#define CONFIG_STEREOWIDEN_FILTER 0 ++#define CONFIG_SUPEREQUALIZER_FILTER 0 ++#define CONFIG_SURROUND_FILTER 0 ++#define CONFIG_TREBLE_FILTER 0 ++#define CONFIG_TREMOLO_FILTER 0 ++#define CONFIG_VIBRATO_FILTER 0 ++#define CONFIG_VOLUME_FILTER 0 ++#define CONFIG_VOLUMEDETECT_FILTER 0 ++#define CONFIG_AEVALSRC_FILTER 0 ++#define CONFIG_AFIRSRC_FILTER 0 ++#define CONFIG_ANOISESRC_FILTER 0 ++#define CONFIG_ANULLSRC_FILTER 0 ++#define CONFIG_FLITE_FILTER 0 ++#define CONFIG_HILBERT_FILTER 0 ++#define CONFIG_SINC_FILTER 0 ++#define CONFIG_SINE_FILTER 0 ++#define CONFIG_ANULLSINK_FILTER 0 ++#define CONFIG_ADDROI_FILTER 0 ++#define CONFIG_ALPHAEXTRACT_FILTER 0 ++#define CONFIG_ALPHAMERGE_FILTER 0 ++#define CONFIG_AMPLIFY_FILTER 0 ++#define CONFIG_ASS_FILTER 0 ++#define CONFIG_ATADENOISE_FILTER 0 ++#define CONFIG_AVGBLUR_FILTER 0 ++#define CONFIG_AVGBLUR_OPENCL_FILTER 0 ++#define CONFIG_AVGBLUR_VULKAN_FILTER 0 ++#define CONFIG_BBOX_FILTER 0 ++#define CONFIG_BENCH_FILTER 0 ++#define CONFIG_BILATERAL_FILTER 0 ++#define CONFIG_BITPLANENOISE_FILTER 0 ++#define CONFIG_BLACKDETECT_FILTER 0 ++#define CONFIG_BLACKFRAME_FILTER 0 ++#define CONFIG_BLEND_FILTER 0 ++#define CONFIG_BLEND_VULKAN_FILTER 0 ++#define CONFIG_BM3D_FILTER 0 ++#define CONFIG_BOXBLUR_FILTER 0 ++#define CONFIG_BOXBLUR_OPENCL_FILTER 0 ++#define CONFIG_BWDIF_FILTER 0 ++#define CONFIG_CAS_FILTER 0 ++#define CONFIG_CHROMABER_VULKAN_FILTER 0 ++#define CONFIG_CHROMAHOLD_FILTER 0 ++#define CONFIG_CHROMAKEY_FILTER 0 ++#define CONFIG_CHROMANR_FILTER 0 ++#define CONFIG_CHROMASHIFT_FILTER 0 ++#define CONFIG_CIESCOPE_FILTER 0 ++#define CONFIG_CODECVIEW_FILTER 0 ++#define CONFIG_COLORBALANCE_FILTER 0 ++#define CONFIG_COLORCHANNELMIXER_FILTER 0 ++#define CONFIG_COLORCONTRAST_FILTER 0 ++#define CONFIG_COLORCORRECT_FILTER 0 ++#define CONFIG_COLORIZE_FILTER 0 ++#define CONFIG_COLORKEY_FILTER 0 ++#define CONFIG_COLORKEY_OPENCL_FILTER 0 ++#define CONFIG_COLORHOLD_FILTER 0 ++#define CONFIG_COLORLEVELS_FILTER 0 ++#define CONFIG_COLORMATRIX_FILTER 0 ++#define CONFIG_COLORSPACE_FILTER 0 ++#define CONFIG_COLORTEMPERATURE_FILTER 0 ++#define CONFIG_CONVOLUTION_FILTER 0 ++#define CONFIG_CONVOLUTION_OPENCL_FILTER 0 ++#define CONFIG_CONVOLVE_FILTER 0 ++#define CONFIG_COPY_FILTER 0 ++#define CONFIG_COREIMAGE_FILTER 0 ++#define CONFIG_COVER_RECT_FILTER 0 ++#define CONFIG_CROP_FILTER 0 ++#define CONFIG_CROPDETECT_FILTER 0 ++#define CONFIG_CUE_FILTER 0 ++#define CONFIG_CURVES_FILTER 0 ++#define CONFIG_DATASCOPE_FILTER 0 ++#define CONFIG_DBLUR_FILTER 0 ++#define CONFIG_DCTDNOIZ_FILTER 0 ++#define CONFIG_DEBAND_FILTER 0 ++#define CONFIG_DEBLOCK_FILTER 0 ++#define CONFIG_DECIMATE_FILTER 0 ++#define CONFIG_DECONVOLVE_FILTER 0 ++#define CONFIG_DEDOT_FILTER 0 ++#define CONFIG_DEFLATE_FILTER 0 ++#define CONFIG_DEFLICKER_FILTER 0 ++#define CONFIG_DEINTERLACE_QSV_FILTER 0 ++#define CONFIG_DEINTERLACE_VAAPI_FILTER 0 ++#define CONFIG_DEJUDDER_FILTER 0 ++#define CONFIG_DELOGO_FILTER 0 ++#define CONFIG_DENOISE_VAAPI_FILTER 0 ++#define CONFIG_DERAIN_FILTER 0 ++#define CONFIG_DESHAKE_FILTER 0 ++#define CONFIG_DESHAKE_OPENCL_FILTER 0 ++#define CONFIG_DESPILL_FILTER 0 ++#define CONFIG_DETELECINE_FILTER 0 ++#define CONFIG_DILATION_FILTER 0 ++#define CONFIG_DILATION_OPENCL_FILTER 0 ++#define CONFIG_DISPLACE_FILTER 0 ++#define CONFIG_DNN_CLASSIFY_FILTER 0 ++#define CONFIG_DNN_DETECT_FILTER 0 ++#define CONFIG_DNN_PROCESSING_FILTER 0 ++#define CONFIG_DOUBLEWEAVE_FILTER 0 ++#define CONFIG_DRAWBOX_FILTER 0 ++#define CONFIG_DRAWGRAPH_FILTER 0 ++#define CONFIG_DRAWGRID_FILTER 0 ++#define CONFIG_DRAWTEXT_FILTER 0 ++#define CONFIG_EDGEDETECT_FILTER 0 ++#define CONFIG_ELBG_FILTER 0 ++#define CONFIG_ENTROPY_FILTER 0 ++#define CONFIG_EPX_FILTER 0 ++#define CONFIG_EQ_FILTER 0 ++#define CONFIG_EROSION_FILTER 0 ++#define CONFIG_EROSION_OPENCL_FILTER 0 ++#define CONFIG_ESTDIF_FILTER 0 ++#define CONFIG_EXPOSURE_FILTER 0 ++#define CONFIG_EXTRACTPLANES_FILTER 0 ++#define CONFIG_FADE_FILTER 0 ++#define CONFIG_FFTDNOIZ_FILTER 0 ++#define CONFIG_FFTFILT_FILTER 0 ++#define CONFIG_FIELD_FILTER 0 ++#define CONFIG_FIELDHINT_FILTER 0 ++#define CONFIG_FIELDMATCH_FILTER 0 ++#define CONFIG_FIELDORDER_FILTER 0 ++#define CONFIG_FILLBORDERS_FILTER 0 ++#define CONFIG_FIND_RECT_FILTER 0 ++#define CONFIG_FLIP_VULKAN_FILTER 0 ++#define CONFIG_FLOODFILL_FILTER 0 ++#define CONFIG_FORMAT_FILTER 0 ++#define CONFIG_FPS_FILTER 0 ++#define CONFIG_FRAMEPACK_FILTER 0 ++#define CONFIG_FRAMERATE_FILTER 0 ++#define CONFIG_FRAMESTEP_FILTER 0 ++#define CONFIG_FREEZEDETECT_FILTER 0 ++#define CONFIG_FREEZEFRAMES_FILTER 0 ++#define CONFIG_FREI0R_FILTER 0 ++#define CONFIG_FSPP_FILTER 0 ++#define CONFIG_GBLUR_FILTER 0 ++#define CONFIG_GBLUR_VULKAN_FILTER 0 ++#define CONFIG_GEQ_FILTER 0 ++#define CONFIG_GRADFUN_FILTER 0 ++#define CONFIG_GRAPHMONITOR_FILTER 0 ++#define CONFIG_GRAYWORLD_FILTER 0 ++#define CONFIG_GREYEDGE_FILTER 0 ++#define CONFIG_GUIDED_FILTER 0 ++#define CONFIG_HALDCLUT_FILTER 0 ++#define CONFIG_HFLIP_FILTER 0 ++#define CONFIG_HFLIP_VULKAN_FILTER 0 ++#define CONFIG_HISTEQ_FILTER 0 ++#define CONFIG_HISTOGRAM_FILTER 0 ++#define CONFIG_HQDN3D_FILTER 0 ++#define CONFIG_HQX_FILTER 0 ++#define CONFIG_HSTACK_FILTER 0 ++#define CONFIG_HSVHOLD_FILTER 0 ++#define CONFIG_HSVKEY_FILTER 0 ++#define CONFIG_HUE_FILTER 0 ++#define CONFIG_HUESATURATION_FILTER 0 ++#define CONFIG_HWDOWNLOAD_FILTER 0 ++#define CONFIG_HWMAP_FILTER 0 ++#define CONFIG_HWUPLOAD_FILTER 0 ++#define CONFIG_HWUPLOAD_CUDA_FILTER 0 ++#define CONFIG_HYSTERESIS_FILTER 0 ++#define CONFIG_IDENTITY_FILTER 0 ++#define CONFIG_IDET_FILTER 0 ++#define CONFIG_IL_FILTER 0 ++#define CONFIG_INFLATE_FILTER 0 ++#define CONFIG_INTERLACE_FILTER 0 ++#define CONFIG_INTERLEAVE_FILTER 0 ++#define CONFIG_KERNDEINT_FILTER 0 ++#define CONFIG_KIRSCH_FILTER 0 ++#define CONFIG_LAGFUN_FILTER 0 ++#define CONFIG_LATENCY_FILTER 0 ++#define CONFIG_LENSCORRECTION_FILTER 0 ++#define CONFIG_LENSFUN_FILTER 0 ++#define CONFIG_LIBPLACEBO_FILTER 0 ++#define CONFIG_LIBVMAF_FILTER 0 ++#define CONFIG_LIMITDIFF_FILTER 0 ++#define CONFIG_LIMITER_FILTER 0 ++#define CONFIG_LOOP_FILTER 0 ++#define CONFIG_LUMAKEY_FILTER 0 ++#define CONFIG_LUT_FILTER 0 ++#define CONFIG_LUT1D_FILTER 0 ++#define CONFIG_LUT2_FILTER 0 ++#define CONFIG_LUT3D_FILTER 0 ++#define CONFIG_LUTRGB_FILTER 0 ++#define CONFIG_LUTYUV_FILTER 0 ++#define CONFIG_MASKEDCLAMP_FILTER 0 ++#define CONFIG_MASKEDMAX_FILTER 0 ++#define CONFIG_MASKEDMERGE_FILTER 0 ++#define CONFIG_MASKEDMIN_FILTER 0 ++#define CONFIG_MASKEDTHRESHOLD_FILTER 0 ++#define CONFIG_MASKFUN_FILTER 0 ++#define CONFIG_MCDEINT_FILTER 0 ++#define CONFIG_MEDIAN_FILTER 0 ++#define CONFIG_MERGEPLANES_FILTER 0 ++#define CONFIG_MESTIMATE_FILTER 0 ++#define CONFIG_METADATA_FILTER 0 ++#define CONFIG_MIDEQUALIZER_FILTER 0 ++#define CONFIG_MINTERPOLATE_FILTER 0 ++#define CONFIG_MIX_FILTER 0 ++#define CONFIG_MONOCHROME_FILTER 0 ++#define CONFIG_MORPHO_FILTER 0 ++#define CONFIG_MPDECIMATE_FILTER 0 ++#define CONFIG_MSAD_FILTER 0 ++#define CONFIG_NEGATE_FILTER 0 ++#define CONFIG_NLMEANS_FILTER 0 ++#define CONFIG_NLMEANS_OPENCL_FILTER 0 ++#define CONFIG_NNEDI_FILTER 0 ++#define CONFIG_NOFORMAT_FILTER 0 ++#define CONFIG_NOISE_FILTER 0 ++#define CONFIG_NORMALIZE_FILTER 0 ++#define CONFIG_NULL_FILTER 0 ++#define CONFIG_OCR_FILTER 0 ++#define CONFIG_OCV_FILTER 0 ++#define CONFIG_OSCILLOSCOPE_FILTER 0 ++#define CONFIG_OVERLAY_FILTER 0 ++#define CONFIG_OVERLAY_OPENCL_FILTER 0 ++#define CONFIG_OVERLAY_QSV_FILTER 0 ++#define CONFIG_OVERLAY_VAAPI_FILTER 0 ++#define CONFIG_OVERLAY_VULKAN_FILTER 0 ++#define CONFIG_OVERLAY_CUDA_FILTER 0 ++#define CONFIG_OWDENOISE_FILTER 0 ++#define CONFIG_PAD_FILTER 0 ++#define CONFIG_PAD_OPENCL_FILTER 0 ++#define CONFIG_PALETTEGEN_FILTER 0 ++#define CONFIG_PALETTEUSE_FILTER 0 ++#define CONFIG_PERMS_FILTER 0 ++#define CONFIG_PERSPECTIVE_FILTER 0 ++#define CONFIG_PHASE_FILTER 0 ++#define CONFIG_PHOTOSENSITIVITY_FILTER 0 ++#define CONFIG_PIXDESCTEST_FILTER 0 ++#define CONFIG_PIXSCOPE_FILTER 0 ++#define CONFIG_PP_FILTER 0 ++#define CONFIG_PP7_FILTER 0 ++#define CONFIG_PREMULTIPLY_FILTER 0 ++#define CONFIG_PREWITT_FILTER 0 ++#define CONFIG_PREWITT_OPENCL_FILTER 0 ++#define CONFIG_PROCAMP_VAAPI_FILTER 0 ++#define CONFIG_PROGRAM_OPENCL_FILTER 0 ++#define CONFIG_PSEUDOCOLOR_FILTER 0 ++#define CONFIG_PSNR_FILTER 0 ++#define CONFIG_PULLUP_FILTER 0 ++#define CONFIG_QP_FILTER 0 ++#define CONFIG_RANDOM_FILTER 0 ++#define CONFIG_READEIA608_FILTER 0 ++#define CONFIG_READVITC_FILTER 0 ++#define CONFIG_REALTIME_FILTER 0 ++#define CONFIG_REMAP_FILTER 0 ++#define CONFIG_REMOVEGRAIN_FILTER 0 ++#define CONFIG_REMOVELOGO_FILTER 0 ++#define CONFIG_REPEATFIELDS_FILTER 0 ++#define CONFIG_REVERSE_FILTER 0 ++#define CONFIG_RGBASHIFT_FILTER 0 ++#define CONFIG_ROBERTS_FILTER 0 ++#define CONFIG_ROBERTS_OPENCL_FILTER 0 ++#define CONFIG_ROTATE_FILTER 0 ++#define CONFIG_SAB_FILTER 0 ++#define CONFIG_SCALE_FILTER 0 ++#define CONFIG_SCALE_CUDA_FILTER 0 ++#define CONFIG_SCALE_NPP_FILTER 0 ++#define CONFIG_SCALE_QSV_FILTER 0 ++#define CONFIG_SCALE_VAAPI_FILTER 0 ++#define CONFIG_SCALE_VULKAN_FILTER 0 ++#define CONFIG_SCALE2REF_FILTER 0 ++#define CONFIG_SCALE2REF_NPP_FILTER 0 ++#define CONFIG_SCDET_FILTER 0 ++#define CONFIG_SCHARR_FILTER 0 ++#define CONFIG_SCROLL_FILTER 0 ++#define CONFIG_SEGMENT_FILTER 0 ++#define CONFIG_SELECT_FILTER 0 ++#define CONFIG_SELECTIVECOLOR_FILTER 0 ++#define CONFIG_SENDCMD_FILTER 0 ++#define CONFIG_SEPARATEFIELDS_FILTER 0 ++#define CONFIG_SETDAR_FILTER 0 ++#define CONFIG_SETFIELD_FILTER 0 ++#define CONFIG_SETPARAMS_FILTER 0 ++#define CONFIG_SETPTS_FILTER 0 ++#define CONFIG_SETRANGE_FILTER 0 ++#define CONFIG_SETSAR_FILTER 0 ++#define CONFIG_SETTB_FILTER 0 ++#define CONFIG_SHARPEN_NPP_FILTER 0 ++#define CONFIG_SHARPNESS_VAAPI_FILTER 0 ++#define CONFIG_SHEAR_FILTER 0 ++#define CONFIG_SHOWINFO_FILTER 0 ++#define CONFIG_SHOWPALETTE_FILTER 0 ++#define CONFIG_SHUFFLEFRAMES_FILTER 0 ++#define CONFIG_SHUFFLEPIXELS_FILTER 0 ++#define CONFIG_SHUFFLEPLANES_FILTER 0 ++#define CONFIG_SIDEDATA_FILTER 0 ++#define CONFIG_SIGNALSTATS_FILTER 0 ++#define CONFIG_SIGNATURE_FILTER 0 ++#define CONFIG_SMARTBLUR_FILTER 0 ++#define CONFIG_SOBEL_FILTER 0 ++#define CONFIG_SOBEL_OPENCL_FILTER 0 ++#define CONFIG_SPLIT_FILTER 0 ++#define CONFIG_SPP_FILTER 0 ++#define CONFIG_SR_FILTER 0 ++#define CONFIG_SSIM_FILTER 0 ++#define CONFIG_STEREO3D_FILTER 0 ++#define CONFIG_STREAMSELECT_FILTER 0 ++#define CONFIG_SUBTITLES_FILTER 0 ++#define CONFIG_SUPER2XSAI_FILTER 0 ++#define CONFIG_SWAPRECT_FILTER 0 ++#define CONFIG_SWAPUV_FILTER 0 ++#define CONFIG_TBLEND_FILTER 0 ++#define CONFIG_TELECINE_FILTER 0 ++#define CONFIG_THISTOGRAM_FILTER 0 ++#define CONFIG_THRESHOLD_FILTER 0 ++#define CONFIG_THUMBNAIL_FILTER 0 ++#define CONFIG_THUMBNAIL_CUDA_FILTER 0 ++#define CONFIG_TILE_FILTER 0 ++#define CONFIG_TINTERLACE_FILTER 0 ++#define CONFIG_TLUT2_FILTER 0 ++#define CONFIG_TMEDIAN_FILTER 0 ++#define CONFIG_TMIDEQUALIZER_FILTER 0 ++#define CONFIG_TMIX_FILTER 0 ++#define CONFIG_TONEMAP_FILTER 0 ++#define CONFIG_TONEMAP_OPENCL_FILTER 0 ++#define CONFIG_TONEMAP_VAAPI_FILTER 0 ++#define CONFIG_TPAD_FILTER 0 ++#define CONFIG_TRANSPOSE_FILTER 0 ++#define CONFIG_TRANSPOSE_NPP_FILTER 0 ++#define CONFIG_TRANSPOSE_OPENCL_FILTER 0 ++#define CONFIG_TRANSPOSE_VAAPI_FILTER 0 ++#define CONFIG_TRANSPOSE_VULKAN_FILTER 0 ++#define CONFIG_TRIM_FILTER 0 ++#define CONFIG_UNPREMULTIPLY_FILTER 0 ++#define CONFIG_UNSHARP_FILTER 0 ++#define CONFIG_UNSHARP_OPENCL_FILTER 0 ++#define CONFIG_UNTILE_FILTER 0 ++#define CONFIG_USPP_FILTER 0 ++#define CONFIG_V360_FILTER 0 ++#define CONFIG_VAGUEDENOISER_FILTER 0 ++#define CONFIG_VARBLUR_FILTER 0 ++#define CONFIG_VECTORSCOPE_FILTER 0 ++#define CONFIG_VFLIP_FILTER 0 ++#define CONFIG_VFLIP_VULKAN_FILTER 0 ++#define CONFIG_VFRDET_FILTER 0 ++#define CONFIG_VIBRANCE_FILTER 0 ++#define CONFIG_VIDSTABDETECT_FILTER 0 ++#define CONFIG_VIDSTABTRANSFORM_FILTER 0 ++#define CONFIG_VIF_FILTER 0 ++#define CONFIG_VIGNETTE_FILTER 0 ++#define CONFIG_VMAFMOTION_FILTER 0 ++#define CONFIG_VPP_QSV_FILTER 0 ++#define CONFIG_VSTACK_FILTER 0 ++#define CONFIG_W3FDIF_FILTER 0 ++#define CONFIG_WAVEFORM_FILTER 0 ++#define CONFIG_WEAVE_FILTER 0 ++#define CONFIG_XBR_FILTER 0 ++#define CONFIG_XCORRELATE_FILTER 0 ++#define CONFIG_XFADE_FILTER 0 ++#define CONFIG_XFADE_OPENCL_FILTER 0 ++#define CONFIG_XMEDIAN_FILTER 0 ++#define CONFIG_XSTACK_FILTER 0 ++#define CONFIG_YADIF_FILTER 0 ++#define CONFIG_YADIF_CUDA_FILTER 0 ++#define CONFIG_YADIF_VIDEOTOOLBOX_FILTER 0 ++#define CONFIG_YAEPBLUR_FILTER 0 ++#define CONFIG_ZMQ_FILTER 0 ++#define CONFIG_ZOOMPAN_FILTER 0 ++#define CONFIG_ZSCALE_FILTER 0 ++#define CONFIG_ALLRGB_FILTER 0 ++#define CONFIG_ALLYUV_FILTER 0 ++#define CONFIG_CELLAUTO_FILTER 0 ++#define CONFIG_COLOR_FILTER 0 ++#define CONFIG_COLORSPECTRUM_FILTER 0 ++#define CONFIG_COREIMAGESRC_FILTER 0 ++#define CONFIG_FREI0R_SRC_FILTER 0 ++#define CONFIG_GRADIENTS_FILTER 0 ++#define CONFIG_HALDCLUTSRC_FILTER 0 ++#define CONFIG_LIFE_FILTER 0 ++#define CONFIG_MANDELBROT_FILTER 0 ++#define CONFIG_MPTESTSRC_FILTER 0 ++#define CONFIG_NULLSRC_FILTER 0 ++#define CONFIG_OPENCLSRC_FILTER 0 ++#define CONFIG_PAL75BARS_FILTER 0 ++#define CONFIG_PAL100BARS_FILTER 0 ++#define CONFIG_RGBTESTSRC_FILTER 0 ++#define CONFIG_SIERPINSKI_FILTER 0 ++#define CONFIG_SMPTEBARS_FILTER 0 ++#define CONFIG_SMPTEHDBARS_FILTER 0 ++#define CONFIG_TESTSRC_FILTER 0 ++#define CONFIG_TESTSRC2_FILTER 0 ++#define CONFIG_YUVTESTSRC_FILTER 0 ++#define CONFIG_NULLSINK_FILTER 0 ++#define CONFIG_ABITSCOPE_FILTER 0 ++#define CONFIG_ADRAWGRAPH_FILTER 0 ++#define CONFIG_AGRAPHMONITOR_FILTER 0 ++#define CONFIG_AHISTOGRAM_FILTER 0 ++#define CONFIG_APHASEMETER_FILTER 0 ++#define CONFIG_AVECTORSCOPE_FILTER 0 ++#define CONFIG_CONCAT_FILTER 0 ++#define CONFIG_SHOWCQT_FILTER 0 ++#define CONFIG_SHOWFREQS_FILTER 0 ++#define CONFIG_SHOWSPATIAL_FILTER 0 ++#define CONFIG_SHOWSPECTRUM_FILTER 0 ++#define CONFIG_SHOWSPECTRUMPIC_FILTER 0 ++#define CONFIG_SHOWVOLUME_FILTER 0 ++#define CONFIG_SHOWWAVES_FILTER 0 ++#define CONFIG_SHOWWAVESPIC_FILTER 0 ++#define CONFIG_SPECTRUMSYNTH_FILTER 0 ++#define CONFIG_AMOVIE_FILTER 0 ++#define CONFIG_MOVIE_FILTER 0 ++#define CONFIG_AFIFO_FILTER 0 ++#define CONFIG_FIFO_FILTER 0 ++#define CONFIG_AA_DEMUXER 0 ++#define CONFIG_AAC_DEMUXER 1 ++#define CONFIG_AAX_DEMUXER 0 ++#define CONFIG_AC3_DEMUXER 0 ++#define CONFIG_ACE_DEMUXER 0 ++#define CONFIG_ACM_DEMUXER 0 ++#define CONFIG_ACT_DEMUXER 0 ++#define CONFIG_ADF_DEMUXER 0 ++#define CONFIG_ADP_DEMUXER 0 ++#define CONFIG_ADS_DEMUXER 0 ++#define CONFIG_ADX_DEMUXER 0 ++#define CONFIG_AEA_DEMUXER 0 ++#define CONFIG_AFC_DEMUXER 0 ++#define CONFIG_AIFF_DEMUXER 0 ++#define CONFIG_AIX_DEMUXER 0 ++#define CONFIG_ALP_DEMUXER 0 ++#define CONFIG_AMR_DEMUXER 0 ++#define CONFIG_AMRNB_DEMUXER 0 ++#define CONFIG_AMRWB_DEMUXER 0 ++#define CONFIG_ANM_DEMUXER 0 ++#define CONFIG_APC_DEMUXER 0 ++#define CONFIG_APE_DEMUXER 0 ++#define CONFIG_APM_DEMUXER 0 ++#define CONFIG_APNG_DEMUXER 0 ++#define CONFIG_APTX_DEMUXER 0 ++#define CONFIG_APTX_HD_DEMUXER 0 ++#define CONFIG_AQTITLE_DEMUXER 0 ++#define CONFIG_ARGO_ASF_DEMUXER 0 ++#define CONFIG_ARGO_BRP_DEMUXER 0 ++#define CONFIG_ARGO_CVG_DEMUXER 0 ++#define CONFIG_ASF_DEMUXER 0 ++#define CONFIG_ASF_O_DEMUXER 0 ++#define CONFIG_ASS_DEMUXER 0 ++#define CONFIG_AST_DEMUXER 0 ++#define CONFIG_AU_DEMUXER 0 ++#define CONFIG_AV1_DEMUXER 0 ++#define CONFIG_AVI_DEMUXER 0 ++#define CONFIG_AVISYNTH_DEMUXER 0 ++#define CONFIG_AVR_DEMUXER 0 ++#define CONFIG_AVS_DEMUXER 0 ++#define CONFIG_AVS2_DEMUXER 0 ++#define CONFIG_AVS3_DEMUXER 0 ++#define CONFIG_BETHSOFTVID_DEMUXER 0 ++#define CONFIG_BFI_DEMUXER 0 ++#define CONFIG_BINTEXT_DEMUXER 0 ++#define CONFIG_BINK_DEMUXER 0 ++#define CONFIG_BINKA_DEMUXER 0 ++#define CONFIG_BIT_DEMUXER 0 ++#define CONFIG_BITPACKED_DEMUXER 0 ++#define CONFIG_BMV_DEMUXER 0 ++#define CONFIG_BFSTM_DEMUXER 0 ++#define CONFIG_BRSTM_DEMUXER 0 ++#define CONFIG_BOA_DEMUXER 0 ++#define CONFIG_C93_DEMUXER 0 ++#define CONFIG_CAF_DEMUXER 0 ++#define CONFIG_CAVSVIDEO_DEMUXER 0 ++#define CONFIG_CDG_DEMUXER 0 ++#define CONFIG_CDXL_DEMUXER 0 ++#define CONFIG_CINE_DEMUXER 0 ++#define CONFIG_CODEC2_DEMUXER 0 ++#define CONFIG_CODEC2RAW_DEMUXER 0 ++#define CONFIG_CONCAT_DEMUXER 0 ++#define CONFIG_DASH_DEMUXER 0 ++#define CONFIG_DATA_DEMUXER 0 ++#define CONFIG_DAUD_DEMUXER 0 ++#define CONFIG_DCSTR_DEMUXER 0 ++#define CONFIG_DERF_DEMUXER 0 ++#define CONFIG_DFA_DEMUXER 0 ++#define CONFIG_DFPWM_DEMUXER 0 ++#define CONFIG_DHAV_DEMUXER 0 ++#define CONFIG_DIRAC_DEMUXER 0 ++#define CONFIG_DNXHD_DEMUXER 0 ++#define CONFIG_DSF_DEMUXER 0 ++#define CONFIG_DSICIN_DEMUXER 0 ++#define CONFIG_DSS_DEMUXER 0 ++#define CONFIG_DTS_DEMUXER 0 ++#define CONFIG_DTSHD_DEMUXER 0 ++#define CONFIG_DV_DEMUXER 0 ++#define CONFIG_DVBSUB_DEMUXER 0 ++#define CONFIG_DVBTXT_DEMUXER 0 ++#define CONFIG_DXA_DEMUXER 0 ++#define CONFIG_EA_DEMUXER 0 ++#define CONFIG_EA_CDATA_DEMUXER 0 ++#define CONFIG_EAC3_DEMUXER 0 ++#define CONFIG_EPAF_DEMUXER 0 ++#define CONFIG_FFMETADATA_DEMUXER 0 ++#define CONFIG_FILMSTRIP_DEMUXER 0 ++#define CONFIG_FITS_DEMUXER 0 ++#define CONFIG_FLAC_DEMUXER 1 ++#define CONFIG_FLIC_DEMUXER 0 ++#define CONFIG_FLV_DEMUXER 0 ++#define CONFIG_LIVE_FLV_DEMUXER 0 ++#define CONFIG_FOURXM_DEMUXER 0 ++#define CONFIG_FRM_DEMUXER 0 ++#define CONFIG_FSB_DEMUXER 0 ++#define CONFIG_FWSE_DEMUXER 0 ++#define CONFIG_G722_DEMUXER 0 ++#define CONFIG_G723_1_DEMUXER 0 ++#define CONFIG_G726_DEMUXER 0 ++#define CONFIG_G726LE_DEMUXER 0 ++#define CONFIG_G729_DEMUXER 0 ++#define CONFIG_GDV_DEMUXER 0 ++#define CONFIG_GENH_DEMUXER 0 ++#define CONFIG_GIF_DEMUXER 0 ++#define CONFIG_GSM_DEMUXER 0 ++#define CONFIG_GXF_DEMUXER 0 ++#define CONFIG_H261_DEMUXER 0 ++#define CONFIG_H263_DEMUXER 0 ++#define CONFIG_H264_DEMUXER 0 ++#define CONFIG_HCA_DEMUXER 0 ++#define CONFIG_HCOM_DEMUXER 0 ++#define CONFIG_HEVC_DEMUXER 0 ++#define CONFIG_HLS_DEMUXER 0 ++#define CONFIG_HNM_DEMUXER 0 ++#define CONFIG_ICO_DEMUXER 0 ++#define CONFIG_IDCIN_DEMUXER 0 ++#define CONFIG_IDF_DEMUXER 0 ++#define CONFIG_IFF_DEMUXER 0 ++#define CONFIG_IFV_DEMUXER 0 ++#define CONFIG_ILBC_DEMUXER 0 ++#define CONFIG_IMAGE2_DEMUXER 0 ++#define CONFIG_IMAGE2PIPE_DEMUXER 0 ++#define CONFIG_IMAGE2_ALIAS_PIX_DEMUXER 0 ++#define CONFIG_IMAGE2_BRENDER_PIX_DEMUXER 0 ++#define CONFIG_IMF_DEMUXER 0 ++#define CONFIG_INGENIENT_DEMUXER 0 ++#define CONFIG_IPMOVIE_DEMUXER 0 ++#define CONFIG_IPU_DEMUXER 0 ++#define CONFIG_IRCAM_DEMUXER 0 ++#define CONFIG_ISS_DEMUXER 0 ++#define CONFIG_IV8_DEMUXER 0 ++#define CONFIG_IVF_DEMUXER 0 ++#define CONFIG_IVR_DEMUXER 0 ++#define CONFIG_JACOSUB_DEMUXER 0 ++#define CONFIG_JV_DEMUXER 0 ++#define CONFIG_KUX_DEMUXER 0 ++#define CONFIG_KVAG_DEMUXER 0 ++#define CONFIG_LMLM4_DEMUXER 0 ++#define CONFIG_LOAS_DEMUXER 0 ++#define CONFIG_LUODAT_DEMUXER 0 ++#define CONFIG_LRC_DEMUXER 0 ++#define CONFIG_LVF_DEMUXER 0 ++#define CONFIG_LXF_DEMUXER 0 ++#define CONFIG_M4V_DEMUXER 0 ++#define CONFIG_MCA_DEMUXER 0 ++#define CONFIG_MCC_DEMUXER 0 ++#define CONFIG_MATROSKA_DEMUXER 1 ++#define CONFIG_MGSTS_DEMUXER 0 ++#define CONFIG_MICRODVD_DEMUXER 0 ++#define CONFIG_MJPEG_DEMUXER 0 ++#define CONFIG_MJPEG_2000_DEMUXER 0 ++#define CONFIG_MLP_DEMUXER 0 ++#define CONFIG_MLV_DEMUXER 0 ++#define CONFIG_MM_DEMUXER 0 ++#define CONFIG_MMF_DEMUXER 0 ++#define CONFIG_MODS_DEMUXER 0 ++#define CONFIG_MOFLEX_DEMUXER 0 ++#define CONFIG_MOV_DEMUXER 1 ++#define CONFIG_MP3_DEMUXER 1 ++#define CONFIG_MPC_DEMUXER 0 ++#define CONFIG_MPC8_DEMUXER 0 ++#define CONFIG_MPEGPS_DEMUXER 0 ++#define CONFIG_MPEGTS_DEMUXER 0 ++#define CONFIG_MPEGTSRAW_DEMUXER 0 ++#define CONFIG_MPEGVIDEO_DEMUXER 0 ++#define CONFIG_MPJPEG_DEMUXER 0 ++#define CONFIG_MPL2_DEMUXER 0 ++#define CONFIG_MPSUB_DEMUXER 0 ++#define CONFIG_MSF_DEMUXER 0 ++#define CONFIG_MSNWC_TCP_DEMUXER 0 ++#define CONFIG_MSP_DEMUXER 0 ++#define CONFIG_MTAF_DEMUXER 0 ++#define CONFIG_MTV_DEMUXER 0 ++#define CONFIG_MUSX_DEMUXER 0 ++#define CONFIG_MV_DEMUXER 0 ++#define CONFIG_MVI_DEMUXER 0 ++#define CONFIG_MXF_DEMUXER 0 ++#define CONFIG_MXG_DEMUXER 0 ++#define CONFIG_NC_DEMUXER 0 ++#define CONFIG_NISTSPHERE_DEMUXER 0 ++#define CONFIG_NSP_DEMUXER 0 ++#define CONFIG_NSV_DEMUXER 0 ++#define CONFIG_NUT_DEMUXER 0 ++#define CONFIG_NUV_DEMUXER 0 ++#define CONFIG_OBU_DEMUXER 0 ++#define CONFIG_OGG_DEMUXER 1 ++#define CONFIG_OMA_DEMUXER 0 ++#define CONFIG_PAF_DEMUXER 0 ++#define CONFIG_PCM_ALAW_DEMUXER 0 ++#define CONFIG_PCM_MULAW_DEMUXER 0 ++#define CONFIG_PCM_VIDC_DEMUXER 0 ++#define CONFIG_PCM_F64BE_DEMUXER 0 ++#define CONFIG_PCM_F64LE_DEMUXER 0 ++#define CONFIG_PCM_F32BE_DEMUXER 0 ++#define CONFIG_PCM_F32LE_DEMUXER 0 ++#define CONFIG_PCM_S32BE_DEMUXER 0 ++#define CONFIG_PCM_S32LE_DEMUXER 0 ++#define CONFIG_PCM_S24BE_DEMUXER 0 ++#define CONFIG_PCM_S24LE_DEMUXER 0 ++#define CONFIG_PCM_S16BE_DEMUXER 0 ++#define CONFIG_PCM_S16LE_DEMUXER 0 ++#define CONFIG_PCM_S8_DEMUXER 0 ++#define CONFIG_PCM_U32BE_DEMUXER 0 ++#define CONFIG_PCM_U32LE_DEMUXER 0 ++#define CONFIG_PCM_U24BE_DEMUXER 0 ++#define CONFIG_PCM_U24LE_DEMUXER 0 ++#define CONFIG_PCM_U16BE_DEMUXER 0 ++#define CONFIG_PCM_U16LE_DEMUXER 0 ++#define CONFIG_PCM_U8_DEMUXER 0 ++#define CONFIG_PJS_DEMUXER 0 ++#define CONFIG_PMP_DEMUXER 0 ++#define CONFIG_PP_BNK_DEMUXER 0 ++#define CONFIG_PVA_DEMUXER 0 ++#define CONFIG_PVF_DEMUXER 0 ++#define CONFIG_QCP_DEMUXER 0 ++#define CONFIG_R3D_DEMUXER 0 ++#define CONFIG_RAWVIDEO_DEMUXER 0 ++#define CONFIG_REALTEXT_DEMUXER 0 ++#define CONFIG_REDSPARK_DEMUXER 0 ++#define CONFIG_RL2_DEMUXER 0 ++#define CONFIG_RM_DEMUXER 0 ++#define CONFIG_ROQ_DEMUXER 0 ++#define CONFIG_RPL_DEMUXER 0 ++#define CONFIG_RSD_DEMUXER 0 ++#define CONFIG_RSO_DEMUXER 0 ++#define CONFIG_RTP_DEMUXER 0 ++#define CONFIG_RTSP_DEMUXER 0 ++#define CONFIG_S337M_DEMUXER 0 ++#define CONFIG_SAMI_DEMUXER 0 ++#define CONFIG_SAP_DEMUXER 0 ++#define CONFIG_SBC_DEMUXER 0 ++#define CONFIG_SBG_DEMUXER 0 ++#define CONFIG_SCC_DEMUXER 0 ++#define CONFIG_SCD_DEMUXER 0 ++#define CONFIG_SDP_DEMUXER 0 ++#define CONFIG_SDR2_DEMUXER 0 ++#define CONFIG_SDS_DEMUXER 0 ++#define CONFIG_SDX_DEMUXER 0 ++#define CONFIG_SEGAFILM_DEMUXER 0 ++#define CONFIG_SER_DEMUXER 0 ++#define CONFIG_SGA_DEMUXER 0 ++#define CONFIG_SHORTEN_DEMUXER 0 ++#define CONFIG_SIFF_DEMUXER 0 ++#define CONFIG_SIMBIOSIS_IMX_DEMUXER 0 ++#define CONFIG_SLN_DEMUXER 0 ++#define CONFIG_SMACKER_DEMUXER 0 ++#define CONFIG_SMJPEG_DEMUXER 0 ++#define CONFIG_SMUSH_DEMUXER 0 ++#define CONFIG_SOL_DEMUXER 0 ++#define CONFIG_SOX_DEMUXER 0 ++#define CONFIG_SPDIF_DEMUXER 0 ++#define CONFIG_SRT_DEMUXER 0 ++#define CONFIG_STR_DEMUXER 0 ++#define CONFIG_STL_DEMUXER 0 ++#define CONFIG_SUBVIEWER1_DEMUXER 0 ++#define CONFIG_SUBVIEWER_DEMUXER 0 ++#define CONFIG_SUP_DEMUXER 0 ++#define CONFIG_SVAG_DEMUXER 0 ++#define CONFIG_SVS_DEMUXER 0 ++#define CONFIG_SWF_DEMUXER 0 ++#define CONFIG_TAK_DEMUXER 0 ++#define CONFIG_TEDCAPTIONS_DEMUXER 0 ++#define CONFIG_THP_DEMUXER 0 ++#define CONFIG_THREEDOSTR_DEMUXER 0 ++#define CONFIG_TIERTEXSEQ_DEMUXER 0 ++#define CONFIG_TMV_DEMUXER 0 ++#define CONFIG_TRUEHD_DEMUXER 0 ++#define CONFIG_TTA_DEMUXER 0 ++#define CONFIG_TXD_DEMUXER 0 ++#define CONFIG_TTY_DEMUXER 0 ++#define CONFIG_TY_DEMUXER 0 ++#define CONFIG_V210_DEMUXER 0 ++#define CONFIG_V210X_DEMUXER 0 ++#define CONFIG_VAG_DEMUXER 0 ++#define CONFIG_VC1_DEMUXER 0 ++#define CONFIG_VC1T_DEMUXER 0 ++#define CONFIG_VIVIDAS_DEMUXER 0 ++#define CONFIG_VIVO_DEMUXER 0 ++#define CONFIG_VMD_DEMUXER 0 ++#define CONFIG_VOBSUB_DEMUXER 0 ++#define CONFIG_VOC_DEMUXER 0 ++#define CONFIG_VPK_DEMUXER 0 ++#define CONFIG_VPLAYER_DEMUXER 0 ++#define CONFIG_VQF_DEMUXER 0 ++#define CONFIG_W64_DEMUXER 0 ++#define CONFIG_WAV_DEMUXER 1 ++#define CONFIG_WC3_DEMUXER 0 ++#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0 ++#define CONFIG_WEBVTT_DEMUXER 0 ++#define CONFIG_WSAUD_DEMUXER 0 ++#define CONFIG_WSD_DEMUXER 0 ++#define CONFIG_WSVQA_DEMUXER 0 ++#define CONFIG_WTV_DEMUXER 0 ++#define CONFIG_WVE_DEMUXER 0 ++#define CONFIG_WV_DEMUXER 0 ++#define CONFIG_XA_DEMUXER 0 ++#define CONFIG_XBIN_DEMUXER 0 ++#define CONFIG_XMV_DEMUXER 0 ++#define CONFIG_XVAG_DEMUXER 0 ++#define CONFIG_XWMA_DEMUXER 0 ++#define CONFIG_YOP_DEMUXER 0 ++#define CONFIG_YUV4MPEGPIPE_DEMUXER 0 ++#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_CRI_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_DDS_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_GEM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_GIF_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PGX_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PHOTOCD_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PSD_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_SVG_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_WEBP_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_XBM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_XPM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_XWD_PIPE_DEMUXER 0 ++#define CONFIG_LIBGME_DEMUXER 0 ++#define CONFIG_LIBMODPLUG_DEMUXER 0 ++#define CONFIG_LIBOPENMPT_DEMUXER 0 ++#define CONFIG_VAPOURSYNTH_DEMUXER 0 ++#define CONFIG_A64_MUXER 0 ++#define CONFIG_AC3_MUXER 0 ++#define CONFIG_ADTS_MUXER 0 ++#define CONFIG_ADX_MUXER 0 ++#define CONFIG_AIFF_MUXER 0 ++#define CONFIG_ALP_MUXER 0 ++#define CONFIG_AMR_MUXER 0 ++#define CONFIG_AMV_MUXER 0 ++#define CONFIG_APM_MUXER 0 ++#define CONFIG_APNG_MUXER 0 ++#define CONFIG_APTX_MUXER 0 ++#define CONFIG_APTX_HD_MUXER 0 ++#define CONFIG_ARGO_ASF_MUXER 0 ++#define CONFIG_ARGO_CVG_MUXER 0 ++#define CONFIG_ASF_MUXER 0 ++#define CONFIG_ASS_MUXER 0 ++#define CONFIG_AST_MUXER 0 ++#define CONFIG_ASF_STREAM_MUXER 0 ++#define CONFIG_AU_MUXER 0 ++#define CONFIG_AVI_MUXER 0 ++#define CONFIG_AVM2_MUXER 0 ++#define CONFIG_AVS2_MUXER 0 ++#define CONFIG_AVS3_MUXER 0 ++#define CONFIG_BIT_MUXER 0 ++#define CONFIG_CAF_MUXER 0 ++#define CONFIG_CAVSVIDEO_MUXER 0 ++#define CONFIG_CODEC2_MUXER 0 ++#define CONFIG_CODEC2RAW_MUXER 0 ++#define CONFIG_CRC_MUXER 0 ++#define CONFIG_DASH_MUXER 0 ++#define CONFIG_DATA_MUXER 0 ++#define CONFIG_DAUD_MUXER 0 ++#define CONFIG_DFPWM_MUXER 0 ++#define CONFIG_DIRAC_MUXER 0 ++#define CONFIG_DNXHD_MUXER 0 ++#define CONFIG_DTS_MUXER 0 ++#define CONFIG_DV_MUXER 0 ++#define CONFIG_EAC3_MUXER 0 ++#define CONFIG_F4V_MUXER 0 ++#define CONFIG_FFMETADATA_MUXER 0 ++#define CONFIG_FIFO_MUXER 0 ++#define CONFIG_FIFO_TEST_MUXER 0 ++#define CONFIG_FILMSTRIP_MUXER 0 ++#define CONFIG_FITS_MUXER 0 ++#define CONFIG_FLAC_MUXER 0 ++#define CONFIG_FLV_MUXER 0 ++#define CONFIG_FRAMECRC_MUXER 0 ++#define CONFIG_FRAMEHASH_MUXER 0 ++#define CONFIG_FRAMEMD5_MUXER 0 ++#define CONFIG_G722_MUXER 0 ++#define CONFIG_G723_1_MUXER 0 ++#define CONFIG_G726_MUXER 0 ++#define CONFIG_G726LE_MUXER 0 ++#define CONFIG_GIF_MUXER 0 ++#define CONFIG_GSM_MUXER 0 ++#define CONFIG_GXF_MUXER 0 ++#define CONFIG_H261_MUXER 0 ++#define CONFIG_H263_MUXER 0 ++#define CONFIG_H264_MUXER 0 ++#define CONFIG_HASH_MUXER 0 ++#define CONFIG_HDS_MUXER 0 ++#define CONFIG_HEVC_MUXER 0 ++#define CONFIG_HLS_MUXER 0 ++#define CONFIG_ICO_MUXER 0 ++#define CONFIG_ILBC_MUXER 0 ++#define CONFIG_IMAGE2_MUXER 0 ++#define CONFIG_IMAGE2PIPE_MUXER 0 ++#define CONFIG_IPOD_MUXER 0 ++#define CONFIG_IRCAM_MUXER 0 ++#define CONFIG_ISMV_MUXER 0 ++#define CONFIG_IVF_MUXER 0 ++#define CONFIG_JACOSUB_MUXER 0 ++#define CONFIG_KVAG_MUXER 0 ++#define CONFIG_LATM_MUXER 0 ++#define CONFIG_LRC_MUXER 0 ++#define CONFIG_M4V_MUXER 0 ++#define CONFIG_MD5_MUXER 0 ++#define CONFIG_MATROSKA_MUXER 0 ++#define CONFIG_MATROSKA_AUDIO_MUXER 0 ++#define CONFIG_MICRODVD_MUXER 0 ++#define CONFIG_MJPEG_MUXER 0 ++#define CONFIG_MLP_MUXER 0 ++#define CONFIG_MMF_MUXER 0 ++#define CONFIG_MOV_MUXER 0 ++#define CONFIG_MP2_MUXER 0 ++#define CONFIG_MP3_MUXER 0 ++#define CONFIG_MP4_MUXER 0 ++#define CONFIG_MPEG1SYSTEM_MUXER 0 ++#define CONFIG_MPEG1VCD_MUXER 0 ++#define CONFIG_MPEG1VIDEO_MUXER 0 ++#define CONFIG_MPEG2DVD_MUXER 0 ++#define CONFIG_MPEG2SVCD_MUXER 0 ++#define CONFIG_MPEG2VIDEO_MUXER 0 ++#define CONFIG_MPEG2VOB_MUXER 0 ++#define CONFIG_MPEGTS_MUXER 0 ++#define CONFIG_MPJPEG_MUXER 0 ++#define CONFIG_MXF_MUXER 0 ++#define CONFIG_MXF_D10_MUXER 0 ++#define CONFIG_MXF_OPATOM_MUXER 0 ++#define CONFIG_NULL_MUXER 0 ++#define CONFIG_NUT_MUXER 0 ++#define CONFIG_OBU_MUXER 0 ++#define CONFIG_OGA_MUXER 0 ++#define CONFIG_OGG_MUXER 0 ++#define CONFIG_OGV_MUXER 0 ++#define CONFIG_OMA_MUXER 0 ++#define CONFIG_OPUS_MUXER 0 ++#define CONFIG_PCM_ALAW_MUXER 0 ++#define CONFIG_PCM_MULAW_MUXER 0 ++#define CONFIG_PCM_VIDC_MUXER 0 ++#define CONFIG_PCM_F64BE_MUXER 0 ++#define CONFIG_PCM_F64LE_MUXER 0 ++#define CONFIG_PCM_F32BE_MUXER 0 ++#define CONFIG_PCM_F32LE_MUXER 0 ++#define CONFIG_PCM_S32BE_MUXER 0 ++#define CONFIG_PCM_S32LE_MUXER 0 ++#define CONFIG_PCM_S24BE_MUXER 0 ++#define CONFIG_PCM_S24LE_MUXER 0 ++#define CONFIG_PCM_S16BE_MUXER 0 ++#define CONFIG_PCM_S16LE_MUXER 0 ++#define CONFIG_PCM_S8_MUXER 0 ++#define CONFIG_PCM_U32BE_MUXER 0 ++#define CONFIG_PCM_U32LE_MUXER 0 ++#define CONFIG_PCM_U24BE_MUXER 0 ++#define CONFIG_PCM_U24LE_MUXER 0 ++#define CONFIG_PCM_U16BE_MUXER 0 ++#define CONFIG_PCM_U16LE_MUXER 0 ++#define CONFIG_PCM_U8_MUXER 0 ++#define CONFIG_PSP_MUXER 0 ++#define CONFIG_RAWVIDEO_MUXER 0 ++#define CONFIG_RM_MUXER 0 ++#define CONFIG_ROQ_MUXER 0 ++#define CONFIG_RSO_MUXER 0 ++#define CONFIG_RTP_MUXER 0 ++#define CONFIG_RTP_MPEGTS_MUXER 0 ++#define CONFIG_RTSP_MUXER 0 ++#define CONFIG_SAP_MUXER 0 ++#define CONFIG_SBC_MUXER 0 ++#define CONFIG_SCC_MUXER 0 ++#define CONFIG_SEGAFILM_MUXER 0 ++#define CONFIG_SEGMENT_MUXER 0 ++#define CONFIG_STREAM_SEGMENT_MUXER 0 ++#define CONFIG_SMJPEG_MUXER 0 ++#define CONFIG_SMOOTHSTREAMING_MUXER 0 ++#define CONFIG_SOX_MUXER 0 ++#define CONFIG_SPX_MUXER 0 ++#define CONFIG_SPDIF_MUXER 0 ++#define CONFIG_SRT_MUXER 0 ++#define CONFIG_STREAMHASH_MUXER 0 ++#define CONFIG_SUP_MUXER 0 ++#define CONFIG_SWF_MUXER 0 ++#define CONFIG_TEE_MUXER 0 ++#define CONFIG_TG2_MUXER 0 ++#define CONFIG_TGP_MUXER 0 ++#define CONFIG_MKVTIMESTAMP_V2_MUXER 0 ++#define CONFIG_TRUEHD_MUXER 0 ++#define CONFIG_TTA_MUXER 0 ++#define CONFIG_TTML_MUXER 0 ++#define CONFIG_UNCODEDFRAMECRC_MUXER 0 ++#define CONFIG_VC1_MUXER 0 ++#define CONFIG_VC1T_MUXER 0 ++#define CONFIG_VOC_MUXER 0 ++#define CONFIG_W64_MUXER 0 ++#define CONFIG_WAV_MUXER 0 ++#define CONFIG_WEBM_MUXER 0 ++#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0 ++#define CONFIG_WEBM_CHUNK_MUXER 0 ++#define CONFIG_WEBP_MUXER 0 ++#define CONFIG_WEBVTT_MUXER 0 ++#define CONFIG_WSAUD_MUXER 0 ++#define CONFIG_WTV_MUXER 0 ++#define CONFIG_WV_MUXER 0 ++#define CONFIG_YUV4MPEGPIPE_MUXER 0 ++#define CONFIG_CHROMAPRINT_MUXER 0 ++#define CONFIG_ASYNC_PROTOCOL 0 ++#define CONFIG_BLURAY_PROTOCOL 0 ++#define CONFIG_CACHE_PROTOCOL 0 ++#define CONFIG_CONCAT_PROTOCOL 0 ++#define CONFIG_CONCATF_PROTOCOL 0 ++#define CONFIG_CRYPTO_PROTOCOL 0 ++#define CONFIG_DATA_PROTOCOL 0 ++#define CONFIG_FFRTMPCRYPT_PROTOCOL 0 ++#define CONFIG_FFRTMPHTTP_PROTOCOL 0 ++#define CONFIG_FILE_PROTOCOL 0 ++#define CONFIG_FTP_PROTOCOL 0 ++#define CONFIG_GOPHER_PROTOCOL 0 ++#define CONFIG_GOPHERS_PROTOCOL 0 ++#define CONFIG_HLS_PROTOCOL 0 ++#define CONFIG_HTTP_PROTOCOL 0 ++#define CONFIG_HTTPPROXY_PROTOCOL 0 ++#define CONFIG_HTTPS_PROTOCOL 0 ++#define CONFIG_ICECAST_PROTOCOL 0 ++#define CONFIG_MMSH_PROTOCOL 0 ++#define CONFIG_MMST_PROTOCOL 0 ++#define CONFIG_MD5_PROTOCOL 0 ++#define CONFIG_PIPE_PROTOCOL 0 ++#define CONFIG_PROMPEG_PROTOCOL 0 ++#define CONFIG_RTMP_PROTOCOL 0 ++#define CONFIG_RTMPE_PROTOCOL 0 ++#define CONFIG_RTMPS_PROTOCOL 0 ++#define CONFIG_RTMPT_PROTOCOL 0 ++#define CONFIG_RTMPTE_PROTOCOL 0 ++#define CONFIG_RTMPTS_PROTOCOL 0 ++#define CONFIG_RTP_PROTOCOL 0 ++#define CONFIG_SCTP_PROTOCOL 0 ++#define CONFIG_SRTP_PROTOCOL 0 ++#define CONFIG_SUBFILE_PROTOCOL 0 ++#define CONFIG_TEE_PROTOCOL 0 ++#define CONFIG_TCP_PROTOCOL 0 ++#define CONFIG_TLS_PROTOCOL 0 ++#define CONFIG_UDP_PROTOCOL 0 ++#define CONFIG_UDPLITE_PROTOCOL 0 ++#define CONFIG_UNIX_PROTOCOL 0 ++#define CONFIG_LIBAMQP_PROTOCOL 0 ++#define CONFIG_LIBRIST_PROTOCOL 0 ++#define CONFIG_LIBRTMP_PROTOCOL 0 ++#define CONFIG_LIBRTMPE_PROTOCOL 0 ++#define CONFIG_LIBRTMPS_PROTOCOL 0 ++#define CONFIG_LIBRTMPT_PROTOCOL 0 ++#define CONFIG_LIBRTMPTE_PROTOCOL 0 ++#define CONFIG_LIBSRT_PROTOCOL 0 ++#define CONFIG_LIBSSH_PROTOCOL 0 ++#define CONFIG_LIBSMBCLIENT_PROTOCOL 0 ++#define CONFIG_LIBZMQ_PROTOCOL 0 ++#endif /* FFMPEG_CONFIG_COMPONENTS_H */ diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.asm b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.asm new file mode 100644 index 000000000000..302423cbbb8e --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.asm @@ -0,0 +1,725 @@ +--- third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.asm.orig 2022-10-01 07:40:07 UTC ++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.asm +@@ -0,0 +1,722 @@ ++; Automatically generated by configure - do not modify! ++%define ARCH_AARCH64 0 ++%define ARCH_ALPHA 0 ++%define ARCH_ARM 0 ++%define ARCH_AVR32 0 ++%define ARCH_AVR32_AP 0 ++%define ARCH_AVR32_UC 0 ++%define ARCH_BFIN 0 ++%define ARCH_IA64 0 ++%define ARCH_LOONGARCH 0 ++%define ARCH_LOONGARCH32 0 ++%define ARCH_LOONGARCH64 0 ++%define ARCH_M68K 0 ++%define ARCH_MIPS 0 ++%define ARCH_MIPS64 0 ++%define ARCH_PARISC 0 ++%define ARCH_PPC 0 ++%define ARCH_PPC64 0 ++%define ARCH_RISCV 0 ++%define ARCH_S390 0 ++%define ARCH_SH4 0 ++%define ARCH_SPARC 0 ++%define ARCH_SPARC64 0 ++%define ARCH_TILEGX 0 ++%define ARCH_TILEPRO 0 ++%define ARCH_TOMI 0 ++%define ARCH_X86 1 ++%define ARCH_X86_32 0 ++%define ARCH_X86_64 1 ++%define HAVE_ARMV5TE 0 ++%define HAVE_ARMV6 0 ++%define HAVE_ARMV6T2 0 ++%define HAVE_ARMV8 0 ++%define HAVE_NEON 0 ++%define HAVE_VFP 0 ++%define HAVE_VFPV3 0 ++%define HAVE_SETEND 0 ++%define HAVE_ALTIVEC 0 ++%define HAVE_DCBZL 0 ++%define HAVE_LDBRX 0 ++%define HAVE_POWER8 0 ++%define HAVE_PPC4XX 0 ++%define HAVE_VSX 0 ++%define HAVE_AESNI 1 ++%define HAVE_AMD3DNOW 1 ++%define HAVE_AMD3DNOWEXT 1 ++%define HAVE_AVX 1 ++%define HAVE_AVX2 1 ++%define HAVE_AVX512 1 ++%define HAVE_AVX512ICL 1 ++%define HAVE_FMA3 1 ++%define HAVE_FMA4 1 ++%define HAVE_MMX 1 ++%define HAVE_MMXEXT 1 ++%define HAVE_SSE 1 ++%define HAVE_SSE2 1 ++%define HAVE_SSE3 1 ++%define HAVE_SSE4 1 ++%define HAVE_SSE42 1 ++%define HAVE_SSSE3 1 ++%define HAVE_XOP 1 ++%define HAVE_CPUNOP 0 ++%define HAVE_I686 1 ++%define HAVE_MIPSFPU 0 ++%define HAVE_MIPS32R2 0 ++%define HAVE_MIPS32R5 0 ++%define HAVE_MIPS64R2 0 ++%define HAVE_MIPS32R6 0 ++%define HAVE_MIPS64R6 0 ++%define HAVE_MIPSDSP 0 ++%define HAVE_MIPSDSPR2 0 ++%define HAVE_MSA 0 ++%define HAVE_LOONGSON2 0 ++%define HAVE_LOONGSON3 0 ++%define HAVE_MMI 0 ++%define HAVE_LSX 0 ++%define HAVE_LASX 0 ++%define HAVE_ARMV5TE_EXTERNAL 0 ++%define HAVE_ARMV6_EXTERNAL 0 ++%define HAVE_ARMV6T2_EXTERNAL 0 ++%define HAVE_ARMV8_EXTERNAL 0 ++%define HAVE_NEON_EXTERNAL 0 ++%define HAVE_VFP_EXTERNAL 0 ++%define HAVE_VFPV3_EXTERNAL 0 ++%define HAVE_SETEND_EXTERNAL 0 ++%define HAVE_ALTIVEC_EXTERNAL 0 ++%define HAVE_DCBZL_EXTERNAL 0 ++%define HAVE_LDBRX_EXTERNAL 0 ++%define HAVE_POWER8_EXTERNAL 0 ++%define HAVE_PPC4XX_EXTERNAL 0 ++%define HAVE_VSX_EXTERNAL 0 ++%define HAVE_AESNI_EXTERNAL 1 ++%define HAVE_AMD3DNOW_EXTERNAL 1 ++%define HAVE_AMD3DNOWEXT_EXTERNAL 1 ++%define HAVE_AVX_EXTERNAL 1 ++%define HAVE_AVX2_EXTERNAL 1 ++%define HAVE_AVX512_EXTERNAL 1 ++%define HAVE_AVX512ICL_EXTERNAL 1 ++%define HAVE_FMA3_EXTERNAL 1 ++%define HAVE_FMA4_EXTERNAL 1 ++%define HAVE_MMX_EXTERNAL 1 ++%define HAVE_MMXEXT_EXTERNAL 1 ++%define HAVE_SSE_EXTERNAL 1 ++%define HAVE_SSE2_EXTERNAL 1 ++%define HAVE_SSE3_EXTERNAL 1 ++%define HAVE_SSE4_EXTERNAL 1 ++%define HAVE_SSE42_EXTERNAL 1 ++%define HAVE_SSSE3_EXTERNAL 1 ++%define HAVE_XOP_EXTERNAL 1 ++%define HAVE_CPUNOP_EXTERNAL 0 ++%define HAVE_I686_EXTERNAL 0 ++%define HAVE_MIPSFPU_EXTERNAL 0 ++%define HAVE_MIPS32R2_EXTERNAL 0 ++%define HAVE_MIPS32R5_EXTERNAL 0 ++%define HAVE_MIPS64R2_EXTERNAL 0 ++%define HAVE_MIPS32R6_EXTERNAL 0 ++%define HAVE_MIPS64R6_EXTERNAL 0 ++%define HAVE_MIPSDSP_EXTERNAL 0 ++%define HAVE_MIPSDSPR2_EXTERNAL 0 ++%define HAVE_MSA_EXTERNAL 0 ++%define HAVE_LOONGSON2_EXTERNAL 0 ++%define HAVE_LOONGSON3_EXTERNAL 0 ++%define HAVE_MMI_EXTERNAL 0 ++%define HAVE_LSX_EXTERNAL 0 ++%define HAVE_LASX_EXTERNAL 0 ++%define HAVE_ARMV5TE_INLINE 0 ++%define HAVE_ARMV6_INLINE 0 ++%define HAVE_ARMV6T2_INLINE 0 ++%define HAVE_ARMV8_INLINE 0 ++%define HAVE_NEON_INLINE 0 ++%define HAVE_VFP_INLINE 0 ++%define HAVE_VFPV3_INLINE 0 ++%define HAVE_SETEND_INLINE 0 ++%define HAVE_ALTIVEC_INLINE 0 ++%define HAVE_DCBZL_INLINE 0 ++%define HAVE_LDBRX_INLINE 0 ++%define HAVE_POWER8_INLINE 0 ++%define HAVE_PPC4XX_INLINE 0 ++%define HAVE_VSX_INLINE 0 ++%define HAVE_AESNI_INLINE 1 ++%define HAVE_AMD3DNOW_INLINE 1 ++%define HAVE_AMD3DNOWEXT_INLINE 1 ++%define HAVE_AVX_INLINE 1 ++%define HAVE_AVX2_INLINE 1 ++%define HAVE_AVX512_INLINE 1 ++%define HAVE_AVX512ICL_INLINE 1 ++%define HAVE_FMA3_INLINE 1 ++%define HAVE_FMA4_INLINE 1 ++%define HAVE_MMX_INLINE 1 ++%define HAVE_MMXEXT_INLINE 1 ++%define HAVE_SSE_INLINE 1 ++%define HAVE_SSE2_INLINE 1 ++%define HAVE_SSE3_INLINE 1 ++%define HAVE_SSE4_INLINE 1 ++%define HAVE_SSE42_INLINE 1 ++%define HAVE_SSSE3_INLINE 1 ++%define HAVE_XOP_INLINE 1 ++%define HAVE_CPUNOP_INLINE 0 ++%define HAVE_I686_INLINE 0 ++%define HAVE_MIPSFPU_INLINE 0 ++%define HAVE_MIPS32R2_INLINE 0 ++%define HAVE_MIPS32R5_INLINE 0 ++%define HAVE_MIPS64R2_INLINE 0 ++%define HAVE_MIPS32R6_INLINE 0 ++%define HAVE_MIPS64R6_INLINE 0 ++%define HAVE_MIPSDSP_INLINE 0 ++%define HAVE_MIPSDSPR2_INLINE 0 ++%define HAVE_MSA_INLINE 0 ++%define HAVE_LOONGSON2_INLINE 0 ++%define HAVE_LOONGSON3_INLINE 0 ++%define HAVE_MMI_INLINE 0 ++%define HAVE_LSX_INLINE 0 ++%define HAVE_LASX_INLINE 0 ++%define HAVE_ALIGNED_STACK 1 ++%define HAVE_FAST_64BIT 1 ++%define HAVE_FAST_CLZ 1 ++%define HAVE_FAST_CMOV 1 ++%define HAVE_LOCAL_ALIGNED 1 ++%define HAVE_SIMD_ALIGN_16 1 ++%define HAVE_SIMD_ALIGN_32 1 ++%define HAVE_SIMD_ALIGN_64 1 ++%define HAVE_ATOMIC_CAS_PTR 0 ++%define HAVE_MACHINE_RW_BARRIER 0 ++%define HAVE_MEMORYBARRIER 0 ++%define HAVE_MM_EMPTY 1 ++%define HAVE_RDTSC 0 ++%define HAVE_SEM_TIMEDWAIT 1 ++%define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1 ++%define HAVE_CABS 0 ++%define HAVE_CEXP 0 ++%define HAVE_INLINE_ASM 1 ++%define HAVE_SYMVER 0 ++%define HAVE_X86ASM 1 ++%define HAVE_BIGENDIAN 0 ++%define HAVE_FAST_UNALIGNED 1 ++%define HAVE_ARPA_INET_H 0 ++%define HAVE_ASM_TYPES_H 0 ++%define HAVE_CDIO_PARANOIA_H 0 ++%define HAVE_CDIO_PARANOIA_PARANOIA_H 0 ++%define HAVE_CUDA_H 0 ++%define HAVE_DISPATCH_DISPATCH_H 0 ++%define HAVE_DEV_BKTR_IOCTL_BT848_H 0 ++%define HAVE_DEV_BKTR_IOCTL_METEOR_H 0 ++%define HAVE_DEV_IC_BT8XX_H 1 ++%define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0 ++%define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0 ++%define HAVE_DIRECT_H 0 ++%define HAVE_DIRENT_H 1 ++%define HAVE_DXGIDEBUG_H 0 ++%define HAVE_DXVA_H 0 ++%define HAVE_ES2_GL_H 0 ++%define HAVE_GSM_H 0 ++%define HAVE_IO_H 0 ++%define HAVE_LINUX_DMA_BUF_H 0 ++%define HAVE_LINUX_PERF_EVENT_H 0 ++%define HAVE_MACHINE_IOCTL_BT848_H 0 ++%define HAVE_MACHINE_IOCTL_METEOR_H 0 ++%define HAVE_MALLOC_H 0 ++%define HAVE_OPENCV2_CORE_CORE_C_H 0 ++%define HAVE_OPENGL_GL3_H 0 ++%define HAVE_POLL_H 1 ++%define HAVE_SYS_PARAM_H 1 ++%define HAVE_SYS_RESOURCE_H 1 ++%define HAVE_SYS_SELECT_H 1 ++%define HAVE_SYS_SOUNDCARD_H 0 ++%define HAVE_SYS_TIME_H 1 ++%define HAVE_SYS_UN_H 1 ++%define HAVE_SYS_VIDEOIO_H 1 ++%define HAVE_TERMIOS_H 1 ++%define HAVE_UDPLITE_H 0 ++%define HAVE_UNISTD_H 1 ++%define HAVE_VALGRIND_VALGRIND_H 0 ; %define HAVE_VALGRIND_VALGRIND_H 0 -- forced to 0. See https://crbug.com/590440 ++%define HAVE_WINDOWS_H 0 ++%define HAVE_WINSOCK2_H 0 ++%define HAVE_INTRINSICS_NEON 0 ++%define HAVE_ATANF 1 ++%define HAVE_ATAN2F 1 ++%define HAVE_CBRT 1 ++%define HAVE_CBRTF 1 ++%define HAVE_COPYSIGN 1 ++%define HAVE_COSF 1 ++%define HAVE_ERF 1 ++%define HAVE_EXP2 1 ++%define HAVE_EXP2F 1 ++%define HAVE_EXPF 1 ++%define HAVE_HYPOT 1 ++%define HAVE_ISFINITE 1 ++%define HAVE_ISINF 1 ++%define HAVE_ISNAN 1 ++%define HAVE_LDEXPF 1 ++%define HAVE_LLRINT 1 ++%define HAVE_LLRINTF 1 ++%define HAVE_LOG2 1 ++%define HAVE_LOG2F 1 ++%define HAVE_LOG10F 1 ++%define HAVE_LRINT 1 ++%define HAVE_LRINTF 1 ++%define HAVE_POWF 1 ++%define HAVE_RINT 1 ++%define HAVE_ROUND 1 ++%define HAVE_ROUNDF 1 ++%define HAVE_SINF 1 ++%define HAVE_TRUNC 1 ++%define HAVE_TRUNCF 1 ++%define HAVE_DOS_PATHS 0 ++%define HAVE_LIBC_MSVCRT 0 ++%define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0 ++%define HAVE_SECTION_DATA_REL_RO 1 ++%define HAVE_THREADS 1 ++%define HAVE_UWP 0 ++%define HAVE_WINRT 0 ++%define HAVE_ACCESS 1 ++%define HAVE_ALIGNED_MALLOC 0 ++%define HAVE_ARC4RANDOM 1 ++%define HAVE_CLOCK_GETTIME 1 ++%define HAVE_CLOSESOCKET 0 ++%define HAVE_COMMANDLINETOARGVW 0 ++%define HAVE_FCNTL 1 ++%define HAVE_GETADDRINFO 0 ++%define HAVE_GETAUXVAL 0 ++%define HAVE_GETHRTIME 0 ++%define HAVE_GETOPT 1 ++%define HAVE_GETMODULEHANDLE 0 ++%define HAVE_GETPROCESSAFFINITYMASK 0 ++%define HAVE_GETPROCESSMEMORYINFO 0 ++%define HAVE_GETPROCESSTIMES 0 ++%define HAVE_GETRUSAGE 1 ++%define HAVE_GETSTDHANDLE 0 ++%define HAVE_GETSYSTEMTIMEASFILETIME 0 ++%define HAVE_GETTIMEOFDAY 1 ++%define HAVE_GLOB 1 ++%define HAVE_GLXGETPROCADDRESS 0 ++%define HAVE_GMTIME_R 1 ++%define HAVE_INET_ATON 0 ++%define HAVE_ISATTY 1 ++%define HAVE_KBHIT 0 ++%define HAVE_LOCALTIME_R 1 ++%define HAVE_LSTAT 1 ++%define HAVE_LZO1X_999_COMPRESS 0 ++%define HAVE_MACH_ABSOLUTE_TIME 0 ++%define HAVE_MAPVIEWOFFILE 0 ++%define HAVE_MEMALIGN 0 ++%define HAVE_MKSTEMP 1 ++%define HAVE_MMAP 1 ++%define HAVE_MPROTECT 1 ++%define HAVE_NANOSLEEP 1 ++%define HAVE_PEEKNAMEDPIPE 0 ++%define HAVE_POSIX_MEMALIGN 1 ++%define HAVE_PTHREAD_CANCEL 1 ++%define HAVE_SCHED_GETAFFINITY 0 ++%define HAVE_SECITEMIMPORT 0 ++%define HAVE_SETCONSOLETEXTATTRIBUTE 0 ++%define HAVE_SETCONSOLECTRLHANDLER 0 ++%define HAVE_SETDLLDIRECTORY 0 ++%define HAVE_SETMODE 0 ++%define HAVE_SETRLIMIT 1 ++%define HAVE_SLEEP 0 ++%define HAVE_STRERROR_R 1 ++%define HAVE_SYSCONF 1 ++%define HAVE_SYSCTL 0 ++%define HAVE_USLEEP 1 ++%define HAVE_UTGETOSTYPEFROMSTRING 0 ++%define HAVE_VIRTUALALLOC 0 ++%define HAVE_WGLGETPROCADDRESS 0 ++%define HAVE_BCRYPT 0 ++%define HAVE_VAAPI_DRM 0 ++%define HAVE_VAAPI_X11 0 ++%define HAVE_VDPAU_X11 0 ++%define HAVE_PTHREADS 1 ++%define HAVE_OS2THREADS 0 ++%define HAVE_W32THREADS 0 ++%define HAVE_AS_ARCH_DIRECTIVE 0 ++%define HAVE_AS_DN_DIRECTIVE 0 ++%define HAVE_AS_FPU_DIRECTIVE 0 ++%define HAVE_AS_FUNC 0 ++%define HAVE_AS_OBJECT_ARCH 0 ++%define HAVE_ASM_MOD_Q 0 ++%define HAVE_BLOCKS_EXTENSION 0 ++%define HAVE_EBP_AVAILABLE 1 ++%define HAVE_EBX_AVAILABLE 1 ++%define HAVE_GNU_AS 0 ++%define HAVE_GNU_WINDRES 0 ++%define HAVE_IBM_ASM 0 ++%define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 0 ++%define HAVE_INLINE_ASM_LABELS 1 ++%define HAVE_INLINE_ASM_NONLOCAL_LABELS 1 ++%define HAVE_PRAGMA_DEPRECATED 1 ++%define HAVE_RSYNC_CONTIMEOUT 1 ++%define HAVE_SYMVER_ASM_LABEL 1 ++%define HAVE_SYMVER_GNU_ASM 1 ++%define HAVE_VFP_ARGS 0 ++%define HAVE_XFORM_ASM 0 ++%define HAVE_XMM_CLOBBERS 1 ++%define HAVE_KCMVIDEOCODECTYPE_HEVC 0 ++%define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0 ++%define HAVE_KCMVIDEOCODECTYPE_VP9 0 ++%define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0 ++%define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0 ++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0 ++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0 ++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0 ++%define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0 ++%define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0 ++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0 ++%define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0 ++%define HAVE_SOCKLEN_T 0 ++%define HAVE_STRUCT_ADDRINFO 0 ++%define HAVE_STRUCT_GROUP_SOURCE_REQ 0 ++%define HAVE_STRUCT_IP_MREQ_SOURCE 0 ++%define HAVE_STRUCT_IPV6_MREQ 0 ++%define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0 ++%define HAVE_STRUCT_POLLFD 0 ++%define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1 ++%define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0 ++%define HAVE_STRUCT_SOCKADDR_IN6 0 ++%define HAVE_STRUCT_SOCKADDR_SA_LEN 0 ++%define HAVE_STRUCT_SOCKADDR_STORAGE 0 ++%define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 ++%define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1 ++%define HAVE_GZIP 1 ++%define HAVE_LIBDRM_GETFB2 0 ++%define HAVE_MAKEINFO 1 ++%define HAVE_MAKEINFO_HTML 0 ++%define HAVE_OPENCL_D3D11 0 ++%define HAVE_OPENCL_DRM_ARM 0 ++%define HAVE_OPENCL_DRM_BEIGNET 0 ++%define HAVE_OPENCL_DXVA2 0 ++%define HAVE_OPENCL_VAAPI_BEIGNET 0 ++%define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0 ++%define HAVE_PERL 1 ++%define HAVE_POD2MAN 1 ++%define HAVE_TEXI2HTML 0 ++%define HAVE_XMLLINT 1 ++%define HAVE_ZLIB_GZIP 0 ++%define CONFIG_DOC 0 ++%define CONFIG_HTMLPAGES 0 ++%define CONFIG_MANPAGES 0 ++%define CONFIG_PODPAGES 0 ++%define CONFIG_TXTPAGES 0 ++%define CONFIG_AVIO_LIST_DIR_EXAMPLE 1 ++%define CONFIG_AVIO_READING_EXAMPLE 1 ++%define CONFIG_DECODE_AUDIO_EXAMPLE 1 ++%define CONFIG_DECODE_VIDEO_EXAMPLE 1 ++%define CONFIG_DEMUXING_DECODING_EXAMPLE 1 ++%define CONFIG_ENCODE_AUDIO_EXAMPLE 1 ++%define CONFIG_ENCODE_VIDEO_EXAMPLE 1 ++%define CONFIG_EXTRACT_MVS_EXAMPLE 1 ++%define CONFIG_FILTER_AUDIO_EXAMPLE 0 ++%define CONFIG_FILTERING_AUDIO_EXAMPLE 0 ++%define CONFIG_FILTERING_VIDEO_EXAMPLE 0 ++%define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1 ++%define CONFIG_HW_DECODE_EXAMPLE 1 ++%define CONFIG_METADATA_EXAMPLE 1 ++%define CONFIG_MUXING_EXAMPLE 0 ++%define CONFIG_QSVDEC_EXAMPLE 0 ++%define CONFIG_REMUXING_EXAMPLE 1 ++%define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0 ++%define CONFIG_SCALING_VIDEO_EXAMPLE 0 ++%define CONFIG_TRANSCODE_AAC_EXAMPLE 0 ++%define CONFIG_TRANSCODING_EXAMPLE 0 ++%define CONFIG_VAAPI_ENCODE_EXAMPLE 0 ++%define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0 ++%define CONFIG_AVISYNTH 0 ++%define CONFIG_FREI0R 0 ++%define CONFIG_LIBCDIO 0 ++%define CONFIG_LIBDAVS2 0 ++%define CONFIG_LIBRUBBERBAND 0 ++%define CONFIG_LIBVIDSTAB 0 ++%define CONFIG_LIBX264 0 ++%define CONFIG_LIBX265 0 ++%define CONFIG_LIBXAVS 0 ++%define CONFIG_LIBXAVS2 0 ++%define CONFIG_LIBXVID 0 ++%define CONFIG_DECKLINK 0 ++%define CONFIG_LIBFDK_AAC 0 ++%define CONFIG_LIBTLS 0 ++%define CONFIG_GMP 0 ++%define CONFIG_LIBARIBB24 0 ++%define CONFIG_LIBLENSFUN 0 ++%define CONFIG_LIBOPENCORE_AMRNB 0 ++%define CONFIG_LIBOPENCORE_AMRWB 0 ++%define CONFIG_LIBVO_AMRWBENC 0 ++%define CONFIG_MBEDTLS 0 ++%define CONFIG_RKMPP 0 ++%define CONFIG_LIBSMBCLIENT 0 ++%define CONFIG_CHROMAPRINT 0 ++%define CONFIG_GCRYPT 0 ++%define CONFIG_GNUTLS 0 ++%define CONFIG_JNI 0 ++%define CONFIG_LADSPA 0 ++%define CONFIG_LCMS2 0 ++%define CONFIG_LIBAOM 0 ++%define CONFIG_LIBASS 0 ++%define CONFIG_LIBBLURAY 0 ++%define CONFIG_LIBBS2B 0 ++%define CONFIG_LIBCACA 0 ++%define CONFIG_LIBCELT 0 ++%define CONFIG_LIBCODEC2 0 ++%define CONFIG_LIBDAV1D 0 ++%define CONFIG_LIBDC1394 0 ++%define CONFIG_LIBDRM 0 ++%define CONFIG_LIBFLITE 0 ++%define CONFIG_LIBFONTCONFIG 0 ++%define CONFIG_LIBFREETYPE 0 ++%define CONFIG_LIBFRIBIDI 0 ++%define CONFIG_LIBGLSLANG 0 ++%define CONFIG_LIBGME 0 ++%define CONFIG_LIBGSM 0 ++%define CONFIG_LIBIEC61883 0 ++%define CONFIG_LIBILBC 0 ++%define CONFIG_LIBJACK 0 ++%define CONFIG_LIBJXL 0 ++%define CONFIG_LIBKLVANC 0 ++%define CONFIG_LIBKVAZAAR 0 ++%define CONFIG_LIBMODPLUG 0 ++%define CONFIG_LIBMP3LAME 0 ++%define CONFIG_LIBMYSOFA 0 ++%define CONFIG_LIBOPENCV 0 ++%define CONFIG_LIBOPENH264 0 ++%define CONFIG_LIBOPENJPEG 0 ++%define CONFIG_LIBOPENMPT 0 ++%define CONFIG_LIBOPENVINO 0 ++%define CONFIG_LIBOPUS 1 ++%define CONFIG_LIBPLACEBO 0 ++%define CONFIG_LIBPULSE 0 ++%define CONFIG_LIBRABBITMQ 0 ++%define CONFIG_LIBRAV1E 0 ++%define CONFIG_LIBRIST 0 ++%define CONFIG_LIBRSVG 0 ++%define CONFIG_LIBRTMP 0 ++%define CONFIG_LIBSHADERC 0 ++%define CONFIG_LIBSHINE 0 ++%define CONFIG_LIBSMBCLIENT 0 ++%define CONFIG_LIBSNAPPY 0 ++%define CONFIG_LIBSOXR 0 ++%define CONFIG_LIBSPEEX 0 ++%define CONFIG_LIBSRT 0 ++%define CONFIG_LIBSSH 0 ++%define CONFIG_LIBSVTAV1 0 ++%define CONFIG_LIBTENSORFLOW 0 ++%define CONFIG_LIBTESSERACT 0 ++%define CONFIG_LIBTHEORA 0 ++%define CONFIG_LIBTWOLAME 0 ++%define CONFIG_LIBUAVS3D 0 ++%define CONFIG_LIBV4L2 0 ++%define CONFIG_LIBVMAF 0 ++%define CONFIG_LIBVORBIS 0 ++%define CONFIG_LIBVPX 0 ++%define CONFIG_LIBWEBP 0 ++%define CONFIG_LIBXML2 0 ++%define CONFIG_LIBZIMG 0 ++%define CONFIG_LIBZMQ 0 ++%define CONFIG_LIBZVBI 0 ++%define CONFIG_LV2 0 ++%define CONFIG_MEDIACODEC 0 ++%define CONFIG_OPENAL 0 ++%define CONFIG_OPENGL 0 ++%define CONFIG_OPENSSL 0 ++%define CONFIG_POCKETSPHINX 0 ++%define CONFIG_VAPOURSYNTH 0 ++%define CONFIG_ALSA 0 ++%define CONFIG_APPKIT 0 ++%define CONFIG_AVFOUNDATION 0 ++%define CONFIG_BZLIB 0 ++%define CONFIG_COREIMAGE 0 ++%define CONFIG_ICONV 0 ++%define CONFIG_LIBXCB 0 ++%define CONFIG_LIBXCB_SHM 0 ++%define CONFIG_LIBXCB_SHAPE 0 ++%define CONFIG_LIBXCB_XFIXES 0 ++%define CONFIG_LZMA 0 ++%define CONFIG_MEDIAFOUNDATION 0 ++%define CONFIG_METAL 0 ++%define CONFIG_SCHANNEL 0 ++%define CONFIG_SDL2 0 ++%define CONFIG_SECURETRANSPORT 0 ++%define CONFIG_SNDIO 0 ++%define CONFIG_XLIB 0 ++%define CONFIG_ZLIB 0 ++%define CONFIG_CUDA_NVCC 0 ++%define CONFIG_CUDA_SDK 0 ++%define CONFIG_LIBNPP 0 ++%define CONFIG_LIBMFX 0 ++%define CONFIG_MMAL 0 ++%define CONFIG_OMX 0 ++%define CONFIG_OPENCL 0 ++%define CONFIG_AMF 0 ++%define CONFIG_AUDIOTOOLBOX 0 ++%define CONFIG_CRYSTALHD 0 ++%define CONFIG_CUDA 0 ++%define CONFIG_CUDA_LLVM 0 ++%define CONFIG_CUVID 0 ++%define CONFIG_D3D11VA 0 ++%define CONFIG_DXVA2 0 ++%define CONFIG_FFNVCODEC 0 ++%define CONFIG_NVDEC 0 ++%define CONFIG_NVENC 0 ++%define CONFIG_VAAPI 0 ++%define CONFIG_VDPAU 0 ++%define CONFIG_VIDEOTOOLBOX 0 ++%define CONFIG_VULKAN 0 ++%define CONFIG_V4L2_M2M 0 ++%define CONFIG_FTRAPV 0 ++%define CONFIG_GRAY 0 ++%define CONFIG_HARDCODED_TABLES 0 ++%define CONFIG_OMX_RPI 0 ++%define CONFIG_RUNTIME_CPUDETECT 1 ++%define CONFIG_SAFE_BITSTREAM_READER 1 ++%define CONFIG_SHARED 0 ++%define CONFIG_SMALL 0 ++%define CONFIG_STATIC 1 ++%define CONFIG_SWSCALE_ALPHA 1 ++%define CONFIG_GPL 0 ++%define CONFIG_NONFREE 0 ++%define CONFIG_VERSION3 0 ++%define CONFIG_AVDEVICE 0 ++%define CONFIG_AVFILTER 0 ++%define CONFIG_SWSCALE 0 ++%define CONFIG_POSTPROC 0 ++%define CONFIG_AVFORMAT 1 ++%define CONFIG_AVCODEC 1 ++%define CONFIG_SWRESAMPLE 0 ++%define CONFIG_AVUTIL 1 ++%define CONFIG_FFPLAY 0 ++%define CONFIG_FFPROBE 0 ++%define CONFIG_FFMPEG 0 ++%define CONFIG_DCT 1 ++%define CONFIG_DWT 0 ++%define CONFIG_ERROR_RESILIENCE 0 ++%define CONFIG_FAAN 0 ++%define CONFIG_FAST_UNALIGNED 1 ++%define CONFIG_FFT 1 ++%define CONFIG_LSP 0 ++%define CONFIG_MDCT 1 ++%define CONFIG_PIXELUTILS 0 ++%define CONFIG_NETWORK 0 ++%define CONFIG_RDFT 1 ++%define CONFIG_AUTODETECT 0 ++%define CONFIG_FONTCONFIG 0 ++%define CONFIG_LARGE_TESTS 1 ++%define CONFIG_LINUX_PERF 0 ++%define CONFIG_MACOS_KPERF 0 ++%define CONFIG_MEMORY_POISONING 0 ++%define CONFIG_NEON_CLOBBER_TEST 0 ++%define CONFIG_OSSFUZZ 0 ++%define CONFIG_PIC 1 ++%define CONFIG_PTX_COMPRESSION 0 ++%define CONFIG_THUMB 0 ++%define CONFIG_VALGRIND_BACKTRACE 0 ++%define CONFIG_XMM_CLOBBER_TEST 0 ++%define CONFIG_BSFS 0 ++%define CONFIG_DECODERS 1 ++%define CONFIG_ENCODERS 0 ++%define CONFIG_HWACCELS 0 ++%define CONFIG_PARSERS 1 ++%define CONFIG_INDEVS 0 ++%define CONFIG_OUTDEVS 0 ++%define CONFIG_FILTERS 0 ++%define CONFIG_DEMUXERS 1 ++%define CONFIG_MUXERS 0 ++%define CONFIG_PROTOCOLS 0 ++%define CONFIG_AANDCTTABLES 0 ++%define CONFIG_AC3DSP 0 ++%define CONFIG_ADTS_HEADER 1 ++%define CONFIG_ATSC_A53 1 ++%define CONFIG_AUDIO_FRAME_QUEUE 0 ++%define CONFIG_AUDIODSP 0 ++%define CONFIG_BLOCKDSP 0 ++%define CONFIG_BSWAPDSP 0 ++%define CONFIG_CABAC 1 ++%define CONFIG_CBS 0 ++%define CONFIG_CBS_AV1 0 ++%define CONFIG_CBS_H264 0 ++%define CONFIG_CBS_H265 0 ++%define CONFIG_CBS_JPEG 0 ++%define CONFIG_CBS_MPEG2 0 ++%define CONFIG_CBS_VP9 0 ++%define CONFIG_DEFLATE_WRAPPER 0 ++%define CONFIG_DIRAC_PARSE 1 ++%define CONFIG_DNN 0 ++%define CONFIG_DOVI_RPU 0 ++%define CONFIG_DVPROFILE 0 ++%define CONFIG_EXIF 0 ++%define CONFIG_FAANDCT 0 ++%define CONFIG_FAANIDCT 0 ++%define CONFIG_FDCTDSP 0 ++%define CONFIG_FLACDSP 1 ++%define CONFIG_FMTCONVERT 0 ++%define CONFIG_FRAME_THREAD_ENCODER 0 ++%define CONFIG_G722DSP 0 ++%define CONFIG_GOLOMB 1 ++%define CONFIG_GPLV3 0 ++%define CONFIG_H263DSP 0 ++%define CONFIG_H264CHROMA 1 ++%define CONFIG_H264DSP 1 ++%define CONFIG_H264PARSE 1 ++%define CONFIG_H264PRED 1 ++%define CONFIG_H264QPEL 1 ++%define CONFIG_HEVCPARSE 0 ++%define CONFIG_HPELDSP 1 ++%define CONFIG_HUFFMAN 0 ++%define CONFIG_HUFFYUVDSP 0 ++%define CONFIG_HUFFYUVENCDSP 0 ++%define CONFIG_IDCTDSP 0 ++%define CONFIG_IIRFILTER 0 ++%define CONFIG_MDCT15 1 ++%define CONFIG_INFLATE_WRAPPER 0 ++%define CONFIG_INTRAX8 0 ++%define CONFIG_ISO_MEDIA 1 ++%define CONFIG_IVIDSP 0 ++%define CONFIG_JPEGTABLES 0 ++%define CONFIG_LGPLV3 0 ++%define CONFIG_LIBX262 0 ++%define CONFIG_LLAUDDSP 0 ++%define CONFIG_LLVIDDSP 0 ++%define CONFIG_LLVIDENCDSP 0 ++%define CONFIG_LPC 0 ++%define CONFIG_LZF 0 ++%define CONFIG_ME_CMP 0 ++%define CONFIG_MPEG_ER 0 ++%define CONFIG_MPEGAUDIO 1 ++%define CONFIG_MPEGAUDIODSP 1 ++%define CONFIG_MPEGAUDIOHEADER 1 ++%define CONFIG_MPEG4AUDIO 1 ++%define CONFIG_MPEGVIDEO 0 ++%define CONFIG_MPEGVIDEODEC 0 ++%define CONFIG_MPEGVIDEOENC 0 ++%define CONFIG_MSS34DSP 0 ++%define CONFIG_PIXBLOCKDSP 0 ++%define CONFIG_QPELDSP 0 ++%define CONFIG_QSV 0 ++%define CONFIG_QSVDEC 0 ++%define CONFIG_QSVENC 0 ++%define CONFIG_QSVVPP 0 ++%define CONFIG_RANGECODER 0 ++%define CONFIG_RIFFDEC 1 ++%define CONFIG_RIFFENC 0 ++%define CONFIG_RTPDEC 0 ++%define CONFIG_RTPENC_CHAIN 0 ++%define CONFIG_RV34DSP 0 ++%define CONFIG_SCENE_SAD 0 ++%define CONFIG_SINEWIN 1 ++%define CONFIG_SNAPPY 0 ++%define CONFIG_SRTP 0 ++%define CONFIG_STARTCODE 1 ++%define CONFIG_TEXTUREDSP 0 ++%define CONFIG_TEXTUREDSPENC 0 ++%define CONFIG_TPELDSP 0 ++%define CONFIG_VAAPI_1 0 ++%define CONFIG_VAAPI_ENCODE 0 ++%define CONFIG_VC1DSP 0 ++%define CONFIG_VIDEODSP 1 ++%define CONFIG_VP3DSP 1 ++%define CONFIG_VP56DSP 0 ++%define CONFIG_VP8DSP 1 ++%define CONFIG_WMA_FREQS 0 ++%define CONFIG_WMV2DSP 0 diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.h b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.h new file mode 100644 index 000000000000..cfd8835a5ca0 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config.h @@ -0,0 +1,742 @@ +--- third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config.h +@@ -0,0 +1,739 @@ ++/* Automatically generated by configure - do not modify! */ ++#ifndef FFMPEG_CONFIG_H ++#define FFMPEG_CONFIG_H ++/* #define FFMPEG_CONFIGURATION "--disable-everything --disable-all --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --enable-avcodec --enable-avformat --enable-avutil --enable-fft --enable-rdft --enable-static --enable-libopus --disable-debug --disable-bzlib --disable-error-resilience --disable-iconv --disable-network --disable-schannel --disable-sdl2 --disable-symver --disable-xlib --disable-zlib --disable-securetransport --disable-faan --disable-alsa --disable-autodetect --enable-decoder='vorbis,libopus,flac' --enable-decoder='pcm_u8,pcm_s16le,pcm_s24le,pcm_s32le,pcm_f32le,mp3' --enable-decoder='pcm_s16be,pcm_s24be,pcm_mulaw,pcm_alaw' --enable-demuxer='ogg,matroska,wav,flac,mp3,mov' --enable-parser='opus,vorbis,flac,mpegaudio,vp9' --extra-cflags=-I/usr/local/google/home/sandersd/src/chromium/src/third_party/opus/src/include --disable-linux-perf --x86asmexe=nasm --optflags='\"-O2\"' --enable-decoder='theora,vp8' --enable-parser='vp3,vp8' --enable-lto --enable-pic --cc=clang --cxx=clang++ --ld=clang --extra-ldflags='-fuse-ld=lld' --enable-decoder='aac,h264' --enable-demuxer=aac --enable-parser='aac,h264'" " -- elide long configuration string from binary */ ++#define FFMPEG_LICENSE "LGPL version 2.1 or later" ++#define CONFIG_THIS_YEAR 2022 ++#define FFMPEG_DATADIR "/usr/local/share/ffmpeg" ++#define AVCONV_DATADIR "/usr/local/share/ffmpeg" ++#define CC_IDENT "OpenBSD clang version 13.0.0" ++#define OS_NAME openbsd ++#define av_restrict restrict ++#define EXTERN_PREFIX "" ++#define EXTERN_ASM ++#define BUILDSUF "" ++#define SLIBSUF ".so" ++#define HAVE_MMX2 HAVE_MMXEXT ++#define SWS_MAX_FILTER_SIZE 256 ++#define ARCH_AARCH64 0 ++#define ARCH_ALPHA 0 ++#define ARCH_ARM 0 ++#define ARCH_AVR32 0 ++#define ARCH_AVR32_AP 0 ++#define ARCH_AVR32_UC 0 ++#define ARCH_BFIN 0 ++#define ARCH_IA64 0 ++#define ARCH_LOONGARCH 0 ++#define ARCH_LOONGARCH32 0 ++#define ARCH_LOONGARCH64 0 ++#define ARCH_M68K 0 ++#define ARCH_MIPS 0 ++#define ARCH_MIPS64 0 ++#define ARCH_PARISC 0 ++#define ARCH_PPC 0 ++#define ARCH_PPC64 0 ++#define ARCH_RISCV 0 ++#define ARCH_S390 0 ++#define ARCH_SH4 0 ++#define ARCH_SPARC 0 ++#define ARCH_SPARC64 0 ++#define ARCH_TILEGX 0 ++#define ARCH_TILEPRO 0 ++#define ARCH_TOMI 0 ++#define ARCH_X86 1 ++#define ARCH_X86_32 0 ++#define ARCH_X86_64 1 ++#define HAVE_ARMV5TE 0 ++#define HAVE_ARMV6 0 ++#define HAVE_ARMV6T2 0 ++#define HAVE_ARMV8 0 ++#define HAVE_NEON 0 ++#define HAVE_VFP 0 ++#define HAVE_VFPV3 0 ++#define HAVE_SETEND 0 ++#define HAVE_ALTIVEC 0 ++#define HAVE_DCBZL 0 ++#define HAVE_LDBRX 0 ++#define HAVE_POWER8 0 ++#define HAVE_PPC4XX 0 ++#define HAVE_VSX 0 ++#define HAVE_AESNI 1 ++#define HAVE_AMD3DNOW 1 ++#define HAVE_AMD3DNOWEXT 1 ++#define HAVE_AVX 1 ++#define HAVE_AVX2 1 ++#define HAVE_AVX512 1 ++#define HAVE_AVX512ICL 1 ++#define HAVE_FMA3 1 ++#define HAVE_FMA4 1 ++#define HAVE_MMX 1 ++#define HAVE_MMXEXT 1 ++#define HAVE_SSE 1 ++#define HAVE_SSE2 1 ++#define HAVE_SSE3 1 ++#define HAVE_SSE4 1 ++#define HAVE_SSE42 1 ++#define HAVE_SSSE3 1 ++#define HAVE_XOP 1 ++#define HAVE_CPUNOP 0 ++#define HAVE_I686 1 ++#define HAVE_MIPSFPU 0 ++#define HAVE_MIPS32R2 0 ++#define HAVE_MIPS32R5 0 ++#define HAVE_MIPS64R2 0 ++#define HAVE_MIPS32R6 0 ++#define HAVE_MIPS64R6 0 ++#define HAVE_MIPSDSP 0 ++#define HAVE_MIPSDSPR2 0 ++#define HAVE_MSA 0 ++#define HAVE_LOONGSON2 0 ++#define HAVE_LOONGSON3 0 ++#define HAVE_MMI 0 ++#define HAVE_LSX 0 ++#define HAVE_LASX 0 ++#define HAVE_ARMV5TE_EXTERNAL 0 ++#define HAVE_ARMV6_EXTERNAL 0 ++#define HAVE_ARMV6T2_EXTERNAL 0 ++#define HAVE_ARMV8_EXTERNAL 0 ++#define HAVE_NEON_EXTERNAL 0 ++#define HAVE_VFP_EXTERNAL 0 ++#define HAVE_VFPV3_EXTERNAL 0 ++#define HAVE_SETEND_EXTERNAL 0 ++#define HAVE_ALTIVEC_EXTERNAL 0 ++#define HAVE_DCBZL_EXTERNAL 0 ++#define HAVE_LDBRX_EXTERNAL 0 ++#define HAVE_POWER8_EXTERNAL 0 ++#define HAVE_PPC4XX_EXTERNAL 0 ++#define HAVE_VSX_EXTERNAL 0 ++#define HAVE_AESNI_EXTERNAL 1 ++#define HAVE_AMD3DNOW_EXTERNAL 1 ++#define HAVE_AMD3DNOWEXT_EXTERNAL 1 ++#define HAVE_AVX_EXTERNAL 1 ++#define HAVE_AVX2_EXTERNAL 1 ++#define HAVE_AVX512_EXTERNAL 1 ++#define HAVE_AVX512ICL_EXTERNAL 1 ++#define HAVE_FMA3_EXTERNAL 1 ++#define HAVE_FMA4_EXTERNAL 1 ++#define HAVE_MMX_EXTERNAL 1 ++#define HAVE_MMXEXT_EXTERNAL 1 ++#define HAVE_SSE_EXTERNAL 1 ++#define HAVE_SSE2_EXTERNAL 1 ++#define HAVE_SSE3_EXTERNAL 1 ++#define HAVE_SSE4_EXTERNAL 1 ++#define HAVE_SSE42_EXTERNAL 1 ++#define HAVE_SSSE3_EXTERNAL 1 ++#define HAVE_XOP_EXTERNAL 1 ++#define HAVE_CPUNOP_EXTERNAL 0 ++#define HAVE_I686_EXTERNAL 0 ++#define HAVE_MIPSFPU_EXTERNAL 0 ++#define HAVE_MIPS32R2_EXTERNAL 0 ++#define HAVE_MIPS32R5_EXTERNAL 0 ++#define HAVE_MIPS64R2_EXTERNAL 0 ++#define HAVE_MIPS32R6_EXTERNAL 0 ++#define HAVE_MIPS64R6_EXTERNAL 0 ++#define HAVE_MIPSDSP_EXTERNAL 0 ++#define HAVE_MIPSDSPR2_EXTERNAL 0 ++#define HAVE_MSA_EXTERNAL 0 ++#define HAVE_LOONGSON2_EXTERNAL 0 ++#define HAVE_LOONGSON3_EXTERNAL 0 ++#define HAVE_MMI_EXTERNAL 0 ++#define HAVE_LSX_EXTERNAL 0 ++#define HAVE_LASX_EXTERNAL 0 ++#define HAVE_ARMV5TE_INLINE 0 ++#define HAVE_ARMV6_INLINE 0 ++#define HAVE_ARMV6T2_INLINE 0 ++#define HAVE_ARMV8_INLINE 0 ++#define HAVE_NEON_INLINE 0 ++#define HAVE_VFP_INLINE 0 ++#define HAVE_VFPV3_INLINE 0 ++#define HAVE_SETEND_INLINE 0 ++#define HAVE_ALTIVEC_INLINE 0 ++#define HAVE_DCBZL_INLINE 0 ++#define HAVE_LDBRX_INLINE 0 ++#define HAVE_POWER8_INLINE 0 ++#define HAVE_PPC4XX_INLINE 0 ++#define HAVE_VSX_INLINE 0 ++#define HAVE_AESNI_INLINE 1 ++#define HAVE_AMD3DNOW_INLINE 1 ++#define HAVE_AMD3DNOWEXT_INLINE 1 ++#define HAVE_AVX_INLINE 1 ++#define HAVE_AVX2_INLINE 1 ++#define HAVE_AVX512_INLINE 1 ++#define HAVE_AVX512ICL_INLINE 1 ++#define HAVE_FMA3_INLINE 1 ++#define HAVE_FMA4_INLINE 1 ++#define HAVE_MMX_INLINE 1 ++#define HAVE_MMXEXT_INLINE 1 ++#define HAVE_SSE_INLINE 1 ++#define HAVE_SSE2_INLINE 1 ++#define HAVE_SSE3_INLINE 1 ++#define HAVE_SSE4_INLINE 1 ++#define HAVE_SSE42_INLINE 1 ++#define HAVE_SSSE3_INLINE 1 ++#define HAVE_XOP_INLINE 1 ++#define HAVE_CPUNOP_INLINE 0 ++#define HAVE_I686_INLINE 0 ++#define HAVE_MIPSFPU_INLINE 0 ++#define HAVE_MIPS32R2_INLINE 0 ++#define HAVE_MIPS32R5_INLINE 0 ++#define HAVE_MIPS64R2_INLINE 0 ++#define HAVE_MIPS32R6_INLINE 0 ++#define HAVE_MIPS64R6_INLINE 0 ++#define HAVE_MIPSDSP_INLINE 0 ++#define HAVE_MIPSDSPR2_INLINE 0 ++#define HAVE_MSA_INLINE 0 ++#define HAVE_LOONGSON2_INLINE 0 ++#define HAVE_LOONGSON3_INLINE 0 ++#define HAVE_MMI_INLINE 0 ++#define HAVE_LSX_INLINE 0 ++#define HAVE_LASX_INLINE 0 ++#define HAVE_ALIGNED_STACK 1 ++#define HAVE_FAST_64BIT 1 ++#define HAVE_FAST_CLZ 1 ++#define HAVE_FAST_CMOV 1 ++#define HAVE_LOCAL_ALIGNED 1 ++#define HAVE_SIMD_ALIGN_16 1 ++#define HAVE_SIMD_ALIGN_32 1 ++#define HAVE_SIMD_ALIGN_64 1 ++#define HAVE_ATOMIC_CAS_PTR 0 ++#define HAVE_MACHINE_RW_BARRIER 0 ++#define HAVE_MEMORYBARRIER 0 ++#define HAVE_MM_EMPTY 1 ++#define HAVE_RDTSC 0 ++#define HAVE_SEM_TIMEDWAIT 1 ++#define HAVE_SYNC_VAL_COMPARE_AND_SWAP 1 ++#define HAVE_CABS 0 ++#define HAVE_CEXP 0 ++#define HAVE_INLINE_ASM 1 ++#define HAVE_SYMVER 0 ++#define HAVE_X86ASM 1 ++#define HAVE_BIGENDIAN 0 ++#define HAVE_FAST_UNALIGNED 1 ++#define HAVE_ARPA_INET_H 0 ++#define HAVE_ASM_TYPES_H 0 ++#define HAVE_CDIO_PARANOIA_H 0 ++#define HAVE_CDIO_PARANOIA_PARANOIA_H 0 ++#define HAVE_CUDA_H 0 ++#define HAVE_DISPATCH_DISPATCH_H 0 ++#define HAVE_DEV_BKTR_IOCTL_BT848_H 0 ++#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0 ++#define HAVE_DEV_IC_BT8XX_H 1 ++#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0 ++#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0 ++#define HAVE_DIRECT_H 0 ++#define HAVE_DIRENT_H 1 ++#define HAVE_DXGIDEBUG_H 0 ++#define HAVE_DXVA_H 0 ++#define HAVE_ES2_GL_H 0 ++#define HAVE_GSM_H 0 ++#define HAVE_IO_H 0 ++#define HAVE_LINUX_DMA_BUF_H 0 ++#define HAVE_LINUX_PERF_EVENT_H 0 ++#define HAVE_MACHINE_IOCTL_BT848_H 0 ++#define HAVE_MACHINE_IOCTL_METEOR_H 0 ++#define HAVE_MALLOC_H 0 ++#define HAVE_OPENCV2_CORE_CORE_C_H 0 ++#define HAVE_OPENGL_GL3_H 0 ++#define HAVE_POLL_H 1 ++#define HAVE_SYS_PARAM_H 1 ++#define HAVE_SYS_RESOURCE_H 1 ++#define HAVE_SYS_SELECT_H 1 ++#define HAVE_SYS_SOUNDCARD_H 0 ++#define HAVE_SYS_TIME_H 1 ++#define HAVE_SYS_UN_H 1 ++#define HAVE_SYS_VIDEOIO_H 1 ++#define HAVE_TERMIOS_H 1 ++#define HAVE_UDPLITE_H 0 ++#define HAVE_UNISTD_H 1 ++#define HAVE_VALGRIND_VALGRIND_H 0 /* #define HAVE_VALGRIND_VALGRIND_H 0 -- forced to 0. See https://crbug.com/590440 */ ++#define HAVE_WINDOWS_H 0 ++#define HAVE_WINSOCK2_H 0 ++#define HAVE_INTRINSICS_NEON 0 ++#define HAVE_ATANF 1 ++#define HAVE_ATAN2F 1 ++#define HAVE_CBRT 1 ++#define HAVE_CBRTF 1 ++#define HAVE_COPYSIGN 1 ++#define HAVE_COSF 1 ++#define HAVE_ERF 1 ++#define HAVE_EXP2 1 ++#define HAVE_EXP2F 1 ++#define HAVE_EXPF 1 ++#define HAVE_HYPOT 1 ++#define HAVE_ISFINITE 1 ++#define HAVE_ISINF 1 ++#define HAVE_ISNAN 1 ++#define HAVE_LDEXPF 1 ++#define HAVE_LLRINT 1 ++#define HAVE_LLRINTF 1 ++#define HAVE_LOG2 1 ++#define HAVE_LOG2F 1 ++#define HAVE_LOG10F 1 ++#define HAVE_LRINT 1 ++#define HAVE_LRINTF 1 ++#define HAVE_POWF 1 ++#define HAVE_RINT 1 ++#define HAVE_ROUND 1 ++#define HAVE_ROUNDF 1 ++#define HAVE_SINF 1 ++#define HAVE_TRUNC 1 ++#define HAVE_TRUNCF 1 ++#define HAVE_DOS_PATHS 0 ++#define HAVE_LIBC_MSVCRT 0 ++#define HAVE_MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS 0 ++#define HAVE_SECTION_DATA_REL_RO 1 ++#define HAVE_THREADS 1 ++#define HAVE_UWP 0 ++#define HAVE_WINRT 0 ++#define HAVE_ACCESS 1 ++#define HAVE_ALIGNED_MALLOC 0 ++#define HAVE_ARC4RANDOM 1 ++#define HAVE_CLOCK_GETTIME 1 ++#define HAVE_CLOSESOCKET 0 ++#define HAVE_COMMANDLINETOARGVW 0 ++#define HAVE_FCNTL 1 ++#define HAVE_GETADDRINFO 0 ++#define HAVE_GETAUXVAL 0 ++#define HAVE_GETHRTIME 0 ++#define HAVE_GETOPT 1 ++#define HAVE_GETMODULEHANDLE 0 ++#define HAVE_GETPROCESSAFFINITYMASK 0 ++#define HAVE_GETPROCESSMEMORYINFO 0 ++#define HAVE_GETPROCESSTIMES 0 ++#define HAVE_GETRUSAGE 1 ++#define HAVE_GETSTDHANDLE 0 ++#define HAVE_GETSYSTEMTIMEASFILETIME 0 ++#define HAVE_GETTIMEOFDAY 1 ++#define HAVE_GLOB 1 ++#define HAVE_GLXGETPROCADDRESS 0 ++#define HAVE_GMTIME_R 1 ++#define HAVE_INET_ATON 0 ++#define HAVE_ISATTY 1 ++#define HAVE_KBHIT 0 ++#define HAVE_LOCALTIME_R 1 ++#define HAVE_LSTAT 1 ++#define HAVE_LZO1X_999_COMPRESS 0 ++#define HAVE_MACH_ABSOLUTE_TIME 0 ++#define HAVE_MAPVIEWOFFILE 0 ++#define HAVE_MEMALIGN 0 ++#define HAVE_MKSTEMP 1 ++#define HAVE_MMAP 1 ++#define HAVE_MPROTECT 1 ++#define HAVE_NANOSLEEP 1 ++#define HAVE_PEEKNAMEDPIPE 0 ++#define HAVE_POSIX_MEMALIGN 1 ++#define HAVE_PTHREAD_CANCEL 1 ++#define HAVE_SCHED_GETAFFINITY 0 ++#define HAVE_SECITEMIMPORT 0 ++#define HAVE_SETCONSOLETEXTATTRIBUTE 0 ++#define HAVE_SETCONSOLECTRLHANDLER 0 ++#define HAVE_SETDLLDIRECTORY 0 ++#define HAVE_SETMODE 0 ++#define HAVE_SETRLIMIT 1 ++#define HAVE_SLEEP 0 ++#define HAVE_STRERROR_R 1 ++#define HAVE_SYSCONF 1 ++#define HAVE_SYSCTL 0 /* #define HAVE_SYSCTL 0 -- forced to 0 for Fuchsia */ ++#define HAVE_USLEEP 1 ++#define HAVE_UTGETOSTYPEFROMSTRING 0 ++#define HAVE_VIRTUALALLOC 0 ++#define HAVE_WGLGETPROCADDRESS 0 ++#define HAVE_BCRYPT 0 ++#define HAVE_VAAPI_DRM 0 ++#define HAVE_VAAPI_X11 0 ++#define HAVE_VDPAU_X11 0 ++#define HAVE_PTHREADS 1 ++#define HAVE_OS2THREADS 0 ++#define HAVE_W32THREADS 0 ++#define HAVE_AS_ARCH_DIRECTIVE 0 ++#define HAVE_AS_DN_DIRECTIVE 0 ++#define HAVE_AS_FPU_DIRECTIVE 0 ++#define HAVE_AS_FUNC 0 ++#define HAVE_AS_OBJECT_ARCH 0 ++#define HAVE_ASM_MOD_Q 0 ++#define HAVE_BLOCKS_EXTENSION 0 ++#define HAVE_EBP_AVAILABLE 1 ++#define HAVE_EBX_AVAILABLE 1 ++#define HAVE_GNU_AS 0 ++#define HAVE_GNU_WINDRES 0 ++#define HAVE_IBM_ASM 0 ++#define HAVE_INLINE_ASM_DIRECT_SYMBOL_REFS 0 ++#define HAVE_INLINE_ASM_LABELS 1 ++#define HAVE_INLINE_ASM_NONLOCAL_LABELS 1 ++#define HAVE_PRAGMA_DEPRECATED 1 ++#define HAVE_RSYNC_CONTIMEOUT 1 ++#define HAVE_SYMVER_ASM_LABEL 1 ++#define HAVE_SYMVER_GNU_ASM 1 ++#define HAVE_VFP_ARGS 0 ++#define HAVE_XFORM_ASM 0 ++#define HAVE_XMM_CLOBBERS 1 ++#define HAVE_KCMVIDEOCODECTYPE_HEVC 0 ++#define HAVE_KCMVIDEOCODECTYPE_HEVCWITHALPHA 0 ++#define HAVE_KCMVIDEOCODECTYPE_VP9 0 ++#define HAVE_KCVPIXELFORMATTYPE_420YPCBCR10BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR8BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR10BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_422YPCBCR16BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR8BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR10BIPLANARVIDEORANGE 0 ++#define HAVE_KCVPIXELFORMATTYPE_444YPCBCR16BIPLANARVIDEORANGE 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_2084_PQ 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2100_HLG 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_LINEAR 0 ++#define HAVE_KCVIMAGEBUFFERYCBCRMATRIX_ITU_R_2020 0 ++#define HAVE_KCVIMAGEBUFFERCOLORPRIMARIES_ITU_R_2020 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_ITU_R_2020 0 ++#define HAVE_KCVIMAGEBUFFERTRANSFERFUNCTION_SMPTE_ST_428_1 0 ++#define HAVE_SOCKLEN_T 0 ++#define HAVE_STRUCT_ADDRINFO 0 ++#define HAVE_STRUCT_GROUP_SOURCE_REQ 0 ++#define HAVE_STRUCT_IP_MREQ_SOURCE 0 ++#define HAVE_STRUCT_IPV6_MREQ 0 ++#define HAVE_STRUCT_MSGHDR_MSG_FLAGS 0 ++#define HAVE_STRUCT_POLLFD 0 ++#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1 ++#define HAVE_STRUCT_SCTP_EVENT_SUBSCRIBE 0 ++#define HAVE_STRUCT_SOCKADDR_IN6 0 ++#define HAVE_STRUCT_SOCKADDR_SA_LEN 0 ++#define HAVE_STRUCT_SOCKADDR_STORAGE 0 ++#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 ++#define HAVE_STRUCT_V4L2_FRMIVALENUM_DISCRETE 1 ++#define HAVE_GZIP 1 ++#define HAVE_LIBDRM_GETFB2 0 ++#define HAVE_MAKEINFO 1 ++#define HAVE_MAKEINFO_HTML 0 ++#define HAVE_OPENCL_D3D11 0 ++#define HAVE_OPENCL_DRM_ARM 0 ++#define HAVE_OPENCL_DRM_BEIGNET 0 ++#define HAVE_OPENCL_DXVA2 0 ++#define HAVE_OPENCL_VAAPI_BEIGNET 0 ++#define HAVE_OPENCL_VAAPI_INTEL_MEDIA 0 ++#define HAVE_PERL 1 ++#define HAVE_POD2MAN 1 ++#define HAVE_TEXI2HTML 0 ++#define HAVE_XMLLINT 1 ++#define HAVE_ZLIB_GZIP 0 ++#define CONFIG_DOC 0 ++#define CONFIG_HTMLPAGES 0 ++#define CONFIG_MANPAGES 0 ++#define CONFIG_PODPAGES 0 ++#define CONFIG_TXTPAGES 0 ++#define CONFIG_AVIO_LIST_DIR_EXAMPLE 1 ++#define CONFIG_AVIO_READING_EXAMPLE 1 ++#define CONFIG_DECODE_AUDIO_EXAMPLE 1 ++#define CONFIG_DECODE_VIDEO_EXAMPLE 1 ++#define CONFIG_DEMUXING_DECODING_EXAMPLE 1 ++#define CONFIG_ENCODE_AUDIO_EXAMPLE 1 ++#define CONFIG_ENCODE_VIDEO_EXAMPLE 1 ++#define CONFIG_EXTRACT_MVS_EXAMPLE 1 ++#define CONFIG_FILTER_AUDIO_EXAMPLE 0 ++#define CONFIG_FILTERING_AUDIO_EXAMPLE 0 ++#define CONFIG_FILTERING_VIDEO_EXAMPLE 0 ++#define CONFIG_HTTP_MULTICLIENT_EXAMPLE 1 ++#define CONFIG_HW_DECODE_EXAMPLE 1 ++#define CONFIG_METADATA_EXAMPLE 1 ++#define CONFIG_MUXING_EXAMPLE 0 ++#define CONFIG_QSVDEC_EXAMPLE 0 ++#define CONFIG_REMUXING_EXAMPLE 1 ++#define CONFIG_RESAMPLING_AUDIO_EXAMPLE 0 ++#define CONFIG_SCALING_VIDEO_EXAMPLE 0 ++#define CONFIG_TRANSCODE_AAC_EXAMPLE 0 ++#define CONFIG_TRANSCODING_EXAMPLE 0 ++#define CONFIG_VAAPI_ENCODE_EXAMPLE 0 ++#define CONFIG_VAAPI_TRANSCODE_EXAMPLE 0 ++#define CONFIG_AVISYNTH 0 ++#define CONFIG_FREI0R 0 ++#define CONFIG_LIBCDIO 0 ++#define CONFIG_LIBDAVS2 0 ++#define CONFIG_LIBRUBBERBAND 0 ++#define CONFIG_LIBVIDSTAB 0 ++#define CONFIG_LIBX264 0 ++#define CONFIG_LIBX265 0 ++#define CONFIG_LIBXAVS 0 ++#define CONFIG_LIBXAVS2 0 ++#define CONFIG_LIBXVID 0 ++#define CONFIG_DECKLINK 0 ++#define CONFIG_LIBFDK_AAC 0 ++#define CONFIG_LIBTLS 0 ++#define CONFIG_GMP 0 ++#define CONFIG_LIBARIBB24 0 ++#define CONFIG_LIBLENSFUN 0 ++#define CONFIG_LIBOPENCORE_AMRNB 0 ++#define CONFIG_LIBOPENCORE_AMRWB 0 ++#define CONFIG_LIBVO_AMRWBENC 0 ++#define CONFIG_MBEDTLS 0 ++#define CONFIG_RKMPP 0 ++#define CONFIG_LIBSMBCLIENT 0 ++#define CONFIG_CHROMAPRINT 0 ++#define CONFIG_GCRYPT 0 ++#define CONFIG_GNUTLS 0 ++#define CONFIG_JNI 0 ++#define CONFIG_LADSPA 0 ++#define CONFIG_LCMS2 0 ++#define CONFIG_LIBAOM 0 ++#define CONFIG_LIBASS 0 ++#define CONFIG_LIBBLURAY 0 ++#define CONFIG_LIBBS2B 0 ++#define CONFIG_LIBCACA 0 ++#define CONFIG_LIBCELT 0 ++#define CONFIG_LIBCODEC2 0 ++#define CONFIG_LIBDAV1D 0 ++#define CONFIG_LIBDC1394 0 ++#define CONFIG_LIBDRM 0 ++#define CONFIG_LIBFLITE 0 ++#define CONFIG_LIBFONTCONFIG 0 ++#define CONFIG_LIBFREETYPE 0 ++#define CONFIG_LIBFRIBIDI 0 ++#define CONFIG_LIBGLSLANG 0 ++#define CONFIG_LIBGME 0 ++#define CONFIG_LIBGSM 0 ++#define CONFIG_LIBIEC61883 0 ++#define CONFIG_LIBILBC 0 ++#define CONFIG_LIBJACK 0 ++#define CONFIG_LIBJXL 0 ++#define CONFIG_LIBKLVANC 0 ++#define CONFIG_LIBKVAZAAR 0 ++#define CONFIG_LIBMODPLUG 0 ++#define CONFIG_LIBMP3LAME 0 ++#define CONFIG_LIBMYSOFA 0 ++#define CONFIG_LIBOPENCV 0 ++#define CONFIG_LIBOPENH264 0 ++#define CONFIG_LIBOPENJPEG 0 ++#define CONFIG_LIBOPENMPT 0 ++#define CONFIG_LIBOPENVINO 0 ++#define CONFIG_LIBOPUS 1 ++#define CONFIG_LIBPLACEBO 0 ++#define CONFIG_LIBPULSE 0 ++#define CONFIG_LIBRABBITMQ 0 ++#define CONFIG_LIBRAV1E 0 ++#define CONFIG_LIBRIST 0 ++#define CONFIG_LIBRSVG 0 ++#define CONFIG_LIBRTMP 0 ++#define CONFIG_LIBSHADERC 0 ++#define CONFIG_LIBSHINE 0 ++#define CONFIG_LIBSMBCLIENT 0 ++#define CONFIG_LIBSNAPPY 0 ++#define CONFIG_LIBSOXR 0 ++#define CONFIG_LIBSPEEX 0 ++#define CONFIG_LIBSRT 0 ++#define CONFIG_LIBSSH 0 ++#define CONFIG_LIBSVTAV1 0 ++#define CONFIG_LIBTENSORFLOW 0 ++#define CONFIG_LIBTESSERACT 0 ++#define CONFIG_LIBTHEORA 0 ++#define CONFIG_LIBTWOLAME 0 ++#define CONFIG_LIBUAVS3D 0 ++#define CONFIG_LIBV4L2 0 ++#define CONFIG_LIBVMAF 0 ++#define CONFIG_LIBVORBIS 0 ++#define CONFIG_LIBVPX 0 ++#define CONFIG_LIBWEBP 0 ++#define CONFIG_LIBXML2 0 ++#define CONFIG_LIBZIMG 0 ++#define CONFIG_LIBZMQ 0 ++#define CONFIG_LIBZVBI 0 ++#define CONFIG_LV2 0 ++#define CONFIG_MEDIACODEC 0 ++#define CONFIG_OPENAL 0 ++#define CONFIG_OPENGL 0 ++#define CONFIG_OPENSSL 0 ++#define CONFIG_POCKETSPHINX 0 ++#define CONFIG_VAPOURSYNTH 0 ++#define CONFIG_ALSA 0 ++#define CONFIG_APPKIT 0 ++#define CONFIG_AVFOUNDATION 0 ++#define CONFIG_BZLIB 0 ++#define CONFIG_COREIMAGE 0 ++#define CONFIG_ICONV 0 ++#define CONFIG_LIBXCB 0 ++#define CONFIG_LIBXCB_SHM 0 ++#define CONFIG_LIBXCB_SHAPE 0 ++#define CONFIG_LIBXCB_XFIXES 0 ++#define CONFIG_LZMA 0 ++#define CONFIG_MEDIAFOUNDATION 0 ++#define CONFIG_METAL 0 ++#define CONFIG_SCHANNEL 0 ++#define CONFIG_SDL2 0 ++#define CONFIG_SECURETRANSPORT 0 ++#define CONFIG_SNDIO 0 ++#define CONFIG_XLIB 0 ++#define CONFIG_ZLIB 0 ++#define CONFIG_CUDA_NVCC 0 ++#define CONFIG_CUDA_SDK 0 ++#define CONFIG_LIBNPP 0 ++#define CONFIG_LIBMFX 0 ++#define CONFIG_MMAL 0 ++#define CONFIG_OMX 0 ++#define CONFIG_OPENCL 0 ++#define CONFIG_AMF 0 ++#define CONFIG_AUDIOTOOLBOX 0 ++#define CONFIG_CRYSTALHD 0 ++#define CONFIG_CUDA 0 ++#define CONFIG_CUDA_LLVM 0 ++#define CONFIG_CUVID 0 ++#define CONFIG_D3D11VA 0 ++#define CONFIG_DXVA2 0 ++#define CONFIG_FFNVCODEC 0 ++#define CONFIG_NVDEC 0 ++#define CONFIG_NVENC 0 ++#define CONFIG_VAAPI 0 ++#define CONFIG_VDPAU 0 ++#define CONFIG_VIDEOTOOLBOX 0 ++#define CONFIG_VULKAN 0 ++#define CONFIG_V4L2_M2M 0 ++#define CONFIG_FTRAPV 0 ++#define CONFIG_GRAY 0 ++#define CONFIG_HARDCODED_TABLES 0 ++#define CONFIG_OMX_RPI 0 ++#define CONFIG_RUNTIME_CPUDETECT 1 ++#define CONFIG_SAFE_BITSTREAM_READER 1 ++#define CONFIG_SHARED 0 ++#define CONFIG_SMALL 0 ++#define CONFIG_STATIC 1 ++#define CONFIG_SWSCALE_ALPHA 1 ++#define CONFIG_GPL 0 ++#define CONFIG_NONFREE 0 ++#define CONFIG_VERSION3 0 ++#define CONFIG_AVDEVICE 0 ++#define CONFIG_AVFILTER 0 ++#define CONFIG_SWSCALE 0 ++#define CONFIG_POSTPROC 0 ++#define CONFIG_AVFORMAT 1 ++#define CONFIG_AVCODEC 1 ++#define CONFIG_SWRESAMPLE 0 ++#define CONFIG_AVUTIL 1 ++#define CONFIG_FFPLAY 0 ++#define CONFIG_FFPROBE 0 ++#define CONFIG_FFMPEG 0 ++#define CONFIG_DCT 1 ++#define CONFIG_DWT 0 ++#define CONFIG_ERROR_RESILIENCE 0 ++#define CONFIG_FAAN 0 ++#define CONFIG_FAST_UNALIGNED 1 ++#define CONFIG_FFT 1 ++#define CONFIG_LSP 0 ++#define CONFIG_MDCT 1 ++#define CONFIG_PIXELUTILS 0 ++#define CONFIG_NETWORK 0 ++#define CONFIG_RDFT 1 ++#define CONFIG_AUTODETECT 0 ++#define CONFIG_FONTCONFIG 0 ++#define CONFIG_LARGE_TESTS 1 ++#define CONFIG_LINUX_PERF 0 ++#define CONFIG_MACOS_KPERF 0 ++#define CONFIG_MEMORY_POISONING 0 ++#define CONFIG_NEON_CLOBBER_TEST 0 ++#define CONFIG_OSSFUZZ 0 ++#define CONFIG_PIC 1 ++#define CONFIG_PTX_COMPRESSION 0 ++#define CONFIG_THUMB 0 ++#define CONFIG_VALGRIND_BACKTRACE 0 ++#define CONFIG_XMM_CLOBBER_TEST 0 ++#define CONFIG_BSFS 0 ++#define CONFIG_DECODERS 1 ++#define CONFIG_ENCODERS 0 ++#define CONFIG_HWACCELS 0 ++#define CONFIG_PARSERS 1 ++#define CONFIG_INDEVS 0 ++#define CONFIG_OUTDEVS 0 ++#define CONFIG_FILTERS 0 ++#define CONFIG_DEMUXERS 1 ++#define CONFIG_MUXERS 0 ++#define CONFIG_PROTOCOLS 0 ++#define CONFIG_AANDCTTABLES 0 ++#define CONFIG_AC3DSP 0 ++#define CONFIG_ADTS_HEADER 1 ++#define CONFIG_ATSC_A53 1 ++#define CONFIG_AUDIO_FRAME_QUEUE 0 ++#define CONFIG_AUDIODSP 0 ++#define CONFIG_BLOCKDSP 0 ++#define CONFIG_BSWAPDSP 0 ++#define CONFIG_CABAC 1 ++#define CONFIG_CBS 0 ++#define CONFIG_CBS_AV1 0 ++#define CONFIG_CBS_H264 0 ++#define CONFIG_CBS_H265 0 ++#define CONFIG_CBS_JPEG 0 ++#define CONFIG_CBS_MPEG2 0 ++#define CONFIG_CBS_VP9 0 ++#define CONFIG_DEFLATE_WRAPPER 0 ++#define CONFIG_DIRAC_PARSE 1 ++#define CONFIG_DNN 0 ++#define CONFIG_DOVI_RPU 0 ++#define CONFIG_DVPROFILE 0 ++#define CONFIG_EXIF 0 ++#define CONFIG_FAANDCT 0 ++#define CONFIG_FAANIDCT 0 ++#define CONFIG_FDCTDSP 0 ++#define CONFIG_FLACDSP 1 ++#define CONFIG_FMTCONVERT 0 ++#define CONFIG_FRAME_THREAD_ENCODER 0 ++#define CONFIG_G722DSP 0 ++#define CONFIG_GOLOMB 1 ++#define CONFIG_GPLV3 0 ++#define CONFIG_H263DSP 0 ++#define CONFIG_H264CHROMA 1 ++#define CONFIG_H264DSP 1 ++#define CONFIG_H264PARSE 1 ++#define CONFIG_H264PRED 1 ++#define CONFIG_H264QPEL 1 ++#define CONFIG_HEVCPARSE 0 ++#define CONFIG_HPELDSP 1 ++#define CONFIG_HUFFMAN 0 ++#define CONFIG_HUFFYUVDSP 0 ++#define CONFIG_HUFFYUVENCDSP 0 ++#define CONFIG_IDCTDSP 0 ++#define CONFIG_IIRFILTER 0 ++#define CONFIG_MDCT15 1 ++#define CONFIG_INFLATE_WRAPPER 0 ++#define CONFIG_INTRAX8 0 ++#define CONFIG_ISO_MEDIA 1 ++#define CONFIG_IVIDSP 0 ++#define CONFIG_JPEGTABLES 0 ++#define CONFIG_LGPLV3 0 ++#define CONFIG_LIBX262 0 ++#define CONFIG_LLAUDDSP 0 ++#define CONFIG_LLVIDDSP 0 ++#define CONFIG_LLVIDENCDSP 0 ++#define CONFIG_LPC 0 ++#define CONFIG_LZF 0 ++#define CONFIG_ME_CMP 0 ++#define CONFIG_MPEG_ER 0 ++#define CONFIG_MPEGAUDIO 1 ++#define CONFIG_MPEGAUDIODSP 1 ++#define CONFIG_MPEGAUDIOHEADER 1 ++#define CONFIG_MPEG4AUDIO 1 ++#define CONFIG_MPEGVIDEO 0 ++#define CONFIG_MPEGVIDEODEC 0 ++#define CONFIG_MPEGVIDEOENC 0 ++#define CONFIG_MSS34DSP 0 ++#define CONFIG_PIXBLOCKDSP 0 ++#define CONFIG_QPELDSP 0 ++#define CONFIG_QSV 0 ++#define CONFIG_QSVDEC 0 ++#define CONFIG_QSVENC 0 ++#define CONFIG_QSVVPP 0 ++#define CONFIG_RANGECODER 0 ++#define CONFIG_RIFFDEC 1 ++#define CONFIG_RIFFENC 0 ++#define CONFIG_RTPDEC 0 ++#define CONFIG_RTPENC_CHAIN 0 ++#define CONFIG_RV34DSP 0 ++#define CONFIG_SCENE_SAD 0 ++#define CONFIG_SINEWIN 1 ++#define CONFIG_SNAPPY 0 ++#define CONFIG_SRTP 0 ++#define CONFIG_STARTCODE 1 ++#define CONFIG_TEXTUREDSP 0 ++#define CONFIG_TEXTUREDSPENC 0 ++#define CONFIG_TPELDSP 0 ++#define CONFIG_VAAPI_1 0 ++#define CONFIG_VAAPI_ENCODE 0 ++#define CONFIG_VC1DSP 0 ++#define CONFIG_VIDEODSP 1 ++#define CONFIG_VP3DSP 1 ++#define CONFIG_VP56DSP 0 ++#define CONFIG_VP8DSP 1 ++#define CONFIG_WMA_FREQS 0 ++#define CONFIG_WMV2DSP 0 ++#endif /* FFMPEG_CONFIG_H */ diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config__components.h b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config__components.h new file mode 100644 index 000000000000..bd3df70416b9 --- /dev/null +++ b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_chromium_config_Chrome_openbsd_x64_config__components.h @@ -0,0 +1,2086 @@ +--- third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config_components.h.orig 2022-10-01 07:40:07 UTC ++++ third_party/ffmpeg/chromium/config/Chrome/openbsd/x64/config_components.h +@@ -0,0 +1,2083 @@ ++/* Automatically generated by configure - do not modify! */ ++#ifndef FFMPEG_CONFIG_COMPONENTS_H ++#define FFMPEG_CONFIG_COMPONENTS_H ++#define CONFIG_AAC_ADTSTOASC_BSF 0 ++#define CONFIG_AV1_FRAME_MERGE_BSF 0 ++#define CONFIG_AV1_FRAME_SPLIT_BSF 0 ++#define CONFIG_AV1_METADATA_BSF 0 ++#define CONFIG_CHOMP_BSF 0 ++#define CONFIG_DUMP_EXTRADATA_BSF 0 ++#define CONFIG_DCA_CORE_BSF 0 ++#define CONFIG_DV_ERROR_MARKER_BSF 0 ++#define CONFIG_EAC3_CORE_BSF 0 ++#define CONFIG_EXTRACT_EXTRADATA_BSF 0 ++#define CONFIG_FILTER_UNITS_BSF 0 ++#define CONFIG_H264_METADATA_BSF 0 ++#define CONFIG_H264_MP4TOANNEXB_BSF 0 ++#define CONFIG_H264_REDUNDANT_PPS_BSF 0 ++#define CONFIG_HAPQA_EXTRACT_BSF 0 ++#define CONFIG_HEVC_METADATA_BSF 0 ++#define CONFIG_HEVC_MP4TOANNEXB_BSF 0 ++#define CONFIG_IMX_DUMP_HEADER_BSF 0 ++#define CONFIG_MJPEG2JPEG_BSF 0 ++#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0 ++#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0 ++#define CONFIG_MPEG2_METADATA_BSF 0 ++#define CONFIG_MPEG4_UNPACK_BFRAMES_BSF 0 ++#define CONFIG_MOV2TEXTSUB_BSF 0 ++#define CONFIG_NOISE_BSF 0 ++#define CONFIG_NULL_BSF 0 ++#define CONFIG_OPUS_METADATA_BSF 0 ++#define CONFIG_PCM_RECHUNK_BSF 0 ++#define CONFIG_PGS_FRAME_MERGE_BSF 0 ++#define CONFIG_PRORES_METADATA_BSF 0 ++#define CONFIG_REMOVE_EXTRADATA_BSF 0 ++#define CONFIG_SETTS_BSF 0 ++#define CONFIG_TEXT2MOVSUB_BSF 0 ++#define CONFIG_TRACE_HEADERS_BSF 0 ++#define CONFIG_TRUEHD_CORE_BSF 0 ++#define CONFIG_VP9_METADATA_BSF 0 ++#define CONFIG_VP9_RAW_REORDER_BSF 0 ++#define CONFIG_VP9_SUPERFRAME_BSF 0 ++#define CONFIG_VP9_SUPERFRAME_SPLIT_BSF 0 ++#define CONFIG_AASC_DECODER 0 ++#define CONFIG_AIC_DECODER 0 ++#define CONFIG_ALIAS_PIX_DECODER 0 ++#define CONFIG_AGM_DECODER 0 ++#define CONFIG_AMV_DECODER 0 ++#define CONFIG_ANM_DECODER 0 ++#define CONFIG_ANSI_DECODER 0 ++#define CONFIG_APNG_DECODER 0 ++#define CONFIG_ARBC_DECODER 0 ++#define CONFIG_ARGO_DECODER 0 ++#define CONFIG_ASV1_DECODER 0 ++#define CONFIG_ASV2_DECODER 0 ++#define CONFIG_AURA_DECODER 0 ++#define CONFIG_AURA2_DECODER 0 ++#define CONFIG_AVRP_DECODER 0 ++#define CONFIG_AVRN_DECODER 0 ++#define CONFIG_AVS_DECODER 0 ++#define CONFIG_AVUI_DECODER 0 ++#define CONFIG_AYUV_DECODER 0 ++#define CONFIG_BETHSOFTVID_DECODER 0 ++#define CONFIG_BFI_DECODER 0 ++#define CONFIG_BINK_DECODER 0 ++#define CONFIG_BITPACKED_DECODER 0 ++#define CONFIG_BMP_DECODER 0 ++#define CONFIG_BMV_VIDEO_DECODER 0 ++#define CONFIG_BRENDER_PIX_DECODER 0 ++#define CONFIG_C93_DECODER 0 ++#define CONFIG_CAVS_DECODER 0 ++#define CONFIG_CDGRAPHICS_DECODER 0 ++#define CONFIG_CDTOONS_DECODER 0 ++#define CONFIG_CDXL_DECODER 0 ++#define CONFIG_CFHD_DECODER 0 ++#define CONFIG_CINEPAK_DECODER 0 ++#define CONFIG_CLEARVIDEO_DECODER 0 ++#define CONFIG_CLJR_DECODER 0 ++#define CONFIG_CLLC_DECODER 0 ++#define CONFIG_COMFORTNOISE_DECODER 0 ++#define CONFIG_CPIA_DECODER 0 ++#define CONFIG_CRI_DECODER 0 ++#define CONFIG_CSCD_DECODER 0 ++#define CONFIG_CYUV_DECODER 0 ++#define CONFIG_DDS_DECODER 0 ++#define CONFIG_DFA_DECODER 0 ++#define CONFIG_DIRAC_DECODER 0 ++#define CONFIG_DNXHD_DECODER 0 ++#define CONFIG_DPX_DECODER 0 ++#define CONFIG_DSICINVIDEO_DECODER 0 ++#define CONFIG_DVAUDIO_DECODER 0 ++#define CONFIG_DVVIDEO_DECODER 0 ++#define CONFIG_DXA_DECODER 0 ++#define CONFIG_DXTORY_DECODER 0 ++#define CONFIG_DXV_DECODER 0 ++#define CONFIG_EACMV_DECODER 0 ++#define CONFIG_EAMAD_DECODER 0 ++#define CONFIG_EATGQ_DECODER 0 ++#define CONFIG_EATGV_DECODER 0 ++#define CONFIG_EATQI_DECODER 0 ++#define CONFIG_EIGHTBPS_DECODER 0 ++#define CONFIG_EIGHTSVX_EXP_DECODER 0 ++#define CONFIG_EIGHTSVX_FIB_DECODER 0 ++#define CONFIG_ESCAPE124_DECODER 0 ++#define CONFIG_ESCAPE130_DECODER 0 ++#define CONFIG_EXR_DECODER 0 ++#define CONFIG_FFV1_DECODER 0 ++#define CONFIG_FFVHUFF_DECODER 0 ++#define CONFIG_FIC_DECODER 0 ++#define CONFIG_FITS_DECODER 0 ++#define CONFIG_FLASHSV_DECODER 0 ++#define CONFIG_FLASHSV2_DECODER 0 ++#define CONFIG_FLIC_DECODER 0 ++#define CONFIG_FLV_DECODER 0 ++#define CONFIG_FMVC_DECODER 0 ++#define CONFIG_FOURXM_DECODER 0 ++#define CONFIG_FRAPS_DECODER 0 ++#define CONFIG_FRWU_DECODER 0 ++#define CONFIG_G2M_DECODER 0 ++#define CONFIG_GDV_DECODER 0 ++#define CONFIG_GEM_DECODER 0 ++#define CONFIG_GIF_DECODER 0 ++#define CONFIG_H261_DECODER 0 ++#define CONFIG_H263_DECODER 0 ++#define CONFIG_H263I_DECODER 0 ++#define CONFIG_H263P_DECODER 0 ++#define CONFIG_H263_V4L2M2M_DECODER 0 ++#define CONFIG_H264_DECODER 1 ++#define CONFIG_H264_CRYSTALHD_DECODER 0 ++#define CONFIG_H264_V4L2M2M_DECODER 0 ++#define CONFIG_H264_MEDIACODEC_DECODER 0 ++#define CONFIG_H264_MMAL_DECODER 0 ++#define CONFIG_H264_QSV_DECODER 0 ++#define CONFIG_H264_RKMPP_DECODER 0 ++#define CONFIG_HAP_DECODER 0 ++#define CONFIG_HEVC_DECODER 0 ++#define CONFIG_HEVC_QSV_DECODER 0 ++#define CONFIG_HEVC_RKMPP_DECODER 0 ++#define CONFIG_HEVC_V4L2M2M_DECODER 0 ++#define CONFIG_HNM4_VIDEO_DECODER 0 ++#define CONFIG_HQ_HQA_DECODER 0 ++#define CONFIG_HQX_DECODER 0 ++#define CONFIG_HUFFYUV_DECODER 0 ++#define CONFIG_HYMT_DECODER 0 ++#define CONFIG_IDCIN_DECODER 0 ++#define CONFIG_IFF_ILBM_DECODER 0 ++#define CONFIG_IMM4_DECODER 0 ++#define CONFIG_IMM5_DECODER 0 ++#define CONFIG_INDEO2_DECODER 0 ++#define CONFIG_INDEO3_DECODER 0 ++#define CONFIG_INDEO4_DECODER 0 ++#define CONFIG_INDEO5_DECODER 0 ++#define CONFIG_INTERPLAY_VIDEO_DECODER 0 ++#define CONFIG_IPU_DECODER 0 ++#define CONFIG_JPEG2000_DECODER 0 ++#define CONFIG_JPEGLS_DECODER 0 ++#define CONFIG_JV_DECODER 0 ++#define CONFIG_KGV1_DECODER 0 ++#define CONFIG_KMVC_DECODER 0 ++#define CONFIG_LAGARITH_DECODER 0 ++#define CONFIG_LOCO_DECODER 0 ++#define CONFIG_LSCR_DECODER 0 ++#define CONFIG_M101_DECODER 0 ++#define CONFIG_MAGICYUV_DECODER 0 ++#define CONFIG_MDEC_DECODER 0 ++#define CONFIG_MIMIC_DECODER 0 ++#define CONFIG_MJPEG_DECODER 0 ++#define CONFIG_MJPEGB_DECODER 0 ++#define CONFIG_MMVIDEO_DECODER 0 ++#define CONFIG_MOBICLIP_DECODER 0 ++#define CONFIG_MOTIONPIXELS_DECODER 0 ++#define CONFIG_MPEG1VIDEO_DECODER 0 ++#define CONFIG_MPEG2VIDEO_DECODER 0 ++#define CONFIG_MPEG4_DECODER 0 ++#define CONFIG_MPEG4_CRYSTALHD_DECODER 0 ++#define CONFIG_MPEG4_V4L2M2M_DECODER 0 ++#define CONFIG_MPEG4_MMAL_DECODER 0 ++#define CONFIG_MPEGVIDEO_DECODER 0 ++#define CONFIG_MPEG1_V4L2M2M_DECODER 0 ++#define CONFIG_MPEG2_MMAL_DECODER 0 ++#define CONFIG_MPEG2_CRYSTALHD_DECODER 0 ++#define CONFIG_MPEG2_V4L2M2M_DECODER 0 ++#define CONFIG_MPEG2_QSV_DECODER 0 ++#define CONFIG_MPEG2_MEDIACODEC_DECODER 0 ++#define CONFIG_MSA1_DECODER 0 ++#define CONFIG_MSCC_DECODER 0 ++#define CONFIG_MSMPEG4V1_DECODER 0 ++#define CONFIG_MSMPEG4V2_DECODER 0 ++#define CONFIG_MSMPEG4V3_DECODER 0 ++#define CONFIG_MSMPEG4_CRYSTALHD_DECODER 0 ++#define CONFIG_MSP2_DECODER 0 ++#define CONFIG_MSRLE_DECODER 0 ++#define CONFIG_MSS1_DECODER 0 ++#define CONFIG_MSS2_DECODER 0 ++#define CONFIG_MSVIDEO1_DECODER 0 ++#define CONFIG_MSZH_DECODER 0 ++#define CONFIG_MTS2_DECODER 0 ++#define CONFIG_MV30_DECODER 0 ++#define CONFIG_MVC1_DECODER 0 ++#define CONFIG_MVC2_DECODER 0 ++#define CONFIG_MVDV_DECODER 0 ++#define CONFIG_MVHA_DECODER 0 ++#define CONFIG_MWSC_DECODER 0 ++#define CONFIG_MXPEG_DECODER 0 ++#define CONFIG_NOTCHLC_DECODER 0 ++#define CONFIG_NUV_DECODER 0 ++#define CONFIG_PAF_VIDEO_DECODER 0 ++#define CONFIG_PAM_DECODER 0 ++#define CONFIG_PBM_DECODER 0 ++#define CONFIG_PCX_DECODER 0 ++#define CONFIG_PFM_DECODER 0 ++#define CONFIG_PGM_DECODER 0 ++#define CONFIG_PGMYUV_DECODER 0 ++#define CONFIG_PGX_DECODER 0 ++#define CONFIG_PHOTOCD_DECODER 0 ++#define CONFIG_PICTOR_DECODER 0 ++#define CONFIG_PIXLET_DECODER 0 ++#define CONFIG_PNG_DECODER 0 ++#define CONFIG_PPM_DECODER 0 ++#define CONFIG_PRORES_DECODER 0 ++#define CONFIG_PROSUMER_DECODER 0 ++#define CONFIG_PSD_DECODER 0 ++#define CONFIG_PTX_DECODER 0 ++#define CONFIG_QDRAW_DECODER 0 ++#define CONFIG_QPEG_DECODER 0 ++#define CONFIG_QTRLE_DECODER 0 ++#define CONFIG_R10K_DECODER 0 ++#define CONFIG_R210_DECODER 0 ++#define CONFIG_RASC_DECODER 0 ++#define CONFIG_RAWVIDEO_DECODER 0 ++#define CONFIG_RL2_DECODER 0 ++#define CONFIG_ROQ_DECODER 0 ++#define CONFIG_RPZA_DECODER 0 ++#define CONFIG_RSCC_DECODER 0 ++#define CONFIG_RV10_DECODER 0 ++#define CONFIG_RV20_DECODER 0 ++#define CONFIG_RV30_DECODER 0 ++#define CONFIG_RV40_DECODER 0 ++#define CONFIG_S302M_DECODER 0 ++#define CONFIG_SANM_DECODER 0 ++#define CONFIG_SCPR_DECODER 0 ++#define CONFIG_SCREENPRESSO_DECODER 0 ++#define CONFIG_SGA_DECODER 0 ++#define CONFIG_SGI_DECODER 0 ++#define CONFIG_SGIRLE_DECODER 0 ++#define CONFIG_SHEERVIDEO_DECODER 0 ++#define CONFIG_SIMBIOSIS_IMX_DECODER 0 ++#define CONFIG_SMACKER_DECODER 0 ++#define CONFIG_SMC_DECODER 0 ++#define CONFIG_SMVJPEG_DECODER 0 ++#define CONFIG_SNOW_DECODER 0 ++#define CONFIG_SP5X_DECODER 0 ++#define CONFIG_SPEEDHQ_DECODER 0 ++#define CONFIG_SPEEX_DECODER 0 ++#define CONFIG_SRGC_DECODER 0 ++#define CONFIG_SUNRAST_DECODER 0 ++#define CONFIG_SVQ1_DECODER 0 ++#define CONFIG_SVQ3_DECODER 0 ++#define CONFIG_TARGA_DECODER 0 ++#define CONFIG_TARGA_Y216_DECODER 0 ++#define CONFIG_TDSC_DECODER 0 ++#define CONFIG_THEORA_DECODER 1 ++#define CONFIG_THP_DECODER 0 ++#define CONFIG_TIERTEXSEQVIDEO_DECODER 0 ++#define CONFIG_TIFF_DECODER 0 ++#define CONFIG_TMV_DECODER 0 ++#define CONFIG_TRUEMOTION1_DECODER 0 ++#define CONFIG_TRUEMOTION2_DECODER 0 ++#define CONFIG_TRUEMOTION2RT_DECODER 0 ++#define CONFIG_TSCC_DECODER 0 ++#define CONFIG_TSCC2_DECODER 0 ++#define CONFIG_TXD_DECODER 0 ++#define CONFIG_ULTI_DECODER 0 ++#define CONFIG_UTVIDEO_DECODER 0 ++#define CONFIG_V210_DECODER 0 ++#define CONFIG_V210X_DECODER 0 ++#define CONFIG_V308_DECODER 0 ++#define CONFIG_V408_DECODER 0 ++#define CONFIG_V410_DECODER 0 ++#define CONFIG_VB_DECODER 0 ++#define CONFIG_VBN_DECODER 0 ++#define CONFIG_VBLE_DECODER 0 ++#define CONFIG_VC1_DECODER 0 ++#define CONFIG_VC1_CRYSTALHD_DECODER 0 ++#define CONFIG_VC1IMAGE_DECODER 0 ++#define CONFIG_VC1_MMAL_DECODER 0 ++#define CONFIG_VC1_QSV_DECODER 0 ++#define CONFIG_VC1_V4L2M2M_DECODER 0 ++#define CONFIG_VCR1_DECODER 0 ++#define CONFIG_VMDVIDEO_DECODER 0 ++#define CONFIG_VMNC_DECODER 0 ++#define CONFIG_VP3_DECODER 1 ++#define CONFIG_VP4_DECODER 0 ++#define CONFIG_VP5_DECODER 0 ++#define CONFIG_VP6_DECODER 0 ++#define CONFIG_VP6A_DECODER 0 ++#define CONFIG_VP6F_DECODER 0 ++#define CONFIG_VP7_DECODER 0 ++#define CONFIG_VP8_DECODER 1 ++#define CONFIG_VP8_RKMPP_DECODER 0 ++#define CONFIG_VP8_V4L2M2M_DECODER 0 ++#define CONFIG_VP9_DECODER 0 ++#define CONFIG_VP9_RKMPP_DECODER 0 ++#define CONFIG_VP9_V4L2M2M_DECODER 0 ++#define CONFIG_VQA_DECODER 0 ++#define CONFIG_WEBP_DECODER 0 ++#define CONFIG_WCMV_DECODER 0 ++#define CONFIG_WRAPPED_AVFRAME_DECODER 0 ++#define CONFIG_WMV1_DECODER 0 ++#define CONFIG_WMV2_DECODER 0 ++#define CONFIG_WMV3_DECODER 0 ++#define CONFIG_WMV3_CRYSTALHD_DECODER 0 ++#define CONFIG_WMV3IMAGE_DECODER 0 ++#define CONFIG_WNV1_DECODER 0 ++#define CONFIG_XAN_WC3_DECODER 0 ++#define CONFIG_XAN_WC4_DECODER 0 ++#define CONFIG_XBM_DECODER 0 ++#define CONFIG_XFACE_DECODER 0 ++#define CONFIG_XL_DECODER 0 ++#define CONFIG_XPM_DECODER 0 ++#define CONFIG_XWD_DECODER 0 ++#define CONFIG_Y41P_DECODER 0 ++#define CONFIG_YLC_DECODER 0 ++#define CONFIG_YOP_DECODER 0 ++#define CONFIG_YUV4_DECODER 0 ++#define CONFIG_ZERO12V_DECODER 0 ++#define CONFIG_ZEROCODEC_DECODER 0 ++#define CONFIG_ZLIB_DECODER 0 ++#define CONFIG_ZMBV_DECODER 0 ++#define CONFIG_AAC_DECODER 1 ++#define CONFIG_AAC_FIXED_DECODER 0 ++#define CONFIG_AAC_LATM_DECODER 0 ++#define CONFIG_AC3_DECODER 0 ++#define CONFIG_AC3_FIXED_DECODER 0 ++#define CONFIG_ACELP_KELVIN_DECODER 0 ++#define CONFIG_ALAC_DECODER 0 ++#define CONFIG_ALS_DECODER 0 ++#define CONFIG_AMRNB_DECODER 0 ++#define CONFIG_AMRWB_DECODER 0 ++#define CONFIG_APE_DECODER 0 ++#define CONFIG_APTX_DECODER 0 ++#define CONFIG_APTX_HD_DECODER 0 ++#define CONFIG_ATRAC1_DECODER 0 ++#define CONFIG_ATRAC3_DECODER 0 ++#define CONFIG_ATRAC3AL_DECODER 0 ++#define CONFIG_ATRAC3P_DECODER 0 ++#define CONFIG_ATRAC3PAL_DECODER 0 ++#define CONFIG_ATRAC9_DECODER 0 ++#define CONFIG_BINKAUDIO_DCT_DECODER 0 ++#define CONFIG_BINKAUDIO_RDFT_DECODER 0 ++#define CONFIG_BMV_AUDIO_DECODER 0 ++#define CONFIG_COOK_DECODER 0 ++#define CONFIG_DCA_DECODER 0 ++#define CONFIG_DFPWM_DECODER 0 ++#define CONFIG_DOLBY_E_DECODER 0 ++#define CONFIG_DSD_LSBF_DECODER 0 ++#define CONFIG_DSD_MSBF_DECODER 0 ++#define CONFIG_DSD_LSBF_PLANAR_DECODER 0 ++#define CONFIG_DSD_MSBF_PLANAR_DECODER 0 ++#define CONFIG_DSICINAUDIO_DECODER 0 ++#define CONFIG_DSS_SP_DECODER 0 ++#define CONFIG_DST_DECODER 0 ++#define CONFIG_EAC3_DECODER 0 ++#define CONFIG_EVRC_DECODER 0 ++#define CONFIG_FASTAUDIO_DECODER 0 ++#define CONFIG_FFWAVESYNTH_DECODER 0 ++#define CONFIG_FLAC_DECODER 1 ++#define CONFIG_G723_1_DECODER 0 ++#define CONFIG_G729_DECODER 0 ++#define CONFIG_GSM_DECODER 0 ++#define CONFIG_GSM_MS_DECODER 0 ++#define CONFIG_HCA_DECODER 0 ++#define CONFIG_HCOM_DECODER 0 ++#define CONFIG_IAC_DECODER 0 ++#define CONFIG_ILBC_DECODER 0 ++#define CONFIG_IMC_DECODER 0 ++#define CONFIG_INTERPLAY_ACM_DECODER 0 ++#define CONFIG_MACE3_DECODER 0 ++#define CONFIG_MACE6_DECODER 0 ++#define CONFIG_METASOUND_DECODER 0 ++#define CONFIG_MLP_DECODER 0 ++#define CONFIG_MP1_DECODER 0 ++#define CONFIG_MP1FLOAT_DECODER 0 ++#define CONFIG_MP2_DECODER 0 ++#define CONFIG_MP2FLOAT_DECODER 0 ++#define CONFIG_MP3FLOAT_DECODER 0 ++#define CONFIG_MP3_DECODER 1 ++#define CONFIG_MP3ADUFLOAT_DECODER 0 ++#define CONFIG_MP3ADU_DECODER 0 ++#define CONFIG_MP3ON4FLOAT_DECODER 0 ++#define CONFIG_MP3ON4_DECODER 0 ++#define CONFIG_MPC7_DECODER 0 ++#define CONFIG_MPC8_DECODER 0 ++#define CONFIG_MSNSIREN_DECODER 0 ++#define CONFIG_NELLYMOSER_DECODER 0 ++#define CONFIG_ON2AVC_DECODER 0 ++#define CONFIG_OPUS_DECODER 0 ++#define CONFIG_PAF_AUDIO_DECODER 0 ++#define CONFIG_QCELP_DECODER 0 ++#define CONFIG_QDM2_DECODER 0 ++#define CONFIG_QDMC_DECODER 0 ++#define CONFIG_RA_144_DECODER 0 ++#define CONFIG_RA_288_DECODER 0 ++#define CONFIG_RALF_DECODER 0 ++#define CONFIG_SBC_DECODER 0 ++#define CONFIG_SHORTEN_DECODER 0 ++#define CONFIG_SIPR_DECODER 0 ++#define CONFIG_SIREN_DECODER 0 ++#define CONFIG_SMACKAUD_DECODER 0 ++#define CONFIG_SONIC_DECODER 0 ++#define CONFIG_TAK_DECODER 0 ++#define CONFIG_TRUEHD_DECODER 0 ++#define CONFIG_TRUESPEECH_DECODER 0 ++#define CONFIG_TTA_DECODER 0 ++#define CONFIG_TWINVQ_DECODER 0 ++#define CONFIG_VMDAUDIO_DECODER 0 ++#define CONFIG_VORBIS_DECODER 1 ++#define CONFIG_WAVPACK_DECODER 0 ++#define CONFIG_WMALOSSLESS_DECODER 0 ++#define CONFIG_WMAPRO_DECODER 0 ++#define CONFIG_WMAV1_DECODER 0 ++#define CONFIG_WMAV2_DECODER 0 ++#define CONFIG_WMAVOICE_DECODER 0 ++#define CONFIG_WS_SND1_DECODER 0 ++#define CONFIG_XMA1_DECODER 0 ++#define CONFIG_XMA2_DECODER 0 ++#define CONFIG_PCM_ALAW_DECODER 1 ++#define CONFIG_PCM_BLURAY_DECODER 0 ++#define CONFIG_PCM_DVD_DECODER 0 ++#define CONFIG_PCM_F16LE_DECODER 0 ++#define CONFIG_PCM_F24LE_DECODER 0 ++#define CONFIG_PCM_F32BE_DECODER 0 ++#define CONFIG_PCM_F32LE_DECODER 1 ++#define CONFIG_PCM_F64BE_DECODER 0 ++#define CONFIG_PCM_F64LE_DECODER 0 ++#define CONFIG_PCM_LXF_DECODER 0 ++#define CONFIG_PCM_MULAW_DECODER 1 ++#define CONFIG_PCM_S8_DECODER 0 ++#define CONFIG_PCM_S8_PLANAR_DECODER 0 ++#define CONFIG_PCM_S16BE_DECODER 1 ++#define CONFIG_PCM_S16BE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S16LE_DECODER 1 ++#define CONFIG_PCM_S16LE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S24BE_DECODER 1 ++#define CONFIG_PCM_S24DAUD_DECODER 0 ++#define CONFIG_PCM_S24LE_DECODER 1 ++#define CONFIG_PCM_S24LE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S32BE_DECODER 0 ++#define CONFIG_PCM_S32LE_DECODER 1 ++#define CONFIG_PCM_S32LE_PLANAR_DECODER 0 ++#define CONFIG_PCM_S64BE_DECODER 0 ++#define CONFIG_PCM_S64LE_DECODER 0 ++#define CONFIG_PCM_SGA_DECODER 0 ++#define CONFIG_PCM_U8_DECODER 1 ++#define CONFIG_PCM_U16BE_DECODER 0 ++#define CONFIG_PCM_U16LE_DECODER 0 ++#define CONFIG_PCM_U24BE_DECODER 0 ++#define CONFIG_PCM_U24LE_DECODER 0 ++#define CONFIG_PCM_U32BE_DECODER 0 ++#define CONFIG_PCM_U32LE_DECODER 0 ++#define CONFIG_PCM_VIDC_DECODER 0 ++#define CONFIG_DERF_DPCM_DECODER 0 ++#define CONFIG_GREMLIN_DPCM_DECODER 0 ++#define CONFIG_INTERPLAY_DPCM_DECODER 0 ++#define CONFIG_ROQ_DPCM_DECODER 0 ++#define CONFIG_SDX2_DPCM_DECODER 0 ++#define CONFIG_SOL_DPCM_DECODER 0 ++#define CONFIG_XAN_DPCM_DECODER 0 ++#define CONFIG_ADPCM_4XM_DECODER 0 ++#define CONFIG_ADPCM_ADX_DECODER 0 ++#define CONFIG_ADPCM_AFC_DECODER 0 ++#define CONFIG_ADPCM_AGM_DECODER 0 ++#define CONFIG_ADPCM_AICA_DECODER 0 ++#define CONFIG_ADPCM_ARGO_DECODER 0 ++#define CONFIG_ADPCM_CT_DECODER 0 ++#define CONFIG_ADPCM_DTK_DECODER 0 ++#define CONFIG_ADPCM_EA_DECODER 0 ++#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 0 ++#define CONFIG_ADPCM_EA_R1_DECODER 0 ++#define CONFIG_ADPCM_EA_R2_DECODER 0 ++#define CONFIG_ADPCM_EA_R3_DECODER 0 ++#define CONFIG_ADPCM_EA_XAS_DECODER 0 ++#define CONFIG_ADPCM_G722_DECODER 0 ++#define CONFIG_ADPCM_G726_DECODER 0 ++#define CONFIG_ADPCM_G726LE_DECODER 0 ++#define CONFIG_ADPCM_IMA_ACORN_DECODER 0 ++#define CONFIG_ADPCM_IMA_AMV_DECODER 0 ++#define CONFIG_ADPCM_IMA_ALP_DECODER 0 ++#define CONFIG_ADPCM_IMA_APC_DECODER 0 ++#define CONFIG_ADPCM_IMA_APM_DECODER 0 ++#define CONFIG_ADPCM_IMA_CUNNING_DECODER 0 ++#define CONFIG_ADPCM_IMA_DAT4_DECODER 0 ++#define CONFIG_ADPCM_IMA_DK3_DECODER 0 ++#define CONFIG_ADPCM_IMA_DK4_DECODER 0 ++#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0 ++#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 0 ++#define CONFIG_ADPCM_IMA_ISS_DECODER 0 ++#define CONFIG_ADPCM_IMA_MOFLEX_DECODER 0 ++#define CONFIG_ADPCM_IMA_MTF_DECODER 0 ++#define CONFIG_ADPCM_IMA_OKI_DECODER 0 ++#define CONFIG_ADPCM_IMA_QT_DECODER 0 ++#define CONFIG_ADPCM_IMA_RAD_DECODER 0 ++#define CONFIG_ADPCM_IMA_SSI_DECODER 0 ++#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 0 ++#define CONFIG_ADPCM_IMA_WAV_DECODER 0 ++#define CONFIG_ADPCM_IMA_WS_DECODER 0 ++#define CONFIG_ADPCM_MS_DECODER 0 ++#define CONFIG_ADPCM_MTAF_DECODER 0 ++#define CONFIG_ADPCM_PSX_DECODER 0 ++#define CONFIG_ADPCM_SBPRO_2_DECODER 0 ++#define CONFIG_ADPCM_SBPRO_3_DECODER 0 ++#define CONFIG_ADPCM_SBPRO_4_DECODER 0 ++#define CONFIG_ADPCM_SWF_DECODER 0 ++#define CONFIG_ADPCM_THP_DECODER 0 ++#define CONFIG_ADPCM_THP_LE_DECODER 0 ++#define CONFIG_ADPCM_VIMA_DECODER 0 ++#define CONFIG_ADPCM_XA_DECODER 0 ++#define CONFIG_ADPCM_YAMAHA_DECODER 0 ++#define CONFIG_ADPCM_ZORK_DECODER 0 ++#define CONFIG_SSA_DECODER 0 ++#define CONFIG_ASS_DECODER 0 ++#define CONFIG_CCAPTION_DECODER 0 ++#define CONFIG_DVBSUB_DECODER 0 ++#define CONFIG_DVDSUB_DECODER 0 ++#define CONFIG_JACOSUB_DECODER 0 ++#define CONFIG_MICRODVD_DECODER 0 ++#define CONFIG_MOVTEXT_DECODER 0 ++#define CONFIG_MPL2_DECODER 0 ++#define CONFIG_PGSSUB_DECODER 0 ++#define CONFIG_PJS_DECODER 0 ++#define CONFIG_REALTEXT_DECODER 0 ++#define CONFIG_SAMI_DECODER 0 ++#define CONFIG_SRT_DECODER 0 ++#define CONFIG_STL_DECODER 0 ++#define CONFIG_SUBRIP_DECODER 0 ++#define CONFIG_SUBVIEWER_DECODER 0 ++#define CONFIG_SUBVIEWER1_DECODER 0 ++#define CONFIG_TEXT_DECODER 0 ++#define CONFIG_VPLAYER_DECODER 0 ++#define CONFIG_WEBVTT_DECODER 0 ++#define CONFIG_XSUB_DECODER 0 ++#define CONFIG_AAC_AT_DECODER 0 ++#define CONFIG_AC3_AT_DECODER 0 ++#define CONFIG_ADPCM_IMA_QT_AT_DECODER 0 ++#define CONFIG_ALAC_AT_DECODER 0 ++#define CONFIG_AMR_NB_AT_DECODER 0 ++#define CONFIG_EAC3_AT_DECODER 0 ++#define CONFIG_GSM_MS_AT_DECODER 0 ++#define CONFIG_ILBC_AT_DECODER 0 ++#define CONFIG_MP1_AT_DECODER 0 ++#define CONFIG_MP2_AT_DECODER 0 ++#define CONFIG_MP3_AT_DECODER 0 ++#define CONFIG_PCM_ALAW_AT_DECODER 0 ++#define CONFIG_PCM_MULAW_AT_DECODER 0 ++#define CONFIG_QDMC_AT_DECODER 0 ++#define CONFIG_QDM2_AT_DECODER 0 ++#define CONFIG_LIBARIBB24_DECODER 0 ++#define CONFIG_LIBCELT_DECODER 0 ++#define CONFIG_LIBCODEC2_DECODER 0 ++#define CONFIG_LIBDAV1D_DECODER 0 ++#define CONFIG_LIBDAVS2_DECODER 0 ++#define CONFIG_LIBFDK_AAC_DECODER 0 ++#define CONFIG_LIBGSM_DECODER 0 ++#define CONFIG_LIBGSM_MS_DECODER 0 ++#define CONFIG_LIBILBC_DECODER 0 ++#define CONFIG_LIBJXL_DECODER 0 ++#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0 ++#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0 ++#define CONFIG_LIBOPENJPEG_DECODER 0 ++#define CONFIG_LIBOPUS_DECODER 1 ++#define CONFIG_LIBRSVG_DECODER 0 ++#define CONFIG_LIBSPEEX_DECODER 0 ++#define CONFIG_LIBUAVS3D_DECODER 0 ++#define CONFIG_LIBVORBIS_DECODER 0 ++#define CONFIG_LIBVPX_VP8_DECODER 0 ++#define CONFIG_LIBVPX_VP9_DECODER 0 ++#define CONFIG_LIBZVBI_TELETEXT_DECODER 0 ++#define CONFIG_BINTEXT_DECODER 0 ++#define CONFIG_XBIN_DECODER 0 ++#define CONFIG_IDF_DECODER 0 ++#define CONFIG_LIBAOM_AV1_DECODER 0 ++#define CONFIG_AV1_DECODER 0 ++#define CONFIG_AV1_CUVID_DECODER 0 ++#define CONFIG_AV1_QSV_DECODER 0 ++#define CONFIG_LIBOPENH264_DECODER 0 ++#define CONFIG_H264_CUVID_DECODER 0 ++#define CONFIG_HEVC_CUVID_DECODER 0 ++#define CONFIG_HEVC_MEDIACODEC_DECODER 0 ++#define CONFIG_MJPEG_CUVID_DECODER 0 ++#define CONFIG_MJPEG_QSV_DECODER 0 ++#define CONFIG_MPEG1_CUVID_DECODER 0 ++#define CONFIG_MPEG2_CUVID_DECODER 0 ++#define CONFIG_MPEG4_CUVID_DECODER 0 ++#define CONFIG_MPEG4_MEDIACODEC_DECODER 0 ++#define CONFIG_VC1_CUVID_DECODER 0 ++#define CONFIG_VP8_CUVID_DECODER 0 ++#define CONFIG_VP8_MEDIACODEC_DECODER 0 ++#define CONFIG_VP8_QSV_DECODER 0 ++#define CONFIG_VP9_CUVID_DECODER 0 ++#define CONFIG_VP9_MEDIACODEC_DECODER 0 ++#define CONFIG_VP9_QSV_DECODER 0 ++#define CONFIG_A64MULTI_ENCODER 0 ++#define CONFIG_A64MULTI5_ENCODER 0 ++#define CONFIG_ALIAS_PIX_ENCODER 0 ++#define CONFIG_AMV_ENCODER 0 ++#define CONFIG_APNG_ENCODER 0 ++#define CONFIG_ASV1_ENCODER 0 ++#define CONFIG_ASV2_ENCODER 0 ++#define CONFIG_AVRP_ENCODER 0 ++#define CONFIG_AVUI_ENCODER 0 ++#define CONFIG_AYUV_ENCODER 0 ++#define CONFIG_BITPACKED_ENCODER 0 ++#define CONFIG_BMP_ENCODER 0 ++#define CONFIG_CFHD_ENCODER 0 ++#define CONFIG_CINEPAK_ENCODER 0 ++#define CONFIG_CLJR_ENCODER 0 ++#define CONFIG_COMFORTNOISE_ENCODER 0 ++#define CONFIG_DNXHD_ENCODER 0 ++#define CONFIG_DPX_ENCODER 0 ++#define CONFIG_DVVIDEO_ENCODER 0 ++#define CONFIG_EXR_ENCODER 0 ++#define CONFIG_FFV1_ENCODER 0 ++#define CONFIG_FFVHUFF_ENCODER 0 ++#define CONFIG_FITS_ENCODER 0 ++#define CONFIG_FLASHSV_ENCODER 0 ++#define CONFIG_FLASHSV2_ENCODER 0 ++#define CONFIG_FLV_ENCODER 0 ++#define CONFIG_GIF_ENCODER 0 ++#define CONFIG_H261_ENCODER 0 ++#define CONFIG_H263_ENCODER 0 ++#define CONFIG_H263P_ENCODER 0 ++#define CONFIG_HAP_ENCODER 0 ++#define CONFIG_HUFFYUV_ENCODER 0 ++#define CONFIG_JPEG2000_ENCODER 0 ++#define CONFIG_JPEGLS_ENCODER 0 ++#define CONFIG_LJPEG_ENCODER 0 ++#define CONFIG_MAGICYUV_ENCODER 0 ++#define CONFIG_MJPEG_ENCODER 0 ++#define CONFIG_MPEG1VIDEO_ENCODER 0 ++#define CONFIG_MPEG2VIDEO_ENCODER 0 ++#define CONFIG_MPEG4_ENCODER 0 ++#define CONFIG_MSMPEG4V2_ENCODER 0 ++#define CONFIG_MSMPEG4V3_ENCODER 0 ++#define CONFIG_MSVIDEO1_ENCODER 0 ++#define CONFIG_PAM_ENCODER 0 ++#define CONFIG_PBM_ENCODER 0 ++#define CONFIG_PCX_ENCODER 0 ++#define CONFIG_PFM_ENCODER 0 ++#define CONFIG_PGM_ENCODER 0 ++#define CONFIG_PGMYUV_ENCODER 0 ++#define CONFIG_PNG_ENCODER 0 ++#define CONFIG_PPM_ENCODER 0 ++#define CONFIG_PRORES_ENCODER 0 ++#define CONFIG_PRORES_AW_ENCODER 0 ++#define CONFIG_PRORES_KS_ENCODER 0 ++#define CONFIG_QTRLE_ENCODER 0 ++#define CONFIG_R10K_ENCODER 0 ++#define CONFIG_R210_ENCODER 0 ++#define CONFIG_RAWVIDEO_ENCODER 0 ++#define CONFIG_ROQ_ENCODER 0 ++#define CONFIG_RPZA_ENCODER 0 ++#define CONFIG_RV10_ENCODER 0 ++#define CONFIG_RV20_ENCODER 0 ++#define CONFIG_S302M_ENCODER 0 ++#define CONFIG_SGI_ENCODER 0 ++#define CONFIG_SMC_ENCODER 0 ++#define CONFIG_SNOW_ENCODER 0 ++#define CONFIG_SPEEDHQ_ENCODER 0 ++#define CONFIG_SUNRAST_ENCODER 0 ++#define CONFIG_SVQ1_ENCODER 0 ++#define CONFIG_TARGA_ENCODER 0 ++#define CONFIG_TIFF_ENCODER 0 ++#define CONFIG_UTVIDEO_ENCODER 0 ++#define CONFIG_V210_ENCODER 0 ++#define CONFIG_V308_ENCODER 0 ++#define CONFIG_V408_ENCODER 0 ++#define CONFIG_V410_ENCODER 0 ++#define CONFIG_VBN_ENCODER 0 ++#define CONFIG_VC2_ENCODER 0 ++#define CONFIG_WRAPPED_AVFRAME_ENCODER 0 ++#define CONFIG_WMV1_ENCODER 0 ++#define CONFIG_WMV2_ENCODER 0 ++#define CONFIG_XBM_ENCODER 0 ++#define CONFIG_XFACE_ENCODER 0 ++#define CONFIG_XWD_ENCODER 0 ++#define CONFIG_Y41P_ENCODER 0 ++#define CONFIG_YUV4_ENCODER 0 ++#define CONFIG_ZLIB_ENCODER 0 ++#define CONFIG_ZMBV_ENCODER 0 ++#define CONFIG_AAC_ENCODER 0 ++#define CONFIG_AC3_ENCODER 0 ++#define CONFIG_AC3_FIXED_ENCODER 0 ++#define CONFIG_ALAC_ENCODER 0 ++#define CONFIG_APTX_ENCODER 0 ++#define CONFIG_APTX_HD_ENCODER 0 ++#define CONFIG_DCA_ENCODER 0 ++#define CONFIG_DFPWM_ENCODER 0 ++#define CONFIG_EAC3_ENCODER 0 ++#define CONFIG_FLAC_ENCODER 0 ++#define CONFIG_G723_1_ENCODER 0 ++#define CONFIG_MLP_ENCODER 0 ++#define CONFIG_MP2_ENCODER 0 ++#define CONFIG_MP2FIXED_ENCODER 0 ++#define CONFIG_NELLYMOSER_ENCODER 0 ++#define CONFIG_OPUS_ENCODER 0 ++#define CONFIG_RA_144_ENCODER 0 ++#define CONFIG_SBC_ENCODER 0 ++#define CONFIG_SONIC_ENCODER 0 ++#define CONFIG_SONIC_LS_ENCODER 0 ++#define CONFIG_TRUEHD_ENCODER 0 ++#define CONFIG_TTA_ENCODER 0 ++#define CONFIG_VORBIS_ENCODER 0 ++#define CONFIG_WAVPACK_ENCODER 0 ++#define CONFIG_WMAV1_ENCODER 0 ++#define CONFIG_WMAV2_ENCODER 0 ++#define CONFIG_PCM_ALAW_ENCODER 0 ++#define CONFIG_PCM_BLURAY_ENCODER 0 ++#define CONFIG_PCM_DVD_ENCODER 0 ++#define CONFIG_PCM_F32BE_ENCODER 0 ++#define CONFIG_PCM_F32LE_ENCODER 0 ++#define CONFIG_PCM_F64BE_ENCODER 0 ++#define CONFIG_PCM_F64LE_ENCODER 0 ++#define CONFIG_PCM_MULAW_ENCODER 0 ++#define CONFIG_PCM_S8_ENCODER 0 ++#define CONFIG_PCM_S8_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S16BE_ENCODER 0 ++#define CONFIG_PCM_S16BE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S16LE_ENCODER 0 ++#define CONFIG_PCM_S16LE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S24BE_ENCODER 0 ++#define CONFIG_PCM_S24DAUD_ENCODER 0 ++#define CONFIG_PCM_S24LE_ENCODER 0 ++#define CONFIG_PCM_S24LE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S32BE_ENCODER 0 ++#define CONFIG_PCM_S32LE_ENCODER 0 ++#define CONFIG_PCM_S32LE_PLANAR_ENCODER 0 ++#define CONFIG_PCM_S64BE_ENCODER 0 ++#define CONFIG_PCM_S64LE_ENCODER 0 ++#define CONFIG_PCM_U8_ENCODER 0 ++#define CONFIG_PCM_U16BE_ENCODER 0 ++#define CONFIG_PCM_U16LE_ENCODER 0 ++#define CONFIG_PCM_U24BE_ENCODER 0 ++#define CONFIG_PCM_U24LE_ENCODER 0 ++#define CONFIG_PCM_U32BE_ENCODER 0 ++#define CONFIG_PCM_U32LE_ENCODER 0 ++#define CONFIG_PCM_VIDC_ENCODER 0 ++#define CONFIG_ROQ_DPCM_ENCODER 0 ++#define CONFIG_ADPCM_ADX_ENCODER 0 ++#define CONFIG_ADPCM_ARGO_ENCODER 0 ++#define CONFIG_ADPCM_G722_ENCODER 0 ++#define CONFIG_ADPCM_G726_ENCODER 0 ++#define CONFIG_ADPCM_G726LE_ENCODER 0 ++#define CONFIG_ADPCM_IMA_AMV_ENCODER 0 ++#define CONFIG_ADPCM_IMA_ALP_ENCODER 0 ++#define CONFIG_ADPCM_IMA_APM_ENCODER 0 ++#define CONFIG_ADPCM_IMA_QT_ENCODER 0 ++#define CONFIG_ADPCM_IMA_SSI_ENCODER 0 ++#define CONFIG_ADPCM_IMA_WAV_ENCODER 0 ++#define CONFIG_ADPCM_IMA_WS_ENCODER 0 ++#define CONFIG_ADPCM_MS_ENCODER 0 ++#define CONFIG_ADPCM_SWF_ENCODER 0 ++#define CONFIG_ADPCM_YAMAHA_ENCODER 0 ++#define CONFIG_SSA_ENCODER 0 ++#define CONFIG_ASS_ENCODER 0 ++#define CONFIG_DVBSUB_ENCODER 0 ++#define CONFIG_DVDSUB_ENCODER 0 ++#define CONFIG_MOVTEXT_ENCODER 0 ++#define CONFIG_SRT_ENCODER 0 ++#define CONFIG_SUBRIP_ENCODER 0 ++#define CONFIG_TEXT_ENCODER 0 ++#define CONFIG_TTML_ENCODER 0 ++#define CONFIG_WEBVTT_ENCODER 0 ++#define CONFIG_XSUB_ENCODER 0 ++#define CONFIG_AAC_AT_ENCODER 0 ++#define CONFIG_ALAC_AT_ENCODER 0 ++#define CONFIG_ILBC_AT_ENCODER 0 ++#define CONFIG_PCM_ALAW_AT_ENCODER 0 ++#define CONFIG_PCM_MULAW_AT_ENCODER 0 ++#define CONFIG_LIBAOM_AV1_ENCODER 0 ++#define CONFIG_LIBCODEC2_ENCODER 0 ++#define CONFIG_LIBFDK_AAC_ENCODER 0 ++#define CONFIG_LIBGSM_ENCODER 0 ++#define CONFIG_LIBGSM_MS_ENCODER 0 ++#define CONFIG_LIBILBC_ENCODER 0 ++#define CONFIG_LIBJXL_ENCODER 0 ++#define CONFIG_LIBMP3LAME_ENCODER 0 ++#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0 ++#define CONFIG_LIBOPENJPEG_ENCODER 0 ++#define CONFIG_LIBOPUS_ENCODER 0 ++#define CONFIG_LIBRAV1E_ENCODER 0 ++#define CONFIG_LIBSHINE_ENCODER 0 ++#define CONFIG_LIBSPEEX_ENCODER 0 ++#define CONFIG_LIBSVTAV1_ENCODER 0 ++#define CONFIG_LIBTHEORA_ENCODER 0 ++#define CONFIG_LIBTWOLAME_ENCODER 0 ++#define CONFIG_LIBVO_AMRWBENC_ENCODER 0 ++#define CONFIG_LIBVORBIS_ENCODER 0 ++#define CONFIG_LIBVPX_VP8_ENCODER 0 ++#define CONFIG_LIBVPX_VP9_ENCODER 0 ++#define CONFIG_LIBWEBP_ANIM_ENCODER 0 ++#define CONFIG_LIBWEBP_ENCODER 0 ++#define CONFIG_LIBX262_ENCODER 0 ++#define CONFIG_LIBX264_ENCODER 0 ++#define CONFIG_LIBX264RGB_ENCODER 0 ++#define CONFIG_LIBX265_ENCODER 0 ++#define CONFIG_LIBXAVS_ENCODER 0 ++#define CONFIG_LIBXAVS2_ENCODER 0 ++#define CONFIG_LIBXVID_ENCODER 0 ++#define CONFIG_AAC_MF_ENCODER 0 ++#define CONFIG_AC3_MF_ENCODER 0 ++#define CONFIG_H263_V4L2M2M_ENCODER 0 ++#define CONFIG_LIBOPENH264_ENCODER 0 ++#define CONFIG_H264_AMF_ENCODER 0 ++#define CONFIG_H264_MF_ENCODER 0 ++#define CONFIG_H264_NVENC_ENCODER 0 ++#define CONFIG_H264_OMX_ENCODER 0 ++#define CONFIG_H264_QSV_ENCODER 0 ++#define CONFIG_H264_V4L2M2M_ENCODER 0 ++#define CONFIG_H264_VAAPI_ENCODER 0 ++#define CONFIG_H264_VIDEOTOOLBOX_ENCODER 0 ++#define CONFIG_HEVC_AMF_ENCODER 0 ++#define CONFIG_HEVC_MF_ENCODER 0 ++#define CONFIG_HEVC_NVENC_ENCODER 0 ++#define CONFIG_HEVC_QSV_ENCODER 0 ++#define CONFIG_HEVC_V4L2M2M_ENCODER 0 ++#define CONFIG_HEVC_VAAPI_ENCODER 0 ++#define CONFIG_HEVC_VIDEOTOOLBOX_ENCODER 0 ++#define CONFIG_LIBKVAZAAR_ENCODER 0 ++#define CONFIG_MJPEG_QSV_ENCODER 0 ++#define CONFIG_MJPEG_VAAPI_ENCODER 0 ++#define CONFIG_MP3_MF_ENCODER 0 ++#define CONFIG_MPEG2_QSV_ENCODER 0 ++#define CONFIG_MPEG2_VAAPI_ENCODER 0 ++#define CONFIG_MPEG4_OMX_ENCODER 0 ++#define CONFIG_MPEG4_V4L2M2M_ENCODER 0 ++#define CONFIG_PRORES_VIDEOTOOLBOX_ENCODER 0 ++#define CONFIG_VP8_V4L2M2M_ENCODER 0 ++#define CONFIG_VP8_VAAPI_ENCODER 0 ++#define CONFIG_VP9_VAAPI_ENCODER 0 ++#define CONFIG_VP9_QSV_ENCODER 0 ++#define CONFIG_AV1_D3D11VA_HWACCEL 0 ++#define CONFIG_AV1_D3D11VA2_HWACCEL 0 ++#define CONFIG_AV1_DXVA2_HWACCEL 0 ++#define CONFIG_AV1_NVDEC_HWACCEL 0 ++#define CONFIG_AV1_VAAPI_HWACCEL 0 ++#define CONFIG_H263_VAAPI_HWACCEL 0 ++#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_H264_D3D11VA_HWACCEL 0 ++#define CONFIG_H264_D3D11VA2_HWACCEL 0 ++#define CONFIG_H264_DXVA2_HWACCEL 0 ++#define CONFIG_H264_NVDEC_HWACCEL 0 ++#define CONFIG_H264_VAAPI_HWACCEL 0 ++#define CONFIG_H264_VDPAU_HWACCEL 0 ++#define CONFIG_H264_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_HEVC_D3D11VA_HWACCEL 0 ++#define CONFIG_HEVC_D3D11VA2_HWACCEL 0 ++#define CONFIG_HEVC_DXVA2_HWACCEL 0 ++#define CONFIG_HEVC_NVDEC_HWACCEL 0 ++#define CONFIG_HEVC_VAAPI_HWACCEL 0 ++#define CONFIG_HEVC_VDPAU_HWACCEL 0 ++#define CONFIG_HEVC_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_MJPEG_NVDEC_HWACCEL 0 ++#define CONFIG_MJPEG_VAAPI_HWACCEL 0 ++#define CONFIG_MPEG1_NVDEC_HWACCEL 0 ++#define CONFIG_MPEG1_VDPAU_HWACCEL 0 ++#define CONFIG_MPEG1_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_MPEG2_D3D11VA_HWACCEL 0 ++#define CONFIG_MPEG2_D3D11VA2_HWACCEL 0 ++#define CONFIG_MPEG2_NVDEC_HWACCEL 0 ++#define CONFIG_MPEG2_DXVA2_HWACCEL 0 ++#define CONFIG_MPEG2_VAAPI_HWACCEL 0 ++#define CONFIG_MPEG2_VDPAU_HWACCEL 0 ++#define CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_MPEG4_NVDEC_HWACCEL 0 ++#define CONFIG_MPEG4_VAAPI_HWACCEL 0 ++#define CONFIG_MPEG4_VDPAU_HWACCEL 0 ++#define CONFIG_MPEG4_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_PRORES_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_VC1_D3D11VA_HWACCEL 0 ++#define CONFIG_VC1_D3D11VA2_HWACCEL 0 ++#define CONFIG_VC1_DXVA2_HWACCEL 0 ++#define CONFIG_VC1_NVDEC_HWACCEL 0 ++#define CONFIG_VC1_VAAPI_HWACCEL 0 ++#define CONFIG_VC1_VDPAU_HWACCEL 0 ++#define CONFIG_VP8_NVDEC_HWACCEL 0 ++#define CONFIG_VP8_VAAPI_HWACCEL 0 ++#define CONFIG_VP9_D3D11VA_HWACCEL 0 ++#define CONFIG_VP9_D3D11VA2_HWACCEL 0 ++#define CONFIG_VP9_DXVA2_HWACCEL 0 ++#define CONFIG_VP9_NVDEC_HWACCEL 0 ++#define CONFIG_VP9_VAAPI_HWACCEL 0 ++#define CONFIG_VP9_VDPAU_HWACCEL 0 ++#define CONFIG_VP9_VIDEOTOOLBOX_HWACCEL 0 ++#define CONFIG_WMV3_D3D11VA_HWACCEL 0 ++#define CONFIG_WMV3_D3D11VA2_HWACCEL 0 ++#define CONFIG_WMV3_DXVA2_HWACCEL 0 ++#define CONFIG_WMV3_NVDEC_HWACCEL 0 ++#define CONFIG_WMV3_VAAPI_HWACCEL 0 ++#define CONFIG_WMV3_VDPAU_HWACCEL 0 ++#define CONFIG_AAC_PARSER 1 ++#define CONFIG_AAC_LATM_PARSER 0 ++#define CONFIG_AC3_PARSER 0 ++#define CONFIG_ADX_PARSER 0 ++#define CONFIG_AMR_PARSER 0 ++#define CONFIG_AV1_PARSER 0 ++#define CONFIG_AVS2_PARSER 0 ++#define CONFIG_AVS3_PARSER 0 ++#define CONFIG_BMP_PARSER 0 ++#define CONFIG_CAVSVIDEO_PARSER 0 ++#define CONFIG_COOK_PARSER 0 ++#define CONFIG_CRI_PARSER 0 ++#define CONFIG_DCA_PARSER 0 ++#define CONFIG_DIRAC_PARSER 0 ++#define CONFIG_DNXHD_PARSER 0 ++#define CONFIG_DOLBY_E_PARSER 0 ++#define CONFIG_DPX_PARSER 0 ++#define CONFIG_DVAUDIO_PARSER 0 ++#define CONFIG_DVBSUB_PARSER 0 ++#define CONFIG_DVDSUB_PARSER 0 ++#define CONFIG_DVD_NAV_PARSER 0 ++#define CONFIG_FLAC_PARSER 1 ++#define CONFIG_G723_1_PARSER 0 ++#define CONFIG_G729_PARSER 0 ++#define CONFIG_GIF_PARSER 0 ++#define CONFIG_GSM_PARSER 0 ++#define CONFIG_H261_PARSER 0 ++#define CONFIG_H263_PARSER 0 ++#define CONFIG_H264_PARSER 1 ++#define CONFIG_HEVC_PARSER 0 ++#define CONFIG_IPU_PARSER 0 ++#define CONFIG_JPEG2000_PARSER 0 ++#define CONFIG_MJPEG_PARSER 0 ++#define CONFIG_MLP_PARSER 0 ++#define CONFIG_MPEG4VIDEO_PARSER 0 ++#define CONFIG_MPEGAUDIO_PARSER 1 ++#define CONFIG_MPEGVIDEO_PARSER 0 ++#define CONFIG_OPUS_PARSER 1 ++#define CONFIG_PNG_PARSER 0 ++#define CONFIG_PNM_PARSER 0 ++#define CONFIG_RV30_PARSER 0 ++#define CONFIG_RV40_PARSER 0 ++#define CONFIG_SBC_PARSER 0 ++#define CONFIG_SIPR_PARSER 0 ++#define CONFIG_TAK_PARSER 0 ++#define CONFIG_VC1_PARSER 0 ++#define CONFIG_VORBIS_PARSER 1 ++#define CONFIG_VP3_PARSER 1 ++#define CONFIG_VP8_PARSER 1 ++#define CONFIG_VP9_PARSER 1 ++#define CONFIG_WEBP_PARSER 0 ++#define CONFIG_XBM_PARSER 0 ++#define CONFIG_XMA_PARSER 0 ++#define CONFIG_ALSA_INDEV 0 ++#define CONFIG_ANDROID_CAMERA_INDEV 0 ++#define CONFIG_AVFOUNDATION_INDEV 0 ++#define CONFIG_BKTR_INDEV 0 ++#define CONFIG_DECKLINK_INDEV 0 ++#define CONFIG_DSHOW_INDEV 0 ++#define CONFIG_FBDEV_INDEV 0 ++#define CONFIG_GDIGRAB_INDEV 0 ++#define CONFIG_IEC61883_INDEV 0 ++#define CONFIG_JACK_INDEV 0 ++#define CONFIG_KMSGRAB_INDEV 0 ++#define CONFIG_LAVFI_INDEV 0 ++#define CONFIG_OPENAL_INDEV 0 ++#define CONFIG_OSS_INDEV 0 ++#define CONFIG_PULSE_INDEV 0 ++#define CONFIG_SNDIO_INDEV 0 ++#define CONFIG_V4L2_INDEV 0 ++#define CONFIG_VFWCAP_INDEV 0 ++#define CONFIG_XCBGRAB_INDEV 0 ++#define CONFIG_LIBCDIO_INDEV 0 ++#define CONFIG_LIBDC1394_INDEV 0 ++#define CONFIG_ALSA_OUTDEV 0 ++#define CONFIG_AUDIOTOOLBOX_OUTDEV 0 ++#define CONFIG_CACA_OUTDEV 0 ++#define CONFIG_DECKLINK_OUTDEV 0 ++#define CONFIG_FBDEV_OUTDEV 0 ++#define CONFIG_OPENGL_OUTDEV 0 ++#define CONFIG_OSS_OUTDEV 0 ++#define CONFIG_PULSE_OUTDEV 0 ++#define CONFIG_SDL2_OUTDEV 0 ++#define CONFIG_SNDIO_OUTDEV 0 ++#define CONFIG_V4L2_OUTDEV 0 ++#define CONFIG_XV_OUTDEV 0 ++#define CONFIG_ABENCH_FILTER 0 ++#define CONFIG_ACOMPRESSOR_FILTER 0 ++#define CONFIG_ACONTRAST_FILTER 0 ++#define CONFIG_ACOPY_FILTER 0 ++#define CONFIG_ACUE_FILTER 0 ++#define CONFIG_ACROSSFADE_FILTER 0 ++#define CONFIG_ACROSSOVER_FILTER 0 ++#define CONFIG_ACRUSHER_FILTER 0 ++#define CONFIG_ADECLICK_FILTER 0 ++#define CONFIG_ADECLIP_FILTER 0 ++#define CONFIG_ADECORRELATE_FILTER 0 ++#define CONFIG_ADELAY_FILTER 0 ++#define CONFIG_ADENORM_FILTER 0 ++#define CONFIG_ADERIVATIVE_FILTER 0 ++#define CONFIG_ADYNAMICEQUALIZER_FILTER 0 ++#define CONFIG_ADYNAMICSMOOTH_FILTER 0 ++#define CONFIG_AECHO_FILTER 0 ++#define CONFIG_AEMPHASIS_FILTER 0 ++#define CONFIG_AEVAL_FILTER 0 ++#define CONFIG_AEXCITER_FILTER 0 ++#define CONFIG_AFADE_FILTER 0 ++#define CONFIG_AFFTDN_FILTER 0 ++#define CONFIG_AFFTFILT_FILTER 0 ++#define CONFIG_AFIR_FILTER 0 ++#define CONFIG_AFORMAT_FILTER 0 ++#define CONFIG_AFREQSHIFT_FILTER 0 ++#define CONFIG_AFWTDN_FILTER 0 ++#define CONFIG_AGATE_FILTER 0 ++#define CONFIG_AIIR_FILTER 0 ++#define CONFIG_AINTEGRAL_FILTER 0 ++#define CONFIG_AINTERLEAVE_FILTER 0 ++#define CONFIG_ALATENCY_FILTER 0 ++#define CONFIG_ALIMITER_FILTER 0 ++#define CONFIG_ALLPASS_FILTER 0 ++#define CONFIG_ALOOP_FILTER 0 ++#define CONFIG_AMERGE_FILTER 0 ++#define CONFIG_AMETADATA_FILTER 0 ++#define CONFIG_AMIX_FILTER 0 ++#define CONFIG_AMULTIPLY_FILTER 0 ++#define CONFIG_ANEQUALIZER_FILTER 0 ++#define CONFIG_ANLMDN_FILTER 0 ++#define CONFIG_ANLMF_FILTER 0 ++#define CONFIG_ANLMS_FILTER 0 ++#define CONFIG_ANULL_FILTER 0 ++#define CONFIG_APAD_FILTER 0 ++#define CONFIG_APERMS_FILTER 0 ++#define CONFIG_APHASER_FILTER 0 ++#define CONFIG_APHASESHIFT_FILTER 0 ++#define CONFIG_APSYCLIP_FILTER 0 ++#define CONFIG_APULSATOR_FILTER 0 ++#define CONFIG_AREALTIME_FILTER 0 ++#define CONFIG_ARESAMPLE_FILTER 0 ++#define CONFIG_AREVERSE_FILTER 0 ++#define CONFIG_ARNNDN_FILTER 0 ++#define CONFIG_ASDR_FILTER 0 ++#define CONFIG_ASEGMENT_FILTER 0 ++#define CONFIG_ASELECT_FILTER 0 ++#define CONFIG_ASENDCMD_FILTER 0 ++#define CONFIG_ASETNSAMPLES_FILTER 0 ++#define CONFIG_ASETPTS_FILTER 0 ++#define CONFIG_ASETRATE_FILTER 0 ++#define CONFIG_ASETTB_FILTER 0 ++#define CONFIG_ASHOWINFO_FILTER 0 ++#define CONFIG_ASIDEDATA_FILTER 0 ++#define CONFIG_ASOFTCLIP_FILTER 0 ++#define CONFIG_ASPECTRALSTATS_FILTER 0 ++#define CONFIG_ASPLIT_FILTER 0 ++#define CONFIG_ASR_FILTER 0 ++#define CONFIG_ASTATS_FILTER 0 ++#define CONFIG_ASTREAMSELECT_FILTER 0 ++#define CONFIG_ASUBBOOST_FILTER 0 ++#define CONFIG_ASUBCUT_FILTER 0 ++#define CONFIG_ASUPERCUT_FILTER 0 ++#define CONFIG_ASUPERPASS_FILTER 0 ++#define CONFIG_ASUPERSTOP_FILTER 0 ++#define CONFIG_ATEMPO_FILTER 0 ++#define CONFIG_ATILT_FILTER 0 ++#define CONFIG_ATRIM_FILTER 0 ++#define CONFIG_AXCORRELATE_FILTER 0 ++#define CONFIG_AZMQ_FILTER 0 ++#define CONFIG_BANDPASS_FILTER 0 ++#define CONFIG_BANDREJECT_FILTER 0 ++#define CONFIG_BASS_FILTER 0 ++#define CONFIG_BIQUAD_FILTER 0 ++#define CONFIG_BS2B_FILTER 0 ++#define CONFIG_CHANNELMAP_FILTER 0 ++#define CONFIG_CHANNELSPLIT_FILTER 0 ++#define CONFIG_CHORUS_FILTER 0 ++#define CONFIG_COMPAND_FILTER 0 ++#define CONFIG_COMPENSATIONDELAY_FILTER 0 ++#define CONFIG_CROSSFEED_FILTER 0 ++#define CONFIG_CRYSTALIZER_FILTER 0 ++#define CONFIG_DCSHIFT_FILTER 0 ++#define CONFIG_DEESSER_FILTER 0 ++#define CONFIG_DIALOGUENHANCE_FILTER 0 ++#define CONFIG_DRMETER_FILTER 0 ++#define CONFIG_DYNAUDNORM_FILTER 0 ++#define CONFIG_EARWAX_FILTER 0 ++#define CONFIG_EBUR128_FILTER 0 ++#define CONFIG_EQUALIZER_FILTER 0 ++#define CONFIG_EXTRASTEREO_FILTER 0 ++#define CONFIG_FIREQUALIZER_FILTER 0 ++#define CONFIG_FLANGER_FILTER 0 ++#define CONFIG_HAAS_FILTER 0 ++#define CONFIG_HDCD_FILTER 0 ++#define CONFIG_HEADPHONE_FILTER 0 ++#define CONFIG_HIGHPASS_FILTER 0 ++#define CONFIG_HIGHSHELF_FILTER 0 ++#define CONFIG_JOIN_FILTER 0 ++#define CONFIG_LADSPA_FILTER 0 ++#define CONFIG_LOUDNORM_FILTER 0 ++#define CONFIG_LOWPASS_FILTER 0 ++#define CONFIG_LOWSHELF_FILTER 0 ++#define CONFIG_LV2_FILTER 0 ++#define CONFIG_MCOMPAND_FILTER 0 ++#define CONFIG_PAN_FILTER 0 ++#define CONFIG_REPLAYGAIN_FILTER 0 ++#define CONFIG_RUBBERBAND_FILTER 0 ++#define CONFIG_SIDECHAINCOMPRESS_FILTER 0 ++#define CONFIG_SIDECHAINGATE_FILTER 0 ++#define CONFIG_SILENCEDETECT_FILTER 0 ++#define CONFIG_SILENCEREMOVE_FILTER 0 ++#define CONFIG_SOFALIZER_FILTER 0 ++#define CONFIG_SPEECHNORM_FILTER 0 ++#define CONFIG_STEREOTOOLS_FILTER 0 ++#define CONFIG_STEREOWIDEN_FILTER 0 ++#define CONFIG_SUPEREQUALIZER_FILTER 0 ++#define CONFIG_SURROUND_FILTER 0 ++#define CONFIG_TREBLE_FILTER 0 ++#define CONFIG_TREMOLO_FILTER 0 ++#define CONFIG_VIBRATO_FILTER 0 ++#define CONFIG_VOLUME_FILTER 0 ++#define CONFIG_VOLUMEDETECT_FILTER 0 ++#define CONFIG_AEVALSRC_FILTER 0 ++#define CONFIG_AFIRSRC_FILTER 0 ++#define CONFIG_ANOISESRC_FILTER 0 ++#define CONFIG_ANULLSRC_FILTER 0 ++#define CONFIG_FLITE_FILTER 0 ++#define CONFIG_HILBERT_FILTER 0 ++#define CONFIG_SINC_FILTER 0 ++#define CONFIG_SINE_FILTER 0 ++#define CONFIG_ANULLSINK_FILTER 0 ++#define CONFIG_ADDROI_FILTER 0 ++#define CONFIG_ALPHAEXTRACT_FILTER 0 ++#define CONFIG_ALPHAMERGE_FILTER 0 ++#define CONFIG_AMPLIFY_FILTER 0 ++#define CONFIG_ASS_FILTER 0 ++#define CONFIG_ATADENOISE_FILTER 0 ++#define CONFIG_AVGBLUR_FILTER 0 ++#define CONFIG_AVGBLUR_OPENCL_FILTER 0 ++#define CONFIG_AVGBLUR_VULKAN_FILTER 0 ++#define CONFIG_BBOX_FILTER 0 ++#define CONFIG_BENCH_FILTER 0 ++#define CONFIG_BILATERAL_FILTER 0 ++#define CONFIG_BITPLANENOISE_FILTER 0 ++#define CONFIG_BLACKDETECT_FILTER 0 ++#define CONFIG_BLACKFRAME_FILTER 0 ++#define CONFIG_BLEND_FILTER 0 ++#define CONFIG_BLEND_VULKAN_FILTER 0 ++#define CONFIG_BLURDETECT_FILTER 0 ++#define CONFIG_BM3D_FILTER 0 ++#define CONFIG_BOXBLUR_FILTER 0 ++#define CONFIG_BOXBLUR_OPENCL_FILTER 0 ++#define CONFIG_BWDIF_FILTER 0 ++#define CONFIG_CAS_FILTER 0 ++#define CONFIG_CHROMABER_VULKAN_FILTER 0 ++#define CONFIG_CHROMAHOLD_FILTER 0 ++#define CONFIG_CHROMAKEY_FILTER 0 ++#define CONFIG_CHROMANR_FILTER 0 ++#define CONFIG_CHROMASHIFT_FILTER 0 ++#define CONFIG_CIESCOPE_FILTER 0 ++#define CONFIG_CODECVIEW_FILTER 0 ++#define CONFIG_COLORBALANCE_FILTER 0 ++#define CONFIG_COLORCHANNELMIXER_FILTER 0 ++#define CONFIG_COLORCONTRAST_FILTER 0 ++#define CONFIG_COLORCORRECT_FILTER 0 ++#define CONFIG_COLORIZE_FILTER 0 ++#define CONFIG_COLORKEY_FILTER 0 ++#define CONFIG_COLORKEY_OPENCL_FILTER 0 ++#define CONFIG_COLORHOLD_FILTER 0 ++#define CONFIG_COLORLEVELS_FILTER 0 ++#define CONFIG_COLORMAP_FILTER 0 ++#define CONFIG_COLORMATRIX_FILTER 0 ++#define CONFIG_COLORSPACE_FILTER 0 ++#define CONFIG_COLORTEMPERATURE_FILTER 0 ++#define CONFIG_CONVOLUTION_FILTER 0 ++#define CONFIG_CONVOLUTION_OPENCL_FILTER 0 ++#define CONFIG_CONVOLVE_FILTER 0 ++#define CONFIG_COPY_FILTER 0 ++#define CONFIG_COREIMAGE_FILTER 0 ++#define CONFIG_COVER_RECT_FILTER 0 ++#define CONFIG_CROP_FILTER 0 ++#define CONFIG_CROPDETECT_FILTER 0 ++#define CONFIG_CUE_FILTER 0 ++#define CONFIG_CURVES_FILTER 0 ++#define CONFIG_DATASCOPE_FILTER 0 ++#define CONFIG_DBLUR_FILTER 0 ++#define CONFIG_DCTDNOIZ_FILTER 0 ++#define CONFIG_DEBAND_FILTER 0 ++#define CONFIG_DEBLOCK_FILTER 0 ++#define CONFIG_DECIMATE_FILTER 0 ++#define CONFIG_DECONVOLVE_FILTER 0 ++#define CONFIG_DEDOT_FILTER 0 ++#define CONFIG_DEFLATE_FILTER 0 ++#define CONFIG_DEFLICKER_FILTER 0 ++#define CONFIG_DEINTERLACE_QSV_FILTER 0 ++#define CONFIG_DEINTERLACE_VAAPI_FILTER 0 ++#define CONFIG_DEJUDDER_FILTER 0 ++#define CONFIG_DELOGO_FILTER 0 ++#define CONFIG_DENOISE_VAAPI_FILTER 0 ++#define CONFIG_DERAIN_FILTER 0 ++#define CONFIG_DESHAKE_FILTER 0 ++#define CONFIG_DESHAKE_OPENCL_FILTER 0 ++#define CONFIG_DESPILL_FILTER 0 ++#define CONFIG_DETELECINE_FILTER 0 ++#define CONFIG_DILATION_FILTER 0 ++#define CONFIG_DILATION_OPENCL_FILTER 0 ++#define CONFIG_DISPLACE_FILTER 0 ++#define CONFIG_DNN_CLASSIFY_FILTER 0 ++#define CONFIG_DNN_DETECT_FILTER 0 ++#define CONFIG_DNN_PROCESSING_FILTER 0 ++#define CONFIG_DOUBLEWEAVE_FILTER 0 ++#define CONFIG_DRAWBOX_FILTER 0 ++#define CONFIG_DRAWGRAPH_FILTER 0 ++#define CONFIG_DRAWGRID_FILTER 0 ++#define CONFIG_DRAWTEXT_FILTER 0 ++#define CONFIG_EDGEDETECT_FILTER 0 ++#define CONFIG_ELBG_FILTER 0 ++#define CONFIG_ENTROPY_FILTER 0 ++#define CONFIG_EPX_FILTER 0 ++#define CONFIG_EQ_FILTER 0 ++#define CONFIG_EROSION_FILTER 0 ++#define CONFIG_EROSION_OPENCL_FILTER 0 ++#define CONFIG_ESTDIF_FILTER 0 ++#define CONFIG_EXPOSURE_FILTER 0 ++#define CONFIG_EXTRACTPLANES_FILTER 0 ++#define CONFIG_FADE_FILTER 0 ++#define CONFIG_FEEDBACK_FILTER 0 ++#define CONFIG_FFTDNOIZ_FILTER 0 ++#define CONFIG_FFTFILT_FILTER 0 ++#define CONFIG_FIELD_FILTER 0 ++#define CONFIG_FIELDHINT_FILTER 0 ++#define CONFIG_FIELDMATCH_FILTER 0 ++#define CONFIG_FIELDORDER_FILTER 0 ++#define CONFIG_FILLBORDERS_FILTER 0 ++#define CONFIG_FIND_RECT_FILTER 0 ++#define CONFIG_FLIP_VULKAN_FILTER 0 ++#define CONFIG_FLOODFILL_FILTER 0 ++#define CONFIG_FORMAT_FILTER 0 ++#define CONFIG_FPS_FILTER 0 ++#define CONFIG_FRAMEPACK_FILTER 0 ++#define CONFIG_FRAMERATE_FILTER 0 ++#define CONFIG_FRAMESTEP_FILTER 0 ++#define CONFIG_FREEZEDETECT_FILTER 0 ++#define CONFIG_FREEZEFRAMES_FILTER 0 ++#define CONFIG_FREI0R_FILTER 0 ++#define CONFIG_FSPP_FILTER 0 ++#define CONFIG_GBLUR_FILTER 0 ++#define CONFIG_GBLUR_VULKAN_FILTER 0 ++#define CONFIG_GEQ_FILTER 0 ++#define CONFIG_GRADFUN_FILTER 0 ++#define CONFIG_GRAPHMONITOR_FILTER 0 ++#define CONFIG_GRAYWORLD_FILTER 0 ++#define CONFIG_GREYEDGE_FILTER 0 ++#define CONFIG_GUIDED_FILTER 0 ++#define CONFIG_HALDCLUT_FILTER 0 ++#define CONFIG_HFLIP_FILTER 0 ++#define CONFIG_HFLIP_VULKAN_FILTER 0 ++#define CONFIG_HISTEQ_FILTER 0 ++#define CONFIG_HISTOGRAM_FILTER 0 ++#define CONFIG_HQDN3D_FILTER 0 ++#define CONFIG_HQX_FILTER 0 ++#define CONFIG_HSTACK_FILTER 0 ++#define CONFIG_HSVHOLD_FILTER 0 ++#define CONFIG_HSVKEY_FILTER 0 ++#define CONFIG_HUE_FILTER 0 ++#define CONFIG_HUESATURATION_FILTER 0 ++#define CONFIG_HWDOWNLOAD_FILTER 0 ++#define CONFIG_HWMAP_FILTER 0 ++#define CONFIG_HWUPLOAD_FILTER 0 ++#define CONFIG_HWUPLOAD_CUDA_FILTER 0 ++#define CONFIG_HYSTERESIS_FILTER 0 ++#define CONFIG_ICCDETECT_FILTER 0 ++#define CONFIG_ICCGEN_FILTER 0 ++#define CONFIG_IDENTITY_FILTER 0 ++#define CONFIG_IDET_FILTER 0 ++#define CONFIG_IL_FILTER 0 ++#define CONFIG_INFLATE_FILTER 0 ++#define CONFIG_INTERLACE_FILTER 0 ++#define CONFIG_INTERLEAVE_FILTER 0 ++#define CONFIG_KERNDEINT_FILTER 0 ++#define CONFIG_KIRSCH_FILTER 0 ++#define CONFIG_LAGFUN_FILTER 0 ++#define CONFIG_LATENCY_FILTER 0 ++#define CONFIG_LENSCORRECTION_FILTER 0 ++#define CONFIG_LENSFUN_FILTER 0 ++#define CONFIG_LIBPLACEBO_FILTER 0 ++#define CONFIG_LIBVMAF_FILTER 0 ++#define CONFIG_LIMITDIFF_FILTER 0 ++#define CONFIG_LIMITER_FILTER 0 ++#define CONFIG_LOOP_FILTER 0 ++#define CONFIG_LUMAKEY_FILTER 0 ++#define CONFIG_LUT_FILTER 0 ++#define CONFIG_LUT1D_FILTER 0 ++#define CONFIG_LUT2_FILTER 0 ++#define CONFIG_LUT3D_FILTER 0 ++#define CONFIG_LUTRGB_FILTER 0 ++#define CONFIG_LUTYUV_FILTER 0 ++#define CONFIG_MASKEDCLAMP_FILTER 0 ++#define CONFIG_MASKEDMAX_FILTER 0 ++#define CONFIG_MASKEDMERGE_FILTER 0 ++#define CONFIG_MASKEDMIN_FILTER 0 ++#define CONFIG_MASKEDTHRESHOLD_FILTER 0 ++#define CONFIG_MASKFUN_FILTER 0 ++#define CONFIG_MCDEINT_FILTER 0 ++#define CONFIG_MEDIAN_FILTER 0 ++#define CONFIG_MERGEPLANES_FILTER 0 ++#define CONFIG_MESTIMATE_FILTER 0 ++#define CONFIG_METADATA_FILTER 0 ++#define CONFIG_MIDEQUALIZER_FILTER 0 ++#define CONFIG_MINTERPOLATE_FILTER 0 ++#define CONFIG_MIX_FILTER 0 ++#define CONFIG_MONOCHROME_FILTER 0 ++#define CONFIG_MORPHO_FILTER 0 ++#define CONFIG_MPDECIMATE_FILTER 0 ++#define CONFIG_MSAD_FILTER 0 ++#define CONFIG_MULTIPLY_FILTER 0 ++#define CONFIG_NEGATE_FILTER 0 ++#define CONFIG_NLMEANS_FILTER 0 ++#define CONFIG_NLMEANS_OPENCL_FILTER 0 ++#define CONFIG_NNEDI_FILTER 0 ++#define CONFIG_NOFORMAT_FILTER 0 ++#define CONFIG_NOISE_FILTER 0 ++#define CONFIG_NORMALIZE_FILTER 0 ++#define CONFIG_NULL_FILTER 0 ++#define CONFIG_OCR_FILTER 0 ++#define CONFIG_OCV_FILTER 0 ++#define CONFIG_OSCILLOSCOPE_FILTER 0 ++#define CONFIG_OVERLAY_FILTER 0 ++#define CONFIG_OVERLAY_OPENCL_FILTER 0 ++#define CONFIG_OVERLAY_QSV_FILTER 0 ++#define CONFIG_OVERLAY_VAAPI_FILTER 0 ++#define CONFIG_OVERLAY_VULKAN_FILTER 0 ++#define CONFIG_OVERLAY_CUDA_FILTER 0 ++#define CONFIG_OWDENOISE_FILTER 0 ++#define CONFIG_PAD_FILTER 0 ++#define CONFIG_PAD_OPENCL_FILTER 0 ++#define CONFIG_PALETTEGEN_FILTER 0 ++#define CONFIG_PALETTEUSE_FILTER 0 ++#define CONFIG_PERMS_FILTER 0 ++#define CONFIG_PERSPECTIVE_FILTER 0 ++#define CONFIG_PHASE_FILTER 0 ++#define CONFIG_PHOTOSENSITIVITY_FILTER 0 ++#define CONFIG_PIXDESCTEST_FILTER 0 ++#define CONFIG_PIXELIZE_FILTER 0 ++#define CONFIG_PIXSCOPE_FILTER 0 ++#define CONFIG_PP_FILTER 0 ++#define CONFIG_PP7_FILTER 0 ++#define CONFIG_PREMULTIPLY_FILTER 0 ++#define CONFIG_PREWITT_FILTER 0 ++#define CONFIG_PREWITT_OPENCL_FILTER 0 ++#define CONFIG_PROCAMP_VAAPI_FILTER 0 ++#define CONFIG_PROGRAM_OPENCL_FILTER 0 ++#define CONFIG_PSEUDOCOLOR_FILTER 0 ++#define CONFIG_PSNR_FILTER 0 ++#define CONFIG_PULLUP_FILTER 0 ++#define CONFIG_QP_FILTER 0 ++#define CONFIG_RANDOM_FILTER 0 ++#define CONFIG_READEIA608_FILTER 0 ++#define CONFIG_READVITC_FILTER 0 ++#define CONFIG_REALTIME_FILTER 0 ++#define CONFIG_REMAP_FILTER 0 ++#define CONFIG_REMOVEGRAIN_FILTER 0 ++#define CONFIG_REMOVELOGO_FILTER 0 ++#define CONFIG_REPEATFIELDS_FILTER 0 ++#define CONFIG_REVERSE_FILTER 0 ++#define CONFIG_RGBASHIFT_FILTER 0 ++#define CONFIG_ROBERTS_FILTER 0 ++#define CONFIG_ROBERTS_OPENCL_FILTER 0 ++#define CONFIG_ROTATE_FILTER 0 ++#define CONFIG_SAB_FILTER 0 ++#define CONFIG_SCALE_FILTER 0 ++#define CONFIG_SCALE_CUDA_FILTER 0 ++#define CONFIG_SCALE_NPP_FILTER 0 ++#define CONFIG_SCALE_QSV_FILTER 0 ++#define CONFIG_SCALE_VAAPI_FILTER 0 ++#define CONFIG_SCALE_VULKAN_FILTER 0 ++#define CONFIG_SCALE2REF_FILTER 0 ++#define CONFIG_SCALE2REF_NPP_FILTER 0 ++#define CONFIG_SCDET_FILTER 0 ++#define CONFIG_SCHARR_FILTER 0 ++#define CONFIG_SCROLL_FILTER 0 ++#define CONFIG_SEGMENT_FILTER 0 ++#define CONFIG_SELECT_FILTER 0 ++#define CONFIG_SELECTIVECOLOR_FILTER 0 ++#define CONFIG_SENDCMD_FILTER 0 ++#define CONFIG_SEPARATEFIELDS_FILTER 0 ++#define CONFIG_SETDAR_FILTER 0 ++#define CONFIG_SETFIELD_FILTER 0 ++#define CONFIG_SETPARAMS_FILTER 0 ++#define CONFIG_SETPTS_FILTER 0 ++#define CONFIG_SETRANGE_FILTER 0 ++#define CONFIG_SETSAR_FILTER 0 ++#define CONFIG_SETTB_FILTER 0 ++#define CONFIG_SHARPEN_NPP_FILTER 0 ++#define CONFIG_SHARPNESS_VAAPI_FILTER 0 ++#define CONFIG_SHEAR_FILTER 0 ++#define CONFIG_SHOWINFO_FILTER 0 ++#define CONFIG_SHOWPALETTE_FILTER 0 ++#define CONFIG_SHUFFLEFRAMES_FILTER 0 ++#define CONFIG_SHUFFLEPIXELS_FILTER 0 ++#define CONFIG_SHUFFLEPLANES_FILTER 0 ++#define CONFIG_SIDEDATA_FILTER 0 ++#define CONFIG_SIGNALSTATS_FILTER 0 ++#define CONFIG_SIGNATURE_FILTER 0 ++#define CONFIG_SITI_FILTER 0 ++#define CONFIG_SMARTBLUR_FILTER 0 ++#define CONFIG_SOBEL_FILTER 0 ++#define CONFIG_SOBEL_OPENCL_FILTER 0 ++#define CONFIG_SPLIT_FILTER 0 ++#define CONFIG_SPP_FILTER 0 ++#define CONFIG_SR_FILTER 0 ++#define CONFIG_SSIM_FILTER 0 ++#define CONFIG_STEREO3D_FILTER 0 ++#define CONFIG_STREAMSELECT_FILTER 0 ++#define CONFIG_SUBTITLES_FILTER 0 ++#define CONFIG_SUPER2XSAI_FILTER 0 ++#define CONFIG_SWAPRECT_FILTER 0 ++#define CONFIG_SWAPUV_FILTER 0 ++#define CONFIG_TBLEND_FILTER 0 ++#define CONFIG_TELECINE_FILTER 0 ++#define CONFIG_THISTOGRAM_FILTER 0 ++#define CONFIG_THRESHOLD_FILTER 0 ++#define CONFIG_THUMBNAIL_FILTER 0 ++#define CONFIG_THUMBNAIL_CUDA_FILTER 0 ++#define CONFIG_TILE_FILTER 0 ++#define CONFIG_TINTERLACE_FILTER 0 ++#define CONFIG_TLUT2_FILTER 0 ++#define CONFIG_TMEDIAN_FILTER 0 ++#define CONFIG_TMIDEQUALIZER_FILTER 0 ++#define CONFIG_TMIX_FILTER 0 ++#define CONFIG_TONEMAP_FILTER 0 ++#define CONFIG_TONEMAP_OPENCL_FILTER 0 ++#define CONFIG_TONEMAP_VAAPI_FILTER 0 ++#define CONFIG_TPAD_FILTER 0 ++#define CONFIG_TRANSPOSE_FILTER 0 ++#define CONFIG_TRANSPOSE_NPP_FILTER 0 ++#define CONFIG_TRANSPOSE_OPENCL_FILTER 0 ++#define CONFIG_TRANSPOSE_VAAPI_FILTER 0 ++#define CONFIG_TRANSPOSE_VULKAN_FILTER 0 ++#define CONFIG_TRIM_FILTER 0 ++#define CONFIG_UNPREMULTIPLY_FILTER 0 ++#define CONFIG_UNSHARP_FILTER 0 ++#define CONFIG_UNSHARP_OPENCL_FILTER 0 ++#define CONFIG_UNTILE_FILTER 0 ++#define CONFIG_USPP_FILTER 0 ++#define CONFIG_V360_FILTER 0 ++#define CONFIG_VAGUEDENOISER_FILTER 0 ++#define CONFIG_VARBLUR_FILTER 0 ++#define CONFIG_VECTORSCOPE_FILTER 0 ++#define CONFIG_VFLIP_FILTER 0 ++#define CONFIG_VFLIP_VULKAN_FILTER 0 ++#define CONFIG_VFRDET_FILTER 0 ++#define CONFIG_VIBRANCE_FILTER 0 ++#define CONFIG_VIDSTABDETECT_FILTER 0 ++#define CONFIG_VIDSTABTRANSFORM_FILTER 0 ++#define CONFIG_VIF_FILTER 0 ++#define CONFIG_VIGNETTE_FILTER 0 ++#define CONFIG_VMAFMOTION_FILTER 0 ++#define CONFIG_VPP_QSV_FILTER 0 ++#define CONFIG_VSTACK_FILTER 0 ++#define CONFIG_W3FDIF_FILTER 0 ++#define CONFIG_WAVEFORM_FILTER 0 ++#define CONFIG_WEAVE_FILTER 0 ++#define CONFIG_XBR_FILTER 0 ++#define CONFIG_XCORRELATE_FILTER 0 ++#define CONFIG_XFADE_FILTER 0 ++#define CONFIG_XFADE_OPENCL_FILTER 0 ++#define CONFIG_XMEDIAN_FILTER 0 ++#define CONFIG_XSTACK_FILTER 0 ++#define CONFIG_YADIF_FILTER 0 ++#define CONFIG_YADIF_CUDA_FILTER 0 ++#define CONFIG_YADIF_VIDEOTOOLBOX_FILTER 0 ++#define CONFIG_YAEPBLUR_FILTER 0 ++#define CONFIG_ZMQ_FILTER 0 ++#define CONFIG_ZOOMPAN_FILTER 0 ++#define CONFIG_ZSCALE_FILTER 0 ++#define CONFIG_ALLRGB_FILTER 0 ++#define CONFIG_ALLYUV_FILTER 0 ++#define CONFIG_CELLAUTO_FILTER 0 ++#define CONFIG_COLOR_FILTER 0 ++#define CONFIG_COLORCHART_FILTER 0 ++#define CONFIG_COLORSPECTRUM_FILTER 0 ++#define CONFIG_COREIMAGESRC_FILTER 0 ++#define CONFIG_FREI0R_SRC_FILTER 0 ++#define CONFIG_GRADIENTS_FILTER 0 ++#define CONFIG_HALDCLUTSRC_FILTER 0 ++#define CONFIG_LIFE_FILTER 0 ++#define CONFIG_MANDELBROT_FILTER 0 ++#define CONFIG_MPTESTSRC_FILTER 0 ++#define CONFIG_NULLSRC_FILTER 0 ++#define CONFIG_OPENCLSRC_FILTER 0 ++#define CONFIG_PAL75BARS_FILTER 0 ++#define CONFIG_PAL100BARS_FILTER 0 ++#define CONFIG_RGBTESTSRC_FILTER 0 ++#define CONFIG_SIERPINSKI_FILTER 0 ++#define CONFIG_SMPTEBARS_FILTER 0 ++#define CONFIG_SMPTEHDBARS_FILTER 0 ++#define CONFIG_TESTSRC_FILTER 0 ++#define CONFIG_TESTSRC2_FILTER 0 ++#define CONFIG_YUVTESTSRC_FILTER 0 ++#define CONFIG_NULLSINK_FILTER 0 ++#define CONFIG_ABITSCOPE_FILTER 0 ++#define CONFIG_ADRAWGRAPH_FILTER 0 ++#define CONFIG_AGRAPHMONITOR_FILTER 0 ++#define CONFIG_AHISTOGRAM_FILTER 0 ++#define CONFIG_APHASEMETER_FILTER 0 ++#define CONFIG_AVECTORSCOPE_FILTER 0 ++#define CONFIG_CONCAT_FILTER 0 ++#define CONFIG_SHOWCQT_FILTER 0 ++#define CONFIG_SHOWFREQS_FILTER 0 ++#define CONFIG_SHOWSPATIAL_FILTER 0 ++#define CONFIG_SHOWSPECTRUM_FILTER 0 ++#define CONFIG_SHOWSPECTRUMPIC_FILTER 0 ++#define CONFIG_SHOWVOLUME_FILTER 0 ++#define CONFIG_SHOWWAVES_FILTER 0 ++#define CONFIG_SHOWWAVESPIC_FILTER 0 ++#define CONFIG_SPECTRUMSYNTH_FILTER 0 ++#define CONFIG_AVSYNCTEST_FILTER 0 ++#define CONFIG_AMOVIE_FILTER 0 ++#define CONFIG_MOVIE_FILTER 0 ++#define CONFIG_AFIFO_FILTER 0 ++#define CONFIG_FIFO_FILTER 0 ++#define CONFIG_AA_DEMUXER 0 ++#define CONFIG_AAC_DEMUXER 1 ++#define CONFIG_AAX_DEMUXER 0 ++#define CONFIG_AC3_DEMUXER 0 ++#define CONFIG_ACE_DEMUXER 0 ++#define CONFIG_ACM_DEMUXER 0 ++#define CONFIG_ACT_DEMUXER 0 ++#define CONFIG_ADF_DEMUXER 0 ++#define CONFIG_ADP_DEMUXER 0 ++#define CONFIG_ADS_DEMUXER 0 ++#define CONFIG_ADX_DEMUXER 0 ++#define CONFIG_AEA_DEMUXER 0 ++#define CONFIG_AFC_DEMUXER 0 ++#define CONFIG_AIFF_DEMUXER 0 ++#define CONFIG_AIX_DEMUXER 0 ++#define CONFIG_ALP_DEMUXER 0 ++#define CONFIG_AMR_DEMUXER 0 ++#define CONFIG_AMRNB_DEMUXER 0 ++#define CONFIG_AMRWB_DEMUXER 0 ++#define CONFIG_ANM_DEMUXER 0 ++#define CONFIG_APC_DEMUXER 0 ++#define CONFIG_APE_DEMUXER 0 ++#define CONFIG_APM_DEMUXER 0 ++#define CONFIG_APNG_DEMUXER 0 ++#define CONFIG_APTX_DEMUXER 0 ++#define CONFIG_APTX_HD_DEMUXER 0 ++#define CONFIG_AQTITLE_DEMUXER 0 ++#define CONFIG_ARGO_ASF_DEMUXER 0 ++#define CONFIG_ARGO_BRP_DEMUXER 0 ++#define CONFIG_ARGO_CVG_DEMUXER 0 ++#define CONFIG_ASF_DEMUXER 0 ++#define CONFIG_ASF_O_DEMUXER 0 ++#define CONFIG_ASS_DEMUXER 0 ++#define CONFIG_AST_DEMUXER 0 ++#define CONFIG_AU_DEMUXER 0 ++#define CONFIG_AV1_DEMUXER 0 ++#define CONFIG_AVI_DEMUXER 0 ++#define CONFIG_AVISYNTH_DEMUXER 0 ++#define CONFIG_AVR_DEMUXER 0 ++#define CONFIG_AVS_DEMUXER 0 ++#define CONFIG_AVS2_DEMUXER 0 ++#define CONFIG_AVS3_DEMUXER 0 ++#define CONFIG_BETHSOFTVID_DEMUXER 0 ++#define CONFIG_BFI_DEMUXER 0 ++#define CONFIG_BINTEXT_DEMUXER 0 ++#define CONFIG_BINK_DEMUXER 0 ++#define CONFIG_BINKA_DEMUXER 0 ++#define CONFIG_BIT_DEMUXER 0 ++#define CONFIG_BITPACKED_DEMUXER 0 ++#define CONFIG_BMV_DEMUXER 0 ++#define CONFIG_BFSTM_DEMUXER 0 ++#define CONFIG_BRSTM_DEMUXER 0 ++#define CONFIG_BOA_DEMUXER 0 ++#define CONFIG_C93_DEMUXER 0 ++#define CONFIG_CAF_DEMUXER 0 ++#define CONFIG_CAVSVIDEO_DEMUXER 0 ++#define CONFIG_CDG_DEMUXER 0 ++#define CONFIG_CDXL_DEMUXER 0 ++#define CONFIG_CINE_DEMUXER 0 ++#define CONFIG_CODEC2_DEMUXER 0 ++#define CONFIG_CODEC2RAW_DEMUXER 0 ++#define CONFIG_CONCAT_DEMUXER 0 ++#define CONFIG_DASH_DEMUXER 0 ++#define CONFIG_DATA_DEMUXER 0 ++#define CONFIG_DAUD_DEMUXER 0 ++#define CONFIG_DCSTR_DEMUXER 0 ++#define CONFIG_DERF_DEMUXER 0 ++#define CONFIG_DFA_DEMUXER 0 ++#define CONFIG_DFPWM_DEMUXER 0 ++#define CONFIG_DHAV_DEMUXER 0 ++#define CONFIG_DIRAC_DEMUXER 0 ++#define CONFIG_DNXHD_DEMUXER 0 ++#define CONFIG_DSF_DEMUXER 0 ++#define CONFIG_DSICIN_DEMUXER 0 ++#define CONFIG_DSS_DEMUXER 0 ++#define CONFIG_DTS_DEMUXER 0 ++#define CONFIG_DTSHD_DEMUXER 0 ++#define CONFIG_DV_DEMUXER 0 ++#define CONFIG_DVBSUB_DEMUXER 0 ++#define CONFIG_DVBTXT_DEMUXER 0 ++#define CONFIG_DXA_DEMUXER 0 ++#define CONFIG_EA_DEMUXER 0 ++#define CONFIG_EA_CDATA_DEMUXER 0 ++#define CONFIG_EAC3_DEMUXER 0 ++#define CONFIG_EPAF_DEMUXER 0 ++#define CONFIG_FFMETADATA_DEMUXER 0 ++#define CONFIG_FILMSTRIP_DEMUXER 0 ++#define CONFIG_FITS_DEMUXER 0 ++#define CONFIG_FLAC_DEMUXER 1 ++#define CONFIG_FLIC_DEMUXER 0 ++#define CONFIG_FLV_DEMUXER 0 ++#define CONFIG_LIVE_FLV_DEMUXER 0 ++#define CONFIG_FOURXM_DEMUXER 0 ++#define CONFIG_FRM_DEMUXER 0 ++#define CONFIG_FSB_DEMUXER 0 ++#define CONFIG_FWSE_DEMUXER 0 ++#define CONFIG_G722_DEMUXER 0 ++#define CONFIG_G723_1_DEMUXER 0 ++#define CONFIG_G726_DEMUXER 0 ++#define CONFIG_G726LE_DEMUXER 0 ++#define CONFIG_G729_DEMUXER 0 ++#define CONFIG_GDV_DEMUXER 0 ++#define CONFIG_GENH_DEMUXER 0 ++#define CONFIG_GIF_DEMUXER 0 ++#define CONFIG_GSM_DEMUXER 0 ++#define CONFIG_GXF_DEMUXER 0 ++#define CONFIG_H261_DEMUXER 0 ++#define CONFIG_H263_DEMUXER 0 ++#define CONFIG_H264_DEMUXER 0 ++#define CONFIG_HCA_DEMUXER 0 ++#define CONFIG_HCOM_DEMUXER 0 ++#define CONFIG_HEVC_DEMUXER 0 ++#define CONFIG_HLS_DEMUXER 0 ++#define CONFIG_HNM_DEMUXER 0 ++#define CONFIG_ICO_DEMUXER 0 ++#define CONFIG_IDCIN_DEMUXER 0 ++#define CONFIG_IDF_DEMUXER 0 ++#define CONFIG_IFF_DEMUXER 0 ++#define CONFIG_IFV_DEMUXER 0 ++#define CONFIG_ILBC_DEMUXER 0 ++#define CONFIG_IMAGE2_DEMUXER 0 ++#define CONFIG_IMAGE2PIPE_DEMUXER 0 ++#define CONFIG_IMAGE2_ALIAS_PIX_DEMUXER 0 ++#define CONFIG_IMAGE2_BRENDER_PIX_DEMUXER 0 ++#define CONFIG_IMF_DEMUXER 0 ++#define CONFIG_INGENIENT_DEMUXER 0 ++#define CONFIG_IPMOVIE_DEMUXER 0 ++#define CONFIG_IPU_DEMUXER 0 ++#define CONFIG_IRCAM_DEMUXER 0 ++#define CONFIG_ISS_DEMUXER 0 ++#define CONFIG_IV8_DEMUXER 0 ++#define CONFIG_IVF_DEMUXER 0 ++#define CONFIG_IVR_DEMUXER 0 ++#define CONFIG_JACOSUB_DEMUXER 0 ++#define CONFIG_JV_DEMUXER 0 ++#define CONFIG_KUX_DEMUXER 0 ++#define CONFIG_KVAG_DEMUXER 0 ++#define CONFIG_LMLM4_DEMUXER 0 ++#define CONFIG_LOAS_DEMUXER 0 ++#define CONFIG_LUODAT_DEMUXER 0 ++#define CONFIG_LRC_DEMUXER 0 ++#define CONFIG_LVF_DEMUXER 0 ++#define CONFIG_LXF_DEMUXER 0 ++#define CONFIG_M4V_DEMUXER 0 ++#define CONFIG_MCA_DEMUXER 0 ++#define CONFIG_MCC_DEMUXER 0 ++#define CONFIG_MATROSKA_DEMUXER 1 ++#define CONFIG_MGSTS_DEMUXER 0 ++#define CONFIG_MICRODVD_DEMUXER 0 ++#define CONFIG_MJPEG_DEMUXER 0 ++#define CONFIG_MJPEG_2000_DEMUXER 0 ++#define CONFIG_MLP_DEMUXER 0 ++#define CONFIG_MLV_DEMUXER 0 ++#define CONFIG_MM_DEMUXER 0 ++#define CONFIG_MMF_DEMUXER 0 ++#define CONFIG_MODS_DEMUXER 0 ++#define CONFIG_MOFLEX_DEMUXER 0 ++#define CONFIG_MOV_DEMUXER 1 ++#define CONFIG_MP3_DEMUXER 1 ++#define CONFIG_MPC_DEMUXER 0 ++#define CONFIG_MPC8_DEMUXER 0 ++#define CONFIG_MPEGPS_DEMUXER 0 ++#define CONFIG_MPEGTS_DEMUXER 0 ++#define CONFIG_MPEGTSRAW_DEMUXER 0 ++#define CONFIG_MPEGVIDEO_DEMUXER 0 ++#define CONFIG_MPJPEG_DEMUXER 0 ++#define CONFIG_MPL2_DEMUXER 0 ++#define CONFIG_MPSUB_DEMUXER 0 ++#define CONFIG_MSF_DEMUXER 0 ++#define CONFIG_MSNWC_TCP_DEMUXER 0 ++#define CONFIG_MSP_DEMUXER 0 ++#define CONFIG_MTAF_DEMUXER 0 ++#define CONFIG_MTV_DEMUXER 0 ++#define CONFIG_MUSX_DEMUXER 0 ++#define CONFIG_MV_DEMUXER 0 ++#define CONFIG_MVI_DEMUXER 0 ++#define CONFIG_MXF_DEMUXER 0 ++#define CONFIG_MXG_DEMUXER 0 ++#define CONFIG_NC_DEMUXER 0 ++#define CONFIG_NISTSPHERE_DEMUXER 0 ++#define CONFIG_NSP_DEMUXER 0 ++#define CONFIG_NSV_DEMUXER 0 ++#define CONFIG_NUT_DEMUXER 0 ++#define CONFIG_NUV_DEMUXER 0 ++#define CONFIG_OBU_DEMUXER 0 ++#define CONFIG_OGG_DEMUXER 1 ++#define CONFIG_OMA_DEMUXER 0 ++#define CONFIG_PAF_DEMUXER 0 ++#define CONFIG_PCM_ALAW_DEMUXER 0 ++#define CONFIG_PCM_MULAW_DEMUXER 0 ++#define CONFIG_PCM_VIDC_DEMUXER 0 ++#define CONFIG_PCM_F64BE_DEMUXER 0 ++#define CONFIG_PCM_F64LE_DEMUXER 0 ++#define CONFIG_PCM_F32BE_DEMUXER 0 ++#define CONFIG_PCM_F32LE_DEMUXER 0 ++#define CONFIG_PCM_S32BE_DEMUXER 0 ++#define CONFIG_PCM_S32LE_DEMUXER 0 ++#define CONFIG_PCM_S24BE_DEMUXER 0 ++#define CONFIG_PCM_S24LE_DEMUXER 0 ++#define CONFIG_PCM_S16BE_DEMUXER 0 ++#define CONFIG_PCM_S16LE_DEMUXER 0 ++#define CONFIG_PCM_S8_DEMUXER 0 ++#define CONFIG_PCM_U32BE_DEMUXER 0 ++#define CONFIG_PCM_U32LE_DEMUXER 0 ++#define CONFIG_PCM_U24BE_DEMUXER 0 ++#define CONFIG_PCM_U24LE_DEMUXER 0 ++#define CONFIG_PCM_U16BE_DEMUXER 0 ++#define CONFIG_PCM_U16LE_DEMUXER 0 ++#define CONFIG_PCM_U8_DEMUXER 0 ++#define CONFIG_PJS_DEMUXER 0 ++#define CONFIG_PMP_DEMUXER 0 ++#define CONFIG_PP_BNK_DEMUXER 0 ++#define CONFIG_PVA_DEMUXER 0 ++#define CONFIG_PVF_DEMUXER 0 ++#define CONFIG_QCP_DEMUXER 0 ++#define CONFIG_R3D_DEMUXER 0 ++#define CONFIG_RAWVIDEO_DEMUXER 0 ++#define CONFIG_REALTEXT_DEMUXER 0 ++#define CONFIG_REDSPARK_DEMUXER 0 ++#define CONFIG_RL2_DEMUXER 0 ++#define CONFIG_RM_DEMUXER 0 ++#define CONFIG_ROQ_DEMUXER 0 ++#define CONFIG_RPL_DEMUXER 0 ++#define CONFIG_RSD_DEMUXER 0 ++#define CONFIG_RSO_DEMUXER 0 ++#define CONFIG_RTP_DEMUXER 0 ++#define CONFIG_RTSP_DEMUXER 0 ++#define CONFIG_S337M_DEMUXER 0 ++#define CONFIG_SAMI_DEMUXER 0 ++#define CONFIG_SAP_DEMUXER 0 ++#define CONFIG_SBC_DEMUXER 0 ++#define CONFIG_SBG_DEMUXER 0 ++#define CONFIG_SCC_DEMUXER 0 ++#define CONFIG_SCD_DEMUXER 0 ++#define CONFIG_SDP_DEMUXER 0 ++#define CONFIG_SDR2_DEMUXER 0 ++#define CONFIG_SDS_DEMUXER 0 ++#define CONFIG_SDX_DEMUXER 0 ++#define CONFIG_SEGAFILM_DEMUXER 0 ++#define CONFIG_SER_DEMUXER 0 ++#define CONFIG_SGA_DEMUXER 0 ++#define CONFIG_SHORTEN_DEMUXER 0 ++#define CONFIG_SIFF_DEMUXER 0 ++#define CONFIG_SIMBIOSIS_IMX_DEMUXER 0 ++#define CONFIG_SLN_DEMUXER 0 ++#define CONFIG_SMACKER_DEMUXER 0 ++#define CONFIG_SMJPEG_DEMUXER 0 ++#define CONFIG_SMUSH_DEMUXER 0 ++#define CONFIG_SOL_DEMUXER 0 ++#define CONFIG_SOX_DEMUXER 0 ++#define CONFIG_SPDIF_DEMUXER 0 ++#define CONFIG_SRT_DEMUXER 0 ++#define CONFIG_STR_DEMUXER 0 ++#define CONFIG_STL_DEMUXER 0 ++#define CONFIG_SUBVIEWER1_DEMUXER 0 ++#define CONFIG_SUBVIEWER_DEMUXER 0 ++#define CONFIG_SUP_DEMUXER 0 ++#define CONFIG_SVAG_DEMUXER 0 ++#define CONFIG_SVS_DEMUXER 0 ++#define CONFIG_SWF_DEMUXER 0 ++#define CONFIG_TAK_DEMUXER 0 ++#define CONFIG_TEDCAPTIONS_DEMUXER 0 ++#define CONFIG_THP_DEMUXER 0 ++#define CONFIG_THREEDOSTR_DEMUXER 0 ++#define CONFIG_TIERTEXSEQ_DEMUXER 0 ++#define CONFIG_TMV_DEMUXER 0 ++#define CONFIG_TRUEHD_DEMUXER 0 ++#define CONFIG_TTA_DEMUXER 0 ++#define CONFIG_TXD_DEMUXER 0 ++#define CONFIG_TTY_DEMUXER 0 ++#define CONFIG_TY_DEMUXER 0 ++#define CONFIG_V210_DEMUXER 0 ++#define CONFIG_V210X_DEMUXER 0 ++#define CONFIG_VAG_DEMUXER 0 ++#define CONFIG_VC1_DEMUXER 0 ++#define CONFIG_VC1T_DEMUXER 0 ++#define CONFIG_VIVIDAS_DEMUXER 0 ++#define CONFIG_VIVO_DEMUXER 0 ++#define CONFIG_VMD_DEMUXER 0 ++#define CONFIG_VOBSUB_DEMUXER 0 ++#define CONFIG_VOC_DEMUXER 0 ++#define CONFIG_VPK_DEMUXER 0 ++#define CONFIG_VPLAYER_DEMUXER 0 ++#define CONFIG_VQF_DEMUXER 0 ++#define CONFIG_W64_DEMUXER 0 ++#define CONFIG_WAV_DEMUXER 1 ++#define CONFIG_WC3_DEMUXER 0 ++#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0 ++#define CONFIG_WEBVTT_DEMUXER 0 ++#define CONFIG_WSAUD_DEMUXER 0 ++#define CONFIG_WSD_DEMUXER 0 ++#define CONFIG_WSVQA_DEMUXER 0 ++#define CONFIG_WTV_DEMUXER 0 ++#define CONFIG_WVE_DEMUXER 0 ++#define CONFIG_WV_DEMUXER 0 ++#define CONFIG_XA_DEMUXER 0 ++#define CONFIG_XBIN_DEMUXER 0 ++#define CONFIG_XMV_DEMUXER 0 ++#define CONFIG_XVAG_DEMUXER 0 ++#define CONFIG_XWMA_DEMUXER 0 ++#define CONFIG_YOP_DEMUXER 0 ++#define CONFIG_YUV4MPEGPIPE_DEMUXER 0 ++#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_CRI_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_DDS_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_GEM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_GIF_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_JPEG_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_JPEGLS_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_JPEGXL_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PAM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PBM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PCX_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PGMYUV_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PGM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PGX_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PHOTOCD_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PPM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_PSD_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_QDRAW_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_SVG_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_VBN_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_WEBP_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_XBM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_XPM_PIPE_DEMUXER 0 ++#define CONFIG_IMAGE_XWD_PIPE_DEMUXER 0 ++#define CONFIG_LIBGME_DEMUXER 0 ++#define CONFIG_LIBMODPLUG_DEMUXER 0 ++#define CONFIG_LIBOPENMPT_DEMUXER 0 ++#define CONFIG_VAPOURSYNTH_DEMUXER 0 ++#define CONFIG_A64_MUXER 0 ++#define CONFIG_AC3_MUXER 0 ++#define CONFIG_ADTS_MUXER 0 ++#define CONFIG_ADX_MUXER 0 ++#define CONFIG_AIFF_MUXER 0 ++#define CONFIG_ALP_MUXER 0 ++#define CONFIG_AMR_MUXER 0 ++#define CONFIG_AMV_MUXER 0 ++#define CONFIG_APM_MUXER 0 ++#define CONFIG_APNG_MUXER 0 ++#define CONFIG_APTX_MUXER 0 ++#define CONFIG_APTX_HD_MUXER 0 ++#define CONFIG_ARGO_ASF_MUXER 0 ++#define CONFIG_ARGO_CVG_MUXER 0 ++#define CONFIG_ASF_MUXER 0 ++#define CONFIG_ASS_MUXER 0 ++#define CONFIG_AST_MUXER 0 ++#define CONFIG_ASF_STREAM_MUXER 0 ++#define CONFIG_AU_MUXER 0 ++#define CONFIG_AVI_MUXER 0 ++#define CONFIG_AVIF_MUXER 0 ++#define CONFIG_AVM2_MUXER 0 ++#define CONFIG_AVS2_MUXER 0 ++#define CONFIG_AVS3_MUXER 0 ++#define CONFIG_BIT_MUXER 0 ++#define CONFIG_CAF_MUXER 0 ++#define CONFIG_CAVSVIDEO_MUXER 0 ++#define CONFIG_CODEC2_MUXER 0 ++#define CONFIG_CODEC2RAW_MUXER 0 ++#define CONFIG_CRC_MUXER 0 ++#define CONFIG_DASH_MUXER 0 ++#define CONFIG_DATA_MUXER 0 ++#define CONFIG_DAUD_MUXER 0 ++#define CONFIG_DFPWM_MUXER 0 ++#define CONFIG_DIRAC_MUXER 0 ++#define CONFIG_DNXHD_MUXER 0 ++#define CONFIG_DTS_MUXER 0 ++#define CONFIG_DV_MUXER 0 ++#define CONFIG_EAC3_MUXER 0 ++#define CONFIG_F4V_MUXER 0 ++#define CONFIG_FFMETADATA_MUXER 0 ++#define CONFIG_FIFO_MUXER 0 ++#define CONFIG_FIFO_TEST_MUXER 0 ++#define CONFIG_FILMSTRIP_MUXER 0 ++#define CONFIG_FITS_MUXER 0 ++#define CONFIG_FLAC_MUXER 0 ++#define CONFIG_FLV_MUXER 0 ++#define CONFIG_FRAMECRC_MUXER 0 ++#define CONFIG_FRAMEHASH_MUXER 0 ++#define CONFIG_FRAMEMD5_MUXER 0 ++#define CONFIG_G722_MUXER 0 ++#define CONFIG_G723_1_MUXER 0 ++#define CONFIG_G726_MUXER 0 ++#define CONFIG_G726LE_MUXER 0 ++#define CONFIG_GIF_MUXER 0 ++#define CONFIG_GSM_MUXER 0 ++#define CONFIG_GXF_MUXER 0 ++#define CONFIG_H261_MUXER 0 ++#define CONFIG_H263_MUXER 0 ++#define CONFIG_H264_MUXER 0 ++#define CONFIG_HASH_MUXER 0 ++#define CONFIG_HDS_MUXER 0 ++#define CONFIG_HEVC_MUXER 0 ++#define CONFIG_HLS_MUXER 0 ++#define CONFIG_ICO_MUXER 0 ++#define CONFIG_ILBC_MUXER 0 ++#define CONFIG_IMAGE2_MUXER 0 ++#define CONFIG_IMAGE2PIPE_MUXER 0 ++#define CONFIG_IPOD_MUXER 0 ++#define CONFIG_IRCAM_MUXER 0 ++#define CONFIG_ISMV_MUXER 0 ++#define CONFIG_IVF_MUXER 0 ++#define CONFIG_JACOSUB_MUXER 0 ++#define CONFIG_KVAG_MUXER 0 ++#define CONFIG_LATM_MUXER 0 ++#define CONFIG_LRC_MUXER 0 ++#define CONFIG_M4V_MUXER 0 ++#define CONFIG_MD5_MUXER 0 ++#define CONFIG_MATROSKA_MUXER 0 ++#define CONFIG_MATROSKA_AUDIO_MUXER 0 ++#define CONFIG_MICRODVD_MUXER 0 ++#define CONFIG_MJPEG_MUXER 0 ++#define CONFIG_MLP_MUXER 0 ++#define CONFIG_MMF_MUXER 0 ++#define CONFIG_MOV_MUXER 0 ++#define CONFIG_MP2_MUXER 0 ++#define CONFIG_MP3_MUXER 0 ++#define CONFIG_MP4_MUXER 0 ++#define CONFIG_MPEG1SYSTEM_MUXER 0 ++#define CONFIG_MPEG1VCD_MUXER 0 ++#define CONFIG_MPEG1VIDEO_MUXER 0 ++#define CONFIG_MPEG2DVD_MUXER 0 ++#define CONFIG_MPEG2SVCD_MUXER 0 ++#define CONFIG_MPEG2VIDEO_MUXER 0 ++#define CONFIG_MPEG2VOB_MUXER 0 ++#define CONFIG_MPEGTS_MUXER 0 ++#define CONFIG_MPJPEG_MUXER 0 ++#define CONFIG_MXF_MUXER 0 ++#define CONFIG_MXF_D10_MUXER 0 ++#define CONFIG_MXF_OPATOM_MUXER 0 ++#define CONFIG_NULL_MUXER 0 ++#define CONFIG_NUT_MUXER 0 ++#define CONFIG_OBU_MUXER 0 ++#define CONFIG_OGA_MUXER 0 ++#define CONFIG_OGG_MUXER 0 ++#define CONFIG_OGV_MUXER 0 ++#define CONFIG_OMA_MUXER 0 ++#define CONFIG_OPUS_MUXER 0 ++#define CONFIG_PCM_ALAW_MUXER 0 ++#define CONFIG_PCM_MULAW_MUXER 0 ++#define CONFIG_PCM_VIDC_MUXER 0 ++#define CONFIG_PCM_F64BE_MUXER 0 ++#define CONFIG_PCM_F64LE_MUXER 0 ++#define CONFIG_PCM_F32BE_MUXER 0 ++#define CONFIG_PCM_F32LE_MUXER 0 ++#define CONFIG_PCM_S32BE_MUXER 0 ++#define CONFIG_PCM_S32LE_MUXER 0 ++#define CONFIG_PCM_S24BE_MUXER 0 ++#define CONFIG_PCM_S24LE_MUXER 0 ++#define CONFIG_PCM_S16BE_MUXER 0 ++#define CONFIG_PCM_S16LE_MUXER 0 ++#define CONFIG_PCM_S8_MUXER 0 ++#define CONFIG_PCM_U32BE_MUXER 0 ++#define CONFIG_PCM_U32LE_MUXER 0 ++#define CONFIG_PCM_U24BE_MUXER 0 ++#define CONFIG_PCM_U24LE_MUXER 0 ++#define CONFIG_PCM_U16BE_MUXER 0 ++#define CONFIG_PCM_U16LE_MUXER 0 ++#define CONFIG_PCM_U8_MUXER 0 ++#define CONFIG_PSP_MUXER 0 ++#define CONFIG_RAWVIDEO_MUXER 0 ++#define CONFIG_RM_MUXER 0 ++#define CONFIG_ROQ_MUXER 0 ++#define CONFIG_RSO_MUXER 0 ++#define CONFIG_RTP_MUXER 0 ++#define CONFIG_RTP_MPEGTS_MUXER 0 ++#define CONFIG_RTSP_MUXER 0 ++#define CONFIG_SAP_MUXER 0 ++#define CONFIG_SBC_MUXER 0 ++#define CONFIG_SCC_MUXER 0 ++#define CONFIG_SEGAFILM_MUXER 0 ++#define CONFIG_SEGMENT_MUXER 0 ++#define CONFIG_STREAM_SEGMENT_MUXER 0 ++#define CONFIG_SMJPEG_MUXER 0 ++#define CONFIG_SMOOTHSTREAMING_MUXER 0 ++#define CONFIG_SOX_MUXER 0 ++#define CONFIG_SPX_MUXER 0 ++#define CONFIG_SPDIF_MUXER 0 ++#define CONFIG_SRT_MUXER 0 ++#define CONFIG_STREAMHASH_MUXER 0 ++#define CONFIG_SUP_MUXER 0 ++#define CONFIG_SWF_MUXER 0 ++#define CONFIG_TEE_MUXER 0 ++#define CONFIG_TG2_MUXER 0 ++#define CONFIG_TGP_MUXER 0 ++#define CONFIG_MKVTIMESTAMP_V2_MUXER 0 ++#define CONFIG_TRUEHD_MUXER 0 ++#define CONFIG_TTA_MUXER 0 ++#define CONFIG_TTML_MUXER 0 ++#define CONFIG_UNCODEDFRAMECRC_MUXER 0 ++#define CONFIG_VC1_MUXER 0 ++#define CONFIG_VC1T_MUXER 0 ++#define CONFIG_VOC_MUXER 0 ++#define CONFIG_W64_MUXER 0 ++#define CONFIG_WAV_MUXER 0 ++#define CONFIG_WEBM_MUXER 0 ++#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0 ++#define CONFIG_WEBM_CHUNK_MUXER 0 ++#define CONFIG_WEBP_MUXER 0 ++#define CONFIG_WEBVTT_MUXER 0 ++#define CONFIG_WSAUD_MUXER 0 ++#define CONFIG_WTV_MUXER 0 ++#define CONFIG_WV_MUXER 0 ++#define CONFIG_YUV4MPEGPIPE_MUXER 0 ++#define CONFIG_CHROMAPRINT_MUXER 0 ++#define CONFIG_ASYNC_PROTOCOL 0 ++#define CONFIG_BLURAY_PROTOCOL 0 ++#define CONFIG_CACHE_PROTOCOL 0 ++#define CONFIG_CONCAT_PROTOCOL 0 ++#define CONFIG_CONCATF_PROTOCOL 0 ++#define CONFIG_CRYPTO_PROTOCOL 0 ++#define CONFIG_DATA_PROTOCOL 0 ++#define CONFIG_FFRTMPCRYPT_PROTOCOL 0 ++#define CONFIG_FFRTMPHTTP_PROTOCOL 0 ++#define CONFIG_FILE_PROTOCOL 0 ++#define CONFIG_FTP_PROTOCOL 0 ++#define CONFIG_GOPHER_PROTOCOL 0 ++#define CONFIG_GOPHERS_PROTOCOL 0 ++#define CONFIG_HLS_PROTOCOL 0 ++#define CONFIG_HTTP_PROTOCOL 0 ++#define CONFIG_HTTPPROXY_PROTOCOL 0 ++#define CONFIG_HTTPS_PROTOCOL 0 ++#define CONFIG_ICECAST_PROTOCOL 0 ++#define CONFIG_MMSH_PROTOCOL 0 ++#define CONFIG_MMST_PROTOCOL 0 ++#define CONFIG_MD5_PROTOCOL 0 ++#define CONFIG_PIPE_PROTOCOL 0 ++#define CONFIG_PROMPEG_PROTOCOL 0 ++#define CONFIG_RTMP_PROTOCOL 0 ++#define CONFIG_RTMPE_PROTOCOL 0 ++#define CONFIG_RTMPS_PROTOCOL 0 ++#define CONFIG_RTMPT_PROTOCOL 0 ++#define CONFIG_RTMPTE_PROTOCOL 0 ++#define CONFIG_RTMPTS_PROTOCOL 0 ++#define CONFIG_RTP_PROTOCOL 0 ++#define CONFIG_SCTP_PROTOCOL 0 ++#define CONFIG_SRTP_PROTOCOL 0 ++#define CONFIG_SUBFILE_PROTOCOL 0 ++#define CONFIG_TEE_PROTOCOL 0 ++#define CONFIG_TCP_PROTOCOL 0 ++#define CONFIG_TLS_PROTOCOL 0 ++#define CONFIG_UDP_PROTOCOL 0 ++#define CONFIG_UDPLITE_PROTOCOL 0 ++#define CONFIG_UNIX_PROTOCOL 0 ++#define CONFIG_LIBAMQP_PROTOCOL 0 ++#define CONFIG_LIBRIST_PROTOCOL 0 ++#define CONFIG_LIBRTMP_PROTOCOL 0 ++#define CONFIG_LIBRTMPE_PROTOCOL 0 ++#define CONFIG_LIBRTMPS_PROTOCOL 0 ++#define CONFIG_LIBRTMPT_PROTOCOL 0 ++#define CONFIG_LIBRTMPTE_PROTOCOL 0 ++#define CONFIG_LIBSRT_PROTOCOL 0 ++#define CONFIG_LIBSSH_PROTOCOL 0 ++#define CONFIG_LIBSMBCLIENT_PROTOCOL 0 ++#define CONFIG_LIBZMQ_PROTOCOL 0 ++#define CONFIG_IPFS_PROTOCOL 0 ++#define CONFIG_IPNS_PROTOCOL 0 ++#endif /* FFMPEG_CONFIG_COMPONENTS_H */ diff --git a/www/ungoogled-chromium/files/patch-third__party_ffmpeg_libavcodec_x86_cabac.h b/www/ungoogled-chromium/files/patch-third__party_ffmpeg_libavcodec_x86_cabac.h new file mode 100644 inde |
