diff options
Diffstat (limited to 'devel')
1643 files changed, 48529 insertions, 504 deletions
diff --git a/devel/Makefile b/devel/Makefile index 68f5a8f33539..1e9a4180b102 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -282,7 +282,6 @@ SUBDIR += aws-sdk-php SUBDIR += axmldec SUBDIR += ayatana-ido - SUBDIR += b2 SUBDIR += babelflow SUBDIR += babeltrace SUBDIR += bacnet-stack @@ -641,6 +640,7 @@ SUBDIR += electron30 SUBDIR += electron31 SUBDIR += electron32 + SUBDIR += electron33 SUBDIR += elf SUBDIR += elf-dissector SUBDIR += elfcat @@ -1220,6 +1220,7 @@ SUBDIR += libcdb SUBDIR += libcds SUBDIR += libcfu + SUBDIR += libchdr SUBDIR += libchipcard SUBDIR += libcidr SUBDIR += libcii @@ -4523,6 +4524,7 @@ SUBDIR += py-azure-synapse-artifacts SUBDIR += py-azure-synapse-managedprivateendpoints SUBDIR += py-azure-synapse-spark + SUBDIR += py-b2 SUBDIR += py-b2sdk SUBDIR += py-babel SUBDIR += py-babelfish diff --git a/devel/aws-c-common/Makefile b/devel/aws-c-common/Makefile index 5ccc4721f68c..9d0820ed8f4c 100644 --- a/devel/aws-c-common/Makefile +++ b/devel/aws-c-common/Makefile @@ -1,6 +1,6 @@ PORTNAME= aws-c-common DISTVERSIONPREFIX= v -DISTVERSION= 0.10.0 +DISTVERSION= 0.10.1 PORTEPOCH= 1 CATEGORIES= devel diff --git a/devel/aws-c-common/distinfo b/devel/aws-c-common/distinfo index f3b1734fa20c..c2f1c4e78084 100644 --- a/devel/aws-c-common/distinfo +++ b/devel/aws-c-common/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1729710250 -SHA256 (awslabs-aws-c-common-v0.10.0_GH0.tar.gz) = 1fc7dea83f1d5a4b6fa86e3c8458200ed6e7f69c65707aa7b246900701874ad1 -SIZE (awslabs-aws-c-common-v0.10.0_GH0.tar.gz) = 606374 +TIMESTAMP = 1731485305 +SHA256 (awslabs-aws-c-common-v0.10.1_GH0.tar.gz) = daad44cd59c823ed88fc843f5a5dd18c4011eb39150acb0b0c350bcdd27a6d3c +SIZE (awslabs-aws-c-common-v0.10.1_GH0.tar.gz) = 607332 diff --git a/devel/aws-c-common/pkg-plist b/devel/aws-c-common/pkg-plist index 8a8b1e27b314..f64080001111 100644 --- a/devel/aws-c-common/pkg-plist +++ b/devel/aws-c-common/pkg-plist @@ -65,6 +65,7 @@ include/aws/common/ref_count.h include/aws/common/ring_buffer.h include/aws/common/ring_buffer.inl include/aws/common/rw_lock.h +include/aws/common/shutdown_types.h include/aws/common/statistics.h include/aws/common/stdbool.h include/aws/common/stdint.h diff --git a/devel/aws-c-io/Makefile b/devel/aws-c-io/Makefile index 61ba971d2723..a3dfcf286340 100644 --- a/devel/aws-c-io/Makefile +++ b/devel/aws-c-io/Makefile @@ -1,6 +1,6 @@ PORTNAME= aws-c-io DISTVERSIONPREFIX= v -DISTVERSION= 0.15.1 +DISTVERSION= 0.15.2 CATEGORIES= devel MAINTAINER= eduardo@FreeBSD.org diff --git a/devel/aws-c-io/distinfo b/devel/aws-c-io/distinfo index 7c115b355de5..538e915c0cd6 100644 --- a/devel/aws-c-io/distinfo +++ b/devel/aws-c-io/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1730483847 -SHA256 (awslabs-aws-c-io-v0.15.1_GH0.tar.gz) = 70f119b44f2758fc482872141cb712122f1c3c82fea16d203b7286a98c139a71 -SIZE (awslabs-aws-c-io-v0.15.1_GH0.tar.gz) = 679955 +TIMESTAMP = 1731411587 +SHA256 (awslabs-aws-c-io-v0.15.2_GH0.tar.gz) = 3fab086364bc48997ff6f5809825603f0b88cc892382ce21f5d66ce8996c95ef +SIZE (awslabs-aws-c-io-v0.15.2_GH0.tar.gz) = 679998 diff --git a/devel/aws-checksums/Makefile b/devel/aws-checksums/Makefile index 17d5994797e4..67012685f588 100644 --- a/devel/aws-checksums/Makefile +++ b/devel/aws-checksums/Makefile @@ -1,6 +1,6 @@ PORTNAME= aws-checksums DISTVERSIONPREFIX= v -DISTVERSION= 0.2.0 +DISTVERSION= 0.2.2 PORTEPOCH= 1 CATEGORIES= devel diff --git a/devel/aws-checksums/distinfo b/devel/aws-checksums/distinfo index 059ac62ba609..d25358cb58e0 100644 --- a/devel/aws-checksums/distinfo +++ b/devel/aws-checksums/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1729769378 -SHA256 (awslabs-aws-checksums-v0.2.0_GH0.tar.gz) = aae619de7fb5908a52223eae3b80fae70260eed5919ad4c385b2d5a144a641f0 -SIZE (awslabs-aws-checksums-v0.2.0_GH0.tar.gz) = 112450 +TIMESTAMP = 1731485838 +SHA256 (awslabs-aws-checksums-v0.2.2_GH0.tar.gz) = 96acfea882c06acd5571c845e4968892d6ffc0fae81b31a0b1565100049743b2 +SIZE (awslabs-aws-checksums-v0.2.2_GH0.tar.gz) = 136142 diff --git a/devel/b2/Makefile b/devel/b2/Makefile deleted file mode 100644 index 1390f2c81935..000000000000 --- a/devel/b2/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -PORTNAME= b2 -DISTVERSIONPREFIX= v -DISTVERSION= 1.3.8 -PORTREVISION= 1 -CATEGORIES= devel - -MAINTAINER= leres@FreeBSD.org -COMMENT= Command Line Interface for Backblaze's B2 storage service -WWW= https://www.backblaze.com/b2/docs/quick_command_line.html - -LICENSE= MIT -LICENSE_FILE= ${WRKSRC}/LICENSE - -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}arrow>=0.8.0:devel/py-arrow@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}logfury>=0.1.2:devel/py-logfury@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}requests>=2.9.1:www/py-requests@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}six>=1.10:devel/py-six@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}tqdm>=4.5.0:misc/py-tqdm@${PY_FLAVOR} - -USES= python -USE_PYTHON= distutils autoplist concurrent optsuffix - -CONFLICTS_INSTALL= boost_build - -NO_ARCH= yes - -USE_GITHUB= yes -GH_ACCOUNT= Backblaze -GH_PROJECT= B2_Command_Line_Tool - -.include <bsd.port.mk> diff --git a/devel/b2/distinfo b/devel/b2/distinfo deleted file mode 100644 index 71388002e346..000000000000 --- a/devel/b2/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -TIMESTAMP = 1549472013 -SHA256 (Backblaze-B2_Command_Line_Tool-v1.3.8_GH0.tar.gz) = 2ed276b9eb6796470280e4be27ef96018e338a87efa9cd70115ffbb6b030a6ae -SIZE (Backblaze-B2_Command_Line_Tool-v1.3.8_GH0.tar.gz) = 138948 diff --git a/devel/cargo-mutants/Makefile b/devel/cargo-mutants/Makefile index d9cf4620b6ba..2de1d2372c6d 100644 --- a/devel/cargo-mutants/Makefile +++ b/devel/cargo-mutants/Makefile @@ -1,7 +1,6 @@ PORTNAME= cargo-mutants DISTVERSIONPREFIX= v -DISTVERSION= 24.9.0 -PORTREVISION= 1 +DISTVERSION= 24.11.0 CATEGORIES= devel MAINTAINER= yuri@FreeBSD.org @@ -56,7 +55,7 @@ CARGO_CRATES= aho-corasick-0.7.20 \ colorchoice-1.0.1 \ console-0.15.0 \ core-foundation-sys-0.8.6 \ - cp_r-0.5.1 \ + cp_r-0.5.2 \ crossbeam-channel-0.5.13 \ crossbeam-utils-0.8.20 \ ctor-0.1.26 \ diff --git a/devel/cargo-mutants/distinfo b/devel/cargo-mutants/distinfo index 0ce1b724fe4c..df64dc74d473 100644 --- a/devel/cargo-mutants/distinfo +++ b/devel/cargo-mutants/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1727761293 +TIMESTAMP = 1731400000 SHA256 (rust/crates/aho-corasick-0.7.20.crate) = cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac SIZE (rust/crates/aho-corasick-0.7.20.crate) = 111440 SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 @@ -75,8 +75,8 @@ SHA256 (rust/crates/console-0.15.0.crate) = a28b32d32ca44b70c3e4acd7db1babf555fa SIZE (rust/crates/console-0.15.0.crate) = 23507 SHA256 (rust/crates/core-foundation-sys-0.8.6.crate) = 06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f SIZE (rust/crates/core-foundation-sys-0.8.6.crate) = 37629 -SHA256 (rust/crates/cp_r-0.5.1.crate) = f21d305efe161d2d3179950f5746837215197e774bf7424c12eafc191b63e88a -SIZE (rust/crates/cp_r-0.5.1.crate) = 9891 +SHA256 (rust/crates/cp_r-0.5.2.crate) = 837ca07dfd27a2663ac7c4701bb35856b534c2a61dd47af06ccf65d3bec79ebc +SIZE (rust/crates/cp_r-0.5.2.crate) = 10695 SHA256 (rust/crates/crossbeam-channel-0.5.13.crate) = 33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2 SIZE (rust/crates/crossbeam-channel-0.5.13.crate) = 91174 SHA256 (rust/crates/crossbeam-utils-0.8.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80 @@ -403,5 +403,5 @@ SHA256 (rust/crates/yaml-rust-0.4.5.crate) = 56c1936c4cc7a1c9ab21a1ebb602eb942ba SIZE (rust/crates/yaml-rust-0.4.5.crate) = 47783 SHA256 (rust/crates/yansi-0.5.1.crate) = 09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec SIZE (rust/crates/yansi-0.5.1.crate) = 16525 -SHA256 (sourcefrog-cargo-mutants-v24.9.0_GH0.tar.gz) = 96d2af6b14bbf6179bb79e661b4072983a9bb5aca398ce850ed4915f4309ddbb -SIZE (sourcefrog-cargo-mutants-v24.9.0_GH0.tar.gz) = 228201 +SHA256 (sourcefrog-cargo-mutants-v24.11.0_GH0.tar.gz) = 1a551bda434aad6a59271bf2b1fe00cbe973bc78e185a048fd56e206124bbab5 +SIZE (sourcefrog-cargo-mutants-v24.11.0_GH0.tar.gz) = 210126 diff --git a/devel/cmake-core/Makefile b/devel/cmake-core/Makefile index 2048f1a6092d..632bdc648a07 100644 --- a/devel/cmake-core/Makefile +++ b/devel/cmake-core/Makefile @@ -93,6 +93,7 @@ pre-configure: # or similar options: it expects them to be set in CMake-style # syntax in the initial cache. @${CP} ${WRKDIR}/InitialCache.cmake ${BUILD_WRKSRC} + @${FIND} ${WRKSRC} -name "*.bak" -delete -o -name "*.orig" -delete post-install: ${INSTALL_DATA} ${WRKSRC}/Auxiliary/cmake-mode.el ${STAGEDIR}${PREFIX}/share/emacs/site-lisp diff --git a/devel/electron30/Makefile b/devel/electron30/Makefile index a4128fb8fe12..bf0e7ea5ca87 100644 --- a/devel/electron30/Makefile +++ b/devel/electron30/Makefile @@ -1,7 +1,7 @@ PORTNAME= electron DISTVERSIONPREFIX= v DISTVERSION= ${ELECTRON_VER:S/-beta./.b/} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel MASTER_SITES= https://github.com/tagattie/FreeBSD-Electron/releases/download/v30.1.1/:chromium \ https://commondatastorage.googleapis.com/chromium-nodejs/:chromium_node \ @@ -21,6 +21,9 @@ LICENSE= BSD3CLAUSE LGPL21 MPL11 MIT LICENSE_COMB= multi LICENSE_FILE= ${WRKSRC}/electron/LICENSE +DEPRECATED= EOLed upstream, switch to newer version +EXPIRATION_DATE= 2024-12-31 + ONLY_FOR_ARCHS= aarch64 amd64 i386 FETCH_DEPENDS= yarn${NODEJS_SUFFIX}>0:www/yarn${NODEJS_SUFFIX} diff --git a/devel/electron31/Makefile b/devel/electron31/Makefile index 5ceda9b82169..6b43d4619241 100644 --- a/devel/electron31/Makefile +++ b/devel/electron31/Makefile @@ -1,7 +1,6 @@ PORTNAME= electron DISTVERSIONPREFIX= v DISTVERSION= ${ELECTRON_VER:S/-beta./.b/} -PORTREVISION= 1 PULSEMV= 16 PULSEV= ${PULSEMV}.1 CATEGORIES= devel diff --git a/devel/electron31/Makefile.version b/devel/electron31/Makefile.version index 253a57127094..b554998cb2f1 100644 --- a/devel/electron31/Makefile.version +++ b/devel/electron31/Makefile.version @@ -1,2 +1,2 @@ -ELECTRON_VER= 31.7.3 +ELECTRON_VER= 31.7.4 ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//} diff --git a/devel/electron31/distinfo b/devel/electron31/distinfo index fd13426d28e9..707e826ea94c 100644 --- a/devel/electron31/distinfo +++ b/devel/electron31/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1730708700 +TIMESTAMP = 1731574878 SHA256 (electron/chromium-126.0.6478.234.tar.xz.0) = 5940007a2cc926c0eac498ab5121727f903a60b87c7b5a5216921c4ee1028d07 SIZE (electron/chromium-126.0.6478.234.tar.xz.0) = 2000000000 SHA256 (electron/chromium-126.0.6478.234.tar.xz.1) = 977c9af967876a9a362038dea652c4be55a71a9758cb1c538bfc8a5a0ee27962 @@ -7,10 +7,10 @@ SHA256 (electron/97a0b3c4c39cf05de1eafb6ffdec0fddd643f0a2) = dcfaea4d353d1df3d4a SIZE (electron/97a0b3c4c39cf05de1eafb6ffdec0fddd643f0a2) = 9761601 SHA256 (electron/pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (electron/pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (electron/electron-yarn-cache-31.7.3.tar.xz) = 8eaf83154d3d57c59a3faed240d8e60c23bc2eeb8e4758ce82ec4437aed7ea2f -SIZE (electron/electron-yarn-cache-31.7.3.tar.xz) = 30506748 -SHA256 (electron/electron-electron-v31.7.3_GH0.tar.gz) = 4cc41dc9b28f5ae73a2f1eb407bcbe343028431c7fd3e58f736f1defc5c539ac -SIZE (electron/electron-electron-v31.7.3_GH0.tar.gz) = 13893502 +SHA256 (electron/electron-yarn-cache-31.7.4.tar.xz) = b4003597bbedb49bb424f20f28e0a0ada9790ab5599621fed32768057b603ff2 +SIZE (electron/electron-yarn-cache-31.7.4.tar.xz) = 30445784 +SHA256 (electron/electron-electron-v31.7.4_GH0.tar.gz) = 067b3d181508f1ab6a52204f84456a390d1f627daf5f2395e912e106aad1a827 +SIZE (electron/electron-electron-v31.7.4_GH0.tar.gz) = 13899432 SHA256 (electron/nodejs-node-v20.18.0_GH0.tar.gz) = 651bb82f6af18084070893559643759165ce050b5839f830d4cc098130d3ad89 SIZE (electron/nodejs-node-v20.18.0_GH0.tar.gz) = 115526827 SHA256 (electron/nodejs-nan-e14bdcd1f72d62bca1d541b66da43130384ec213_GH0.tar.gz) = 02edf8d5b3fef9af94d8a1355da60564a57e7f2c99cb422bce042400607ed2eb diff --git a/devel/electron31/files/package.json b/devel/electron31/files/package.json index b517e17b9bf7..e1a91616cd81 100644 --- a/devel/electron31/files/package.json +++ b/devel/electron31/files/package.json @@ -40,7 +40,6 @@ "folder-hash": "^2.1.1", "got": "^11.8.5", "husky": "^8.0.1", - "lint": "^1.1.2", "lint-staged": "^10.2.11", "minimist": "^1.2.8", "null-loader": "^4.0.1", diff --git a/devel/electron31/files/yarn.lock b/devel/electron31/files/yarn.lock index cc33e30cd275..4c37bc441ff3 100644 --- a/devel/electron31/files/yarn.lock +++ b/devel/electron31/files/yarn.lock @@ -4385,11 +4385,6 @@ lint-staged@^10.2.11: string-argv "0.3.1" stringify-object "^3.3.0" -lint@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/lint/-/lint-1.1.2.tgz#35ed064f322547c331358d899868664968ba371f" - integrity sha1-Ne0GTzIlR8MxNY2JmGhmSWi6Nx8= - listr2@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.2.0.tgz#cb88631258abc578c7fb64e590fe5742f28e4aac" diff --git a/devel/electron33/Makefile b/devel/electron33/Makefile new file mode 100644 index 000000000000..c7eefd61b620 --- /dev/null +++ b/devel/electron33/Makefile @@ -0,0 +1,444 @@ +PORTNAME= electron +DISTVERSIONPREFIX= v +DISTVERSION= ${ELECTRON_VER} +PULSEMV= 16 +PULSEV= ${PULSEMV}.1 +CATEGORIES= devel +MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/:chromium \ + https://freedesktop.org/software/pulseaudio/releases/:pulseaudio +PKGNAMESUFFIX= ${ELECTRON_VER_MAJOR} +DISTFILES= chromium-${CHROMIUM_VER}${EXTRACT_SUFX}:chromium \ + pulseaudio-${PULSEV}.tar.gz:pulseaudio \ + electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX}:prefetch +DIST_SUBDIR= ${PORTNAME} + +MAINTAINER= tagattie@FreeBSD.org +COMMENT= Build cross-platform desktop apps with JavaScript, HTML, and CSS +WWW= https://electronjs.org/ + +LICENSE= BSD3CLAUSE LGPL21 MPL11 MIT +LICENSE_COMB= multi +LICENSE_FILE= ${WRKSRC}/electron/LICENSE + +ONLY_FOR_ARCHS= aarch64 amd64 i386 + +FETCH_DEPENDS= yarn${NODEJS_SUFFIX}>0:www/yarn${NODEJS_SUFFIX} +EXTRACT_DEPENDS=yarn${NODEJS_SUFFIX}>0:www/yarn${NODEJS_SUFFIX} +PATCH_DEPENDS= git:devel/git \ + jq:textproc/jq +BUILD_DEPENDS= gperf:devel/gperf \ + bindgen:devel/rust-bindgen-cli \ + yasm:devel/yasm \ + ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri \ + rustc:lang/rust \ + ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ + node${NODEJS_VERSION}>0:www/node${NODEJS_VERSION} \ + npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX} +LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core \ + libatspi.so:accessibility/at-spi2-core \ + libFLAC.so:audio/flac \ + libopus.so:audio/opus \ + libdbus-1.so:devel/dbus \ + libicuuc.so:devel/icu \ + libepoll-shim.so:devel/libepoll-shim \ + libevent.so:devel/libevent \ + libffi.so:devel/libffi \ + libnotify.so:devel/libnotify \ + libpci.so:devel/libpci \ + libnspr4.so:devel/nspr \ + libre2.so:devel/re2 \ + libdrm.so:graphics/libdrm \ + libpng.so:graphics/png \ + libwayland-client.so:graphics/wayland \ + libwebp.so:graphics/webp \ + libdav1d.so:multimedia/dav1d \ + libva.so:multimedia/libva \ + libopenh264.so:multimedia/openh264 \ + libfreetype.so:print/freetype2 \ + libharfbuzz.so:print/harfbuzz \ + libsecret-1.so:security/libsecret \ + libnss3.so:security/nss \ + libexpat.so:textproc/expat2 \ + libxkbcommon.so:x11/libxkbcommon \ + libxshmfence.so:x11/libxshmfence \ + libfontconfig.so:x11-fonts/fontconfig +RUN_DEPENDS= xdg-open:devel/xdg-utils +TEST_DEPENDS= git:devel/git \ + ${PYTHON_PKGNAMEPREFIX}python-dbusmock>0:devel/py-python-dbusmock@${PY_FLAVOR} \ + npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX} + +USES= bison compiler:c++17-lang cpe gettext-tools gl gmake gnome \ + iconv:wchar_t jpeg localbase:ldflags ninja nodejs:20,build \ + pkgconfig python:build,test shebangfix tar:xz xorg + +CPE_VENDOR= electronjs +USE_GITHUB= yes +GH_TUPLE= nodejs:node:v${NODE_VER}:node \ + nodejs:nan:${NAN_VER}:nan \ + Squirrel:Squirrel.Mac:${SQUIRREL_MAC_VER}:squirrel_mac \ + ReactiveCocoa:ReactiveObjC:${REACTIVEOBJC_VER}:reactiveobjc \ + Mantle:Mantle:${MANTLE_VER}:mantle \ + EngFlow:reclient-configs:${ENGFLOW_RECLIENT_CONFIGS_VER}:reclient_configs +USE_GL= gbm gl glesv2 +USE_GNOME= atk cairo gdkpixbuf2 gtk30 libxml2 libxslt pango +USE_LDCONFIG= ${DATADIR} +USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \ + xrender xscrnsaver xtst + +SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper buildtools/linux64/clang-format + +MAKE_ARGS= -C out/${BUILDTYPE} +MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ + CPLUS_INCLUDE_PATH=${LOCALBASE}/include +ALL_TARGET= electron electron:node_headers +POST_BUILD_TARGETS= licenses version +POST_BUILD_DIST_TARGETS=electron_dist_zip electron_chromedriver_zip \ + electron_mksnapshot_zip + +DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX} +BINARY_ALIAS= python3=${PYTHON_CMD} + +NO_WRKSUBDIR= yes +WRKSRC_SUBDIR= src + +GN_ARGS+= clang_use_chrome_plugins=false \ + enable_backup_ref_ptr_support=false \ + enable_hangout_services_extension=true \ + enable_log_error_not_reached=true \ + enable_nacl=false \ + enable_remoting=false \ + fatal_linker_warnings=false \ + icu_use_data_file=false \ + is_clang=true \ + optimize_webui=true \ + toolkit_views=true \ + treat_warnings_as_errors=false \ + use_allocator_shim=false \ + use_aura=true \ + use_custom_libcxx=true \ + use_custom_libunwind=true \ + use_lld=true \ + use_partition_alloc=true \ + use_partition_alloc_as_malloc=false \ + use_sysroot=false \ + use_system_freetype=false \ + use_system_harfbuzz=true \ + use_system_libffi=true \ + use_system_libjpeg=true \ + use_udev=false \ + chrome_pgo_phase=0 \ + extra_cflags="${CFLAGS}" \ + extra_cxxflags="${CXXFLAGS} -I${LOCALBASE}/include/libepoll-shim ${PINCLUDES}" \ + extra_ldflags="${LDFLAGS}" \ + ffmpeg_branding="${FFMPEG_BRAND}" \ + override_electron_version="${ELECTRON_VER}" + +# TODO: investigate building with these options: +# use_system_minigbm +GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles + +PLIST_SUB= ELECTRON_VER=${ELECTRON_VER} \ + ELECTRON_VER_MAJOR=${ELECTRON_VER_MAJOR} + +OPTIONS_DEFINE= CODECS CUPS DEBUG DIST DRIVER KERBEROS LTO PIPEWIRE +OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS PIPEWIRE ALSA PULSEAUDIO 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 +DIST_DESC= Build distribution zip files +DRIVER_DESC= Install chromedriver +HEIMDAL_BASE_DESC= Heimdal Kerberos (base) +HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) +MIT_DESC= MIT Kerberos (security/krb5) +PIPEWIRE_DESC= Screen capture via PipeWire + +ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ + alsa-lib>=1.1.1_1:audio/alsa-lib +ALSA_VARS= GN_ARGS+=use_alsa=true +ALSA_VARS_OFF= GN_ARGS+=use_alsa=false + +CODECS_VARS= GN_ARGS+=proprietary_codecs=true \ + FFMPEG_BRAND="Chrome" +CODECS_VARS_OFF= GN_ARGS+=proprietary_codecs=false \ + FFMPEG_BRAND="Chromium" + +CUPS_LIB_DEPENDS= libcups.so:print/cups +CUPS_VARS= GN_ARGS+=use_cups=true +CUPS_VARS_OFF= GN_ARGS+=use_cups=false + +DEBUG_BUILD_DEPENDS= esbuild:devel/esbuild +DEBUG_VARS= BUILDTYPE=Debug \ + GN_FILE=testing.gn \ + 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_FILE=release.gn \ + 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" + +DIST_IMPLIES= DRIVER +DRIVER_MAKE_ARGS= chromedriver + +HEIMDAL_LIB_DEPENDS= libkrb5.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= libkrb5.so.3:security/krb5 + +PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire +PIPEWIRE_VARS= GN_ARGS+=rtc_use_pipewire=true \ + GN_ARGS+=rtc_link_pipewire=true +PIPEWIRE_VARS_OFF= GN_ARGS+=rtc_use_pipewire=false \ + GN_ARGS+=rtc_link_pipewire=false + +PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true \ + PINCLUDES="-I${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/pulseaudio-${PULSEV}/src -DPA_MAJOR=${PULSEMV}" +PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false + +SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio +SNDIO_VARS= GN_ARGS+=use_sndio=true +SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false + +# See ${WRKSRC}/electron/DEPS for CHROMIUM_VER +CHROMIUM_VER= 130.0.6723.118 +# See ${WRKSRC}/electron/DEPS for NODE_VER +NODE_VER= 20.18.0 +# See ${WRKSRC}/electron/DEPS for NAN_VER +NAN_VER= e14bdcd1f72d62bca1d541b66da43130384ec213 +# See ${WRKSRC}/electron/DEPS for SQUIRREL_MAC_VER +SQUIRREL_MAC_VER= 0e5d146ba13101a1302d59ea6e6e0b3cace4ae38 +# See ${WRKSRC}/electron/DEPS for REACTIVEOBJC_VER +REACTIVEOBJC_VER= 74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76 +# See ${WRKSRC}/electron/DEPS for MANTLE_VER +MANTLE_VER= 78d3966b3c331292ea29ec38661b25df0a245948 +# See ${WRKSRC}/electron/DEPS for ENGFLOW_RECLIENT_CONFIGS_VER +ENGFLOW_RECLIENT_CONFIGS_VER= 955335c30a752e9ef7bff375baab5e0819b6c00d + +YARN_TIMESTAMP= 61171200 + +.include "Makefile.version" +.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 + +LLVM_DEFAULT= 18 +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} +CFLAGS+= -Wno-error=implicit-function-declaration + +.if ${ARCH} == "aarch64" +PLIST_SUB+= AARCH64="" \ + AMD64="@comment " \ + I386="@comment " \ + NOT_AARCH64="@comment " +FFMPEG_TARGET= arm64 +.elif ${ARCH} == "amd64" +BUILD_DEPENDS+= nasm:devel/nasm +PLIST_SUB+= AARCH64="@comment " \ + AMD64="" \ + I386="@comment " \ + NOT_AARCH64="" +FFMPEG_TARGET= x64 +.elif ${ARCH} == "i386" +BUILD_DEPENDS+= nasm:devel/nasm +PLIST_SUB+= AARCH64="@comment " \ + AMD64="@comment " \ + I386="" \ + NOT_AARCH64="" +FFMPEG_TARGET= ia32 +.endif + +FFMPEG_BDIR= ${WRKSRC}/third_party/ffmpeg/build.${FFMPEG_TARGET}.freebsd/${FFMPEG_BRAND} +FFMPEG_CDIR= ${WRKSRC}/third_party/ffmpeg/chromium/config/${FFMPEG_BRAND}/freebsd/${FFMPEG_TARGET} + +# Allow relocations against read-only segments (override lld default) +LDFLAGS_i386= -Wl,-znotext + +# TODO: -isystem, would be just as ugly as this approach, but more reliably +# build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set. +MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ + CPLUS_INCLUDE_PATH=${LOCALBASE}/include + +# rust +RUSTC_VERSION!= rustc -V 2>/dev/null || true +MAKE_ENV+= RUSTC_BOOTSTRAP=1 +GN_ARGS+= enable_rust=true \ + rust_sysroot_absolute="${LOCALBASE}" \ + rustc_version="${RUSTC_VERSION}" + +pre-everything:: + @${ECHO_MSG} + @${ECHO_MSG} "To build electron, you should have around 2GB of memory" + @${ECHO_MSG} "and around ${WANTSPACE} of free disk space." + @${ECHO_MSG} + +pre-fetch: + @${MKDIR} ${DISTDIR}/${DIST_SUBDIR} + if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX} ]; \ + then ${MKDIR} ${WRKDIR}; \ + ${ECHO_CMD} 'yarn-offline-mirror "./yarn-offline-cache"' >> \ + ${WRKDIR}/.yarnrc; \ + ${CP} ${FILESDIR}/package.json ${FILESDIR}/yarn.lock ${WRKDIR}; \ + cd ${WRKDIR} && ${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache \ + yarn --frozen-lockfile --ignore-scripts; \ + ${MTREE_CMD} -cbnSp yarn-offline-cache | ${MTREE_CMD} -C | ${SED} \ + -e 's:time=[0-9.]*:time=${YARN_TIMESTAMP}.000000000:' \ + -e 's:\([gu]id\)=[0-9]*:\1=0:g' \ + -e 's:mode=\([0-9]\)7[0-9][0-9]:mode=\1755:' \ + -e 's:mode=\([0-9]\)6[0-9][0-9]:mode=\1644:' \ + -e 's:flags=.*:flags=none:' \ + -e 's:^\.:./yarn-offline-cache:' > yarn-offline-cache.mtree; \ + ${TAR} cJf ${DISTDIR}/${DIST_SUBDIR}/electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX} \ + @yarn-offline-cache.mtree; \ + ${RM} -r ${WRKDIR}; \ + fi + +post-extract: +# Move extracted sources to appropriate locations + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_VER} ${WRKSRC} + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${PORTNAME}-${ELECTRON_VER} ${WRKSRC}/electron + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_nan}-${NAN_VER} \ + ${WRKSRC}/third_party/nan + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_node}-${NODE_VER} \ + ${WRKSRC}/third_party/electron_node + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_squirrel_mac}-${SQUIRREL_MAC_VER} \ + ${WRKSRC}/third_party/squirrel.mac + ${MKDIR} ${WRKSRC}/third_party/squirrel.mac/vendor + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_reactiveobjc}-${REACTIVEOBJC_VER} \ + ${WRKSRC}/third_party/squirrel.mac/vendor/ReactiveObjC + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_mantle}-${MANTLE_VER} \ + ${WRKSRC}/third_party/squirrel.mac/vendor/Mantle + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_reclient_configs}-${ENGFLOW_RECLIENT_CONFIGS_VER} \ + ${WRKSRC}/third_party/engflow-reclient-configs +# Install node modules for electron + ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/yarn-offline-cache ${WRKDIR} + ${ECHO_CMD} 'yarn-offline-mirror "../../../yarn-offline-cache"' >> ${WRKSRC}/electron/.yarnrc + ${MV} ${WRKSRC}/electron/package.json ${WRKSRC}/electron/package.json.bak + ${CP} ${FILESDIR}/package.json ${WRKSRC}/electron + cd ${WRKSRC}/electron && \ + ${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache yarn --frozen-lockfile --offline + +pre-patch: + ${SH} ${FILESDIR}/apply-electron-patches.sh ${WRKSRC} + # ${FIND} ${WRKSRC} -type f -name '*.orig' -print -delete + # ${FIND} ${WRKSRC} -type f -name '*~' -print -delete + +pre-configure: + # We used to remove bundled libraries to be sure that chromium uses + # system libraries and not shipped ones. + # cd ${WRKSRC} && ${PYTHON_CMD} \ + #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ + ./build/linux/unbundle/replace_gn_files.py --system-libraries \ + dav1d flac fontconfig freetype harfbuzz-ng icu libdrm libevent \ + libpng libusb libwebp libxml libxslt openh264 opus || ${FALSE} + # Chromium uses an unreleased version of FFmpeg, so configure it + cd ${WRKSRC}/media/ffmpeg && \ + ${PYTHON_CMD} scripts/build_ffmpeg.py freebsd ${FFMPEG_TARGET} \ + --config-only --branding=${FFMPEG_BRAND} + cd ${FFMPEG_BDIR} && ${GMAKE} ffversion.h + ${MKDIR} ${FFMPEG_CDIR} +.for _e in config.h config.asm config_components.h libavcodec libavformat libavutil + -${CP} -pR ${FFMPEG_BDIR}/${_e} ${FFMPEG_CDIR} +.endfor + touch ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/pulseaudio-${PULSEV}/src/pulse/version.h + @${REINPLACE_CMD} -e 's|$${LOCALBASE}|${LOCALBASE}|;s|$${MODCLANG_VERSION}|${LLVM_DEFAULT}|' \ + ${WRKSRC}/build/rust/rust_bindgen.gni + +do-configure: + # GN generator bootstrapping and generating ninja files + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \ + READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ + ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn gen out/${BUILDTYPE} \ + --args='import("//electron/build/args/${GN_FILE}") ${GN_ARGS}' + + # 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 + +post-build: + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \ + ${MAKE_CMD} ${MAKE_ARGS} ${POST_BUILD_TARGETS} + +post-build-DIST-on: + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \ + ${MAKE_CMD} ${MAKE_ARGS} ${POST_BUILD_DIST_TARGETS} + cd ${WRKSRC}/out/${BUILDTYPE} && \ + ${CP} chromedriver.zip chromedriver-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \ + ${CP} dist.zip electron-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \ + ${CP} mksnapshot.zip mksnapshot-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \ + ${SHA256} -r *-v${ELECTRON_VER}-freebsd-*.zip | ${SED} -e 's/ / */' > SHASUMS256.txt + +do-install: + ${MKDIR} ${STAGEDIR}${DATADIR} +.for f in electron mksnapshot v8_context_snapshot_generator + ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} +.endfor +.for f in libEGL.so libGLESv2.so libffmpeg.so libvk_swiftshader.so + ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} +.endfor + ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 ${STAGEDIR}${DATADIR}/libvulkan.so +.for f in LICENSE LICENSES.chromium.html snapshot_blob.bin v8_context_snapshot.bin version vk_swiftshader_icd.json + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} +.endfor +.for f in chrome_100_percent.pak chrome_200_percent.pak resources.pak + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} +.endfor + ${MKDIR} ${STAGEDIR}${DATADIR}/locales + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/locales/*.pak ${STAGEDIR}${DATADIR}/locales + ${MKDIR} ${STAGEDIR}${DATADIR}/resources +.for f in default_app.asar + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/resources/${f} ${STAGEDIR}${DATADIR}/resources +.endfor + cd ${WRKSRC}/out/${BUILDTYPE}/gen && ${COPYTREE_SHARE} node_headers ${STAGEDIR}${DATADIR} + cd ${WRKSRC}/out/${BUILDTYPE} && ${COPYTREE_SHARE} gen/electron/buildflags ${STAGEDIR}${DATADIR} + cd ${WRKSRC}/out/${BUILDTYPE} && ${COPYTREE_SHARE} gen/v8/embedded.S ${STAGEDIR}${DATADIR} + ${RLN} ${STAGEDIR}${DATADIR}/electron ${STAGEDIR}${PREFIX}/bin/electron${PKGNAMESUFFIX} + +post-install-DIST-on: + ${MKDIR} ${STAGEDIR}${DATADIR}/releases + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/SHASUMS256.txt ${STAGEDIR}${DATADIR}/releases + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*-v${ELECTRON_VER}-freebsd-*.zip ${STAGEDIR}${DATADIR}/releases + +post-install-DRIVER-on: + ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver.unstripped \ + ${STAGEDIR}${DATADIR}/chromedriver + +do-test: +# Note 1: "npm install" will run before actual tests are executed +# Note 2: Xvfb or something similar is necessary for headless testing + cd ${WRKSRC}/electron && \ + ${SETENV} ${TEST_ENV} ELECTRON_OUT_DIR=${BUILDTYPE} LOCAL_GIT_DIRECTORY=${LOCALBASE} \ + npm run test -- --ci + +.include <bsd.port.post.mk> diff --git a/devel/electron33/Makefile.version b/devel/electron33/Makefile.version new file mode 100644 index 000000000000..b04ebf173777 --- /dev/null +++ b/devel/electron33/Makefile.version @@ -0,0 +1,2 @@ +ELECTRON_VER= 33.2.0 +ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//} diff --git a/devel/electron33/distinfo b/devel/electron33/distinfo new file mode 100644 index 000000000000..b39a55761b78 --- /dev/null +++ b/devel/electron33/distinfo @@ -0,0 +1,21 @@ +TIMESTAMP = 1731316814 +SHA256 (electron/chromium-130.0.6723.118.tar.xz) = a0a9a740ebb864e89febf4d5480ffbf31b45ac5a506ae70184fa842e27b2d177 +SIZE (electron/chromium-130.0.6723.118.tar.xz) = 6627498992 +SHA256 (electron/pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 +SIZE (electron/pulseaudio-16.1.tar.gz) = 2763111 +SHA256 (electron/electron-yarn-cache-33.2.0.tar.xz) = fbfce89a9781eba6a8dc2582fcc979f2cb4adbd95c42a09f595c7dfa45a47fdf +SIZE (electron/electron-yarn-cache-33.2.0.tar.xz) = 32181868 +SHA256 (electron/electron-electron-v33.2.0_GH0.tar.gz) = 6a0589bbdbf1d5ccc8508b536c1beeb5f49cedb1806dc0de9b04f568946be056 +SIZE (electron/electron-electron-v33.2.0_GH0.tar.gz) = 14663878 +SHA256 (electron/nodejs-node-v20.18.0_GH0.tar.gz) = 651bb82f6af18084070893559643759165ce050b5839f830d4cc098130d3ad89 +SIZE (electron/nodejs-node-v20.18.0_GH0.tar.gz) = 115526827 +SHA256 (electron/nodejs-nan-e14bdcd1f72d62bca1d541b66da43130384ec213_GH0.tar.gz) = 02edf8d5b3fef9af94d8a1355da60564a57e7f2c99cb422bce042400607ed2eb +SIZE (electron/nodejs-nan-e14bdcd1f72d62bca1d541b66da43130384ec213_GH0.tar.gz) = 180646 +SHA256 (electron/Squirrel-Squirrel.Mac-0e5d146ba13101a1302d59ea6e6e0b3cace4ae38_GH0.tar.gz) = f4ebb40a8d85dbb7ef02aa0571b2f8e22182c6d73b6992484a53c90047779d01 +SIZE (electron/Squirrel-Squirrel.Mac-0e5d146ba13101a1302d59ea6e6e0b3cace4ae38_GH0.tar.gz) = 2112918 +SHA256 (electron/ReactiveCocoa-ReactiveObjC-74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76_GH0.tar.gz) = 88e65f116c7a06fccedb43970fba63080a57a4e5dc29147d2cdfe1ee58dd0546 +SIZE (electron/ReactiveCocoa-ReactiveObjC-74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76_GH0.tar.gz) = 1136238 +SHA256 (electron/Mantle-Mantle-78d3966b3c331292ea29ec38661b25df0a245948_GH0.tar.gz) = a365df6d83e0be3cc000b70bd39734d80c28f0d9983ebe44698337a2ca464bb1 +SIZE (electron/Mantle-Mantle-78d3966b3c331292ea29ec38661b25df0a245948_GH0.tar.gz) = 62962 +SHA256 (electron/EngFlow-reclient-configs-955335c30a752e9ef7bff375baab5e0819b6c00d_GH0.tar.gz) = c148f76220fc41a89ffeaf370c2cc175577be184688b12aa6fec5f8ac6c714c4 +SIZE (electron/EngFlow-reclient-configs-955335c30a752e9ef7bff375baab5e0819b6c00d_GH0.tar.gz) = 13014 diff --git a/devel/electron33/files/apply-electron-patches.sh b/devel/electron33/files/apply-electron-patches.sh new file mode 100644 index 000000000000..367de24e9a71 --- /dev/null +++ b/devel/electron33/files/apply-electron-patches.sh @@ -0,0 +1,26 @@ +#! /bin/sh + +PATH=/bin:/usr/bin:/usr/local/bin + +GIT_CMD="git" +PATCH_CMD="${GIT_CMD} apply" +#PATCH_FLAGS="--numstat --check" # for debugging +PATCH_FLAGS="--verbose --reject" + +WRKSRC=$1 +PATCH_CONF=${WRKSRC}/electron/patches/config.json + +${GIT_CMD} status "${WRKSRC}" > /dev/null 2>&1 && IS_GIT_REPO=1 + +PATCHD_REPOD_PAIRS=$(jq -r '.[] | .patch_dir + ":" + .repo' "${PATCH_CONF}") +for prp in ${PATCHD_REPOD_PAIRS}; do + pd=$(echo "${prp}" | awk -F: '{print $1}' | sed -e 's/src/./') + rd=$(echo "${prp}" | awk -F: '{print $2}' | sed -e 's/src/./') + (cd "${WRKSRC}/${rd}" && \ + if [ -n "${IS_GIT_REPO}" ]; then + PATCH_FLAGS="${PATCH_FLAGS} --directory=$(${GIT_CMD} rev-parse --show-prefix)" + fi && \ + while read -r p; do + ${PATCH_CMD} ${PATCH_FLAGS} "${WRKSRC}/${pd}/${p}" + done < "${WRKSRC}/${pd}/.patches") +done diff --git a/devel/electron33/files/package.json b/devel/electron33/files/package.json new file mode 100644 index 000000000000..416aec3f43d0 --- /dev/null +++ b/devel/electron33/files/package.json @@ -0,0 +1,142 @@ +{ + "name": "electron", + "version": "0.0.0-development", + "repository": "https://github.com/electron/electron", + "description": "Build cross platform desktop apps with JavaScript, HTML, and CSS", + "devDependencies": { + "@azure/storage-blob": "^12.25.0", + "@electron/asar": "^3.2.13", + "@electron/docs-parser": "^1.2.3", + "@electron/fiddle-core": "^1.3.4", + "@electron/github-app-auth": "^2.2.1", + "@electron/lint-roller": "^2.4.0", + "@electron/typescript-definitions": "^8.15.8", + "@octokit/rest": "^20.0.2", + "@primer/octicons": "^10.0.0", + "@types/minimist": "^1.2.5", + "@types/node": "^20.9.0", + "@types/semver": "^7.5.8", + "@types/stream-json": "^1.7.7", + "@types/temp": "^0.9.4", + "@types/webpack": "^5.28.5", + "@types/webpack-env": "^1.18.5", + "@typescript-eslint/eslint-plugin": "^8.7.0", + "@typescript-eslint/parser": "^8.7.0", + "buffer": "^6.0.3", + "chalk": "^4.1.0", + "check-for-leaks": "^1.2.1", + "dotenv-safe": "^4.0.4", + "dugite": "^2.7.1", + "eslint": "^8.57.1", + "eslint-config-standard": "^17.1.0", + "eslint-plugin-import": "^2.30.0", + "eslint-plugin-mocha": "^10.5.0", + "eslint-plugin-n": "^16.6.2", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^6.6.0", + "eslint-plugin-standard": "^5.0.0", + "eslint-plugin-unicorn": "^55.0.0", + "events": "^3.2.0", + "folder-hash": "^2.1.1", + "got": "^11.8.5", + "husky": "^8.0.1", + "lint-staged": "^10.2.11", + "markdownlint-cli2": "^0.13.0", + "minimist": "^1.2.8", + "null-loader": "^4.0.1", + "pre-flight": "^2.0.0", + "process": "^0.11.10", + "remark-cli": "^10.0.0", + "remark-preset-lint-markdown-style-guide": "^4.0.0", + "semver": "^7.6.3", + "shx": "^0.3.4", + "stream-json": "^1.8.0", + "tap-xunit": "^2.4.1", + "temp": "^0.9.4", + "timers-browserify": "1.4.2", + "ts-loader": "^8.0.2", + "ts-node": "6.2.0", + "typescript": "^5.6.2", + "url": "^0.11.4", + "webpack": "^5.94.0", + "webpack-cli": "^5.1.4", + "wrapper-webpack-plugin": "^2.2.0" + }, + "private": true, + "scripts": { + "asar": "asar", + "generate-version-json": "node script/generate-version-json.js", + "lint": "node ./script/lint.js && npm run lint:docs", + "lint:js": "node ./script/lint.js --js", + "lint:clang-format": "python3 script/run-clang-format.py -r -c shell/ || (echo \"\\nCode not formatted correctly.\" && exit 1)", + "lint:clang-tidy": "ts-node ./script/run-clang-tidy.ts", + "lint:cpp": "node ./script/lint.js --cc", + "lint:objc": "node ./script/lint.js --objc", + "lint:py": "node ./script/lint.js --py", + "lint:gn": "node ./script/lint.js --gn", + "lint:docs": "remark docs -qf && npm run lint:js-in-markdown && npm run create-typescript-definitions && npm run lint:ts-check-js-in-markdown && npm run lint:docs-fiddles && npm run lint:docs-relative-links && npm run lint:markdown && npm run lint:api-history", + "lint:docs-fiddles": "standard \"docs/fiddles/**/*.js\"", + "lint:docs-relative-links": "lint-roller-markdown-links --root docs \"**/*.md\"", + "lint:markdown": "node ./script/lint.js --md", + "lint:ts-check-js-in-markdown": "lint-roller-markdown-ts-check --root docs \"**/*.md\" --ignore \"breaking-changes.md\"", + "lint:js-in-markdown": "lint-roller-markdown-standard --root docs \"**/*.md\"", + "lint:api-history": "lint-roller-markdown-api-history --root \"./docs/api/\" --schema \"./docs/api-history.schema.json\" --breaking-changes-file \"./docs/breaking-changes.md\" --check-placement --check-strings \"*.md\"", + "create-api-json": "node script/create-api-json.js", + "create-typescript-definitions": "npm run create-api-json && electron-typescript-definitions --api=electron-api.json && node spec/ts-smoke/runner.js", + "gn-typescript-definitions": "npm run create-typescript-definitions && shx cp electron.d.ts", + "pre-flight": "pre-flight", + "gn-check": "node ./script/gn-check.js", + "gn-format": "python3 script/run-gn-format.py", + "precommit": "lint-staged", + "preinstall": "node -e 'process.exit(0)'", + "pretest": "npm run create-typescript-definitions", + "prepack": "check-for-leaks", + "repl": "node ./script/start.js --interactive", + "start": "node ./script/start.js", + "test": "node ./script/spec-runner.js", + "tsc": "tsc", + "webpack": "webpack" + }, + "license": "MIT", + "author": "Electron Community", + "keywords": [ + "electron" + ], + "lint-staged": { + "*.{js,ts}": [ + "node script/lint.js --js --fix --only --" + ], + "*.{js,ts,d.ts}": [ + "ts-node script/gen-filenames.ts" + ], + "*.{cc,mm,c,h}": [ + "python3 script/run-clang-format.py -r -c --fix" + ], + "*.md": [ + "npm run lint:docs" + ], + "*.{gn,gni}": [ + "npm run gn-check", + "npm run gn-format" + ], + "*.py": [ + "node script/lint.js --py --fix --only --" + ], + "docs/api/**/*.md": [ + "ts-node script/gen-filenames.ts", + "markdownlint-cli2 --config .autofix.markdownlint-cli2.jsonc --fix", + "git add filenames.auto.gni" + ], + "{*.patch,.patches}": [ + "node script/lint.js --patches --only --", + "ts-node script/check-patch-diff.ts" + ], + "DEPS": [ + "node script/gen-hunspell-filenames.js", + "node script/gen-libc++-filenames.js" + ] + }, + "resolutions": { + "nan": "nodejs/nan#e14bdcd1f72d62bca1d541b66da43130384ec213" + } +} diff --git a/devel/electron33/files/patch-.gn b/devel/electron33/files/patch-.gn new file mode 100644 index 000000000000..24ab24c5f7d1 --- /dev/null +++ b/devel/electron33/files/patch-.gn @@ -0,0 +1,11 @@ +--- .gn.orig 2024-11-11 11:08:19 UTC ++++ .gn +@@ -173,6 +173,8 @@ exec_script_whitelist = + "//tools/grit/grit_rule.gni", + "//tools/gritsettings/BUILD.gn", + ++ "//third_party/icu/BUILD.gn", ++ + "//electron/BUILD.gn", + "//third_party/electron_node/deps/base64/BUILD.gn", + "//third_party/electron_node/deps/base64/unofficial.gni", diff --git a/devel/electron33/files/patch-BUILD.gn b/devel/electron33/files/patch-BUILD.gn new file mode 100644 index 000000000000..1c3acd83c3b1 --- /dev/null +++ b/devel/electron33/files/patch-BUILD.gn @@ -0,0 +1,89 @@ +--- BUILD.gn.orig 2024-10-16 21:30:39 UTC ++++ BUILD.gn +@@ -66,7 +66,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) +@@ -98,7 +98,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", +@@ -437,7 +436,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", +@@ -628,6 +627,15 @@ group("gn_all") { + } + } + ++ if (is_bsd) { ++ deps -= [ ++ "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)", ++ "//third_party/breakpad:microdump_stackwalk($host_system_allocator_toolchain)", ++ "//third_party/breakpad:minidump_dump($host_system_allocator_toolchain)", ++ "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)", ++ ] ++ } ++ + if (is_mac) { + deps += [ + "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)", +@@ -676,7 +684,7 @@ group("gn_all") { + } + } + +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + # The official builders use this binary from the default toolchain's + # output directory after building in order to upload the symbols of that + # binary. They build the binary like `ninja symupload` which requires the +@@ -1158,7 +1166,7 @@ if (use_blink && !is_cronet_build) { + ] + } + +- if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && !is_castos) { ++ if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && !is_castos && !is_bsd) { + script_test("chrome_wpt_tests") { + script = "//third_party/blink/tools/run_wpt_tests.py" + args = _common_web_test_options + [ "--product=chrome" ] +@@ -1251,7 +1259,7 @@ if (use_blink && !is_cronet_build) { + data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ] + } + +- if (!is_win && !is_android) { ++ if (!is_win && !is_android && !is_bsd) { + # Using the default toolchain for this tool, as it's run during tests not + # during the build. This places a symlink in the root_build_dir for scrips + # to use. +@@ -1265,7 +1273,7 @@ if (use_blink && !is_cronet_build) { + data_deps += [ "//third_party/breakpad:dump_syms" ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux && !is_bsd) || is_chromeos) { + # Using the default toolchain for this tool, as it's run during tests not + # during the build. This places a symlink in the root_build_dir for scrips + # to use. +@@ -1729,7 +1737,7 @@ group("chromium_builder_perf") { + data_deps += [ "//chrome/test:performance_browser_tests" ] + } + +- if (!is_win) { ++ if (!is_win && !is_bsd) { + data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)" ] + } + } diff --git a/devel/electron33/files/patch-apps_ui_views_app__window__frame__view.cc b/devel/electron33/files/patch-apps_ui_views_app__window__frame__view.cc new file mode 100644 index 000000000000..6884695c9ec7 --- /dev/null +++ b/devel/electron33/files/patch-apps_ui_views_app__window__frame__view.cc @@ -0,0 +1,11 @@ +--- apps/ui/views/app_window_frame_view.cc.orig 2024-08-14 20:54:19 UTC ++++ apps/ui/views/app_window_frame_view.cc +@@ -149,7 +149,7 @@ gfx::Rect AppWindowFrameView::GetWindowBoundsForClient + gfx::Rect window_bounds = client_bounds; + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-ash_display_mirror__window__controller.cc b/devel/electron33/files/patch-ash_display_mirror__window__controller.cc new file mode 100644 index 000000000000..76b5d1103bda --- /dev/null +++ b/devel/electron33/files/patch-ash_display_mirror__window__controller.cc @@ -0,0 +1,14 @@ +--- ash/display/mirror_window_controller.cc.orig 2023-10-19 19:57:56 UTC ++++ ash/display/mirror_window_controller.cc +@@ -294,7 +294,11 @@ void MirrorWindowController::UpdateWindow( + if (!base::Contains(display_info_list, iter->first, + &display::ManagedDisplayInfo::id)) { + 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/devel/electron33/files/patch-base_BUILD.gn b/devel/electron33/files/patch-base_BUILD.gn new file mode 100644 index 000000000000..0378255d9546 --- /dev/null +++ b/devel/electron33/files/patch-base_BUILD.gn @@ -0,0 +1,151 @@ +--- base/BUILD.gn.orig 2024-10-28 21:05:15 UTC ++++ base/BUILD.gn +@@ -1102,11 +1102,27 @@ 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", ++ "epoll-shim", ++ ] ++ } ++ ++ if (is_freebsd) { ++ libs += [ ++ "execinfo", ++ "util", ++ "z", ++ ] ++ } ++ + if (use_allocator_shim) { + if (is_apple) { + sources += [ "allocator/early_zone_registration_apple.h" ] +@@ -1126,7 +1142,7 @@ 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" ] + } + +@@ -2103,6 +2119,22 @@ component("base") { + ] + } + ++ 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 += [ +@@ -2247,6 +2279,33 @@ component("base") { + } + } + ++ if (is_bsd) { ++ sources -= [ ++ "files/file_path_watcher_inotify.cc", ++ "files/scoped_file_linux.cc", ++ "process/set_process_title_linux.cc", ++ "process/set_process_title_linux.h", ++ "system/sys_info_linux.cc", ++ "process/process_iterator_linux.cc", ++ "process/process_linux.cc", ++ "process/process_metrics_linux.cc", ++ "process/process_handle_linux.cc", ++ "profiler/stack_copier_signal.cc", ++ "profiler/stack_copier_signal.h", ++ "profiler/thread_delegate_posix.cc", ++ "profiler/thread_delegate_posix.h", ++ "threading/platform_thread_linux.cc", ++ "stack_canary_linux.cc", ++ "stack_canary_linux.h", ++ ] ++ sources += [ ++ "files/file_path_watcher_kqueue.cc", ++ "files/file_path_watcher_kqueue.h", ++ "files/file_path_watcher_bsd.cc", ++ "threading/platform_thread_bsd.cc", ++ ] ++ } ++ + if (use_blink) { + sources += [ + "files/file_path_watcher.cc", +@@ -2573,7 +2632,7 @@ buildflag_header("protected_memory_buildflags") { + header = "protected_memory_buildflags.h" + header_dir = "base/memory" + +- protected_memory_enabled = !is_component_build && is_clang && ++ protected_memory_enabled = !is_openbsd && !is_component_build && is_clang && + (is_win || is_linux || is_android || is_mac) + + flags = [ "PROTECTED_MEMORY_ENABLED=$protected_memory_enabled" ] +@@ -3056,7 +3115,7 @@ if (is_apple) { + } + } + +-if (!is_nacl && (is_linux || is_chromeos)) { ++if (!is_nacl && !is_bsd && (is_linux || is_chromeos)) { + # This test must compile with -fstack-protector-all + source_set("stack_canary_linux_unittests") { + testonly = true +@@ -3718,7 +3777,7 @@ test("base_unittests") { + ] + } + +- if (is_linux || is_chromeos) { ++ if (!is_bsd && (is_linux || is_chromeos)) { + sources += [ + "debug/proc_maps_linux_unittest.cc", + "files/scoped_file_linux_unittest.cc", +@@ -3745,7 +3804,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_base_address_posix_unittest.cc", + "profiler/stack_copier_signal_unittest.cc", +@@ -3756,7 +3815,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" ] + } + +@@ -3943,7 +4002,7 @@ test("base_unittests") { + deps += [ ":base_profiler_test_support_library" ] + } + +- 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/devel/electron33/files/patch-base_allocator_dispatcher_tls.h b/devel/electron33/files/patch-base_allocator_dispatcher_tls.h new file mode 100644 index 000000000000..e0cc1924a403 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_dispatcher_tls.h @@ -0,0 +1,11 @@ +--- base/allocator/dispatcher/tls.h.orig 2024-06-18 21:43:17 UTC ++++ base/allocator/dispatcher/tls.h +@@ -77,7 +77,7 @@ struct BASE_EXPORT MMapAllocator { + constexpr static size_t AllocationChunkSize = 16384; + #elif BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS) + constexpr static size_t AllocationChunkSize = 16384; +-#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) + constexpr static size_t AllocationChunkSize = 16384; + #else + constexpr static size_t AllocationChunkSize = 4096; diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/devel/electron33/files/patch-base_allocator_partition__allocator_partition__alloc.gni new file mode 100644 index 000000000000..dc5d9119e0ce --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_partition__alloc.gni @@ -0,0 +1,20 @@ +--- base/allocator/partition_allocator/partition_alloc.gni.orig 2024-10-16 21:30:44 UTC ++++ base/allocator/partition_allocator/partition_alloc.gni +@@ -31,7 +31,7 @@ has_memory_tagging = + use_large_empty_slot_span_ring = is_mac + + has_memory_tagging = +- current_cpu == "arm64" && is_clang && !is_asan && (is_linux || is_android) ++ current_cpu == "arm64" && is_clang && !is_asan && !is_bsd && (is_linux || is_android) + + declare_args() { + # Causes all the allocations to be routed via allocator_shim.cc. Usually, +@@ -391,7 +391,7 @@ is_pkeys_available = + # dependencies that use partition_allocator are compiled in AOSP against a + # version of glibc that does not include pkeys syscall numbers. + is_pkeys_available = +- (is_linux || is_chromeos) && current_cpu == "x64" && !is_cronet_build ++ !is_bsd && (is_linux || is_chromeos) && current_cpu == "x64" && !is_cronet_build + declare_args() { + enable_pkeys = is_pkeys_available + } diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn new file mode 100644 index 000000000000..7a4cb0fcec77 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2024-10-16 21:30:44 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/BUILD.gn +@@ -858,7 +858,7 @@ if (is_clang_or_gcc) { + configs -= [ partition_alloc_enable_arc_config ] + } + } +- if (is_chromeos || is_linux) { ++ if ((is_chromeos || is_linux) && !is_bsd) { + shim_headers += [ + "shim/allocator_shim_override_cpp_symbols.h", + "shim/allocator_shim_override_glibc_weak_symbols.h", diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h new file mode 100644 index 000000000000..fe95045ee83f --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_address__space__randomization.h @@ -0,0 +1,20 @@ +--- base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/address_space_randomization.h +@@ -38,7 +38,7 @@ AslrMask(uintptr_t bits) { + + #if PA_BUILDFLAG(PA_ARCH_CPU_64_BITS) + +- #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) ++ #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !PA_BUILDFLAG(IS_BSD) + + // We shouldn't allocate system pages at all for sanitizer builds. However, + // we do, and if random hint addresses interfere with address ranges +@@ -125,7 +125,7 @@ AslrMask(uintptr_t bits) { + return AslrAddress(0x20000000ULL); + } + #elif PA_BUILDFLAG(PA_ARCH_CPU_ARM64) +- #if PA_BUILDFLAG(IS_LINUX) ++ #if PA_BUILDFLAG(IS_LINUX) || PA_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/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h new file mode 100644 index 000000000000..e6b5cc238ebb --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator.h @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator.h.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/page_allocator.h +@@ -269,7 +269,7 @@ constexpr PA_COMPONENT_EXPORT( + // recommitted. Do not assume that this will not change over time. + constexpr PA_COMPONENT_EXPORT( + PARTITION_ALLOC) bool DecommittedMemoryIsAlwaysZeroed() { +-#if PA_BUILDFLAG(IS_APPLE) ++#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) + return false; + #else + return true; diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h new file mode 100644 index 000000000000..8aa3a25a476b --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__constants.h @@ -0,0 +1,13 @@ +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_constants.h +@@ -26,8 +26,8 @@ + #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const)) + + #elif (PA_BUILDFLAG(IS_ANDROID) && PA_BUILDFLAG(PA_ARCH_CPU_64_BITS)) || \ +- (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || \ +- (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_PPC64)) ++ ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || \ ++ ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_PPC64)) + // 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 diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc new file mode 100644 index 000000000000..b8d0906dc963 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc +@@ -9,7 +9,7 @@ + #include "partition_alloc/page_allocator.h" + + #if PA_BUILDFLAG(HAS_MEMORY_TAGGING) || \ +- (defined(__ARM_FEATURE_BTI_DEFAULT) && (__ARM_FEATURE_BTI_DEFAULT == 1)) ++ (defined(__ARM_FEATURE_BTI_DEFAULT) && (__ARM_FEATURE_BTI_DEFAULT == 1) && !PA_BUILDFLAG(IS_BSD)) + struct __ifunc_arg_t; + + #include "partition_alloc/aarch64_support.h" diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h new file mode 100644 index 000000000000..59fa9e6c7140 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.h @@ -0,0 +1,16 @@ +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h.orig 2024-10-16 21:30:44 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.h +@@ -412,8 +412,12 @@ void DiscardSystemPagesInternal(uintptr_t address, siz + + void DiscardSystemPagesInternal(uintptr_t address, size_t length) { + void* ptr = reinterpret_cast<void*>(address); +-#if PA_BUILDFLAG(IS_APPLE) ++#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) ++#if PA_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/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc new file mode 100644 index 000000000000..62c6e3a9f113 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_proc__maps__linux.cc @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/proc_maps_linux.cc +@@ -19,7 +19,7 @@ + #include "partition_alloc/partition_alloc_check.h" + + #if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || \ +- PA_BUILDFLAG(IS_ANDROID) ++ PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_BSD) + #include <inttypes.h> + #endif + diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc new file mode 100644 index 000000000000..549ff192f0cb --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_debug_stack__trace__posix.cc @@ -0,0 +1,34 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/debug/stack_trace_posix.cc +@@ -13,11 +13,11 @@ + #include "partition_alloc/partition_alloc_base/posix/eintr_wrapper.h" + #include "partition_alloc/partition_alloc_base/strings/safe_sprintf.h" + +-#if !PA_BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(IS_APPLE) ++#if !PA_BUILDFLAG(IS_ANDROID) && !PA_BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(IS_BSD) + #include <link.h> // For ElfW() macro. + #endif + +-#if PA_BUILDFLAG(IS_APPLE) ++#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) + #include <dlfcn.h> + #endif + +@@ -25,7 +25,7 @@ namespace { + + namespace { + +-#if !PA_BUILDFLAG(IS_APPLE) ++#if !PA_BUILDFLAG(IS_APPLE) && !PA_BUILDFLAG(IS_BSD) + + // On Android the 'open' function has two versions: + // int open(const char *pathname, int flags); +@@ -369,7 +369,7 @@ void PrintStackTraceInternal(const void** trace, size_ + } + #endif // !PA_BUILDFLAG(IS_APPLE) + +-#if PA_BUILDFLAG(IS_APPLE) ++#if PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_BSD) + // Since /proc/self/maps is not available, use dladdr() to obtain module + // names and offsets inside the modules from the given addresses. + void PrintStackTraceInternal(const void* const* trace, size_t size) { diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc new file mode 100644 index 000000000000..d14f3414a2ee --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc @@ -0,0 +1,13 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc +@@ -102,6 +102,10 @@ void RandBytes(void* output, size_t output_length) { + if (getentropy(output, output_length) == 0) { + return; + } ++#elif PA_BUILDFLAG(IS_BSD) ++ if (getentropy(output, output_length) == 0) { ++ return; ++ } + #endif + // If getrandom(2) above returned with an error and the /dev/urandom fallback + // took place on Linux/ChromeOS bots, they would fail with a CHECK in diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h new file mode 100644 index 000000000000..a8024bde3b2e --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread.h @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread.h +@@ -37,6 +37,8 @@ typedef mach_port_t PlatformThreadId; + typedef zx_handle_t PlatformThreadId; + #elif PA_BUILDFLAG(IS_APPLE) + typedef mach_port_t PlatformThreadId; ++#elif PA_BUILDFLAG(IS_BSD) ++typedef uint64_t PlatformThreadId; + #elif PA_BUILDFLAG(IS_POSIX) + typedef pid_t PlatformThreadId; + #endif diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h new file mode 100644 index 000000000000..d94cacc3e49b --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__internal__posix.h @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h +@@ -10,7 +10,7 @@ namespace partition_alloc::internal::base::internal { + + namespace partition_alloc::internal::base::internal { + +-#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) ++#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_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/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc new file mode 100644 index 000000000000..f06c30f85ea0 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_threading_platform__thread__posix.cc @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/threading/platform_thread_posix.cc +@@ -18,7 +18,7 @@ + #include "partition_alloc/partition_alloc_base/logging.h" + #include "partition_alloc/partition_alloc_base/threading/platform_thread_internal_posix.h" + +-#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) ++#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) + #include <sys/syscall.h> + #include <atomic> + #endif diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h new file mode 100644 index 000000000000..d2bf8d626d57 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__config.h @@ -0,0 +1,20 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h.orig 2024-10-16 21:30:44 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_config.h +@@ -168,7 +168,7 @@ constexpr bool kUseLazyCommit = false; + // This may be required on more platforms in the future. + #define PA_CONFIG_HAS_ATFORK_HANDLER() \ + (PA_BUILDFLAG(IS_APPLE) || PA_BUILDFLAG(IS_LINUX) || \ +- PA_BUILDFLAG(IS_CHROMEOS)) ++ PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD)) + + // Enable shadow metadata. + // +@@ -231,7 +231,7 @@ constexpr bool kUseLazyCommit = false; + // Also enabled on ARM64 macOS and iOS, as the 16kiB pages on this platform lead + // to larger slot spans. + #if PA_BUILDFLAG(IS_LINUX) || \ +- (PA_BUILDFLAG(IS_APPLE) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) ++ (PA_BUILDFLAG(IS_APPLE) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) || PA_BUILDFLAG(IS_BSD) + #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() 1 + #else + #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() 0 diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h new file mode 100644 index 000000000000..08bf8b453393 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h @@ -0,0 +1,20 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2024-10-16 21:30:44 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h +@@ -329,7 +329,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask); + // 8GB for each of the glued pools). + #if PA_BUILDFLAG(HAS_64_BIT_POINTERS) + #if PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_IOS) || \ +- PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) ++ PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) || PA_BUILDFLAG(IS_BSD) + constexpr size_t kPoolMaxSize = 8 * kGiB; + #else + constexpr size_t kPoolMaxSize = 16 * kGiB; +@@ -446,7 +446,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() { + // TODO(casey.smalley@arm.com): under 64k pages we can end up in a situation + // where a normal slot span will be large enough to contain multiple items, + // but the address will go over the final partition page after being aligned. +-#if PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) ++#if (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) + constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 4; + #else + constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 2; diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h new file mode 100644 index 000000000000..03cf424478d2 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__forward.h @@ -0,0 +1,16 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h.orig 2023-11-29 21:39:39 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_forward.h +@@ -28,9 +28,13 @@ namespace internal { + // the second one 16. We could technically return something different for + // malloc() and operator new(), but this would complicate things, and most of + // our allocations are presumably coming from operator new() anyway. ++#if defined(__i386__) && defined(OS_FREEBSD) ++constexpr size_t kAlignment = 8; ++#else + constexpr size_t kAlignment = + std::max(alignof(max_align_t), + static_cast<size_t>(__STDCPP_DEFAULT_NEW_ALIGNMENT__)); ++#endif + static_assert(kAlignment <= 16, + "PartitionAlloc doesn't support a fundamental alignment larger " + "than 16 bytes."); diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc new file mode 100644 index 000000000000..86e9ea548d3c --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc @@ -0,0 +1,29 @@ +--- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2024-10-16 21:30:44 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/partition_root.cc +@@ -44,7 +44,7 @@ + #include "wow64apiset.h" + #endif + +-#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) ++#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) + #include <pthread.h> + #endif + +@@ -290,7 +290,7 @@ void PartitionAllocMallocInitOnce() { + return; + } + +-#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) ++#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_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. +@@ -1110,7 +1110,7 @@ void PartitionRoot::Init(PartitionOptions opts) { + // apple OSes. + PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) || + (internal::SystemPageSize() == (size_t{1} << 14))); +-#elif PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) ++#elif (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_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 is only + // supported on Linux on AArch64. diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc new file mode 100644 index 000000000000..c248fb716c73 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_spinning__mutex.cc @@ -0,0 +1,53 @@ +--- base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/spinning_mutex.cc +@@ -17,7 +17,16 @@ + #endif + + #if PA_CONFIG(HAS_LINUX_KERNEL) ++#if defined(OS_OPENBSD) ++#include <sys/time.h> ++#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> + +@@ -106,8 +115,16 @@ 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); ++#elif defined(OS_OPENBSD) ++ int err = futex(reinterpret_cast<volatile unsigned int *>(&state_), FUTEX_WAIT | FUTEX_PRIVATE_FLAG, ++ 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. +@@ -119,8 +136,16 @@ void SpinningMutex::FutexWake() { + + 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); ++#elif defined(OS_OPENBSD) ++ long retval = futex(reinterpret_cast<volatile unsigned int *>(&state_), FUTEX_WAKE | FUTEX_PRIVATE_FLAG, ++ 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/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc new file mode 100644 index 000000000000..98f031037d56 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_stack_stack.cc @@ -0,0 +1,50 @@ +--- base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/stack/stack.cc +@@ -18,6 +18,10 @@ + #include <pthread.h> + #endif + ++#if PA_BUILDFLAG(IS_BSD) ++#include <pthread_np.h> ++#endif ++ + #if PA_BUILDFLAG(PA_LIBC_GLIBC) + extern "C" void* __libc_stack_end; + #endif +@@ -48,6 +52,36 @@ void* GetStackTop() { + + void* GetStackTop() { + return pthread_get_stackaddr_np(pthread_self()); ++} ++ ++#elif PA_BUILDFLAG(IS_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 PA_BUILDFLAG(IS_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 PA_BUILDFLAG(IS_POSIX) || PA_BUILDFLAG(IS_FUCHSIA) diff --git a/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc new file mode 100644 index 000000000000..7fce3422e882 --- /dev/null +++ b/devel/electron33/files/patch-base_allocator_partition__allocator_src_partition__alloc_thread__isolation_pkey.cc @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc.orig 2024-08-14 20:54:22 UTC ++++ base/allocator/partition_allocator/src/partition_alloc/thread_isolation/pkey.cc +@@ -16,7 +16,7 @@ + #include "partition_alloc/partition_alloc_check.h" + #include "partition_alloc/thread_isolation/thread_isolation.h" + +-#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) ++#if !PA_BUILDFLAG(IS_LINUX) && !PA_BUILDFLAG(IS_CHROMEOS) && !PA_BUILDFLAG(IS_BSD) + #error "This pkey code is currently only supported on Linux and ChromeOS" + #endif + diff --git a/devel/electron33/files/patch-base_atomicops.h b/devel/electron33/files/patch-base_atomicops.h new file mode 100644 index 000000000000..7c186aff0e5b --- /dev/null +++ b/devel/electron33/files/patch-base_atomicops.h @@ -0,0 +1,14 @@ +--- base/atomicops.h.orig 2023-03-30 00:33:38 UTC ++++ base/atomicops.h +@@ -71,7 +71,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/devel/electron33/files/patch-base_base__paths__posix.cc b/devel/electron33/files/patch-base_base__paths__posix.cc new file mode 100644 index 000000000000..0349b5225780 --- /dev/null +++ b/devel/electron33/files/patch-base_base__paths__posix.cc @@ -0,0 +1,108 @@ +--- base/base_paths_posix.cc.orig 2024-10-16 21:30:44 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" +@@ -26,9 +27,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 +@@ -47,8 +52,7 @@ bool PathProviderPosix(int key, FilePath* result) { + *result = bin_dir; + return true; + #elif BUILDFLAG(IS_FREEBSD) +- int name[] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 }; +- std::optional<std::string> bin_dir = StringSysctl(name, std::size(name)); ++ std::optional<std::string> bin_dir = StringSysctl({ CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 }); + if (!bin_dir.has_value() || bin_dir.value().length() <= 1) { + NOTREACHED() << "Unable to resolve path."; + } +@@ -62,13 +66,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, (int)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/chrome/chrome"); ++ return true; ++#if !BUILDFLAG(IS_AIX) ++ } ++ return ret; ++#endif + #endif + } + case DIR_SRC_TEST_DATA_ROOT: { diff --git a/devel/electron33/files/patch-base_compiler__specific.h b/devel/electron33/files/patch-base_compiler__specific.h new file mode 100644 index 000000000000..f9c7037dc29d --- /dev/null +++ b/devel/electron33/files/patch-base_compiler__specific.h @@ -0,0 +1,20 @@ +--- base/compiler_specific.h.orig 2024-10-16 21:30:44 UTC ++++ base/compiler_specific.h +@@ -257,7 +257,7 @@ + // + // In some cases it's desirable to remove this, e.g. on hot functions, or if + // we have purposely changed the reference canary. +-#if defined(COMPILER_GCC) || defined(__clang__) ++#if (defined(COMPILER_GCC) || defined(__clang__)) && !defined(__OpenBSD__) && !defined(__FreeBSD__) + #if HAS_ATTRIBUTE(__no_stack_protector__) + #define NO_STACK_PROTECTOR __attribute__((__no_stack_protector__)) + #else +@@ -388,7 +388,7 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { + // See https://clang.llvm.org/docs/AttributeReference.html#preserve-most for + // more details. + #if (defined(ARCH_CPU_ARM64) || defined(ARCH_CPU_X86_64)) && \ +- !(BUILDFLAG(IS_WIN) && defined(ARCH_CPU_ARM64)) && \ ++ !((BUILDFLAG(IS_WIN) || BUILDFLAG(IS_OPENBSD)) && defined(ARCH_CPU_ARM64)) && \ + !defined(COMPONENT_BUILD) && defined(__clang__) && \ + __clang_major__ >= 17 && HAS_ATTRIBUTE(preserve_most) + #define PRESERVE_MOST __attribute__((preserve_most)) diff --git a/devel/electron33/files/patch-base_debug_debugger__posix.cc b/devel/electron33/files/patch-base_debug_debugger__posix.cc new file mode 100644 index 000000000000..8e33d145b459 --- /dev/null +++ b/devel/electron33/files/patch-base_debug_debugger__posix.cc @@ -0,0 +1,69 @@ +--- base/debug/debugger_posix.cc.orig 2024-06-18 21:43:17 UTC ++++ base/debug/debugger_posix.cc +@@ -41,6 +41,10 @@ + #include <sys/sysctl.h> + #endif + ++#if BUILDFLAG(IS_OPENBSD) ++#include <sys/proc.h> ++#endif ++ + #if BUILDFLAG(IS_FREEBSD) + #include <sys/user.h> + #endif +@@ -100,32 +104,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)); ++ mib[5] = static_cast<int>((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/devel/electron33/files/patch-base_debug_elf__reader.cc b/devel/electron33/files/patch-base_debug_elf__reader.cc new file mode 100644 index 000000000000..c2f0797d9ef2 --- /dev/null +++ b/devel/electron33/files/patch-base_debug_elf__reader.cc @@ -0,0 +1,13 @@ +--- base/debug/elf_reader.cc.orig 2024-06-18 21:43:17 UTC ++++ base/debug/elf_reader.cc +@@ -50,6 +50,10 @@ constexpr char kGnuNoteName[] = "GNU"; + + constexpr char kGnuNoteName[] = "GNU"; + ++#ifndef NT_GNU_BUILD_ID ++#define NT_GNU_BUILD_ID 3 ++#endif ++ + // Returns a pointer to the header of the ELF binary mapped into memory, or a + // null pointer if the header is invalid. Here and below |elf_mapped_base| is a + // pointer to the start of the ELF image. diff --git a/devel/electron33/files/patch-base_debug_proc__maps__linux.cc b/devel/electron33/files/patch-base_debug_proc__maps__linux.cc new file mode 100644 index 000000000000..07a7720761ce --- /dev/null +++ b/devel/electron33/files/patch-base_debug_proc__maps__linux.cc @@ -0,0 +1,11 @@ +--- base/debug/proc_maps_linux.cc.orig 2024-06-18 21:43:17 UTC ++++ base/debug/proc_maps_linux.cc +@@ -18,7 +18,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/devel/electron33/files/patch-base_debug_stack__trace.cc b/devel/electron33/files/patch-base_debug_stack__trace.cc new file mode 100644 index 000000000000..c6f6b5b5f1b7 --- /dev/null +++ b/devel/electron33/files/patch-base_debug_stack__trace.cc @@ -0,0 +1,29 @@ +--- base/debug/stack_trace.cc.orig 2024-10-16 21:30:44 UTC ++++ base/debug/stack_trace.cc +@@ -258,7 +258,7 @@ bool StackTrace::WillSymbolizeToStreamForTesting() { + // Symbols are not expected to be reliable when gn args specifies + // symbol_level=0. + return false; +-#elif defined(__UCLIBC__) || defined(_AIX) ++#elif defined(__UCLIBC__) || defined(_AIX) || BUILDFLAG(IS_BSD) + // StackTrace::OutputToStream() is not implemented under uclibc, nor AIX. + // See https://crbug.com/706728 + return false; +@@ -320,7 +320,7 @@ std::string StackTrace::ToStringWithPrefix(cstring_vie + + std::string StackTrace::ToStringWithPrefix(cstring_view prefix_string) const { + std::stringstream stream; +-#if !defined(__UCLIBC__) && !defined(_AIX) ++#if !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD) + OutputToStreamWithPrefix(&stream, prefix_string); + #endif + return stream.str(); +@@ -344,7 +344,7 @@ std::ostream& operator<<(std::ostream& os, const Stack + } + + std::ostream& operator<<(std::ostream& os, const StackTrace& s) { +-#if !defined(__UCLIBC__) && !defined(_AIX) ++#if !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD) + s.OutputToStream(&os); + #else + os << "StackTrace::OutputToStream not implemented."; diff --git a/devel/electron33/files/patch-base_debug_stack__trace__posix.cc b/devel/electron33/files/patch-base_debug_stack__trace__posix.cc new file mode 100644 index 000000000000..4ea8c65a10cb --- /dev/null +++ b/devel/electron33/files/patch-base_debug_stack__trace__posix.cc @@ -0,0 +1,101 @@ +--- base/debug/stack_trace_posix.cc.orig 2024-08-14 20:54:23 UTC ++++ base/debug/stack_trace_posix.cc +@@ -46,7 +46,7 @@ + // execinfo.h and backtrace(3) are really only present in glibc and in macOS + // libc. + #if BUILDFLAG(IS_APPLE) || \ +- (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX)) ++ (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX) && !BUILDFLAG(IS_BSD)) + #define HAVE_BACKTRACE + #include <execinfo.h> + #endif +@@ -64,8 +64,10 @@ + #include <AvailabilityMacros.h> + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ++#if !BUILDFLAG(IS_BSD) + #include <sys/prctl.h> ++#endif + + #include "base/debug/proc_maps_linux.h" + #endif +@@ -307,7 +309,7 @@ void PrintToStderr(const char* output) { + std::ignore = HANDLE_EINTR(write(STDERR_FILENO, output, strlen(output))); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void AlarmSignalHandler(int signal, siginfo_t* info, void* void_context) { + // We have seen rare cases on AMD linux where the default signal handler + // either does not run or a thread (Probably an AMD driver thread) prevents +@@ -324,7 +326,11 @@ void AlarmSignalHandler(int signal, siginfo_t* info, v + "Warning: Default signal handler failed to terminate process.\n"); + PrintToStderr("Calling exit_group() directly to prevent timeout.\n"); + // See: https://man7.org/linux/man-pages/man2/exit_group.2.html ++#if BUILDFLAG(IS_BSD) ++ _exit(EXIT_FAILURE); ++#else + syscall(SYS_exit_group, EXIT_FAILURE); ++#endif + } + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || + // BUILDFLAG(IS_CHROMEOS) +@@ -541,7 +547,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf + _exit(EXIT_FAILURE); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Set an alarm to trigger in case the default handler does not terminate + // the process. See 'AlarmSignalHandler' for more details. + struct sigaction action; +@@ -566,6 +572,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf + // signals that do not re-raise autonomously), such as signals delivered via + // kill() and asynchronous hardware faults such as SEGV_MTEAERR, which would + // otherwise be lost when re-raising the signal via raise(). ++#if !BUILDFLAG(IS_BSD) + long retval = syscall(SYS_rt_tgsigqueueinfo, getpid(), syscall(SYS_gettid), + info->si_signo, info); + if (retval == 0) { +@@ -580,6 +587,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf + if (errno != EPERM) { + _exit(EXIT_FAILURE); + } ++#endif + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || + // BUILDFLAG(IS_CHROMEOS) + +@@ -769,6 +777,7 @@ class SandboxSymbolizeHelper { + return -1; + } + ++#if !BUILDFLAG(IS_BSD) + // This class is copied from + // third_party/crashpad/crashpad/util/linux/scoped_pr_set_dumpable.h. + // It aims at ensuring the process is dumpable before opening /proc/self/mem. +@@ -861,11 +870,15 @@ class SandboxSymbolizeHelper { + r.base = cur_base; + } + } ++#endif + + // Parses /proc/self/maps in order to compile a list of all object file names + // 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)) { +@@ -883,6 +896,7 @@ class SandboxSymbolizeHelper { + + is_initialized_ = true; + return true; ++#endif + } + + // Opens all object files and caches their file descriptors. diff --git a/devel/electron33/files/patch-base_files_dir__reader__linux.h b/devel/electron33/files/patch-base_files_dir__reader__linux.h new file mode 100644 index 000000000000..1cb59f9d7461 --- /dev/null +++ b/devel/electron33/files/patch-base_files_dir__reader__linux.h @@ -0,0 +1,39 @@ +--- base/files/dir_reader_linux.h.orig 2024-06-18 21:43:17 UTC ++++ base/files/dir_reader_linux.h +@@ -21,10 +21,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; +@@ -32,6 +38,7 @@ struct linux_dirent { + unsigned char d_type; + char d_name[0]; + }; ++#endif + + class DirReaderLinux { + public: +@@ -66,7 +73,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/devel/electron33/files/patch-base_files_dir__reader__posix.h b/devel/electron33/files/patch-base_files_dir__reader__posix.h new file mode 100644 index 000000000000..2285fb726f8e --- /dev/null +++ b/devel/electron33/files/patch-base_files_dir__reader__posix.h @@ -0,0 +1,20 @@ +--- base/files/dir_reader_posix.h.orig 2022-06-17 14:20:10 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/devel/electron33/files/patch-base_files_file__path__watcher.h b/devel/electron33/files/patch-base_files_file__path__watcher.h new file mode 100644 index 000000000000..463c96aaf79a --- /dev/null +++ b/devel/electron33/files/patch-base_files_file__path__watcher.h @@ -0,0 +1,11 @@ +--- base/files/file_path_watcher.h.orig 2024-02-21 00:20:30 UTC ++++ base/files/file_path_watcher.h +@@ -105,7 +105,7 @@ class BASE_EXPORT FilePathWatcher { + Type type = Type::kNonRecursive; + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // The callback will return the full path to a changed file instead of + // the watched path supplied as |path| when Watch is called. + // So the full path can be different from the watched path when a folder is diff --git a/devel/electron33/files/patch-base_files_file__path__watcher__bsd.cc b/devel/electron33/files/patch-base_files_file__path__watcher__bsd.cc new file mode 100644 index 000000000000..5bac3095f9f0 --- /dev/null +++ b/devel/electron33/files/patch-base_files_file__path__watcher__bsd.cc @@ -0,0 +1,57 @@ +--- base/files/file_path_watcher_bsd.cc.orig 2022-10-24 13:33:33 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() { ++ DETACH_FROM_SEQUENCE(sequence_checker_); ++ impl_ = std::make_unique<FilePathWatcherImpl>(); ++} ++ ++} // namespace base diff --git a/devel/electron33/files/patch-base_files_file__path__watcher__kqueue.h b/devel/electron33/files/patch-base_files_file__path__watcher__kqueue.h new file mode 100644 index 000000000000..821858b75711 --- /dev/null +++ b/devel/electron33/files/patch-base_files_file__path__watcher__kqueue.h @@ -0,0 +1,10 @@ +--- base/files/file_path_watcher_kqueue.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-base_files_file__path__watcher__unittest.cc b/devel/electron33/files/patch-base_files_file__path__watcher__unittest.cc new file mode 100644 index 000000000000..dbaf2a8a80e0 --- /dev/null +++ b/devel/electron33/files/patch-base_files_file__path__watcher__unittest.cc @@ -0,0 +1,29 @@ +--- base/files/file_path_watcher_unittest.cc.orig 2024-08-14 20:54:23 UTC ++++ base/files/file_path_watcher_unittest.cc +@@ -902,7 +902,7 @@ TEST_F(FilePathWatcherTest, WatchDirectory) { + } + delegate.RunUntilEventsMatch(event_expecter); + +-#if !BUILDFLAG(IS_APPLE) ++#if !BUILDFLAG(IS_APPLE) && BUILDFLAG(IS_BSD) + ASSERT_TRUE(WriteFile(file1, "content v2")); + // Mac implementation does not detect files modified in a directory. + // TODO(crbug.com/40263777): Expect that no events are fired on Mac. +@@ -1848,7 +1848,7 @@ enum Permission { Read, Write, Execute }; + + enum Permission { Read, Write, 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; + +@@ -1882,7 +1882,7 @@ bool ChangeFilePermissions(const FilePath& path, Permi + + } // namespace + +-#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/devel/electron33/files/patch-base_files_file__util__posix.cc b/devel/electron33/files/patch-base_files_file__util__posix.cc new file mode 100644 index 000000000000..aeb53f2975e7 --- /dev/null +++ b/devel/electron33/files/patch-base_files_file__util__posix.cc @@ -0,0 +1,55 @@ +--- base/files/file_util_posix.cc.orig 2024-08-14 20:54:23 UTC ++++ base/files/file_util_posix.cc +@@ -889,36 +889,33 @@ bool CreateDirectoryAndGetError(const FilePath& full_p + bool CreateDirectoryAndGetError(const FilePath& full_path, 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); +- for (FilePath path = full_path.DirName(); path.value() != last_path.value(); +- path = path.DirName()) { ++ if (full_path != kFileSystemRoot) ++ subpaths.push_back(full_path); ++ for (FilePath path = full_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); ++ 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; + } +- errno = saved_errno; +- return false; ++ } else if (!DirectoryExists(subpath)) { ++ if (error) ++ *error = File::OSErrorToFileError(ENOTDIR); ++ return false; + } + } + return true; diff --git a/devel/electron33/files/patch-base_files_file__util__unittest.cc b/devel/electron33/files/patch-base_files_file__util__unittest.cc new file mode 100644 index 000000000000..c06005356072 --- /dev/null +++ b/devel/electron33/files/patch-base_files_file__util__unittest.cc @@ -0,0 +1,20 @@ +--- base/files/file_util_unittest.cc.orig 2024-10-16 21:30:44 UTC ++++ base/files/file_util_unittest.cc +@@ -3886,7 +3886,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"; +@@ -4608,7 +4608,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/devel/electron33/files/patch-base_files_important__file__writer__cleaner.cc b/devel/electron33/files/patch-base_files_important__file__writer__cleaner.cc new file mode 100644 index 000000000000..80f08d51a819 --- /dev/null +++ b/devel/electron33/files/patch-base_files_important__file__writer__cleaner.cc @@ -0,0 +1,12 @@ +--- base/files/important_file_writer_cleaner.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-base_files_scoped__file.cc b/devel/electron33/files/patch-base_files_scoped__file.cc new file mode 100644 index 000000000000..116fe3355776 --- /dev/null +++ b/devel/electron33/files/patch-base_files_scoped__file.cc @@ -0,0 +1,11 @@ +--- base/files/scoped_file.cc.orig 2024-08-14 20:54:23 UTC ++++ base/files/scoped_file.cc +@@ -32,7 +32,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/devel/electron33/files/patch-base_functional_unretained__traits.h b/devel/electron33/files/patch-base_functional_unretained__traits.h new file mode 100644 index 000000000000..40e618bb5141 --- /dev/null +++ b/devel/electron33/files/patch-base_functional_unretained__traits.h @@ -0,0 +1,11 @@ +--- base/functional/unretained_traits.h.orig 2024-04-15 20:33:42 UTC ++++ base/functional/unretained_traits.h +@@ -93,7 +93,7 @@ struct SupportsUnretainedImpl { + // official builds, and then in non-test code as well. + #if defined(FORCE_UNRETAINED_COMPLETENESS_CHECKS_FOR_TESTS) || \ + (!defined(UNIT_TEST) && !defined(OFFICIAL_BUILD) && \ +- (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN))) ++ (BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD))) + static_assert(v, + "Argument requires unretained storage, but type is not " + "fully defined. This prevents determining whether " diff --git a/devel/electron33/files/patch-base_i18n_icu__util.cc b/devel/electron33/files/patch-base_i18n_icu__util.cc new file mode 100644 index 000000000000..5c7f6141a4d2 --- /dev/null +++ b/devel/electron33/files/patch-base_i18n_icu__util.cc @@ -0,0 +1,20 @@ +--- base/i18n/icu_util.cc.orig 2024-04-15 20:33:42 UTC ++++ base/i18n/icu_util.cc +@@ -52,7 +52,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 +@@ -328,7 +328,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/devel/electron33/files/patch-base_linux__util.cc b/devel/electron33/files/patch-base_linux__util.cc new file mode 100644 index 000000000000..80093eea9666 --- /dev/null +++ b/devel/electron33/files/patch-base_linux__util.cc @@ -0,0 +1,17 @@ +--- base/linux_util.cc.orig 2024-06-18 21:43:17 UTC ++++ base/linux_util.cc +@@ -154,10 +154,14 @@ bool GetThreadsForProcess(pid_t pid, std::vector<pid_t + } + + bool GetThreadsForProcess(pid_t pid, std::vector<pid_t>* tids) { ++#if BUILDFLAG(IS_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); + return GetThreadsFromProcessDir(buf, tids); ++#endif + } + + bool GetThreadsForCurrentProcess(std::vector<pid_t>* tids) { diff --git a/devel/electron33/files/patch-base_logging__unittest.cc b/devel/electron33/files/patch-base_logging__unittest.cc new file mode 100644 index 000000000000..92c9dc61107c --- /dev/null +++ b/devel/electron33/files/patch-base_logging__unittest.cc @@ -0,0 +1,31 @@ +--- base/logging_unittest.cc.orig 2024-06-18 21:43:17 UTC ++++ base/logging_unittest.cc +@@ -41,7 +41,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 + +@@ -579,14 +579,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/devel/electron33/files/patch-base_memory_discardable__memory.cc b/devel/electron33/files/patch-base_memory_discardable__memory.cc new file mode 100644 index 000000000000..5adaef3fb706 --- /dev/null +++ b/devel/electron33/files/patch-base_memory_discardable__memory.cc @@ -0,0 +1,38 @@ +--- base/memory/discardable_memory.cc.orig 2024-10-16 21:30:44 UTC ++++ base/memory/discardable_memory.cc +@@ -26,7 +26,7 @@ BASE_FEATURE(kMadvFreeDiscardableMemory, + 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) + BASE_FEATURE(kDiscardableMemoryBackingTrial, + "DiscardableMemoryBackingTrial", + base::FEATURE_DISABLED_BY_DEFAULT); +@@ -39,7 +39,7 @@ namespace { + + 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 = +@@ -58,7 +58,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. +@@ -88,7 +88,7 @@ DiscardableMemoryBacking GetDiscardableMemoryBacking() + 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/devel/electron33/files/patch-base_memory_discardable__memory__internal.h b/devel/electron33/files/patch-base_memory_discardable__memory__internal.h new file mode 100644 index 000000000000..debc3f9a15af --- /dev/null +++ b/devel/electron33/files/patch-base_memory_discardable__memory__internal.h @@ -0,0 +1,11 @@ +--- base/memory/discardable_memory_internal.h.orig 2024-10-16 21:30:44 UTC ++++ base/memory/discardable_memory_internal.h +@@ -12,7 +12,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/devel/electron33/files/patch-base_memory_madv__free__discardable__memory__posix.cc b/devel/electron33/files/patch-base_memory_madv__free__discardable__memory__posix.cc new file mode 100644 index 000000000000..80fde02b84d7 --- /dev/null +++ b/devel/electron33/files/patch-base_memory_madv__free__discardable__memory__posix.cc @@ -0,0 +1,21 @@ +--- base/memory/madv_free_discardable_memory_posix.cc.orig 2024-10-16 21:30:44 UTC ++++ base/memory/madv_free_discardable_memory_posix.cc +@@ -310,6 +310,10 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons + + 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 +@@ -325,6 +329,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons + return false; + } + return true; ++#endif + } + + bool MadvFreeDiscardableMemoryPosix::IsDiscarded() const { diff --git a/devel/electron33/files/patch-base_memory_platform__shared__memory__region.h b/devel/electron33/files/patch-base_memory_platform__shared__memory__region.h new file mode 100644 index 000000000000..33dba1312700 --- /dev/null +++ b/devel/electron33/files/patch-base_memory_platform__shared__memory__region.h @@ -0,0 +1,29 @@ +--- base/memory/platform_shared_memory_region.h.orig 2024-04-15 20:33:42 UTC ++++ base/memory/platform_shared_memory_region.h +@@ -17,7 +17,7 @@ + #include "base/unguessable_token.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + namespace content { + class SandboxIPCHandler; + } +@@ -84,7 +84,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: +@@ -216,7 +216,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/devel/electron33/files/patch-base_memory_platform__shared__memory__region__posix.cc b/devel/electron33/files/patch-base_memory_platform__shared__memory__region__posix.cc new file mode 100644 index 000000000000..fc212fadf786 --- /dev/null +++ b/devel/electron33/files/patch-base_memory_platform__shared__memory__region__posix.cc @@ -0,0 +1,29 @@ +--- base/memory/platform_shared_memory_region_posix.cc.orig 2023-02-01 18:43: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 = +@@ -168,7 +168,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 +@@ -197,7 +197,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/devel/electron33/files/patch-base_memory_protected__memory.h b/devel/electron33/files/patch-base_memory_protected__memory.h new file mode 100644 index 000000000000..ed1130a8ebaa --- /dev/null +++ b/devel/electron33/files/patch-base_memory_protected__memory.h @@ -0,0 +1,44 @@ +--- base/memory/protected_memory.h.orig 2024-10-16 21:30:44 UTC ++++ base/memory/protected_memory.h +@@ -119,12 +119,12 @@ __declspec(selectany) char __stop_protected_memory; + + #define DECLARE_PROTECTED_DATA constinit + #define DEFINE_PROTECTED_DATA constinit __declspec(allocate("prot$mem")) +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // This value is used to align the writers variable. That variable needs to be + // aligned to ensure that the protected memory section starts on a page + // boundary. + #if (PA_BUILDFLAG(IS_ANDROID) && PA_BUILDFLAG(PA_ARCH_CPU_64_BITS)) || \ +- (PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) ++ ((PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64)) + // arm64 supports 4kb, 16kb, and 64kb pages. Set to the largest of 64kb as that + // will guarantee the section is page aligned regardless of the choice. + inline constexpr int kProtectedMemoryAlignment = 65536; +@@ -339,7 +339,7 @@ class BASE_EXPORT AutoWritableMemoryBase { + // where an attacker could overwrite it with a large value and invoke code + // that constructs and destructs an AutoWritableMemory. After such a call + // protected memory would still be set writable because writers > 0. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // On Linux, the protected memory section is not automatically page aligned. + // This means that attempts to reset the protected memory region to readonly + // will set some of the preceding section that is on the same page readonly +@@ -353,7 +353,7 @@ class BASE_EXPORT AutoWritableMemoryBase { + #endif + static inline size_t writers GUARDED_BY(writers_lock()) = 0; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // On Linux, there is no guarantee the section following the protected + // memory section is page aligned. This can result in attempts to change + // the access permissions of the end of the protected memory section +@@ -411,7 +411,7 @@ class BASE_EXPORT AutoWritableMemoryInitializer + // the variable to something large before the section was read-only. + WriterData::writers = 0; + CHECK(SetProtectedSectionReadOnly()); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Set the protected_memory_section_buffer to true to ensure the buffer + // section is created. If a variable is declared but not used the memory + // section won't be created. diff --git a/devel/electron33/files/patch-base_memory_protected__memory__posix.cc b/devel/electron33/files/patch-base_memory_protected__memory__posix.cc new file mode 100644 index 000000000000..17c05890aeb2 --- /dev/null +++ b/devel/electron33/files/patch-base_memory_protected__memory__posix.cc @@ -0,0 +1,20 @@ +--- base/memory/protected_memory_posix.cc.orig 2024-10-16 21:30:44 UTC ++++ base/memory/protected_memory_posix.cc +@@ -6,7 +6,7 @@ + + #include <sys/mman.h> + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include <sys/resource.h> + #endif // BUILDFLAG(IS_LINUX) + +@@ -34,7 +34,7 @@ namespace internal { + } // namespace + + namespace internal { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + void CheckMemoryReadOnly(const void* ptr) { + const uintptr_t page_start = + bits::AlignDown(reinterpret_cast<uintptr_t>(ptr), GetPageSize()); diff --git a/devel/electron33/files/patch-base_message__loop_message__pump__epoll.cc b/devel/electron33/files/patch-base_message__loop_message__pump__epoll.cc new file mode 100644 index 000000000000..2e8d9278c0f3 --- /dev/null +++ b/devel/electron33/files/patch-base_message__loop_message__pump__epoll.cc @@ -0,0 +1,11 @@ +--- base/message_loop/message_pump_epoll.cc.orig 2024-10-16 21:30:44 UTC ++++ base/message_loop/message_pump_epoll.cc +@@ -42,7 +42,7 @@ constexpr std::pair<uint32_t, short int> kEpollToPollE + std::atomic_bool g_use_poll = false; + + constexpr std::pair<uint32_t, short int> kEpollToPollEvents[] = { +- {EPOLLIN, POLLIN}, {EPOLLOUT, POLLOUT}, {EPOLLRDHUP, POLLRDHUP}, ++ {EPOLLIN, POLLIN}, {EPOLLOUT, POLLOUT}, + {EPOLLPRI, POLLPRI}, {EPOLLERR, POLLERR}, {EPOLLHUP, POLLHUP}}; + + void SetEventsForPoll(const uint32_t epoll_events, struct pollfd* poll_entry) { diff --git a/devel/electron33/files/patch-base_message__loop_message__pump__epoll.h b/devel/electron33/files/patch-base_message__loop_message__pump__epoll.h new file mode 100644 index 000000000000..35523e181339 --- /dev/null +++ b/devel/electron33/files/patch-base_message__loop_message__pump__epoll.h @@ -0,0 +1,14 @@ +--- base/message_loop/message_pump_epoll.h.orig 2024-10-16 21:30:44 UTC ++++ base/message_loop/message_pump_epoll.h +@@ -51,7 +51,11 @@ BASE_FEATURE(kUsePollForMessagePumpEpoll, + // every call, don't do it when we have too many FDs. + BASE_FEATURE(kUsePollForMessagePumpEpoll, + "UsePollForMessagePumpEpoll", ++#if BUILDFLAG(IS_BSD) ++ base::FEATURE_ENABLED_BY_DEFAULT); ++#else + base::FEATURE_DISABLED_BY_DEFAULT); ++#endif + + // A MessagePump implementation suitable for I/O message loops on Linux-based + // systems with epoll API support. diff --git a/devel/electron33/files/patch-base_message__loop_message__pump__glib.cc b/devel/electron33/files/patch-base_message__loop_message__pump__glib.cc new file mode 100644 index 000000000000..6734d01e8bf0 --- /dev/null +++ b/devel/electron33/files/patch-base_message__loop_message__pump__glib.cc @@ -0,0 +1,28 @@ +--- base/message_loop/message_pump_glib.cc.orig 2022-08-31 12:19:35 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/devel/electron33/files/patch-base_native__library__posix.cc b/devel/electron33/files/patch-base_native__library__posix.cc new file mode 100644 index 000000000000..c2799ae4ec64 --- /dev/null +++ b/devel/electron33/files/patch-base_native__library__posix.cc @@ -0,0 +1,11 @@ +--- base/native_library_posix.cc.orig 2024-08-14 20:54:23 UTC ++++ base/native_library_posix.cc +@@ -34,7 +34,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/devel/electron33/files/patch-base_native__library__unittest.cc b/devel/electron33/files/patch-base_native__library__unittest.cc new file mode 100644 index 000000000000..8d710fec4649 --- /dev/null +++ b/devel/electron33/files/patch-base_native__library__unittest.cc @@ -0,0 +1,11 @@ +--- base/native_library_unittest.cc.orig 2024-10-16 21:30:44 UTC ++++ base/native_library_unittest.cc +@@ -135,7 +135,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/devel/electron33/files/patch-base_posix_can__lower__nice__to.cc b/devel/electron33/files/patch-base_posix_can__lower__nice__to.cc new file mode 100644 index 000000000000..67a5d35808ae --- /dev/null +++ b/devel/electron33/files/patch-base_posix_can__lower__nice__to.cc @@ -0,0 +1,16 @@ +--- base/posix/can_lower_nice_to.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-base_posix_file__descriptor__shuffle.h b/devel/electron33/files/patch-base_posix_file__descriptor__shuffle.h new file mode 100644 index 000000000000..165dd73720dd --- /dev/null +++ b/devel/electron33/files/patch-base_posix_file__descriptor__shuffle.h @@ -0,0 +1,11 @@ +--- base/posix/file_descriptor_shuffle.h.orig 2024-10-16 21:30:44 UTC ++++ base/posix/file_descriptor_shuffle.h +@@ -26,6 +26,8 @@ + #include "base/base_export.h" + #include "base/compiler_specific.h" + ++#undef close ++ + namespace base { + + // A Delegate which performs the actions required to perform an injective diff --git a/devel/electron33/files/patch-base_posix_sysctl.cc b/devel/electron33/files/patch-base_posix_sysctl.cc new file mode 100644 index 000000000000..7599323d6f5b --- /dev/null +++ b/devel/electron33/files/patch-base_posix_sysctl.cc @@ -0,0 +1,10 @@ +--- base/posix/sysctl.cc.orig 2023-11-29 21:39:40 UTC ++++ base/posix/sysctl.cc +@@ -4,6 +4,7 @@ + + #include "base/posix/sysctl.h" + ++#include <sys/types.h> + #include <sys/sysctl.h> + + #include <initializer_list> diff --git a/devel/electron33/files/patch-base_posix_unix__domain__socket.cc b/devel/electron33/files/patch-base_posix_unix__domain__socket.cc new file mode 100644 index 000000000000..30030a397886 --- /dev/null +++ b/devel/electron33/files/patch-base_posix_unix__domain__socket.cc @@ -0,0 +1,57 @@ +--- base/posix/unix_domain_socket.cc.orig 2024-06-18 21:43:17 UTC ++++ base/posix/unix_domain_socket.cc +@@ -56,7 +56,7 @@ bool UnixDomainSocket::EnableReceiveProcessId(int fd) + + // 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 +@@ -82,7 +82,7 @@ bool UnixDomainSocket::SendMsg(int fd, + + struct cmsghdr* cmsg; + msg.msg_control = control_buffer; +-#if BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + msg.msg_controllen = checked_cast<socklen_t>(control_len); + #else + msg.msg_controllen = control_len; +@@ -90,7 +90,7 @@ bool UnixDomainSocket::SendMsg(int fd, + cmsg = CMSG_FIRSTHDR(&msg); + cmsg->cmsg_level = SOL_SOCKET; + cmsg->cmsg_type = SCM_RIGHTS; +-#if BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + cmsg->cmsg_len = checked_cast<u_int>(CMSG_LEN(sizeof(int) * fds.size())); + #else + cmsg->cmsg_len = CMSG_LEN(sizeof(int) * fds.size()); +@@ -154,7 +154,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)) +@@ -182,7 +182,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) { +@@ -216,6 +216,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/devel/electron33/files/patch-base_posix_unix__domain__socket__unittest.cc b/devel/electron33/files/patch-base_posix_unix__domain__socket__unittest.cc new file mode 100644 index 000000000000..432387473491 --- /dev/null +++ b/devel/electron33/files/patch-base_posix_unix__domain__socket__unittest.cc @@ -0,0 +1,11 @@ +--- base/posix/unix_domain_socket_unittest.cc.orig 2024-06-18 21:43:17 UTC ++++ base/posix/unix_domain_socket_unittest.cc +@@ -15,6 +15,8 @@ + #include <sys/types.h> + #include <unistd.h> + ++#include <signal.h> ++ + #include "base/files/file_util.h" + #include "base/files/scoped_file.h" + #include "base/functional/bind.h" diff --git a/devel/electron33/files/patch-base_process_internal__linux.h b/devel/electron33/files/patch-base_process_internal__linux.h new file mode 100644 index 000000000000..de187aec237f --- /dev/null +++ b/devel/electron33/files/patch-base_process_internal__linux.h @@ -0,0 +1,20 @@ +--- base/process/internal_linux.h.orig 2024-06-18 21:43:17 UTC ++++ base/process/internal_linux.h +@@ -140,6 +140,9 @@ void ForEachProcessTask(base::ProcessHandle process, L + // arguments to the lambda. + template <typename Lambda> + void ForEachProcessTask(base::ProcessHandle process, Lambda&& lambda) { ++#if BUILDFLAG(IS_BSD) ++ return; ++#else + // Iterate through the different threads tracked in /proc/<pid>/task. + FilePath fd_path = GetProcPidDir(process).Append("task"); + +@@ -159,6 +162,7 @@ void ForEachProcessTask(base::ProcessHandle process, L + FilePath task_path = fd_path.Append(tid_str); + lambda(tid, task_path); + } ++#endif + } + + } // namespace internal diff --git a/devel/electron33/files/patch-base_process_kill.h b/devel/electron33/files/patch-base_process_kill.h new file mode 100644 index 000000000000..a72acaccad31 --- /dev/null +++ b/devel/electron33/files/patch-base_process_kill.h @@ -0,0 +1,11 @@ +--- base/process/kill.h.orig 2024-06-18 21:43:17 UTC ++++ base/process/kill.h +@@ -123,7 +123,7 @@ BASE_EXPORT TerminationStatus GetKnownDeadTerminationS + 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/devel/electron33/files/patch-base_process_kill__posix.cc b/devel/electron33/files/patch-base_process_kill__posix.cc new file mode 100644 index 000000000000..b197dc3675c5 --- /dev/null +++ b/devel/electron33/files/patch-base_process_kill__posix.cc @@ -0,0 +1,11 @@ +--- base/process/kill_posix.cc.orig 2023-03-30 00:33:38 UTC ++++ base/process/kill_posix.cc +@@ -157,7 +157,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/devel/electron33/files/patch-base_process_launch.h b/devel/electron33/files/patch-base_process_launch.h new file mode 100644 index 000000000000..ddc155575bb1 --- /dev/null +++ b/devel/electron33/files/patch-base_process_launch.h @@ -0,0 +1,11 @@ +--- base/process/launch.h.orig 2024-10-16 21:30:44 UTC ++++ base/process/launch.h +@@ -237,7 +237,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/devel/electron33/files/patch-base_process_launch__posix.cc b/devel/electron33/files/patch-base_process_launch__posix.cc new file mode 100644 index 000000000000..a3d34622649a --- /dev/null +++ b/devel/electron33/files/patch-base_process_launch__posix.cc @@ -0,0 +1,12 @@ +--- base/process/launch_posix.cc.orig 2024-10-16 21:30:44 UTC ++++ base/process/launch_posix.cc +@@ -67,6 +67,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/devel/electron33/files/patch-base_process_memory__linux.cc b/devel/electron33/files/patch-base_process_memory__linux.cc new file mode 100644 index 000000000000..5a403aba7f5b --- /dev/null +++ b/devel/electron33/files/patch-base_process_memory__linux.cc @@ -0,0 +1,44 @@ +--- base/process/memory_linux.cc.orig 2024-08-14 20:54:23 UTC ++++ base/process/memory_linux.cc +@@ -28,6 +28,7 @@ namespace base { + + namespace base { + ++#if !BUILDFLAG(IS_BSD) + namespace { + + void ReleaseReservationOrTerminate() { +@@ -37,12 +38,14 @@ void ReleaseReservationOrTerminate() { + } + + } // namespace ++#endif + + void EnableTerminationOnHeapCorruption() { + // On Linux, there nothing to do AFAIK. + } + + void EnableTerminationOnOutOfMemory() { ++#if !BUILDFLAG(IS_BSD) + // Set the new-out of memory handler. + std::set_new_handler(&ReleaseReservationOrTerminate); + // If we're using glibc's allocator, the above functions will override +@@ -51,8 +54,10 @@ void EnableTerminationOnOutOfMemory() { + #if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) + allocator_shim::SetCallNewHandlerOnMallocFailure(true); + #endif ++#endif + } + ++#if !BUILDFLAG(IS_BSD) + // ScopedAllowBlocking() has private constructor and it can only be used in + // friend classes/functions. Declaring a class is easier in this situation to + // avoid adding more dependency to thread_restrictions.h because of the +@@ -110,6 +115,7 @@ bool AdjustOOMScore(ProcessId process, int score) { + bool AdjustOOMScore(ProcessId process, int score) { + return AdjustOOMScoreHelper::AdjustOOMScore(process, score); + } ++#endif + + bool UncheckedMalloc(size_t size, void** result) { + #if PA_BUILDFLAG(USE_ALLOCATOR_SHIM) diff --git a/devel/electron33/files/patch-base_process_process__handle.cc b/devel/electron33/files/patch-base_process_process__handle.cc new file mode 100644 index 000000000000..efb95e7c3b54 --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__handle.cc @@ -0,0 +1,11 @@ +--- base/process/process_handle.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-base_process_process__handle.h b/devel/electron33/files/patch-base_process_process__handle.h new file mode 100644 index 000000000000..43885dd9eb96 --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__handle.h @@ -0,0 +1,11 @@ +--- base/process/process_handle.h.orig 2024-02-21 00:20:30 UTC ++++ base/process/process_handle.h +@@ -86,7 +86,7 @@ BASE_EXPORT UniqueProcId GetUniqueIdForProcess(); + // 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/devel/electron33/files/patch-base_process_process__handle__freebsd.cc b/devel/electron33/files/patch-base_process_process__handle__freebsd.cc new file mode 100644 index 000000000000..1f676e07fbdf --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__handle__freebsd.cc @@ -0,0 +1,25 @@ +--- base/process/process_handle_freebsd.cc.orig 2024-04-15 20:33:42 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> +@@ -20,10 +21,13 @@ ProcessId GetParentProcessId(ProcessHandle process) { + + 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/devel/electron33/files/patch-base_process_process__handle__openbsd.cc b/devel/electron33/files/patch-base_process_process__handle__openbsd.cc new file mode 100644 index 000000000000..c3ef5fe46561 --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__handle__openbsd.cc @@ -0,0 +1,133 @@ +--- base/process/process_handle_openbsd.cc.orig 2024-04-15 20:33:42 UTC ++++ base/process/process_handle_openbsd.cc +@@ -3,48 +3,112 @@ + // found in the LICENSE file. + + #include "base/process/process_handle.h" ++#include "base/files/file_util.h" + + #include <stddef.h> ++#include <stdlib.h> ++#include <sys/param.h> ++#include <sys/proc.h> ++#include <sys/stat.h> + #include <sys/sysctl.h> + #include <sys/types.h> + #include <unistd.h> + ++#include <kvm.h> ++ + 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; + +- mib[5] = (length / sizeof(struct kinfo_proc)); ++ info = (struct kinfo_proc *)malloc(length); + +- if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) +- return -1; ++ mib[5] = static_cast<int>((length / sizeof(struct kinfo_proc))); + +- return info.p_ppid; ++ if (sysctl(mib, std::size(mib), info, &length, NULL, 0) < 0) { ++ ppid = -1; ++ goto out; ++ } ++ ++ ppid = info->p_ppid; ++ ++out: ++ free(info); ++ return ppid; + } + + FilePath GetProcessExecutablePath(ProcessHandle process) { +- struct kinfo_proc kp; ++ struct kinfo_file *files; ++ kvm_t *kd = NULL; ++ char errbuf[_POSIX2_LINE_MAX]; ++ char **retvalargs, *cpath, retval[PATH_MAX]; ++ int cnt; + size_t len; +- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process, +- sizeof(struct kinfo_proc), 0 }; ++ char *tokens[2]; ++ struct stat sb; ++ FilePath result; + +- if (sysctl(mib, std::size(mib), NULL, &len, 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); ++ int mib[] = { CTL_KERN, KERN_PROC_ARGS, process, KERN_PROC_ARGV }; + +- return FilePath(); ++ if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) ++ result = FilePath(cpath); ++ else ++ result = FilePath("/usr/local/chrome/chrome"); ++ ++ if (sysctl(mib, std::size(mib), NULL, &len, NULL, 0) != -1) { ++ retvalargs = static_cast<char**>(malloc(len)); ++ if (!retvalargs) ++ return result; ++ ++ if (sysctl(mib, std::size(mib), retvalargs, &len, NULL, 0) < 0) { ++ free(retvalargs); ++ return result; ++ } ++ ++ if ((*tokens = strtok(retvalargs[0], ":")) == NULL) { ++ free(retvalargs); ++ return result; ++ } ++ ++ free(retvalargs); ++ ++ if (tokens[0] == NULL) ++ return result; ++ ++ if (realpath(tokens[0], retval) == NULL) ++ return result; ++ ++ if (stat(retval, &sb) < 0) ++ return result; ++ ++ if ((kd = kvm_openfiles(NULL, NULL, NULL, (int)KVM_NO_FILES, ++ errbuf)) == NULL) ++ return result; ++ ++ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, process, ++ sizeof(struct kinfo_file), &cnt)) == NULL) { ++ kvm_close(kd); ++ return result; ++ } ++ ++ 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) { ++ kvm_close(kd); ++ result = FilePath(retval); ++ } ++ } ++ } ++ ++ return result; + } + + } // namespace base diff --git a/devel/electron33/files/patch-base_process_process__iterator__freebsd.cc b/devel/electron33/files/patch-base_process_process__iterator__freebsd.cc new file mode 100644 index 000000000000..0b752cea1428 --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__iterator__freebsd.cc @@ -0,0 +1,51 @@ +--- base/process/process_iterator_freebsd.cc.orig 2023-03-30 00:33:38 UTC ++++ base/process/process_iterator_freebsd.cc +@@ -18,7 +18,7 @@ namespace base { + + ProcessIterator::ProcessIterator(const ProcessFilter* filter) + : 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; +@@ -37,7 +37,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) { +@@ -47,7 +47,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; + } +@@ -68,18 +68,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/devel/electron33/files/patch-base_process_process__iterator__openbsd.cc b/devel/electron33/files/patch-base_process_process__iterator__openbsd.cc new file mode 100644 index 000000000000..ca96780b7ba2 --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__iterator__openbsd.cc @@ -0,0 +1,45 @@ +--- base/process/process_iterator_openbsd.cc.orig 2023-03-30 00:33:38 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" +@@ -16,12 +19,13 @@ namespace base { + + ProcessIterator::ProcessIterator(const ProcessFilter* filter) + : 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; +@@ -30,7 +34,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; +@@ -46,7 +50,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/devel/electron33/files/patch-base_process_process__metrics.cc b/devel/electron33/files/patch-base_process_process__metrics.cc new file mode 100644 index 000000000000..792effaa0e48 --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__metrics.cc @@ -0,0 +1,49 @@ +--- base/process/process_metrics.cc.orig 2024-06-18 21:43:17 UTC ++++ base/process/process_metrics.cc +@@ -17,7 +17,7 @@ namespace { + 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::Dict SystemMetrics::ToDict() const { + Value::Dict res; + + res.Set("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::Dict meminfo = memory_info_.ToDict(); + meminfo.Merge(vmstat_info_.ToDict()); + res.Set("meminfo", std::move(meminfo)); +@@ -100,7 +100,6 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create + #endif // !BUILDFLAG(IS_MAC) + } + +-#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) + double ProcessMetrics::GetPlatformIndependentCPUUsage( + TimeDelta cumulative_cpu) { + TimeTicks time = TimeTicks::Now(); +@@ -129,10 +128,9 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() { + return GetPlatformIndependentCPUUsage(cpu_usage); + }); + } +-#endif + + #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/devel/electron33/files/patch-base_process_process__metrics.h b/devel/electron33/files/patch-base_process_process__metrics.h new file mode 100644 index 000000000000..03a01e1e5c23 --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__metrics.h @@ -0,0 +1,115 @@ +--- base/process/process_metrics.h.orig 2024-10-16 21:30:44 UTC ++++ base/process/process_metrics.h +@@ -38,7 +38,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> +@@ -48,7 +48,7 @@ namespace base { + + 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) + // Minor and major page fault counts since the process creation. + // Both counts are process-wide, and exclude child processes. + // +@@ -113,7 +113,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; +@@ -147,7 +147,7 @@ class BASE_EXPORT ProcessMetrics { + base::expected<TimeDelta, ProcessCPUUsageError> GetCumulativeCPUUsage(); + + #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 +@@ -192,7 +192,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; + +@@ -213,7 +213,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) +@@ -235,12 +235,10 @@ 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_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_; +@@ -281,7 +279,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. + // +@@ -316,7 +314,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 +@@ -331,7 +329,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; +@@ -368,7 +366,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. +@@ -563,7 +561,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/devel/electron33/files/patch-base_process_process__metrics__freebsd.cc b/devel/electron33/files/patch-base_process_process__metrics__freebsd.cc new file mode 100644 index 000000000000..86652893bab4 --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__metrics__freebsd.cc @@ -0,0 +1,306 @@ +--- base/process/process_metrics_freebsd.cc.orig 2024-10-16 21:30:44 UTC ++++ base/process/process_metrics_freebsd.cc +@@ -3,43 +3,58 @@ + // 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/values.h" + + namespace base { ++namespace { ++int GetPageShift() { ++ int pagesize = getpagesize(); ++ int pageshift = 0; + +-ProcessMetrics::ProcessMetrics(ProcessHandle process) +- : process_(process), +- last_cpu_(0) {} ++ while (pagesize > 1) { ++ pageshift++; ++ pagesize >>= 1; ++ } + ++ return pageshift; ++} ++} ++ ++ProcessMetrics::ProcessMetrics(ProcessHandle process) : process_(process) {} ++ + // static + std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics( + ProcessHandle process) { + return WrapUnique(new ProcessMetrics(process)); + } + +-base::expected<double, ProcessCPUUsageError> +-ProcessMetrics::GetPlatformIndependentCPUUsage() { ++base::expected<TimeDelta, ProcessCPUUsageError> ++ProcessMetrics::GetCumulativeCPUUsage() { + 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); ++ struct timeval tv; + ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_ }; ++ + if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) +- return base::unexpected(ProcessCPUUsageError::kSystemError); ++ return base::ok(TimeDelta()); + +- return base::ok(double{info.ki_pctcpu} / FSCALE * 100.0); ++ return base::ok(Microseconds(info.ki_runtime)); + } + +-base::expected<TimeDelta, ProcessCPUUsageError> +-ProcessMetrics::GetCumulativeCPUUsage() { +- NOTREACHED(); +-} +- + size_t GetSystemCommitCharge() { + int mib[2], pagesize; + unsigned long mem_total, mem_free, mem_inactive; +@@ -61,6 +76,230 @@ size_t GetSystemCommitCharge() { + pagesize = getpagesize(); + + 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::Dict SystemDiskInfo::ToDict() const { ++ Value::Dict res; ++ ++ // Write out uint64_t variables as doubles. ++ // Note: this may discard some precision, but for JS there's no other option. ++ res.Set("reads", static_cast<double>(reads)); ++ res.Set("reads_merged", static_cast<double>(reads_merged)); ++ res.Set("sectors_read", static_cast<double>(sectors_read)); ++ res.Set("read_time", static_cast<double>(read_time)); ++ res.Set("writes", static_cast<double>(writes)); ++ res.Set("writes_merged", static_cast<double>(writes_merged)); ++ res.Set("sectors_written", static_cast<double>(sectors_written)); ++ res.Set("write_time", static_cast<double>(write_time)); ++ res.Set("io", static_cast<double>(io)); ++ res.Set("io_time", static_cast<double>(io_time)); ++ res.Set("weighted_io_time", static_cast<double>(weighted_io_time)); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; ++} ++ ++Value::Dict SystemMemoryInfoKB::ToDict() const { ++ Value::Dict res; ++ res.Set("total", total); ++ res.Set("free", free); ++ res.Set("available", available); ++ res.Set("buffers", buffers); ++ res.Set("cached", cached); ++ res.Set("active_anon", active_anon); ++ res.Set("inactive_anon", inactive_anon); ++ res.Set("active_file", active_file); ++ res.Set("inactive_file", inactive_file); ++ res.Set("swap_total", swap_total); ++ res.Set("swap_free", swap_free); ++ res.Set("swap_used", swap_total - swap_free); ++ res.Set("dirty", dirty); ++ res.Set("reclaimable", reclaimable); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; ++} ++ ++Value::Dict VmStatInfo::ToDict() const { ++ Value::Dict res; ++ // TODO(crbug.com/1334256): Make base::Value able to hold uint64_t and remove ++ // casts below. ++ res.Set("pswpin", static_cast<int>(pswpin)); ++ res.Set("pswpout", static_cast<int>(pswpout)); ++ res.Set("pgmajfault", static_cast<int>(pgmajfault)); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; + } + + } // namespace base diff --git a/devel/electron33/files/patch-base_process_process__metrics__openbsd.cc b/devel/electron33/files/patch-base_process_process__metrics__openbsd.cc new file mode 100644 index 000000000000..c2695739723a --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__metrics__openbsd.cc @@ -0,0 +1,233 @@ +--- base/process/process_metrics_openbsd.cc.orig 2024-10-16 21:30:44 UTC ++++ base/process/process_metrics_openbsd.cc +@@ -6,74 +6,50 @@ + + #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/types/expected.h" ++#include "base/values.h" ++#include "base/notreached.h" + + namespace base { + +-namespace { ++ProcessMetrics::ProcessMetrics(ProcessHandle process) : process_(process) {} + +-base::expected<int, ProcessCPUUsageError> GetProcessCPU(pid_t pid) { ++base::expected<TimeDelta, ProcessCPUUsageError> ++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 base::unexpected(ProcessCPUUsageError::kSystemError); +- } ++ 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 base::unexpected(ProcessCPUUsageError::kSystemError); + } + +- return base::ok(info.p_pctcpu); ++ tv.tv_sec = info.p_rtime_sec; ++ tv.tv_usec = info.p_rtime_usec; ++ ++ return base::ok(Microseconds(TimeValToMicroseconds(tv))); + } + +-} // namespace +- + // static + std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics( + ProcessHandle process) { + return WrapUnique(new ProcessMetrics(process)); + } + +-base::expected<double, ProcessCPUUsageError> +-ProcessMetrics::GetPlatformIndependentCPUUsage() { +- TimeTicks time = TimeTicks::Now(); +- +- if (last_cpu_time_.is_zero()) { +- // First call, just set the last values. +- last_cpu_time_ = time; +- return base::ok(0.0); +- } +- +- const base::expected<int, ProcessCPUUsageError> cpu = GetProcessCPU(process_); +- if (!cpu.has_value()) { +- return base::unexpected(cpu.error()); +- } +- +- last_cpu_time_ = time; +- return base::ok(double{cpu.value()} / FSCALE * 100.0); +-} +- +-base::expected<TimeDelta, ProcessCPUUsageError> +-ProcessMetrics::GetCumulativeCPUUsage() { +- NOTREACHED(); +-} +- +-ProcessMetrics::ProcessMetrics(ProcessHandle process) +- : process_(process), +- last_cpu_(0) {} +- + size_t GetSystemCommitCharge() { + int mib[] = { CTL_VM, VM_METER }; +- int pagesize; ++ size_t pagesize; + struct vmtotal vmtotal; + unsigned long mem_total, mem_free, mem_inactive; + size_t len = sizeof(vmtotal); +@@ -85,9 +61,136 @@ size_t GetSystemCommitCharge() { + mem_free = vmtotal.t_free; + mem_inactive = vmtotal.t_vm - vmtotal.t_avm; + +- pagesize = getpagesize(); ++ pagesize = checked_cast<size_t>(getpagesize()); + + return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); ++} ++ ++int ProcessMetrics::GetOpenFdCount() const { ++#if 0 ++ 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; ++#endif ++ return getdtablecount(); ++} ++ ++int ProcessMetrics::GetOpenFdSoftLimit() const { ++ return getdtablesize(); ++// return GetMaxFds(); ++} ++ ++uint64_t ProcessMetrics::GetVmSwapBytes() const { ++ NOTIMPLEMENTED(); ++ return 0; ++} ++ ++bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) { ++ NOTIMPLEMENTED_LOG_ONCE(); ++ return false; ++} ++ ++bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++bool GetVmStatInfo(VmStatInfo* vmstat) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++int ProcessMetrics::GetIdleWakeupsPerSecond() { ++ NOTIMPLEMENTED(); ++ return 0; ++} ++ ++Value::Dict SystemMemoryInfoKB::ToDict() const { ++ Value::Dict res; ++ res.Set("total", total); ++ res.Set("free", free); ++ res.Set("available", available); ++ res.Set("buffers", buffers); ++ res.Set("cached", cached); ++ res.Set("active_anon", active_anon); ++ res.Set("inactive_anon", inactive_anon); ++ res.Set("active_file", active_file); ++ res.Set("inactive_file", inactive_file); ++ res.Set("swap_total", swap_total); ++ res.Set("swap_free", swap_free); ++ res.Set("swap_used", swap_total - swap_free); ++ res.Set("dirty", dirty); ++ res.Set("reclaimable", reclaimable); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; ++} ++ ++Value::Dict VmStatInfo::ToDict() const { ++ Value::Dict res; ++ res.Set("pswpin", static_cast<int>(pswpin)); ++ res.Set("pswpout", static_cast<int>(pswpout)); ++ res.Set("pgmajfault", static_cast<int>(pgmajfault)); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; ++} ++ ++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&) = default; ++ ++SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; ++ ++Value::Dict SystemDiskInfo::ToDict() const { ++ Value::Dict res; ++ ++ // Write out uint64_t variables as doubles. ++ // Note: this may discard some precision, but for JS there's no other option. ++ res.Set("reads", static_cast<double>(reads)); ++ res.Set("reads_merged", static_cast<double>(reads_merged)); ++ res.Set("sectors_read", static_cast<double>(sectors_read)); ++ res.Set("read_time", static_cast<double>(read_time)); ++ res.Set("writes", static_cast<double>(writes)); ++ res.Set("writes_merged", static_cast<double>(writes_merged)); ++ res.Set("sectors_written", static_cast<double>(sectors_written)); ++ res.Set("write_time", static_cast<double>(write_time)); ++ res.Set("io", static_cast<double>(io)); ++ res.Set("io_time", static_cast<double>(io_time)); ++ res.Set("weighted_io_time", static_cast<double>(weighted_io_time)); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; + } + + } // namespace base diff --git a/devel/electron33/files/patch-base_process_process__metrics__posix.cc b/devel/electron33/files/patch-base_process_process__metrics__posix.cc new file mode 100644 index 000000000000..ba800ec06711 --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__metrics__posix.cc @@ -0,0 +1,20 @@ +--- base/process/process_metrics_posix.cc.orig 2023-08-10 01:48:31 UTC ++++ base/process/process_metrics_posix.cc +@@ -21,6 +21,8 @@ + + #if BUILDFLAG(IS_APPLE) + #include <malloc/malloc.h> ++#elif BUILDFLAG(IS_OPENBSD) ++#include <stdlib.h> + #else + #include <malloc.h> + #endif +@@ -134,7 +136,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/devel/electron33/files/patch-base_process_process__metrics__unittest.cc b/devel/electron33/files/patch-base_process_process__metrics__unittest.cc new file mode 100644 index 000000000000..7329098e81ef --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__metrics__unittest.cc @@ -0,0 +1,12 @@ +--- base/process/process_metrics_unittest.cc.orig 2024-06-18 21:43:17 UTC ++++ base/process/process_metrics_unittest.cc +@@ -62,7 +62,8 @@ + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ + BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) || \ ++ BUILDFLAG(IS_BSD) + #define ENABLE_CPU_TESTS 1 + #else + #define ENABLE_CPU_TESTS 0 diff --git a/devel/electron33/files/patch-base_process_process__posix.cc b/devel/electron33/files/patch-base_process_process__posix.cc new file mode 100644 index 000000000000..6082e8dc4fa4 --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__posix.cc @@ -0,0 +1,94 @@ +--- base/process/process_posix.cc.orig 2024-06-18 21:43:17 UTC ++++ base/process/process_posix.cc +@@ -23,10 +23,15 @@ + #include "base/trace_event/base_tracing.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include <sys/event.h> + #endif + ++#if BUILDFLAG(IS_BSD) ++#include <sys/types.h> ++#include <sys/sysctl.h> ++#endif ++ + #if BUILDFLAG(CLANG_PROFILING) + #include "base/test/clang_profiling.h" + #endif +@@ -99,7 +104,7 @@ bool WaitpidWithTimeout(base::ProcessHandle handle, + } + #endif + +-#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. +@@ -376,7 +381,7 @@ bool Process::WaitForExitWithTimeoutImpl(base::Process + 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 +@@ -413,7 +418,56 @@ int Process::GetOSPriority() const { + + int Process::GetOSPriority() const { + DCHECK(IsValid()); ++// avoid pledge(2) violation ++#if BUILDFLAG(IS_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 !BUILDFLAG(IS_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 !BUILDFLAG(IS_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; ++} ++ ++#if BUILDFLAG(IS_BSD) ++Process::Priority Process::GetPriority() const { ++ return Priority::kUserBlocking; ++} ++ ++bool Process::SetPriority(Priority priority) { ++ return false; ++} ++ ++bool Process::CanSetPriority() { ++ return false; ++} ++#endif + + } // namespace base diff --git a/devel/electron33/files/patch-base_process_process__unittest.cc b/devel/electron33/files/patch-base_process_process__unittest.cc new file mode 100644 index 000000000000..abdcba28878a --- /dev/null +++ b/devel/electron33/files/patch-base_process_process__unittest.cc @@ -0,0 +1,11 @@ +--- base/process/process_unittest.cc.orig 2024-10-16 21:30:44 UTC ++++ base/process/process_unittest.cc +@@ -203,7 +203,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/devel/electron33/files/patch-base_profiler_module__cache.cc b/devel/electron33/files/patch-base_profiler_module__cache.cc new file mode 100644 index 000000000000..8008afc7ff0f --- /dev/null +++ b/devel/electron33/files/patch-base_profiler_module__cache.cc @@ -0,0 +1,11 @@ +--- base/profiler/module_cache.cc.orig 2024-04-15 20:33:42 UTC ++++ base/profiler/module_cache.cc +@@ -38,7 +38,7 @@ std::string TransformModuleIDToSymbolServerFormat(std: + // Android and Linux Chrome builds use the "breakpad" format to index their + // build id, so we transform the build id for these platforms. All other + // platforms keep their symbols indexed by the original build ID. +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || 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/devel/electron33/files/patch-base_profiler_sampling__profiler__thread__token.cc b/devel/electron33/files/patch-base_profiler_sampling__profiler__thread__token.cc new file mode 100644 index 000000000000..b7ead036a4ad --- /dev/null +++ b/devel/electron33/files/patch-base_profiler_sampling__profiler__thread__token.cc @@ -0,0 +1,20 @@ +--- base/profiler/sampling_profiler_thread_token.cc.orig 2024-04-15 20:33:42 UTC ++++ base/profiler/sampling_profiler_thread_token.cc +@@ -6,7 +6,7 @@ + + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <pthread.h> + + #include "base/profiler/stack_base_address_posix.h" +@@ -18,7 +18,7 @@ SamplingProfilerThreadToken GetSamplingProfilerCurrent + PlatformThreadId id = PlatformThread::CurrentId(); + #if BUILDFLAG(IS_ANDROID) + return {id, pthread_self()}; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::optional<uintptr_t> maybe_stack_base = + GetThreadStackBaseAddress(id, pthread_self()); + return {id, maybe_stack_base}; diff --git a/devel/electron33/files/patch-base_profiler_sampling__profiler__thread__token.h b/devel/electron33/files/patch-base_profiler_sampling__profiler__thread__token.h new file mode 100644 index 000000000000..40fee797f377 --- /dev/null +++ b/devel/electron33/files/patch-base_profiler_sampling__profiler__thread__token.h @@ -0,0 +1,20 @@ +--- base/profiler/sampling_profiler_thread_token.h.orig 2024-04-15 20:33:42 UTC ++++ base/profiler/sampling_profiler_thread_token.h +@@ -13,7 +13,7 @@ + + #if BUILDFLAG(IS_ANDROID) + #include <pthread.h> +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <stdint.h> + #endif + +@@ -27,7 +27,7 @@ struct SamplingProfilerThreadToken { + PlatformThreadId id; + #if BUILDFLAG(IS_ANDROID) + pthread_t pthread_id; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Due to the sandbox, we can only retrieve the stack base address for the + // current thread. We must grab it during + // GetSamplingProfilerCurrentThreadToken() and not try to get it later. diff --git a/devel/electron33/files/patch-base_profiler_stack__base__address__posix.cc b/devel/electron33/files/patch-base_profiler_stack__base__address__posix.cc new file mode 100644 index 000000000000..2da2b3e7aa72 --- /dev/null +++ b/devel/electron33/files/patch-base_profiler_stack__base__address__posix.cc @@ -0,0 +1,59 @@ +--- base/profiler/stack_base_address_posix.cc.orig 2024-04-15 20:33:42 UTC ++++ base/profiler/stack_base_address_posix.cc +@@ -17,6 +17,10 @@ + #include "base/files/scoped_file.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include <pthread_np.h> ++#endif ++ + #if BUILDFLAG(IS_CHROMEOS) + extern "C" void* __libc_stack_end; + #endif +@@ -45,7 +49,21 @@ uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthr + + #if !BUILDFLAG(IS_LINUX) + uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthread_id) { ++#if BUILDFLAG(IS_OPENBSD) ++ stack_t ss; ++ void *address; ++ size_t size; ++ if (pthread_stackseg_np(pthread_id, &ss) != 0) ++ return 0; ++ size = ss.ss_size; ++ address = (void*)((size_t) ss.ss_sp - ss.ss_size); ++#else + pthread_attr_t attr; ++#if BUILDFLAG(IS_FREEBSD) ++ int result; ++ pthread_attr_init(&attr); ++ pthread_attr_get_np(pthread_id, &attr); ++#else + // pthread_getattr_np will crash on ChromeOS & Linux if we are in the sandbox + // and pthread_id refers to a different thread, due to the use of + // sched_getaffinity(). +@@ -58,12 +76,14 @@ uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthr + << logging::SystemErrorCodeToString(result); + // See crbug.com/617730 for limitations of this approach on Linux-like + // systems. ++#endif + void* address; + size_t size; + result = pthread_attr_getstack(&attr, &address, &size); + CHECK_EQ(result, 0) << "pthread_attr_getstack returned " + << logging::SystemErrorCodeToString(result); + pthread_attr_destroy(&attr); ++#endif + const uintptr_t base_address = reinterpret_cast<uintptr_t>(address) + size; + return base_address; + } +@@ -80,7 +100,7 @@ std::optional<uintptr_t> GetThreadStackBaseAddress(Pla + // trying to work around the problem. + return std::nullopt; + #else +- const bool is_main_thread = id == GetCurrentProcId(); ++ const bool is_main_thread = id == checked_cast<PlatformThreadId>(GetCurrentProcId()); + if (is_main_thread) { + #if BUILDFLAG(IS_ANDROID) + // The implementation of pthread_getattr_np() in Bionic reads proc/self/maps diff --git a/devel/electron33/files/patch-base_profiler_stack__sampling__profiler__test__util.cc b/devel/electron33/files/patch-base_profiler_stack__sampling__profiler__test__util.cc new file mode 100644 index 000000000000..9213b57305bf --- /dev/null +++ b/devel/electron33/files/patch-base_profiler_stack__sampling__profiler__test__util.cc @@ -0,0 +1,11 @@ +--- base/profiler/stack_sampling_profiler_test_util.cc.orig 2024-06-18 21:43:17 UTC ++++ base/profiler/stack_sampling_profiler_test_util.cc +@@ -42,7 +42,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/devel/electron33/files/patch-base_profiler_stack__sampling__profiler__unittest.cc b/devel/electron33/files/patch-base_profiler_stack__sampling__profiler__unittest.cc new file mode 100644 index 000000000000..2d820885ea2c --- /dev/null +++ b/devel/electron33/files/patch-base_profiler_stack__sampling__profiler__unittest.cc @@ -0,0 +1,11 @@ +--- base/profiler/stack_sampling_profiler_unittest.cc.orig 2024-08-14 20:54:23 UTC ++++ base/profiler/stack_sampling_profiler_unittest.cc +@@ -45,7 +45,7 @@ + + #include <intrin.h> + #include <malloc.h> +-#else ++#elif !BUILDFLAG(IS_BSD) + #include <alloca.h> + #endif + diff --git a/devel/electron33/files/patch-base_profiler_thread__delegate__posix.cc b/devel/electron33/files/patch-base_profiler_thread__delegate__posix.cc new file mode 100644 index 000000000000..e4b87e39115a --- /dev/null +++ b/devel/electron33/files/patch-base_profiler_thread__delegate__posix.cc @@ -0,0 +1,20 @@ +--- base/profiler/thread_delegate_posix.cc.orig 2024-06-18 21:43:17 UTC ++++ base/profiler/thread_delegate_posix.cc +@@ -19,7 +19,7 @@ + #include "base/process/process_handle.h" + #include "build/build_config.h" + +-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + #include "base/profiler/stack_base_address_posix.h" + #endif + +@@ -28,7 +28,7 @@ std::unique_ptr<ThreadDelegatePosix> ThreadDelegatePos + std::unique_ptr<ThreadDelegatePosix> ThreadDelegatePosix::Create( + SamplingProfilerThreadToken thread_token) { + std::optional<uintptr_t> base_address; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base_address = thread_token.stack_base_address; + #else + base_address = diff --git a/devel/electron33/files/patch-base_rand__util.h b/devel/electron33/files/patch-base_rand__util.h new file mode 100644 index 000000000000..4c4211dd22ce --- /dev/null +++ b/devel/electron33/files/patch-base_rand__util.h @@ -0,0 +1,11 @@ +--- base/rand_util.h.orig 2024-06-18 21:43:17 UTC ++++ base/rand_util.h +@@ -147,7 +147,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/devel/electron33/files/patch-base_rand__util__posix.cc b/devel/electron33/files/patch-base_rand__util__posix.cc new file mode 100644 index 000000000000..d5e351f08486 --- /dev/null +++ b/devel/electron33/files/patch-base_rand__util__posix.cc @@ -0,0 +1,62 @@ +--- base/rand_util_posix.cc.orig 2024-10-16 21:30:44 UTC ++++ base/rand_util_posix.cc +@@ -28,7 +28,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/40641285): Waiting for this header to appear in the iOS SDK. +@@ -44,6 +44,7 @@ namespace { + + namespace { + ++#if !BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_AIX) + // AIX has no 64-bit support for O_CLOEXEC. + static constexpr int kOpenFlags = O_RDONLY; +@@ -68,10 +69,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 +@@ -177,6 +179,7 @@ void RandBytesInternal(span<uint8_t> output, bool avoi + namespace { + + void RandBytesInternal(span<uint8_t> output, bool avoid_allocation) { ++#if !BUILDFLAG(IS_BSD) + #if !BUILDFLAG(IS_NACL) + // The BoringSSL experiment takes priority over everything else. + if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) { +@@ -213,6 +216,9 @@ void RandBytesInternal(span<uint8_t> output, bool avoi + const int urandom_fd = GetUrandomFD(); + const bool success = ReadFromFD(urandom_fd, as_writable_chars(output)); + CHECK(success); ++#else ++ arc4random_buf(output.data(), output.size()); ++#endif + } + + } // namespace +@@ -232,9 +238,11 @@ void RandBytes(span<uint8_t> output) { + RandBytesInternal(output, /*avoid_allocation=*/false); + } + ++#if !BUILDFLAG(IS_BSD) + int GetUrandomFD() { + static NoDestructor<URandomFd> urandom_fd; + return urandom_fd->fd(); + } ++#endif + + } // namespace base diff --git a/devel/electron33/files/patch-base_strings_safe__sprintf__unittest.cc b/devel/electron33/files/patch-base_strings_safe__sprintf__unittest.cc new file mode 100644 index 000000000000..b3ca97eb25aa --- /dev/null +++ b/devel/electron33/files/patch-base_strings_safe__sprintf__unittest.cc @@ -0,0 +1,18 @@ +--- base/strings/safe_sprintf_unittest.cc.orig 2024-06-18 21:43:17 UTC ++++ base/strings/safe_sprintf_unittest.cc +@@ -740,6 +740,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) { + #endif + } + ++#if !BUILDFLAG(IS_BSD) + TEST(SafeSPrintfTest, EmitNULL) { + char buf[40]; + #if defined(__GNUC__) +@@ -756,6 +757,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/devel/electron33/files/patch-base_synchronization_lock__impl.h b/devel/electron33/files/patch-base_synchronization_lock__impl.h new file mode 100644 index 000000000000..425845d22f0b --- /dev/null +++ b/devel/electron33/files/patch-base_synchronization_lock__impl.h @@ -0,0 +1,23 @@ +--- base/synchronization/lock_impl.h.orig 2024-08-14 20:54:23 UTC ++++ base/synchronization/lock_impl.h +@@ -109,6 +109,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); +@@ -129,6 +133,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/devel/electron33/files/patch-base_syslog__logging.cc b/devel/electron33/files/patch-base_syslog__logging.cc new file mode 100644 index 000000000000..0ef1ec652967 --- /dev/null +++ b/devel/electron33/files/patch-base_syslog__logging.cc @@ -0,0 +1,20 @@ +--- base/syslog_logging.cc.orig 2024-04-15 20:33:42 UTC ++++ base/syslog_logging.cc +@@ -17,7 +17,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> +@@ -149,7 +149,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/devel/electron33/files/patch-base_system_sys__info.cc b/devel/electron33/files/patch-base_system_sys__info.cc new file mode 100644 index 000000000000..f613305e0689 --- /dev/null +++ b/devel/electron33/files/patch-base_system_sys__info.cc @@ -0,0 +1,11 @@ +--- base/system/sys_info.cc.orig 2024-08-14 20:54:23 UTC ++++ base/system/sys_info.cc +@@ -223,7 +223,7 @@ void SysInfo::GetHardwareInfo(base::OnceCallback<void( + #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/devel/electron33/files/patch-base_system_sys__info.h b/devel/electron33/files/patch-base_system_sys__info.h new file mode 100644 index 000000000000..ff9fe72b5059 --- /dev/null +++ b/devel/electron33/files/patch-base_system_sys__info.h @@ -0,0 +1,20 @@ +--- base/system/sys_info.h.orig 2024-06-18 21:43:18 UTC ++++ base/system/sys_info.h +@@ -325,6 +325,8 @@ class BASE_EXPORT SysInfo { + static void ResetCpuSecurityMitigationsEnabledForTesting(); + #endif + ++ static uint64_t MaxSharedMemorySize(); ++ + private: + friend class test::ScopedAmountOfPhysicalMemoryOverride; + FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory); +@@ -337,7 +339,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/devel/electron33/files/patch-base_system_sys__info__freebsd.cc b/devel/electron33/files/patch-base_system_sys__info__freebsd.cc new file mode 100644 index 000000000000..242ac638bb5d --- /dev/null +++ b/devel/electron33/files/patch-base_system_sys__info__freebsd.cc @@ -0,0 +1,112 @@ +--- base/system/sys_info_freebsd.cc.orig 2024-10-16 21:30:44 UTC ++++ base/system/sys_info_freebsd.cc +@@ -9,28 +9,103 @@ + #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 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 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/devel/electron33/files/patch-base_system_sys__info__openbsd.cc b/devel/electron33/files/patch-base_system_sys__info__openbsd.cc new file mode 100644 index 000000000000..423f6837faa5 --- /dev/null +++ b/devel/electron33/files/patch-base_system_sys__info__openbsd.cc @@ -0,0 +1,85 @@ +--- base/system/sys_info_openbsd.cc.orig 2024-10-16 21:30:44 UTC ++++ base/system/sys_info_openbsd.cc +@@ -12,6 +12,7 @@ + + #include "base/notreached.h" + #include "base/posix/sysctl.h" ++#include "base/strings/string_util.h" + + namespace { + +@@ -27,9 +28,14 @@ namespace base { + + namespace base { + ++// pledge(2) ++uint64_t aofpmem = 0; ++uint64_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 +46,26 @@ uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { + + // 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,15 +77,27 @@ 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 static_cast<uint64_t>(limit); ++ shmmax = static_cast<uint64_t>(limit); ++out: ++ return shmmax; + } + + // static +-std::string SysInfo::CPUModelName() { +- return StringSysctl({CTL_HW, HW_MODEL}).value(); ++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/devel/electron33/files/patch-base_system_sys__info__posix.cc b/devel/electron33/files/patch-base_system_sys__info__posix.cc new file mode 100644 index 000000000000..dbe3f58eec9e --- /dev/null +++ b/devel/electron33/files/patch-base_system_sys__info__posix.cc @@ -0,0 +1,29 @@ +--- base/system/sys_info_posix.cc.orig 2024-10-16 21:30:44 UTC ++++ base/system/sys_info_posix.cc +@@ -117,7 +117,7 @@ namespace base { + + namespace base { + +-#if !BUILDFLAG(IS_OPENBSD) ++#if !BUILDFLAG(IS_BSD) + // static + int SysInfo::NumberOfProcessors() { + #if BUILDFLAG(IS_MAC) +@@ -173,7 +173,7 @@ int SysInfo::NumberOfProcessors() { + + return cached_num_cpus; + } +-#endif // !BUILDFLAG(IS_OPENBSD) ++#endif // !BUILDFLAG(IS_BSD) + + // static + uint64_t SysInfo::AmountOfVirtualMemory() { +@@ -256,6 +256,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/devel/electron33/files/patch-base_system_sys__info__unittest.cc b/devel/electron33/files/patch-base_system_sys__info__unittest.cc new file mode 100644 index 000000000000..4e356be04c2f --- /dev/null +++ b/devel/electron33/files/patch-base_system_sys__info__unittest.cc @@ -0,0 +1,20 @@ +--- base/system/sys_info_unittest.cc.orig 2024-08-14 20:54:23 UTC ++++ base/system/sys_info_unittest.cc +@@ -265,12 +265,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/devel/electron33/files/patch-base_task_thread__pool_environment__config__unittest.cc b/devel/electron33/files/patch-base_task_thread__pool_environment__config__unittest.cc new file mode 100644 index 000000000000..abb639bc986d --- /dev/null +++ b/devel/electron33/files/patch-base_task_thread__pool_environment__config__unittest.cc @@ -0,0 +1,11 @@ +--- base/task/thread_pool/environment_config_unittest.cc.orig 2022-08-31 12:19:35 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/devel/electron33/files/patch-base_test_launcher_test__launcher.cc b/devel/electron33/files/patch-base_test_launcher_test__launcher.cc new file mode 100644 index 000000000000..62ef8c11cf34 --- /dev/null +++ b/devel/electron33/files/patch-base_test_launcher_test__launcher.cc @@ -0,0 +1,10 @@ +--- base/test/launcher/test_launcher.cc.orig 2024-06-18 21:43:18 UTC ++++ base/test/launcher/test_launcher.cc +@@ -74,6 +74,7 @@ + #include "testing/gtest/include/gtest/gtest.h" + + #if BUILDFLAG(IS_POSIX) ++#include <signal.h> + #include <fcntl.h> + + #include "base/files/file_descriptor_watcher_posix.h" diff --git a/devel/electron33/files/patch-base_test_test__file__util__linux.cc b/devel/electron33/files/patch-base_test_test__file__util__linux.cc new file mode 100644 index 000000000000..a64bf500d0dd --- /dev/null +++ b/devel/electron33/files/patch-base_test_test__file__util__linux.cc @@ -0,0 +1,13 @@ +--- base/test/test_file_util_linux.cc.orig 2023-10-19 19:57:58 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 !BUILDFLAG(IS_BSD) + if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_DONTNEED) != 0) + return false; ++#endif + return true; + } + diff --git a/devel/electron33/files/patch-base_test_test__file__util__posix.cc b/devel/electron33/files/patch-base_test_test__file__util__posix.cc new file mode 100644 index 000000000000..c276024ce5f5 --- /dev/null +++ b/devel/electron33/files/patch-base_test_test__file__util__posix.cc @@ -0,0 +1,11 @@ +--- base/test/test_file_util_posix.cc.orig 2024-06-18 21:43:18 UTC ++++ base/test/test_file_util_posix.cc +@@ -91,7 +91,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/devel/electron33/files/patch-base_threading_hang__watcher.cc b/devel/electron33/files/patch-base_threading_hang__watcher.cc new file mode 100644 index 000000000000..093574449e81 --- /dev/null +++ b/devel/electron33/files/patch-base_threading_hang__watcher.cc @@ -0,0 +1,11 @@ +--- base/threading/hang_watcher.cc.orig 2024-08-14 20:54:23 UTC ++++ base/threading/hang_watcher.cc +@@ -354,7 +354,7 @@ void HangWatcher::InitializeOnMainThread(ProcessType p + + bool enable_hang_watcher = base::FeatureList::IsEnabled(kEnableHangWatcher); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) + if (is_zygote_child) { + enable_hang_watcher = + enable_hang_watcher && diff --git a/devel/electron33/files/patch-base_threading_platform__thread.h b/devel/electron33/files/patch-base_threading_platform__thread.h new file mode 100644 index 000000000000..5daa2f047b7d --- /dev/null +++ b/devel/electron33/files/patch-base_threading_platform__thread.h @@ -0,0 +1,11 @@ +--- base/threading/platform_thread.h.orig 2024-06-18 21:43:18 UTC ++++ base/threading/platform_thread.h +@@ -49,6 +49,8 @@ typedef mach_port_t PlatformThreadId; + typedef zx_koid_t PlatformThreadId; + #elif BUILDFLAG(IS_APPLE) + typedef mach_port_t PlatformThreadId; ++#elif BUILDFLAG(IS_BSD) ++typedef uint64_t PlatformThreadId; + #elif BUILDFLAG(IS_POSIX) + typedef pid_t PlatformThreadId; + #endif diff --git a/devel/electron33/files/patch-base_threading_platform__thread__bsd.cc b/devel/electron33/files/patch-base_threading_platform__thread__bsd.cc new file mode 100644 index 000000000000..16e5ab7d5f21 --- /dev/null +++ b/devel/electron33/files/patch-base_threading_platform__thread__bsd.cc @@ -0,0 +1,34 @@ +--- base/threading/platform_thread_bsd.cc.orig 2024-04-28 08:50:24 UTC ++++ base/threading/platform_thread_bsd.cc +@@ -0,0 +1,31 @@ ++// Copyright 2023 The Chromium Authors ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++// Description: These are stubs for *BSD. ++ ++#include "base/threading/platform_thread.h" ++ ++namespace base { ++namespace internal { ++ ++bool CanSetThreadTypeToRealtimeAudio() { ++ return false; ++} ++ ++bool SetCurrentThreadTypeForPlatform(ThreadType thread_type, ++ MessagePumpType pump_type_hint) { ++ return false; ++} ++ ++std::optional<ThreadPriorityForTest> ++GetCurrentThreadPriorityForPlatformForTest() { ++ return std::nullopt; ++} ++} // namespace internal ++ ++// static ++void PlatformThreadBase::SetName(const std::string& name) { ++ SetNameCommon(name); ++} ++ ++} // namespace base diff --git a/devel/electron33/files/patch-base_threading_platform__thread__internal__posix.cc b/devel/electron33/files/patch-base_threading_platform__thread__internal__posix.cc new file mode 100644 index 000000000000..9c8adc7285b0 --- /dev/null +++ b/devel/electron33/files/patch-base_threading_platform__thread__internal__posix.cc @@ -0,0 +1,11 @@ +--- base/threading/platform_thread_internal_posix.cc.orig 2024-10-16 21:30:44 UTC ++++ base/threading/platform_thread_internal_posix.cc +@@ -41,7 +41,7 @@ int GetCurrentThreadNiceValue() { + } + + int GetCurrentThreadNiceValue() { +-#if BUILDFLAG(IS_NACL) ++#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); + return 0; + #else diff --git a/devel/electron33/files/patch-base_threading_platform__thread__posix.cc b/devel/electron33/files/patch-base_threading_platform__thread__posix.cc new file mode 100644 index 000000000000..3e646ccc65c2 --- /dev/null +++ b/devel/electron33/files/patch-base_threading_platform__thread__posix.cc @@ -0,0 +1,53 @@ +--- base/threading/platform_thread_posix.cc.orig 2024-06-18 21:43:18 UTC ++++ base/threading/platform_thread_posix.cc +@@ -77,11 +77,11 @@ void* ThreadFunc(void* params) { + if (!thread_params->joinable) + base::DisallowSingleton(); + +-#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) ++#if PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_BSD) + partition_alloc::internal::StackTopRegistry::Get().NotifyThreadCreated(); + #endif + +-#if !BUILDFLAG(IS_NACL) ++#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_APPLE) + PlatformThread::SetCurrentThreadRealtimePeriodValue( + delegate->GetRealtimePeriod()); +@@ -265,6 +265,8 @@ PlatformThreadId PlatformThreadBase::CurrentId() { + return reinterpret_cast<int32_t>(pthread_self()); + #elif BUILDFLAG(IS_POSIX) && BUILDFLAG(IS_AIX) + return pthread_self(); ++#elif BUILDFLAG(IS_BSD) ++ return reinterpret_cast<uint64_t>(pthread_self()); + #elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_AIX) + return reinterpret_cast<int64_t>(pthread_self()); + #endif +@@ -355,7 +357,7 @@ bool PlatformThreadBase::CanChangeThreadType(ThreadTyp + + // static + bool PlatformThreadBase::CanChangeThreadType(ThreadType from, ThreadType to) { +-#if BUILDFLAG(IS_NACL) ++#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) + return false; + #else + if (from >= to) { +@@ -376,6 +378,9 @@ 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)) + return; +@@ -398,7 +403,7 @@ ThreadPriorityForTest PlatformThreadBase::GetCurrentTh + + // static + ThreadPriorityForTest PlatformThreadBase::GetCurrentThreadPriorityForTest() { +-#if BUILDFLAG(IS_NACL) ++#if BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); + return ThreadPriorityForTest::kNormal; + #else diff --git a/devel/electron33/files/patch-base_threading_platform__thread__unittest.cc b/devel/electron33/files/patch-base_threading_platform__thread__unittest.cc new file mode 100644 index 000000000000..f35d13d23793 --- /dev/null +++ b/devel/electron33/files/patch-base_threading_platform__thread__unittest.cc @@ -0,0 +1,38 @@ +--- base/threading/platform_thread_unittest.cc.orig 2024-10-16 21:30:44 UTC ++++ base/threading/platform_thread_unittest.cc +@@ -38,7 +38,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> +@@ -362,7 +362,7 @@ TEST(PlatformThreadTest, CanChangeThreadType) { + // and hardcodes what we know. Please inform scheduler-dev@chromium.org 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 unless we are root (euid == 0). + bool kCanIncreasePriority = false; +@@ -616,12 +616,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/devel/electron33/files/patch-base_trace__event_malloc__dump__provider.cc b/devel/electron33/files/patch-base_trace__event_malloc__dump__provider.cc new file mode 100644 index 000000000000..2fb1ec987c45 --- /dev/null +++ b/devel/electron33/files/patch-base_trace__event_malloc__dump__provider.cc @@ -0,0 +1,30 @@ +--- base/trace_event/malloc_dump_provider.cc.orig 2024-08-14 20:54:23 UTC ++++ base/trace_event/malloc_dump_provider.cc +@@ -28,6 +28,8 @@ + + #if BUILDFLAG(IS_APPLE) + #include <malloc/malloc.h> ++#elif BUILDFLAG(IS_BSD) ++#include <stdlib.h> + #else + #include <malloc.h> + #endif +@@ -178,7 +180,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, + + #if (PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \ + (!PA_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, +@@ -368,6 +370,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump + &allocated_objects_count); + #elif BUILDFLAG(IS_FUCHSIA) + // TODO(fuchsia): Port, see https://crbug.com/706592. ++#elif BUILDFLAG(IS_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/devel/electron33/files/patch-base_trace__event_memory__dump__manager.cc b/devel/electron33/files/patch-base_trace__event_memory__dump__manager.cc new file mode 100644 index 000000000000..4f78677f3b8b --- /dev/null +++ b/devel/electron33/files/patch-base_trace__event_memory__dump__manager.cc @@ -0,0 +1,11 @@ +--- base/trace_event/memory_dump_manager.cc.orig 2024-10-16 21:30:44 UTC ++++ base/trace_event/memory_dump_manager.cc +@@ -83,7 +83,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP + #if defined(MALLOC_MEMORY_TRACING_SUPPORTED) + MallocDumpProvider::kAllocatedObjects; + #else +- nullptr; ++ ""; + #endif + + // static diff --git a/devel/electron33/files/patch-base_trace__event_process__memory__dump.cc b/devel/electron33/files/patch-base_trace__event_process__memory__dump.cc new file mode 100644 index 000000000000..35b98647cc22 --- /dev/null +++ b/devel/electron33/files/patch-base_trace__event_process__memory__dump.cc @@ -0,0 +1,20 @@ +--- base/trace_event/process_memory_dump.cc.orig 2024-08-14 20:54:23 UTC ++++ base/trace_event/process_memory_dump.cc +@@ -120,7 +120,7 @@ std::optional<size_t> ProcessMemoryDump::CountResident + #if BUILDFLAG(IS_WIN) + auto vec = + base::HeapArray<PSAPI_WORKING_SET_EX_INFORMATION>::WithSize(max_vec_size); +-#elif BUILDFLAG(IS_APPLE) ++#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + auto vec = base::HeapArray<char>::WithSize(max_vec_size); + #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) + auto vec = base::HeapArray<unsigned char>::WithSize(max_vec_size); +@@ -143,7 +143,7 @@ std::optional<size_t> ProcessMemoryDump::CountResident + + 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/42050620): Implement counting resident bytes. + // For now, log and avoid unused variable warnings. + NOTIMPLEMENTED_LOG_ONCE(); diff --git a/devel/electron33/files/patch-base_tracing_trace__time.cc b/devel/electron33/files/patch-base_tracing_trace__time.cc new file mode 100644 index 000000000000..36c6113518f4 --- /dev/null +++ b/devel/electron33/files/patch-base_tracing_trace__time.cc @@ -0,0 +1,28 @@ +--- base/tracing/trace_time.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-base_tracing_trace__time.h b/devel/electron33/files/patch-base_tracing_trace__time.h new file mode 100644 index 000000000000..0394e382ee6e --- /dev/null +++ b/devel/electron33/files/patch-base_tracing_trace__time.h @@ -0,0 +1,11 @@ +--- base/tracing/trace_time.h.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-build_config_BUILD.gn b/devel/electron33/files/patch-build_config_BUILD.gn new file mode 100644 index 000000000000..33a2e9568a45 --- /dev/null +++ b/devel/electron33/files/patch-build_config_BUILD.gn @@ -0,0 +1,13 @@ +--- build/config/BUILD.gn.orig 2024-08-14 20:54:23 UTC ++++ build/config/BUILD.gn +@@ -213,6 +213,10 @@ config("default_libs") { + # Targets should choose to explicitly link frameworks they require. Since + # linking can have run-time side effects, nothing should be listed here. + libs = [] ++ } else if (is_bsd) { ++ libs = [ ++ "pthread", ++ ] + } else if (is_linux || is_chromeos) { + libs = [ + "dl", diff --git a/devel/electron33/files/patch-build_config_BUILDCONFIG.gn b/devel/electron33/files/patch-build_config_BUILDCONFIG.gn new file mode 100644 index 000000000000..481b4af072b3 --- /dev/null +++ b/devel/electron33/files/patch-build_config_BUILDCONFIG.gn @@ -0,0 +1,45 @@ +--- build/config/BUILDCONFIG.gn.orig 2024-06-30 11:48:26 UTC ++++ build/config/BUILDCONFIG.gn +@@ -139,7 +139,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" && +@@ -234,6 +235,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") + } +@@ -277,6 +282,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") + } +@@ -311,7 +318,11 @@ is_ios = current_os == "ios" + 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/devel/electron33/files/patch-build_config_clang_BUILD.gn b/devel/electron33/files/patch-build_config_clang_BUILD.gn new file mode 100644 index 000000000000..b955fd420b26 --- /dev/null +++ b/devel/electron33/files/patch-build_config_clang_BUILD.gn @@ -0,0 +1,16 @@ +--- build/config/clang/BUILD.gn.orig 2024-10-16 21:30:44 UTC ++++ build/config/clang/BUILD.gn +@@ -236,7 +236,12 @@ clang_lib("compiler_builtins") { + + # Adds a dependency on the Clang runtime library clang_rt.builtins. + clang_lib("compiler_builtins") { +- if (is_mac) { ++ if (is_bsd) { ++ # Since there's no Rust in the toolchain, there's no concern that we'll use ++ # the Rust stdlib's intrinsics here. ++ # ++ # Don't define libname which makes this target do nothing. ++ } else if (is_mac) { + libname = "osx" + } else if (is_ios) { + if (target_environment == "simulator") { diff --git a/devel/electron33/files/patch-build_config_compiler_BUILD.gn b/devel/electron33/files/patch-build_config_compiler_BUILD.gn new file mode 100644 index 000000000000..857dcd4799c6 --- /dev/null +++ b/devel/electron33/files/patch-build_config_compiler_BUILD.gn @@ -0,0 +1,141 @@ +--- build/config/compiler/BUILD.gn.orig 2024-10-16 21:30:44 UTC ++++ build/config/compiler/BUILD.gn +@@ -199,7 +199,7 @@ declare_args() { + # This greatly reduces the size of debug builds, at the cost of + # debugging information which is required by some specialized + # debugging tools. +- simple_template_names = is_clang && !is_nacl && !is_win && !is_apple ++ simple_template_names = is_clang && !is_nacl && !is_win && !is_apple && !is_bsd + } + + declare_args() { +@@ -256,13 +256,16 @@ config("no_unresolved_symbols") { + # 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", "-Wl,--strip-all" ] ++ } + } + + # compiler --------------------------------------------------------------------- +@@ -508,6 +511,10 @@ config("compiler") { + } + } + ++ if (is_openbsd) { ++ ldflags += [ "-Wl,-z,wxneeded" ] ++ } ++ + # Linux-specific compiler flags setup. + # ------------------------------------ + if (use_icf && (!is_apple || use_lld)) { +@@ -561,7 +568,7 @@ config("compiler") { + ldflags += [ "-Wl,-z,keep-text-section-prefix" ] + } + +- if (is_clang && !is_nacl) { ++ if (is_clang && !is_nacl && !is_bsd) { + cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] + if (save_reproducers_on_lld_crash && use_lld) { + ldflags += [ +@@ -1217,7 +1224,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" ] +@@ -1232,7 +1239,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" ] +@@ -1567,7 +1574,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", +@@ -1625,7 +1632,7 @@ config("clang_revision") { + } + + config("clang_revision") { +- if (is_clang && clang_base_path == default_clang_base_path && ++ if (is_clang && !is_bsd && clang_base_path == default_clang_base_path && + current_os != "zos") { + update_args = [ + "--print-revision", +@@ -1955,9 +1962,6 @@ config("default_warnings") { + + # TODO(crbug.com/40286317): Evaluate and possibly enable. + "-Wno-vla-extension", +- +- # TODO(crbug.com/40284799): Fix and re-enable. +- "-Wno-thread-safety-reference-return", + ] + + cflags_cc += [ +@@ -1965,17 +1969,11 @@ config("default_warnings") { + "-Wenum-compare-conditional", + ] + +- if (!is_nacl) { ++ if (!is_nacl && !is_openbsd) { + cflags_cc += [ + # TODO(crbug.com/41486292): Fix and re-enable. + "-Wno-c++11-narrowing-const-reference", + ] +- +- # TODO(crbug.com/344680447): Fix and re-enable. +- cflags_cc += [ "-Wno-missing-template-arg-list-after-template-kw" ] +- +- # TODO(crbug.com/356172342): Fix and re-enable. +- cflags_cc += [ "-Wno-dangling-assignment-gsl" ] + } + } + +@@ -2709,7 +2707,7 @@ config("afdo") { + # 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. +@@ -2736,7 +2734,7 @@ config("afdo") { + cflags += [ "-Wno-backend-plugin" ] + 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 ] + } +@@ -2913,7 +2911,7 @@ config("symbols") { + cflags += [ "-gomit-unreferenced-methods" ] + } + +- if (is_clang && (!is_nacl || is_nacl_saigo)) { ++ if (is_clang && (!is_nacl || is_nacl_saigo) && !is_bsd) { + if (is_apple) { + # TODO(crbug.com/40117949): Investigate missing debug info on mac. + # Make sure we don't use constructor homing on mac. diff --git a/devel/electron33/files/patch-build_config_linux_BUILD.gn b/devel/electron33/files/patch-build_config_linux_BUILD.gn new file mode 100644 index 000000000000..2e93980f3e50 --- /dev/null +++ b/devel/electron33/files/patch-build_config_linux_BUILD.gn @@ -0,0 +1,11 @@ +--- build/config/linux/BUILD.gn.orig 2022-05-19 14:06:27 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/devel/electron33/files/patch-build_config_linux_pkg-config.py b/devel/electron33/files/patch-build_config_linux_pkg-config.py new file mode 100644 index 000000000000..3b8ffa5a822d --- /dev/null +++ b/devel/electron33/files/patch-build_config_linux_pkg-config.py @@ -0,0 +1,11 @@ +--- build/config/linux/pkg-config.py.orig 2023-03-30 00:33:39 UTC ++++ build/config/linux/pkg-config.py +@@ -108,7 +108,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/devel/electron33/files/patch-build_config_ozone.gni b/devel/electron33/files/patch-build_config_ozone.gni new file mode 100644 index 000000000000..917f5aa3c178 --- /dev/null +++ b/devel/electron33/files/patch-build_config_ozone.gni @@ -0,0 +1,19 @@ +--- build/config/ozone.gni.orig 2023-10-19 19:57:59 UTC ++++ build/config/ozone.gni +@@ -84,7 +84,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/devel/electron33/files/patch-build_config_rust.gni b/devel/electron33/files/patch-build_config_rust.gni new file mode 100644 index 000000000000..6c8a5830bc5f --- /dev/null +++ b/devel/electron33/files/patch-build_config_rust.gni @@ -0,0 +1,13 @@ +--- build/config/rust.gni.orig 2024-10-16 21:30:44 UTC ++++ build/config/rust.gni +@@ -277,6 +277,10 @@ if (is_linux || is_chromeos) { + } + } + ++if (is_bsd) { ++ rust_abi_target = string_replace(rust_abi_target, "linux-gnu", current_os) ++} ++ + assert(!toolchain_has_rust || rust_abi_target != "") + + # This variable is passed to the Rust libstd build. diff --git a/devel/electron33/files/patch-build_config_v8__target__cpu.gni b/devel/electron33/files/patch-build_config_v8__target__cpu.gni new file mode 100644 index 000000000000..40fa8f6348e3 --- /dev/null +++ b/devel/electron33/files/patch-build_config_v8__target__cpu.gni @@ -0,0 +1,13 @@ +--- build/config/v8_target_cpu.gni.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-build_detect__host__arch.py b/devel/electron33/files/patch-build_detect__host__arch.py new file mode 100644 index 000000000000..673554933a91 --- /dev/null +++ b/devel/electron33/files/patch-build_detect__host__arch.py @@ -0,0 +1,11 @@ +--- build/detect_host_arch.py.orig 2023-03-30 00:33:39 UTC ++++ build/detect_host_arch.py +@@ -20,6 +20,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/devel/electron33/files/patch-build_gn__run__binary.py b/devel/electron33/files/patch-build_gn__run__binary.py new file mode 100644 index 000000000000..08fb97b6a1e9 --- /dev/null +++ b/devel/electron33/files/patch-build_gn__run__binary.py @@ -0,0 +1,11 @@ +--- build/gn_run_binary.py.orig 2023-03-30 00:33:39 UTC ++++ build/gn_run_binary.py +@@ -23,7 +23,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/devel/electron33/files/patch-build_linux_chrome.map b/devel/electron33/files/patch-build_linux_chrome.map new file mode 100644 index 000000000000..992585036b7b --- /dev/null +++ b/devel/electron33/files/patch-build_linux_chrome.map @@ -0,0 +1,13 @@ +--- build/linux/chrome.map.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-build_linux_strip__binary.py b/devel/electron33/files/patch-build_linux_strip__binary.py new file mode 100644 index 000000000000..9dd3c051630b --- /dev/null +++ b/devel/electron33/files/patch-build_linux_strip__binary.py @@ -0,0 +1,10 @@ +--- build/linux/strip_binary.py.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-build_linux_unbundle_icu.gn b/devel/electron33/files/patch-build_linux_unbundle_icu.gn new file mode 100644 index 000000000000..db5bb70b9b7a --- /dev/null +++ b/devel/electron33/files/patch-build_linux_unbundle_icu.gn @@ -0,0 +1,37 @@ +--- build/linux/unbundle/icu.gn.orig 2024-11-09 21:36:20 UTC ++++ build/linux/unbundle/icu.gn +@@ -17,6 +17,15 @@ config("icu_config") { + "USING_SYSTEM_ICU=1", + "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", + ++ # As of icu 73 C++ nullptr, char16_t, override, final and noexcept are used ++ # instead of defines. These definitions can be removed when the bundled icu ++ # gets updated to 73. For more details, see: ++ # https://unicode-org.atlassian.net/browse/ICU-21833 and ++ # https://github.com/unicode-org/icu/commit/28643799377ecf654564f6f31854b02788cebe33 ++ "U_FINAL=final", ++ "U_NOEXCEPT=noexcept", ++ "U_OVERRIDE=override", ++ + # U_EXPORT (defined in unicode/platform.h) is used to set public visibility + # on classes through the U_COMMON_API and U_I18N_API macros (among others). + # When linking against the system ICU library, we want its symbols to have +@@ -35,6 +44,18 @@ config("icu_config") { + # please see: https://crbug.com/822820 + "U_IMPORT=U_EXPORT", + ] ++ ++ _icu_version = exec_script(pkg_config_script, ++ common_pkg_config_args + pkg_config_args + [ ++ "icu-i18n", ++ "--version-as-components", ++ ], ++ "value") ++ ++ # Unbreak with icu 76 where private symbols are picked up ++ if (_icu_version[0] >= 76) { ++ defines += [ "U_HIDE_DRAFT_API" ] ++ } + } + + pkg_config("system_icui18n") { diff --git a/devel/electron33/files/patch-build_linux_unbundle_libevent.gn b/devel/electron33/files/patch-build_linux_unbundle_libevent.gn new file mode 100644 index 000000000000..d5f276de574d --- /dev/null +++ b/devel/electron33/files/patch-build_linux_unbundle_libevent.gn @@ -0,0 +1,15 @@ +--- build/linux/unbundle/libevent.gn.orig 2022-05-28 07:21:18 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/devel/electron33/files/patch-build_linux_unbundle_libusb.gn b/devel/electron33/files/patch-build_linux_unbundle_libusb.gn new file mode 100644 index 000000000000..a99cdcd835d6 --- /dev/null +++ b/devel/electron33/files/patch-build_linux_unbundle_libusb.gn @@ -0,0 +1,30 @@ +--- build/linux/unbundle/libusb.gn.orig 2023-11-29 21:39:40 UTC ++++ build/linux/unbundle/libusb.gn +@@ -1,3 +1,27 @@ ++# 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" ] ++} + import("//build/config/linux/pkg_config.gni") + import("//build/shim_headers.gni") + diff --git a/devel/electron33/files/patch-build_rust_rust__bindgen.gni b/devel/electron33/files/patch-build_rust_rust__bindgen.gni new file mode 100644 index 000000000000..6af1b9f8704e --- /dev/null +++ b/devel/electron33/files/patch-build_rust_rust__bindgen.gni @@ -0,0 +1,19 @@ +--- build/rust/rust_bindgen.gni.orig 2024-08-14 20:54:23 UTC ++++ build/rust/rust_bindgen.gni +@@ -11,14 +11,14 @@ if (is_win) { + import("//build/toolchain/win/win_toolchain_data.gni") + } + +-_bindgen_path = "${rust_bindgen_root}/bin/bindgen" ++_bindgen_path = "${LOCALBASE}/bin/bindgen" + if (host_os == "win") { + _bindgen_path = "${_bindgen_path}.exe" + } + + # On Windows, the libclang.dll is beside the bindgen.exe, otherwise it is in + # ../lib. +-_libclang_path = rust_bindgen_root ++_libclang_path = "${LOCALBASE}/llvm${MODCLANG_VERSION}" + if (host_os == "win") { + _libclang_path += "/bin" + } else { diff --git a/devel/electron33/files/patch-build_rust_std_BUILD.gn b/devel/electron33/files/patch-build_rust_std_BUILD.gn new file mode 100644 index 000000000000..f40de14fbd97 --- /dev/null +++ b/devel/electron33/files/patch-build_rust_std_BUILD.gn @@ -0,0 +1,10 @@ +--- build/rust/std/BUILD.gn.orig 2024-08-14 20:54:23 UTC ++++ build/rust/std/BUILD.gn +@@ -100,7 +100,6 @@ if (toolchain_has_rust) { + # don't need to pass to the C++ linker because they're used for specialized + # purposes. + skip_stdlib_files = [ +- "profiler_builtins", + "rustc_std_workspace_alloc", + "rustc_std_workspace_core", + "rustc_std_workspace_std", diff --git a/devel/electron33/files/patch-build_toolchain_freebsd_BUILD.gn b/devel/electron33/files/patch-build_toolchain_freebsd_BUILD.gn new file mode 100644 index 000000000000..7857149615a0 --- /dev/null +++ b/devel/electron33/files/patch-build_toolchain_freebsd_BUILD.gn @@ -0,0 +1,69 @@ +--- build/toolchain/freebsd/BUILD.gn.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-build_toolchain_gcc__solink__wrapper.py b/devel/electron33/files/patch-build_toolchain_gcc__solink__wrapper.py new file mode 100644 index 000000000000..34debf134bea --- /dev/null +++ b/devel/electron33/files/patch-build_toolchain_gcc__solink__wrapper.py @@ -0,0 +1,11 @@ +--- build/toolchain/gcc_solink_wrapper.py.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-build_toolchain_gcc__toolchain.gni b/devel/electron33/files/patch-build_toolchain_gcc__toolchain.gni new file mode 100644 index 000000000000..f0994e24e9e3 --- /dev/null +++ b/devel/electron33/files/patch-build_toolchain_gcc__toolchain.gni @@ -0,0 +1,44 @@ +--- build/toolchain/gcc_toolchain.gni.orig 2024-08-14 20:54:23 UTC ++++ build/toolchain/gcc_toolchain.gni +@@ -56,6 +56,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). + # +@@ -904,22 +911,12 @@ template("clang_toolchain") { + # actually just be doing a native compile. + 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, "*", [ "toolchain_args" ]) + diff --git a/devel/electron33/files/patch-build_toolchain_openbsd_BUILD.gn b/devel/electron33/files/patch-build_toolchain_openbsd_BUILD.gn new file mode 100644 index 000000000000..04e6f6b416e2 --- /dev/null +++ b/devel/electron33/files/patch-build_toolchain_openbsd_BUILD.gn @@ -0,0 +1,69 @@ +--- build/toolchain/openbsd/BUILD.gn.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-build_toolchain_toolchain.gni b/devel/electron33/files/patch-build_toolchain_toolchain.gni new file mode 100644 index 000000000000..33c3707bc605 --- /dev/null +++ b/devel/electron33/files/patch-build_toolchain_toolchain.gni @@ -0,0 +1,11 @@ +--- build/toolchain/toolchain.gni.orig 2024-08-14 20:54:23 UTC ++++ build/toolchain/toolchain.gni +@@ -72,7 +72,7 @@ if (host_os == "mac") { + host_shlib_extension = ".dylib" + } else if (host_os == "win") { + host_shlib_extension = ".dll" +-} else if (host_os == "linux" || host_os == "aix" || host_os == "zos") { ++} else if (is_posix) { + host_shlib_extension = ".so" + } else { + assert(false, "Host platform not supported") diff --git a/devel/electron33/files/patch-cc_base_features.cc b/devel/electron33/files/patch-cc_base_features.cc new file mode 100644 index 000000000000..9467dff0f852 --- /dev/null +++ b/devel/electron33/files/patch-cc_base_features.cc @@ -0,0 +1,11 @@ +--- cc/base/features.cc.orig 2024-10-16 21:30:45 UTC ++++ cc/base/features.cc +@@ -78,7 +78,7 @@ BASE_FEATURE(kUseDMSAAForTiles, + // be using a separate flag to control the launch on GL. + BASE_FEATURE(kUseDMSAAForTiles, + "UseDMSAAForTiles", +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/devel/electron33/files/patch-chrome_app_chrome__command__ids.h b/devel/electron33/files/patch-chrome_app_chrome__command__ids.h new file mode 100644 index 000000000000..abc2aa8017e7 --- /dev/null +++ b/devel/electron33/files/patch-chrome_app_chrome__command__ids.h @@ -0,0 +1,17 @@ +--- chrome/app/chrome_command_ids.h.orig 2024-06-18 21:43:19 UTC ++++ chrome/app/chrome_command_ids.h +@@ -68,12 +68,12 @@ + #define IDC_TOGGLE_MULTITASK_MENU 34050 + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #define IDC_USE_SYSTEM_TITLE_BAR 34051 + #endif + + // TODO(crbug.com/40118868): 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_RESTORE_WINDOW 34052 + #endif + diff --git a/devel/electron33/files/patch-chrome_app_chrome__main.cc b/devel/electron33/files/patch-chrome_app_chrome__main.cc new file mode 100644 index 000000000000..a013dc372ccf --- /dev/null +++ b/devel/electron33/files/patch-chrome_app_chrome__main.cc @@ -0,0 +1,43 @@ +--- chrome/app/chrome_main.cc.orig 2024-10-16 21:30:46 UTC ++++ chrome/app/chrome_main.cc +@@ -30,11 +30,11 @@ + #include "chrome/app/chrome_main_mac.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 + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/app/chrome_main_linux.h" + #endif + +@@ -55,7 +55,7 @@ + #endif // BUILDFLAG(IS_WIN) + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #define ENABLE_OLD_HEADLESS + #endif + +@@ -120,7 +120,7 @@ int ChromeMain(int argc, const char** argv) { + #error Unknown platform. + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + PossiblyDetermineFallbackChromeChannel(argv[0]); + #endif + +@@ -186,7 +186,7 @@ int ChromeMain(int argc, const char** argv) { + SetUpBundleOverrides(); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + AppendExtraArgumentsToCommandLine(command_line); + #endif + diff --git a/devel/electron33/files/patch-chrome_app_chrome__main__delegate.cc b/devel/electron33/files/patch-chrome_app_chrome__main__delegate.cc new file mode 100644 index 000000000000..693c7a0e5976 --- /dev/null +++ b/devel/electron33/files/patch-chrome_app_chrome__main__delegate.cc @@ -0,0 +1,147 @@ +--- chrome/app/chrome_main_delegate.cc.orig 2024-10-16 21:30:46 UTC ++++ chrome/app/chrome_main_delegate.cc +@@ -145,7 +145,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 +@@ -189,17 +189,17 @@ + #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) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/nix/scoped_xdg_activation_token_injector.h" + #include "ui/linux/display_server_utils.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 +@@ -343,7 +343,7 @@ bool SubprocessNeedsResourceBundle(const std::string& + // 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 +@@ -428,7 +428,7 @@ bool HandleVersionSwitches(const base::CommandLine& co + + // TODO(crbug.com/40118868): 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) || +@@ -474,7 +474,7 @@ void SetCrashpadUploadConsentPostLogin() { + } + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) + +-#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) ++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) + void SIGTERMProfilingShutdown(int signal) { + content::Profiling::Stop(); + struct sigaction sigact; +@@ -556,7 +556,7 @@ std::optional<int> AcquireProcessSingleton( + // process can be exited. + ChromeProcessSingleton::CreateInstance(user_data_dir); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Read the xdg-activation token and set it in the command line for the + // duration of the notification in order to ensure this is propagated to an + // already running browser process if it exists. +@@ -640,7 +640,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. +@@ -770,7 +770,7 @@ void RecordMainStartupMetrics(const StartupTimestamps& + #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::GetCommon().RecordStartupProcessCreationTime( +@@ -964,7 +964,7 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitia + #if BUILDFLAG(IS_OZONE) + // Initialize Ozone platform and add required feature flags as per platform's + // properties. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ui::SetOzonePlatformForLinuxIfNeeded(*base::CommandLine::ForCurrentProcess()); + #endif + ui::OzonePlatform::PreEarlyInitialization(); +@@ -1168,7 +1168,7 @@ void ChromeMainDelegate::CommonEarlyInitialization(Inv + const bool is_canary_dev = IsCanaryDev(); + const bool emit_crashes = + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + is_canary_dev; + #else + false; +@@ -1318,7 +1318,7 @@ std::optional<int> ChromeMainDelegate::BasicStartupCom + + // TODO(crbug.com/40118868): 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 +@@ -1348,7 +1348,7 @@ std::optional<int> ChromeMainDelegate::BasicStartupCom + #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 + +@@ -1725,7 +1725,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 && + !command_line.HasSwitch(switches::kDisableCrashpadForTesting)) { +@@ -1821,13 +1821,13 @@ absl::variant<int, content::MainFunctionParams> Chrome + #else + + #if BUILDFLAG(IS_MAC) || (BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && \ +- !BUILDFLAG(IS_CHROMEOS)) ++ !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD)) + static const MainFunction kMainFunctions[] = { + #if BUILDFLAG(IS_MAC) + {switches::kRelauncherProcess, mac_relauncher::internal::RelauncherMain}, + {switches::kCodeSignCloneCleanupProcess, + code_sign_clone_manager::internal::ChromeCodeSignCloneCleanupMain}, +-#elif BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + // This entry is not needed on Linux, where the NaCl loader + // process is launched via nacl_helper instead. + {switches::kNaClLoaderProcess, NaClMain}, diff --git a/devel/electron33/files/patch-chrome_browser_BUILD.gn b/devel/electron33/files/patch-chrome_browser_BUILD.gn new file mode 100644 index 000000000000..804a4afce4fa --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_BUILD.gn @@ -0,0 +1,16 @@ +--- chrome/browser/BUILD.gn.orig 2024-10-28 21:05:16 UTC ++++ chrome/browser/BUILD.gn +@@ -6905,6 +6905,13 @@ static_library("browser") { + } + } + ++ if (is_bsd) { ++ sources -= [ ++ "metrics/bluetooth_metrics_provider.cc", ++ "metrics/bluetooth_metrics_provider.h", ++ ] ++ } ++ + if (is_linux && use_dbus) { + sources += [ + "dbus_memory_pressure_evaluator_linux.cc", diff --git a/devel/electron33/files/patch-chrome_browser_about__flags.cc b/devel/electron33/files/patch-chrome_browser_about__flags.cc new file mode 100644 index 000000000000..e7fb621963c3 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_about__flags.cc @@ -0,0 +1,292 @@ +--- chrome/browser/about_flags.cc.orig 2024-10-16 21:30:55 UTC ++++ chrome/browser/about_flags.cc +@@ -244,7 +244,7 @@ + #include "ui/ui_features.h" + #include "url/url_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 + +@@ -337,7 +337,7 @@ + #include "device/vr/public/cpp/features.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "ui/ozone/public/ozone_switches.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) + +@@ -346,7 +346,7 @@ + #include "chrome/browser/win/mica_titlebar.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/enterprise/profile_management/profile_management_features.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + +@@ -356,7 +356,7 @@ + #include "components/user_education/common/user_education_features.h" // nogncheck + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/ui_features.h" + #include "ui/base/ui_base_features.h" + #endif +@@ -498,7 +498,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, +@@ -775,6 +775,26 @@ const FeatureEntry::FeatureVariation + std::size(kWebIdentityDigitalIdentityCredentialHighRiskDialogParam), + nullptr}}; + ++#if BUILDFLAG(IS_BSD) ++const FeatureEntry::FeatureParam kAudioBackendPulseAudio[] = { ++ { "audio-backend", "pulseaudio" }}; ++const FeatureEntry::FeatureParam kAudioBackendSndio[] = { ++ { "audio-backend", "sndio" }}; ++const FeatureEntry::FeatureParam kAudioBackendAlsa[] = { ++ { "audio-backend", "alsa" }}; ++const FeatureEntry::FeatureVariation ++ kAudioBackendVariations[] = { ++ {"using PulseAudio by default if available", kAudioBackendPulseAudio, ++ std::size(kAudioBackendPulseAudio), ++ nullptr}, ++ {"using sndio by default if available", kAudioBackendSndio, ++ std::size(kAudioBackendSndio), ++ nullptr}, ++ {"using ALSA by default if available", kAudioBackendAlsa, ++ std::size(kAudioBackendAlsa), ++ nullptr}}; ++#endif ++ + const FeatureEntry::FeatureParam kClipboardMaximumAge60Seconds[] = { + {"UIClipboardMaximumAge", "60"}}; + const FeatureEntry::FeatureParam kClipboardMaximumAge90Seconds[] = { +@@ -1188,7 +1208,7 @@ const FeatureEntry::FeatureVariation kPageContentAnnot + }; + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + const FeatureEntry::FeatureParam kHistoryEmbeddingsAtKeywordAcceleration[]{ + {"AtKeywordAcceleration", "true"}, + }; +@@ -1232,7 +1252,7 @@ const FeatureEntry::FeatureVariation + }; + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + const FeatureEntry::FeatureParam kShortcutBoostSingleUrl[] = { + {"ShortcutBoostSearchScore", "0"}, + {"ShortcutBoostNonTopHitThreshold", "0"}, +@@ -3678,7 +3698,7 @@ const flags_ui::FeatureEntry::FeatureVariation + }; + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOn[] = + {{"link_capturing_state", "on_by_default"}}; + const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOff[] = +@@ -4920,7 +4940,7 @@ const FeatureEntry kFeatureEntries[] = { + }, + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { + "fluent-overlay-scrollbars", + flag_descriptions::kFluentOverlayScrollbarsName, +@@ -5332,7 +5352,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kWebAppUniversalInstallDescription, kOsDesktop, + FEATURE_VALUE_TYPE(features::kWebAppUniversalInstall)}, + #endif // !BUILDFLAG(IS_ANDROID) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"shortcuts-not-apps", flag_descriptions::kShortcutsNotAppsName, + flag_descriptions::kShortcutsNotAppsDescription, + kOsMac | kOsWin | kOsLinux, +@@ -5487,7 +5507,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) + {"pulseaudio-loopback-for-cast", + flag_descriptions::kPulseaudioLoopbackForCastName, + flag_descriptions::kPulseaudioLoopbackForCastDescription, kOsLinux, +@@ -5514,9 +5534,18 @@ const FeatureEntry kFeatureEntries[] = { + {"wayland-text-input-v3", flag_descriptions::kWaylandTextInputV3Name, + flag_descriptions::kWaylandTextInputV3Description, kOsLinux, + FEATURE_VALUE_TYPE(features::kWaylandTextInputV3)}, ++#if BUILDFLAG(IS_BSD) ++ {"audio-backend", ++ flag_descriptions::kAudioBackendName, ++ flag_descriptions::kAudioBackendDescription, kOsLinux, ++ FEATURE_WITH_PARAMS_VALUE_TYPE( ++ media::kAudioBackend, ++ kAudioBackendVariations, ++ "AudioBackend")}, ++#endif + #endif // BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + {"skip-undecryptable-passwords", + flag_descriptions::kSkipUndecryptablePasswordsName, + flag_descriptions::kSkipUndecryptablePasswordsDescription, +@@ -6465,7 +6494,7 @@ const FeatureEntry kFeatureEntries[] = { + "MlUrlScoring")}, + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + {"omnibox-domain-suggestions", + flag_descriptions::kOmniboxDomainSuggestionsName, + flag_descriptions::kOmniboxDomainSuggestionsDescription, kOsDesktop, +@@ -6752,7 +6781,7 @@ const FeatureEntry kFeatureEntries[] = { + "OrganicRepeatableQueries")}, + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + {"history-embeddings", flag_descriptions::kHistoryEmbeddingsName, + flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop, + FEATURE_WITH_PARAMS_VALUE_TYPE(history_embeddings::kHistoryEmbeddings, +@@ -7341,7 +7370,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(printing::features::kAddPrinterViaPrintscanmgr)}, + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + {"cups-ipp-printing-backend", + flag_descriptions::kCupsIppPrintingBackendName, + flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop, +@@ -8326,7 +8355,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kCooperativeSchedulingDescription, kOsAll, + FEATURE_VALUE_TYPE(features::kCooperativeScheduling)}, + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {"enable-network-service-sandbox", + flag_descriptions::kEnableNetworkServiceSandboxName, + flag_descriptions::kEnableNetworkServiceSandboxDescription, +@@ -8350,7 +8379,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(media::kV4L2FlatStatefulVideoDecoder)}, + #endif + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + {"enable-family-link-extensions-permissions", + flag_descriptions:: + kEnableExtensionsPermissionsForSupervisedUsersOnDesktopName, +@@ -9184,7 +9213,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(ash::features::kWallpaperPerDesk)}, + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"enable-get-all-screens-media", flag_descriptions::kGetAllScreensMediaName, + flag_descriptions::kGetAllScreensMediaDescription, + kOsCrOS | kOsLacros | kOsLinux, +@@ -9217,7 +9246,7 @@ const FeatureEntry kFeatureEntries[] = { + + #if BUILDFLAG(IS_WIN) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + { + "ui-debug-tools", + flag_descriptions::kUIDebugToolsName, +@@ -9745,7 +9774,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(features::kRenderPassDrawnRect)}, + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {"media-session-enter-picture-in-picture", + flag_descriptions::kMediaSessionEnterPictureInPictureName, + flag_descriptions::kMediaSessionEnterPictureInPictureDescription, +@@ -10592,7 +10621,7 @@ const FeatureEntry kFeatureEntries[] = { + kOsDesktop | kOsAndroid, + FEATURE_VALUE_TYPE(features::kProcessPerSiteUpToMainFrameThreshold)}, + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"camera-mic-effects", flag_descriptions::kCameraMicEffectsName, + flag_descriptions::kCameraMicEffectsDescription, + static_cast<unsigned short>(kOsMac | kOsWin | kOsLinux), +@@ -10630,7 +10659,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(features::kSiteInstanceGroupsForDataUrls)}, + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {"site-search-settings-policy", + flag_descriptions::kSiteSearchSettingsPolicyName, + flag_descriptions::kSiteSearchSettingsPolicyDescription, kOsAll, +@@ -10759,7 +10788,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kHideIncognitoMediaMetadataDescription, kOsAll, + FEATURE_VALUE_TYPE(media::kHideIncognitoMediaMetadata)}, + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + {"third-party-profile-management", + flag_descriptions::kThirdPartyProfileManagementName, + flag_descriptions::kThirdPartyProfileManagementDescription, +@@ -10801,7 +10830,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {"enable-user-navigation-capturing-pwa", + flag_descriptions::kPwaNavigationCapturingName, + flag_descriptions::kPwaNavigationCapturingDescription, +@@ -11726,7 +11755,7 @@ const FeatureEntry kFeatureEntries[] = { + kAuthenticateUsingUserConsentVerifierInteropApi)}, + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"sync-enable-bookmarks-in-transport-mode", + flag_descriptions::kSyncEnableBookmarksInTransportModeName, + flag_descriptions::kSyncEnableBookmarksInTransportModeDescription, +@@ -11816,7 +11845,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif + + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + {"classify-url-on-process-response-event", + flag_descriptions::kClassifyUrlOnProcessResponseEventName, + flag_descriptions::kClassifyUrlOnProcessResponseEventDescription, +@@ -11825,7 +11854,7 @@ const FeatureEntry kFeatureEntries[] = { + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + {"tab-organization", flag_descriptions::kTabOrganizationName, + flag_descriptions::kTabOrganizationDescription, kOsDesktop, + FEATURE_VALUE_TYPE(features::kTabOrganization)}, +@@ -11864,7 +11893,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kLanguageDetectionAPIDescription, kOsAll, + FEATURE_VALUE_TYPE(blink::features::kLanguageDetectionAPI)}, + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + {"supervised-profile-hide-guest", + flag_descriptions::kSupervisedProfileHideGuestName, + flag_descriptions::kSupervisedProfileHideGuestDescription, diff --git a/devel/electron33/files/patch-chrome_browser_accessibility_page__colors.cc b/devel/electron33/files/patch-chrome_browser_accessibility_page__colors.cc new file mode 100644 index 000000000000..14c471acb482 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_accessibility_page__colors.cc @@ -0,0 +1,20 @@ +--- chrome/browser/accessibility/page_colors.cc.orig 2024-08-14 20:54:31 UTC ++++ chrome/browser/accessibility/page_colors.cc +@@ -12,7 +12,7 @@ + #include "components/sync_preferences/pref_service_syncable.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" + #include "ui/linux/linux_ui_factory.h" + #endif // BUILDFLAG(IS_LINUX) +@@ -55,7 +55,7 @@ void PageColors::OnPageColorsChanged() { + + void PageColors::OnPageColorsChanged() { + auto* native_theme = ui::NativeTheme::GetInstanceForNativeUi(); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Allow the Linux native theme to update its state for page colors. + if (auto* linux_ui_theme = ui::GetDefaultLinuxUiTheme()) { + if (auto* linux_native_theme = linux_ui_theme->GetNativeTheme()) { diff --git a/devel/electron33/files/patch-chrome_browser_after__startup__task__utils.cc b/devel/electron33/files/patch-chrome_browser_after__startup__task__utils.cc new file mode 100644 index 000000000000..e1ade152ac4d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_after__startup__task__utils.cc @@ -0,0 +1,11 @@ +--- chrome/browser/after_startup_task_utils.cc.orig 2024-08-14 20:54:31 UTC ++++ chrome/browser/after_startup_task_utils.cc +@@ -117,7 +117,7 @@ void SetBrowserStartupIsComplete() { + TRACE_EVENT_SCOPE_GLOBAL, "BrowserCount", browser_count); + GetStartupCompleteFlag().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/devel/electron33/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc b/devel/electron33/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc new file mode 100644 index 000000000000..974564e532a4 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_apps_app__service_publishers_extension__apps.cc @@ -0,0 +1,11 @@ +--- chrome/browser/apps/app_service/publishers/extension_apps.cc.orig 2024-04-15 20:33:45 UTC ++++ chrome/browser/apps/app_service/publishers/extension_apps.cc +@@ -23,7 +23,7 @@ bool ExtensionApps::Accepts(const extensions::Extensio + ExtensionApps::~ExtensionApps() = default; + + bool ExtensionApps::Accepts(const extensions::Extension* extension) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (extensions::IsExtensionUnsupportedDeprecatedApp(profile(), + extension->id())) { + return false; diff --git a/devel/electron33/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc b/devel/electron33/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc new file mode 100644 index 000000000000..3d97a501fb91 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc @@ -0,0 +1,65 @@ +--- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2024-04-15 20:33:45 UTC ++++ chrome/browser/apps/platform_apps/platform_app_launch.cc +@@ -19,7 +19,7 @@ + #include "extensions/common/constants.h" + #include "extensions/common/extension.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/ui/browser.h" + #include "chrome/browser/ui/browser_navigator.h" + #include "chrome/browser/ui/browser_window.h" +@@ -86,7 +86,7 @@ bool OpenExtensionApplicationWindow(Profile* profile, + if (launch_container == LaunchContainer::kLaunchContainerTab) + return false; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (OpenDeprecatedApplicationPrompt(profile, app_id)) { + return false; + } +@@ -118,7 +118,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof + if (launch_container != apps::LaunchContainer::kLaunchContainerTab) + return nullptr; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (OpenDeprecatedApplicationPrompt(profile, app_id)) { + return nullptr; + } +@@ -134,7 +134,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof + return app_tab; + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool OpenDeprecatedApplicationPrompt(Profile* profile, + const std::string& app_id) { + if (!extensions::IsExtensionUnsupportedDeprecatedApp(profile, app_id)) +@@ -170,7 +170,7 @@ bool OpenExtensionApplicationWithReenablePrompt( + if (!GetPlatformApp(profile, app_id)) + return false; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (OpenDeprecatedApplicationPrompt(profile, app_id)) { + return false; + } +@@ -192,7 +192,7 @@ content::WebContents* OpenExtensionAppShortcutWindow(P + ->enabled_extensions() + .GetAppByURL(url); + if (app) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (OpenDeprecatedApplicationPrompt(profile, app->id())) { + return nullptr; + } +@@ -215,7 +215,7 @@ void RecordExtensionAppLaunchOnTabRestored(Profile* pr + if (!extension) + return; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (OpenDeprecatedApplicationPrompt(profile, extension->id())) { + return; + } diff --git a/devel/electron33/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h b/devel/electron33/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h new file mode 100644 index 000000000000..dfaec412f898 --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:21 UTC ++++ chrome/browser/apps/platform_apps/platform_app_launch.h +@@ -38,7 +38,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof + content::WebContents* 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/devel/electron33/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/devel/electron33/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc new file mode 100644 index 000000000000..aede11201088 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc @@ -0,0 +1,11 @@ +--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc +@@ -88,7 +88,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 GetApplicationNameForScheme doesn't distinguish + // between URL schemes with handers and those without. This will + // make the default behaviour be search on Linux. diff --git a/devel/electron33/files/patch-chrome_browser_background_background__mode__manager.cc b/devel/electron33/files/patch-chrome_browser_background_background__mode__manager.cc new file mode 100644 index 000000000000..b1ed8f9f472f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_background_background__mode__manager.cc @@ -0,0 +1,11 @@ +--- chrome/browser/background/background_mode_manager.cc.orig 2024-04-15 20:33:46 UTC ++++ chrome/browser/background/background_mode_manager.cc +@@ -872,7 +872,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/devel/electron33/files/patch-chrome_browser_background_background__mode__optimizer.cc b/devel/electron33/files/patch-chrome_browser_background_background__mode__optimizer.cc new file mode 100644 index 000000000000..6375994f1a97 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_background_background__mode__optimizer.cc @@ -0,0 +1,11 @@ +--- chrome/browser/background/background_mode_optimizer.cc.orig 2024-04-15 20:33:46 UTC ++++ chrome/browser/background/background_mode_optimizer.cc +@@ -31,7 +31,7 @@ std::unique_ptr<BackgroundModeOptimizer> BackgroundMod + 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)) { + // Private ctor. + return base::WrapUnique(new BackgroundModeOptimizer()); diff --git a/devel/electron33/files/patch-chrome_browser_browser__features.cc b/devel/electron33/files/patch-chrome_browser_browser__features.cc new file mode 100644 index 000000000000..89d9a54ea6d7 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_browser__features.cc @@ -0,0 +1,38 @@ +--- chrome/browser/browser_features.cc.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/browser_features.cc +@@ -71,7 +71,7 @@ BASE_FEATURE(kClosedTabCache, + "ClosedTabCache", + base::FEATURE_DISABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Enables usage of os_crypt_async::SecretPortalKeyProvider. Once + // `kSecretPortalKeyProviderUseForEncryption` is enabled, this flag cannot be + // disabled without losing data. +@@ -87,7 +87,7 @@ BASE_FEATURE(kDestroyProfileOnBrowserClose, + BASE_FEATURE(kDestroyProfileOnBrowserClose, + "DestroyProfileOnBrowserClose", + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT); + #else + base::FEATURE_DISABLED_BY_DEFAULT); +@@ -347,7 +347,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlockedWarning, + "SandboxExternalProtocolBlockedWarning", + base::FEATURE_ENABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // If true, encrypt new data with the key provided by SecretPortalKeyProvider. + // Otherwise, it will only decrypt existing data. + BASE_FEATURE(kSecretPortalKeyProviderUseForEncryption, +@@ -360,7 +360,7 @@ BASE_FEATURE(kSupportSearchSuggestionForPrerender2, + BASE_FEATURE(kSupportSearchSuggestionForPrerender2, + "SupportSearchSuggestionForPrerender2", + #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ +- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT); + #else + base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/devel/electron33/files/patch-chrome_browser_browser__features.h b/devel/electron33/files/patch-chrome_browser_browser__features.h new file mode 100644 index 000000000000..bee938dfd221 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_browser__features.h @@ -0,0 +1,20 @@ +--- chrome/browser/browser_features.h.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/browser_features.h +@@ -29,7 +29,7 @@ BASE_DECLARE_FEATURE(kClosedTabCache); + BASE_DECLARE_FEATURE(kCertVerificationNetworkTime); + BASE_DECLARE_FEATURE(kClosedTabCache); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kDbusSecretPortal); + #endif + +@@ -143,7 +143,7 @@ BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlockedWa + BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlocked); + BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlockedWarning); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kSecretPortalKeyProviderUseForEncryption); + #endif + diff --git a/devel/electron33/files/patch-chrome_browser_browser__process__impl.cc b/devel/electron33/files/patch-chrome_browser_browser__process__impl.cc new file mode 100644 index 000000000000..4872522198a0 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_browser__process__impl.cc @@ -0,0 +1,56 @@ +--- chrome/browser/browser_process_impl.cc.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/browser_process_impl.cc +@@ -235,7 +235,7 @@ + #include "chrome/browser/ui/profiles/profile_picker.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 + +@@ -256,7 +256,7 @@ + #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/browser_features.h" + #include "components/os_crypt/async/browser/secret_portal_key_provider.h" + #endif +@@ -1124,7 +1124,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim + GoogleUpdateSettings::GetCollectStatsConsent()); + registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + os_crypt_async::SecretPortalKeyProvider::RegisterLocalPrefs(registry); + #endif + } +@@ -1307,7 +1307,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 + +@@ -1404,7 +1404,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { + } + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(features::kDbusSecretPortal)) { + providers.emplace_back( + /*precedence=*/10u, +@@ -1655,7 +1655,7 @@ void BrowserProcessImpl::Unpin() { + // Mac is currently not supported. + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_browser__process__impl.h b/devel/electron33/files/patch-chrome_browser_browser__process__impl.h new file mode 100644 index 000000000000..897f7001737f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_browser__process__impl.h @@ -0,0 +1,11 @@ +--- chrome/browser/browser_process_impl.h.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/browser_process_impl.h +@@ -405,7 +405,7 @@ class BrowserProcessImpl : public BrowserProcess, + + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_chrome__browser__field__trials.cc b/devel/electron33/files/patch-chrome_browser_chrome__browser__field__trials.cc new file mode 100644 index 000000000000..712a138d9daa --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_chrome__browser__field__trials.cc @@ -0,0 +1,20 @@ +--- chrome/browser/chrome_browser_field_trials.cc.orig 2024-08-14 20:54:34 UTC ++++ chrome/browser/chrome_browser_field_trials.cc +@@ -48,7 +48,7 @@ + #include "chrome/browser/ui/startup/default_browser_prompt/default_browser_prompt_trial.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/nix/xdg_util.h" + #include "ui/base/ui_base_features.h" + #endif // BUILDFLAG(IS_LINUX) +@@ -155,7 +155,7 @@ void ChromeBrowserFieldTrials::RegisterSyntheticTrials + #endif + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Linux/Desktop platform variants, such as ozone/wayland, some features + // might need to be disabled as per OzonePlatform's runtime properties. + // OzonePlatform selection and initialization, in turn, depend on Chrome flags diff --git a/devel/electron33/files/patch-chrome_browser_chrome__browser__field__trials.h b/devel/electron33/files/patch-chrome_browser_chrome__browser__field__trials.h new file mode 100644 index 000000000000..1ce865c8dbab --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_chrome__browser__field__trials.h @@ -0,0 +1,11 @@ +--- chrome/browser/chrome_browser_field_trials.h.orig 2024-08-14 20:54:34 UTC ++++ chrome/browser/chrome_browser_field_trials.h +@@ -34,7 +34,7 @@ class ChromeBrowserFieldTrials : public variations::Pl + const variations::EntropyProviders& entropy_providers, + base::FeatureList* feature_list) override; + void RegisterSyntheticTrials() override; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void RegisterFeatureOverrides(base::FeatureList* feature_list) override; + #endif + diff --git a/devel/electron33/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/devel/electron33/files/patch-chrome_browser_chrome__browser__interface__binders.cc new file mode 100644 index 000000000000..2458fd2c54a6 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_chrome__browser__interface__binders.cc @@ -0,0 +1,97 @@ +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/chrome_browser_interface_binders.cc +@@ -128,12 +128,12 @@ + #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) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || 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 +@@ -221,7 +221,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/companion/visual_query/visual_query_suggestions_service_factory.h" + #include "chrome/browser/screen_ai/screen_ai_service_router.h" + #include "chrome/browser/screen_ai/screen_ai_service_router_factory.h" +@@ -234,7 +234,7 @@ + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS) + +-#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/ui/webui/whats_new/whats_new_ui.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + +@@ -859,7 +859,7 @@ void BindMediaFoundationPreferences( + #endif // BUILDFLAG(IS_WIN) + + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + void BindScreenAIAnnotator( + content::RenderFrameHost* frame_host, + mojo::PendingReceiver<screen_ai::mojom::ScreenAIAnnotator> receiver) { +@@ -1083,7 +1083,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 (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) && + !render_frame_host->GetParentOrOuterDocument()) { + // The service binder will reject non-primary main frames, but we still need +@@ -1179,7 +1179,7 @@ void PopulateChromeWebUIFrameBinders( + DataSharingInternalsUI>(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); +@@ -1190,7 +1190,7 @@ void PopulateChromeWebUIFrameBinders( + policy::DlpInternalsUI>(map); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + RegisterWebUIControllerInterfaceBinder< + app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map); + #endif +@@ -1276,14 +1276,14 @@ void PopulateChromeWebUIFrameBinders( + page_image_service::mojom::PageImageServiceHandler, HistoryUI, + HistoryClustersSidePanelUI, NewTabPageUI, BookmarksSidePanelUI>(map); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + RegisterWebUIControllerInterfaceBinder<whats_new::mojom::PageHandlerFactory, + WhatsNewUI>(map); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + + RegisterWebUIControllerInterfaceBinder< + browser_command::mojom::CommandHandlerFactory, +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + WhatsNewUI, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + NewTabPageUI>(map); +@@ -1779,7 +1779,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/devel/electron33/files/patch-chrome_browser_chrome__browser__main.cc b/devel/electron33/files/patch-chrome_browser_chrome__browser__main.cc new file mode 100644 index 000000000000..ab41c1e8d62b --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_chrome__browser__main.cc @@ -0,0 +1,118 @@ +--- chrome/browser/chrome_browser_main.cc.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/chrome_browser_main.cc +@@ -249,15 +249,15 @@ + + // TODO(crbug.com/40118868): 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/crashpad.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/nix/xdg_util.h" + #endif + +@@ -290,14 +290,14 @@ + // TODO(crbug.com/40118868): 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) + #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" + #include "ui/base/pointer/touch_ui_controller.h" + #endif + +-#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/headless/headless_mode_metrics.h" // nogncheck + #include "chrome/browser/headless/headless_mode_util.h" // nogncheck + #include "components/headless/select_file_dialog/headless_select_file_dialog.h" +@@ -369,14 +369,14 @@ + #endif // BUILDFLAG(IS_WIN) && BUILDFLAG(USE_BROWSER_SPELLCHECKER) + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "sql/database.h" + #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || + // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) + + namespace { + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + constexpr base::FilePath::CharType kMediaHistoryDatabaseName[] = + FILE_PATH_LITERAL("Media History"); + +@@ -541,7 +541,7 @@ void ProcessSingletonNotificationCallbackImpl( + } + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Set the global activation token sent as a command line switch by another + // browser process. This also removes the switch after use to prevent any side + // effects of leaving it in the command line after this point. +@@ -1118,7 +1118,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 . +@@ -1166,7 +1166,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + // TODO(crbug.com/40118868): 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) + metrics::DesktopSessionDurationTracker::Initialize(); + ProfileActivityMetricsRecorder::Initialize(); + TouchModeStatsTracker::Initialize( +@@ -1362,7 +1362,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* + #endif // BUILDFLAG(IS_WIN) + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Delete the media history database if it still exists. + // TODO(crbug.com/40177301): Remove this. + base::ThreadPool::PostTask( +@@ -1411,7 +1411,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* + *UrlLanguageHistogramFactory::GetForBrowserContext(profile)); + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (headless::IsHeadlessMode()) { + headless::ReportHeadlessActionMetrics(); + } +@@ -1523,7 +1523,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( + // In headless mode provide alternate SelectFileDialog factory overriding + // any platform specific SelectFileDialog implementation that may have been + // set. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (headless::IsHeadlessMode()) { + headless::HeadlessSelectFileDialogFactory::SetUp(); + } +@@ -2072,7 +2072,7 @@ bool ChromeBrowserMainParts::ProcessSingletonNotificat + + // Drop the request if headless mode is in effect or the request is from + // a headless Chrome process. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (headless::IsHeadlessMode() || + command_line.HasSwitch(switches::kHeadless)) { + return false; diff --git a/devel/electron33/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc b/devel/electron33/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc new file mode 100644 index 000000000000..fb05f0a58b3e --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:22 UTC ++++ chrome/browser/chrome_browser_main_extra_parts_linux.cc +@@ -58,7 +58,7 @@ void ChromeBrowserMainExtraPartsLinux::InitOzonePlatfo + + // static + void ChromeBrowserMainExtraPartsLinux::InitOzonePlatformHint() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto* const command_line = base::CommandLine::ForCurrentProcess(); + auto env = base::Environment::Create(); + std::string desktop_startup_id; diff --git a/devel/electron33/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc b/devel/electron33/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc new file mode 100644 index 000000000000..ece2c8753fcf --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_chrome__browser__main__extra__parts__ozone.cc @@ -0,0 +1,11 @@ +--- chrome/browser/chrome_browser_main_extra_parts_ozone.cc.orig 2024-04-15 20:33:46 UTC ++++ chrome/browser/chrome_browser_main_extra_parts_ozone.cc +@@ -27,7 +27,7 @@ void ChromeBrowserMainExtraPartsOzone::PostMainMessage + } + + void ChromeBrowserMainExtraPartsOzone::PostMainMessageLoopRun() { +-#if !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // Lacros's `PostMainMessageLoopRun` must be called at the very end of + // `PostMainMessageLoopRun` in + // `ChromeBrowserMainPartsLacros::PostMainMessageLoopRun`. diff --git a/devel/electron33/files/patch-chrome_browser_chrome__browser__main__linux.cc b/devel/electron33/files/patch-chrome_browser_chrome__browser__main__linux.cc new file mode 100644 index 000000000000..06b6816dd7c8 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_chrome__browser__main__linux.cc @@ -0,0 +1,39 @@ +--- chrome/browser/chrome_browser_main_linux.cc.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/chrome_browser_main_linux.cc +@@ -25,7 +25,7 @@ + #include "device/bluetooth/dbus/bluez_dbus_thread_manager.h" + #include "ui/base/l10n/l10n_util.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/ozone/public/ozone_platform.h" + #endif + +@@ -84,7 +84,9 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag + #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 +@@ -110,7 +112,7 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag + ChromeBrowserMainPartsPosix::PostCreateMainMessageLoop(); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() { + ChromeBrowserMainPartsPosix::PostMainMessageLoopRun(); + ui::OzonePlatform::GetInstance()->PostMainMessageLoopRun(); +@@ -170,7 +172,7 @@ void ChromeBrowserMainPartsLinux::PostDestroyThreads() + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + + 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/devel/electron33/files/patch-chrome_browser_chrome__browser__main__linux.h b/devel/electron33/files/patch-chrome_browser_chrome__browser__main__linux.h new file mode 100644 index 000000000000..b5c1116bb327 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_chrome__browser__main__linux.h @@ -0,0 +1,11 @@ +--- chrome/browser/chrome_browser_main_linux.h.orig 2024-04-15 20:33:46 UTC ++++ chrome/browser/chrome_browser_main_linux.h +@@ -30,7 +30,7 @@ class ChromeBrowserMainPartsLinux : public ChromeBrows + + // ChromeBrowserMainPartsPosix overrides. + void PostCreateMainMessageLoop() override; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void PostMainMessageLoopRun() override; + #endif + void PreProfileInit() override; diff --git a/devel/electron33/files/patch-chrome_browser_chrome__browser__main__posix.cc b/devel/electron33/files/patch-chrome_browser_chrome__browser__main__posix.cc new file mode 100644 index 000000000000..e63dfa1ad42e --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_chrome__browser__main__posix.cc @@ -0,0 +1,11 @@ +--- chrome/browser/chrome_browser_main_posix.cc.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/chrome_browser_main_posix.cc +@@ -79,7 +79,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa + } else { + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_chrome__content__browser__client.cc b/devel/electron33/files/patch-chrome_browser_chrome__content__browser__client.cc new file mode 100644 index 000000000000..74579f7270ec --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_chrome__content__browser__client.cc @@ -0,0 +1,171 @@ +--- chrome/browser/chrome_content_browser_client.cc.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/chrome_content_browser_client.cc +@@ -491,7 +491,7 @@ + #include "storage/browser/file_system/external_mount_points.h" + // TODO(crbug.com/40118868): 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) + #include "chrome/browser/chrome_browser_main_linux.h" + #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h" + #elif BUILDFLAG(IS_ANDROID) +@@ -608,12 +608,12 @@ + + // TODO(crbug.com/40118868): 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 +@@ -624,7 +624,7 @@ + #include "chrome/browser/apps/link_capturing/web_app_link_capturing_delegate.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/enterprise/chrome_browser_main_extra_parts_enterprise.h" + #include "chrome/browser/enterprise/profile_management/oidc_auth_response_capture_navigation_throttle.h" + #include "chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.h" +@@ -632,7 +632,7 @@ + #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) +@@ -647,7 +647,7 @@ + #include "chrome/browser/ui/views/lens/lens_side_panel_navigation_helper.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/chrome_browser_main_extra_parts_linux.h" + #elif BUILDFLAG(IS_OZONE) + #include "chrome/browser/chrome_browser_main_extra_parts_ozone.h" +@@ -1603,7 +1603,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre + #if BUILDFLAG(IS_CHROMEOS) + registry->RegisterBooleanPref(prefs::kNativeClientForceAllowed, false); + #endif // BUILDFLAG(IS_CHROMEOS) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kOutOfProcessSystemDnsResolutionEnabled, + true); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +@@ -1803,7 +1803,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) +@@ -1837,7 +1837,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo + std::make_unique<ChromeBrowserMainExtraPartsViewsLacros>()); + // TODO(crbug.com/40118868): 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 +@@ -1858,7 +1858,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 BUILDFLAG(IS_OZONE) + main_parts->AddParts(std::make_unique<ChromeBrowserMainExtraPartsOzone>()); +@@ -1877,7 +1877,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts(boo + + chrome::AddMetricsExtraParts(main_parts.get()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + main_parts->AddParts( + std::make_unique< + enterprise_util::ChromeBrowserMainExtraPartsEnterprise>()); +@@ -2749,7 +2749,9 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( + base::CommandLine* command_line, + int child_process_id) { ++#ifdef notyet + crash_keys::AppendStringAnnotationsCommandLineSwitch(command_line); ++#endif + #if BUILDFLAG(IS_MAC) + std::unique_ptr<metrics::ClientInfo> client_info = + GoogleUpdateSettings::LoadMetricsClientInfo(); +@@ -2758,7 +2760,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + client_info->client_id); + } + #elif BUILDFLAG(IS_POSIX) +-#if !BUILDFLAG(IS_ANDROID) ++#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) + pid_t pid; + if (crash_reporter::GetHandlerSocket(nullptr, &pid)) { + command_line->AppendSwitchASCII( +@@ -3117,7 +3119,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + } + } + +-#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)) { +@@ -4941,7 +4943,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, +@@ -5530,7 +5532,7 @@ 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); +@@ -5544,7 +5546,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati + #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); +@@ -5583,7 +5585,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati + handle)); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle:: + MaybeCreateThrottleFor(handle), + &throttles); +@@ -7543,7 +7545,7 @@ bool ChromeContentBrowserClient::ShouldRunOutOfProcess + bool ChromeContentBrowserClient::ShouldRunOutOfProcessSystemDnsResolution() { + // This enterprise policy is supported on Android, but the feature will not be + // launched there. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // This is possibly called before `g_browser_process` is initialized. + PrefService* local_state; + if (g_browser_process) { diff --git a/devel/electron33/files/patch-chrome_browser_chrome__content__browser__client.h b/devel/electron33/files/patch-chrome_browser_chrome__content__browser__client.h new file mode 100644 index 000000000000..ab6cb5b6d105 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_chrome__content__browser__client.h @@ -0,0 +1,11 @@ +--- chrome/browser/chrome_content_browser_client.h.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/chrome_content_browser_client.h +@@ -525,7 +525,7 @@ class ChromeContentBrowserClient : public content::Con + bool IsPluginAllowedToUseDevChannelAPIs( + content::BrowserContext* browser_context, + const GURL& url) 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/devel/electron33/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc b/devel/electron33/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc new file mode 100644 index 000000000000..d21ea272523c --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_component__updater_widevine__cdm__component__installer.cc @@ -0,0 +1,38 @@ +--- chrome/browser/component_updater/widevine_cdm_component_installer.cc.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/component_updater/widevine_cdm_component_installer.cc +@@ -41,7 +41,7 @@ + #include "third_party/widevine/cdm/buildflags.h" + #include "third_party/widevine/cdm/widevine_cdm_common.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/path_service.h" + #include "chrome/common/chrome_paths.h" + #include "chrome/common/media/component_widevine_cdm_hint_file_linux.h" +@@ -74,7 +74,7 @@ const char ImageLoaderComponentName[] = "WidevineCdm"; + const char ImageLoaderComponentName[] = "WidevineCdm"; + #endif + +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + // On Linux and ChromeOS the Widevine CDM is loaded at startup before the + // zygote is locked down. As a result there is no need to register the CDM + // with Chrome as it can't be used until Chrome is restarted. +@@ -102,7 +102,7 @@ void RegisterWidevineCdmWithChrome(const base::Version + } + #endif // !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Linux and ChromeOS the Widevine CDM is loaded at startup before the + // zygote is locked down. To locate the Widevine CDM at startup, a hint file + // is used. Update the hint file with the new Widevine CDM path. +@@ -398,7 +398,7 @@ void WidevineCdmComponentInstallerPolicy::UpdateCdmPat + return; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + VLOG(1) << "Updating hint file with Widevine CDM " << cdm_version; + + // This is running on a thread that allows IO, so simply update the hint file. diff --git a/devel/electron33/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc b/devel/electron33/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc new file mode 100644 index 000000000000..3271f4e113a9 --- /dev/null +++ b/devel/electron33/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 2023-03-30 00:33:42 UTC ++++ chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc +@@ -68,7 +68,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/devel/electron33/files/patch-chrome_browser_defaults.cc b/devel/electron33/files/patch-chrome_browser_defaults.cc new file mode 100644 index 000000000000..e210570512b3 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_defaults.cc @@ -0,0 +1,11 @@ +--- chrome/browser/defaults.cc.orig 2023-10-19 19:58:04 UTC ++++ chrome/browser/defaults.cc +@@ -44,7 +44,7 @@ const bool kShowHelpMenuItemIcon = true; + const bool kShowHelpMenuItemIcon = 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/devel/electron33/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc b/devel/electron33/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc new file mode 100644 index 000000000000..0ae1791510dd --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:54:34 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_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) + return std::make_unique<DeviceOAuth2TokenStoreDesktop>(local_state); + #else + NOTREACHED_IN_MIGRATION(); diff --git a/devel/electron33/files/patch-chrome_browser_diagnostics_diagnostics__writer.h b/devel/electron33/files/patch-chrome_browser_diagnostics_diagnostics__writer.h new file mode 100644 index 000000000000..43c1038a8248 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_diagnostics_diagnostics__writer.h @@ -0,0 +1,11 @@ +--- chrome/browser/diagnostics/diagnostics_writer.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/devel/electron33/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc new file mode 100644 index 000000000000..8c70e5b8aa51 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc @@ -0,0 +1,29 @@ +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/download/chrome_download_manager_delegate.cc +@@ -1796,7 +1796,7 @@ bool ChromeDownloadManagerDelegate::IsOpenInBrowserPre + bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferredForFile( + 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(); + } +@@ -1942,7 +1942,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()) { +@@ -2020,7 +2020,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl + DCHECK(download_item->IsSavePackageDownload()); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + std::optional<enterprise_connectors::AnalysisSettings> settings = + safe_browsing::DeepScanningRequest::ShouldUploadBinary(download_item); + diff --git a/devel/electron33/files/patch-chrome_browser_download_download__commands.cc b/devel/electron33/files/patch-chrome_browser_download_download__commands.cc new file mode 100644 index 000000000000..cbe84f911c71 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_download_download__commands.cc @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_commands.cc.orig 2024-10-16 21:30:57 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_MAC) || 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" +@@ -166,7 +166,7 @@ void DownloadCommands::ExecuteCommand(Command command) + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + Browser* DownloadCommands::GetBrowser() const { + if (!model_) diff --git a/devel/electron33/files/patch-chrome_browser_download_download__commands.h b/devel/electron33/files/patch-chrome_browser_download_download__commands.h new file mode 100644 index 000000000000..899c21f0d61b --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_download_download__commands.h @@ -0,0 +1,11 @@ +--- chrome/browser/download/download_commands.h.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/download/download_commands.h +@@ -66,7 +66,7 @@ class DownloadCommands { + void ExecuteCommand(Command command); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + bool IsDownloadPdf() const; + bool CanOpenPdfInSystemViewer() const; + Browser* GetBrowser() const; diff --git a/devel/electron33/files/patch-chrome_browser_download_download__file__picker.cc b/devel/electron33/files/patch-chrome_browser_download_download__file__picker.cc new file mode 100644 index 000000000000..4208f6771194 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_download_download__file__picker.cc @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_file_picker.cc.orig 2024-02-21 00:20:34 UTC ++++ chrome/browser/download/download_file_picker.cc +@@ -18,7 +18,7 @@ + #include "content/public/browser/web_contents.h" + #include "ui/shell_dialogs/selected_file_info.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" +@@ -83,7 +83,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/devel/electron33/files/patch-chrome_browser_download_download__item__model.cc b/devel/electron33/files/patch-chrome_browser_download_download__item__model.cc new file mode 100644 index 000000000000..2134938ae9f5 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_download_download__item__model.cc @@ -0,0 +1,29 @@ +--- chrome/browser/download/download_item_model.cc.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/download/download_item_model.cc +@@ -790,7 +790,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(); +@@ -838,7 +838,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); +@@ -1227,7 +1227,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/devel/electron33/files/patch-chrome_browser_download_download__prefs.cc b/devel/electron33/files/patch-chrome_browser_download_download__prefs.cc new file mode 100644 index 000000000000..70fe9ababd8a --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_download_download__prefs.cc @@ -0,0 +1,90 @@ +--- chrome/browser/download/download_prefs.cc.orig 2024-10-16 21:30:57 UTC ++++ chrome/browser/download/download_prefs.cc +@@ -11,6 +11,7 @@ + #include <vector> + + #include "base/check.h" ++#include "base/command_line.h" + #include "base/feature_list.h" + #include "base/files/file_util.h" + #include "base/functional/bind.h" +@@ -60,6 +61,10 @@ + #include "chrome/browser/flags/android/chrome_feature_list.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#endif ++ + using content::BrowserContext; + using content::BrowserThread; + using content::DownloadManager; +@@ -70,7 +75,7 @@ bool DownloadPathIsDangerous(const base::FilePath& dow + // 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; +@@ -176,7 +181,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 +@@ -300,7 +305,7 @@ void DownloadPrefs::RegisterProfilePrefs( + registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory, + default_download_path); + #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) +@@ -467,7 +472,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; +@@ -493,7 +498,7 @@ void DownloadPrefs::ResetAutoOpenByUser() { + + 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(); +@@ -530,7 +535,7 @@ bool DownloadPrefs::CanPlatformEnableAutoOpenForPdf() + 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; +@@ -682,7 +687,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/devel/electron33/files/patch-chrome_browser_download_download__prefs.h b/devel/electron33/files/patch-chrome_browser_download_download__prefs.h new file mode 100644 index 000000000000..b636b64019e0 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_download_download__prefs.h @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_prefs.h.orig 2023-11-29 21:39:47 UTC ++++ chrome/browser/download/download_prefs.h +@@ -115,7 +115,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); +@@ -179,7 +179,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/devel/electron33/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc new file mode 100644 index 000000000000..b6f2e068c737 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_analysis_analysis__service__settings.cc @@ -0,0 +1,11 @@ +--- chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc +@@ -150,7 +150,7 @@ 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 + diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_connectors_common.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_common.cc new file mode 100644 index 000000000000..574894ea5343 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_common.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/connectors/common.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/enterprise/connectors/common.cc +@@ -23,7 +23,7 @@ + #include "components/policy/core/common/policy_loader_lacros.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/signin/enterprise_signin_prefs.h" + #include "components/prefs/pref_service.h" + #endif +@@ -266,7 +266,7 @@ std::string GetProfileEmail(Profile* profile) { + std::string email = + GetProfileEmail(IdentityManagerFactory::GetForProfile(profile)); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (email.empty()) { + email = profile->GetPrefs()->GetString( + enterprise_signin::prefs::kProfileUserEmail); diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc new file mode 100644 index 000000000000..274cbae5c04e --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_connectors__service.cc @@ -0,0 +1,11 @@ +--- chrome/browser/enterprise/connectors/connectors_service.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/enterprise/connectors/connectors_service.cc +@@ -528,7 +528,7 @@ bool ConnectorsService::ConnectorsEnabled() const { + + Profile* profile = Profile::FromBrowserContext(context_); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On desktop, the guest profile is actually the primary OTR profile of + // the "regular" guest profile. The regular guest profile is never used + // directly by users. Also, user are not able to create child OTR profiles diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc new file mode 100644 index 000000000000..6896287535ce --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc @@ -0,0 +1,29 @@ +--- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2024-08-14 20:54:34 UTC ++++ chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc +@@ -10,7 +10,7 @@ + #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" + #include "chrome/browser/enterprise/connectors/device_trust/browser/signing_key_policy_observer.h" + #include "chrome/browser/policy/chrome_browser_policy_connector.h" +@@ -40,7 +40,7 @@ bool DeviceTrustConnectorServiceFactory::ServiceIsCrea + + 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 true; + #else + return false; +@@ -84,7 +84,7 @@ DeviceTrustConnectorServiceFactory::BuildServiceInstan + std::unique_ptr<DeviceTrustConnectorService> service = + std::make_unique<DeviceTrustConnectorService>(profile->GetPrefs()); + +-#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/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc new file mode 100644 index 000000000000..33679e28db3e --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc @@ -0,0 +1,29 @@ +--- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2024-08-14 20:54:34 UTC ++++ chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc +@@ -23,7 +23,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/browser/browser_attestation_service.h" + #include "chrome/browser/enterprise/connectors/device_trust/attestation/browser/device_attester.h" +@@ -54,7 +54,7 @@ bool IsProfileManaged(Profile* profile) { + return management_service && management_service->IsManaged(); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + policy::CloudPolicyStore* GetUserCloudPolicyStore(Profile* profile) { + policy::CloudPolicyManager* user_policy_manager = + profile->GetCloudPolicyManager(); +@@ -106,7 +106,7 @@ DeviceTrustServiceFactory::DeviceTrustServiceFactory() + DependsOn(DeviceTrustConnectorServiceFactory::GetInstance()); + DependsOn(policy::ManagementServiceFactory::GetInstance()); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Depends on this service via the SignalsService having a dependency on it. + DependsOn(enterprise_signals::SignalsAggregatorFactory::GetInstance()); + // Depends on this service via the ProfileAttester having a dependency on it diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_browser_commands_key__rotation__command__factory.cc new file mode 100644 index 000000000000..68352dfd3e40 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:30:58 UTC ++++ chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command_factory.cc +@@ -19,7 +19,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" +@@ -53,7 +53,7 @@ std::unique_ptr<KeyRotationCommand> KeyRotationCommand + policy::DeviceManagementService* device_management_service) { + #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) + if (IsDTCKeyRotationUploadedBySharedAPI()) { diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_key__management_core_persistence_key__persistence__delegate__factory.cc new file mode 100644 index 000000000000..b29c83171db6 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:54:34 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 + +@@ -45,7 +45,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_IN_MIGRATION(); diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc new file mode 100644 index 000000000000..cd08fe518d71 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:54:35 UTC ++++ chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc +@@ -21,7 +21,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/enterprise/core/dependency_factory_impl.h" +@@ -58,7 +58,7 @@ std::unique_ptr<SignalsService> CreateSignalsService(P + enterprise_signals::ContextInfoFetcher::CreateInstance( + profile, ConnectorsServiceFactory::GetForBrowserContext(profile)))); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + + policy::CloudPolicyManager* browser_policy_manager = nullptr; + if (management_service->HasManagementAuthority( diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc new file mode 100644 index 000000000000..a72046f43dbc --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_browser__crash__event__router.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.cc.orig 2024-08-14 20:54:35 UTC ++++ chrome/browser/enterprise/connectors/reporting/browser_crash_event_router.cc +@@ -13,7 +13,7 @@ BrowserCrashEventRouter::BrowserCrashEventRouter( + + BrowserCrashEventRouter::BrowserCrashEventRouter( + content::BrowserContext* context) { +-#if !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + CrashReportingContext* crash_reporting_context = + CrashReportingContext::GetInstance(); + Profile* profile = Profile::FromBrowserContext(context); +@@ -23,7 +23,7 @@ BrowserCrashEventRouter::~BrowserCrashEventRouter() { + } + + BrowserCrashEventRouter::~BrowserCrashEventRouter() { +-#if !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + CrashReportingContext* crash_reporting_context = + CrashReportingContext::GetInstance(); + crash_reporting_context->RemoveProfile(this); diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc new file mode 100644 index 000000000000..1ae99a801ac5 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_crash__reporting__context.cc @@ -0,0 +1,11 @@ +--- chrome/browser/enterprise/connectors/reporting/crash_reporting_context.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/enterprise/connectors/reporting/crash_reporting_context.cc +@@ -20,7 +20,7 @@ namespace enterprise_connectors { + + namespace enterprise_connectors { + +-#if !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + + namespace { + diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc new file mode 100644 index 000000000000..85a9043b0d15 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.cc @@ -0,0 +1,47 @@ +--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.cc +@@ -59,7 +59,7 @@ + #include "base/strings/utf_string_conversions.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/signals/signals_aggregator_factory.h" + #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" + #include "components/device_signals/core/browser/signals_aggregator.h" +@@ -144,7 +144,7 @@ void UploadSecurityEventReport(base::Value::Dict event + std::move(report), std::move(upload_callback)); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void PopulateSignals(base::Value::Dict event, + policy::CloudPolicyClient* client, + std::string name, +@@ -421,7 +421,7 @@ void RealtimeReportingClient::ReportPastEvent(const st + /*include_profile_user_name=*/false); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + void AddCrowdstrikeSignalsToEvent( + base::Value::Dict& event, +@@ -480,7 +480,7 @@ void RealtimeReportingClient::ReportEventWithTimestamp + if (include_profile_user_name) { + event.Set(kKeyProfileUserName, GetProfileUserName()); + } +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + Profile* profile = Profile::FromBrowserContext(context_); + device_signals::SignalsAggregator* signals_aggregator = + enterprise_signals::SignalsAggregatorFactory::GetForProfile(profile); +@@ -504,7 +504,7 @@ std::string RealtimeReportingClient::GetProfileUserNam + std::string username = + identity_manager_ ? GetProfileEmail(identity_manager_) : std::string(); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (username.empty()) { + username = Profile::FromBrowserContext(context_)->GetPrefs()->GetString( + enterprise_signin::prefs::kProfileUserEmail); diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h new file mode 100644 index 000000000000..d15e04020a44 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_connectors_reporting_realtime__reporting__client.h @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/enterprise/connectors/reporting/realtime_reporting_client.h +@@ -17,7 +17,7 @@ + #include "components/keyed_service/core/keyed_service.h" + #include "components/policy/core/common/cloud/cloud_policy_client.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 "components/device_signals/core/browser/signals_types.h" + #endif + +@@ -165,7 +165,7 @@ class RealtimeReportingClient : public KeyedService, + base::WeakPtrFactory<RealtimeReportingClient> weak_ptr_factory_{this}; + }; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Populate event dict with CrowdStrike signal values. If those signals are + // available in `response`, this function returns a Dict with the following + // fields added: diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_identifiers_profile__id__delegate__impl.cc b/devel/electron33/files/patch-chrome_browser_enterprise_identifiers_profile__id__delegate__impl.cc new file mode 100644 index 000000000000..bddb43d27102 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_identifiers_profile__id__delegate__impl.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/identifiers/profile_id_delegate_impl.cc.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/enterprise/identifiers/profile_id_delegate_impl.cc +@@ -13,7 +13,7 @@ + #include "components/enterprise/browser/identifiers/identifiers_prefs.h" + #include "components/prefs/pref_service.h" + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "components/enterprise/browser/controller/browser_dm_token_storage.h" + #if BUILDFLAG(IS_WIN) + #include "base/strings/utf_string_conversions.h" +@@ -94,7 +94,7 @@ std::string ProfileIdDelegateImpl::GetDeviceId() { + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Gets the device ID from the BrowserDMTokenStorage. + std::string ProfileIdDelegateImpl::GetId() { + std::string device_id = diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc b/devel/electron33/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc new file mode 100644 index 000000000000..0577a9387f82 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_profile__management_profile__management__navigation__throttle.cc @@ -0,0 +1,13 @@ +--- chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.cc +@@ -67,8 +67,8 @@ base::flat_map<std::string, SAMLProfileAttributes>& Ge + // TODO(crbug.com/40267996): Add actual domains with attribute names. + profile_attributes->insert(std::make_pair( + "supported.test", +- SAMLProfileAttributes("placeholderName", "placeholderDomain", +- "placeholderToken"))); ++ SAMLProfileAttributes(SAMLProfileAttributes{"placeholderName", "placeholderDomain", ++ "placeholderToken"}))); + + // Extract domains and attributes from the command line switch. + const base::CommandLine& command_line = diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc b/devel/electron33/files/patch-chrome_browser_enterprise_remote__commands_cbcm__remote__commands__factory.cc new file mode 100644 index 000000000000..46b9ab15d198 --- /dev/null +++ b/devel/electron33/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 2023-11-29 21:39:48 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/remote_commands/rotate_attestation_credential_job.h" + #include "chrome/browser/policy/chrome_browser_policy_connector.h" + #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" +@@ -30,7 +30,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 (type == enterprise_management:: + RemoteCommand_Type_BROWSER_ROTATE_ATTESTATION_CREDENTIAL) { + return std::make_unique<RotateAttestationCredentialJob>( diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc b/devel/electron33/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc new file mode 100644 index 000000000000..ca94f525274f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc @@ -0,0 +1,20 @@ +--- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2023-10-19 19:58:04 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 + +@@ -67,7 +67,7 @@ std::unique_ptr<DeviceInfoFetcher> DeviceInfoFetcher:: + return CreateInstanceInternal(); + } + +-#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_WIN) && \ ++#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) && \ + !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + // static + std::unique_ptr<DeviceInfoFetcher> DeviceInfoFetcher::CreateInstanceInternal() { diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc b/devel/electron33/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc new file mode 100644 index 000000000000..dabfe4bc1c5d --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:54:35 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 !BUILDFLAG(IS_BSD) + #include <sys/sysmacros.h> ++#endif + ++#if BUILDFLAG(IS_BSD) ++#include <sys/types.h> ++#include <sys/socket.h> ++#include <ifaddrs.h> ++#include <net/if_dl.h> ++#endif ++ + #include <string> + + #include "base/environment.h" +@@ -117,6 +128,7 @@ SettingValue GetDiskEncrypted() { + // 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 !BUILDFLAG(IS_BSD) + struct stat info; + // First figure out the device identifier. Fail fast if this fails. + if (stat("/", &info) != 0) +@@ -138,11 +150,35 @@ SettingValue GetDiskEncrypted() { + } + return SettingValue::UNKNOWN; + } ++#endif + return SettingValue::DISABLED; + } + + std::vector<std::string> GetMacAddresses() { + std::vector<std::string> result; ++#if BUILDFLAG(IS_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; +@@ -165,6 +201,7 @@ std::vector<std::string> GetMacAddresses() { + &address); + result.push_back(address); + } ++#endif + return result; + } + diff --git a/devel/electron33/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h b/devel/electron33/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h new file mode 100644 index 000000000000..d8ecef5170d9 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_enterprise_signin_enterprise__signin__service.h @@ -0,0 +1,11 @@ +--- chrome/browser/enterprise/signin/enterprise_signin_service.h.orig 2024-08-14 20:54:35 UTC ++++ chrome/browser/enterprise/signin/enterprise_signin_service.h +@@ -9,7 +9,7 @@ + + #include "build/build_config.h" + +-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)) ++#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) + #error EnterpriseSigninService should only be built on desktop platforms. + #endif // !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)) + diff --git a/devel/electron33/files/patch-chrome_browser_extensions_BUILD.gn b/devel/electron33/files/patch-chrome_browser_extensions_BUILD.gn new file mode 100644 index 000000000000..26933d112d68 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_extensions_BUILD.gn @@ -0,0 +1,13 @@ +--- chrome/browser/extensions/BUILD.gn.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/extensions/BUILD.gn +@@ -1499,6 +1499,10 @@ source_set("extensions") { + deps += [ "//chrome/services/printing/public/mojom" ] + } + ++ if (is_bsd) { ++ sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ] ++ } ++ + if (enable_pdf) { + deps += [ + "//chrome/browser/pdf", diff --git a/devel/electron33/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc new file mode 100644 index 000000000000..50a1258f6df8 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc +@@ -41,7 +41,7 @@ + #include "pdf/buildflags.h" + #include "printing/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 + +@@ -117,7 +117,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt + 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/devel/electron33/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc new file mode 100644 index 000000000000..19fdcd6750ae --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:34 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 +@@ -255,7 +255,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); +@@ -266,7 +266,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/devel/electron33/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.cc new file mode 100644 index 000000000000..82dd2b1604b2 --- /dev/null +++ b/devel/electron33/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-11-30 08:12:58 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/conversion_utils.cc +@@ -8,7 +8,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/devel/electron33/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h b/devel/electron33/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_conversion__utils.h new file mode 100644 index 000000000000..9cbee717bae0 --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:34 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 <optional> + #include <vector> diff --git a/devel/electron33/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc new file mode 100644 index 000000000000..edf916de6294 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:30:58 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc +@@ -41,7 +41,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 <optional> + + #include "base/strings/string_util.h" +@@ -158,7 +158,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( + device_signals::SignalName signal_name) { +@@ -220,7 +220,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction:: + + // getPersistentSecret + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + + EnterpriseReportingPrivateGetPersistentSecretFunction:: + EnterpriseReportingPrivateGetPersistentSecretFunction() = default; +@@ -646,7 +646,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/devel/electron33/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h b/devel/electron33/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h new file mode 100644 index 000000000000..65033dd688ae --- /dev/null +++ b/devel/electron33/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 2023-03-30 00:33:42 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h +@@ -20,7 +20,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 "base/time/time.h" + #include "components/device_signals/core/browser/signals_types.h" + #endif // BUILDFLAG(IS_CHROMEOS) +@@ -56,7 +56,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction : + ~EnterpriseReportingPrivateGetDeviceIdFunction() override; + }; + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + + class EnterpriseReportingPrivateGetPersistentSecretFunction + : public ExtensionFunction { +@@ -266,7 +266,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/devel/electron33/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc new file mode 100644 index 000000000000..4ae88b1de3b7 --- /dev/null +++ b/devel/electron33/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 2023-10-19 19:58:04 UTC ++++ chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc +@@ -20,6 +20,7 @@ static base::LazyInstance<scoped_refptr<StorageDeviceL + + void RemovableStorageProvider::GetAllDevices(DeviceListReadyCallback callback) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); ++#if !BUILDFLAG(IS_BSD) + if (g_test_device_list.Get().get() != nullptr) { + base::SingleThreadTaskRunner::GetCurrentDefault()->PostTask( + FROM_HERE, +@@ -33,6 +34,9 @@ void RemovableStorageProvider::GetAllDevices(DeviceLis + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, + base::BindOnce(&RemovableStorageProvider::PopulateDeviceList), + std::move(callback)); ++#else ++ NOTIMPLEMENTED(); ++#endif + } + + // static diff --git a/devel/electron33/files/patch-chrome_browser_extensions_api_management_chrome__management__api__delegate.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_management_chrome__management__api__delegate.cc new file mode 100644 index 000000000000..10f901a329ce --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_extensions_api_management_chrome__management__api__delegate.cc @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/management/chrome_management_api_delegate.cc.orig 2024-08-14 20:54:35 UTC ++++ chrome/browser/extensions/api/management/chrome_management_api_delegate.cc +@@ -417,7 +417,7 @@ bool ChromeManagementAPIDelegate::LaunchAppFunctionDel + apps::LaunchContainer launch_container = + GetLaunchContainer(extensions::ExtensionPrefs::Get(context), extension); + Profile* profile = Profile::FromBrowserContext(context); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (extensions::IsExtensionUnsupportedDeprecatedApp(profile, + extension->id())) { + return false; diff --git a/devel/electron33/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc new file mode 100644 index 000000000000..32862d31415f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_extensions_api_messaging_launch__context__posix.cc @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/messaging/launch_context_posix.cc.orig 2024-08-14 20:54:35 UTC ++++ chrome/browser/extensions/api/messaging/launch_context_posix.cc +@@ -86,7 +86,7 @@ std::optional<LaunchContext::ProcessState> LaunchConte + + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc new file mode 100644 index 000000000000..a38e35d9a18c --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc +@@ -636,7 +636,7 @@ void PasswordsPrivateDelegateImpl::OsReauthTimeoutCall + } + + void PasswordsPrivateDelegateImpl::OsReauthTimeoutCall() { +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + PasswordsPrivateEventRouter* router = + PasswordsPrivateEventRouterFactory::GetForProfile(profile_); + if (router) { diff --git a/devel/electron33/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc new file mode 100644 index 000000000000..15a17bb8cc46 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc @@ -0,0 +1,13 @@ +--- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc +@@ -288,7 +288,9 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor + } else if (strcmp(os, "linux") == 0) { + info->os = extensions::api::runtime::PlatformOs::kLinux; + } else if (strcmp(os, "openbsd") == 0) { +- info->os = extensions::api::runtime::PlatformOs::kOpenbsd; ++ info->os = extensions::api::runtime::PlatformOs::kLinux; ++ } else if (strcmp(os, "freebsd") == 0) { ++ info->os = extensions::api::runtime::PlatformOs::kLinux; + } else { + NOTREACHED_IN_MIGRATION() << "Platform not supported: " << os; + return false; diff --git a/devel/electron33/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc new file mode 100644 index 000000000000..945b512aac8d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc @@ -0,0 +1,29 @@ +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/extensions/api/settings_private/prefs_util.cc +@@ -193,7 +193,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist + (*s_allowlist)[autofill::prefs::kAutofillPaymentCardBenefits] = + settings_api::PrefType::kBoolean; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + (*s_allowlist)[autofill::prefs::kAutofillPredictionImprovementsEnabled] = + settings_api::PrefType::kBoolean; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || +@@ -211,7 +211,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist + (*s_allowlist)[tab_groups::prefs::kAutoPinNewTabGroups] = + settings_api::PrefType::kBoolean; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + (*s_allowlist)[::prefs::kUseCustomChromeFrame] = + settings_api::PrefType::kBoolean; + #endif +@@ -223,7 +223,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist + (*s_allowlist)[::prefs::kCurrentThemeID] = settings_api::PrefType::kString; + (*s_allowlist)[::prefs::kPinnedActions] = settings_api::PrefType::kList; + (*s_allowlist)[::prefs::kPolicyThemeColor] = settings_api::PrefType::kNumber; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + (*s_allowlist)[::prefs::kSystemTheme] = settings_api::PrefType::kNumber; + #endif + (*s_allowlist)[::prefs::kHomePage] = settings_api::PrefType::kUrl; diff --git a/devel/electron33/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc new file mode 100644 index 000000000000..23811093478d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2024-11-09 21:36:35 UTC ++++ chrome/browser/extensions/api/tabs/tabs_api.cc +@@ -886,7 +886,7 @@ ExtensionFunction::ResponseAction WindowsCreateFunctio + // minimized. + // TODO(crbug.com/40254339): Remove this workaround when linux is fixed. + // TODO(crbug.com/40254339): Find a fix for wayland as well. +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + if (new_window->initial_show_state() == ui::SHOW_STATE_MINIMIZED) { + new_window->window()->Minimize(); + } diff --git a/devel/electron33/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc new file mode 100644 index 000000000000..536e96ac2308 --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:34 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 @@ bool CanEnableAudioDebugRecordingsFromExtension( + 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( +@@ -576,7 +576,7 @@ WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() { + + 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/devel/electron33/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc b/devel/electron33/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc new file mode 100644 index 000000000000..eafa703204dd --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/extensions/api/webstore_private/webstore_private_api.cc +@@ -915,7 +915,7 @@ void WebstorePrivateBeginInstallWithManifest3Function: + #if BUILDFLAG(IS_CHROMEOS) + RequestExtensionApproval(contents); + return; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Shows a parental permission dialog directly bypassing the extension + // install dialog view. The parental permission dialog contains a superset + // of data from the extension install dialog: requested extension diff --git a/devel/electron33/files/patch-chrome_browser_extensions_external__provider__impl.cc b/devel/electron33/files/patch-chrome_browser_extensions_external__provider__impl.cc new file mode 100644 index 000000000000..c2f1ca3ea079 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_extensions_external__provider__impl.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/external_provider_impl.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/extensions/external_provider_impl.cc +@@ -816,7 +816,7 @@ void ExternalProviderImpl::CreateExternalProviders( + if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) { + // TODO(crbug.com/40118868): 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>( +@@ -844,7 +844,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/devel/electron33/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.h b/devel/electron33/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.h new file mode 100644 index 000000000000..5375318c12bd --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.h @@ -0,0 +1,11 @@ +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.h.orig 2024-10-28 21:05:17 UTC ++++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.h +@@ -430,7 +430,7 @@ class ChromeFileSystemAccessPermissionContext + FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"), + kDontBlockChildren}, + #endif +- #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++ #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // On Linux also block access to devices via /dev. + {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), kBlockAllChildren}, + // And security sensitive data in /proc and /sys. diff --git a/devel/electron33/files/patch-chrome_browser_first__run_first__run__dialog.h b/devel/electron33/files/patch-chrome_browser_first__run_first__run__dialog.h new file mode 100644 index 000000000000..30b9e406ae7b --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_first__run_first__run__dialog.h @@ -0,0 +1,11 @@ +--- chrome/browser/first_run/first_run_dialog.h.orig 2024-06-18 21:43:22 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/40118868): 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) + + namespace first_run { + diff --git a/devel/electron33/files/patch-chrome_browser_first__run_first__run__internal.h b/devel/electron33/files/patch-chrome_browser_first__run_first__run__internal.h new file mode 100644 index 000000000000..c20f89819d93 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_first__run_first__run__internal.h @@ -0,0 +1,11 @@ +--- chrome/browser/first_run/first_run_internal.h.orig 2022-11-30 08:12:58 UTC ++++ chrome/browser/first_run/first_run_internal.h +@@ -54,7 +54,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/devel/electron33/files/patch-chrome_browser_flag__descriptions.cc b/devel/electron33/files/patch-chrome_browser_flag__descriptions.cc new file mode 100644 index 000000000000..c98d8d2efecf --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_flag__descriptions.cc @@ -0,0 +1,129 @@ +--- chrome/browser/flag_descriptions.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/flag_descriptions.cc +@@ -458,7 +458,7 @@ const char kIsolatedSandboxedIframesDescription[] = + "grouping when enabled is per-site."; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kAutofillEnableAmountExtractionDesktopName[] = + "Enable checkout amount extraction on Chrome desktop"; + const char kAutofillEnableAmountExtractionDesktopDescription[] = +@@ -939,7 +939,7 @@ const char kDevicePostureDescription[] = + "Enables Device Posture API (foldable devices)"; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kDocumentPictureInPictureAnimateResizeName[] = + "Document Picture-in-Picture Animate Resize"; + const char kDocumentPictureInPictureAnimateResizeDescription[] = +@@ -3519,7 +3519,7 @@ const char kShowAutofillTypePredictionsDescription[] = + "text."; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kShowFeaturedEnterpriseSiteSearchName[] = + "Show featured Enterprise site search engines in Omnibox"; + const char kShowFeaturedEnterpriseSiteSearchDescription[] = +@@ -3551,7 +3551,7 @@ const char kSiteInstanceGroupsForDataUrlsDescription[] + "but in the same SiteInstanceGroup, and thus the same process."; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kSiteSearchSettingsPolicyName[] = "Enable SiteSearchSettings policy"; + const char kSiteSearchSettingsPolicyDescription[] = + "Allow site search engines to be defined by the SiteSearchSettings policy."; +@@ -7912,7 +7912,7 @@ const char kBlinkExtensionDiagnosticsDescription[] = + "Enable the experimental Diagnostics Blink Extension."; + #endif // #if BUILDFLAG(IS_CHROMEOS_LACROS) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const char kGetAllScreensMediaName[] = "GetAllScreensMedia API"; + const char kGetAllScreensMediaDescription[] = + "When enabled, the getAllScreensMedia API for capturing multiple screens " +@@ -8148,7 +8148,7 @@ const char kV4L2FlatStatefulVideoDecoderDescription[] + + // Linux ----------------------------------------------------------------------- + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const char kOzonePlatformHintChoiceDefault[] = "Default"; + const char kOzonePlatformHintChoiceAuto[] = "Auto"; + const char kOzonePlatformHintChoiceX11[] = "X11"; +@@ -8181,6 +8181,18 @@ const char kWaylandTextInputV3Description[] = + const char kWaylandTextInputV3Name[] = "Wayland text-input-v3"; + const char kWaylandTextInputV3Description[] = + "Enable Wayland's text-input-v3 experimental support."; ++ ++#if BUILDFLAG(IS_BSD) ++const char kAudioBackendName[] = ++ "Audio Backend"; ++const char kAudioBackendDescription[] = ++#if BUILDFLAG(IS_OPENBSD) ++ "Select the desired audio backend to use. The default is sndio."; ++#elif BUILDFLAG(IS_FREEBSD) ++ "Select the desired audio backend to use. The default will automatically " ++ "enumerate through the supported backends."; ++#endif ++#endif + #endif // BUILDFLAG(IS_LINUX) + + // All views-based platforms -------------------------------------------------- +@@ -8207,7 +8219,7 @@ const char kZeroCopyVideoCaptureDescription[] = + #endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kFollowingFeedSidepanelName[] = "Following feed in the sidepanel"; + const char kFollowingFeedSidepanelDescription[] = + "Enables the following feed in the sidepanel."; +@@ -8220,7 +8232,7 @@ const char kTaskManagerDesktopRefreshDescription[] = + "Enables a refreshed design for the Task Manager on Desktop platforms."; + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kEnableNetworkServiceSandboxName[] = + "Enable the network service sandbox."; + const char kEnableNetworkServiceSandboxDescription[] = +@@ -8252,7 +8264,7 @@ const char kWebBluetoothConfirmPairingSupportDescripti + "Bluetooth"; + #endif // BUILDFLAG(IS_WIN) || 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."; +@@ -8398,7 +8410,7 @@ const char kElementCaptureDescription[] = + + #if BUILDFLAG(IS_WIN) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + const char kUIDebugToolsName[] = "Debugging tools for UI"; + const char kUIDebugToolsDescription[] = + "Enables additional keyboard shortcuts to help debugging."; +@@ -8472,7 +8484,7 @@ const char kAutofillCaretExtractionDescription[] = + "Enables passing caret position via Autofill"; + #endif // BUILDFLAG(ENABLE_COMPOSE) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + const char kThirdPartyProfileManagementName[] = + "Third party profile management"; + const char kThirdPartyProfileManagementDescription[] = +@@ -8561,7 +8573,7 @@ const char kEnableCertManagementV2UIDescription[] = + "chrome://settings/certificates"; + #endif // BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + const char kSupervisedProfileHideGuestName[] = "Supervised Profile Hide Guest"; + const char kSupervisedProfileHideGuestDescription[] = + "Hides Guest Profile entry points for supervised users"; diff --git a/devel/electron33/files/patch-chrome_browser_flag__descriptions.h b/devel/electron33/files/patch-chrome_browser_flag__descriptions.h new file mode 100644 index 000000000000..8fdb8bdc64d3 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_flag__descriptions.h @@ -0,0 +1,120 @@ +--- chrome/browser/flag_descriptions.h.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/flag_descriptions.h +@@ -297,7 +297,7 @@ extern const char kImprovedSigninUIOnDesktopDescriptio + extern const char kImprovedSigninUIOnDesktopDescription[]; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kAutofillEnableAmountExtractionDesktopName[]; + extern const char kAutofillEnableAmountExtractionDesktopDescription[]; + #endif +@@ -715,7 +715,7 @@ extern const char kDevicePostureDescription[]; + extern const char kDevicePostureDescription[]; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kDocumentPictureInPictureAnimateResizeName[]; + extern const char kDocumentPictureInPictureAnimateResizeDescription[]; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || +@@ -2022,7 +2022,7 @@ extern const char kShowAutofillTypePredictionsDescript + extern const char kShowAutofillTypePredictionsDescription[]; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kShowFeaturedEnterpriseSiteSearchName[]; + extern const char kShowFeaturedEnterpriseSiteSearchDescription[]; + +@@ -2044,7 +2044,7 @@ extern const char kSiteInstanceGroupsForDataUrlsDescri + extern const char kSiteInstanceGroupsForDataUrlsDescription[]; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kSiteSearchSettingsPolicyName[]; + extern const char kSiteSearchSettingsPolicyDescription[]; + +@@ -4576,7 +4576,7 @@ extern const char kBlinkExtensionDiagnosticsDescriptio + extern const char kBlinkExtensionDiagnosticsDescription[]; + #endif // #if BUILDFLAG(IS_CHROMEOS_LACROS) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const char kGetAllScreensMediaName[]; + extern const char kGetAllScreensMediaDescription[]; + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +@@ -4713,7 +4713,7 @@ extern const char kV4L2FlatStatefulVideoDecoderDescrip + + // Linux --------------------------------------------------------------------- + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const char kOzonePlatformHintChoiceDefault[]; + extern const char kOzonePlatformHintChoiceAuto[]; + extern const char kOzonePlatformHintChoiceX11[]; +@@ -4735,6 +4735,9 @@ extern const char kWaylandTextInputV3Description[]; + + extern const char kWaylandTextInputV3Name[]; + extern const char kWaylandTextInputV3Description[]; ++ ++extern const char kAudioBackendName[]; ++extern const char kAudioBackendDescription[]; + #endif // BUILDFLAG(IS_LINUX) + + // All views-based platforms -------------------------------------------------- +@@ -4764,7 +4767,7 @@ extern const char kWebBluetoothConfirmPairingSupportDe + extern const char kWebBluetoothConfirmPairingSupportDescription[]; + #endif // BUILDFLAG(IS_WIN) || 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[]; + +@@ -4780,7 +4783,7 @@ extern const char kScreenlockReauthPromoCardDescriptio + #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kFollowingFeedSidepanelName[]; + extern const char kFollowingFeedSidepanelDescription[]; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || +@@ -4791,7 +4794,7 @@ extern const char kTaskManagerDesktopRefreshDescriptio + extern const char kTaskManagerDesktopRefreshDescription[]; + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + extern const char kEnableNetworkServiceSandboxName[]; + extern const char kEnableNetworkServiceSandboxDescription[]; + +@@ -4888,7 +4891,7 @@ extern const char kElementCaptureDescription[]; + + #if BUILDFLAG(IS_WIN) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + extern const char kUIDebugToolsName[]; + extern const char kUIDebugToolsDescription[]; + #endif +@@ -4942,7 +4945,7 @@ extern const char kAutofillCaretExtractionDescription[ + extern const char kAutofillCaretExtractionDescription[]; + #endif // BUILDFLAG(ENABLE_COMPOSE) + +-#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 kThirdPartyProfileManagementName[]; + extern const char kThirdPartyProfileManagementDescription[]; + +@@ -4998,7 +5001,7 @@ extern const char kEnableCertManagementV2UIDescription + extern const char kEnableCertManagementV2UIDescription[]; + #endif // BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI) + +-#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 kSupervisedProfileHideGuestName[]; + extern const char kSupervisedProfileHideGuestDescription[]; + diff --git a/devel/electron33/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc b/devel/electron33/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc new file mode 100644 index 000000000000..bf4b8f5d2659 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_gcm_gcm__profile__service__factory.cc @@ -0,0 +1,20 @@ +--- chrome/browser/gcm/gcm_profile_service_factory.cc.orig 2024-08-14 20:54:35 UTC ++++ chrome/browser/gcm/gcm_profile_service_factory.cc +@@ -89,7 +89,7 @@ GCMProfileService* GCMProfileServiceFactory::GetForPro + // static + GCMProfileService* GCMProfileServiceFactory::GetForProfile( + content::BrowserContext* profile) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On desktop, incognito profiles are checked with IsIncognitoProfile(). + // It's possible for non-incognito profiles to also be off-the-record. + bool is_profile_supported = +@@ -132,7 +132,7 @@ KeyedService* GCMProfileServiceFactory::BuildServiceIn + KeyedService* GCMProfileServiceFactory::BuildServiceInstanceFor( + content::BrowserContext* context) const { + Profile* profile = Profile::FromBrowserContext(context); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + DCHECK(!profile->IsIncognitoProfile()); + #else + DCHECK(!profile->IsOffTheRecord()); diff --git a/devel/electron33/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc b/devel/electron33/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc new file mode 100644 index 000000000000..0107a2bbbb42 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_gcm_instance__id_instance__id__profile__service__factory.cc @@ -0,0 +1,20 @@ +--- chrome/browser/gcm/instance_id/instance_id_profile_service_factory.cc.orig 2024-08-14 20:54:35 UTC ++++ chrome/browser/gcm/instance_id/instance_id_profile_service_factory.cc +@@ -16,7 +16,7 @@ InstanceIDProfileService* InstanceIDProfileServiceFact + // static + InstanceIDProfileService* InstanceIDProfileServiceFactory::GetForProfile( + content::BrowserContext* profile) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On desktop, the guest profile is actually the primary OTR profile of + // the "regular" guest profile. The regular guest profile is never used + // directly by users. Also, user are not able to create child OTR profiles +@@ -64,7 +64,7 @@ KeyedService* InstanceIDProfileServiceFactory::BuildSe + KeyedService* InstanceIDProfileServiceFactory::BuildServiceInstanceFor( + content::BrowserContext* context) const { + Profile* profile = Profile::FromBrowserContext(context); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On desktop, incognito profiles are checked with IsIncognitoProfile(). + // It's possible for non-incognito profiles to also be off-the-record. + bool is_incognito = profile->IsIncognitoProfile(); diff --git a/devel/electron33/files/patch-chrome_browser_global__features.cc b/devel/electron33/files/patch-chrome_browser_global__features.cc new file mode 100644 index 000000000000..82821a28842c --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_global__features.cc @@ -0,0 +1,29 @@ +--- chrome/browser/global_features.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/global_features.cc +@@ -10,7 +10,7 @@ + #include "build/build_config.h" + #include "chrome/browser/permissions/system/platform_handle.h" + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // This causes a gn error on Android builds, because gn does not understand + // buildflags, so we include it only on platforms where it is used. + #include "components/user_education/common/user_education_features.h" // nogncheck +@@ -49,7 +49,7 @@ void GlobalFeatures::Init() { + + void GlobalFeatures::Init() { + system_permissions_platform_handle_ = CreateSystemPermissionsPlatformHandle(); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (user_education::features::IsWhatsNewV2()) { + whats_new_registry_ = CreateWhatsNewRegistry(); + } +@@ -61,7 +61,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle( + return system_permission_settings::PlatformHandle::Create(); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<whats_new::WhatsNewRegistry> + GlobalFeatures::CreateWhatsNewRegistry() { + return whats_new::CreateWhatsNewRegistry(); diff --git a/devel/electron33/files/patch-chrome_browser_global__features.h b/devel/electron33/files/patch-chrome_browser_global__features.h new file mode 100644 index 000000000000..8cc33171de8d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_global__features.h @@ -0,0 +1,38 @@ +--- chrome/browser/global_features.h.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/global_features.h +@@ -14,7 +14,7 @@ namespace whats_new { + class PlatformHandle; + } // namespace system_permission_settings + namespace whats_new { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + class WhatsNewRegistry; + #endif + } // namespace whats_new +@@ -45,7 +45,7 @@ class GlobalFeatures { + system_permissions_platform_handle() { + return system_permissions_platform_handle_.get(); + } +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + whats_new::WhatsNewRegistry* whats_new_registry() { + return whats_new_registry_.get(); + } +@@ -60,7 +60,7 @@ class GlobalFeatures { + + virtual std::unique_ptr<system_permission_settings::PlatformHandle> + CreateSystemPermissionsPlatformHandle(); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + virtual std::unique_ptr<whats_new::WhatsNewRegistry> CreateWhatsNewRegistry(); + #endif + +@@ -70,7 +70,7 @@ class GlobalFeatures { + + std::unique_ptr<system_permission_settings::PlatformHandle> + system_permissions_platform_handle_; +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<whats_new::WhatsNewRegistry> whats_new_registry_; + #endif + }; diff --git a/devel/electron33/files/patch-chrome_browser_headless_headless__mode__util.cc b/devel/electron33/files/patch-chrome_browser_headless_headless__mode__util.cc new file mode 100644 index 000000000000..db957d068aef --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_headless_headless__mode__util.cc @@ -0,0 +1,20 @@ +--- chrome/browser/headless/headless_mode_util.cc.orig 2024-04-15 20:33:47 UTC ++++ chrome/browser/headless/headless_mode_util.cc +@@ -19,7 +19,7 @@ + #include "chrome/common/chrome_switches.h" + #include "content/public/common/content_switches.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/gl/gl_switches.h" // nogncheck + #include "ui/ozone/public/ozone_switches.h" // nogncheck + #endif // BUILDFLAG(IS_LINUX) +@@ -87,7 +87,7 @@ class HeadlessModeHandleImpl : public HeadlessModeHand + command_line->AppendSwitchPath(switches::kUserDataDir, GetUserDataDir()); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Headless mode on Linux relies on ozone/headless platform. + command_line->AppendSwitchASCII(::switches::kOzonePlatform, + switches::kHeadless); diff --git a/devel/electron33/files/patch-chrome_browser_intranet__redirect__detector.h b/devel/electron33/files/patch-chrome_browser_intranet__redirect__detector.h new file mode 100644 index 000000000000..2c1df7cf5092 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_intranet__redirect__detector.h @@ -0,0 +1,11 @@ +--- chrome/browser/intranet_redirect_detector.h.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/intranet_redirect_detector.h +@@ -25,7 +25,7 @@ class PrefRegistrySimple; + class PrefRegistrySimple; + + #if !(BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS)) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + #error "IntranetRedirectDetector should only be built on Desktop platforms." + #endif + diff --git a/devel/electron33/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/devel/electron33/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc new file mode 100644 index 000000000000..3fc6383447aa --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:54:36 UTC ++++ chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc +@@ -40,10 +40,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 !BUILDFLAG(IS_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/devel/electron33/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/devel/electron33/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc new file mode 100644 index 000000000000..24aa67db7cff --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:54:36 UTC ++++ chrome/browser/media_galleries/media_file_system_registry.cc +@@ -585,7 +585,12 @@ MediaFileSystemRegistry::MediaFileSystemRegistry() + // 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/devel/electron33/files/patch-chrome_browser_media_audio__service__util.cc b/devel/electron33/files/patch-chrome_browser_media_audio__service__util.cc new file mode 100644 index 000000000000..e81c01ea4728 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_media_audio__service__util.cc @@ -0,0 +1,20 @@ +--- chrome/browser/media/audio_service_util.cc.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/media/audio_service_util.cc +@@ -21,7 +21,7 @@ namespace { + + 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)) + const base::Value* GetPolicy(const char* policy_name) { + const policy::PolicyMap& policies = +@@ -43,7 +43,7 @@ bool IsAudioServiceSandboxEnabled() { + bool IsAudioServiceSandboxEnabled() { + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_media_router_discovery_BUILD.gn b/devel/electron33/files/patch-chrome_browser_media_router_discovery_BUILD.gn new file mode 100644 index 000000000000..8f655cac840e --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_media_router_discovery_BUILD.gn @@ -0,0 +1,11 @@ +--- chrome/browser/media/router/discovery/BUILD.gn.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/media/router/discovery/BUILD.gn +@@ -82,7 +82,7 @@ static_library("discovery") { + ] + configs += [ "//build/config/compiler:wexit_time_destructors" ] + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ "discovery_network_list_wifi_linux.cc" ] + } + diff --git a/devel/electron33/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc b/devel/electron33/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc new file mode 100644 index 000000000000..05c8b52f665a --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:30:58 UTC ++++ chrome/browser/media/router/discovery/discovery_network_list_posix.cc +@@ -10,11 +10,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> + +@@ -23,7 +24,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> +@@ -32,7 +33,7 @@ namespace { + 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) +@@ -43,6 +44,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/devel/electron33/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc b/devel/electron33/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc new file mode 100644 index 000000000000..9a2666e365ac --- /dev/null +++ b/devel/electron33/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 2023-10-19 19:58:04 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 !BUILDFLAG(IS_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 !BUILDFLAG(IS_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/devel/electron33/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc b/devel/electron33/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc new file mode 100644 index 000000000000..61e884997f32 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.cc @@ -0,0 +1,47 @@ +--- chrome/browser/media/webrtc/chrome_screen_enumerator.cc.orig 2024-02-21 00:20:34 UTC ++++ chrome/browser/media/webrtc/chrome_screen_enumerator.cc +@@ -21,7 +21,7 @@ + #if BUILDFLAG(IS_CHROMEOS_ASH) + #include "ash/shell.h" + #include "ui/aura/window.h" +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/functional/callback.h" + #include "content/public/browser/desktop_capture.h" + #endif +@@ -32,7 +32,7 @@ base::LazyInstance<std::vector<raw_ptr<aura::Window, V + DestructorAtExit root_windows_for_testing_ = LAZY_INSTANCE_INITIALIZER; + } // namespace + +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + namespace { + base::LazyInstance<std::unique_ptr<webrtc::DesktopCapturer>>::DestructorAtExit + g_desktop_capturer_for_testing = LAZY_INSTANCE_INITIALIZER; +@@ -79,7 +79,7 @@ blink::mojom::StreamDevicesSetPtr EnumerateScreens( + return stream_devices_set; + } + +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + blink::mojom::StreamDevicesSetPtr EnumerateScreens( + blink::mojom::MediaStreamType stream_type) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); +@@ -130,7 +130,7 @@ void ChromeScreenEnumerator::SetRootWindowsForTesting( + root_windows_for_testing_.Get() = std::move(root_windows); + } + +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void ChromeScreenEnumerator::SetDesktopCapturerForTesting( + std::unique_ptr<webrtc::DesktopCapturer> capturer) { + g_desktop_capturer_for_testing.Get() = std::move(capturer); +@@ -143,7 +143,7 @@ void ChromeScreenEnumerator::EnumerateScreens( + ScreensCallback screens_callback) const { + DCHECK_CURRENTLY_ON(content::BrowserThread::IO); + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + content::GetUIThreadTaskRunner({})->PostTaskAndReplyWithResult( + FROM_HERE, base::BindOnce(::EnumerateScreens, stream_type), + base::BindOnce( diff --git a/devel/electron33/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h b/devel/electron33/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h new file mode 100644 index 000000000000..72819d4e1f05 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_media_webrtc_chrome__screen__enumerator.h @@ -0,0 +1,20 @@ +--- chrome/browser/media/webrtc/chrome_screen_enumerator.h.orig 2024-02-21 00:20:34 UTC ++++ chrome/browser/media/webrtc/chrome_screen_enumerator.h +@@ -20,7 +20,7 @@ class Window; + class Window; + } + +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + namespace webrtc { + class DesktopCapturer; + } +@@ -42,7 +42,7 @@ class ChromeScreenEnumerator : public media::ScreenEnu + #if BUILDFLAG(IS_CHROMEOS_ASH) + static void SetRootWindowsForTesting( + std::vector<raw_ptr<aura::Window, VectorExperimental>> root_windows); +-#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + static void SetDesktopCapturerForTesting( + std::unique_ptr<webrtc::DesktopCapturer> capturer); + #endif diff --git a/devel/electron33/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc b/devel/electron33/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc new file mode 100644 index 000000000000..16a5ebbf1d80 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc @@ -0,0 +1,11 @@ +--- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/media/webrtc/desktop_media_picker_controller.cc +@@ -89,7 +89,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur + #if BUILDFLAG(IS_MAC) + return request_source == Params::RequestSource::kCast || + base::FeatureList::IsEnabled(media::kMacLoopbackAudioForScreenShare); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (request_source == Params::RequestSource::kCast) { + return base::FeatureList::IsEnabled(media::kPulseaudioLoopbackForCast); + } else { diff --git a/devel/electron33/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/devel/electron33/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc new file mode 100644 index 000000000000..5b2e6f007dcb --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc @@ -0,0 +1,11 @@ +--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/media/webrtc/webrtc_log_uploader.cc +@@ -106,7 +106,7 @@ std::string GetLogUploadProduct() { + const char product[] = "Chrome_Mac"; + // TODO(crbug.com/40118868): 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 !defined(ADDRESS_SANITIZER) + const char product[] = "Chrome_Linux"; + #else diff --git a/devel/electron33/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc b/devel/electron33/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc new file mode 100644 index 000000000000..4fd87eb517f8 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc @@ -0,0 +1,33 @@ +--- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2024-06-18 21:43:22 UTC ++++ chrome/browser/media/webrtc/webrtc_logging_controller.cc +@@ -25,10 +25,10 @@ + #include "components/webrtc_logging/browser/text_log_list.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; + +@@ -288,7 +288,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) { +@@ -334,7 +334,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( + base::HeapArray<uint8_t> packet_header, diff --git a/devel/electron33/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h b/devel/electron33/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h new file mode 100644 index 000000000000..3eecb483d55d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h @@ -0,0 +1,20 @@ +--- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2024-02-21 00:20:34 UTC ++++ chrome/browser/media/webrtc/webrtc_logging_controller.h +@@ -133,7 +133,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. +@@ -197,7 +197,7 @@ class WebRtcLoggingController + + content::BrowserContext* GetBrowserContext() const; + +-#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/devel/electron33/files/patch-chrome_browser_memory__details.cc b/devel/electron33/files/patch-chrome_browser_memory__details.cc new file mode 100644 index 000000000000..03641d5f48d1 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_memory__details.cc @@ -0,0 +1,20 @@ +--- chrome/browser/memory_details.cc.orig 2024-10-16 21:30:58 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 + +@@ -335,7 +335,7 @@ void MemoryDetails::CollectChildInfoOnUIThread() { + }); + } + +-#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/devel/electron33/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/devel/electron33/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc new file mode 100644 index 000000000000..d5e681071a79 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc @@ -0,0 +1,55 @@ +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc +@@ -88,8 +88,10 @@ + + // TODO(crbug.com/40118868): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if defined(__GLIBC__) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if defined(__GLIBC__) && (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" +@@ -113,7 +115,7 @@ + #include "chromeos/crosapi/cpp/crosapi_constants.h" + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/metrics/pressure/pressure_metrics_reporter.h" + #endif // BUILDFLAG(IS_LINUX) + +@@ -122,7 +124,7 @@ + #include "components/user_manager/user_manager.h" + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/power_metrics/system_power_monitor.h" + #endif + +@@ -869,7 +871,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, +@@ -1177,11 +1179,11 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserSt + } + #endif // !BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + pressure_metrics_reporter_ = std::make_unique<PressureMetricsReporter>(); + #endif // BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::trace_event::TraceLog::GetInstance()->AddEnabledStateObserver( + power_metrics::SystemPowerMonitor::GetInstance()); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/devel/electron33/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h b/devel/electron33/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h new file mode 100644 index 000000000000..5c63599b9234 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.h @@ -0,0 +1,20 @@ +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h.orig 2024-08-14 20:54:36 UTC ++++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h +@@ -29,7 +29,7 @@ class ProcessMonitor; + class ProcessMonitor; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + class PressureMetricsReporter; + #endif // BUILDFLAG(IS_LINUX) + +@@ -119,7 +119,7 @@ class ChromeBrowserMainExtraPartsMetrics : public Chro + performance_intervention_metrics_reporter_; + #endif // !BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Reports pressure metrics. + std::unique_ptr<PressureMetricsReporter> pressure_metrics_reporter_; + #endif // BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/devel/electron33/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc new file mode 100644 index 000000000000..4af221945b9d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc @@ -0,0 +1,88 @@ +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/metrics/chrome_metrics_service_client.cc +@@ -195,11 +195,11 @@ + #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 + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) + #include "chrome/browser/metrics/chrome_metrics_service_crash_reporter.h" + #endif + +@@ -213,7 +213,7 @@ + #include "chrome/browser/metrics/power/power_metrics_provider_mac.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/metrics/bluetooth_metrics_provider.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -535,7 +535,7 @@ void ChromeMetricsServiceClient::RegisterPrefs(PrefReg + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + metrics::structured::StructuredMetricsService::RegisterPrefs(registry); + + #if !BUILDFLAG(IS_CHROMEOS_ASH) +@@ -707,7 +707,7 @@ void ChromeMetricsServiceClient::Initialize() { + RegisterUKMProviders(); + } + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + metrics::structured::Recorder::GetInstance()->SetUiTaskRunner( + base::SequencedTaskRunner::GetCurrentDefault()); + #endif +@@ -758,7 +758,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 +@@ -843,7 +843,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic + // TODO(crbug.com/40118868): 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_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) + metrics_service_->RegisterMetricsProvider( + std::make_unique<DesktopPlatformFeaturesMetricsProvider>()); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || (BUILDFLAG(IS_LINUX) || +@@ -951,7 +951,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) +@@ -1138,7 +1138,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve + // TODO(crbug.com/40118868): 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_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_BSD) + // This creates the DesktopProfileSessionDurationsServices if it didn't exist + // already. + metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext( +@@ -1472,7 +1472,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri + recorder = + base::MakeRefCounted<metrics::structured::AshStructuredMetricsRecorder>( + cros_system_profile_provider_.get()); +-#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + + // Make sure that Structured Metrics recording delegates have been created + // before the service is created. This is handled in other places for ChromeOS diff --git a/devel/electron33/files/patch-chrome_browser_metrics_perf_cpu__identity.cc b/devel/electron33/files/patch-chrome_browser_metrics_perf_cpu__identity.cc new file mode 100644 index 000000000000..6408fa2486b9 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_metrics_perf_cpu__identity.cc @@ -0,0 +1,11 @@ +--- chrome/browser/metrics/perf/cpu_identity.cc.orig 2024-08-14 20:54:36 UTC ++++ chrome/browser/metrics/perf/cpu_identity.cc +@@ -147,7 +147,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/devel/electron33/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc b/devel/electron33/files/patch-chrome_browser_metrics_power_process__metrics__recorder__util.cc new file mode 100644 index 000000000000..77047374d435 --- /dev/null +++ b/devel/electron33/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 2024-04-15 20:33:47 UTC ++++ chrome/browser/metrics/power/process_metrics_recorder_util.cc +@@ -65,7 +65,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/devel/electron33/files/patch-chrome_browser_metrics_power_process__monitor.cc b/devel/electron33/files/patch-chrome_browser_metrics_power_process__monitor.cc new file mode 100644 index 000000000000..5bde45d2e4f1 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_metrics_power_process__monitor.cc @@ -0,0 +1,29 @@ +--- chrome/browser/metrics/power/process_monitor.cc.orig 2024-08-14 20:54:36 UTC ++++ chrome/browser/metrics/power/process_monitor.cc +@@ -65,7 +65,7 @@ ProcessMonitor::Metrics SampleMetrics(base::ProcessMet + process_metrics.GetPlatformIndependentCPUUsage()); + + #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) +@@ -83,7 +83,7 @@ void ScaleMetrics(ProcessMonitor::Metrics* metrics, do + } + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_AIX) ++ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) + metrics->idle_wakeups *= factor; + #endif + +@@ -158,7 +158,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me + } + + #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/devel/electron33/files/patch-chrome_browser_metrics_power_process__monitor.h b/devel/electron33/files/patch-chrome_browser_metrics_power_process__monitor.h new file mode 100644 index 000000000000..718da081e685 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_metrics_power_process__monitor.h @@ -0,0 +1,11 @@ +--- chrome/browser/metrics/power/process_monitor.h.orig 2024-04-15 20:33:47 UTC ++++ chrome/browser/metrics/power/process_monitor.h +@@ -76,7 +76,7 @@ class ProcessMonitor : public content::BrowserChildPro + std::optional<double> cpu_usage; + + #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/devel/electron33/files/patch-chrome_browser_net_profile__network__context__service.cc b/devel/electron33/files/patch-chrome_browser_net_profile__network__context__service.cc new file mode 100644 index 000000000000..fb0ed07e93b4 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_net_profile__network__context__service.cc @@ -0,0 +1,29 @@ +--- chrome/browser/net/profile_network_context_service.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/net/profile_network_context_service.cc +@@ -140,7 +140,7 @@ + #include "chromeos/startup/browser_params_proxy.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/client_certificates/certificate_provisioning_service_factory.h" + #include "components/enterprise/client_certificates/core/certificate_provisioning_service.h" + #include "components/enterprise/client_certificates/core/client_certificates_service.h" +@@ -260,7 +260,7 @@ void UpdateCookieSettings(Profile* profile, ContentSet + }); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<net::ClientCertStore> GetWrappedCertStore( + Profile* profile, + std::unique_ptr<net::ClientCertStore> platform_store) { +@@ -986,7 +986,7 @@ ProfileNetworkContextService::CreateClientCertStore() + store = std::make_unique<ClientCertStoreLacros>( + std::move(certificate_provider), cert_db_initializer, std::move(store)); + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return GetWrappedCertStore(profile_, std::move(store)); + #else + return store; diff --git a/devel/electron33/files/patch-chrome_browser_net_system__network__context__manager.cc b/devel/electron33/files/patch-chrome_browser_net_system__network__context__manager.cc new file mode 100644 index 000000000000..2da81ba82cb7 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_net_system__network__context__manager.cc @@ -0,0 +1,147 @@ +--- chrome/browser/net/system_network_context_manager.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/net/system_network_context_manager.cc +@@ -102,7 +102,7 @@ + + // TODO(crbug.com/40118868): 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/branded_strings.h" + #include "ui/base/l10n/l10n_util.h" +@@ -146,7 +146,7 @@ bool g_previously_failed_to_launch_sandboxed_service = + // received a failed launch for a sandboxed network service. + bool g_previously_failed_to_launch_sandboxed_service = false; + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Whether kerberos library loading will work in the network service due to the + // sandbox. + bool g_network_service_will_allow_gssapi_library_load = false; +@@ -154,7 +154,7 @@ const char* kGssapiDesiredPref = + const char* kGssapiDesiredPref = + #if BUILDFLAG(IS_CHROMEOS) + prefs::kKerberosEnabled; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + prefs::kReceivedHttpAuthNegotiateHeader; + #endif + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +@@ -200,7 +200,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) +@@ -215,7 +215,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut + local_state->GetString(prefs::kAuthAndroidNegotiateAccountType); + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auth_dynamic_params->allow_gssapi_library_load = + local_state->GetBoolean(kGssapiDesiredPref); + #endif // BUILDFLAG(IS_CHROMEOS) +@@ -225,7 +225,7 @@ void OnNewHttpAuthDynamicParams( + + void OnNewHttpAuthDynamicParams( + network::mojom::HttpAuthDynamicParamsPtr& params) { +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // The kerberos library is incompatible with the network service sandbox, so + // if library loading is now enabled, the network service needs to be + // restarted. It will be restarted unsandboxed because is +@@ -267,11 +267,11 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() + if (g_previously_failed_to_launch_sandboxed_service) { + return NetworkSandboxState::kDisabledBecauseOfFailedLaunch; + } +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto* local_state = g_browser_process->local_state(); + #endif + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // The network service sandbox and the kerberos library are incompatible. + // If kerberos is enabled by policy, disable the network service sandbox. + if (g_network_service_will_allow_gssapi_library_load || +@@ -287,7 +287,7 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() + } + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (local_state && + local_state->HasPrefPath(prefs::kNetworkServiceSandboxEnabled)) { + return local_state->GetBoolean(prefs::kNetworkServiceSandboxEnabled) +@@ -517,7 +517,7 @@ void SystemNetworkContextManager::DeleteInstance() { + g_system_network_context_manager = nullptr; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + SystemNetworkContextManager::GssapiLibraryLoadObserver:: + GssapiLibraryLoadObserver(SystemNetworkContextManager* owner) + : owner_(owner) {} +@@ -575,7 +575,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) +@@ -589,7 +589,7 @@ SystemNetworkContextManager::SystemNetworkContextManag + auth_pref_callback); + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + pref_change_registrar_.Add(kGssapiDesiredPref, auth_pref_callback); + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) + +@@ -660,7 +660,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) +@@ -685,11 +685,11 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe + + registry->RegisterListPref(prefs::kExplicitlyAllowedNetworkPorts); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kNetworkServiceSandboxEnabled, true); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kReceivedHttpAuthNegotiateHeader, false); + #endif // BUILDFLAG(IS_LINUX) + +@@ -742,7 +742,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea + OnNewHttpAuthDynamicParams(http_auth_dynamic_params); + network_service->ConfigureHttpAuthPrefs(std::move(http_auth_dynamic_params)); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + gssapi_library_loader_observer_.Install(network_service); + #endif // BUILDFLAG(IS_LINUX) + +@@ -969,7 +969,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab + break; + } + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!enabled) { + g_network_service_will_allow_gssapi_library_load = true; + } diff --git a/devel/electron33/files/patch-chrome_browser_net_system__network__context__manager.h b/devel/electron33/files/patch-chrome_browser_net_system__network__context__manager.h new file mode 100644 index 000000000000..b841982a2dfb --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_net_system__network__context__manager.h @@ -0,0 +1,20 @@ +--- chrome/browser/net/system_network_context_manager.h.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/net/system_network_context_manager.h +@@ -198,7 +198,7 @@ class SystemNetworkContextManager { + class URLLoaderFactoryForSystem; + class NetworkProcessLaunchWatcher; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + class GssapiLibraryLoadObserver + : public network::mojom::GssapiLibraryLoadObserver { + public: +@@ -279,7 +279,7 @@ class SystemNetworkContextManager { + std::unique_ptr<NetworkAnnotationMonitor> network_annotation_monitor_; + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + GssapiLibraryLoadObserver gssapi_library_loader_observer_{this}; + #endif // BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc b/devel/electron33/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc new file mode 100644 index 000000000000..8f4b846bdbe4 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc @@ -0,0 +1,11 @@ +--- chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc.orig 2024-10-16 21:30:58 UTC ++++ chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc +@@ -34,7 +34,7 @@ namespace { + #include "services/network/public/cpp/resource_request.h" + + namespace { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr char kPlatform[] = "LINUX"; + #elif BUILDFLAG(IS_WIN) + constexpr char kPlatform[] = "WINDOWS"; diff --git a/devel/electron33/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc b/devel/electron33/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc new file mode 100644 index 000000000000..44f4ef554a8e --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:30:58 UTC ++++ chrome/browser/new_tab_page/new_tab_page_util.cc +@@ -25,7 +25,7 @@ bool IsOsSupportedForDrive() { + } + + bool IsOsSupportedForDrive() { +-#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/devel/electron33/files/patch-chrome_browser_notifications_notification__display__service__impl.cc b/devel/electron33/files/patch-chrome_browser_notifications_notification__display__service__impl.cc new file mode 100644 index 000000000000..828ca695f063 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_notifications_notification__display__service__impl.cc @@ -0,0 +1,38 @@ +--- chrome/browser/notifications/notification_display_service_impl.cc.orig 2024-06-18 21:43:22 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_WIN) || 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 @@ void NotificationDisplayServiceImpl::RegisterProfilePr + // 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>( +@@ -89,7 +89,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + AddNotificationHandler( + NotificationHandler::Type::TAILORED_SECURITY, + std::make_unique<safe_browsing::TailoredSecurityNotificationHandler>()); diff --git a/devel/electron33/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc b/devel/electron33/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc new file mode 100644 index 000000000000..1e959e5b00d1 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc @@ -0,0 +1,11 @@ +--- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2024-10-16 21:30:59 UTC ++++ chrome/browser/notifications/notification_platform_bridge_delegator.cc +@@ -56,7 +56,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/devel/electron33/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/devel/electron33/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc new file mode 100644 index 000000000000..7daaf450bd52 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc @@ -0,0 +1,20 @@ +--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2024-10-16 21:30:59 UTC ++++ chrome/browser/password_manager/chrome_password_manager_client.cc +@@ -590,7 +590,7 @@ bool ChromePasswordManagerClient::IsReauthBeforeFillin + bool ChromePasswordManagerClient::IsReauthBeforeFillingRequired( + device_reauth::DeviceAuthenticator* authenticator) { + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (!GetLocalStatePrefs() || !GetPrefs() || !authenticator) { + return false; + } +@@ -828,7 +828,7 @@ void ChromePasswordManagerClient::NotifyKeychainError( + } + + void ChromePasswordManagerClient::NotifyKeychainError() { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + PasswordsClientUIDelegate* manage_passwords_ui_controller = + PasswordsClientUIDelegateFromWebContents(web_contents()); + manage_passwords_ui_controller->OnKeychainError(); diff --git a/devel/electron33/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc b/devel/electron33/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc new file mode 100644 index 000000000000..caaf126dd75c --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:54:36 UTC ++++ chrome/browser/password_manager/password_reuse_manager_factory.cc +@@ -141,7 +141,7 @@ PasswordReuseManagerFactory::BuildServiceInstanceForBr + // TODO(crbug.com/40118868): 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::PasswordReuseManagerSigninNotifier> + notifier = std::make_unique< + password_manager::PasswordReuseManagerSigninNotifierImpl>( diff --git a/devel/electron33/files/patch-chrome_browser_platform__util__linux.cc b/devel/electron33/files/patch-chrome_browser_platform__util__linux.cc new file mode 100644 index 000000000000..7e7522cfc8e2 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_platform__util__linux.cc @@ -0,0 +1,12 @@ +--- chrome/browser/platform_util_linux.cc.orig 2024-04-15 20:33:47 UTC ++++ chrome/browser/platform_util_linux.cc +@@ -300,7 +300,9 @@ void OnLaunchOptionsCreated(const std::string& command + argv.push_back(command); + argv.push_back(arg); + options.current_directory = working_directory; ++#if !BUILDFLAG(IS_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/devel/electron33/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc b/devel/electron33/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc new file mode 100644 index 000000000000..c423fdd7f157 --- /dev/null +++ b/devel/electron33/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-24 13:33:33 UTC ++++ chrome/browser/policy/browser_signin_policy_handler.cc +@@ -45,7 +45,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/devel/electron33/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc b/devel/electron33/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc new file mode 100644 index 000000000000..8b5f14955c79 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:30:59 UTC ++++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc +@@ -53,7 +53,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) + +@@ -62,7 +62,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/key_management/browser/device_trust_key_manager_impl.h" + #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/key_rotation_launcher.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +@@ -93,7 +93,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>(); +@@ -265,7 +265,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateD + + 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) + auto* browser_dm_token_storage = BrowserDMTokenStorage::Get(); + auto* device_management_service = GetDeviceManagementService(); + auto shared_url_loader_factory = GetSharedURLLoaderFactory(); diff --git a/devel/electron33/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/devel/electron33/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc new file mode 100644 index 000000000000..ed2d517888db --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc @@ -0,0 +1,263 @@ +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2024-10-16 21:30:59 UTC ++++ chrome/browser/policy/configuration_policy_handler_list_factory.cc +@@ -247,19 +247,19 @@ + #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 "chrome/browser/enterprise/idle/action.h" + #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" + #include "components/device_signals/core/browser/pref_names.h" // nogncheck due to crbug.com/1125897 + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "components/enterprise/idle/idle_timeout_policy_handler.h" + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "chrome/browser/privacy_sandbox/privacy_sandbox_policy_handler.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +@@ -273,13 +273,13 @@ + #endif // BUILDFLAG(ENTERPRISE_CLIENT_CERTIFICATES) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "chrome/browser/policy/battery_saver_policy_handler.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS_ASH) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/search_engines/enterprise/site_search_policy_handler.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS) +@@ -559,7 +559,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + { key::kDefaultDirectSocketsSetting, + prefs::kManagedDefaultDirectSocketsSetting, + base::Value::Type::INTEGER }, +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { key::kDeletingUndecryptablePasswordsEnabled, + password_manager::prefs::kDeletingUndecryptablePasswordsEnabled, + base::Value::Type::BOOLEAN }, +@@ -901,7 +901,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + prefs::kManagedDefaultGeolocationSetting, + base::Value::Type::INTEGER }, + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) \ +- || BUILDFLAG(IS_MAC) ++ || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + { key::kRequireOnlineRevocationChecksForLocalAnchors, + prefs::kCertRevocationCheckingRequiredLocalAnchors, + base::Value::Type::BOOLEAN }, +@@ -910,7 +910,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + base::Value::Type::BOOLEAN }, + #endif // #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) + // || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + { key::kFullscreenAllowed, + prefs::kFullscreenAllowed, + base::Value::Type::BOOLEAN }, +@@ -1738,7 +1738,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + base::Value::Type::INTEGER}, + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { key::kGSSAPILibraryName, + prefs::kGSSAPILibraryName, + base::Value::Type::STRING }, +@@ -1797,7 +1797,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + base::Value::Type::BOOLEAN }, + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { key::kNetworkServiceSandboxEnabled, + prefs::kNetworkServiceSandboxEnabled, + base::Value::Type::BOOLEAN }, +@@ -1823,12 +1823,12 @@ 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 }, +@@ -1836,7 +1836,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + prefs::kProfileSeparationDomainExceptionList, + base::Value::Type::LIST }, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || 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::kDefaultBrowserSettingEnabled, + prefs::kDefaultBrowserSettingEnabled, + base::Value::Type::BOOLEAN }, +@@ -1848,7 +1848,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + 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_CHROMEOS) ++ || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + { key::kAutoplayAllowed, + prefs::kAutoplayAllowed, + base::Value::Type::BOOLEAN }, +@@ -1949,7 +1949,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + base::Value::Type::BOOLEAN }, + #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + { key::kAlternativeBrowserPath, + browser_switcher::prefs::kAlternativeBrowserPath, + base::Value::Type::STRING }, +@@ -2066,7 +2066,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + base::Value::Type::LIST }, + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#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 }, +@@ -2145,7 +2145,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + ash::prefs::kUrlParameterToAutofillSAMLUsername, + base::Value::Type::STRING }, + #endif // BUILDFLAG(IS_CHROMEOS_ASH) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + { key::kTabDiscardingExceptions, + performance_manager::user_tuning::prefs::kManagedTabDiscardingExceptions, + base::Value::Type::LIST }, +@@ -2174,7 +2174,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + prefs::kUiAutomationProviderEnabled, + base::Value::Type::BOOLEAN }, + #endif // BUILDFLAG(IS_WIN) +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { key::kOutOfProcessSystemDnsResolutionEnabled, + prefs::kOutOfProcessSystemDnsResolutionEnabled, + base::Value::Type::BOOLEAN }, +@@ -2217,7 +2217,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + base::Value::Type::INTEGER }, + #endif + #if BUILDFLAG(ENABLE_EXTENSIONS) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + { key::kExtensionInstallTypeBlocklist, + extensions::pref_names::kExtensionInstallTypeBlocklist, + base::Value::Type::LIST}, +@@ -2240,7 +2240,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + { key::kTabCompareSettings, + optimization_guide::prefs::kProductSpecificationsEnterprisePolicyAllowed, + base::Value::Type::INTEGER}, +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + { key::kChromeForTestingAllowed, + prefs::kChromeForTestingAllowed, + base::Value::Type::BOOLEAN }, +@@ -2378,7 +2378,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + // Policies for all platforms - End + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + handlers->AddHandler(std::make_unique<IntRangePolicyHandler>( + key::kMemorySaverModeSavings, + performance_manager::user_tuning::prefs::kMemorySaverModeAggressiveness, +@@ -2394,7 +2394,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + // BUILDFLAG(IS_CHROMEOS_ASH) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + handlers->AddHandler( + std::make_unique<SiteSearchPolicyHandler>(chrome_schema)); + +@@ -2607,7 +2607,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + #endif // BUILDFLAG(IS_ANDROID) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + handlers->AddHandler( + std::make_unique<enterprise_idle::IdleTimeoutPolicyHandler>()); + handlers->AddHandler( +@@ -2660,7 +2660,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>()); + handlers->AddHandler( +@@ -2745,7 +2745,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + std::vector<std::unique_ptr<ConfigurationPolicyHandler>> + signin_legacy_policies; + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_LINUX) ++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + signin_legacy_policies.push_back(std::make_unique<SimplePolicyHandler>( + key::kForceBrowserSignin, prefs::kForceBrowserSignin, + base::Value::Type::BOOLEAN)); +@@ -3116,7 +3116,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>( +@@ -3124,7 +3124,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)); +@@ -3142,7 +3142,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + first_party_sets::FirstPartySetsOverridesPolicyHandler>( + key::kRelatedWebsiteSetsOverrides, chrome_schema))); + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + handlers->AddHandler(std::make_unique<PrivacySandboxPolicyHandler>()); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +@@ -3165,7 +3165,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + base::Value::Type::BOOLEAN))); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + handlers->AddHandler(std::make_unique<BatterySaverPolicyHandler>()); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS_ASH) +@@ -3189,7 +3189,7 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildH + std::vector<GenAiDefaultSettingsPolicyHandler::GenAiPolicyDetails> + gen_ai_default_policies; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + gen_ai_default_policies.emplace_back( + key::kHelpMeWriteSettings, + optimization_guide::prefs::kComposeEnterprisePolicyAllowed); diff --git a/devel/electron33/files/patch-chrome_browser_policy_device__management__service__configuration.cc b/devel/electron33/files/patch-chrome_browser_policy_device__management__service__configuration.cc new file mode 100644 index 000000000000..2950a7414560 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_policy_device__management__service__configuration.cc @@ -0,0 +1,20 @@ +--- chrome/browser/policy/device_management_service_configuration.cc.orig 2024-04-15 20:33:47 UTC ++++ chrome/browser/policy/device_management_service_configuration.cc +@@ -24,7 +24,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 +@@ -102,7 +102,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/devel/electron33/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc b/devel/electron33/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc new file mode 100644 index 000000000000..383bfce1cb14 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_policy_policy__value__and__status__aggregator.cc @@ -0,0 +1,11 @@ +--- chrome/browser/policy/policy_value_and_status_aggregator.cc.orig 2024-06-18 21:43:23 UTC ++++ chrome/browser/policy/policy_value_and_status_aggregator.cc +@@ -53,7 +53,7 @@ + #include "chrome/browser/policy/value_provider/extension_policies_value_provider.h" + #endif // BUILDFLAG(ENABLE_EXTENSIONS) + +-#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/policy/core/common/cloud/profile_cloud_policy_manager.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-chrome_browser_prefs_browser__prefs.cc b/devel/electron33/files/patch-chrome_browser_prefs_browser__prefs.cc new file mode 100644 index 000000000000..180812666a53 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -0,0 +1,75 @@ +--- chrome/browser/prefs/browser_prefs.cc.orig 2024-10-16 21:30:59 UTC ++++ chrome/browser/prefs/browser_prefs.cc +@@ -313,7 +313,7 @@ + #include "components/user_notes/user_notes_prefs.h" + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/webui/whats_new/whats_new_ui.h" + #endif + +@@ -491,18 +491,18 @@ + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "components/device_signals/core/browser/pref_names.h" // nogncheck due to crbug.com/1125897 + #endif + + // TODO(crbug.com/40118868): 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 + +-#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/signin/enterprise_signin_prefs.h" + #endif + +@@ -537,7 +537,7 @@ + #include "chrome/browser/sessions/session_service_log.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/color/system_theme.h" + #endif + +@@ -1678,7 +1678,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) + on_device_translation::RegisterLocalStatePrefs(registry); + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + WhatsNewUI::RegisterLocalStatePrefs(registry); + #endif + +@@ -1854,7 +1854,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) + #endif // BUILDFLAG(ENABLE_PDF) + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kChromeForTestingAllowed, true); + #endif + +@@ -2213,12 +2213,12 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + device_signals::RegisterProfilePrefs(registry); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); + enterprise_signin::RegisterProfilePrefs(registry); + #endif diff --git a/devel/electron33/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/devel/electron33/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc new file mode 100644 index 000000000000..9d5c8bd22b7e --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc @@ -0,0 +1,11 @@ +--- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2024-10-16 21:30:59 UTC ++++ chrome/browser/prefs/pref_service_incognito_allowlist.cc +@@ -198,7 +198,7 @@ const char* const kPersistentPrefNames[] = { + prefs::kShowFullscreenToolbar, + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || 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/devel/electron33/files/patch-chrome_browser_printing_print__backend__service__manager.cc b/devel/electron33/files/patch-chrome_browser_printing_print__backend__service__manager.cc new file mode 100644 index 000000000000..5d0e3619aef2 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_printing_print__backend__service__manager.cc @@ -0,0 +1,29 @@ +--- chrome/browser/printing/print_backend_service_manager.cc.orig 2024-08-14 20:54:36 UTC ++++ chrome/browser/printing/print_backend_service_manager.cc +@@ -36,7 +36,7 @@ + #include "printing/printing_context.h" + #include "printing/printing_features.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "content/public/common/content_switches.h" + #endif + +@@ -877,7 +877,7 @@ PrintBackendServiceManager::GetServiceFromBundle( + host.BindNewPipeAndPassReceiver(), + content::ServiceProcessHost::Options() + .WithDisplayName(IDS_UTILITY_PROCESS_PRINT_BACKEND_SERVICE_NAME) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + .WithExtraCommandLineSwitches({switches::kMessageLoopTypeUi}) + #endif + .Pass()); +@@ -1054,7 +1054,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 (HasQueryWithUiClientForRemoteId(remote_id)) { + return std::nullopt; diff --git a/devel/electron33/files/patch-chrome_browser_printing_printer__query.cc b/devel/electron33/files/patch-chrome_browser_printing_printer__query.cc new file mode 100644 index 000000000000..f916ff7895b2 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_printing_printer__query.cc @@ -0,0 +1,11 @@ +--- chrome/browser/printing/printer_query.cc.orig 2024-02-27 21:36:00 UTC ++++ chrome/browser/printing/printer_query.cc +@@ -341,7 +341,7 @@ void PrinterQuery::UpdatePrintSettings(base::Value::Di + crash_key = std::make_unique<crash_keys::ScopedPrinterInfo>( + printer_name, print_backend->GetPrinterDriverInfo(printer_name)); + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS) ++#if (BUILDFLAG(IS_BSD) || BUILDFLAG(IS_LINUX)) && BUILDFLAG(USE_CUPS) + PrinterBasicInfo basic_info; + if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) == + mojom::ResultCode::kSuccess) { diff --git a/devel/electron33/files/patch-chrome_browser_process__singleton__posix.cc b/devel/electron33/files/patch-chrome_browser_process__singleton__posix.cc new file mode 100644 index 000000000000..4d59611ece45 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_process__singleton__posix.cc @@ -0,0 +1,11 @@ +--- chrome/browser/process_singleton_posix.cc.orig 2024-10-28 21:05:17 UTC ++++ chrome/browser/process_singleton_posix.cc +@@ -364,7 +364,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/devel/electron33/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/devel/electron33/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc new file mode 100644 index 000000000000..c73c16dc7f1f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc @@ -0,0 +1,118 @@ +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2024-10-16 21:30:59 UTC ++++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +@@ -347,7 +347,7 @@ + #include "chromeos/constants/chromeos_features.h" + #endif + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/policy/messaging_layer/util/manual_test_heartbeat_event_factory.h" + #endif + +@@ -440,18 +440,18 @@ + #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/enterprise/connectors/device_trust/device_trust_connector_service_factory.h" + #include "chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.h" + #include "chrome/browser/enterprise/signals/user_permission_service_factory.h" + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/idle/idle_service_factory.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/browser_switcher/browser_switcher_service_factory.h" + #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" + #include "chrome/browser/enterprise/client_certificates/certificate_store_factory.h" +@@ -706,7 +706,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + DiceBoundSessionCookieServiceFactory::GetInstance(); + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) + #endif // BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + browser_switcher::BrowserSwitcherServiceFactory::GetInstance(); + #endif + browser_sync::UserEventServiceFactory::GetInstance(); +@@ -839,7 +839,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + enterprise_connectors::ConnectorsServiceFactory::GetInstance(); + #endif + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + enterprise_connectors::DeviceTrustConnectorServiceFactory::GetInstance(); + enterprise_connectors::DeviceTrustServiceFactory::GetInstance(); + #endif +@@ -847,25 +847,25 @@ void ChromeBrowserMainExtraPartsProfiles:: + enterprise_connectors::ExtensionInstallEventRouterFactory::GetInstance(); + enterprise_connectors::ExtensionTelemetryEventRouterFactory::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_connectors::LocalBinaryUploadServiceFactory::GetInstance(); + #endif + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + enterprise_idle::IdleServiceFactory::GetInstance(); + #endif + #if !BUILDFLAG(IS_CHROMEOS_ASH) + enterprise_reporting::CloudProfileReportingServiceFactory::GetInstance(); + #endif + enterprise_reporting::LegacyTechServiceFactory::GetInstance(); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + enterprise_signals::SignalsAggregatorFactory::GetInstance(); + #endif + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + enterprise_signals::UserPermissionServiceFactory::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_signin::EnterpriseSigninServiceFactory::GetInstance(); + #endif + #if BUILDFLAG(ENABLE_SESSION_SERVICE) +@@ -995,7 +995,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + #endif + // TODO(crbug.com/40118868): 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 +@@ -1100,7 +1100,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + #if BUILDFLAG(IS_CHROMEOS) + policy::PolicyCertServiceFactory::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) + policy::ProfileTokenPolicyWebSigninServiceFactory::GetInstance(); + policy::UserPolicyOidcSigninServiceFactory::GetInstance(); + #endif +@@ -1149,7 +1149,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + #if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_ANDROID) + ProfileStatisticsFactory::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) + ProfileTokenWebSigninInterceptorFactory::GetInstance(); + OidcAuthenticationSigninInterceptorFactory::GetInstance(); + #endif +@@ -1168,7 +1168,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + #endif + ReduceAcceptLanguageFactory::GetInstance(); + RendererUpdaterFactory::GetInstance(); +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + reporting::ManualTestHeartbeatEventFactory::GetInstance(); + #endif + #if BUILDFLAG(IS_CHROMEOS_LACROS) diff --git a/devel/electron33/files/patch-chrome_browser_profiles_profile__impl.cc b/devel/electron33/files/patch-chrome_browser_profiles_profile__impl.cc new file mode 100644 index 000000000000..ebfc4d1e0401 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_profiles_profile__impl.cc @@ -0,0 +1,40 @@ +--- chrome/browser/profiles/profile_impl.cc.orig 2024-10-16 21:30:59 UTC ++++ chrome/browser/profiles/profile_impl.cc +@@ -267,6 +267,10 @@ + #include "chrome/browser/spellchecker/spellcheck_service.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#endif ++ + using bookmarks::BookmarkModel; + using content::BrowserThread; + using content::DownloadManagerDelegate; +@@ -603,7 +607,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async + #else + { + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ProfileManager* profile_manager = g_browser_process->profile_manager(); + ProfileAttributesEntry* entry = + profile_manager->GetProfileAttributesStorage() +@@ -908,7 +912,17 @@ base::FilePath ProfileImpl::last_selected_directory() + } + + 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/devel/electron33/files/patch-chrome_browser_profiles_profiles__state.cc b/devel/electron33/files/patch-chrome_browser_profiles_profiles__state.cc new file mode 100644 index 000000000000..64b85f7873e6 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_profiles_profiles__state.cc @@ -0,0 +1,29 @@ +--- chrome/browser/profiles/profiles_state.cc.orig 2024-08-14 20:54:37 UTC ++++ chrome/browser/profiles/profiles_state.cc +@@ -196,7 +196,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. +@@ -243,7 +243,7 @@ bool IsGuestModeEnabled() { + return false; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // If there are any supervised profiles, disable guest mode. + if (base::FeatureList::IsEnabled( + supervised_user::kHideGuestModeForSupervisedUsers) && +@@ -259,7 +259,7 @@ bool IsGuestModeEnabled(const Profile& profile) { + } + + bool IsGuestModeEnabled(const Profile& profile) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled( + supervised_user::kHideGuestModeForSupervisedUsers)) { + ProfileAttributesEntry* profile_attributes = diff --git a/devel/electron33/files/patch-chrome_browser_renderer__preferences__util.cc b/devel/electron33/files/patch-chrome_browser_renderer__preferences__util.cc new file mode 100644 index 000000000000..d64cbe1a3b53 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_renderer__preferences__util.cc @@ -0,0 +1,29 @@ +--- chrome/browser/renderer_preferences_util.cc.orig 2024-04-15 20:33:47 UTC ++++ chrome/browser/renderer_preferences_util.cc +@@ -39,7 +39,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" +@@ -154,7 +154,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)) + auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile); + if (linux_ui_theme) { + if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) { +@@ -177,7 +177,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/devel/electron33/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css b/devel/electron33/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared.css new file mode 100644 index 000000000000..8df7a08eb462 --- /dev/null +++ b/devel/electron33/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-24 13:33:33 UTC ++++ chrome/browser/resources/settings/autofill_page/passwords_shared.css +@@ -100,7 +100,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/devel/electron33/files/patch-chrome_browser_resources_signin_signin__shared.css b/devel/electron33/files/patch-chrome_browser_resources_signin_signin__shared.css new file mode 100644 index 000000000000..1531cc39292f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_resources_signin_signin__shared.css @@ -0,0 +1,11 @@ +--- chrome/browser/resources/signin/signin_shared.css.orig 2022-11-30 08:12:58 UTC ++++ chrome/browser/resources/signin/signin_shared.css +@@ -54,7 +54,7 @@ a { + border-radius: var(--scrollbar-width); + } + +-<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/devel/electron33/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc b/devel/electron33/files/patch-chrome_browser_safe__browsing_cloud__content__scanning_binary__upload__service.cc new file mode 100644 index 000000000000..261320129363 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:00 UTC ++++ chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.cc +@@ -18,7 +18,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 + +@@ -436,7 +436,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/devel/electron33/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc b/devel/electron33/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc new file mode 100644 index 000000000000..4303594dcb9a --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:00 UTC ++++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc +@@ -696,7 +696,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/devel/electron33/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc b/devel/electron33/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc new file mode 100644 index 000000000000..9a79128c937e --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc @@ -0,0 +1,20 @@ +--- chrome/browser/screen_ai/screen_ai_install_state.cc.orig 2024-08-14 20:54:38 UTC ++++ chrome/browser/screen_ai/screen_ai_install_state.cc +@@ -17,7 +17,7 @@ + #include "services/screen_ai/public/cpp/utilities.h" + #include "ui/accessibility/accessibility_features.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/cpu.h" + #include "base/files/file_util.h" + #endif +@@ -27,7 +27,7 @@ bool IsDeviceCompatible() { + const char kMinExpectedVersion[] = "124.2"; + + bool IsDeviceCompatible() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if defined(ARCH_CPU_X86_FAMILY) + // Check if the CPU has the required instruction set to run the Screen AI + // library. diff --git a/devel/electron33/files/patch-chrome_browser_screen__ai_screen__ai__service__router.cc b/devel/electron33/files/patch-chrome_browser_screen__ai_screen__ai__service__router.cc new file mode 100644 index 000000000000..d4078b59a03f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_screen__ai_screen__ai__service__router.cc @@ -0,0 +1,20 @@ +--- chrome/browser/screen_ai/screen_ai_service_router.cc.orig 2024-10-16 21:31:00 UTC ++++ chrome/browser/screen_ai/screen_ai_service_router.cc +@@ -324,7 +324,7 @@ void ScreenAIServiceRouter::LaunchIfNotRunning() { + base::FilePath binary_path = state_instance->get_component_binary_path(); + #if BUILDFLAG(IS_WIN) + std::vector<base::FilePath> preload_libraries = {binary_path}; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::vector<std::string> extra_switches = { + base::StringPrintf("--%s=%s", screen_ai::GetBinaryPathSwitch(), + binary_path.MaybeAsASCII().c_str())}; +@@ -338,7 +338,7 @@ void ScreenAIServiceRouter::LaunchIfNotRunning() { + .WithPreloadedLibraries( + preload_libraries, + content::ServiceProcessHostPreloadLibraries::GetPassKey()) +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + .WithExtraCommandLineSwitches(extra_switches) + #endif // BUILDFLAG(IS_WIN) + .Pass()); diff --git a/devel/electron33/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc b/devel/electron33/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc new file mode 100644 index 000000000000..49407c1212fa --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:23 UTC ++++ chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc +@@ -15,7 +15,7 @@ + #include "components/send_tab_to_self/features.h" + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || 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 +@@ -47,7 +47,7 @@ ReceivingUiHandlerRegistry::GetToolbarButtonController + ReceivingUiHandlerRegistry::GetToolbarButtonControllerForProfile( + Profile* profile) { + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + for (const std::unique_ptr<ReceivingUiHandler>& handler : + applicable_handlers_) { + auto* button_controller = diff --git a/devel/electron33/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc b/devel/electron33/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc new file mode 100644 index 000000000000..08f48edc2433 --- /dev/null +++ b/devel/electron33/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 2024-04-15 20:33:48 UTC ++++ chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc +@@ -16,7 +16,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 + +@@ -50,7 +50,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/devel/electron33/files/patch-chrome_browser_sessions_session__restore.cc b/devel/electron33/files/patch-chrome_browser_sessions_session__restore.cc new file mode 100644 index 000000000000..67315dd30cea --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_sessions_session__restore.cc @@ -0,0 +1,20 @@ +--- chrome/browser/sessions/session_restore.cc.orig 2024-11-09 21:36:37 UTC ++++ chrome/browser/sessions/session_restore.cc +@@ -103,7 +103,7 @@ + #include "chrome/browser/web_applications/web_app_registrar.h" + #endif // BUILDFLAG(IS_CHROMEOS) + +-#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/ui/webui/whats_new/whats_new_fetcher.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + +@@ -1081,7 +1081,7 @@ class SessionRestoreImpl : public BrowserListObserver + bool is_first_tab = true; + for (const auto& startup_tab : startup_tabs) { + const GURL& url = startup_tab.url; +-#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 == whats_new::GetWebUIStartupURL()) { + whats_new::StartWhatsNewFetch(browser); + continue; diff --git a/devel/electron33/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc b/devel/electron33/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc new file mode 100644 index 000000000000..7f6d529a6fe3 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc @@ -0,0 +1,20 @@ +--- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2024-06-18 21:43:23 UTC ++++ chrome/browser/sharing/sharing_handler_registry_impl.cc +@@ -22,7 +22,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) +@@ -74,7 +74,7 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl + #endif // !BUILDFLAG(IS_ANDROID) + + #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/devel/electron33/files/patch-chrome_browser_shortcuts_icon__badging.cc b/devel/electron33/files/patch-chrome_browser_shortcuts_icon__badging.cc new file mode 100644 index 000000000000..98e27521c5b0 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_shortcuts_icon__badging.cc @@ -0,0 +1,11 @@ +--- chrome/browser/shortcuts/icon_badging.cc.orig 2024-06-18 21:43:23 UTC ++++ chrome/browser/shortcuts/icon_badging.cc +@@ -59,7 +59,7 @@ constexpr ShortcutSize kSizesNeededForShortcutCreation + constexpr ShortcutSize kSizesNeededForShortcutCreation[] = { + ShortcutSize::k16, ShortcutSize::k32, ShortcutSize::k128, + ShortcutSize::k256, ShortcutSize::k512}; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr ShortcutSize kSizesNeededForShortcutCreation[] = {ShortcutSize::k32, + ShortcutSize::k128}; + #elif BUILDFLAG(IS_WIN) diff --git a/devel/electron33/files/patch-chrome_browser_signin_signin__util.cc b/devel/electron33/files/patch-chrome_browser_signin_signin__util.cc new file mode 100644 index 000000000000..39a21ffc1008 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_signin_signin__util.cc @@ -0,0 +1,11 @@ +--- chrome/browser/signin/signin_util.cc.orig 2024-08-14 20:54:38 UTC ++++ chrome/browser/signin/signin_util.cc +@@ -81,7 +81,7 @@ void CookiesMover::StartMovingCookies() { + CookiesMover::~CookiesMover() = default; + + void CookiesMover::StartMovingCookies() { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + bool allow_cookies_to_be_moved = base::FeatureList::IsEnabled( + profile_management::features::kThirdPartyProfileManagement); + #else diff --git a/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc new file mode 100644 index 000000000000..d284bb5dbb94 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.cc @@ -0,0 +1,20 @@ +--- chrome/browser/supervised_user/supervised_user_browser_utils.cc.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/supervised_user/supervised_user_browser_utils.cc +@@ -42,7 +42,7 @@ + #include "components/user_manager/user_type.h" + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + #include "chromeos/startup/browser_params_proxy.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/supervised_user/supervised_user_verification_controller_client.h" + #include "chrome/browser/supervised_user/supervised_user_verification_page.h" + #endif +@@ -165,7 +165,7 @@ void AssertChildStatusOfTheUser(Profile* profile, bool + #endif + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + std::string CreateReauthenticationInterstitial( + content::NavigationHandle& navigation_handle, + SupervisedUserVerificationPage::VerificationPurpose verification_purpose) { diff --git a/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h new file mode 100644 index 000000000000..bee6e8de0517 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__browser__utils.h @@ -0,0 +1,20 @@ +--- chrome/browser/supervised_user/supervised_user_browser_utils.h.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/supervised_user/supervised_user_browser_utils.h +@@ -11,7 +11,7 @@ + #include "content/public/browser/web_contents.h" + #include "url/gurl.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/supervised_user/supervised_user_verification_page.h" + #endif + +@@ -55,7 +55,7 @@ void AssertChildStatusOfTheUser(Profile* profile, bool + // of the user. + void AssertChildStatusOfTheUser(Profile* profile, bool is_child); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Returns the html content of the reauthentication interstitial for blocked + // sites. This interstitial is associated with the given NavigationHandle. + std::string CreateReauthenticationInterstitial( diff --git a/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc new file mode 100644 index 000000000000..8773845e94a4 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc @@ -0,0 +1,11 @@ +--- chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc +@@ -194,7 +194,7 @@ void SupervisedUserExtensionsDelegateImpl::RequestExte + return; + } + } +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + CHECK(contents.value()); + content::WebContents* web_contents = contents.value().get(); + if (CanInstallExtensions()) { diff --git a/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc new file mode 100644 index 000000000000..bebc89354fb2 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.cc @@ -0,0 +1,20 @@ +--- chrome/browser/supervised_user/supervised_user_extensions_manager.cc.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/supervised_user/supervised_user_extensions_manager.cc +@@ -359,7 +359,7 @@ void SupervisedUserExtensionsManager:: + ActivateManagementPolicyAndUpdateRegistration() { + SetActiveForSupervisedUsers(); + UpdateManagementPolicyRegistration(); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + MaybeMarkExtensionsLocallyParentApproved(); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + } +@@ -477,7 +477,7 @@ bool SupervisedUserExtensionsManager::ShouldBlockExten + return false; + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void SupervisedUserExtensionsManager:: + MaybeMarkExtensionsLocallyParentApproved() { + supervised_user::LocallyParentApprovedExtensionsMigrationState diff --git a/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h new file mode 100644 index 000000000000..da7d7679b278 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__extensions__manager.h @@ -0,0 +1,11 @@ +--- chrome/browser/supervised_user/supervised_user_extensions_manager.h.orig 2024-08-14 20:54:38 UTC ++++ chrome/browser/supervised_user/supervised_user_extensions_manager.h +@@ -154,7 +154,7 @@ class SupervisedUserExtensionsManager : public Extensi + // launched. + bool ShouldBlockExtension(const std::string& extension_id) const; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Triggers an one-time migration of the present extensions as parent-approved + // when the feature + // `kEnableSupervisedUserSkipParentApprovalToInstallExtensions` becomes diff --git a/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc new file mode 100644 index 000000000000..555a64e2be10 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__google__auth__navigation__throttle.cc @@ -0,0 +1,20 @@ +--- chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.cc.orig 2024-11-09 21:36:37 UTC ++++ chrome/browser/supervised_user/supervised_user_google_auth_navigation_throttle.cc +@@ -31,7 +31,7 @@ + #include "chrome/browser/supervised_user/child_accounts/child_account_service_android.h" + #include "components/signin/public/identity_manager/identity_manager.h" + #include "ui/android/view_android.h" +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/supervised_user/supervised_user_verification_controller_client.h" + #include "chrome/browser/supervised_user/supervised_user_verification_page.h" + #endif +@@ -147,7 +147,7 @@ SupervisedUserGoogleAuthNavigationThrottle::ShouldProc + return content::NavigationThrottle::DEFER; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // When an unauthenticated supervised user tries to access YouTube, we force + // re-authentication with an interstitial so that YouTube can be subject to + // content restrictions. This interstitial is only available on Desktop diff --git a/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc new file mode 100644 index 000000000000..13ec87c0109e --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__metrics__service__factory.cc @@ -0,0 +1,20 @@ +--- chrome/browser/supervised_user/supervised_user_metrics_service_factory.cc.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/supervised_user/supervised_user_metrics_service_factory.cc +@@ -14,7 +14,7 @@ + #include "components/supervised_user/core/browser/supervised_user_service.h" + #include "content/public/browser/browser_context.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/supervised_user/linux_mac_windows/supervised_user_extensions_metrics_delegate_impl.h" + #endif + +@@ -61,7 +61,7 @@ KeyedService* SupervisedUserMetricsServiceFactory::Bui + std::unique_ptr<supervised_user::SupervisedUserMetricsService :: + SupervisedUserMetricsServiceExtensionDelegate> + extensions_metrics_delegate = nullptr; +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extensions_metrics_delegate = + std::make_unique<SupervisedUserExtensionsMetricsDelegateImpl>( + extensions::ExtensionRegistry::Get(profile), profile); diff --git a/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc new file mode 100644 index 000000000000..dd79c3b823f1 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__navigation__observer.cc @@ -0,0 +1,20 @@ +--- chrome/browser/supervised_user/supervised_user_navigation_observer.cc.orig 2024-02-21 00:20:36 UTC ++++ chrome/browser/supervised_user/supervised_user_navigation_observer.cc +@@ -47,7 +47,7 @@ + #include "chrome/browser/supervised_user/android/supervised_user_web_content_handler_impl.h" + #elif BUILDFLAG(IS_CHROMEOS) + #include "chrome/browser/supervised_user/chromeos/supervised_user_web_content_handler_impl.h" +-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/supervised_user/linux_mac_windows/supervised_user_web_content_handler_impl.h" + #endif + +@@ -67,7 +67,7 @@ std::unique_ptr<supervised_user::WebContentHandler> Cr + #elif BUILDFLAG(IS_ANDROID) + return std::make_unique<SupervisedUserWebContentHandlerImpl>( + web_contents, frame_id, navigation_id); +-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + return std::make_unique<SupervisedUserWebContentHandlerImpl>( + web_contents, frame_id, navigation_id); + #endif diff --git a/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__navigation__throttle.cc b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__navigation__throttle.cc new file mode 100644 index 000000000000..a599551d684d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_supervised__user_supervised__user__navigation__throttle.cc @@ -0,0 +1,20 @@ +--- chrome/browser/supervised_user/supervised_user_navigation_throttle.cc.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/supervised_user/supervised_user_navigation_throttle.cc +@@ -201,7 +201,7 @@ void SupervisedUserNavigationThrottle::OnCheckDone( + } + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + SupervisedUserVerificationPage::VerificationPurpose + GetVerificationPurposeFromFilteringReason( + supervised_user::FilteringBehaviorReason reason) { +@@ -235,7 +235,7 @@ void SupervisedUserNavigationThrottle::OnInterstitialR + Profile* profile = Profile::FromBrowserContext( + navigation_handle()->GetWebContents()->GetBrowserContext()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + supervised_user::ChildAccountService* child_account_service = + ChildAccountServiceFactory::GetForProfile(profile); + if (base::FeatureList::IsEnabled( diff --git a/devel/electron33/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc b/devel/electron33/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc new file mode 100644 index 000000000000..689c132b30bf --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc @@ -0,0 +1,11 @@ +--- chrome/browser/sync/chrome_sync_controller_builder.cc.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/sync/chrome_sync_controller_builder.cc +@@ -324,7 +324,7 @@ ChromeSyncControllerBuilder::Build(syncer::SyncService + #if BUILDFLAG(ENABLE_SPELLCHECK) + // 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 (spellcheck_service_.value()) { + controllers.push_back( diff --git a/devel/electron33/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc b/devel/electron33/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc new file mode 100644 index 000000000000..f00088bfe822 --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:24 UTC ++++ chrome/browser/sync/device_info_sync_client_impl.cc +@@ -41,7 +41,7 @@ std::string DeviceInfoSyncClientImpl::GetSigninScopedD + // included 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/devel/electron33/files/patch-chrome_browser_sync_sync__service__factory.cc b/devel/electron33/files/patch-chrome_browser_sync_sync__service__factory.cc new file mode 100644 index 000000000000..774a7112f940 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_sync_sync__service__factory.cc @@ -0,0 +1,38 @@ +--- chrome/browser/sync/sync_service_factory.cc.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/sync/sync_service_factory.cc +@@ -105,7 +105,7 @@ + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_keyed_service.h" + #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_service_factory.h" + #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_utils.h" +@@ -153,7 +153,7 @@ tab_groups::TabGroupSyncService* GetTabGroupSyncServic + tab_groups::TabGroupSyncService* GetTabGroupSyncService(Profile* profile) { + CHECK(profile); + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + tab_groups::TabGroupSyncService* service = + tab_groups::SavedTabGroupUtils::GetServiceForProfile(profile); + CHECK(service); +@@ -381,7 +381,7 @@ std::unique_ptr<KeyedService> BuildSyncService( + // included 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()); + local_sync_backend_enabled = prefs.IsLocalSyncEnabled(); + base::UmaHistogramBoolean("Sync.Local.Enabled2", local_sync_backend_enabled); +@@ -517,7 +517,7 @@ SyncServiceFactory::SyncServiceFactory() + DependsOn(ProfilePasswordStoreFactory::GetInstance()); + DependsOn(PowerBookmarkServiceFactory::GetInstance()); + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + DependsOn(tab_groups::SavedTabGroupServiceFactory::GetInstance()); + #elif BUILDFLAG(IS_ANDROID) + DependsOn(tab_groups::TabGroupSyncServiceFactory::GetInstance()); diff --git a/devel/electron33/files/patch-chrome_browser_tab__group__sync_tab__group__sync__service__factory.cc b/devel/electron33/files/patch-chrome_browser_tab__group__sync_tab__group__sync__service__factory.cc new file mode 100644 index 000000000000..109747493e65 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_tab__group__sync_tab__group__sync__service__factory.cc @@ -0,0 +1,20 @@ +--- chrome/browser/tab_group_sync/tab_group_sync_service_factory.cc.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/tab_group_sync/tab_group_sync_service_factory.cc +@@ -30,7 +30,7 @@ + #include "components/sync_device_info/device_info_sync_service.h" + + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/tabs/saved_tab_groups/tab_group_sync_delegate_desktop.h" + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || + // BUILDFLAG(IS_WIN) +@@ -110,7 +110,7 @@ TabGroupSyncServiceFactory::BuildServiceInstanceForBro + + std::unique_ptr<TabGroupSyncDelegate> delegate; + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (tab_groups::IsTabGroupSyncServiceDesktopMigrationEnabled()) { + delegate = + std::make_unique<TabGroupSyncDelegateDesktop>(service.get(), profile); diff --git a/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__group.cc new file mode 100644 index 000000000000..02f12aeba86e --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__group.cc @@ -0,0 +1,38 @@ +--- chrome/browser/task_manager/sampling/task_group.cc.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/task_manager/sampling/task_group.cc +@@ -41,7 +41,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) +@@ -126,7 +126,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), +@@ -145,7 +145,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) +@@ -325,7 +325,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/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__group.h b/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__group.h new file mode 100644 index 000000000000..96726f380317 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__group.h @@ -0,0 +1,38 @@ +--- chrome/browser/task_manager/sampling/task_group.h.orig 2024-02-21 00:20:36 UTC ++++ chrome/browser/task_manager/sampling/task_group.h +@@ -44,7 +44,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; +@@ -152,7 +152,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) +@@ -172,7 +172,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) + +@@ -244,7 +244,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/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc new file mode 100644 index 000000000000..d42101ef7b4e --- /dev/null +++ b/devel/electron33/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 2024-04-15 20:33:48 UTC ++++ chrome/browser/task_manager/sampling/task_group_sampler.cc +@@ -46,7 +46,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) +@@ -56,7 +56,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)) { + blocking_pool_runner_->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)) { + blocking_pool_runner_->PostTaskAndReplyWithResult( +@@ -150,7 +150,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_CALLED_ON_VALID_SEQUENCE(worker_pool_sequenced_checker_); + diff --git a/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h b/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h new file mode 100644 index 000000000000..d148301a5b99 --- /dev/null +++ b/devel/electron33/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 2023-10-19 19:58:06 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 = +@@ -43,7 +43,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); +@@ -63,7 +63,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) + base::Process::Priority RefreshProcessPriority(); +@@ -87,7 +87,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/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/devel/electron33/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc new file mode 100644 index 000000000000..7b5afab4c84e --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:54:38 UTC ++++ chrome/browser/task_manager/sampling/task_manager_impl.cc +@@ -219,7 +219,7 @@ int TaskManagerImpl::GetOpenFdCount(TaskId task_id) co + } + + 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/devel/electron33/files/patch-chrome_browser_task__manager_task__manager__observer.h b/devel/electron33/files/patch-chrome_browser_task__manager_task__manager__observer.h new file mode 100644 index 000000000000..a2f4e51049f7 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_task__manager_task__manager__observer.h @@ -0,0 +1,11 @@ +--- chrome/browser/task_manager/task_manager_observer.h.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-chrome_browser_themes_theme__helper.cc b/devel/electron33/files/patch-chrome_browser_themes_theme__helper.cc new file mode 100644 index 000000000000..032985e9aeae --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_themes_theme__helper.cc @@ -0,0 +1,11 @@ +--- chrome/browser/themes/theme_helper.cc.orig 2022-10-24 13:33:33 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 + diff --git a/devel/electron33/files/patch-chrome_browser_themes_theme__service.cc b/devel/electron33/files/patch-chrome_browser_themes_theme__service.cc new file mode 100644 index 000000000000..7450ab01e59e --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_themes_theme__service.cc @@ -0,0 +1,20 @@ +--- chrome/browser/themes/theme_service.cc.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/themes/theme_service.cc +@@ -70,7 +70,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" // nogncheck + #endif +@@ -328,7 +328,7 @@ bool ThemeService::ShouldUseCustomFrame() 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/devel/electron33/files/patch-chrome_browser_themes_theme__service__aura__linux.cc b/devel/electron33/files/patch-chrome_browser_themes_theme__service__aura__linux.cc new file mode 100644 index 000000000000..0ed274a4ad41 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_themes_theme__service__aura__linux.cc @@ -0,0 +1,11 @@ +--- chrome/browser/themes/theme_service_aura_linux.cc.orig 2024-08-14 20:54:38 UTC ++++ chrome/browser/themes/theme_service_aura_linux.cc +@@ -23,7 +23,7 @@ ui::SystemTheme ValidateSystemTheme(ui::SystemTheme sy + ui::SystemTheme ValidateSystemTheme(ui::SystemTheme system_theme) { + switch (system_theme) { + case ui::SystemTheme::kDefault: +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + case ui::SystemTheme::kGtk: + case ui::SystemTheme::kQt: + #endif diff --git a/devel/electron33/files/patch-chrome_browser_themes_theme__service__factory.cc b/devel/electron33/files/patch-chrome_browser_themes_theme__service__factory.cc new file mode 100644 index 000000000000..3e917e6e5c42 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_themes_theme__service__factory.cc @@ -0,0 +1,37 @@ +--- chrome/browser/themes/theme_service_factory.cc.orig 2024-08-14 20:54:38 UTC ++++ chrome/browser/themes/theme_service_factory.cc +@@ -27,11 +27,11 @@ + + // TODO(crbug.com/40118868): 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_factory.h" + #endif + +@@ -106,7 +106,7 @@ KeyedService* ThemeServiceFactory::BuildServiceInstanc + + KeyedService* ThemeServiceFactory::BuildServiceInstanceFor( + content::BrowserContext* profile) const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + using ThemeService = ThemeServiceAuraLinux; + #endif + +@@ -120,9 +120,9 @@ void ThemeServiceFactory::RegisterProfilePrefs( + user_prefs::PrefRegistrySyncable* registry) { + // TODO(crbug.com/40118868): 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) + ui::SystemTheme default_system_theme = ui::SystemTheme::kDefault; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + default_system_theme = ui::GetDefaultSystemTheme(); + #endif + registry->RegisterIntegerPref(prefs::kSystemTheme, diff --git a/devel/electron33/files/patch-chrome_browser_ui_actions_chrome__action__id.h b/devel/electron33/files/patch-chrome_browser_ui_actions_chrome__action__id.h new file mode 100644 index 000000000000..07018354413f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_actions_chrome__action__id.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/actions/chrome_action_id.h.orig 2024-10-16 21:31:01 UTC ++++ chrome/browser/ui/actions/chrome_action_id.h +@@ -511,7 +511,7 @@ + IDC_CONTENT_CONTEXT_QUICK_ANSWERS_INLINE_ANSWER) \ + E(kActionContentContextQuickAnswersInlineQuery, \ + IDC_CONTENT_CONTEXT_QUICK_ANSWERS_INLINE_QUERY) +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #define CHROME_PLATFORM_SPECIFIC_ACTION_IDS \ + E(kUseSystemTitleBar, IDC_USE_SYSTEM_TITLE_BAR) \ + E(kRestoreWindow, IDC_RESTORE_WINDOW) diff --git a/devel/electron33/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc b/devel/electron33/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc new file mode 100644 index 000000000000..bad2213ddf2a --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/autofill/payments/desktop_payments_window_manager.cc +@@ -48,7 +48,7 @@ DesktopPaymentsWindowManager::DesktopPaymentsWindowMan + DesktopPaymentsWindowManager::DesktopPaymentsWindowManager( + ContentAutofillClient* client) + : client_(CHECK_DEREF(client)) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + scoped_observation_.Observe(BrowserList::GetInstance()); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) + } +@@ -108,7 +108,7 @@ void DesktopPaymentsWindowManager::WebContentsDestroye + } + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + void DesktopPaymentsWindowManager::OnBrowserSetLastActive(Browser* browser) { + // If there is an ongoing payments window manager pop-up flow, and the + // original tab's WebContents become active, activate the pop-up's diff --git a/devel/electron33/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h b/devel/electron33/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h new file mode 100644 index 000000000000..b6bde6d1be14 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_autofill_payments_desktop__payments__window__manager.h @@ -0,0 +1,38 @@ +--- chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/autofill/payments/desktop_payments_window_manager.h +@@ -14,7 +14,7 @@ + #include "components/autofill/core/browser/payments/payments_window_manager.h" + #include "content/public/browser/web_contents_observer.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include "base/scoped_observation.h" + #include "chrome/browser/ui/browser_list.h" + #include "chrome/browser/ui/browser_list_observer.h" +@@ -39,7 +39,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi + // WebContents of the original tab that the pop-up is created in. If there is a + // pop-up currently present, `this` will observe the WebContents of that pop-up. + class DesktopPaymentsWindowManager : public PaymentsWindowManager, +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + public BrowserListObserver, + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) + public content::WebContentsObserver { +@@ -58,7 +58,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi + content::NavigationHandle* navigation_handle) override; + void WebContentsDestroyed() override; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // BrowserListObserver: + void OnBrowserSetLastActive(Browser* browser) override; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +@@ -136,7 +136,7 @@ class DesktopPaymentsWindowManager : public PaymentsWi + std::unique_ptr<PaymentsWindowUserConsentDialogControllerImpl> + payments_window_user_consent_dialog_controller_; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + base::ScopedObservation<BrowserList, BrowserListObserver> scoped_observation_{ + this}; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) diff --git a/devel/electron33/files/patch-chrome_browser_ui_browser.h b/devel/electron33/files/patch-chrome_browser_ui_browser.h new file mode 100644 index 000000000000..10de573802db --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_browser.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/browser.h.orig 2024-10-28 21:05:16 UTC ++++ chrome/browser/ui/browser.h +@@ -299,7 +299,7 @@ class Browser : public TabStripModelObserver, + std::optional<int64_t> display_id; + #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/devel/electron33/files/patch-chrome_browser_ui_browser__command__controller.cc b/devel/electron33/files/patch-chrome_browser_ui_browser__command__controller.cc new file mode 100644 index 000000000000..d2b59cdf1a23 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_browser__command__controller.cc @@ -0,0 +1,80 @@ +--- chrome/browser/ui/browser_command_controller.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/browser_command_controller.cc +@@ -129,7 +129,7 @@ + #include "components/user_manager/user_manager.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/base/ime/text_input_flags.h" + #include "ui/linux/linux_ui.h" + #endif +@@ -138,7 +138,7 @@ + #include "ui/ozone/public/ozone_platform.h" + #endif + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/shortcuts/desktop_shortcuts_utils.h" + #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) + +@@ -319,7 +319,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(); +@@ -574,7 +574,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo + + // TODO(crbug.com/40118868): 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; +@@ -586,7 +586,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo + break; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + case IDC_USE_SYSTEM_TITLE_BAR: { + PrefService* prefs = profile()->GetPrefs(); + prefs->SetBoolean(prefs::kUseCustomChromeFrame, +@@ -787,7 +787,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo + break; + case IDC_CREATE_SHORTCUT: + base::RecordAction(base::UserMetricsAction("CreateShortcut")); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(features::kShortcutsNotApps)) { + chrome::CreateDesktopShortcutForActiveWebContents(browser_); + } else { +@@ -1265,12 +1265,12 @@ void BrowserCommandController::InitCommandState() { + #endif + // TODO(crbug.com/40118868): 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); + #endif +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool use_system_title_bar = true; + #if BUILDFLAG(IS_OZONE) + use_system_title_bar = ui::OzonePlatform::GetInstance() +@@ -1601,7 +1601,7 @@ void BrowserCommandController::UpdateCommandsForTabSta + bool can_create_web_app = web_app::CanCreateWebApp(browser_); + command_updater_.UpdateCommandEnabled(IDC_INSTALL_PWA, can_create_web_app); + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(features::kShortcutsNotApps)) { + command_updater_.UpdateCommandEnabled( + IDC_CREATE_SHORTCUT, shortcuts::CanCreateDesktopShortcut(browser_)); diff --git a/devel/electron33/files/patch-chrome_browser_ui_browser__commands.cc b/devel/electron33/files/patch-chrome_browser_ui_browser__commands.cc new file mode 100644 index 000000000000..5811c7bc8cbf --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_browser__commands.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/browser_commands.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/browser_commands.cc +@@ -2036,7 +2036,7 @@ void OpenUpdateChromeDialog(Browser* browser) { + } else if (UpgradeDetector::GetInstance()->is_outdated_install_no_au()) { + UpgradeDetector::GetInstance()->NotifyOutdatedInstallNoAutoUpdate(); + } else { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(features::kFewerUpdateConfirmations)) { + chrome::AttemptRelaunch(); + return; diff --git a/devel/electron33/files/patch-chrome_browser_ui_browser__ui__prefs.cc b/devel/electron33/files/patch-chrome_browser_ui_browser__ui__prefs.cc new file mode 100644 index 000000000000..d41d295c72d8 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_browser__ui__prefs.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/browser_ui_prefs.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/browser_ui_prefs.cc +@@ -74,7 +74,7 @@ void RegisterBrowserPrefs(PrefRegistrySimple* registry + registry->RegisterIntegerPref(prefs::kDefaultBrowserDeclinedCount, 0); + registry->RegisterTimePref(prefs::kDefaultBrowserFirstShownTime, + base::Time()); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + registry->RegisterStringPref(prefs::kEnterpriseCustomLabel, std::string()); + registry->RegisterStringPref(prefs::kEnterpriseLogoUrl, std::string()); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +@@ -184,7 +184,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry + registry->RegisterDictionaryPref(prefs::kHttpsUpgradeFallbacks); + registry->RegisterDictionaryPref(prefs::kHttpsUpgradeNavigations); + registry->RegisterBooleanPref(prefs::kHttpsOnlyModeAutoEnabled, false); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + registry->RegisterStringPref(prefs::kEnterpriseLogoUrl, std::string()); + registry->RegisterStringPref(prefs::kEnterpriseCustomLabel, std::string()); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) diff --git a/devel/electron33/files/patch-chrome_browser_ui_browser__view__prefs.cc b/devel/electron33/files/patch-chrome_browser_ui_browser__view__prefs.cc new file mode 100644 index 000000000000..a46310ac1ca2 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_browser__view__prefs.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/browser_view_prefs.cc.orig 2023-08-10 01:48:36 UTC ++++ chrome/browser/ui/browser_view_prefs.cc +@@ -15,7 +15,7 @@ + + namespace { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool GetCustomFramePrefDefault() { + #if BUILDFLAG(IS_OZONE) + return ui::OzonePlatform::GetInstance() +@@ -31,7 +31,7 @@ bool GetCustomFramePrefDefault() { + + void RegisterBrowserViewProfilePrefs( + user_prefs::PrefRegistrySyncable* registry) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame, + GetCustomFramePrefDefault()); + #endif diff --git a/devel/electron33/files/patch-chrome_browser_ui_chrome__pages.cc b/devel/electron33/files/patch-chrome_browser_ui_chrome__pages.cc new file mode 100644 index 000000000000..1d2b05b68913 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_chrome__pages.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/chrome_pages.cc.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/chrome_pages.cc +@@ -87,7 +87,7 @@ + #include "components/signin/public/identity_manager/identity_manager.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/web_app_utils.h" + #endif + +@@ -380,7 +380,7 @@ void ShowChromeTips(Browser* browser) { + ShowSingletonTab(browser, GURL(kChromeTipsURL)); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void ShowChromeWhatsNew(Browser* browser) { + ShowSingletonTab(browser, GURL(kChromeUIWhatsNewURL)); + } +@@ -722,7 +722,7 @@ void ShowShortcutCustomizationApp(Profile* profile, + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void ShowWebAppSettingsImpl(Browser* browser, + Profile* profile, + const std::string& app_id, diff --git a/devel/electron33/files/patch-chrome_browser_ui_chrome__pages.h b/devel/electron33/files/patch-chrome_browser_ui_chrome__pages.h new file mode 100644 index 000000000000..26853378286f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_chrome__pages.h @@ -0,0 +1,20 @@ +--- chrome/browser/ui/chrome_pages.h.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/chrome_pages.h +@@ -39,7 +39,7 @@ enum class ConsentLevel; + enum class ConsentLevel; + } // namespace signin + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + namespace web_app { + enum class AppSettingsPageEntryPoint; + } // namespace web_app +@@ -174,7 +174,7 @@ void ShowShortcutCustomizationApp(Profile* profile, + const std::string& category); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Show chrome://app-settings/<app-id> page. + void ShowWebAppSettings(Browser* browser, + const std::string& app_id, diff --git a/devel/electron33/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc b/devel/electron33/files/patch-chrome_browser_ui_color_native__chrome__color__mixer.cc new file mode 100644 index 000000000000..ec344b260e7c --- /dev/null +++ b/devel/electron33/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 2023-10-19 19:58: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::ColorProviderKey& key) {} + #endif diff --git a/devel/electron33/files/patch-chrome_browser_ui_managed__ui.cc b/devel/electron33/files/patch-chrome_browser_ui_managed__ui.cc new file mode 100644 index 000000000000..b1c8812f271a --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_managed__ui.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/managed_ui.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/managed_ui.cc +@@ -435,7 +435,7 @@ std::optional<std::string> GetDeviceManagerIdentity() + g_browser_process->platform_part()->browser_policy_connector_ash(); + return connector->GetEnterpriseDomainManager(); + #else +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string custom_management_label = + g_browser_process->local_state() + ? g_browser_process->local_state()->GetString( +@@ -469,7 +469,7 @@ std::optional<std::string> GetAccountManagerIdentity(P + policy::EnterpriseManagementAuthority::CLOUD)) + return std::nullopt; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string custom_management_label = + profile->GetPrefs()->GetString(prefs::kEnterpriseCustomLabel); + if (!custom_management_label.empty()) { diff --git a/devel/electron33/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc b/devel/electron33/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc new file mode 100644 index 000000000000..c278614945e9 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_omnibox_omnibox__pedal__implementations.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/omnibox/omnibox_pedal_implementations.cc +@@ -1976,7 +1976,7 @@ const gfx::VectorIcon& GetSharingHubVectorIcon() { + return omnibox::kShareMacChromeRefreshIcon; + #elif BUILDFLAG(IS_WIN) + return omnibox::kShareWinChromeRefreshIcon; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return omnibox::kShareLinuxChromeRefreshIcon; + #else + return omnibox::kShareChromeRefreshIcon; diff --git a/devel/electron33/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc b/devel/electron33/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc new file mode 100644 index 000000000000..a2e83e29a704 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_passwords_bubble__controllers_relaunch__chrome__bubble__controller.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/passwords/bubble_controllers/relaunch_chrome_bubble_controller.cc.orig 2024-02-21 00:20:36 UTC ++++ chrome/browser/ui/passwords/bubble_controllers/relaunch_chrome_bubble_controller.cc +@@ -44,7 +44,7 @@ std::u16string RelaunchChromeBubbleController::GetTitl + #if BUILDFLAG(IS_MAC) + ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_BRANDED + : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_NON_BRANDED +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_LINUX_BRANDED + : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_TITLE_LINUX_NON_BRANDED + #endif +@@ -57,7 +57,7 @@ std::u16string RelaunchChromeBubbleController::GetBody + #if BUILDFLAG(IS_MAC) + ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_BRANDED + : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_NON_BRANDED +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ? IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_LINUX_BRANDED + : IDS_PASSWORD_MANAGER_RELAUNCH_CHROME_BUBBLE_DESCRIPTION_LINUX_NON_BRANDED + #endif diff --git a/devel/electron33/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc b/devel/electron33/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc new file mode 100644 index 000000000000..25cf2fedebc4 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/passwords/manage_passwords_ui_controller.cc +@@ -93,7 +93,7 @@ using Logger = autofill::SavePasswordProgressLogger; + + using Logger = autofill::SavePasswordProgressLogger; + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Should be kept in sync with constant declared in + // bubble_controllers/relaunch_chrome_bubble_controller.cc. + constexpr int kMaxNumberOfTimesKeychainErrorBubbleIsShown = 3; +@@ -513,7 +513,7 @@ void ManagePasswordsUIController::OnKeychainError() { + } + + void ManagePasswordsUIController::OnKeychainError() { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + CHECK(!dialog_controller_); + PrefService* prefs = + Profile::FromBrowserContext(web_contents()->GetBrowserContext()) diff --git a/devel/electron33/files/patch-chrome_browser_ui_sad__tab.cc b/devel/electron33/files/patch-chrome_browser_ui_sad__tab.cc new file mode 100644 index 000000000000..6a631ca76209 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_sad__tab.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/sad_tab.cc.orig 2023-02-01 18:43:13 UTC ++++ chrome/browser/ui/sad_tab.cc +@@ -176,7 +176,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/devel/electron33/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h b/devel/electron33/files/patch-chrome_browser_ui_sharing__hub_sharing__hub__bubble__controller.h new file mode 100644 index 000000000000..01db715af2a4 --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:24 UTC ++++ chrome/browser/ui/sharing_hub/sharing_hub_bubble_controller.h +@@ -36,7 +36,7 @@ class SharingHubBubbleController { + // Returns true if the omnibox icon should be shown. + virtual bool ShouldOfferOmniboxIcon() = 0; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // This method returns the set of first-party actions, which are actions + // internal to Chrome. Third-party actions (those outside Chrome) are + // currently not supported. diff --git a/devel/electron33/files/patch-chrome_browser_ui_signin_signin__view__controller.cc b/devel/electron33/files/patch-chrome_browser_ui_signin_signin__view__controller.cc new file mode 100644 index 000000000000..a674d10cf7da --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_signin_signin__view__controller.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/signin/signin_view_controller.cc.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/signin/signin_view_controller.cc +@@ -492,7 +492,7 @@ void SigninViewController::ShowModalManagedUserNoticeD + signin::SigninChoiceCallbackVariant process_user_choice_callback, + base::OnceClosure done_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::CreateManagedUserNoticeDelegate( diff --git a/devel/electron33/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h b/devel/electron33/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h new file mode 100644 index 000000000000..a8313250de1b --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_signin_signin__view__controller__delegate.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/signin/signin_view_controller_delegate.h.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/signin/signin_view_controller_delegate.h +@@ -83,7 +83,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 managed user notice modal dialog. The returned object + // should delete itself when the window it's managing is closed. diff --git a/devel/electron33/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/devel/electron33/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc new file mode 100644 index 000000000000..6a4a32dc03e3 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2024-06-18 21:43:24 UTC ++++ chrome/browser/ui/startup/bad_flags_prompt.cc +@@ -107,7 +107,7 @@ const char* const kBadFlags[] = { + + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/devel/electron33/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc new file mode 100644 index 000000000000..f62e74b289bb --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc @@ -0,0 +1,38 @@ +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/startup/startup_browser_creator.cc +@@ -138,7 +138,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/headless/headless_mode_util.h" + #include "chrome/browser/ui/startup/web_app_info_recorder_utils.h" + #include "components/headless/policy/headless_mode_policy.h" +@@ -963,7 +963,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( + TRACE_EVENT0("startup", "StartupBrowserCreator::ProcessCmdLineImpl"); + ComputeAndRecordLaunchMode(command_line); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (headless::IsHeadlessMode() && + headless::HeadlessModePolicy::IsHeadlessModeDisabled( + g_browser_process->local_state())) { +@@ -1080,7 +1080,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) && +@@ -1295,7 +1295,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/devel/electron33/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc b/devel/electron33/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc new file mode 100644 index 000000000000..46169969f92d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/startup/startup_browser_creator_impl.cc +@@ -85,7 +85,7 @@ + #include "chromeos/startup/browser_params_proxy.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/ui/webui/whats_new/whats_new_fetcher.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + +@@ -225,7 +225,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 +@@ -255,7 +255,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( + continue; + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Start the What's New fetch but don't add the tab at this point. The tab + // will open as the foreground tab only if the remote content can be + // retrieved successfully. This prevents needing to automatically close the diff --git a/devel/electron33/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc b/devel/electron33/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc new file mode 100644 index 000000000000..a19267c6fc82 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_startup_startup__tab__provider.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/startup/startup_tab_provider.cc.orig 2024-04-15 20:33:49 UTC ++++ chrome/browser/ui/startup/startup_tab_provider.cc +@@ -61,7 +61,7 @@ + #include "extensions/browser/extension_registry.h" + #endif // !BUILDFLAG(IS_ANDROID) + +-#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/headless/headless_mode_util.h" + #endif + +@@ -105,7 +105,7 @@ bool ValidateUrl(const GURL& url) { + #if BUILDFLAG(IS_CHROMEOS_LACROS) + // In ChromeOS, allow any URL pattern that matches chrome:// scheme. + url_scheme_is_chrome = url.SchemeIs(content::kChromeUIScheme); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // In Headless mode, allow any URL pattern that matches chrome:// scheme if + // the user explicitly allowed it. + if (headless::IsHeadlessMode() && url.SchemeIs(content::kChromeUIScheme)) { diff --git a/devel/electron33/files/patch-chrome_browser_ui_tab__helpers.cc b/devel/electron33/files/patch-chrome_browser_ui_tab__helpers.cc new file mode 100644 index 000000000000..03768e0fed2a --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_tab__helpers.cc @@ -0,0 +1,26 @@ +--- chrome/browser/ui/tab_helpers.cc.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/tab_helpers.cc +@@ -241,7 +241,7 @@ + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h" + #include "chrome/browser/ui/browser_finder.h" + #include "chrome/browser/ui/hats/hats_helper.h" +@@ -719,12 +719,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con + // TODO(crbug.com/40118868): 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_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + 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) || diff --git a/devel/electron33/files/patch-chrome_browser_ui_tabs_features.cc b/devel/electron33/files/patch-chrome_browser_ui_tabs_features.cc new file mode 100644 index 000000000000..a53f1e716582 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_tabs_features.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/tabs/features.cc.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/tabs/features.cc +@@ -48,7 +48,7 @@ bool CanShowTabSearchPositionSetting() { + bool CanShowTabSearchPositionSetting() { + // Mac and other platforms will always have the tab search position in the + // correct location, cros/linux/win git the user the option to change. +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled(kTabSearchPositionSetting); + #else + return false; diff --git a/devel/electron33/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc b/devel/electron33/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc new file mode 100644 index 000000000000..8a1c9582cbf6 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/tabs/tab_strip_prefs.cc.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/tabs/tab_strip_prefs.cc +@@ -20,7 +20,7 @@ bool GetDefaultTabSearchRightAligned() { + + bool GetDefaultTabSearchRightAligned() { + // These platforms are all left aligned, the others should be right. +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + return false; + #else + return true; diff --git a/devel/electron33/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc b/devel/electron33/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc new file mode 100644 index 000000000000..410884208108 --- /dev/null +++ b/devel/electron33/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-04-21 18:48:31 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/devel/electron33/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/devel/electron33/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc new file mode 100644 index 000000000000..c74fadd9d3f7 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/task_manager/task_manager_table_model.cc +@@ -459,7 +459,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) +@@ -626,7 +626,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]); +@@ -811,7 +811,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/devel/electron33/files/patch-chrome_browser_ui_test_popup__browsertest.cc b/devel/electron33/files/patch-chrome_browser_ui_test_popup__browsertest.cc new file mode 100644 index 000000000000..14c84a8d2623 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_test_popup__browsertest.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/test/popup_browsertest.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/test/popup_browsertest.cc +@@ -75,7 +75,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenLeftAndTopZeroCo + const display::Display display = GetDisplayNearestBrowser(popup); + gfx::Rect expected(popup->window()->GetBounds().size()); + expected.AdjustToFit(display.work_area()); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/40815883) Desktop Linux window bounds are inaccurate. + expected.Outset(50); + EXPECT_TRUE(expected.Contains(popup->window()->GetBounds())) +@@ -107,7 +107,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenClampedToCurrent + // The popup should be constrained to the opener's available display space. + EXPECT_EQ(display, GetDisplayNearestBrowser(popup)); + gfx::Rect work_area(display.work_area()); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/40815883) Desktop Linux bounds flakily extend outside the + // work area on trybots, when opening with excessive width and height, e.g.: + // width=${screen.availWidth+300},height=${screen.availHeight+300} yields: diff --git a/devel/electron33/files/patch-chrome_browser_ui_test_test__browser__ui.cc b/devel/electron33/files/patch-chrome_browser_ui_test_test__browser__ui.cc new file mode 100644 index 000000000000..1da09fb37ed9 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_test_test__browser__ui.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/test/test_browser_ui.cc.orig 2024-06-18 21:43:24 UTC ++++ chrome/browser/ui/test/test_browser_ui.cc +@@ -22,7 +22,7 @@ + + // TODO(crbug.com/40118868): 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 "content/public/common/content_switches.h" + #include "ui/base/test/skia_gold_matching_algorithm.h" +@@ -39,7 +39,7 @@ + // TODO(crbug.com/40625383) support Mac for pixel tests. + // TODO(crbug.com/40118868): 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)) + #define SUPPORTS_PIXEL_TEST + #endif + diff --git a/devel/electron33/files/patch-chrome_browser_ui_ui__features.cc b/devel/electron33/files/patch-chrome_browser_ui_ui__features.cc new file mode 100644 index 000000000000..34d3fe0f40aa --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_ui__features.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/ui_features.cc.orig 2024-11-09 21:36:38 UTC ++++ chrome/browser/ui/ui_features.cc +@@ -103,7 +103,7 @@ BASE_FEATURE(kAccessCodeCastUI, + base::FEATURE_ENABLED_BY_DEFAULT); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Enables the feature to remove the last confirmation dialog when relaunching + // to update Chrome. + BASE_FEATURE(kFewerUpdateConfirmations, +@@ -402,7 +402,7 @@ BASE_FEATURE(kTopChromeWebUIUsesSpareRenderer, + "TopChromeWebUIUsesSpareRenderer", + base::FEATURE_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) + // Enables alternate update-related text to be displayed in browser app menu + // button, menu item and confirmation dialog. + BASE_FEATURE(kUpdateTextOptions, +@@ -474,7 +474,7 @@ BASE_FEATURE(kStopLoadingAnimationForHiddenWindow, + "StopLoadingAnimationForHiddenWindow", + base::FEATURE_ENABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kUsePortalAccentColor, + "UsePortalAccentColor", + base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/devel/electron33/files/patch-chrome_browser_ui_ui__features.h b/devel/electron33/files/patch-chrome_browser_ui_ui__features.h new file mode 100644 index 000000000000..61474d5ba85a --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_ui__features.h @@ -0,0 +1,29 @@ +--- chrome/browser/ui/ui_features.h.orig 2024-11-09 21:36:38 UTC ++++ chrome/browser/ui/ui_features.h +@@ -78,7 +78,7 @@ BASE_DECLARE_FEATURE(kAccessCodeCastUI); + BASE_DECLARE_FEATURE(kAccessCodeCastUI); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kFewerUpdateConfirmations); + #endif + +@@ -266,7 +266,7 @@ BASE_DECLARE_FEATURE(kTopChromeWebUIUsesSpareRenderer) + + BASE_DECLARE_FEATURE(kTopChromeWebUIUsesSpareRenderer); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kUpdateTextOptions); + extern const base::FeatureParam<int> kUpdateTextOptionNumber; + #endif +@@ -291,7 +291,7 @@ BASE_DECLARE_FEATURE(kStopLoadingAnimationForHiddenWin + + BASE_DECLARE_FEATURE(kStopLoadingAnimationForHiddenWindow); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kUsePortalAccentColor); + #endif + diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_accelerator__table.cc b/devel/electron33/files/patch-chrome_browser_ui_views_accelerator__table.cc new file mode 100644 index 000000000000..341d955137c1 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_accelerator__table.cc @@ -0,0 +1,34 @@ +--- chrome/browser/ui/views/accelerator_table.cc.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/views/accelerator_table.cc +@@ -72,11 +72,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}, +@@ -104,7 +104,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}, +@@ -156,7 +156,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}, diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc b/devel/electron33/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc new file mode 100644 index 000000000000..4e0a6bba92a4 --- /dev/null +++ b/devel/electron33/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-07-22 17:30:31 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/devel/electron33/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/devel/electron33/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc new file mode 100644 index 000000000000..4b5a4e6c72e8 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc +@@ -39,7 +39,7 @@ + #include "ui/wm/core/wm_state.h" + #endif // defined(USE_AURA) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include <sys/stat.h> + #include <sys/types.h> + #include <unistd.h> +@@ -132,7 +132,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( + return controller; + })); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || 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/devel/electron33/files/patch-chrome_browser_ui_views_chrome__views__delegate.h b/devel/electron33/files/patch-chrome_browser_ui_views_chrome__views__delegate.h new file mode 100644 index 000000000000..615e66391f22 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_chrome__views__delegate.h @@ -0,0 +1,16 @@ +--- chrome/browser/ui/views/chrome_views_delegate.h.orig 2024-06-18 21:43:24 UTC ++++ chrome/browser/ui/views/chrome_views_delegate.h +@@ -59,11 +59,11 @@ class ChromeViewsDelegate : public views::ViewsDelegat + base::OnceClosure callback) override; + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc b/devel/electron33/files/patch-chrome_browser_ui_views_chrome__views__delegate__linux.cc new file mode 100644 index 000000000000..73124c3bda09 --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:24 UTC ++++ chrome/browser/ui/views/chrome_views_delegate_linux.cc +@@ -26,7 +26,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()) { +@@ -80,7 +80,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/devel/electron33/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc b/devel/electron33/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc new file mode 100644 index 000000000000..5db50ac10b20 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_compose_compose__dialog__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/compose/compose_dialog_view.cc.orig 2024-04-15 20:33:49 UTC ++++ chrome/browser/ui/views/compose/compose_dialog_view.cc +@@ -159,7 +159,7 @@ void ComposeDialogView::OnBeforeBubbleWidgetInit( + views::Widget::InitParams* params, + views::Widget* widget) const { + WebUIBubbleDialogView::OnBeforeBubbleWidgetInit(params, widget); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // In linux, windows may be clipped to their anchors' bounds, + // resulting in visual errors, unless they use accelerated rendering. See + // crbug.com/1445770 for details. diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame.cc new file mode 100644 index 000000000000..2da07aa7ff85 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame.cc @@ -0,0 +1,56 @@ +--- chrome/browser/ui/views/frame/browser_frame.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/frame/browser_frame.cc +@@ -54,7 +54,7 @@ + #include "components/user_manager/user_manager.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/display/screen.h" + #include "ui/linux/linux_ui.h" + #endif +@@ -89,7 +89,7 @@ bool IsUsingLinuxSystemTheme(Profile* profile) { + }; + + bool IsUsingLinuxSystemTheme(Profile* profile) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); + #else + return false; +@@ -184,7 +184,7 @@ void BrowserFrame::InitBrowserFrame() { + + Init(std::move(params)); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + SelectNativeTheme(); + #else + SetNativeTheme(ui::NativeTheme::GetInstanceForNativeUi()); +@@ -370,7 +370,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() { + chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace()); + chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(), + IsVisibleOnAllWorkspaces()); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || 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() +@@ -564,7 +564,7 @@ void BrowserFrame::SelectNativeTheme() { + } + + void BrowserFrame::SelectNativeTheme() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Use the regular NativeTheme instance if running incognito mode, regardless + // of system theme (gtk, qt etc). + ui::NativeTheme* native_theme = ui::NativeTheme::GetInstanceForNativeUi(); +@@ -605,7 +605,7 @@ bool BrowserFrame::RegenerateFrameOnThemeChange( + bool BrowserFrame::RegenerateFrameOnThemeChange( + BrowserThemeChangeType theme_change_type) { + bool need_regenerate = false; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // System 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/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame.h b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame.h new file mode 100644 index 000000000000..08d15c6076d2 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame.h @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/frame/browser_frame.h.orig 2024-02-21 00:20:37 UTC ++++ chrome/browser/ui/views/frame/browser_frame.h +@@ -65,7 +65,7 @@ class BrowserFrame : public views::Widget, public view + + ~BrowserFrame() override; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Returns whether the frame is in a tiled state. + bool tiled() const { return tiled_; } + void set_tiled(bool tiled) { tiled_ = tiled; } +@@ -225,7 +225,7 @@ class BrowserFrame : public views::Widget, public view + // contents for smoother dragging. + TabDragKind tab_drag_kind_ = TabDragKind::kNone; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool tiled_ = false; + #endif + diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc new file mode 100644 index 000000000000..27f0d6ba6915 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/browser_frame_view_layout_linux.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/frame/browser_frame_view_layout_linux.cc +@@ -54,7 +54,7 @@ gfx::Insets BrowserFrameViewLayoutLinux::RestoredFrame + OpaqueBrowserFrameViewLayout::RestoredFrameBorderInsets()); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const bool tiled = delegate_->IsTiled(); + #else + const bool tiled = false; diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc new file mode 100644 index 000000000000..09d4a3ed5725 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame__view__layout__linux__native.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.cc.orig 2024-02-21 00:20:37 UTC ++++ chrome/browser/ui/views/frame/browser_frame_view_layout_linux_native.cc +@@ -18,7 +18,7 @@ ui::WindowFrameProvider* BrowserFrameViewLayoutLinuxNa + + ui::WindowFrameProvider* BrowserFrameViewLayoutLinuxNative::GetFrameProvider() + const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const bool tiled = delegate_->IsTiled(); + #else + const bool tiled = false; diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc new file mode 100644 index 000000000000..1c92add02856 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__frame__view__linux.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/frame/browser_frame_view_linux.cc.orig 2024-04-15 20:33:49 UTC ++++ chrome/browser/ui/views/frame/browser_frame_view_linux.cc +@@ -60,7 +60,7 @@ void BrowserFrameViewLinux::PaintRestoredFrameBorder( + + void BrowserFrameViewLinux::PaintRestoredFrameBorder( + gfx::Canvas* canvas) const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const bool tiled = frame()->tiled(); + #else + const bool tiled = false; +@@ -104,7 +104,7 @@ float BrowserFrameViewLinux::GetRestoredCornerRadiusDi + } + + float BrowserFrameViewLinux::GetRestoredCornerRadiusDip() const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const bool tiled = frame()->tiled(); + #else + const bool tiled = false; diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc new file mode 100644 index 000000000000..c6c114a44b9b --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2024-04-15 20:33:49 UTC ++++ chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc +@@ -16,7 +16,7 @@ + #include "chrome/browser/ui/views/frame/browser_frame_view_win.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_native.h" +@@ -33,7 +33,7 @@ std::unique_ptr<OpaqueBrowserFrameView> CreateOpaqueBr + std::unique_ptr<OpaqueBrowserFrameView> CreateOpaqueBrowserFrameView( + BrowserFrame* frame, + BrowserView* browser_view) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto* profile = browser_view->browser()->profile(); + auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile); + auto* theme_service_factory = ThemeServiceFactory::GetForProfile(profile); diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__view.cc new file mode 100644 index 000000000000..bfb752ffd27f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_browser__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/frame/browser_view.cc +@@ -2346,7 +2346,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra + // CrOS cleanup is done. + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc new file mode 100644 index 000000000000..29f9eb11f810 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc @@ -0,0 +1,38 @@ +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc +@@ -54,7 +54,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 + +@@ -559,7 +559,7 @@ OpaqueBrowserFrameView::GetFrameButtonStyle() const { + OpaqueBrowserFrameView::GetFrameButtonStyle() const { + // TODO(crbug.com/40118868): 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; +@@ -578,7 +578,7 @@ bool OpaqueBrowserFrameView::ShouldDrawRestoredFrameSh + return false; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool OpaqueBrowserFrameView::IsTiled() const { + return frame()->tiled(); + } +@@ -777,7 +777,7 @@ void OpaqueBrowserFrameView::WindowIconPressed() { + } + + 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/devel/electron33/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h b/devel/electron33/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h new file mode 100644 index 000000000000..e8988f69f521 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/frame/opaque_browser_frame_view.h +@@ -111,7 +111,7 @@ class OpaqueBrowserFrameView : public BrowserNonClient + FrameButtonStyle GetFrameButtonStyle() const override; + void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override; + bool ShouldDrawRestoredFrameShadow() const override; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool IsTiled() const override; + #endif + int WebAppButtonHeight() const override; +@@ -228,7 +228,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/devel/electron33/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h b/devel/electron33/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h new file mode 100644 index 000000000000..02e122fc6b3b --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__layout__delegate.h @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_delegate.h +@@ -10,7 +10,7 @@ + #include "build/build_config.h" + #include "build/chromeos_buildflags.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #include "ui/base/ui_base_types.h" + #endif + +@@ -93,7 +93,7 @@ class OpaqueBrowserFrameViewLayoutDelegate { + // Returns true if a client-side shadow should be drawn for restored windows. + virtual bool ShouldDrawRestoredFrameShadow() const = 0; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Returns whether the window is in a tiled state. + virtual bool IsTiled() const = 0; + #endif diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc new file mode 100644 index 000000000000..cf9f802d9f5b --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.cc @@ -0,0 +1,92 @@ +--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc +@@ -61,7 +61,7 @@ + #include "ui/aura/window.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/themes/theme_service.h" + #include "chrome/browser/themes/theme_service_factory.h" + #include "chrome/browser/ui/views/frame/browser_frame_view_paint_utils_linux.h" +@@ -93,7 +93,7 @@ constexpr int kTopControlsHeight = 34; + // The height of the controls bar at the top of the window. + constexpr int kTopControlsHeight = 34; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Frame border when window shadow is not drawn. + constexpr int kFrameBorderThickness = 4; + #endif +@@ -188,7 +188,7 @@ class WindowEventObserver : public ui::EventObserver { + + gfx::Rect input_bounds = pip_browser_frame_view_->GetLocalBounds(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Calculate input bounds for Linux. This is needed because the input bounds + // is not necessary the same as the local bounds on Linux. + if (pip_browser_frame_view_->ShouldDrawFrameShadow()) { +@@ -591,7 +591,7 @@ PictureInPictureBrowserFrameView::PictureInPictureBrow + AddChildView(std::move(auto_pip_setting_overlay)); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto* profile = browser_view->browser()->profile(); + auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile); + auto* theme_service_factory = ThemeServiceFactory::GetForProfile(profile); +@@ -813,7 +813,7 @@ void PictureInPictureBrowserFrameView::OnThemeChanged( + for (ContentSettingImageView* view : content_setting_views_) + view->SetIconColor(color_provider->GetColor(kColorPipWindowForeground)); + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // On Linux the top bar background will be drawn in OnPaint(). + top_bar_container_view_->SetBackground(views::CreateSolidBackground( + color_provider->GetColor(kColorPipWindowTopBarBackground))); +@@ -897,7 +897,7 @@ void PictureInPictureBrowserFrameView::RemovedFromWidg + BrowserNonClientFrameView::RemovedFromWidget(); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + gfx::Insets + PictureInPictureBrowserFrameView::RestoredMirroredFrameBorderInsets() const { + auto border = FrameBorderInsets(); +@@ -1189,7 +1189,7 @@ void PictureInPictureBrowserFrameView::OnPaint(gfx::Ca + // views::View implementations: + + void PictureInPictureBrowserFrameView::OnPaint(gfx::Canvas* canvas) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Draw the PiP window frame borders and shadows, including the top bar + // background. + if (window_frame_provider_) { +@@ -1344,7 +1344,7 @@ gfx::Insets PictureInPictureBrowserFrameView::FrameBor + } + + gfx::Insets PictureInPictureBrowserFrameView::FrameBorderInsets() const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (window_frame_provider_) { + const auto insets = window_frame_provider_->GetFrameThicknessDip(); + const bool tiled = frame()->tiled(); +@@ -1362,7 +1362,7 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBo + } + + gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return FrameBorderInsets(); + #elif !BUILDFLAG(IS_CHROMEOS_ASH) + return gfx::Insets(kResizeBorder); +@@ -1383,7 +1383,7 @@ gfx::Size PictureInPictureBrowserFrameView::GetNonClie + top_height + border_thickness.bottom()); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool PictureInPictureBrowserFrameView::ShouldDrawFrameShadow() const { + return static_cast<DesktopBrowserFrameAuraLinux*>( + frame()->native_browser_frame()) diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h b/devel/electron33/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h new file mode 100644 index 000000000000..ccb9a2d6221f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_picture__in__picture__browser__frame__view.h @@ -0,0 +1,47 @@ +--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.h +@@ -27,7 +27,7 @@ + #include "ui/views/layout/flex_layout_view.h" + #include "ui/views/widget/widget_observer.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/window_frame_provider.h" + #endif + +@@ -35,7 +35,7 @@ + // parent window, so to prevent cutting off important dialogs we resize the + // picture-in-picture window to fit them. While ChromeOS Ash also uses Aura, it + // does not have this issue so we do not resize on ChromeOS Ash. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + #define RESIZE_DOCUMENT_PICTURE_IN_PICTURE_TO_DIALOG 1 + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || + // BUILDFLAG(IS_CHROMEOS_LACROS) +@@ -103,7 +103,7 @@ class PictureInPictureBrowserFrameView + void Layout(PassKey) override; + void AddedToWidget() override; + void RemovedFromWidget() override; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + gfx::Insets RestoredMirroredFrameBorderInsets() const override; + gfx::Insets GetInputInsets() const override; + SkRRect GetRestoredClipRegion() const override; +@@ -195,7 +195,7 @@ class PictureInPictureBrowserFrameView + // Returns true if there's an overlay view that's currently shown. + bool IsOverlayViewVisible() const; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Returns whether a client-side shadow should be drawn for the window. + bool ShouldDrawFrameShadow() const; + +@@ -376,7 +376,7 @@ class PictureInPictureBrowserFrameView + // `top_bar_color_animation_`. + std::optional<SkColor> current_foreground_color_; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Used to draw window frame borders and shadow on Linux when GTK theme is + // enabled. + raw_ptr<ui::WindowFrameProvider> window_frame_provider_ = nullptr; diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc new file mode 100644 index 000000000000..623edf458605 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/frame/system_menu_model_builder.cc +@@ -77,7 +77,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser + ui::SimpleMenuModel* model) { + // TODO(crbug.com/40118868): 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); +@@ -97,7 +97,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser + } + // TODO(crbug.com/40118868): 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 BUILDFLAG(IS_OZONE) && !BUILDFLAG(IS_CHROMEOS) +@@ -171,7 +171,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/devel/electron33/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc new file mode 100644 index 000000000000..04c850ee4260 --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:24 UTC ++++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc +@@ -21,7 +21,7 @@ + #include "chromeos/ui/frame/desks/move_to_desks_menu_model.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/common/pref_names.h" + #include "components/prefs/pref_service.h" + #endif +@@ -36,7 +36,7 @@ bool SystemMenuModelDelegate::IsCommandIdChecked(int c + SystemMenuModelDelegate::~SystemMenuModelDelegate() {} + + bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (command_id == IDC_USE_SYSTEM_TITLE_BAR) { + PrefService* prefs = browser_->profile()->GetPrefs(); + return !prefs->GetBoolean(prefs::kUseCustomChromeFrame); +@@ -58,7 +58,7 @@ bool SystemMenuModelDelegate::IsCommandIdVisible(int c + bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const { + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc b/devel/electron33/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc new file mode 100644 index 000000000000..f91f4c0b7db7 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_frame_tab__strip__region__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/tab_strip_region_view.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/frame/tab_strip_region_view.cc +@@ -205,7 +205,7 @@ TabStripRegionView::TabStripRegionView(std::unique_ptr + + // TODO(crbug.com/40118868): 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) + // The New Tab Button can be middle-clicked on Linux. + new_tab_button_->SetTriggerableEventFlags( + new_tab_button_->GetTriggerableEventFlags() | diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_hung__renderer__view.cc b/devel/electron33/files/patch-chrome_browser_ui_views_hung__renderer__view.cc new file mode 100644 index 000000000000..0e2eb273cb99 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_hung__renderer__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/hung_renderer_view.cc.orig 2024-10-16 21:31:02 UTC ++++ chrome/browser/ui/views/hung_renderer_view.cc +@@ -408,7 +408,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/devel/electron33/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc b/devel/electron33/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc new file mode 100644 index 000000000000..9f0fcb29cd4d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_omnibox_omnibox__view__views.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/omnibox/omnibox_view_views.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/omnibox/omnibox_view_views.cc +@@ -1992,7 +1992,7 @@ void OmniboxViewViews::OnPopupOpened() { + } + + void OmniboxViewViews::OnPopupOpened() { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // It's not great for promos to overlap the omnibox if the user opens the + // drop-down after showing the promo. This especially causes issues on Mac and + // Linux due to z-order/rendering issues, see crbug.com/1225046 and diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc b/devel/electron33/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc new file mode 100644 index 000000000000..d8e4632a97ec --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/passwords/password_bubble_view_base.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/passwords/password_bubble_view_base.cc +@@ -41,7 +41,7 @@ + #include "ui/base/metadata/metadata_impl_macros.h" + #include "ui/views/controls/button/button.h" + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/views/passwords/password_relaunch_chrome_view.h" + #endif + +@@ -156,7 +156,7 @@ PasswordBubbleViewBase* PasswordBubbleViewBase::Create + } else if (model_state == + password_manager::ui::NOTIFY_RECEIVED_SHARED_CREDENTIALS) { + view = new SharedPasswordsNotificationView(web_contents, anchor_view); +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + } else if (model_state == password_manager::ui::KEYCHAIN_ERROR_STATE) { + view = new RelaunchChromeView( + web_contents, anchor_view, diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc b/devel/electron33/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc new file mode 100644 index 000000000000..0852933fc119 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/profiles/profile_menu_view.cc +@@ -83,7 +83,7 @@ + #include "ui/strings/grit/ui_strings.h" + #include "ui/views/accessibility/view_accessibility.h" + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" + #endif + +@@ -566,7 +566,7 @@ void ProfileMenuView::BuildIdentity() { + badge_image_model, menu_title_, menu_subtitle_, management_label); + } else { + std::string profile_user_display_name, profile_user_email; +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + profile_user_display_name = profile->GetPrefs()->GetString( + enterprise_signin::prefs::kProfileUserDisplayName); + profile_user_email = profile->GetPrefs()->GetString( diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc b/devel/electron33/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc new file mode 100644 index 000000000000..8f3efcb7f61c --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc +@@ -674,7 +674,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo( + + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc b/devel/electron33/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc new file mode 100644 index 000000000000..b8f622c9b412 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/profiles/profile_picker_view.cc +@@ -88,7 +88,7 @@ + #include "chrome/browser/ui/views/profiles/first_run_flow_controller_lacros.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/shell_integration_linux.h" + #endif + +@@ -118,7 +118,7 @@ class ProfilePickerWidget : public views::Widget { + views::Widget::InitParams params( + views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET); + params.delegate = profile_picker_view_; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + params.wm_class_name = shell_integration_linux::GetProgramClassName(); + params.wm_class_class = shell_integration_linux::GetProgramClassClass(); + params.wayland_app_id = params.wm_class_class; diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc b/devel/electron33/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc new file mode 100644 index 000000000000..0aac48544352 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc @@ -0,0 +1,47 @@ +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc +@@ -57,7 +57,7 @@ const int kModalDialogWidth = 448; + + const int kModalDialogWidth = 448; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + const int kManagedUserNoticeConfirmationDialogWidth = 512; + const int kManagedUserNoticeConfirmationDialogHeight = 576; + const int kManagedUserNoticeConfirmationUpdatedDialogWidth = 780; +@@ -175,7 +175,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::CreateManagedUserNoticeConfirmationWebView( +@@ -338,7 +338,7 @@ SigninViewControllerDelegateViews::SigninViewControlle + SetButtons(static_cast<int>(ui::mojom::DialogButton::kNone)); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // On the local profile creation dialog, cancelling the dialog (for instance + // through the VKEY_ESCAPE accelerator) should delete the profile. + if (delete_profile_on_cancel) { +@@ -427,7 +427,7 @@ void SigninViewControllerDelegateViews::DisplayModal() + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + void SigninViewControllerDelegateViews::DeleteProfileOnCancel() { + ProfileAttributesEntry* entry = + g_browser_process->profile_manager() +@@ -502,7 +502,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::CreateManagedUserNoticeDelegate( diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h b/devel/electron33/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h new file mode 100644 index 000000000000..0f64343d9cb6 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2024-10-16 21:31:03 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> + CreateManagedUserNoticeConfirmationWebView( + Browser* browser, +@@ -143,7 +143,7 @@ class SigninViewControllerDelegateViews + InitializeSigninWebDialogUI initialize_signin_web_dialog_ui); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Deletes the ephemeral profile when cancelling the local profile creation + // dialog. + void DeleteProfileOnCancel(); diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab.cc b/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab.cc new file mode 100644 index 000000000000..b29d04d53ba9 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/tabs/tab.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/tabs/tab.cc +@@ -625,7 +625,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& + 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/41467565): Once Linux/CrOS widget transparency is solved, diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc new file mode 100644 index 000000000000..695f4d9e1528 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc @@ -0,0 +1,47 @@ +--- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/tabs/tab_drag_controller.cc +@@ -214,7 +214,7 @@ void UpdateSystemDnDDragImage(TabDragContext* attached + + void UpdateSystemDnDDragImage(TabDragContext* attached_context, + const gfx::ImageSkia& image) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + aura::Window* root_window = + attached_context->GetWidget()->GetNativeWindow()->GetRootWindow(); + if (aura::client::GetDragDropClient(root_window)) { +@@ -414,7 +414,7 @@ TabDragController::Liveness TabDragController::Init( + // synchronous on desktop Linux, so use that. + // - ChromeOS Ash + // Releasing capture on Ash cancels gestures so avoid it. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + ref->can_release_capture_ = false; + #endif + ref->start_point_in_screen_ = +@@ -1020,7 +1020,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon + + // TODO(crbug.com/40118868): 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. +@@ -2084,7 +2084,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 +@@ -2530,7 +2530,7 @@ TabDragController::Liveness TabDragController::GetLoca + } + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc b/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc new file mode 100644 index 000000000000..848433c7cd06 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__bubble__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc +@@ -375,7 +375,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView(Tab* ta + // not become active. Setting this to false creates the need to explicitly + // hide the hovercard on press, touch, and keyboard events. + SetCanActivate(false); +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + set_accept_events(false); + #endif + diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc b/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc new file mode 100644 index 000000000000..9c97a5f76ddb --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2024-08-14 20:54:40 UTC ++++ chrome/browser/ui/views/tabs/tab_style_views.cc +@@ -550,7 +550,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con + if (!IsHoverAnimationActive()) { + return base_opacity; + } +- return std::lerp(base_opacity, GetHoverOpacity(), GetHoverAnimationValue()); ++ return std::lerp(base_opacity, GetHoverOpacity(), static_cast<float>(GetHoverAnimationValue())); + } + + TabActive TabStyleViewsImpl::GetApparentActiveState() const { diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc b/devel/electron33/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc new file mode 100644 index 000000000000..9ef723fd9346 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/user_education/browser_user_education_service.cc +@@ -777,7 +777,7 @@ void MaybeRegisterChromeFeaturePromos( + "defaulted to saved for the first time."))); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // kIPHSupervisedUserProfileSigninFeature + registry.RegisterFeature(std::move( + FeaturePromoSpecification::CreateForCustomAction( +@@ -1003,7 +1003,7 @@ void MaybeRegisterChromeFeaturePromos( + FeaturePromoSpecification::AcceleratorInfo()) + .SetBubbleArrow(HelpBubbleArrow::kTopLeft))); + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // kIPHDesktopPWAsLinkCapturingLaunch: + registry.RegisterFeature(std::move( + FeaturePromoSpecification::CreateForCustomAction( diff --git a/devel/electron33/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc b/devel/electron33/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc new file mode 100644 index 000000000000..3e460c41642a --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc @@ -0,0 +1,83 @@ +--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc +@@ -516,7 +516,7 @@ std::string GetFileExtension(FileExtension file_extens + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + SiteConfig GetSiteConfigurationFromAppName(const std::string& app_name) { + SiteConfig config; + bool is_app_found = false; +@@ -2101,7 +2101,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc + if (app_name.empty()) { + app_name = GetSiteConfiguration(site).app_name; + } +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ASSERT_TRUE(override_registration_->test_override().IsShortcutCreated( + profile(), app_id, app_name)); + ASSERT_TRUE( +@@ -3428,7 +3428,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna + app_state->id, app_state->name); + ASSERT_TRUE(icon_color.has_value()); + ASSERT_THAT(site_config.icon_color, testing::Eq(icon_color.value())); +-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ASSERT_TRUE(override_registration_->test_override().IsRunOnOsLoginEnabled( + profile(), app_state->id, app_state->name)); + #endif +@@ -3443,7 +3443,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis + GetAppBySiteMode(after_state_change_action_state_.get(), profile(), site); + ASSERT_TRUE(app_state); + base::ScopedAllowBlockingForTesting allow_blocking; +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ASSERT_FALSE(override_registration_->test_override().IsRunOnOsLoginEnabled( + profile(), app_state->id, app_state->name)); + #endif +@@ -3453,7 +3453,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile + void WebAppIntegrationTestDriver::CheckSiteHandlesFile( + Site site, + FileExtension file_extension) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!BeforeStateCheckAction(__FUNCTION__)) { + return; + } +@@ -3469,7 +3469,7 @@ void WebAppIntegrationTestDriver::CheckSiteNotHandlesF + void WebAppIntegrationTestDriver::CheckSiteNotHandlesFile( + Site site, + FileExtension file_extension) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!BeforeStateCheckAction(__FUNCTION__)) { + return; + } +@@ -4286,7 +4286,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu + base::FilePath shortcut_dir, + const std::string& app_name, + const webapps::AppId& app_id) { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + return override_registration_->test_override().GetShortcutPath( + profile(), shortcut_dir, app_id, app_name); + #else +@@ -4486,7 +4486,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre + const webapps::AppId& id) { + base::ScopedAllowBlockingForTesting allow_blocking; + bool is_shortcut_and_icon_correct = false; +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool is_shortcut_correct = + override_registration_->test_override().IsShortcutCreated(profile, id, + name); +@@ -4530,7 +4530,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr + do_icon_colors_match = + (expected_icon_pixel_color == shortcut_pixel_color_apps_folder.value()); + } +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + SkColor expected_icon_pixel_color = + GetSiteConfigurationFromAppName(name).icon_color; + std::optional<SkColor> actual_color_install_icon_size = diff --git a/devel/electron33/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h b/devel/electron33/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h new file mode 100644 index 000000000000..25343000dcd8 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_web__applications_web__app__dialogs.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/web_applications/web_app_dialogs.h.orig 2024-06-18 21:43:25 UTC ++++ chrome/browser/ui/web_applications/web_app_dialogs.h +@@ -22,7 +22,7 @@ static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) | + #include "ui/gfx/native_widget_types.h" + + static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || +- BUILDFLAG(IS_CHROMEOS)); ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)); + + class GURL; + class Profile; diff --git a/devel/electron33/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc b/devel/electron33/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc new file mode 100644 index 000000000000..634debd2d87c --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc +@@ -573,7 +573,7 @@ void WebAppUiManagerImpl::MaybeShowIPHPromoForAppsLaun + Browser* browser, + 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) + WebAppProvider* provider = WebAppProvider::GetForWebApps(profile); + CHECK(provider); + +@@ -799,7 +799,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( + } + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void WebAppUiManagerImpl::ShowIPHPromoForAppsLaunchedViaLinkCapturing( + const Browser* browser, + const webapps::AppId& app_id, diff --git a/devel/electron33/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h b/devel/electron33/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h new file mode 100644 index 000000000000..843d06e7071d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2024-04-15 20:33:49 UTC ++++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.h +@@ -222,7 +222,7 @@ class WebAppUiManagerImpl : public BrowserListObserver + UninstallCompleteCallback uninstall_complete_callback, + webapps::UninstallResultCode uninstall_code); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void ShowIPHPromoForAppsLaunchedViaLinkCapturing(const Browser* browser, + const webapps::AppId& app_id, + bool is_activated); diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_about_about__ui.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_about_about__ui.cc new file mode 100644 index 000000000000..9cd47edc00b4 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_about_about__ui.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/webui/about/about_ui.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/about/about_ui.cc +@@ -596,7 +596,7 @@ std::string ChromeURLs(content::BrowserContext* browse + 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, +@@ -629,7 +629,7 @@ TermsUIConfig::TermsUIConfig() + : AboutUIConfigBase(chrome::kChromeUITermsHost) {} + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + LinuxProxyConfigUI::LinuxProxyConfigUI() + : AboutUIConfigBase(chrome::kChromeUILinuxProxyConfigHost) {} + #endif +@@ -681,7 +681,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/devel/electron33/files/patch-chrome_browser_ui_webui_about_about__ui.h b/devel/electron33/files/patch-chrome_browser_ui_webui_about_about__ui.h new file mode 100644 index 000000000000..e711eb99afec --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_about_about__ui.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/about/about_ui.h.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/about/about_ui.h +@@ -50,7 +50,7 @@ class TermsUIConfig : public AboutUIConfigBase { + }; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // chrome://linux-proxy-config + class LinuxProxyConfigUI : public AboutUIConfigBase { + public: diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc new file mode 100644 index 000000000000..577b41eee53c --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/app_home/app_home_page_handler.cc +@@ -62,7 +62,7 @@ + #include "ui/base/window_open_disposition_utils.h" + #include "url/gurl.h" + +-static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)); ++static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)); + + using content::WebUI; + using extensions::Extension; diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h b/devel/electron33/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h new file mode 100644 index 000000000000..aecf7be8aa4c --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/app_home/app_home_page_handler.h.orig 2024-08-14 20:54:41 UTC ++++ chrome/browser/ui/webui/app_home/app_home_page_handler.h +@@ -24,7 +24,7 @@ + #include "mojo/public/cpp/bindings/receiver.h" + #include "mojo/public/cpp/bindings/remote.h" + +-static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)); ++static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)); + + class ExtensionEnableFlow; + diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc new file mode 100644 index 000000000000..7995c1f5d703 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_certificate__manager_certificate__manager__handler.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/certificate_manager/certificate_manager_handler.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/certificate_manager/certificate_manager_handler.cc +@@ -154,7 +154,7 @@ CertificateManagerPageHandler::GetCertSource( + "distrusted_certs", + cert_verifier::mojom::CertificateTrust::kDistrusted); + break; +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + case certificate_manager_v2::mojom::CertificateSource:: + kProvisionedClientCert: + source_ptr = CreateProvisionedClientCertSource(profile_); diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc new file mode 100644 index 000000000000..7c2620711d9f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/certificate_manager/client_cert_sources.cc +@@ -43,7 +43,7 @@ + #include "net/ssl/client_cert_store_mac.h" + #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) + #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" + #include "components/enterprise/client_certificates/core/certificate_provisioning_service.h" + #include "components/enterprise/client_certificates/core/client_certificates_service.h" +@@ -191,7 +191,7 @@ std::unique_ptr<ClientCertStoreLoader> CreatePlatformC + #endif + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // ClientCertStore implementation that always returns an empty list. The + // CertificateProvisioningService implementation expects to wrap a platform + // cert store, but here we only want to get results from the provisioning +@@ -673,7 +673,7 @@ CreatePlatformClientCertSource( + #endif + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<CertificateManagerPageHandler::CertSource> + CreateProvisionedClientCertSource(Profile* profile) { + return std::make_unique<ClientCertSource>( diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h b/devel/electron33/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h new file mode 100644 index 000000000000..12174c81d9ae --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_certificate__manager_client__cert__sources.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/certificate_manager/client_cert_sources.h.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/certificate_manager/client_cert_sources.h +@@ -18,7 +18,7 @@ CreatePlatformClientCertSource( + remote_client, + Profile* profile); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<CertificateManagerPageHandler::CertSource> + CreateProvisionedClientCertSource(Profile* profile); + #endif diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc new file mode 100644 index 000000000000..6dc8e7a2f727 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc @@ -0,0 +1,33 @@ +--- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/chrome_web_ui_configs.cc +@@ -77,7 +77,7 @@ + #include "chrome/browser/ui/webui/certificate_manager/certificate_manager_ui.h" + #endif // BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI) + +-#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/ui/webui/whats_new/whats_new_ui.h" + #endif + +@@ -148,10 +148,10 @@ void RegisterChromeWebUIConfigs() { + map.AddWebUIConfig(std::make_unique<WebuiGalleryUIConfig>()); + #endif // !BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + map.AddWebUIConfig(std::make_unique<LinuxProxyConfigUI>()); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || +- // BUILDFLAG(IS_OPENBSD) ++ // BUILDFLAG(IS_BSD) + + #if BUILDFLAG(ENABLE_EXTENSIONS) + map.AddWebUIConfig(std::make_unique<extensions::ExtensionsUIConfig>()); +@@ -165,7 +165,7 @@ void RegisterChromeWebUIConfigs() { + map.AddWebUIConfig(std::make_unique<CertificateManagerUIConfig>()); + #endif // BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + map.AddWebUIConfig(std::make_unique<WhatsNewUIConfig>()); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc new file mode 100644 index 000000000000..ef709a4f204b --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc @@ -0,0 +1,106 @@ +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +@@ -176,7 +176,7 @@ + #include "chrome/browser/ui/webui/chromeos/chrome_url_disabled/chrome_url_disabled_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 + +@@ -201,22 +201,22 @@ + #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/commerce/product_specifications_ui.h" + #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 + +-#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/ui/webui/whats_new/whats_new_ui.h" + #endif + +@@ -506,7 +506,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we + if (url.host_piece() == chrome::kChromeUIMobileSetupHost) + return &NewWebUI<ash::cellular_setup::MobileSetupUI>; + #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 +@@ -558,7 +558,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) +@@ -599,26 +599,26 @@ 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) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (url.host_piece() == chrome::kChromeUIWebAppSettingsHost) + return &NewWebUI<WebAppSettingsUI>; + #endif +@@ -854,7 +854,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: + if (page_url.host_piece() == chrome::kChromeUINewTabPageHost) + return NewTabPageUI::GetFaviconResourceBytes(scale_factor); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (page_url.host_piece() == chrome::kChromeUIWhatsNewHost) + return WhatsNewUI::GetFaviconResourceBytes(scale_factor); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +@@ -882,7 +882,7 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: + return ManagementUI::GetFaviconResourceBytes(scale_factor); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (page_url.host_piece() == commerce::kChromeUICompareHost) { + return commerce::ProductSpecificationsUI::GetFaviconResourceBytes( + scale_factor); diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc new file mode 100644 index 000000000000..cd80eedcd8fb --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_connectors__internals_device__trust__utils.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc.orig 2024-06-18 21:43:25 UTC ++++ chrome/browser/ui/webui/connectors_internals/device_trust_utils.cc +@@ -7,7 +7,7 @@ + #include "build/build_config.h" + #include "components/enterprise/buildflags/buildflags.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/base64url.h" + #include "chrome/browser/browser_process.h" + #include "chrome/browser/policy/chrome_browser_policy_connector.h" +@@ -38,7 +38,7 @@ namespace { + + 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) { +@@ -173,7 +173,7 @@ connectors_internals::mojom::KeyInfoPtr GetKeyInfo() { + } // 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/devel/electron33/files/patch-chrome_browser_ui_webui_internals_user__education_user__education__internals__page__handler__impl.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_internals_user__education_user__education__internals__page__handler__impl.cc new file mode 100644 index 000000000000..05753ddad1df --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_internals_user__education_user__education__internals__page__handler__impl.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/webui/internals/user_education/user_education_internals_page_handler_impl.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/internals/user_education/user_education_internals_page_handler_impl.cc +@@ -41,7 +41,7 @@ + #include "ui/base/l10n/l10n_util.h" + #include "ui/base/webui/resource_path.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/ui/browser_navigator.h" + #include "chrome/browser/ui/browser_navigator_params.h" + #include "net/base/url_util.h" +@@ -81,7 +81,7 @@ whats_new::WhatsNewRegistry* GetWhatsNewRegistry() { + } + + whats_new::WhatsNewRegistry* GetWhatsNewRegistry() { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return g_browser_process->GetFeatures()->whats_new_registry(); + #else + return nullptr; +@@ -765,7 +765,7 @@ void UserEducationInternalsPageHandlerImpl::LaunchWhat + } + + void UserEducationInternalsPageHandlerImpl::LaunchWhatsNewStaging() { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + GURL url = net::AppendQueryParameter(GURL(chrome::kChromeUIWhatsNewURL), + "staging", "true"); + NavigateParams params(profile_, url, ui::PAGE_TRANSITION_TYPED); diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc new file mode 100644 index 000000000000..4b2ae35de384 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_interstitials_interstitial__ui.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/webui/interstitials/interstitial_ui.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/interstitials/interstitial_ui.cc +@@ -71,7 +71,7 @@ + #include "components/security_interstitials/content/captive_portal_blocking_page.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/supervised_user/supervised_user_verification_controller_client.h" + #include "chrome/browser/supervised_user/supervised_user_verification_page.h" + #endif +@@ -378,7 +378,7 @@ std::unique_ptr<EnterpriseWarnPage> CreateEnterpriseWa + kRequestUrl)); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + std::unique_ptr<SupervisedUserVerificationPage> + CreateSupervisedUserVerificationPage(content::WebContents* web_contents, + bool is_main_frame) { +@@ -594,7 +594,7 @@ void InterstitialHTMLSource::StartDataRequest( + interstitial_delegate = CreateInsecureFormPage(web_contents); + } else if (path_without_query == "/https_only") { + interstitial_delegate = CreateHttpsOnlyModePage(web_contents); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + } else if (path_without_query == "/supervised-user-verify") { + interstitial_delegate = CreateSupervisedUserVerificationPage( + web_contents, /*is_main_frame=*/true); diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui.cc new file mode 100644 index 000000000000..c972709a535d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui.cc @@ -0,0 +1,16 @@ +--- chrome/browser/ui/webui/management/management_ui.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/management/management_ui.cc +@@ -108,11 +108,11 @@ content::WebUIDataSource* CreateAndAddManagementUIHtml + IDS_MANAGEMENT_FILE_TRANSFER_VISIBLE_DATA}, + {kManagementReportFileEvents, IDS_MANAGEMENT_REPORT_FILE_EVENTS}, + #endif // BUILDFLAG(IS_CHROMEOS) +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {kManagementScreenCaptureEvent, IDS_MANAGEMENT_SCREEN_CAPTURE_EVENT}, + {kManagementScreenCaptureData, IDS_MANAGEMENT_SCREEN_CAPTURE_DATA}, + #endif // BUILDFLAG(IS_CHROMEOS) || 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) + {kManagementDeviceSignalsDisclosure, + IDS_MANAGEMENT_DEVICE_SIGNALS_DISCLOSURE}, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc new file mode 100644 index 000000000000..fbc7a7f184bf --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__constants.cc @@ -0,0 +1,17 @@ +--- chrome/browser/ui/webui/management/management_ui_constants.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/management/management_ui_constants.cc +@@ -88,12 +88,12 @@ const char kProfileReportingPolicy[] = "profileReporti + const char kProfileReportingExtension[] = "profileReportingExtension"; + const char kProfileReportingPolicy[] = "profileReportingPolicy"; + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const char kManagementScreenCaptureEvent[] = "managementScreenCaptureEvent"; + const char kManagementScreenCaptureData[] = "managementScreenCaptureData"; + #endif // BUILDFLAG(IS_CHROMEOS) || 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) + const char kManagementDeviceSignalsDisclosure[] = + "managementDeviceSignalsDisclosure"; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h b/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h new file mode 100644 index 000000000000..47f965faae09 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__constants.h @@ -0,0 +1,19 @@ +--- chrome/browser/ui/webui/management/management_ui_constants.h.orig 2024-06-18 21:43:25 UTC ++++ chrome/browser/ui/webui/management/management_ui_constants.h +@@ -8,14 +8,14 @@ + #include "build/build_config.h" + #include "build/chromeos_buildflags.h" + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Constants defining the IDs for the localized strings sent to the page as + // load time data. + extern const char kManagementScreenCaptureEvent[]; + extern const char kManagementScreenCaptureData[]; + #endif // BUILDFLAG(IS_CHROMEOS) || 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) + extern const char kManagementDeviceSignalsDisclosure[]; + #endif // #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc new file mode 100644 index 000000000000..7e7515f0cad7 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__handler.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/webui/management/management_ui_handler.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/management/management_ui_handler.cc +@@ -58,7 +58,7 @@ + #include "ui/base/l10n/l10n_util.h" + #include "ui/base/webui/web_ui_util.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/signals/user_permission_service_factory.h" + #include "components/device_signals/core/browser/user_permission_service.h" // nogncheck + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +@@ -365,7 +365,7 @@ void ManagementUIHandler::AddReportingInfo(base::Value + report_sources->Append(std::move(data)); + } + } +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Insert the device signals consent disclosure at the end of browser + // reporting section. + auto* user_permission_service = GetUserPermissionService(); +@@ -557,7 +557,7 @@ policy::PolicyService* ManagementUIHandler::GetPolicyS + ->policy_service(); + } + +-#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::UserPermissionService* + ManagementUIHandler::GetUserPermissionService() { + return enterprise_signals::UserPermissionServiceFactory::GetForProfile( diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h b/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h new file mode 100644 index 000000000000..1db15fd9d935 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_management_management__ui__handler.h @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/management/management_ui_handler.h.orig 2024-06-18 21:43:25 UTC ++++ chrome/browser/ui/webui/management/management_ui_handler.h +@@ -31,7 +31,7 @@ class PolicyService; + class PolicyService; + } // namespace policy + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + namespace device_signals { + class UserPermissionService; + } // namespace device_signals +@@ -72,7 +72,7 @@ class ManagementUIHandler : public content::WebUIMessa + base::Value::List GetManagedWebsitesInfo(Profile* profile) const; + base::Value::List GetApplicationsInfo(Profile* profile) const; + virtual policy::PolicyService* GetPolicyService(); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + virtual device_signals::UserPermissionService* GetUserPermissionService(); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc new file mode 100644 index 000000000000..edf5c4e48f59 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/password_manager/promo_cards_handler.cc.orig 2024-08-14 20:54:41 UTC ++++ chrome/browser/ui/webui/password_manager/promo_cards_handler.cc +@@ -28,7 +28,7 @@ + #include "chrome/browser/ui/webui/password_manager/promo_cards/web_password_manager_promo.h" + #endif + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.h" + #endif + +@@ -75,7 +75,7 @@ std::vector<std::unique_ptr<PasswordPromoCardBase>> Ge + .get())); + #endif + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + promo_cards.push_back( + std::make_unique<RelaunchChromePromo>(profile->GetPrefs())); + #endif diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc new file mode 100644 index 000000000000..a443f1769af2 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_password__manager_promo__cards_relaunch__chrome__promo.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.cc.orig 2024-02-21 00:20:37 UTC ++++ chrome/browser/ui/webui/password_manager/promo_cards/relaunch_chrome_promo.cc +@@ -37,7 +37,7 @@ std::u16string RelaunchChromePromo::GetTitle() const { + return l10n_util::GetStringUTF16( + #if BUILDFLAG(IS_MAC) + IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_TITLE +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_TITLE_LINUX + #endif + ); +@@ -47,7 +47,7 @@ std::u16string RelaunchChromePromo::GetDescription() c + return l10n_util::GetStringUTF16( + #if BUILDFLAG(IS_MAC) + IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_DESCRIPTION +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + IDS_PASSWORD_MANAGER_UI_RELAUNCH_CHROME_PROMO_CARD_DESCRIPTION_LINUX + #endif + ); diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc new file mode 100644 index 000000000000..8f8232e04b35 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_searchbox_searchbox__handler.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/webui/searchbox/searchbox_handler.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/searchbox/searchbox_handler.cc +@@ -108,7 +108,7 @@ const char* kWinShareIconResourceName = + #elif BUILDFLAG(IS_WIN) + const char* kWinShareIconResourceName = + "//resources/cr_components/searchbox/icons/win_share.svg"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const char* kLinuxShareIconResourceName = + "//resources/cr_components/searchbox/icons/share.svg"; + #else +@@ -168,7 +168,7 @@ static void DefineChromeRefreshRealboxIcons() { + #elif BUILDFLAG(IS_WIN) + kWinShareIconResourceName = + "//resources/cr_components/searchbox/icons/win_share_cr23.svg"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + kLinuxShareIconResourceName = + "//resources/cr_components/searchbox/icons/share_cr23.svg"; + #else +@@ -645,7 +645,7 @@ std::string SearchboxHandler::ActionVectorIconToResour + icon.name == omnibox::kShareWinChromeRefreshIcon.name) { + return kWinShareIconResourceName; + } +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (icon.name == omnibox::kShareIcon.name || + icon.name == omnibox::kShareLinuxChromeRefreshIcon.name) { + return kLinuxShareIconResourceName; diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc new file mode 100644 index 000000000000..d42d5d7a5e9d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2024-08-14 20:54:41 UTC ++++ chrome/browser/ui/webui/settings/appearance_handler.cc +@@ -34,7 +34,7 @@ void AppearanceHandler::RegisterMessages() { + "useDefaultTheme", + base::BindRepeating(&AppearanceHandler::HandleUseTheme, + base::Unretained(this), ui::SystemTheme::kDefault)); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + web_ui()->RegisterMessageCallback( + "useGtkTheme", + base::BindRepeating(&AppearanceHandler::HandleUseTheme, diff --git a/devel/electron33/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc new file mode 100644 index 000000000000..04702c6198af --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc @@ -0,0 +1,56 @@ +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +@@ -144,7 +144,7 @@ + #include "chrome/browser/ui/chrome_pages.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 + +@@ -163,7 +163,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/linux/linux_ui_factory.h" + #include "ui/ozone/public/ozone_platform.h" + #endif +@@ -287,7 +287,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou + {"focusHighlightLabel", + IDS_SETTINGS_ACCESSIBILITY_FOCUS_HIGHLIGHT_DESCRIPTION}, + #endif +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + {"overscrollHistoryNavigationTitle", + IDS_SETTINGS_OVERSCROLL_HISTORY_NAVIGATION_TITLE}, + {"overscrollHistoryNavigationSubtitle", +@@ -412,7 +412,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht + {"uiFeatureAlignLeft", IDS_SETTINGS_UI_FEATURE_ALIGN_LEFT}, + {"uiFeatureAlignRight", IDS_SETTINGS_UI_FEATURE_ALIGN_RIGHT}, + {"resetToDefault", IDS_SETTINGS_RESET_TO_DEFAULT}, +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"gtkTheme", IDS_SETTINGS_GTK_THEME}, + {"useGtkTheme", IDS_SETTINGS_USE_GTK_THEME}, + {"qtTheme", IDS_SETTINGS_QT_THEME}, +@@ -420,7 +420,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht + {"classicTheme", IDS_SETTINGS_CLASSIC_THEME}, + {"useClassicTheme", IDS_SETTINGS_USE_CLASSIC_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) +@@ -448,7 +448,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht + + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc b/devel/electron33/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc new file mode 100644 index 000000000000..5e6923c9f923 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/webui/signin/profile_picker_handler.cc +@@ -209,7 +209,7 @@ base::Value::Dict CreateProfileEntry(const ProfileAttr + + if (AccountInfo::IsManaged(entry->GetHostedDomain())) { + profile_entry.Set("avatarBadge", "cr:domain"); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + } else if (base::FeatureList::IsEnabled( + supervised_user::kShowKiteForSupervisedUsers) && + entry->IsSupervised()) { +@@ -1224,7 +1224,7 @@ void ProfilePickerHandler::MaybeUpdateGuestMode() { + } + + void ProfilePickerHandler::MaybeUpdateGuestMode() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (!base::FeatureList::IsEnabled( + supervised_user::kHideGuestModeForSupervisedUsers)) { + return; diff --git a/devel/electron33/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc b/devel/electron33/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc new file mode 100644 index 000000000000..525347f8bb86 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2024-10-16 21:31:03 UTC ++++ chrome/browser/ui/window_sizer/window_sizer.cc +@@ -209,7 +209,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/devel/electron33/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc b/devel/electron33/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc new file mode 100644 index 000000000000..898b48e54dd1 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_visited__url__ranking_visited__url__ranking__service__factory.cc @@ -0,0 +1,20 @@ +--- chrome/browser/visited_url_ranking/visited_url_ranking_service_factory.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/browser/visited_url_ranking/visited_url_ranking_service_factory.cc +@@ -44,7 +44,7 @@ + #include "components/visited_url_ranking/public/visited_url_ranking_service.h" + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/visited_url_ranking/desktop_tab_model_url_visit_data_fetcher.h" + #elif BUILDFLAG(IS_ANDROID) + #include "chrome/browser/visited_url_ranking/android_tab_model_url_visit_data_fetcher.h" +@@ -118,7 +118,7 @@ VisitedURLRankingServiceFactory::BuildServiceInstanceF + + std::map<Fetcher, std::unique_ptr<URLVisitDataFetcher>> data_fetchers; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + data_fetchers.emplace( + Fetcher::kTabModel, + std::make_unique<visited_url_ranking::DesktopTabModelURLVisitDataFetcher>( diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc b/devel/electron33/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc new file mode 100644 index 000000000000..64787aa9b33f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_commands_launch__web__app__command.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/commands/launch_web_app_command.cc.orig 2024-08-14 20:54:41 UTC ++++ chrome/browser/web_applications/commands/launch_web_app_command.cc +@@ -98,7 +98,7 @@ void LaunchWebAppCommand::StartWithLock(std::unique_pt + // OsIntegrationTestOverride can use the xdg install command to detect + // install. + SynchronizeOsOptions options; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + options.add_shortcut_to_desktop = true; + #endif + lock_->os_integration_manager().Synchronize( diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc b/devel/electron33/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc new file mode 100644 index 000000000000..3ee448ef037b --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_commands_set__user__display__mode__command.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/commands/set_user_display_mode_command.cc.orig 2024-08-14 20:54:41 UTC ++++ chrome/browser/web_applications/commands/set_user_display_mode_command.cc +@@ -57,7 +57,7 @@ void SetUserDisplayModeCommand::StartWithLock( + // OsIntegrationTestOverride can use the xdg install command to detect + // install. + SynchronizeOsOptions options; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + options.add_shortcut_to_desktop = true; + #endif + app_lock_->os_integration_manager().Synchronize( diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_extension__status__utils.h b/devel/electron33/files/patch-chrome_browser_web__applications_extension__status__utils.h new file mode 100644 index 000000000000..5f55aec01d47 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_extension__status__utils.h @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/extension_status_utils.h.orig 2024-10-16 21:31:04 UTC ++++ chrome/browser/web_applications/extension_status_utils.h +@@ -50,7 +50,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo + bool IsExternalExtensionUninstalled(content::BrowserContext* context, + const std::string& extension_id); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // If this method returns true, then |extension_id| will not be launchable. + // + // The eventual goal is that this method should return true for all hosted apps, diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc b/devel/electron33/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc new file mode 100644 index 000000000000..63403c649f3e --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:04 UTC ++++ chrome/browser/web_applications/extensions/extension_status_utils.cc +@@ -25,7 +25,7 @@ const char* g_preinstalled_app_for_testing = nullptr; + + const char* g_preinstalled_app_for_testing = nullptr; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(b/268221237): Remove this allow-list. + const char kDefaultAllowedExtensionIds[] = + "alhngdkjgnedakdlnamimgfihgkmenbh," +@@ -107,7 +107,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo + return prefs && prefs->IsExternalExtensionUninstalled(extension_id); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool IsExtensionUnsupportedDeprecatedApp(content::BrowserContext* context, + const std::string& extension_id) { + if (testing::g_enable_chrome_apps_for_testing) { diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc new file mode 100644 index 000000000000..9f321dc1c75e --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_os__integration__manager.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/os_integration/os_integration_manager.cc.orig 2024-08-14 20:54:41 UTC ++++ chrome/browser/web_applications/os_integration/os_integration_manager.cc +@@ -649,7 +649,7 @@ std::unique_ptr<ShortcutInfo> OsIntegrationManager::Bu + } + } + +-#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/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h new file mode 100644 index 000000000000..84a61383a529 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_os__integration__test__override.h @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/os_integration/os_integration_test_override.h.orig 2024-06-18 21:43:25 UTC ++++ chrome/browser/web_applications/os_integration/os_integration_test_override.h +@@ -99,7 +99,7 @@ class OsIntegrationTestOverride + virtual base::FilePath chrome_apps_folder() = 0; + virtual void EnableOrDisablePathOnLogin(const base::FilePath& file_path, + bool enable_on_login) = 0; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + virtual base::Environment* environment() = 0; + #endif + diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc new file mode 100644 index 000000000000..1e83c5d1b12c --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_run__on__os__login__sub__manager.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc.orig 2023-10-19 19:58:08 UTC ++++ chrome/browser/web_applications/os_integration/run_on_os_login_sub_manager.cc +@@ -54,7 +54,7 @@ proto::RunOnOsLoginMode ConvertWebAppRunOnOsLoginModeT + // different from other platforms, see web_app_run_on_os_login_manager.h for + // more info. + bool DoesRunOnOsLoginRequireExecution() { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled(features::kDesktopPWAsRunOnOsLogin); + #else + return false; diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc new file mode 100644 index 000000000000..6940d2a59e9d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_shortcut__sub__manager.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc.orig 2024-08-14 20:54:41 UTC ++++ chrome/browser/web_applications/os_integration/shortcut_sub_manager.cc +@@ -191,7 +191,7 @@ void ShortcutSubManager::Execute( + return; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // Protocol handler update detection. Shortcuts need to be updated in this + // case on Linux & Mac because the shortcut itself includes the protocol + // handling metadata. diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_web__app__file__handler__registration.h new file mode 100644 index 000000000000..95f3077295e6 --- /dev/null +++ b/devel/electron33/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 2023-05-25 00:41:46 UTC ++++ chrome/browser/web_applications/os_integration/web_app_file_handler_registration.h +@@ -43,7 +43,7 @@ void UnregisterFileHandlersWithOs(const AppId& app_id, + const base::FilePath& profile_path, + 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 callouts to the Linux shell are performed asynchronously. diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc new file mode 100644 index 000000000000..0c897b8818e1 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.cc @@ -0,0 +1,20 @@ +--- chrome/browser/web_applications/os_integration/web_app_shortcut.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/browser/web_applications/os_integration/web_app_shortcut.cc +@@ -71,7 +71,7 @@ const int kDesiredIconSizesForShortcut[] = {16, 32, 12 + + #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}; +@@ -251,7 +251,7 @@ std::unique_ptr<ShortcutInfo> BuildShortcutInfoWithout + + // TODO(crbug.com/40257107): Implement tests on Linux for using shortcuts_menu + // actions. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const std::vector<WebAppShortcutsMenuItemInfo>& shortcuts_menu_item_infos = + CreateShortcutsMenuItemInfos(state.shortcut_menus()); + DCHECK_LE(shortcuts_menu_item_infos.size(), kMaxApplicationDockMenuItems); diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h new file mode 100644 index 000000000000..7994b0589e4c --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_os__integration_web__app__shortcut.h @@ -0,0 +1,20 @@ +--- chrome/browser/web_applications/os_integration/web_app_shortcut.h.orig 2023-10-19 19:58:08 UTC ++++ chrome/browser/web_applications/os_integration/web_app_shortcut.h +@@ -21,7 +21,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) + +@@ -70,7 +70,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/devel/electron33/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc b/devel/electron33/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc new file mode 100644 index 000000000000..6afe15c7fc95 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_policy_web__app__policy__manager.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/policy/web_app_policy_manager.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/browser/web_applications/policy/web_app_policy_manager.cc +@@ -102,7 +102,7 @@ BASE_FEATURE(kDesktopPWAsForceUnregisterOSIntegration, + + BASE_FEATURE(kDesktopPWAsForceUnregisterOSIntegration, + "DesktopPWAsForceUnregisterOSIntegration", +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc b/devel/electron33/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc new file mode 100644 index 000000000000..431e71d2fc27 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc @@ -0,0 +1,119 @@ +--- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/browser/web_applications/test/os_integration_test_override_impl.cc +@@ -45,7 +45,7 @@ + #include "third_party/skia/include/core/SkBitmap.h" + #include "third_party/skia/include/core/SkColor.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/nix/xdg_util.h" + #endif + +@@ -130,7 +130,7 @@ std::vector<std::wstring> GetFileExtensionsForProgId( + } + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Performs a blocking read of app icons from the disk. + SkColor IconManagerReadIconTopLeftColorForSize(WebAppIconManager& icon_manager, + const webapps::AppId& app_id, +@@ -265,7 +265,7 @@ bool OsIntegrationTestOverrideImpl::SimulateDeleteShor + GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name); + CHECK(base::PathExists(app_folder_shortcut_path)); + return base::DeletePathRecursively(app_folder_shortcut_path); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FilePath desktop_shortcut_path = + GetShortcutPath(profile, desktop(), app_id, app_name); + LOG(INFO) << desktop_shortcut_path; +@@ -313,7 +313,7 @@ bool OsIntegrationTestOverrideImpl::DeleteApplicationM + } + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool OsIntegrationTestOverrideImpl::DeleteDesktopDirOnLinux() { + if (desktop_.IsValid()) { + return desktop_.Delete(); +@@ -327,7 +327,7 @@ bool OsIntegrationTestOverrideImpl::IsRunOnOsLoginEnab + Profile* profile, + const webapps::AppId& app_id, + const std::string& app_name) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string shortcut_filename = + "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop"; + return base::PathExists(startup().Append(shortcut_filename)); +@@ -383,7 +383,7 @@ bool OsIntegrationTestOverrideImpl::IsFileExtensionHan + is_file_handled = + shell_integration::CanApplicationHandleURL(app_path, test_file_url); + base::DeleteFile(test_file_path); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FilePath user_applications_dir = applications(); + bool database_update_called = false; + for (const LinuxFileRegistration& command : linux_file_registration_) { +@@ -426,7 +426,7 @@ OsIntegrationTestOverrideImpl::GetShortcutIconTopLeftC + return std::nullopt; + } + return GetIconTopLeftColorFromShortcutFile(shortcut_path); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + WebAppProvider* provider = WebAppProvider::GetForLocalAppsUnchecked(profile); + if (!provider) { + return std::nullopt; +@@ -476,7 +476,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort + app_installed_profiles.end()) { + return shortcut_path; + } +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string shortcut_filename = + "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop"; + base::FilePath shortcut_path = shortcut_dir.Append(shortcut_filename); +@@ -501,7 +501,7 @@ bool OsIntegrationTestOverrideImpl::IsShortcutCreated( + base::FilePath app_shortcut_path = + GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name); + return base::PathExists(app_shortcut_path); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FilePath desktop_shortcut_path = + GetShortcutPath(profile, desktop(), app_id, app_name); + return base::PathExists(desktop_shortcut_path); +@@ -694,7 +694,7 @@ void OsIntegrationTestOverrideImpl::EnableOrDisablePat + } + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FilePath OsIntegrationTestOverrideImpl::desktop() { + return desktop_.GetPath(); + } +@@ -745,7 +745,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri + success = chrome_apps_folder_.CreateUniqueTempDirUnderPath( + outer_temp_dir_.GetPath()); + CHECK(success); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + success = desktop_.CreateUniqueTempDirUnderPath(outer_temp_dir_.GetPath()); + CHECK(success); + success = startup_.CreateUniqueTempDirUnderPath(outer_temp_dir_.GetPath()); +@@ -758,7 +758,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri + CHECK(success); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto callback = base::BindRepeating([](base::FilePath filename_in, + std::string xdg_command, + std::string file_contents) { +@@ -830,7 +830,7 @@ OsIntegrationTestOverrideImpl::~OsIntegrationTestOverr + EXPECT_TRUE(!startup_.IsValid() || startup_.Delete()); + #elif BUILDFLAG(IS_MAC) + EXPECT_TRUE(!chrome_apps_folder_.IsValid() || DeleteChromeAppsDir()); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + EXPECT_TRUE(!desktop_.IsValid() || desktop_.Delete()); + EXPECT_TRUE(!startup_.IsValid() || startup_.Delete()); + EXPECT_TRUE(!xdg_data_home_dir_.IsValid() || xdg_data_home_dir_.Delete()); diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h b/devel/electron33/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h new file mode 100644 index 000000000000..ce7b02649424 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.h @@ -0,0 +1,38 @@ +--- chrome/browser/web_applications/test/os_integration_test_override_impl.h.orig 2024-10-16 21:31:04 UTC ++++ chrome/browser/web_applications/test/os_integration_test_override_impl.h +@@ -40,7 +40,7 @@ namespace web_app { + + namespace web_app { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + struct LinuxFileRegistration { + base::FilePath file_name; + std::string xdg_command; +@@ -122,7 +122,7 @@ class OsIntegrationTestOverrideImpl : public OsIntegra + bool DeleteApplicationMenuDirOnWin(); + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool DeleteDesktopDirOnLinux(); + #endif // BUILDFLAG(IS_LINUX) + +@@ -241,7 +241,7 @@ class OsIntegrationTestOverrideImpl : public OsIntegra + base::FilePath chrome_apps_folder() override; + void EnableOrDisablePathOnLogin(const base::FilePath& file_path, + bool enable_on_login) override; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FilePath desktop(); + base::FilePath startup(); + base::FilePath applications(); +@@ -321,7 +321,7 @@ class OsIntegrationTestOverrideImpl : public OsIntegra + 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_; + base::ScopedTempDir xdg_data_home_dir_; diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_web__app__helpers.cc b/devel/electron33/files/patch-chrome_browser_web__applications_web__app__helpers.cc new file mode 100644 index 000000000000..424d9f438021 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_web__app__helpers.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/web_app_helpers.cc.orig 2024-06-18 21:43:25 UTC ++++ chrome/browser/web_applications/web_app_helpers.cc +@@ -145,7 +145,7 @@ bool IsValidWebAppUrl(const GURL& app_url) { + return false; + + bool allow_extension_apps = true; +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Stop allowing apps to be extension urls when the shortcuts are separated - + // they can be extension urls instead. + allow_extension_apps = diff --git a/devel/electron33/files/patch-chrome_browser_web__applications_web__app__install__info.h b/devel/electron33/files/patch-chrome_browser_web__applications_web__app__install__info.h new file mode 100644 index 000000000000..9ec342e7048f --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_web__applications_web__app__install__info.h @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/web_app_install_info.h.orig 2024-10-16 21:31:04 UTC ++++ chrome/browser/web_applications/web_app_install_info.h +@@ -39,7 +39,7 @@ static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) | + #include "url/gurl.h" + + static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || +- BUILDFLAG(IS_CHROMEOS)); ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)); + + namespace web_app { + diff --git a/devel/electron33/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc b/devel/electron33/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc new file mode 100644 index 000000000000..eaeb23f739be --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_webauthn_chrome__authenticator__request__delegate.cc @@ -0,0 +1,11 @@ +--- chrome/browser/webauthn/chrome_authenticator_request_delegate.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/browser/webauthn/chrome_authenticator_request_delegate.cc +@@ -1143,7 +1143,7 @@ void ChromeAuthenticatorRequestDelegate::ConfigureDisc + g_observer->ConfiguringCable(request_type); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // No caBLEv1 on Linux. It tends to crash bluez. + if (base::Contains(pairings_from_extension, + device::CableDiscoveryData::Version::V1, diff --git a/devel/electron33/files/patch-chrome_browser_webauthn_enclave__manager.cc b/devel/electron33/files/patch-chrome_browser_webauthn_enclave__manager.cc new file mode 100644 index 000000000000..ef7c701153e3 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_webauthn_enclave__manager.cc @@ -0,0 +1,20 @@ +--- chrome/browser/webauthn/enclave_manager.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/browser/webauthn/enclave_manager.cc +@@ -693,7 +693,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer + + std::string UserVerifyingLabelToString(crypto::UserVerifyingKeyLabel label) { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + return label; + #else + return std::string("placeholder"); +@@ -703,7 +703,7 @@ std::optional<crypto::UserVerifyingKeyLabel> UserVerif + std::optional<crypto::UserVerifyingKeyLabel> UserVerifyingKeyLabelFromString( + std::string saved_label) { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + return saved_label; + #else + return std::nullopt; diff --git a/devel/electron33/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc b/devel/electron33/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc new file mode 100644 index 000000000000..35da01ef4627 --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_webauthn_gpm__user__verification__policy.cc @@ -0,0 +1,11 @@ +--- chrome/browser/webauthn/gpm_user_verification_policy.cc.orig 2024-08-14 20:54:41 UTC ++++ chrome/browser/webauthn/gpm_user_verification_policy.cc +@@ -17,7 +17,7 @@ bool GpmWillDoUserVerification(device::UserVerificatio + return platform_has_biometrics; + #elif BUILDFLAG(IS_MAC) + return platform_has_biometrics; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return false; + #else + // This default is for unit tests. diff --git a/devel/electron33/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc b/devel/electron33/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc new file mode 100644 index 000000000000..bd672523477d --- /dev/null +++ b/devel/electron33/files/patch-chrome_browser_webauthn_unexportable__key__utils.cc @@ -0,0 +1,11 @@ +--- chrome/browser/webauthn/unexportable_key_utils.cc.orig 2024-08-14 20:54:41 UTC ++++ chrome/browser/webauthn/unexportable_key_utils.cc +@@ -33,7 +33,7 @@ GetWebAuthnUnexportableKeyProvider() { + // If there is a scoped UnexportableKeyProvider configured, we always use + // that so that tests can still override the key provider. + const bool use_software_provider = +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + !crypto::internal::HasScopedUnexportableKeyProvider(); + #else + false; diff --git a/devel/electron33/files/patch-chrome_common_channel__info.h b/devel/electron33/files/patch-chrome_common_channel__info.h new file mode 100644 index 000000000000..6d723142ea56 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_channel__info.h @@ -0,0 +1,20 @@ +--- chrome/common/channel_info.h.orig 2024-06-18 21:43:25 UTC ++++ chrome/common/channel_info.h +@@ -12,7 +12,7 @@ + #include "build/build_config.h" + #include "build/chromeos_buildflags.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + namespace base { + class Environment; + } +@@ -100,7 +100,7 @@ std::string GetChannelSuffixForDataDir(); + std::string GetChannelSuffixForDataDir(); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string GetChannelSuffixForExtraFlagsEnvVarName(); + + // Returns the channel-specific filename of the desktop shortcut used to launch diff --git a/devel/electron33/files/patch-chrome_common_channel__info__posix.cc b/devel/electron33/files/patch-chrome_common_channel__info__posix.cc new file mode 100644 index 000000000000..231ab085553d --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_channel__info__posix.cc @@ -0,0 +1,20 @@ +--- chrome/common/channel_info_posix.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/common/channel_info_posix.cc +@@ -95,7 +95,7 @@ std::string GetChannelSuffixForDataDir() { + } + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string GetChannelSuffixForExtraFlagsEnvVarName() { + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + const auto channel_state = GetChannelImpl(); +@@ -123,7 +123,7 @@ std::string GetChannelSuffixForExtraFlagsEnvVarName() + + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-chrome_common_chrome__features.cc b/devel/electron33/files/patch-chrome_common_chrome__features.cc new file mode 100644 index 000000000000..5f0c6b57a9a8 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_chrome__features.cc @@ -0,0 +1,56 @@ +--- chrome/common/chrome_features.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/common/chrome_features.cc +@@ -82,7 +82,7 @@ BASE_FEATURE(kUseAdHocSigningForWebAppShims, + #endif // BUILDFLAG(IS_MAC) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Enables or disables the Autofill survey triggered by opening a prompt to + // save address info. + BASE_FEATURE(kAutofillAddressSurvey, +@@ -100,7 +100,7 @@ BASE_FEATURE(kAutofillPasswordSurvey, + 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. +@@ -267,7 +267,7 @@ BASE_FEATURE(kDesktopPWAsRunOnOsLogin, + BASE_FEATURE(kDesktopPWAsRunOnOsLogin, + "DesktopPWAsRunOnOsLogin", + #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 +@@ -299,7 +299,7 @@ BASE_FEATURE(kDesktopPWAsTabStripSettings, + "DesktopPWAsTabStripSettings", + base::FEATURE_DISABLED_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) + // 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. +@@ -871,7 +871,7 @@ BASE_FEATURE(kKAnonymityServiceStorage, + "KAnonymityServiceStorage", + base::FEATURE_ENABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kLinuxLowMemoryMonitor, + "LinuxLowMemoryMonitor", + base::FEATURE_DISABLED_BY_DEFAULT); +@@ -884,7 +884,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) + BASE_FEATURE(kListWebAppsSwitch, + "ListWebAppsSwitch", + base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/devel/electron33/files/patch-chrome_common_chrome__features.h b/devel/electron33/files/patch-chrome_common_chrome__features.h new file mode 100644 index 000000000000..97bd09614f0e --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_chrome__features.h @@ -0,0 +1,45 @@ +--- chrome/common/chrome_features.h.orig 2024-10-16 21:31:04 UTC ++++ chrome/common/chrome_features.h +@@ -60,13 +60,13 @@ BASE_DECLARE_FEATURE(kUseAdHocSigningForWebAppShims); + #endif // BUILDFLAG(IS_MAC) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillAddressSurvey); + COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillCardSurvey); + COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_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) + BASE_DECLARE_FEATURE(kBackgroundModeAllowRestart); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -179,7 +179,7 @@ BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); + COMPONENT_EXPORT(CHROME_FEATURES) + BASE_DECLARE_FEATURE(kDesktopPWAsTabStripSettings); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kChromeAppsDeprecation); + COMPONENT_EXPORT(CHROME_FEATURES) + BASE_DECLARE_FEATURE(kShortcutsNotApps); +@@ -512,7 +512,7 @@ BASE_DECLARE_FEATURE(kKAnonymityServiceStorage); + COMPONENT_EXPORT(CHROME_FEATURES) + BASE_DECLARE_FEATURE(kKAnonymityServiceStorage); + +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kLinuxLowMemoryMonitor); + COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::FeatureParam<int> kLinuxLowMemoryMonitorModerateLevel; +@@ -520,7 +520,7 @@ extern const base::FeatureParam<int> kLinuxLowMemoryMo + 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) BASE_DECLARE_FEATURE(kListWebAppsSwitch); + #endif + diff --git a/devel/electron33/files/patch-chrome_common_chrome__paths.cc b/devel/electron33/files/patch-chrome_common_chrome__paths.cc new file mode 100644 index 000000000000..118d5f81ca60 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_chrome__paths.cc @@ -0,0 +1,84 @@ +--- chrome/common/chrome_paths.cc.orig 2024-06-18 21:43:25 UTC ++++ chrome/common/chrome_paths.cc +@@ -30,7 +30,7 @@ + #include "base/apple/foundation_util.h" + #endif + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) + #include "components/policy/core/common/policy_paths.h" + #endif + +@@ -52,14 +52,14 @@ namespace { + + 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/chromium/extensions"); + #else +- FILE_PATH_LITERAL("/usr/share/chromium/extensions"); ++ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); + #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) + + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -225,7 +225,7 @@ bool PathProvider(int key, base::FilePath* result) { + } + 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; + } +@@ -541,7 +541,7 @@ bool PathProvider(int key, base::FilePath* result) { + 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: { + cur = base::FilePath(policy::kPolicyPath); + break; +@@ -552,7 +552,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; +@@ -561,7 +561,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; +@@ -599,7 +599,7 @@ bool PathProvider(int key, base::FilePath* result) { + break; + + #if BUILDFLAG(ENABLE_EXTENSIONS) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) ++ (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) +@@ -613,6 +613,9 @@ 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/chromium/native-messaging-hosts")); + #else + cur = base::FilePath( + FILE_PATH_LITERAL("/etc/chromium/native-messaging-hosts")); diff --git a/devel/electron33/files/patch-chrome_common_chrome__paths.h b/devel/electron33/files/patch-chrome_common_chrome__paths.h new file mode 100644 index 000000000000..77c60842b564 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_chrome__paths.h @@ -0,0 +1,29 @@ +--- chrome/common/chrome_paths.h.orig 2024-02-21 00:20:37 UTC ++++ chrome/common/chrome_paths.h +@@ -59,7 +59,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 +@@ -67,7 +67,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 +@@ -126,7 +126,7 @@ enum { + + #endif + #if BUILDFLAG(ENABLE_EXTENSIONS) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) ++ (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/devel/electron33/files/patch-chrome_common_chrome__paths__internal.h b/devel/electron33/files/patch-chrome_common_chrome__paths__internal.h new file mode 100644 index 000000000000..85641ebae453 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_chrome__paths__internal.h @@ -0,0 +1,11 @@ +--- chrome/common/chrome_paths_internal.h.orig 2023-05-25 00:41:46 UTC ++++ chrome/common/chrome_paths_internal.h +@@ -43,7 +43,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/devel/electron33/files/patch-chrome_common_chrome__switches.cc b/devel/electron33/files/patch-chrome_common_chrome__switches.cc new file mode 100644 index 000000000000..14b62065c81a --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_chrome__switches.cc @@ -0,0 +1,19 @@ +--- chrome/common/chrome_switches.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/common/chrome_switches.cc +@@ -886,14 +886,14 @@ const char kAllowNaClSocketAPI[] = "allow-nacl-socket- + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || 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/devel/electron33/files/patch-chrome_common_chrome__switches.h b/devel/electron33/files/patch-chrome_common_chrome__switches.h new file mode 100644 index 000000000000..f0a668859e55 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_chrome__switches.h @@ -0,0 +1,17 @@ +--- chrome/common/chrome_switches.h.orig 2024-10-16 21:31:04 UTC ++++ chrome/common/chrome_switches.h +@@ -275,12 +275,12 @@ extern const char kAllowNaClSocketAPI[]; + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || 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[]; + extern const char kProfileManagementAttributes[]; diff --git a/devel/electron33/files/patch-chrome_common_crash__keys.cc b/devel/electron33/files/patch-chrome_common_crash__keys.cc new file mode 100644 index 000000000000..8beeab83f201 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_crash__keys.cc @@ -0,0 +1,28 @@ +--- chrome/common/crash_keys.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/common/crash_keys.cc +@@ -56,7 +56,9 @@ class CrashKeyWithName { + ~CrashKeyWithName() = delete; + + std::string_view Name() const { return name_; } ++#if BUILDFLAG(USE_CRASHPAD_ANNOTATION) + std::string_view Value() const { return crash_key_.value(); } ++#endif + void Clear() { crash_key_.Clear(); } + void Set(std::string_view value) { crash_key_.Set(value); } + +@@ -201,6 +203,7 @@ void AllocateCrashKeyInBrowserAndChildren(std::string_ + GetCommandLineStringAnnotations().emplace_back(std::string(key)).Set(value); + } + ++#if BUILDFLAG(USE_CRASHPAD_ANNOTATION) + void AppendStringAnnotationsCommandLineSwitch(base::CommandLine* command_line) { + std::string string_annotations; + for (const auto& crash_key : GetCommandLineStringAnnotations()) { +@@ -212,6 +215,7 @@ void AppendStringAnnotationsCommandLineSwitch(base::Co + } + command_line->AppendSwitchASCII(kStringAnnotationsSwitch, string_annotations); + } ++#endif + + void SetCrashKeysFromCommandLine(const base::CommandLine& command_line) { + SetStringAnnotations(command_line); diff --git a/devel/electron33/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc b/devel/electron33/files/patch-chrome_common_extensions_permissions_chrome__permission__message__rules.cc new file mode 100644 index 000000000000..80a2b15f15dd --- /dev/null +++ b/devel/electron33/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-11-30 08:12:58 UTC ++++ chrome/common/extensions/permissions/chrome_permission_message_rules.cc +@@ -285,7 +285,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/devel/electron33/files/patch-chrome_common_media_cdm__host__file__path.cc b/devel/electron33/files/patch-chrome_common_media_cdm__host__file__path.cc new file mode 100644 index 000000000000..3b4f828a367e --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_media_cdm__host__file__path.cc @@ -0,0 +1,11 @@ +--- chrome/common/media/cdm_host_file_path.cc.orig 2023-02-01 18:43:13 UTC ++++ chrome/common/media/cdm_host_file_path.cc +@@ -90,7 +90,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/devel/electron33/files/patch-chrome_common_media_cdm__registration.cc b/devel/electron33/files/patch-chrome_common_media_cdm__registration.cc new file mode 100644 index 000000000000..68f7ce078535 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_media_cdm__registration.cc @@ -0,0 +1,56 @@ +--- chrome/common/media/cdm_registration.cc.orig 2024-08-14 20:54:41 UTC ++++ chrome/common/media/cdm_registration.cc +@@ -33,7 +33,7 @@ + #if BUILDFLAG(ENABLE_WIDEVINE) + #include "components/cdm/common/cdm_manifest.h" + #include "third_party/widevine/cdm/widevine_cdm_common.h" // nogncheck +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/native_library.h" + #include "chrome/common/chrome_paths.h" + #include "chrome/common/media/component_widevine_cdm_hint_file_linux.h" +@@ -86,7 +86,7 @@ void ReportLacrosUMA(LacrosBundledWidevine value) { + + #if (BUILDFLAG(BUNDLE_WIDEVINE_CDM) || \ + BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT)) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + // Create a CdmInfo for a Widevine CDM, using |version|, |cdm_library_path|, and + // |capability|. + std::unique_ptr<content::CdmInfo> CreateWidevineCdmInfo( +@@ -131,7 +131,7 @@ std::unique_ptr<content::CdmInfo> CreateCdmInfoFromWid + // BUILDFLAG(IS_CHROMEOS)) + + #if BUILDFLAG(BUNDLE_WIDEVINE_CDM) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + // On Linux/ChromeOS we have to preload the CDM since it uses the zygote + // sandbox. On Windows and Mac, CDM registration is handled by Component + // Update (as the CDM can be loaded only when needed). +@@ -185,7 +185,7 @@ std::unique_ptr<content::CdmInfo> GetAshBundledWidevin + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) + + #if (BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH))) || \ ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD))) || \ + BUILDFLAG(IS_CHROMEOS_LACROS) + // This code checks to see if Component Updater picked a version of the Widevine + // CDM to be used last time it ran. (Component Updater may choose the bundled +@@ -232,7 +232,7 @@ void AddSoftwareSecureWidevine(std::vector<content::Cd + /*supports_sub_key_systems=*/false, kWidevineCdmDisplayName, + kWidevineCdmType, base::Version(), base::FilePath()); + +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #if defined(WIDEVINE_CDM_MIN_GLIBC_VERSION) + base::Version glibc_version(gnu_get_libc_version()); + DCHECK(glibc_version.IsValid()); +@@ -493,7 +493,7 @@ void RegisterCdmInfo(std::vector<content::CdmInfo>* cd + } + + #if BUILDFLAG(ENABLE_WIDEVINE) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) + std::vector<content::CdmInfo> GetSoftwareSecureWidevine() { + std::vector<content::CdmInfo> cdms; + AddSoftwareSecureWidevine(&cdms); diff --git a/devel/electron33/files/patch-chrome_common_media_cdm__registration.h b/devel/electron33/files/patch-chrome_common_media_cdm__registration.h new file mode 100644 index 000000000000..a8430e1bf9f0 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_media_cdm__registration.h @@ -0,0 +1,11 @@ +--- chrome/common/media/cdm_registration.h.orig 2024-08-14 20:54:41 UTC ++++ chrome/common/media/cdm_registration.h +@@ -16,7 +16,7 @@ void RegisterCdmInfo(std::vector<content::CdmInfo>* cd + void RegisterCdmInfo(std::vector<content::CdmInfo>* cdms); + + #if BUILDFLAG(ENABLE_WIDEVINE) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD)) + // Returns the software secure Widevine CDM, if one exists. + std::vector<content::CdmInfo> GetSoftwareSecureWidevine(); + #endif diff --git a/devel/electron33/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h b/devel/electron33/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h new file mode 100644 index 000000000000..cb394c4c7f5d --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_media_component__widevine__cdm__hint__file__linux.h @@ -0,0 +1,11 @@ +--- chrome/common/media/component_widevine_cdm_hint_file_linux.h.orig 2024-06-18 21:43:25 UTC ++++ chrome/common/media/component_widevine_cdm_hint_file_linux.h +@@ -17,7 +17,7 @@ + + // TODO(crbug.com/40118868): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + #error "This file only applies to desktop Linux and ChromeOS." + #endif + diff --git a/devel/electron33/files/patch-chrome_common_pref__names.h b/devel/electron33/files/patch-chrome_common_pref__names.h new file mode 100644 index 000000000000..dab749e8a217 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_pref__names.h @@ -0,0 +1,91 @@ +--- chrome/common/pref_names.h.orig 2024-10-16 21:31:04 UTC ++++ chrome/common/pref_names.h +@@ -1379,7 +1379,7 @@ inline constexpr char kUseAshProxy[] = "lacros.proxy.u + + // TODO(crbug.com/40118868): 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. + inline constexpr char kSystemTheme[] = "extensions.theme.system_theme"; + #endif +@@ -1552,7 +1552,7 @@ inline constexpr char kShowUpdatePromotionInfoBar[] = + "browser.show_update_promotion_info_bar"; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || 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). + inline constexpr char kUseCustomChromeFrame[] = "browser.custom_chrome_frame"; +@@ -2159,7 +2159,7 @@ inline constexpr char kDownloadDirUpgraded[] = "downlo + inline constexpr char kDownloadDirUpgraded[] = "download.directory_upgrade"; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + inline constexpr char kOpenPdfDownloadInSystemReader[] = + "download.open_pdf_in_system_reader"; + #endif +@@ -2602,14 +2602,14 @@ inline constexpr char kMediaCdmOriginData[] = "media.c + inline constexpr char kMediaCdmOriginData[] = "media.cdm.origin_data"; + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // A boolean pref to determine whether or not the network service is running + // sandboxed. + inline constexpr char kNetworkServiceSandboxEnabled[] = + "net.network_service_sandbox"; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Records whether the user has seen an HTTP auth "negotiate" header. + inline constexpr char kReceivedHttpAuthNegotiateHeader[] = + "net.received_http_auth_negotiate_headers"; +@@ -2687,7 +2687,7 @@ inline constexpr char kBasicAuthOverHttpEnabled[] = + inline constexpr 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. + inline constexpr char kAuthNegotiateDelegateByKdcPolicy[] = +@@ -3228,7 +3228,7 @@ inline constexpr char kDeviceWeeklyScheduledSuspend[] + #endif // BUILDFLAG(IS_CHROMEOS) + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Defines administrator-set availability of Chrome for Testing. + inline constexpr char kChromeForTestingAllowed[] = "chrome_for_testing.allowed"; + #endif +@@ -3824,7 +3824,7 @@ inline constexpr char kSandboxExternalProtocolBlocked[ + inline constexpr 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. + inline constexpr char kAllowSystemNotifications[] = +@@ -4094,7 +4094,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] = + "policy.lens_desktop_ntp_search_enabled"; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // A dict mapping the edition name with the major version it was shown. + inline constexpr char kWhatsNewEditionUsed[] = "browser.whats_new.edition_used"; + // A list containing the features of each module in order of when they +@@ -4188,7 +4188,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ + "printing.oauth2_authorization_servers"; + #endif + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // If this exists and is true, Chrome may run system DNS resolution out of the + // network process. If false, Chrome will run system DNS resolution in the + // network process. If non-existent, Chrome will decide where to run system DNS diff --git a/devel/electron33/files/patch-chrome_common_url__constants.h b/devel/electron33/files/patch-chrome_common_url__constants.h new file mode 100644 index 000000000000..4e03ff6d0331 --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_url__constants.h @@ -0,0 +1,11 @@ +--- chrome/common/url_constants.h.orig 2024-10-16 21:31:04 UTC ++++ chrome/common/url_constants.h +@@ -929,7 +929,7 @@ inline constexpr char kPhoneHubPermissionLearnMoreURL[ + inline constexpr char kPhoneHubPermissionLearnMoreURL[] = + "https://support.google.com/chromebook?p=multidevice"; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // "Learn more" URL for the chrome apps deprecation dialog. + inline constexpr char kChromeAppsDeprecationLearnMoreURL[] = + "https://support.google.com/chrome?p=chrome_app_deprecation"; diff --git a/devel/electron33/files/patch-chrome_common_webui__url__constants.cc b/devel/electron33/files/patch-chrome_common_webui__url__constants.cc new file mode 100644 index 000000000000..91b65caa9c1d --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_webui__url__constants.cc @@ -0,0 +1,37 @@ +--- chrome/common/webui_url_constants.cc.orig 2024-08-14 20:54:41 UTC ++++ chrome/common/webui_url_constants.cc +@@ -197,21 +197,21 @@ base::span<const base::cstring_view> ChromeURLHosts() + kChromeUIAssistantOptInHost, + #endif + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + kChromeUIConnectorsInternalsHost, + #endif + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + kChromeUIDiscardsHost, + #endif +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + kChromeUIWebAppSettingsHost, + #endif + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) + kChromeUILinuxProxyConfigHost, + #endif + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + kChromeUISandboxHost, + #endif + #if BUILDFLAG(IS_WIN) +@@ -284,7 +284,7 @@ base::span<const base::cstring_view> ChromeDebugURLs() + 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/devel/electron33/files/patch-chrome_common_webui__url__constants.h b/devel/electron33/files/patch-chrome_common_webui__url__constants.h new file mode 100644 index 000000000000..88294f04adee --- /dev/null +++ b/devel/electron33/files/patch-chrome_common_webui__url__constants.h @@ -0,0 +1,56 @@ +--- chrome/common/webui_url_constants.h.orig 2024-10-16 21:31:04 UTC ++++ chrome/common/webui_url_constants.h +@@ -581,24 +581,24 @@ inline constexpr char kOsUIVersionURL[] = "os://versio + inline constexpr char kOsUIVersionURL[] = "os://version"; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + inline constexpr char kChromeUIWebUIJsErrorHost[] = "webuijserror"; + inline constexpr 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) + inline constexpr char kChromeUIConnectorsInternalsHost[] = + "connectors-internals"; + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + inline constexpr char kChromeUIDiscardsHost[] = "discards"; + inline constexpr char kChromeUIDiscardsURL[] = "chrome://discards/"; + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + inline constexpr char kChromeUIWebAppSettingsHost[] = "app-settings"; + inline constexpr char kChromeUIWebAppSettingsURL[] = "chrome://app-settings/"; + inline constexpr char kChromeUIWhatsNewHost[] = "whats-new"; +@@ -610,13 +610,13 @@ inline constexpr char kChromeUILinuxProxyConfigHost[] + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + inline constexpr char kChromeUISandboxHost[] = "sandbox"; + #endif + + // TODO(crbug.com/40118868): 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)) + inline constexpr char kChromeUIBrowserSwitchHost[] = "browser-switch"; + inline constexpr char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/"; +@@ -638,7 +638,7 @@ inline constexpr char kChromeUIProfilePickerUrl[] = "c + inline constexpr char kChromeUIProfilePickerUrl[] = "chrome://profile-picker/"; + #endif + +-#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ ++#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ + defined(TOOLKIT_VIEWS)) || \ + defined(USE_AURA) + inline constexpr char kChromeUITabModalConfirmDialogHost[] = diff --git a/devel/electron33/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc b/devel/electron33/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc new file mode 100644 index 000000000000..a6978ba8f5d8 --- /dev/null +++ b/devel/electron33/files/patch-chrome_enterprise__companion_enterprise__companion__client.cc @@ -0,0 +1,11 @@ +--- chrome/enterprise_companion/enterprise_companion_client.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/enterprise_companion/enterprise_companion_client.cc +@@ -36,7 +36,7 @@ constexpr char kServerName[] = MAC_BUNDLE_IDENTIFIER_S + + #if BUILDFLAG(IS_MAC) + constexpr char kServerName[] = MAC_BUNDLE_IDENTIFIER_STRING ".service"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr char kServerName[] = + "/run/" COMPANY_SHORTNAME_STRING "/" PRODUCT_FULLNAME_STRING "/service.sk"; + #elif BUILDFLAG(IS_WIN) diff --git a/devel/electron33/files/patch-chrome_enterprise__companion_lock.cc b/devel/electron33/files/patch-chrome_enterprise__companion_lock.cc new file mode 100644 index 000000000000..171c9e2c3c46 --- /dev/null +++ b/devel/electron33/files/patch-chrome_enterprise__companion_lock.cc @@ -0,0 +1,20 @@ +--- chrome/enterprise_companion/lock.cc.orig 2024-08-14 20:54:42 UTC ++++ chrome/enterprise_companion/lock.cc +@@ -17,7 +17,7 @@ namespace { + + namespace { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr char kLockName[] = "/" PRODUCT_FULLNAME_STRING ".lock"; + #elif BUILDFLAG(IS_MAC) + constexpr char kLockName[] = MAC_BUNDLE_IDENTIFIER_STRING ".lock"; +@@ -42,7 +42,7 @@ std::unique_ptr<ScopedLock> CreateScopedLock(base::Tim + namespace enterprise_companion { + + std::unique_ptr<ScopedLock> CreateScopedLock(base::TimeDelta timeout) { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return named_system_lock::ScopedLock::Create(kLockName, timeout); + #elif BUILDFLAG(IS_WIN) + CSecurityAttributes sa = diff --git a/devel/electron33/files/patch-chrome_services_printing_print__backend__service__impl.cc b/devel/electron33/files/patch-chrome_services_printing_print__backend__service__impl.cc new file mode 100644 index 000000000000..72d579539d07 --- /dev/null +++ b/devel/electron33/files/patch-chrome_services_printing_print__backend__service__impl.cc @@ -0,0 +1,47 @@ +--- chrome/services/printing/print_backend_service_impl.cc.orig 2024-08-14 20:54:42 UTC ++++ chrome/services/printing/print_backend_service_impl.cc +@@ -50,7 +50,7 @@ + #include "printing/backend/cups_connection_pool.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/no_destructor.h" + #include "ui/linux/linux_ui.h" + #include "ui/linux/linux_ui_delegate_stub.h" +@@ -77,7 +77,7 @@ namespace { + + namespace { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void InstantiateLinuxUiDelegate() { + // TODO(crbug.com/40561724) Until a real UI can be used in a utility process, + // need to use the stub version. +@@ -86,7 +86,7 @@ scoped_refptr<base::SequencedTaskRunner> GetPrintingTa + #endif + + scoped_refptr<base::SequencedTaskRunner> GetPrintingTaskRunner() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Use task runner associated with equivalent of UI thread. Needed for calls + // made through `PrintDialogLinuxInterface` to properly execute. + CHECK(base::SequencedTaskRunner::HasCurrentDefault()); +@@ -470,7 +470,7 @@ void PrintBackendServiceImpl::Init( + // `InitCommon()`. + InitializeProcessForPrinting(); + print_backend_ = PrintBackend::CreateInstance(locale); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Test framework already initializes the UI, so this should not go in + // `InitCommon()`. Additionally, low-level Linux UI is not needed when tests + // are using `TestPrintingContext`. +@@ -691,7 +691,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( + crash_keys_ = std::make_unique<crash_keys::ScopedPrinterInfo>( + *printer_name, print_backend_->GetPrinterDriverInfo(*printer_name)); + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(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/devel/electron33/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc b/devel/electron33/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc new file mode 100644 index 000000000000..20bfea5c7fe4 --- /dev/null +++ b/devel/electron33/files/patch-chrome_services_speech_audio__source__fetcher__impl.cc @@ -0,0 +1,11 @@ +--- chrome/services/speech/audio_source_fetcher_impl.cc.orig 2024-06-18 21:43:25 UTC ++++ chrome/services/speech/audio_source_fetcher_impl.cc +@@ -132,7 +132,7 @@ void AudioSourceFetcherImpl::Start( + + // TODO(crbug.com/40753481): 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/devel/electron33/files/patch-chrome_test_base_scoped__channel__override__posix.cc b/devel/electron33/files/patch-chrome_test_base_scoped__channel__override__posix.cc new file mode 100644 index 000000000000..163cb93e276a --- /dev/null +++ b/devel/electron33/files/patch-chrome_test_base_scoped__channel__override__posix.cc @@ -0,0 +1,11 @@ +--- chrome/test/base/scoped_channel_override_posix.cc.orig 2024-06-18 21:43:25 UTC ++++ chrome/test/base/scoped_channel_override_posix.cc +@@ -45,7 +45,7 @@ std::string GetVersionExtra(ScopedChannelOverride::Cha + return "beta"; + case ScopedChannelOverride::Channel::kDev: + return "unstable"; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + case ScopedChannelOverride::Channel::kCanary: + return "canary"; + #endif // BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-chrome_test_chromedriver_chrome__launcher.cc b/devel/electron33/files/patch-chrome_test_chromedriver_chrome__launcher.cc new file mode 100644 index 000000000000..4f8af7b9f114 --- /dev/null +++ b/devel/electron33/files/patch-chrome_test_chromedriver_chrome__launcher.cc @@ -0,0 +1,10 @@ +--- chrome/test/chromedriver/chrome_launcher.cc.orig 2023-11-29 21:39:54 UTC ++++ chrome/test/chromedriver/chrome_launcher.cc +@@ -73,6 +73,7 @@ + #include <fcntl.h> + #include <sys/stat.h> + #include <sys/types.h> ++#include <sys/wait.h> + #include <unistd.h> + #elif BUILDFLAG(IS_WIN) + #include <windows.h> diff --git a/devel/electron33/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc b/devel/electron33/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc new file mode 100644 index 000000000000..10e112a6408f --- /dev/null +++ b/devel/electron33/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc @@ -0,0 +1,29 @@ +--- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2023-11-29 21:39:54 UTC ++++ chrome/test/chromedriver/chrome/chrome_finder.cc +@@ -58,7 +58,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. +@@ -125,7 +125,7 @@ std::vector<base::FilePath> GetChromeProgramNames() { + chrome::kGoogleChromeForTestingBrowserProcessExecutablePath), + base::FilePath(chrome::kGoogleChromeBrowserProcessExecutablePath), + base::FilePath(chrome::kChromiumBrowserProcessExecutablePath), +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FilePath(chrome::kBrowserProcessExecutablePath), + base::FilePath("chrome"), // Chrome for Testing or Google Chrome + base::FilePath("google-chrome"), base::FilePath("chromium"), +@@ -141,7 +141,7 @@ std::vector<base::FilePath> GetHeadlessShellProgramNam + return { + #if BUILDFLAG(IS_WIN) + base::FilePath(FILE_PATH_LITERAL("chrome-headless-shell.exe")), +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FilePath("chrome-headless-shell"), + #else + // it will compile but won't work on other OSes diff --git a/devel/electron33/files/patch-chrome_test_chromedriver_key__converter__unittest.cc b/devel/electron33/files/patch-chrome_test_chromedriver_key__converter__unittest.cc new file mode 100644 index 000000000000..7d009c564a78 --- /dev/null +++ b/devel/electron33/files/patch-chrome_test_chromedriver_key__converter__unittest.cc @@ -0,0 +1,20 @@ +--- chrome/test/chromedriver/key_converter_unittest.cc.orig 2024-10-16 21:31:04 UTC ++++ chrome/test/chromedriver/key_converter_unittest.cc +@@ -251,7 +251,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 +@@ -308,7 +308,7 @@ TEST(KeyConverter, AllSpecialWebDriverKeysOnEnglishKey + 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/devel/electron33/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc b/devel/electron33/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc new file mode 100644 index 000000000000..4b8b1206329b --- /dev/null +++ b/devel/electron33/files/patch-chrome_test_chromedriver_keycode__text__conversion__unittest.cc @@ -0,0 +1,20 @@ +--- chrome/test/chromedriver/keycode_text_conversion_unittest.cc.orig 2024-06-18 21:43:25 UTC ++++ chrome/test/chromedriver/keycode_text_conversion_unittest.cc +@@ -67,7 +67,7 @@ std::string ConvertKeyCodeToTextNoError(ui::KeyboardCo + + // TODO(crbug.com/40118868): 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/40118868): 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/devel/electron33/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc b/devel/electron33/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc new file mode 100644 index 000000000000..1a54ea3ca8c0 --- /dev/null +++ b/devel/electron33/files/patch-chrome_test_supervised__user_google__auth__state__waiter__mixin.cc @@ -0,0 +1,11 @@ +--- chrome/test/supervised_user/google_auth_state_waiter_mixin.cc.orig 2024-10-16 21:31:08 UTC ++++ chrome/test/supervised_user/google_auth_state_waiter_mixin.cc +@@ -24,7 +24,7 @@ void GoogleAuthStateWaiterMixin::SetUpOnMainThread() { + GoogleAuthStateWaiterMixin::~GoogleAuthStateWaiterMixin() = default; + + void GoogleAuthStateWaiterMixin::SetUpOnMainThread() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + ChildAccountService* child_account_service = + ChildAccountServiceFactory::GetForProfile( + test_base_->browser()->profile()); diff --git a/devel/electron33/files/patch-chrome_updater_app_app__uninstall.cc b/devel/electron33/files/patch-chrome_updater_app_app__uninstall.cc new file mode 100644 index 000000000000..5b91d0f7286c --- /dev/null +++ b/devel/electron33/files/patch-chrome_updater_app_app__uninstall.cc @@ -0,0 +1,11 @@ +--- chrome/updater/app/app_uninstall.cc.orig 2024-10-16 21:31:08 UTC ++++ chrome/updater/app/app_uninstall.cc +@@ -161,7 +161,7 @@ void UninstallInThreadPool(UpdaterScope scope, + } + if (int result = UninstallOtherVersions(scope); + result != kErrorOk) { +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // TODO(crbug.com/366249606): Ignores the errors when uninstalls + // the other versions, because currently older Linux updater on + // CIPD exits with error `kErrorFailedToDeleteFolder`. diff --git a/devel/electron33/files/patch-chrome_updater_configurator.cc b/devel/electron33/files/patch-chrome_updater_configurator.cc new file mode 100644 index 000000000000..8145ff96181e --- /dev/null +++ b/devel/electron33/files/patch-chrome_updater_configurator.cc @@ -0,0 +1,11 @@ +--- chrome/updater/configurator.cc.orig 2024-10-16 21:31:08 UTC ++++ chrome/updater/configurator.cc +@@ -69,7 +69,7 @@ Configurator::Configurator(scoped_refptr<UpdaterPrefs> + return std::nullopt; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + }()) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Linux creating the NetworkFetcherFactory requires performing blocking IO + // to load an external library. This should be done when the configurator is + // created. diff --git a/devel/electron33/files/patch-chrome_updater_lock.cc b/devel/electron33/files/patch-chrome_updater_lock.cc new file mode 100644 index 000000000000..41ea85a0b7a4 --- /dev/null +++ b/devel/electron33/files/patch-chrome_updater_lock.cc @@ -0,0 +1,11 @@ +--- chrome/updater/lock.cc.orig 2024-08-14 20:54:44 UTC ++++ chrome/updater/lock.cc +@@ -26,7 +26,7 @@ std::unique_ptr<ScopedLock> CreateScopedLock(const std + std::unique_ptr<ScopedLock> CreateScopedLock(const std::string& name, + UpdaterScope scope, + base::TimeDelta timeout) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return named_system_lock::ScopedLock::Create( + base::StrCat({"/" PRODUCT_FULLNAME_STRING, name, + UpdaterScopeToString(scope), ".lock"}), diff --git a/devel/electron33/files/patch-chrome_updater_util_posix__util.cc b/devel/electron33/files/patch-chrome_updater_util_posix__util.cc new file mode 100644 index 000000000000..6cd7f05b8cb6 --- /dev/null +++ b/devel/electron33/files/patch-chrome_updater_util_posix__util.cc @@ -0,0 +1,11 @@ +--- chrome/updater/util/posix_util.cc.orig 2024-04-15 20:33:52 UTC ++++ chrome/updater/util/posix_util.cc +@@ -20,7 +20,7 @@ + #include "chrome/updater/updater_branding.h" + #include "chrome/updater/util/util.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/updater/util/linux_util.h" + #endif + diff --git a/devel/electron33/files/patch-chrome_utility_services.cc b/devel/electron33/files/patch-chrome_utility_services.cc new file mode 100644 index 000000000000..909b51ea0ecb --- /dev/null +++ b/devel/electron33/files/patch-chrome_utility_services.cc @@ -0,0 +1,29 @@ +--- chrome/utility/services.cc.orig 2024-10-16 21:31:08 UTC ++++ chrome/utility/services.cc +@@ -51,7 +51,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) + +@@ -210,7 +210,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) { +@@ -474,7 +474,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) + diff --git a/devel/electron33/files/patch-chromecast_browser_cast__browser__main__parts.cc b/devel/electron33/files/patch-chromecast_browser_cast__browser__main__parts.cc new file mode 100644 index 000000000000..562e01394acd --- /dev/null +++ b/devel/electron33/files/patch-chromecast_browser_cast__browser__main__parts.cc @@ -0,0 +1,38 @@ +--- chromecast/browser/cast_browser_main_parts.cc.orig 2024-06-18 21:43:27 UTC ++++ chromecast/browser/cast_browser_main_parts.cc +@@ -94,7 +94,7 @@ + #include "ui/ozone/public/ozone_platform.h" + #endif // BUILDFLAG(IS_OZONE) + +-#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> +@@ -267,7 +267,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()); +@@ -313,7 +313,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. +@@ -490,7 +490,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/devel/electron33/files/patch-chromecast_browser_cast__content__browser__client.cc b/devel/electron33/files/patch-chromecast_browser_cast__content__browser__client.cc new file mode 100644 index 000000000000..b41d44a8c18a --- /dev/null +++ b/devel/electron33/files/patch-chromecast_browser_cast__content__browser__client.cc @@ -0,0 +1,11 @@ +--- chromecast/browser/cast_content_browser_client.cc.orig 2024-10-16 21:31:08 UTC ++++ chromecast/browser/cast_content_browser_client.cc +@@ -429,7 +429,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/devel/electron33/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc b/devel/electron33/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc new file mode 100644 index 000000000000..c7c84646ceaf --- /dev/null +++ b/devel/electron33/files/patch-chromecast_cast__core_runtime_browser_runtime__application__service__impl.cc @@ -0,0 +1,11 @@ +--- chromecast/cast_core/runtime/browser/runtime_application_service_impl.cc.orig 2024-08-14 20:54:44 UTC ++++ chromecast/cast_core/runtime/browser/runtime_application_service_impl.cc +@@ -336,7 +336,7 @@ CastWebView::Scoped RuntimeApplicationServiceImpl::Cre + GetFlagEntry(feature::kCastCoreIsRemoteControlMode, + config_.extra_features(), /*default_value=*/false); + params->enabled_for_dev = IsEnabledForDev(); +-#if BUILDFLAG(ENABLE_CAST_RECEIVER) && BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(ENABLE_CAST_RECEIVER) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + // cast_receiver::ApplicationControlsImpl constructs an instance of + // url_rewrite::UrlRequestRewriteRulesManager. CastWebContentsImpl should NOT + // construct its own instance, or UrlRequestRulesReceiver will crash when a diff --git a/devel/electron33/files/patch-chromecast_media_base_default__monotonic__clock.cc b/devel/electron33/files/patch-chromecast_media_base_default__monotonic__clock.cc new file mode 100644 index 000000000000..effe33ff128d --- /dev/null +++ b/devel/electron33/files/patch-chromecast_media_base_default__monotonic__clock.cc @@ -0,0 +1,20 @@ +--- chromecast/media/base/default_monotonic_clock.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-components_autofill_core_browser_autofill__optimization__guide.cc b/devel/electron33/files/patch-components_autofill_core_browser_autofill__optimization__guide.cc new file mode 100644 index 000000000000..12e420e5a1e2 --- /dev/null +++ b/devel/electron33/files/patch-components_autofill_core_browser_autofill__optimization__guide.cc @@ -0,0 +1,11 @@ +--- components/autofill/core/browser/autofill_optimization_guide.cc.orig 2024-10-16 21:31:09 UTC ++++ components/autofill/core/browser/autofill_optimization_guide.cc +@@ -186,7 +186,7 @@ void AutofillOptimizationGuide::OnDidParseForm( + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (has_credit_card_field && + !personal_data_manager->payments_data_manager() + .GetServerCreditCards() diff --git a/devel/electron33/files/patch-components_autofill_core_browser_payments__data__manager.cc b/devel/electron33/files/patch-components_autofill_core_browser_payments__data__manager.cc new file mode 100644 index 000000000000..33bbe24a25dc --- /dev/null +++ b/devel/electron33/files/patch-components_autofill_core_browser_payments__data__manager.cc @@ -0,0 +1,11 @@ +--- components/autofill/core/browser/payments_data_manager.cc.orig 2024-10-16 21:31:09 UTC ++++ components/autofill/core/browser/payments_data_manager.cc +@@ -1054,7 +1054,7 @@ bool PaymentsDataManager::ShouldShowCardsFromAccountOp + // The feature is only for Linux, Windows, Mac, and Fuchsia. + // TODO(crbug.com/40118868): 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) || \ + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FUCHSIA) + // This option should only be shown for users that have not enabled the Sync + // Feature and that have server credit cards available. diff --git a/devel/electron33/files/patch-components_autofill_core_common_autofill__payments__features.cc b/devel/electron33/files/patch-components_autofill_core_common_autofill__payments__features.cc new file mode 100644 index 000000000000..fca957ad1475 --- /dev/null +++ b/devel/electron33/files/patch-components_autofill_core_common_autofill__payments__features.cc @@ -0,0 +1,20 @@ +--- components/autofill/core/common/autofill_payments_features.cc.orig 2024-10-16 21:31:09 UTC ++++ components/autofill/core/common/autofill_payments_features.cc +@@ -8,7 +8,7 @@ namespace autofill::features { + + namespace autofill::features { + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + // When enabled, Chrome will extract the checkout amount from the checkout page + // of the allowlisted merchant websites. +@@ -320,7 +320,7 @@ bool ShouldShowImprovedUserConsentForCreditCardSave() + bool ShouldShowImprovedUserConsentForCreditCardSave() { + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-components_autofill_core_common_autofill__payments__features.h b/devel/electron33/files/patch-components_autofill_core_common_autofill__payments__features.h new file mode 100644 index 000000000000..e0ea688ab04b --- /dev/null +++ b/devel/electron33/files/patch-components_autofill_core_common_autofill__payments__features.h @@ -0,0 +1,11 @@ +--- components/autofill/core/common/autofill_payments_features.h.orig 2024-08-14 20:54:46 UTC ++++ components/autofill/core/common/autofill_payments_features.h +@@ -14,7 +14,7 @@ namespace autofill::features { + + // All features in alphabetical order. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(AUTOFILL) + BASE_DECLARE_FEATURE(kAutofillEnableAmountExtractionDesktop); + #endif diff --git a/devel/electron33/files/patch-components_autofill_core_common_autofill__prefs.cc b/devel/electron33/files/patch-components_autofill_core_common_autofill__prefs.cc new file mode 100644 index 000000000000..985083c9bd50 --- /dev/null +++ b/devel/electron33/files/patch-components_autofill_core_common_autofill__prefs.cc @@ -0,0 +1,11 @@ +--- components/autofill/core/common/autofill_prefs.cc.orig 2024-10-16 21:31:09 UTC ++++ components/autofill/core/common/autofill_prefs.cc +@@ -118,7 +118,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kAutofillPredictionImprovementsEnabled, + false); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || diff --git a/devel/electron33/files/patch-components_autofill_core_common_autofill__prefs.h b/devel/electron33/files/patch-components_autofill_core_common_autofill__prefs.h new file mode 100644 index 000000000000..67d74809c3c6 --- /dev/null +++ b/devel/electron33/files/patch-components_autofill_core_common_autofill__prefs.h @@ -0,0 +1,11 @@ +--- components/autofill/core/common/autofill_prefs.h.orig 2024-10-16 21:31:09 UTC ++++ components/autofill/core/common/autofill_prefs.h +@@ -73,7 +73,7 @@ inline constexpr char kAutofillPaymentCardBenefits[] = + inline constexpr char kAutofillPaymentCardBenefits[] = + "autofill.payment_card_benefits"; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Boolean that controls improved autofill filling predictions. When enabled, + // the autofill functionality is enhanced with adopting user data to + // the form being filled in, which is triggered by the user via an extra diff --git a/devel/electron33/files/patch-components_commerce_core_commerce__feature__list.cc b/devel/electron33/files/patch-components_commerce_core_commerce__feature__list.cc new file mode 100644 index 000000000000..a9ace048b19d --- /dev/null +++ b/devel/electron33/files/patch-components_commerce_core_commerce__feature__list.cc @@ -0,0 +1,29 @@ +--- components/commerce/core/commerce_feature_list.cc.orig 2024-10-16 21:31:10 UTC ++++ components/commerce/core/commerce_feature_list.cc +@@ -168,7 +168,7 @@ BASE_FEATURE(kPriceInsights, + "PriceInsights", + base::FEATURE_DISABLED_BY_DEFAULT); + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kPriceInsightsRegionLaunched, + "PriceInsightsRegionLaunched", + base::FEATURE_ENABLED_BY_DEFAULT); +@@ -246,7 +246,7 @@ const base::FeatureParam<bool> kDiscountOnShoppyPage{ + &kEnableDiscountInfoApi, kDiscountOnShoppyPageParam, false}; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kEnableDiscountInfoApiRegionLaunched, + "EnableDiscountInfoApiRegionLaunched", + base::FEATURE_ENABLED_BY_DEFAULT); +@@ -281,7 +281,7 @@ BASE_FEATURE(kShoppingList, "ShoppingList", base::FEAT + + BASE_FEATURE(kShoppingList, "ShoppingList", base::FEATURE_DISABLED_BY_DEFAULT); + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kShoppingListRegionLaunched, + "ShoppingListRegionLaunched", + base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/devel/electron33/files/patch-components_constrained__window_constrained__window__views.cc b/devel/electron33/files/patch-components_constrained__window_constrained__window__views.cc new file mode 100644 index 000000000000..86de80f13ef2 --- /dev/null +++ b/devel/electron33/files/patch-components_constrained__window_constrained__window__views.cc @@ -0,0 +1,11 @@ +--- components/constrained_window/constrained_window_views.cc.orig 2024-10-16 21:31:10 UTC ++++ components/constrained_window/constrained_window_views.cc +@@ -372,7 +372,7 @@ bool PlatformClipsChildrenToViewport() { + } + + bool PlatformClipsChildrenToViewport() { +-#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return true; + #else + return false; diff --git a/devel/electron33/files/patch-components_content__settings_core_browser_website__settings__registry.cc b/devel/electron33/files/patch-components_content__settings_core_browser_website__settings__registry.cc new file mode 100644 index 000000000000..315e0e461243 --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:40 UTC ++++ components/content_settings/core/browser/website_settings_registry.cc +@@ -67,7 +67,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/devel/electron33/files/patch-components_cookie__config_cookie__store__util.cc b/devel/electron33/files/patch-components_cookie__config_cookie__store__util.cc new file mode 100644 index 000000000000..6cb3d6e291e0 --- /dev/null +++ b/devel/electron33/files/patch-components_cookie__config_cookie__store__util.cc @@ -0,0 +1,11 @@ +--- components/cookie_config/cookie_store_util.cc.orig 2024-02-21 00:20:40 UTC ++++ components/cookie_config/cookie_store_util.cc +@@ -12,7 +12,7 @@ namespace cookie_config { + namespace cookie_config { + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || 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/devel/electron33/files/patch-components_crash_core_app_BUILD.gn b/devel/electron33/files/patch-components_crash_core_app_BUILD.gn new file mode 100644 index 000000000000..e376c9582183 --- /dev/null +++ b/devel/electron33/files/patch-components_crash_core_app_BUILD.gn @@ -0,0 +1,43 @@ +--- components/crash/core/app/BUILD.gn.orig 2024-10-16 21:31:10 UTC ++++ components/crash/core/app/BUILD.gn +@@ -70,6 +70,10 @@ static_library("app") { + ] + } + ++ if (is_bsd) { ++ sources -= [ "crashpad.cc" ] ++ } ++ + defines = [ "CRASH_IMPLEMENTATION" ] + + public_deps = [ ":lib" ] +@@ -83,7 +87,7 @@ static_library("app") { + "//third_party/crashpad/crashpad/util", + ] + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ "crashpad_linux.cc" ] + data_deps = [ ":chrome_crashpad_handler" ] + } +@@ -103,7 +107,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", +@@ -233,11 +237,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 || is_ubsan_any)) { + ldflags = [ diff --git a/devel/electron33/files/patch-components_crash_core_app_chrome__crashpad__handler.cc b/devel/electron33/files/patch-components_crash_core_app_chrome__crashpad__handler.cc new file mode 100644 index 000000000000..a9adae723bc6 --- /dev/null +++ b/devel/electron33/files/patch-components_crash_core_app_chrome__crashpad__handler.cc @@ -0,0 +1,12 @@ +--- components/crash/core/app/chrome_crashpad_handler.cc.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-components_crash_core_app_crashpad__handler__main.cc b/devel/electron33/files/patch-components_crash_core_app_crashpad__handler__main.cc new file mode 100644 index 000000000000..219d1e41410c --- /dev/null +++ b/devel/electron33/files/patch-components_crash_core_app_crashpad__handler__main.cc @@ -0,0 +1,20 @@ +--- components/crash/core/app/crashpad_handler_main.cc.orig 2024-02-21 00:20:40 UTC ++++ components/crash/core/app/crashpad_handler_main.cc +@@ -10,7 +10,7 @@ + #include "third_party/crashpad/crashpad/handler/handler_main.h" + #include "third_party/crashpad/crashpad/handler/user_stream_data_source.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include "components/stability_report/user_stream_data_source_posix.h" + #endif + +@@ -31,7 +31,7 @@ __attribute__((visibility("default"), used)) int Crash + char* argv[]) { + crashpad::UserStreamDataSources user_stream_data_sources; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + user_stream_data_sources.push_back( + std::make_unique<stability_report::UserStreamDataSourcePosix>()); + #endif diff --git a/devel/electron33/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc b/devel/electron33/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc new file mode 100644 index 000000000000..d4a1ed1d7daf --- /dev/null +++ b/devel/electron33/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc @@ -0,0 +1,26 @@ +--- components/crash/core/browser/crash_upload_list_crashpad.cc.orig 2023-10-19 19:58:18 UTC ++++ components/crash/core/browser/crash_upload_list_crashpad.cc +@@ -38,7 +38,9 @@ CrashUploadListCrashpad::~CrashUploadListCrashpad() = + std::vector<std::unique_ptr<UploadList::UploadInfo>> + CrashUploadListCrashpad::LoadUploadList() { + std::vector<crash_reporter::Report> reports; ++#if !BUILDFLAG(IS_BSD) + crash_reporter::GetReports(&reports); ++#endif + + std::vector<std::unique_ptr<UploadInfo>> uploads; + for (const crash_reporter::Report& report : reports) { +@@ -52,9 +54,13 @@ CrashUploadListCrashpad::LoadUploadList() { + + void CrashUploadListCrashpad::ClearUploadList(const base::Time& begin, + const base::Time& end) { ++#if !BUILDFLAG(IS_BSD) + crash_reporter::ClearReportsBetween(begin, end); ++#endif + } + + void CrashUploadListCrashpad::RequestSingleUpload(const std::string& local_id) { ++#if !BUILDFLAG(IS_BSD) + crash_reporter::RequestSingleCrashUpload(local_id); ++#endif + } diff --git a/devel/electron33/files/patch-components_crash_core_common_BUILD.gn b/devel/electron33/files/patch-components_crash_core_common_BUILD.gn new file mode 100644 index 000000000000..e10540b90e26 --- /dev/null +++ b/devel/electron33/files/patch-components_crash_core_common_BUILD.gn @@ -0,0 +1,11 @@ +--- components/crash/core/common/BUILD.gn.orig 2023-05-25 00:41:50 UTC ++++ components/crash/core/common/BUILD.gn +@@ -9,7 +9,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") { diff --git a/devel/electron33/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h b/devel/electron33/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h new file mode 100644 index 000000000000..f9e075904ee8 --- /dev/null +++ b/devel/electron33/files/patch-components_device__signals_core_browser_mock__signals__aggregator.h @@ -0,0 +1,11 @@ +--- components/device_signals/core/browser/mock_signals_aggregator.h.orig 2023-08-10 01:48:40 UTC ++++ components/device_signals/core/browser/mock_signals_aggregator.h +@@ -17,7 +17,7 @@ class MockSignalsAggregator : public SignalsAggregator + MockSignalsAggregator(); + ~MockSignalsAggregator() override; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + MOCK_METHOD(void, + GetSignalsForUser, + (const UserContext&, diff --git a/devel/electron33/files/patch-components_device__signals_core_browser_signals__aggregator.h b/devel/electron33/files/patch-components_device__signals_core_browser_signals__aggregator.h new file mode 100644 index 000000000000..290cc0f1df04 --- /dev/null +++ b/devel/electron33/files/patch-components_device__signals_core_browser_signals__aggregator.h @@ -0,0 +1,11 @@ +--- components/device_signals/core/browser/signals_aggregator.h.orig 2023-08-10 01:48:40 UTC ++++ components/device_signals/core/browser/signals_aggregator.h +@@ -22,7 +22,7 @@ class SignalsAggregator : public KeyedService { + + ~SignalsAggregator() override = default; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Will asynchronously collect signals whose names are specified in the + // `request` object, and will also use a `user_context` to validate that the + // user has permissions to the device's signals. Invokes `callback` with the diff --git a/devel/electron33/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc b/devel/electron33/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc new file mode 100644 index 000000000000..093426c3376e --- /dev/null +++ b/devel/electron33/files/patch-components_device__signals_core_browser_signals__aggregator__impl.cc @@ -0,0 +1,11 @@ +--- components/device_signals/core/browser/signals_aggregator_impl.cc.orig 2023-08-10 01:48:40 UTC ++++ components/device_signals/core/browser/signals_aggregator_impl.cc +@@ -65,7 +65,7 @@ SignalsAggregatorImpl::SignalsAggregatorImpl( + + SignalsAggregatorImpl::~SignalsAggregatorImpl() = default; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void SignalsAggregatorImpl::GetSignalsForUser( + const UserContext& user_context, + const SignalsAggregationRequest& request, diff --git a/devel/electron33/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h b/devel/electron33/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h new file mode 100644 index 000000000000..52958644ed30 --- /dev/null +++ b/devel/electron33/files/patch-components_device__signals_core_browser_signals__aggregator__impl.h @@ -0,0 +1,11 @@ +--- components/device_signals/core/browser/signals_aggregator_impl.h.orig 2023-08-10 01:48:40 UTC ++++ components/device_signals/core/browser/signals_aggregator_impl.h +@@ -29,7 +29,7 @@ class SignalsAggregatorImpl : public SignalsAggregator + ~SignalsAggregatorImpl() override; + + // SignalsAggregator: +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void GetSignalsForUser(const UserContext& user_context, + const SignalsAggregationRequest& request, + GetSignalsCallback callback) override; diff --git a/devel/electron33/files/patch-components_device__signals_core_browser_user__permission__service.h b/devel/electron33/files/patch-components_device__signals_core_browser_user__permission__service.h new file mode 100644 index 000000000000..f97fd34746cc --- /dev/null +++ b/devel/electron33/files/patch-components_device__signals_core_browser_user__permission__service.h @@ -0,0 +1,11 @@ +--- components/device_signals/core/browser/user_permission_service.h.orig 2023-08-10 01:48:40 UTC ++++ components/device_signals/core/browser/user_permission_service.h +@@ -57,7 +57,7 @@ class UserPermissionService : public KeyedService { + // missing. + virtual bool ShouldCollectConsent() const = 0; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Will verify whether context-aware signals can be collected + // on behalf of the user represented by `user_context`. Returns `kGranted` if + // collection is allowed. diff --git a/devel/electron33/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc b/devel/electron33/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc new file mode 100644 index 000000000000..8c3b2d95c205 --- /dev/null +++ b/devel/electron33/files/patch-components_device__signals_core_browser_user__permission__service__impl.cc @@ -0,0 +1,11 @@ +--- components/device_signals/core/browser/user_permission_service_impl.cc.orig 2024-08-14 20:54:47 UTC ++++ components/device_signals/core/browser/user_permission_service_impl.cc +@@ -87,7 +87,7 @@ bool UserPermissionServiceImpl::ShouldCollectConsent() + consent_required_by_dependent_policy; + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + UserPermission UserPermissionServiceImpl::CanUserCollectSignals( + const UserContext& user_context) const { + // Return "unknown user" if no user ID was given. diff --git a/devel/electron33/files/patch-components_device__signals_core_browser_user__permission__service__impl.h b/devel/electron33/files/patch-components_device__signals_core_browser_user__permission__service__impl.h new file mode 100644 index 000000000000..bbc8fcb8a42c --- /dev/null +++ b/devel/electron33/files/patch-components_device__signals_core_browser_user__permission__service__impl.h @@ -0,0 +1,11 @@ +--- components/device_signals/core/browser/user_permission_service_impl.h.orig 2024-08-14 20:54:47 UTC ++++ components/device_signals/core/browser/user_permission_service_impl.h +@@ -38,7 +38,7 @@ class UserPermissionServiceImpl : public UserPermissio + + // UserPermissionService: + bool ShouldCollectConsent() const override; +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + UserPermission CanUserCollectSignals( + const UserContext& user_context) const override; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX diff --git a/devel/electron33/files/patch-components_device__signals_core_common_signals__features.cc b/devel/electron33/files/patch-components_device__signals_core_common_signals__features.cc new file mode 100644 index 000000000000..382881995b65 --- /dev/null +++ b/devel/electron33/files/patch-components_device__signals_core_common_signals__features.cc @@ -0,0 +1,11 @@ +--- components/device_signals/core/common/signals_features.cc.orig 2023-08-10 01:48:40 UTC ++++ components/device_signals/core/common/signals_features.cc +@@ -46,7 +46,7 @@ bool IsNewFunctionEnabled(NewEvFunction new_ev_functio + } + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + // Enables the triggering of device signals consent dialog when conditions met + // This feature also requires UnmanagedDeviceSignalsConsentFlowEnabled policy to + // be enabled diff --git a/devel/electron33/files/patch-components_device__signals_core_common_signals__features.h b/devel/electron33/files/patch-components_device__signals_core_common_signals__features.h new file mode 100644 index 000000000000..17c6b8eba372 --- /dev/null +++ b/devel/electron33/files/patch-components_device__signals_core_common_signals__features.h @@ -0,0 +1,11 @@ +--- components/device_signals/core/common/signals_features.h.orig 2023-08-10 01:48:40 UTC ++++ components/device_signals/core/common/signals_features.h +@@ -28,7 +28,7 @@ enum class NewEvFunction { kFileSystemInfo, kSettings, + bool IsNewFunctionEnabled(NewEvFunction new_ev_function); + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kDeviceSignalsConsentDialog); + + // Returns true if device signals consent dialog has been enabled for diff --git a/devel/electron33/files/patch-components_device__signals_core_system__signals_platform__delegate.cc b/devel/electron33/files/patch-components_device__signals_core_system__signals_platform__delegate.cc new file mode 100644 index 000000000000..c5dea15ace97 --- /dev/null +++ b/devel/electron33/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-09-24 10:57:32 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/devel/electron33/files/patch-components_device__signals_test_signals__contract.cc b/devel/electron33/files/patch-components_device__signals_test_signals__contract.cc new file mode 100644 index 000000000000..d28129cda700 --- /dev/null +++ b/devel/electron33/files/patch-components_device__signals_test_signals__contract.cc @@ -0,0 +1,11 @@ +--- components/device_signals/test/signals_contract.cc.orig 2023-10-19 19:58:18 UTC ++++ components/device_signals/test/signals_contract.cc +@@ -212,7 +212,7 @@ GetSignalsContract() { + base::BindRepeating(VerifyUnset, names::kCrowdStrike); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUIDLFLAG(IS_BSD) + contract[names::kAllowScreenLock] = + base::BindRepeating(VerifyUnset, names::kAllowScreenLock); + contract[names::kImei] = base::BindRepeating(VerifyUnset, names::kImei); diff --git a/devel/electron33/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc b/devel/electron33/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc new file mode 100644 index 000000000000..422c5721bd85 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:10 UTC ++++ components/discardable_memory/service/discardable_shared_memory_manager.cc +@@ -172,7 +172,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/devel/electron33/files/patch-components_embedder__support_user__agent__utils.cc b/devel/electron33/files/patch-components_embedder__support_user__agent__utils.cc new file mode 100644 index 000000000000..4bb338743254 --- /dev/null +++ b/devel/electron33/files/patch-components_embedder__support_user__agent__utils.cc @@ -0,0 +1,12 @@ +--- components/embedder_support/user_agent_utils.cc.orig 2024-02-21 00:20:41 UTC ++++ components/embedder_support/user_agent_utils.cc +@@ -445,6 +445,9 @@ std::string GetPlatformForUAMetadata() { + # else + return "Chromium OS"; + # endif ++#elif BUILDFLAG(IS_BSD) ++ // The internet is weird... ++ return "Linux"; + #else + return std::string(version_info::GetOSType()); + #endif diff --git a/devel/electron33/files/patch-components_embedder__support_user__agent__utils__unittest.cc b/devel/electron33/files/patch-components_embedder__support_user__agent__utils__unittest.cc new file mode 100644 index 000000000000..ab0c76ebb922 --- /dev/null +++ b/devel/electron33/files/patch-components_embedder__support_user__agent__utils__unittest.cc @@ -0,0 +1,29 @@ +--- components/embedder_support/user_agent_utils_unittest.cc.orig 2024-06-18 21:43:28 UTC ++++ components/embedder_support/user_agent_utils_unittest.cc +@@ -71,7 +71,7 @@ const char kDesktop[] = + "X11; CrOS x86_64 14541.0.0" + #elif BUILDFLAG(IS_FUCHSIA) + "Fuchsia" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + "X11; Linux x86_64" + #elif BUILDFLAG(IS_MAC) + "Macintosh; Intel Mac OS X 10_15_7" +@@ -171,7 +171,7 @@ void CheckUserAgentStringOrdering(bool mobile_device) + ASSERT_EQ("CrOS", pieces[0]); + ASSERT_EQ("x86_64", pieces[1]); + ASSERT_EQ("14541.0.0", pieces[2]); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Post-UA Reduction there is a single <unifiedPlatform> value for Linux: + // X11; Linux x86_64 + ASSERT_EQ(2u, pieces.size()); +@@ -727,7 +727,7 @@ TEST_F(UserAgentUtilsTest, UserAgentMetadata) { + #endif + #elif BUILDFLAG(IS_ANDROID) + EXPECT_EQ(metadata.platform, "Android"); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + EXPECT_EQ(metadata.platform, "Linux"); + #elif BUILDFLAG(IS_FREEBSD) + EXPECT_EQ(metadata.platform, "FreeBSD"); diff --git a/devel/electron33/files/patch-components_enterprise_watermarking_watermark.cc b/devel/electron33/files/patch-components_enterprise_watermarking_watermark.cc new file mode 100644 index 000000000000..91d817ac8869 --- /dev/null +++ b/devel/electron33/files/patch-components_enterprise_watermarking_watermark.cc @@ -0,0 +1,20 @@ +--- components/enterprise/watermarking/watermark.cc.orig 2024-10-16 21:31:10 UTC ++++ components/enterprise/watermarking/watermark.cc +@@ -34,7 +34,7 @@ gfx::Font WatermarkFont() { + "Segoe UI", + #elif BUILDFLAG(IS_MAC) + "SF Pro Text", +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + "Ubuntu", + #elif BUILDFLAG(IS_CHROMEOS) + "Google Sans", +@@ -45,7 +45,7 @@ gfx::Font::Weight WatermarkFontWeight() { + } + + gfx::Font::Weight WatermarkFontWeight() { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return gfx::Font::Weight::SEMIBOLD; + #else + return gfx::Font::Weight::MEDIUM; diff --git a/devel/electron33/files/patch-components_eye__dropper_eye__dropper__view.cc b/devel/electron33/files/patch-components_eye__dropper_eye__dropper__view.cc new file mode 100644 index 000000000000..ccafb751e10b --- /dev/null +++ b/devel/electron33/files/patch-components_eye__dropper_eye__dropper__view.cc @@ -0,0 +1,11 @@ +--- components/eye_dropper/eye_dropper_view.cc.orig 2024-10-16 21:31:10 UTC ++++ components/eye_dropper/eye_dropper_view.cc +@@ -203,7 +203,7 @@ EyeDropperView::EyeDropperView(gfx::NativeView parent, + // 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( diff --git a/devel/electron33/files/patch-components_feature__engagement_public_event__constants.cc b/devel/electron33/files/patch-components_feature__engagement_public_event__constants.cc new file mode 100644 index 000000000000..e2eaf62b7d02 --- /dev/null +++ b/devel/electron33/files/patch-components_feature__engagement_public_event__constants.cc @@ -0,0 +1,11 @@ +--- components/feature_engagement/public/event_constants.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-components_feature__engagement_public_event__constants.h b/devel/electron33/files/patch-components_feature__engagement_public_event__constants.h new file mode 100644 index 000000000000..2308fc5d4293 --- /dev/null +++ b/devel/electron33/files/patch-components_feature__engagement_public_event__constants.h @@ -0,0 +1,11 @@ +--- components/feature_engagement/public/event_constants.h.orig 2023-10-19 19:58:18 UTC ++++ components/feature_engagement/public/event_constants.h +@@ -14,7 +14,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/devel/electron33/files/patch-components_feature__engagement_public_feature__configurations.cc b/devel/electron33/files/patch-components_feature__engagement_public_feature__configurations.cc new file mode 100644 index 000000000000..624259994306 --- /dev/null +++ b/devel/electron33/files/patch-components_feature__engagement_public_feature__configurations.cc @@ -0,0 +1,30 @@ +--- components/feature_engagement/public/feature_configurations.cc.orig 2024-10-16 21:31:10 UTC ++++ components/feature_engagement/public/feature_configurations.cc +@@ -95,7 +95,7 @@ std::optional<FeatureConfig> GetClientSideFeatureConfi + + std::optional<FeatureConfig> GetClientSideFeatureConfig( + const base::Feature* feature) { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + + // The IPH bubble for link capturing has a trigger set to ANY so that it + // always shows up. The per app specific guardrails are independently stored +@@ -114,7 +114,7 @@ std::optional<FeatureConfig> GetClientSideFeatureConfi + + #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (kIPHPasswordsManagementBubbleAfterSaveFeature.name == feature->name) { + std::optional<FeatureConfig> config = FeatureConfig(); + config->valid = true; +@@ -1641,7 +1641,8 @@ std::optional<FeatureConfig> GetClientSideFeatureConfi + #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 (kIPHAutofillCreditCardBenefitFeature.name == feature->name) { + // Credit card benefit IPH is shown: diff --git a/devel/electron33/files/patch-components_feature__engagement_public_feature__constants.cc b/devel/electron33/files/patch-components_feature__engagement_public_feature__constants.cc new file mode 100644 index 000000000000..48d2150ad252 --- /dev/null +++ b/devel/electron33/files/patch-components_feature__engagement_public_feature__constants.cc @@ -0,0 +1,30 @@ +--- components/feature_engagement/public/feature_constants.cc.orig 2024-10-16 21:31:10 UTC ++++ components/feature_engagement/public/feature_constants.cc +@@ -18,7 +18,7 @@ BASE_FEATURE(kIPHDummyFeature, "IPH_Dummy", base::FEAT + 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) + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + BASE_FEATURE(kEsbDownloadRowPromoFeature, + "EsbDownloadRowPromo", +@@ -639,7 +639,8 @@ BASE_FEATURE(kDefaultBrowserTriggerCriteriaExperiment, + #endif // BUILDFLAG(IS_IOS) + + #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) + BASE_FEATURE(kIPHAutofillCreditCardBenefitFeature, + "IPH_AutofillCreditCardBenefit", + base::FEATURE_DISABLED_BY_DEFAULT); +@@ -776,7 +777,7 @@ BASE_FEATURE(kIPHScalableIphGamingFeature, + base::FEATURE_DISABLED_BY_DEFAULT); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // This can be enabled by default, as the DesktopPWAsLinkCapturing + // flag is needed for the IPH linked to this feature to work, and + // use-cases to show the IPH are guarded by that flag. diff --git a/devel/electron33/files/patch-components_feature__engagement_public_feature__constants.h b/devel/electron33/files/patch-components_feature__engagement_public_feature__constants.h new file mode 100644 index 000000000000..8aad3d7d92b5 --- /dev/null +++ b/devel/electron33/files/patch-components_feature__engagement_public_feature__constants.h @@ -0,0 +1,30 @@ +--- components/feature_engagement/public/feature_constants.h.orig 2024-10-16 21:31:10 UTC ++++ components/feature_engagement/public/feature_constants.h +@@ -20,7 +20,7 @@ BASE_DECLARE_FEATURE(kIPHDummyFeature); + BASE_DECLARE_FEATURE(kIPHDummyFeature); + + #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) + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + BASE_DECLARE_FEATURE(kEsbDownloadRowPromoFeature); + #endif +@@ -258,7 +258,8 @@ BASE_DECLARE_FEATURE(kDefaultBrowserTriggerCriteriaExp + #endif // BUILDFLAG(IS_IOS) + + #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) + BASE_DECLARE_FEATURE(kIPHAutofillCreditCardBenefitFeature); + BASE_DECLARE_FEATURE(kIPHAutofillDisabledVirtualCardSuggestionFeature); + BASE_DECLARE_FEATURE(kIPHAutofillExternalAccountProfileSuggestionFeature); +@@ -309,7 +310,7 @@ BASE_DECLARE_FEATURE(kIPHScalableIphGamingFeature); + BASE_DECLARE_FEATURE(kIPHScalableIphGamingFeature); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunch); + BASE_DECLARE_FEATURE(kIPHToolbarManagementButtonFeature); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-components_feature__engagement_public_feature__list.cc b/devel/electron33/files/patch-components_feature__engagement_public_feature__list.cc new file mode 100644 index 000000000000..d161c54dd3f7 --- /dev/null +++ b/devel/electron33/files/patch-components_feature__engagement_public_feature__list.cc @@ -0,0 +1,30 @@ +--- components/feature_engagement/public/feature_list.cc.orig 2024-10-16 21:31:10 UTC ++++ components/feature_engagement/public/feature_list.cc +@@ -165,7 +165,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHiOSLensOverlayEntrypointTipFeature, + #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) + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + &kEsbDownloadRowPromoFeature, + #endif +@@ -230,7 +230,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) + &kIPHAutofillCreditCardBenefitFeature, + &kIPHAutofillDisabledVirtualCardSuggestionFeature, + &kIPHAutofillExternalAccountProfileSuggestionFeature, +@@ -281,7 +282,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHScalableIphGamingFeature, + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + &kIPHDesktopPWAsLinkCapturingLaunch, + &kIPHToolbarManagementButtonFeature, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-components_feature__engagement_public_feature__list.h b/devel/electron33/files/patch-components_feature__engagement_public_feature__list.h new file mode 100644 index 000000000000..8ce3c89895c5 --- /dev/null +++ b/devel/electron33/files/patch-components_feature__engagement_public_feature__list.h @@ -0,0 +1,58 @@ +--- components/feature_engagement/public/feature_list.h.orig 2024-10-16 21:31:10 UTC ++++ components/feature_engagement/public/feature_list.h +@@ -288,7 +288,7 @@ DEFINE_VARIATION_PARAM(kIPHHomeCustomizationMenuFeatur + #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) + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + DEFINE_VARIATION_PARAM(kEsbDownloadRowPromoFeature, "EsbDownloadRowPromo"); + #endif +@@ -389,7 +389,8 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSaveV2CloseGroupFe + // 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(kIPHAutofillCreditCardBenefitFeature, + "IPH_AutofillCreditCardBenefit"); + +@@ -481,7 +482,7 @@ DEFINE_VARIATION_PARAM(kIPHScalableIphGamingFeature, " + DEFINE_VARIATION_PARAM(kIPHScalableIphGamingFeature, "IPH_ScalableIphGaming"); + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunch, + "IPH_DesktopPWAsLinkCapturingLaunch"); + DEFINE_VARIATION_PARAM(kIPHToolbarManagementButtonFeature, +@@ -646,7 +647,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation + VARIATION_ENTRY(kIPHHomeCustomizationMenuFeature), + VARIATION_ENTRY(kIPHiOSLensOverlayEntrypointTipFeature), + #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(kIPHBatterySaverModeFeature), + VARIATION_ENTRY(kIPHCompanionSidePanelFeature), + VARIATION_ENTRY(kIPHCompanionSidePanelRegionSearchFeature), +@@ -701,7 +702,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(kIPHAutofillCreditCardBenefitFeature), + VARIATION_ENTRY(kIPHAutofillDisabledVirtualCardSuggestionFeature), + VARIATION_ENTRY(kIPHAutofillExternalAccountProfileSuggestionFeature), +@@ -753,7 +755,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation + VARIATION_ENTRY(kIPHScalableIphGamingFeature), + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunch), + VARIATION_ENTRY(kIPHToolbarManagementButtonFeature), + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-components_feed_core_proto_v2_wire_version.proto b/devel/electron33/files/patch-components_feed_core_proto_v2_wire_version.proto new file mode 100644 index 000000000000..96224d006191 --- /dev/null +++ b/devel/electron33/files/patch-components_feed_core_proto_v2_wire_version.proto @@ -0,0 +1,13 @@ +--- components/feed/core/proto/v2/wire/version.proto.orig 2021-05-12 22:05:49 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/devel/electron33/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc b/devel/electron33/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc new file mode 100644 index 000000000000..33d2e6c0062e --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:10 UTC ++++ components/feed/core/v2/feed_network_impl_unittest.cc +@@ -747,8 +747,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/devel/electron33/files/patch-components_feed_core_v2_proto__util.cc b/devel/electron33/files/patch-components_feed_core_v2_proto__util.cc new file mode 100644 index 000000000000..feec3240231a --- /dev/null +++ b/devel/electron33/files/patch-components_feed_core_v2_proto__util.cc @@ -0,0 +1,24 @@ +--- components/feed/core/v2/proto_util.cc.orig 2023-08-10 01:48:40 UTC ++++ components/feed/core/v2/proto_util.cc +@@ -93,8 +93,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()); +@@ -109,8 +109,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/devel/electron33/files/patch-components_feed_core_v2_proto__util__unittest.cc b/devel/electron33/files/patch-components_feed_core_v2_proto__util__unittest.cc new file mode 100644 index 000000000000..260285428333 --- /dev/null +++ b/devel/electron33/files/patch-components_feed_core_v2_proto__util__unittest.cc @@ -0,0 +1,13 @@ +--- components/feed/core/v2/proto_util_unittest.cc.orig 2024-08-14 20:54:47 UTC ++++ components/feed/core/v2/proto_util_unittest.cc +@@ -43,8 +43,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()); + diff --git a/devel/electron33/files/patch-components_feed_core_v2_test_proto__printer.cc b/devel/electron33/files/patch-components_feed_core_v2_test_proto__printer.cc new file mode 100644 index 000000000000..693a8da91003 --- /dev/null +++ b/devel/electron33/files/patch-components_feed_core_v2_test_proto__printer.cc @@ -0,0 +1,13 @@ +--- components/feed/core/v2/test/proto_printer.cc.orig 2023-08-10 01:48:40 UTC ++++ components/feed/core/v2/test/proto_printer.cc +@@ -158,8 +158,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/devel/electron33/files/patch-components_flags__ui_flags__state.cc b/devel/electron33/files/patch-components_flags__ui_flags__state.cc new file mode 100644 index 000000000000..a2e2416d2b1e --- /dev/null +++ b/devel/electron33/files/patch-components_flags__ui_flags__state.cc @@ -0,0 +1,11 @@ +--- components/flags_ui/flags_state.cc.orig 2024-10-16 21:31:10 UTC ++++ components/flags_ui/flags_state.cc +@@ -755,7 +755,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/devel/electron33/files/patch-components_gwp__asan_BUILD.gn b/devel/electron33/files/patch-components_gwp__asan_BUILD.gn new file mode 100644 index 000000000000..416067b4053b --- /dev/null +++ b/devel/electron33/files/patch-components_gwp__asan_BUILD.gn @@ -0,0 +1,11 @@ +--- components/gwp_asan/BUILD.gn.orig 2022-11-30 08:12:58 UTC ++++ components/gwp_asan/BUILD.gn +@@ -15,7 +15,7 @@ test("gwp_asan_unittests") { + "//testing/gtest", + "//third_party/boringssl", + ] +- 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/devel/electron33/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc b/devel/electron33/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc new file mode 100644 index 000000000000..357eb0881122 --- /dev/null +++ b/devel/electron33/files/patch-components_gwp__asan_client_guarded__page__allocator__posix.cc @@ -0,0 +1,13 @@ +--- components/gwp_asan/client/guarded_page_allocator_posix.cc.orig 2023-10-19 19:58:18 UTC ++++ components/gwp_asan/client/guarded_page_allocator_posix.cc +@@ -35,8 +35,9 @@ void GuardedPageAllocator::MarkPageInaccessible(void* + // mmap() a PROT_NONE page over the address to release it to the system, if + // we used mprotect() here the system would count pages in the quarantine + // against the RSS. ++ // MAP_ANONYMOUS requires the fd to be -1 on !linux + void* err = mmap(ptr, state_.page_size, PROT_NONE, +- MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, 0, 0); ++ MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + PCHECK(err == ptr) << "mmap"; + } + diff --git a/devel/electron33/files/patch-components_gwp__asan_client_gwp__asan.cc b/devel/electron33/files/patch-components_gwp__asan_client_gwp__asan.cc new file mode 100644 index 000000000000..98f6650782c8 --- /dev/null +++ b/devel/electron33/files/patch-components_gwp__asan_client_gwp__asan.cc @@ -0,0 +1,11 @@ +--- components/gwp_asan/client/gwp_asan.cc.orig 2024-06-18 21:43:29 UTC ++++ components/gwp_asan/client/gwp_asan.cc +@@ -75,7 +75,7 @@ namespace { + // ProcessSamplingBoost is the multiplier to increase the + // ProcessSamplingProbability in scenarios where we want to perform additional + // testing (e.g., on canary/dev builds). +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + constexpr int kDefaultMaxAllocations = 50; + constexpr int kDefaultMaxMetadata = 210; + constexpr int kDefaultTotalPages = kCpuIs64Bit ? 2048 : kDefaultMaxMetadata * 2; diff --git a/devel/electron33/files/patch-components_gwp__asan_client_gwp__asan__features.cc b/devel/electron33/files/patch-components_gwp__asan_client_gwp__asan__features.cc new file mode 100644 index 000000000000..daf97426f192 --- /dev/null +++ b/devel/electron33/files/patch-components_gwp__asan_client_gwp__asan__features.cc @@ -0,0 +1,11 @@ +--- components/gwp_asan/client/gwp_asan_features.cc.orig 2024-02-21 00:20:41 UTC ++++ components/gwp_asan/client/gwp_asan_features.cc +@@ -9,7 +9,7 @@ namespace gwp_asan::internal { + namespace gwp_asan::internal { + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || \ ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS)) + constexpr base::FeatureState kDefaultEnabled = base::FEATURE_ENABLED_BY_DEFAULT; + #else diff --git a/devel/electron33/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc b/devel/electron33/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc new file mode 100644 index 000000000000..b3886cb029c7 --- /dev/null +++ b/devel/electron33/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc @@ -0,0 +1,20 @@ +--- components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2024-10-16 21:31:10 UTC ++++ components/gwp_asan/crash_handler/crash_analyzer.cc +@@ -35,7 +35,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> +@@ -95,7 +95,7 @@ crashpad::VMAddress CrashAnalyzer::GetAccessAddress( + + 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/devel/electron33/files/patch-components_live__caption_caption__util.cc b/devel/electron33/files/patch-components_live__caption_caption__util.cc new file mode 100644 index 000000000000..8afbe9c15932 --- /dev/null +++ b/devel/electron33/files/patch-components_live__caption_caption__util.cc @@ -0,0 +1,11 @@ +--- components/live_caption/caption_util.cc.orig 2024-10-16 21:31:11 UTC ++++ components/live_caption/caption_util.cc +@@ -139,7 +139,7 @@ std::string GetCaptionSettingsUrl() { + return "chrome://os-settings/audioAndCaptions"; + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return "chrome://settings/captions"; + #endif // BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-components_live__caption_caption__util.h b/devel/electron33/files/patch-components_live__caption_caption__util.h new file mode 100644 index 000000000000..9edcdaf8c824 --- /dev/null +++ b/devel/electron33/files/patch-components_live__caption_caption__util.h @@ -0,0 +1,11 @@ +--- components/live_caption/caption_util.h.orig 2024-04-15 20:33:54 UTC ++++ components/live_caption/caption_util.h +@@ -15,7 +15,7 @@ namespace captions { + namespace captions { + + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + extern const char kCaptionSettingsUrl[]; + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || + // BUILDFLAG(IS_MAC) diff --git a/devel/electron33/files/patch-components_media__router_common_media__source.cc b/devel/electron33/files/patch-components_media__router_common_media__source.cc new file mode 100644 index 000000000000..4c92707942e2 --- /dev/null +++ b/devel/electron33/files/patch-components_media__router_common_media__source.cc @@ -0,0 +1,11 @@ +--- components/media_router/common/media_source.cc.orig 2024-06-18 21:43:29 UTC ++++ components/media_router/common/media_source.cc +@@ -57,7 +57,7 @@ bool IsSystemAudioCaptureSupported() { + if (!media::IsSystemLoopbackCaptureSupported()) { + return false; + } +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled(media::kPulseaudioLoopbackForCast); + #else + return true; diff --git a/devel/electron33/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc b/devel/electron33/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc new file mode 100644 index 000000000000..6fb1b7a94e22 --- /dev/null +++ b/devel/electron33/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc @@ -0,0 +1,11 @@ +--- components/media_router/common/providers/cast/channel/cast_message_util.cc.orig 2023-11-29 21:39:58 UTC ++++ components/media_router/common/providers/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/devel/electron33/files/patch-components_media__router_common_providers_cast_channel_enum__table.h b/devel/electron33/files/patch-components_media__router_common_providers_cast_channel_enum__table.h new file mode 100644 index 000000000000..a61cc520b168 --- /dev/null +++ b/devel/electron33/files/patch-components_media__router_common_providers_cast_channel_enum__table.h @@ -0,0 +1,15 @@ +--- components/media_router/common/providers/cast/channel/enum_table.h.orig 2024-11-09 21:36:44 UTC ++++ components/media_router/common/providers/cast/channel/enum_table.h +@@ -368,7 +368,12 @@ class EnumTable { + + private: + #ifdef ARCH_CPU_64_BITS ++#ifdef __cpp_lib_hardware_interference_size + alignas(std::hardware_destructive_interference_size) ++#else ++ static constexpr std::size_t hardware_destructive_interference_size = 64; ++ alignas(hardware_destructive_interference_size) ++#endif + #endif + std::initializer_list<Entry> data_; + bool is_sorted_; diff --git a/devel/electron33/files/patch-components_metrics_drive__metrics__provider__linux.cc b/devel/electron33/files/patch-components_metrics_drive__metrics__provider__linux.cc new file mode 100644 index 000000000000..105b380f89b9 --- /dev/null +++ b/devel/electron33/files/patch-components_metrics_drive__metrics__provider__linux.cc @@ -0,0 +1,16 @@ +--- components/metrics/drive_metrics_provider_linux.cc.orig 2023-10-19 19:58:18 UTC ++++ components/metrics/drive_metrics_provider_linux.cc +@@ -4,7 +4,13 @@ + + #include "components/metrics/drive_metrics_provider.h" + ++#if BUILDFLAG(IS_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/devel/electron33/files/patch-components_metrics_metrics__log.cc b/devel/electron33/files/patch-components_metrics_metrics__log.cc new file mode 100644 index 000000000000..0b67d36e94f8 --- /dev/null +++ b/devel/electron33/files/patch-components_metrics_metrics__log.cc @@ -0,0 +1,38 @@ +--- components/metrics/metrics_log.cc.orig 2024-06-18 21:43:29 UTC ++++ components/metrics/metrics_log.cc +@@ -56,7 +56,7 @@ + #include "base/win/current_module.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/environment.h" + #include "base/nix/xdg_util.h" + #endif +@@ -146,7 +146,7 @@ void RecordCurrentTime( + } + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + metrics::SystemProfileProto::OS::XdgSessionType ToProtoSessionType( + base::nix::SessionType session_type) { + switch (session_type) { +@@ -415,7 +415,7 @@ void MetricsLog::RecordCoreSystemProfile( + // OperatingSystemVersion refers to the ChromeOS release version. + #if BUILDFLAG(IS_CHROMEOS_ASH) + os->set_kernel_version(base::SysInfo::KernelVersion()); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + // Linux operating system version is copied over into kernel version to be + // consistent. + os->set_kernel_version(base::SysInfo::OperatingSystemVersion()); +@@ -432,7 +432,7 @@ void MetricsLog::RecordCoreSystemProfile( + os->set_build_number(base::SysInfo::GetIOSBuildNumber()); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<base::Environment> env = base::Environment::Create(); + os->set_xdg_session_type(ToProtoSessionType(base::nix::GetSessionType(*env))); + os->set_xdg_current_desktop( diff --git a/devel/electron33/files/patch-components_metrics_motherboard.cc b/devel/electron33/files/patch-components_metrics_motherboard.cc new file mode 100644 index 000000000000..a639aaec5b72 --- /dev/null +++ b/devel/electron33/files/patch-components_metrics_motherboard.cc @@ -0,0 +1,10 @@ +--- components/metrics/motherboard.cc.orig 2022-10-24 13:33:33 UTC ++++ components/metrics/motherboard.cc +@@ -1,6 +1,7 @@ + // Copyright 2022 The Chromium Authors + // 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/devel/electron33/files/patch-components_named__mojo__ipc__server_connection__info.h b/devel/electron33/files/patch-components_named__mojo__ipc__server_connection__info.h new file mode 100644 index 000000000000..ea496e47c288 --- /dev/null +++ b/devel/electron33/files/patch-components_named__mojo__ipc__server_connection__info.h @@ -0,0 +1,20 @@ +--- components/named_mojo_ipc_server/connection_info.h.orig 2024-10-16 21:31:11 UTC ++++ components/named_mojo_ipc_server/connection_info.h +@@ -12,7 +12,7 @@ + #include "base/win/scoped_handle.h" + #elif BUILDFLAG(IS_MAC) + #include <bsm/libbsm.h> +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include <sys/socket.h> + #endif + +@@ -29,7 +29,7 @@ struct ConnectionInfo { + base::ProcessId pid{}; + #if BUILDFLAG(IS_MAC) + audit_token_t audit_token{}; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ucred credentials{}; + #endif + }; diff --git a/devel/electron33/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc b/devel/electron33/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc new file mode 100644 index 000000000000..43b28a6054f4 --- /dev/null +++ b/devel/electron33/files/patch-components_named__mojo__ipc__server_named__mojo__ipc__server__client__util.cc @@ -0,0 +1,11 @@ +--- components/named_mojo_ipc_server/named_mojo_ipc_server_client_util.cc.orig 2024-10-16 21:31:11 UTC ++++ components/named_mojo_ipc_server/named_mojo_ipc_server_client_util.cc +@@ -23,7 +23,7 @@ mojo::PlatformChannelEndpoint ConnectToServer( + // static + mojo::PlatformChannelEndpoint ConnectToServer( + const mojo::NamedPlatformChannel::ServerName& server_name) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + return mojo::NamedPlatformChannel::ConnectToServer(server_name); + #elif BUILDFLAG(IS_MAC) + mojo::PlatformChannelEndpoint endpoint = diff --git a/devel/electron33/files/patch-components_named__system__lock_lock.h b/devel/electron33/files/patch-components_named__system__lock_lock.h new file mode 100644 index 000000000000..7de530e8db8b --- /dev/null +++ b/devel/electron33/files/patch-components_named__system__lock_lock.h @@ -0,0 +1,11 @@ +--- components/named_system_lock/lock.h.orig 2024-08-14 20:54:49 UTC ++++ components/named_system_lock/lock.h +@@ -38,7 +38,7 @@ class ScopedLock { + // may acquire that lock. The lock name has different meanings per platform: + // Linux: A shared memory object name starting with `/`. E.g. `/MyApp.lock`. + // Mac: A bootstrap service name (see `man bootstrap_check_in`). +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + static std::unique_ptr<ScopedLock> Create(const std::string& name, + base::TimeDelta timeout); + #elif BUILDFLAG(IS_WIN) diff --git a/devel/electron33/files/patch-components_neterror_resources_neterror.js b/devel/electron33/files/patch-components_neterror_resources_neterror.js new file mode 100644 index 000000000000..8c3b1ffe504a --- /dev/null +++ b/devel/electron33/files/patch-components_neterror_resources_neterror.js @@ -0,0 +1,11 @@ +--- components/neterror/resources/neterror.js.orig 2024-02-21 00:20:41 UTC ++++ components/neterror/resources/neterror.js +@@ -142,7 +142,7 @@ let primaryControlOnLeft = true; + + 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/devel/electron33/files/patch-components_network__session__configurator_browser_network__session__configurator.cc b/devel/electron33/files/patch-components_network__session__configurator_browser_network__session__configurator.cc new file mode 100644 index 000000000000..a12921740691 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:11 UTC ++++ components/network_session_configurator/browser/network_session_configurator.cc +@@ -849,7 +849,7 @@ net::URLRequestContextBuilder::HttpCacheParams::Type C + // backport, having it behave differently than in stable would be a bigger + // problem. TODO: Does this work in later macOS releases? + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + return net::URLRequestContextBuilder::HttpCacheParams::DISK_SIMPLE; + #else + return net::URLRequestContextBuilder::HttpCacheParams::DISK_BLOCKFILE; diff --git a/devel/electron33/files/patch-components_network__session__configurator_browser_network__session__configurator__unittest.cc b/devel/electron33/files/patch-components_network__session__configurator_browser_network__session__configurator__unittest.cc new file mode 100644 index 000000000000..606e0169fe3a --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:11 UTC ++++ components/network_session_configurator/browser/network_session_configurator_unittest.cc +@@ -855,7 +855,7 @@ TEST_F(NetworkSessionConfiguratorTest, DefaultCacheBac + + TEST_F(NetworkSessionConfiguratorTest, DefaultCacheBackend) { + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + EXPECT_EQ(net::URLRequestContextBuilder::HttpCacheParams::DISK_SIMPLE, + ChooseCacheType()); + #else diff --git a/devel/electron33/files/patch-components_optimization__guide_core_optimization__guide__util.cc b/devel/electron33/files/patch-components_optimization__guide_core_optimization__guide__util.cc new file mode 100644 index 000000000000..5c7934f5cba9 --- /dev/null +++ b/devel/electron33/files/patch-components_optimization__guide_core_optimization__guide__util.cc @@ -0,0 +1,11 @@ +--- components/optimization_guide/core/optimization_guide_util.cc.orig 2024-08-14 20:54:50 UTC ++++ components/optimization_guide/core/optimization_guide_util.cc +@@ -35,7 +35,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_UNDEFINED; diff --git a/devel/electron33/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc b/devel/electron33/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc new file mode 100644 index 000000000000..ff189bf66ec7 --- /dev/null +++ b/devel/electron33/files/patch-components_os__crypt_async_browser_secret__portal__key__provider.cc @@ -0,0 +1,12 @@ +--- components/os_crypt/async/browser/secret_portal_key_provider.cc.orig 2024-10-16 21:31:11 UTC ++++ components/os_crypt/async/browser/secret_portal_key_provider.cc +@@ -5,7 +5,9 @@ + #include "components/os_crypt/async/browser/secret_portal_key_provider.h" + + #include <fcntl.h> ++#if BUILDFLAG(IS_LINUX) + #include <linux/limits.h> ++#endif + + #include <array> + #include <utility> diff --git a/devel/electron33/files/patch-components_os__crypt_async_common_encryptor.cc b/devel/electron33/files/patch-components_os__crypt_async_common_encryptor.cc new file mode 100644 index 000000000000..5703d61b8c67 --- /dev/null +++ b/devel/electron33/files/patch-components_os__crypt_async_common_encryptor.cc @@ -0,0 +1,11 @@ +--- components/os_crypt/async/common/encryptor.cc.orig 2024-10-16 21:31:11 UTC ++++ components/os_crypt/async/common/encryptor.cc +@@ -277,7 +277,7 @@ std::optional<std::string> Encryptor::DecryptData( + // or not encryption worked or not, and certainly not advisable to recommend + // a re-encryption of this potentially invalid data. + // TODO(crbug.com/365712505): Remove this fallback. +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && \ ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) && \ + !(BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || \ + BUILDFLAG(IS_FUCHSIA) + if (plaintext == string_data) { diff --git a/devel/electron33/files/patch-components_os__crypt_sync_libsecret__util__linux.cc b/devel/electron33/files/patch-components_os__crypt_sync_libsecret__util__linux.cc new file mode 100644 index 000000000000..fc6f1b9cd695 --- /dev/null +++ b/devel/electron33/files/patch-components_os__crypt_sync_libsecret__util__linux.cc @@ -0,0 +1,27 @@ +--- components/os_crypt/sync/libsecret_util_linux.cc.orig 2024-10-16 21:31:11 UTC ++++ components/os_crypt/sync/libsecret_util_linux.cc +@@ -185,16 +185,22 @@ bool LibsecretLoader::LoadLibsecret() { + + // static + bool LibsecretLoader::LoadLibsecret() { ++#if BUILDFLAG(IS_BSD) ++ const char* kSecretLib = "libsecret-1.so"; ++#else ++ const char* kSecretLib = "libsecret-1.so.0"; ++#endif ++ + if (libsecret_loaded_) + return true; + +- static void* handle = dlopen("libsecret-1.so.0", RTLD_NOW | RTLD_GLOBAL); ++ static void* handle = dlopen(kSecretLib, 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/40467093): Channel this message to the user-facing log +- VLOG(1) << "Could not load libsecret-1.so.0: " << dlerror(); ++ VLOG(1) << "Could not load " << kSecretLib << ": " << dlerror(); + return false; + } + diff --git a/devel/electron33/files/patch-components_os__crypt_sync_os__crypt.h b/devel/electron33/files/patch-components_os__crypt_sync_os__crypt.h new file mode 100644 index 000000000000..77d85a836f08 --- /dev/null +++ b/devel/electron33/files/patch-components_os__crypt_sync_os__crypt.h @@ -0,0 +1,72 @@ +--- components/os_crypt/sync/os_crypt.h.orig 2024-10-16 21:31:11 UTC ++++ components/os_crypt/sync/os_crypt.h +@@ -14,7 +14,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) + +@@ -23,7 +23,7 @@ class PrefService; + class PrefService; + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) + namespace crypto { + class SymmetricKey; + } +@@ -36,7 +36,7 @@ namespace OSCrypt { + // 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) +@@ -81,7 +81,7 @@ COMPONENT_EXPORT(OS_CRYPT) void ResetStateForTesting() + 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>()> +@@ -108,7 +108,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(). +@@ -200,7 +200,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 +@@ -225,13 +225,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) + // Returns a cached string of "peanuts". Is thread-safe. + crypto::SymmetricKey* GetPasswordV10(); + diff --git a/devel/electron33/files/patch-components_paint__preview_browser_paint__preview__client.cc b/devel/electron33/files/patch-components_paint__preview_browser_paint__preview__client.cc new file mode 100644 index 000000000000..3da8ba1f1a03 --- /dev/null +++ b/devel/electron33/files/patch-components_paint__preview_browser_paint__preview__client.cc @@ -0,0 +1,13 @@ +--- components/paint_preview/browser/paint_preview_client.cc.orig 2024-10-16 21:31:11 UTC ++++ components/paint_preview/browser/paint_preview_client.cc +@@ -326,8 +326,8 @@ void PaintPreviewClient::CapturePaintPreview( + metadata->set_version(kPaintPreviewVersion); + auto* chromeVersion = metadata->mutable_chrome_version(); + const auto& current_chrome_version = version_info::GetVersion(); +- chromeVersion->set_major(current_chrome_version.components()[0]); +- chromeVersion->set_minor(current_chrome_version.components()[1]); ++ chromeVersion->set_gmajor(current_chrome_version.components()[0]); ++ chromeVersion->set_gminor(current_chrome_version.components()[1]); + chromeVersion->set_build(current_chrome_version.components()[2]); + chromeVersion->set_patch(current_chrome_version.components()[3]); + document_data.callback = std::move(callback); diff --git a/devel/electron33/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc b/devel/electron33/files/patch-components_paint__preview_browser_paint__preview__client__unittest.cc new file mode 100644 index 000000000000..7a82ebce22f2 --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:41 UTC ++++ components/paint_preview/browser/paint_preview_client_unittest.cc +@@ -174,8 +174,8 @@ TEST_P(PaintPreviewClientRenderViewHostTest, CaptureMa + metadata->set_version(kPaintPreviewVersion); + auto* chromeVersion = metadata->mutable_chrome_version(); + const auto& current_chrome_version = version_info::GetVersion(); +- chromeVersion->set_major(current_chrome_version.components()[0]); +- chromeVersion->set_minor(current_chrome_version.components()[1]); ++ chromeVersion->set_gmajor(current_chrome_version.components()[0]); ++ chromeVersion->set_gminor(current_chrome_version.components()[1]); + chromeVersion->set_build(current_chrome_version.components()[2]); + chromeVersion->set_patch(current_chrome_version.components()[3]); + PaintPreviewFrameProto* main_frame = expected_proto.mutable_root_frame(); diff --git a/devel/electron33/files/patch-components_paint__preview_common_proto_paint__preview.proto b/devel/electron33/files/patch-components_paint__preview_common_proto_paint__preview.proto new file mode 100644 index 000000000000..7c3f6367e147 --- /dev/null +++ b/devel/electron33/files/patch-components_paint__preview_common_proto_paint__preview.proto @@ -0,0 +1,13 @@ +--- components/paint_preview/common/proto/paint_preview.proto.orig 2021-12-14 11:45:03 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/devel/electron33/files/patch-components_paint__preview_player_player__compositor__delegate.cc b/devel/electron33/files/patch-components_paint__preview_player_player__compositor__delegate.cc new file mode 100644 index 000000000000..aac5cc2de962 --- /dev/null +++ b/devel/electron33/files/patch-components_paint__preview_player_player__compositor__delegate.cc @@ -0,0 +1,13 @@ +--- components/paint_preview/player/player_compositor_delegate.cc.orig 2024-08-14 20:54:50 UTC ++++ components/paint_preview/player/player_compositor_delegate.cc +@@ -434,8 +434,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT + auto chrome_version = capture_result_->proto.metadata().chrome_version(); + const auto& current_chrome_version = version_info::GetVersion(); + if (capture_result_->proto.metadata().has_chrome_version() && +- chrome_version.major() == current_chrome_version.components()[0] && +- chrome_version.minor() == current_chrome_version.components()[1] && ++ chrome_version.gmajor() == current_chrome_version.components()[0] && ++ chrome_version.gminor() == current_chrome_version.components()[1] && + chrome_version.build() == current_chrome_version.components()[2] && + chrome_version.patch() == current_chrome_version.components()[3]) { + paint_preview_service_->GetFileMixin()->GetAXTreeUpdate( diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_features_password__features.cc b/devel/electron33/files/patch-components_password__manager_core_browser_features_password__features.cc new file mode 100644 index 000000000000..c8a36daa2d28 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_features_password__features.cc @@ -0,0 +1,20 @@ +--- components/password_manager/core/browser/features/password_features.cc.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/features/password_features.cc +@@ -41,7 +41,7 @@ BASE_FEATURE(kClearUndecryptablePasswordsOnSync, + BASE_FEATURE(kClearUndecryptablePasswordsOnSync, + "ClearUndecryptablePasswordsInSync", + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -92,7 +92,7 @@ BASE_FEATURE(kPasswordManualFallbackAvailable, + "PasswordManualFallbackAvailable", + base::FEATURE_DISABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kRestartToGainAccessToKeychain, + "RestartToGainAccessToKeychain", + #if BUILDFLAG(IS_MAC) diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_features_password__features.h b/devel/electron33/files/patch-components_password__manager_core_browser_features_password__features.h new file mode 100644 index 000000000000..4b0f061508d7 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_features_password__features.h @@ -0,0 +1,11 @@ +--- components/password_manager/core/browser/features/password_features.h.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/features/password_features.h +@@ -93,7 +93,7 @@ BASE_DECLARE_FEATURE(kPasswordManualFallbackAvailable) + // Enables triggering password suggestions through the context menu. + BASE_DECLARE_FEATURE(kPasswordManualFallbackAvailable); + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Enables "Needs access to keychain, restart chrome" bubble and banner. + BASE_DECLARE_FEATURE(kRestartToGainAccessToKeychain); + #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__form__manager.cc b/devel/electron33/files/patch-components_password__manager_core_browser_password__form__manager.cc new file mode 100644 index 000000000000..aca52dfb293e --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__form__manager.cc @@ -0,0 +1,29 @@ +--- components/password_manager/core/browser/password_form_manager.cc.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/password_form_manager.cc +@@ -61,7 +61,7 @@ + #include "components/webauthn/android/webauthn_cred_man_delegate.h" + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "components/os_crypt/sync/os_crypt.h" + #endif + +@@ -231,7 +231,7 @@ bool ShouldUploadCrowdsourcingVotes(const FormOrDigest + return false; + } + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool ShouldShowKeychainErrorBubble( + std::optional<PasswordStoreBackendError> backend_error) { + if (!backend_error.has_value()) { +@@ -888,7 +888,7 @@ void PasswordFormManager::OnFetchCompleted() { + error.value().type); + } + +-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (ShouldShowKeychainErrorBubble( + form_fetcher_->GetProfileStoreBackendError())) { + client_->NotifyKeychainError(); diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__manager.cc b/devel/electron33/files/patch-components_password__manager_core_browser_password__manager.cc new file mode 100644 index 000000000000..2df57c42e79c --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__manager.cc @@ -0,0 +1,20 @@ +--- components/password_manager/core/browser/password_manager.cc.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/password_manager.cc +@@ -414,7 +414,7 @@ void PasswordManager::RegisterProfilePrefs( + prefs::kAutofillableCredentialsAccountStoreLoginDatabase, false); + #endif // BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) + registry->RegisterBooleanPref(prefs::kPasswordSharingEnabled, true); +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + registry->RegisterIntegerPref(prefs::kRelaunchChromeBubbleDismissedCounter, + 0); + #endif +@@ -427,7 +427,7 @@ void PasswordManager::RegisterProfilePrefs( + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + registry->RegisterBooleanPref(prefs::kDeletingUndecryptablePasswordsEnabled, + true); + #endif diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__manager__client.h b/devel/electron33/files/patch-components_password__manager_core_browser_password__manager__client.h new file mode 100644 index 000000000000..91ba6131007f --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__manager__client.h @@ -0,0 +1,20 @@ +--- components/password_manager/core/browser/password_manager_client.h.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/password_manager_client.h +@@ -30,7 +30,7 @@ + #include "net/cert/cert_status_flags.h" + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/i18n/rtl.h" + #include "components/password_manager/core/browser/password_cross_domain_confirmation_popup_controller.h" + #include "ui/gfx/geometry/rect_f.h" +@@ -545,7 +545,7 @@ class PasswordManagerClient { + CredentialsCallback callback); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + // Shows the bubble with the details of the `form`. + virtual void OpenPasswordDetailsBubble( diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__manager__switches.cc b/devel/electron33/files/patch-components_password__manager_core_browser_password__manager__switches.cc new file mode 100644 index 000000000000..7824d2983de3 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__manager__switches.cc @@ -0,0 +1,11 @@ +--- components/password_manager/core/browser/password_manager_switches.cc.orig 2024-06-18 21:43:29 UTC ++++ components/password_manager/core/browser/password_manager_switches.cc +@@ -6,7 +6,7 @@ namespace password_manager { + + namespace password_manager { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Specifies which encryption storage backend to use. Possible values are + // kwallet, kwallet5, kwallet6, gnome-libsecret, basic. + // Any other value will lead to Chrome detecting the best backend automatically. diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__manager__switches.h b/devel/electron33/files/patch-components_password__manager_core_browser_password__manager__switches.h new file mode 100644 index 000000000000..06f47193ece6 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__manager__switches.h @@ -0,0 +1,11 @@ +--- components/password_manager/core/browser/password_manager_switches.h.orig 2024-08-14 20:54:51 UTC ++++ components/password_manager/core/browser/password_manager_switches.h +@@ -10,7 +10,7 @@ namespace password_manager { + + namespace password_manager { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + extern const char kPasswordStore[]; + extern const char kEnableEncryptionSelection[]; + #endif // BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc b/devel/electron33/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc new file mode 100644 index 000000000000..5f9df374edf8 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc @@ -0,0 +1,29 @@ +--- components/password_manager/core/browser/password_manual_fallback_flow.cc.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/password_manual_fallback_flow.cc +@@ -43,7 +43,7 @@ std::u16string GetUsernameFromLabel(const std::u16stri + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Returns the password form corresponding to the `payload` data. In most + // cases there is only one such form stored, but having more than one or no + // forms is also possible. If there is more than one form, showing any of them +@@ -281,7 +281,7 @@ void PasswordManualFallbackFlow::DidAcceptSuggestion( + } + case autofill::SuggestionType::kViewPasswordDetails: { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::optional<password_manager::PasswordForm> credentials = + GetCorrespondingPasswordForm( + suggestion.GetPayload<Suggestion::PasswordSuggestionDetails>(), +@@ -413,7 +413,7 @@ void PasswordManualFallbackFlow::EnsureCrossDomainPass + const Suggestion::PasswordSuggestionDetails& payload, + base::OnceClosure on_allowed) { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (payload.is_cross_domain) { + cross_domain_confirmation_popup_controller_ = + password_client_->ShowCrossDomainConfirmationPopup( diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h b/devel/electron33/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h new file mode 100644 index 000000000000..f20abb40e2b9 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h @@ -0,0 +1,20 @@ +--- components/password_manager/core/browser/password_manual_fallback_flow.h.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/password_manual_fallback_flow.h +@@ -17,7 +17,7 @@ + #include "components/password_manager/core/browser/ui/saved_passwords_presenter.h" + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/password_manager/core/browser/password_cross_domain_confirmation_popup_controller.h" + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || + // BUILDFLAG(IS_CHROMEOS) +@@ -178,7 +178,7 @@ class PasswordManualFallbackFlow : public autofill::Au + std::unique_ptr<device_reauth::DeviceAuthenticator> authenticator_; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::unique_ptr<PasswordCrossDomainConfirmationPopupController> + cross_domain_confirmation_popup_controller_; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__store__factory__util.cc b/devel/electron33/files/patch-components_password__manager_core_browser_password__store__factory__util.cc new file mode 100644 index 000000000000..1cbf40534ea1 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__store__factory__util.cc @@ -0,0 +1,11 @@ +--- components/password_manager/core/browser/password_store_factory_util.cc.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/password_store_factory_util.cc +@@ -29,7 +29,7 @@ LoginDatabase::DeletingUndecryptablePasswordsEnabled G + LoginDatabase::DeletingUndecryptablePasswordsEnabled GetPolicyFromPrefs( + PrefService* prefs) { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + return LoginDatabase::DeletingUndecryptablePasswordsEnabled( + prefs->GetBoolean(prefs::kDeletingUndecryptablePasswordsEnabled)); + #else diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__store_login__database.cc b/devel/electron33/files/patch-components_password__manager_core_browser_password__store_login__database.cc new file mode 100644 index 000000000000..760afaaf7c0e --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__store_login__database.cc @@ -0,0 +1,20 @@ +--- components/password_manager/core/browser/password_store/login_database.cc.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/password_store/login_database.cc +@@ -1030,7 +1030,7 @@ bool ShouldDeleteUndecryptablePasswords( + bool is_user_data_dir_policy_set, + bool is_enabled_by_policy, + IsAccountStore is_account_store) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string user_data_dir_string; + std::unique_ptr<base::Environment> environment(base::Environment::Create()); + // On Linux user data directory ca be specified using an env variable. If it +@@ -1049,7 +1049,7 @@ bool ShouldDeleteUndecryptablePasswords( + return false; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (command_line->HasSwitch(password_manager::kPasswordStore)) { + RecordShouldDeleteUndecryptablePasswordsMetric( + ShouldDeleteUndecryptablePasswordsResult:: diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc b/devel/electron33/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc new file mode 100644 index 000000000000..4df2adb6a0f9 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc @@ -0,0 +1,11 @@ +--- components/password_manager/core/browser/password_store/login_database_async_helper.cc.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/password_store/login_database_async_helper.cc +@@ -154,7 +154,7 @@ LoginsResultOrError LoginDatabaseAsyncHelper::FillMatc + std::vector<PasswordForm> matched_forms; + if (!login_db_ || + !login_db_->GetLogins(form, include_psl, &matched_forms)) { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return PasswordStoreBackendError( + OSCrypt::IsEncryptionAvailable() + ? PasswordStoreBackendErrorType::kUncategorized diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc b/devel/electron33/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc new file mode 100644 index 000000000000..6cd91dc9b328 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc @@ -0,0 +1,11 @@ +--- components/password_manager/core/browser/password_store/login_database_unittest.cc.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/password_store/login_database_unittest.cc +@@ -2253,7 +2253,7 @@ INSTANTIATE_TEST_SUITE_P(MigrationToVCurrent, + testing::Bool())); + + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + class LoginDatabaseUndecryptableLoginsTest : public testing::Test { + protected: + LoginDatabaseUndecryptableLoginsTest() = default; diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc b/devel/electron33/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc new file mode 100644 index 000000000000..c5cf8d3fd501 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc @@ -0,0 +1,11 @@ +--- components/password_manager/core/browser/stub_password_manager_client.cc.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/stub_password_manager_client.cc +@@ -187,7 +187,7 @@ version_info::Channel StubPasswordManagerClient::GetCh + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void StubPasswordManagerClient::OpenPasswordDetailsBubble( + const password_manager::PasswordForm& form) {} + diff --git a/devel/electron33/files/patch-components_password__manager_core_browser_stub__password__manager__client.h b/devel/electron33/files/patch-components_password__manager_core_browser_stub__password__manager__client.h new file mode 100644 index 000000000000..7f063d50e554 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_browser_stub__password__manager__client.h @@ -0,0 +1,11 @@ +--- components/password_manager/core/browser/stub_password_manager_client.h.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/browser/stub_password_manager_client.h +@@ -75,7 +75,7 @@ class StubPasswordManagerClient : public PasswordManag + MockPasswordFeatureManager* GetPasswordFeatureManager(); + version_info::Channel GetChannel() const override; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void OpenPasswordDetailsBubble( + const password_manager::PasswordForm& form) override; + std::unique_ptr< diff --git a/devel/electron33/files/patch-components_password__manager_core_common_password__manager__pref__names.h b/devel/electron33/files/patch-components_password__manager_core_common_password__manager__pref__names.h new file mode 100644 index 000000000000..7407a0031a19 --- /dev/null +++ b/devel/electron33/files/patch-components_password__manager_core_common_password__manager__pref__names.h @@ -0,0 +1,20 @@ +--- components/password_manager/core/common/password_manager_pref_names.h.orig 2024-10-16 21:31:11 UTC ++++ components/password_manager/core/common/password_manager_pref_names.h +@@ -41,7 +41,7 @@ inline constexpr char kCredentialProviderEnabledOnStar + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + // Boolean pref controlled by the DeletingUndecryptablePasswordsEnabled policy. + // If set to false it blocks deleting undecryptable passwords, otherwise the + // deletion can happen. +@@ -334,7 +334,7 @@ inline constexpr char kPasswordSharingEnabled[] = + inline constexpr char kPasswordSharingEnabled[] = + "password_manager.password_sharing_enabled"; + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Integer pref indicating how many times relaunch Chrome bubble was dismissed. + inline constexpr char kRelaunchChromeBubbleDismissedCounter[] = + "password_manager.relaunch_chrome_bubble_dismissed_counter"; diff --git a/devel/electron33/files/patch-components_performance__manager_public_features.h b/devel/electron33/files/patch-components_performance__manager_public_features.h new file mode 100644 index 000000000000..3cd3eb1147b7 --- /dev/null +++ b/devel/electron33/files/patch-components_performance__manager_public_features.h @@ -0,0 +1,11 @@ +--- components/performance_manager/public/features.h.orig 2024-08-14 20:54:51 UTC ++++ components/performance_manager/public/features.h +@@ -21,7 +21,7 @@ BASE_DECLARE_FEATURE(kRunOnMainThreadSync); + + #if !BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #define URGENT_DISCARDING_FROM_PERFORMANCE_MANAGER() false + #else + #define URGENT_DISCARDING_FROM_PERFORMANCE_MANAGER() true diff --git a/devel/electron33/files/patch-components_permissions_prediction__service_prediction__common.cc b/devel/electron33/files/patch-components_permissions_prediction__service_prediction__common.cc new file mode 100644 index 000000000000..049516814c6a --- /dev/null +++ b/devel/electron33/files/patch-components_permissions_prediction__service_prediction__common.cc @@ -0,0 +1,20 @@ +--- components/permissions/prediction_service/prediction_common.cc.orig 2022-08-31 12:19:35 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/devel/electron33/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc b/devel/electron33/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc new file mode 100644 index 000000000000..aed2fcd7e689 --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:29 UTC ++++ components/policy/core/browser/policy_pref_mapping_test.cc +@@ -411,7 +411,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/devel/electron33/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc b/devel/electron33/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc new file mode 100644 index 000000000000..4f7152964128 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:12 UTC ++++ components/policy/core/common/cloud/cloud_policy_client.cc +@@ -703,7 +703,7 @@ void CloudPolicyClient::FetchPolicy(PolicyFetchReason + 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/devel/electron33/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc b/devel/electron33/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc new file mode 100644 index 000000000000..b506d50f8829 --- /dev/null +++ b/devel/electron33/files/patch-components_policy_core_common_cloud_cloud__policy__refresh__scheduler.cc @@ -0,0 +1,20 @@ +--- components/policy/core/common/cloud/cloud_policy_refresh_scheduler.cc.orig 2024-10-16 21:31:12 UTC ++++ components/policy/core/common/cloud/cloud_policy_refresh_scheduler.cc +@@ -25,7 +25,7 @@ namespace { + + namespace { + +-#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(kRetryWithKeyReset, + "RetryWithKeyReset", + base::FEATURE_ENABLED_BY_DEFAULT); +@@ -220,7 +220,7 @@ void CloudPolicyRefreshScheduler::OnStoreError(CloudPo + // continue using the stale information. Thus, no specific response to a store + // error is required. NB: Changes to is_managed fire OnStoreLoaded(). + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Client is registered means we have successfully get policy key once. However, + // a following policy fetch request is failed because we can't verified + // signature. Delete the policy key so that we can get it again with next diff --git a/devel/electron33/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/devel/electron33/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc new file mode 100644 index 000000000000..5d39634e2d79 --- /dev/null +++ b/devel/electron33/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 2024-04-15 20:33:55 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 <algorithm> + #include <utility> + +@@ -88,7 +93,7 @@ std::string GetMachineName() { + + 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; +@@ -145,7 +150,7 @@ std::string GetOSVersion() { + + 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 = +@@ -168,7 +173,7 @@ std::string GetOSUsername() { + } + + 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/devel/electron33/files/patch-components_policy_core_common_policy__loader__common.cc b/devel/electron33/files/patch-components_policy_core_common_policy__loader__common.cc new file mode 100644 index 000000000000..45361d6caaf8 --- /dev/null +++ b/devel/electron33/files/patch-components_policy_core_common_policy__loader__common.cc @@ -0,0 +1,20 @@ +--- components/policy/core/common/policy_loader_common.cc.orig 2024-02-21 00:20:42 UTC ++++ components/policy/core/common/policy_loader_common.cc +@@ -46,7 +46,7 @@ const char* kSensitivePolicies[] = { + key::kDefaultSearchProviderEnabled, + key::kSafeBrowsingEnabled, + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + key::kAutoOpenFileTypes, + key::kHomepageIsNewTabPage, + key::kPasswordProtectionChangePasswordURL, +@@ -56,7 +56,7 @@ const char* kSensitivePolicies[] = { + key::kSafeBrowsingAllowlistDomains, + key::kSiteSearchSettings, + #endif +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + key::kCommandLineFlagSecurityWarningsEnabled, + #endif + #if !BUILDFLAG(IS_IOS) diff --git a/devel/electron33/files/patch-components_policy_core_common_policy__paths.cc b/devel/electron33/files/patch-components_policy_core_common_policy__paths.cc new file mode 100644 index 000000000000..1ebd68c8efb1 --- /dev/null +++ b/devel/electron33/files/patch-components_policy_core_common_policy__paths.cc @@ -0,0 +1,11 @@ +--- components/policy/core/common/policy_paths.cc.orig 2024-02-21 00:20:42 UTC ++++ components/policy/core/common/policy_paths.cc +@@ -17,6 +17,8 @@ const char kPolicyPath[] = "/etc/opt/chrome_for_testin + const char kPolicyPath[] = "/etc/opt/chrome/policies"; + #elif BUILDFLAG(GOOGLE_CHROME_FOR_TESTING_BRANDING) + const char kPolicyPath[] = "/etc/opt/chrome_for_testing/policies"; ++#elif BUILDFLAG(IS_FREEBSD) ++const char kPolicyPath[] = "/usr/local/etc/chromium/policies"; + #else + const char kPolicyPath[] = "/etc/chromium/policies"; + #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) diff --git a/devel/electron33/files/patch-components_policy_core_common_policy__utils.cc b/devel/electron33/files/patch-components_policy_core_common_policy__utils.cc new file mode 100644 index 000000000000..258b2c1063e5 --- /dev/null +++ b/devel/electron33/files/patch-components_policy_core_common_policy__utils.cc @@ -0,0 +1,11 @@ +--- components/policy/core/common/policy_utils.cc.orig 2024-10-16 21:31:12 UTC ++++ components/policy/core/common/policy_utils.cc +@@ -22,7 +22,7 @@ bool IsPolicyTestingEnabled(PrefService* pref_service, + return true; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + if (channel == version_info::Channel::DEV) { + return true; + } diff --git a/devel/electron33/files/patch-components_policy_tools_generate__policy__source.py b/devel/electron33/files/patch-components_policy_tools_generate__policy__source.py new file mode 100644 index 000000000000..0394fe5f6220 --- /dev/null +++ b/devel/electron33/files/patch-components_policy_tools_generate__policy__source.py @@ -0,0 +1,14 @@ +--- components/policy/tools/generate_policy_source.py.orig 2024-04-15 20:33:55 UTC ++++ components/policy/tools/generate_policy_source.py +@@ -38,9 +38,9 @@ PLATFORM_STRINGS = { + 'ios': ['ios'], + 'fuchsia': ['fuchsia'], + 'chrome.win': ['win'], +- 'chrome.linux': ['linux'], ++ 'chrome.linux': ['linux', 'openbsd', 'freebsd'], + 'chrome.mac': ['mac'], +- 'chrome.*': ['win', 'mac', 'linux'], ++ 'chrome.*': ['win', 'mac', 'linux', 'openbsd', 'freebsd'], + 'chrome.win7': ['win'], + } + diff --git a/devel/electron33/files/patch-components_power__metrics_BUILD.gn b/devel/electron33/files/patch-components_power__metrics_BUILD.gn new file mode 100644 index 000000000000..5faa0a4e5e0c --- /dev/null +++ b/devel/electron33/files/patch-components_power__metrics_BUILD.gn @@ -0,0 +1,11 @@ +--- components/power_metrics/BUILD.gn.orig 2023-10-19 19:58:19 UTC ++++ components/power_metrics/BUILD.gn +@@ -41,7 +41,7 @@ static_library("power_metrics") { + ldflags = [ "/DELAYLOAD:setupapi.dll" ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux && !is_bsd) || is_chromeos) { + sources += [ + "energy_metrics_provider_linux.cc", + "energy_metrics_provider_linux.h", diff --git a/devel/electron33/files/patch-components_power__metrics_energy__metrics__provider.cc b/devel/electron33/files/patch-components_power__metrics_energy__metrics__provider.cc new file mode 100644 index 000000000000..41e8a386d76f --- /dev/null +++ b/devel/electron33/files/patch-components_power__metrics_energy__metrics__provider.cc @@ -0,0 +1,21 @@ +--- components/power_metrics/energy_metrics_provider.cc.orig 2023-08-10 01:48:41 UTC ++++ components/power_metrics/energy_metrics_provider.cc +@@ -9,6 +9,8 @@ + #include "components/power_metrics/energy_metrics_provider_win.h" + #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + #include "components/power_metrics/energy_metrics_provider_linux.h" ++#elif BUILDFLAG(IS_BSD) ++#include "base/notreached.h" + #endif // BUILDFLAG(IS_WIN) + + namespace power_metrics { +@@ -22,6 +24,9 @@ std::unique_ptr<EnergyMetricsProvider> EnergyMetricsPr + return EnergyMetricsProviderWin::Create(); + #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + return EnergyMetricsProviderLinux::Create(); ++#elif BUILDFLAG(IS_BSD) ++ NOTIMPLEMENTED(); ++ return nullptr; + #else + return nullptr; + #endif // BUILDFLAG(IS_WIN) diff --git a/devel/electron33/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc b/devel/electron33/files/patch-components_safe__browsing_content_common_file__type__policies__unittest.cc new file mode 100644 index 000000000000..0de002df2f07 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:13 UTC ++++ components/safe_browsing/content/common/file_type_policies_unittest.cc +@@ -148,7 +148,7 @@ TEST_F(FileTypePoliciesTest, UnpackResourceBundle) { + EXPECT_EQ(DownloadFileType::FULL_PING, file_type.ping_setting()); + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py b/devel/electron33/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py new file mode 100644 index 000000000000..c21444927e24 --- /dev/null +++ b/devel/electron33/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py @@ -0,0 +1,20 @@ +--- components/safe_browsing/content/resources/gen_file_type_proto.py.orig 2024-08-14 20:54:56 UTC ++++ components/safe_browsing/content/resources/gen_file_type_proto.py +@@ -37,6 +37,8 @@ def PlatformTypes(): + "chromeos": + download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_CHROME_OS, + "linux": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_LINUX, ++ "openbsd": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_LINUX, ++ "freebsd": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_LINUX, + "mac": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_MAC, + "win": download_file_types_pb2.DownloadFileType.PLATFORM_TYPE_WINDOWS, + # LINT.ThenChange(BUILD.gn:PlatformTypes) +@@ -179,7 +181,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera + '-t', + '--type', + help='The platform type. One of android, chromeos, ' + +- 'linux, mac, win') ++ 'linux, mac, win, openbsd, freebsd') + + def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command): + if opts.type is not None: diff --git a/devel/electron33/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc b/devel/electron33/files/patch-components_safe__browsing_core_browser_db_v4__protocol__manager__util.cc new file mode 100644 index 000000000000..316f49e810ae --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:13 UTC ++++ components/safe_browsing/core/browser/db/v4_protocol_manager_util.cc +@@ -119,7 +119,7 @@ PlatformType GetCurrentPlatformType() { + 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/devel/electron33/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc b/devel/electron33/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc new file mode 100644 index 000000000000..9e4f7f6cb796 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:13 UTC ++++ components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc +@@ -110,7 +110,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { + return RTLookupRequest::OS_TYPE_CHROME_OS; + #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/devel/electron33/files/patch-components_safe__browsing_core_common_features.cc b/devel/electron33/files/patch-components_safe__browsing_core_common_features.cc new file mode 100644 index 000000000000..daf455a11036 --- /dev/null +++ b/devel/electron33/files/patch-components_safe__browsing_core_common_features.cc @@ -0,0 +1,11 @@ +--- components/safe_browsing/core/common/features.cc.orig 2024-10-16 21:31:13 UTC ++++ components/safe_browsing/core/common/features.cc +@@ -237,7 +237,7 @@ BASE_FEATURE(kSafeBrowsingAsyncRealTimeCheck, + BASE_FEATURE(kSafeBrowsingAsyncRealTimeCheck, + "SafeBrowsingAsyncRealTimeCheck", + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/devel/electron33/files/patch-components_search__engines_search__engine__choice_search__engine__choice__service.cc b/devel/electron33/files/patch-components_search__engines_search__engine__choice_search__engine__choice__service.cc new file mode 100644 index 000000000000..61a89c54f588 --- /dev/null +++ b/devel/electron33/files/patch-components_search__engines_search__engine__choice_search__engine__choice__service.cc @@ -0,0 +1,11 @@ +--- components/search_engines/search_engine_choice/search_engine_choice_service.cc.orig 2024-10-16 21:31:13 UTC ++++ components/search_engines/search_engine_choice/search_engine_choice_service.cc +@@ -594,7 +594,7 @@ int SearchEngineChoiceService::GetCountryIdInternal() + + int SearchEngineChoiceService::GetCountryIdInternal() { + // `country_codes::kCountryIDAtInstall` may not be set yet. +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Android, ChromeOS and Linux, `country_codes::kCountryIDAtInstall` is + // computed asynchronously using platform-specific signals, and may not be + // available yet. diff --git a/devel/electron33/files/patch-components_search__engines_template__url__service.cc b/devel/electron33/files/patch-components_search__engines_template__url__service.cc new file mode 100644 index 000000000000..c5419311036c --- /dev/null +++ b/devel/electron33/files/patch-components_search__engines_template__url__service.cc @@ -0,0 +1,11 @@ +--- components/search_engines/template_url_service.cc.orig 2024-10-16 21:31:13 UTC ++++ components/search_engines/template_url_service.cc +@@ -3060,7 +3060,7 @@ TemplateURLService::GetEnterpriseSiteSearchManager(Pre + std::unique_ptr<EnterpriseSiteSearchManager> + TemplateURLService::GetEnterpriseSiteSearchManager(PrefService* prefs) { + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled(omnibox::kSiteSearchSettingsPolicy) + ? std::make_unique<EnterpriseSiteSearchManager>( + prefs, base::BindRepeating( diff --git a/devel/electron33/files/patch-components_security__interstitials_content_utils.cc b/devel/electron33/files/patch-components_security__interstitials_content_utils.cc new file mode 100644 index 000000000000..ce119e003a26 --- /dev/null +++ b/devel/electron33/files/patch-components_security__interstitials_content_utils.cc @@ -0,0 +1,11 @@ +--- components/security_interstitials/content/utils.cc.orig 2023-02-01 18:43:17 UTC ++++ components/security_interstitials/content/utils.cc +@@ -38,7 +38,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/devel/electron33/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc b/devel/electron33/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc new file mode 100644 index 000000000000..b288a715d454 --- /dev/null +++ b/devel/electron33/files/patch-components_segmentation__platform_embedder_default__model_cross__device__user__segment.cc @@ -0,0 +1,11 @@ +--- components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc.orig 2023-11-29 21:39:59 UTC ++++ components/segmentation_platform/embedder/default_model/cross_device_user_segment.cc +@@ -148,7 +148,7 @@ void CrossDeviceUserSegment::ExecuteModelWithInput( + // Check for current device type and subtract it from the device count + // calculation. + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + desktop_count -= 1; + #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) + if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { diff --git a/devel/electron33/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/devel/electron33/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc new file mode 100644 index 000000000000..a60ebb6e47d1 --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:42 UTC ++++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc +@@ -22,7 +22,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 + +@@ -79,7 +79,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()); +@@ -102,7 +102,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp + base::BindOnce([] { skia::DefaultFontMgr(); })); + + // 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/devel/electron33/files/patch-components_soda_soda__util.cc b/devel/electron33/files/patch-components_soda_soda__util.cc new file mode 100644 index 000000000000..50db0365537d --- /dev/null +++ b/devel/electron33/files/patch-components_soda_soda__util.cc @@ -0,0 +1,29 @@ +--- components/soda/soda_util.cc.orig 2024-10-16 21:31:13 UTC ++++ components/soda/soda_util.cc +@@ -27,7 +27,7 @@ + #include "base/win/windows_version.h" + #endif + +-#if BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_X86_FAMILY) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_X86_FAMILY) + #include "base/cpu.h" + #endif + +@@ -52,7 +52,7 @@ bool IsSupportedChromeOS() { + } + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool IsSupportedLinux() { + #if defined(ARCH_CPU_X86_FAMILY) + // Check if the CPU has the required instruction set to run the Speech +@@ -83,7 +83,7 @@ bool IsOnDeviceSpeechRecognitionSupported() { + bool IsOnDeviceSpeechRecognitionSupported() { + #if BUILDFLAG(IS_CHROMEOS) + return IsSupportedChromeOS(); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return IsSupportedLinux(); + #elif BUILDFLAG(IS_WIN) + return IsSupportedWin(); diff --git a/devel/electron33/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc b/devel/electron33/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc new file mode 100644 index 000000000000..16c39c009ef1 --- /dev/null +++ b/devel/electron33/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc @@ -0,0 +1,11 @@ +--- components/startup_metric_utils/common/startup_metric_utils.cc.orig 2024-08-14 20:54:56 UTC ++++ components/startup_metric_utils/common/startup_metric_utils.cc +@@ -94,7 +94,7 @@ base::TimeTicks CommonStartupMetricRecorder::StartupTi + // Enabling this logic on OS X causes a significant performance regression. + // TODO(crbug.com/40464036): Remove IS_APPLE ifdef once utility processes + // set their desired main thread priority. +-#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/devel/electron33/files/patch-components_storage__monitor_BUILD.gn b/devel/electron33/files/patch-components_storage__monitor_BUILD.gn new file mode 100644 index 000000000000..79d555c67d90 --- /dev/null +++ b/devel/electron33/files/patch-components_storage__monitor_BUILD.gn @@ -0,0 +1,20 @@ +--- components/storage_monitor/BUILD.gn.orig 2024-10-16 21:31:13 UTC ++++ components/storage_monitor/BUILD.gn +@@ -75,7 +75,7 @@ static_library("storage_monitor") { + deps += [ "//services/device/public/mojom" ] + } + } else if (is_linux || is_chromeos_lacros) { +- if (use_udev) { ++ if (use_udev && !is_bsd) { + sources += [ + "mtab_watcher_linux.cc", + "mtab_watcher_linux.h", +@@ -180,7 +180,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/devel/electron33/files/patch-components_storage__monitor_removable__device__constants.cc b/devel/electron33/files/patch-components_storage__monitor_removable__device__constants.cc new file mode 100644 index 000000000000..b5f275ed96b3 --- /dev/null +++ b/devel/electron33/files/patch-components_storage__monitor_removable__device__constants.cc @@ -0,0 +1,11 @@ +--- components/storage_monitor/removable_device_constants.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-components_storage__monitor_removable__device__constants.h b/devel/electron33/files/patch-components_storage__monitor_removable__device__constants.h new file mode 100644 index 000000000000..71ac1f80d945 --- /dev/null +++ b/devel/electron33/files/patch-components_storage__monitor_removable__device__constants.h @@ -0,0 +1,11 @@ +--- components/storage_monitor/removable_device_constants.h.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc b/devel/electron33/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc new file mode 100644 index 000000000000..f9bb3a7ae07d --- /dev/null +++ b/devel/electron33/files/patch-components_supervised__user_core_browser_supervised__user__metrics__service.cc @@ -0,0 +1,11 @@ +--- components/supervised_user/core/browser/supervised_user_metrics_service.cc.orig 2024-08-14 20:54:57 UTC ++++ components/supervised_user/core/browser/supervised_user_metrics_service.cc +@@ -47,7 +47,7 @@ SupervisedUserMetricsService::SupervisedUserMetricsSer + extensions_metrics_delegate_(std::move(extensions_metrics_delegate)) { + DCHECK(pref_service_); + DCHECK(url_filter_); +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + CHECK(extensions_metrics_delegate_) + << "Extensions metrics delegate must exist on Win/Linux/Mac"; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc b/devel/electron33/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc new file mode 100644 index 000000000000..e57390884891 --- /dev/null +++ b/devel/electron33/files/patch-components_supervised__user_core_browser_supervised__user__preferences.cc @@ -0,0 +1,11 @@ +--- components/supervised_user/core/browser/supervised_user_preferences.cc.orig 2024-10-16 21:31:19 UTC ++++ components/supervised_user/core/browser/supervised_user_preferences.cc +@@ -147,7 +147,7 @@ void RegisterProfilePrefs(PrefRegistrySimple* registry + registry->RegisterBooleanPref(prefs::kChildAccountStatusKnown, false); + registry->RegisterStringPref(prefs::kFamilyLinkUserMemberRole, std::string()); + #if BUILDFLAG(ENABLE_EXTENSIONS) && \ +- (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)) ++ (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + registry->RegisterIntegerPref( + prefs::kLocallyParentApprovedExtensionsMigrationState, + static_cast<int>( diff --git a/devel/electron33/files/patch-components_supervised__user_core_browser_supervised__user__service.cc b/devel/electron33/files/patch-components_supervised__user_core_browser_supervised__user__service.cc new file mode 100644 index 000000000000..5532a3f67eb8 --- /dev/null +++ b/devel/electron33/files/patch-components_supervised__user_core_browser_supervised__user__service.cc @@ -0,0 +1,11 @@ +--- components/supervised_user/core/browser/supervised_user_service.cc.orig 2024-10-16 21:31:19 UTC ++++ components/supervised_user/core/browser/supervised_user_service.cc +@@ -152,7 +152,7 @@ FirstTimeInterstitialBannerState SupervisedUserService + const FirstTimeInterstitialBannerState original_state) { + FirstTimeInterstitialBannerState target_state = original_state; + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + if (original_state != FirstTimeInterstitialBannerState::kSetupComplete && + can_show_first_time_interstitial_banner_) { + target_state = FirstTimeInterstitialBannerState::kNeedToShow; diff --git a/devel/electron33/files/patch-components_supervised__user_core_common_features.cc b/devel/electron33/files/patch-components_supervised__user_core_common_features.cc new file mode 100644 index 000000000000..3aceb8cd6c69 --- /dev/null +++ b/devel/electron33/files/patch-components_supervised__user_core_common_features.cc @@ -0,0 +1,45 @@ +--- components/supervised_user/core/common/features.cc.orig 2024-10-16 21:31:19 UTC ++++ components/supervised_user/core/common/features.cc +@@ -66,7 +66,7 @@ BASE_FEATURE(kUpdatedSupervisedUserExtensionApprovalSt + "UpdatedSupervisedUserExtensionApprovalStrings", + base::FEATURE_DISABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kEnableExtensionsPermissionsForSupervisedUsersOnDesktop, + "EnableExtensionsPermissionsForSupervisedUsersOnDesktop", + base::FEATURE_DISABLED_BY_DEFAULT); +@@ -81,7 +81,7 @@ bool IsSupervisedUserSkipParentApprovalToInstallExtens + #if BUILDFLAG(IS_CHROMEOS) + return base::FeatureList::IsEnabled( + kEnableSupervisedUserSkipParentApprovalToInstallExtensions); +-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + bool skipParentApprovalEnabled = base::FeatureList::IsEnabled( + kEnableSupervisedUserSkipParentApprovalToInstallExtensions); + bool permissionExtensionsForSupervisedUsersEnabled = +@@ -106,13 +106,13 @@ BASE_FEATURE(kSupervisedUserProfileSigninIPH, + "SupervisedUserProfileSigninIPH", + base::FEATURE_DISABLED_BY_DEFAULT); + +-#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(kShowKiteForSupervisedUsers, + "ShowKiteForSupervisedUsers", + base::FEATURE_DISABLED_BY_DEFAULT); + #endif + +-#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(kHideGuestModeForSupervisedUsers, + "HideGuestModeForSupervisedUsers", + base::FEATURE_DISABLED_BY_DEFAULT); +@@ -122,7 +122,7 @@ BASE_FEATURE(kForceSafeSearchForUnauthenticatedSupervi + "ForceSafeSearchForUnauthenticatedSupervisedUsers", + base::FEATURE_DISABLED_BY_DEFAULT); + +-#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(kForceSupervisedUserReauthenticationForYouTube, + "ForceSupervisedUserReauthenticationForYouTube", + base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/devel/electron33/files/patch-components_supervised__user_core_common_features.h b/devel/electron33/files/patch-components_supervised__user_core_common_features.h new file mode 100644 index 000000000000..68cdbb52d3d6 --- /dev/null +++ b/devel/electron33/files/patch-components_supervised__user_core_common_features.h @@ -0,0 +1,34 @@ +--- components/supervised_user/core/common/features.h.orig 2024-10-16 21:31:19 UTC ++++ components/supervised_user/core/common/features.h +@@ -25,7 +25,7 @@ BASE_DECLARE_FEATURE(kUpdatedSupervisedUserExtensionAp + // Applies new informative strings during the parental extension approval flow. + BASE_DECLARE_FEATURE(kUpdatedSupervisedUserExtensionApprovalStrings); + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kEnableExtensionsPermissionsForSupervisedUsersOnDesktop); + #endif + +@@ -59,11 +59,11 @@ BASE_DECLARE_FEATURE(kSupervisedUserProfileSigninIPH); + + // Displays a Family Link kite badge on the supervised user avatar in various + // surfaces. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + BASE_DECLARE_FEATURE(kShowKiteForSupervisedUsers); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // This hides the following guest mode entry points for supervised users: + // + // * In the Profile menu for supervised profiles +@@ -75,7 +75,7 @@ BASE_DECLARE_FEATURE(kForceSafeSearchForUnauthenticate + // unauthenticated (e.g. signed out of the content area) account. + BASE_DECLARE_FEATURE(kForceSafeSearchForUnauthenticatedSupervisedUsers); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Force re-authentication when an unauthenticated supervised user tries to + // access YouTube, so that content restrictions can be applied. + BASE_DECLARE_FEATURE(kForceSupervisedUserReauthenticationForYouTube); diff --git a/devel/electron33/files/patch-components_supervised__user_core_common_pref__names.h b/devel/electron33/files/patch-components_supervised__user_core_common_pref__names.h new file mode 100644 index 000000000000..709c6036ba0c --- /dev/null +++ b/devel/electron33/files/patch-components_supervised__user_core_common_pref__names.h @@ -0,0 +1,11 @@ +--- components/supervised_user/core/common/pref_names.h.orig 2024-08-14 20:54:57 UTC ++++ components/supervised_user/core/common/pref_names.h +@@ -137,7 +137,7 @@ inline constexpr char kFirstTimeInterstitialBannerStat + "profile.managed.banner_state"; + + #if BUILDFLAG(ENABLE_EXTENSIONS) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // An integer pref that stores the current state of the local extension + // parent approval migration when the feature + // `kEnableSupervisedUserSkipParentApprovalToInstallExtensions` becomes enabled. diff --git a/devel/electron33/files/patch-components_sync__device__info_local__device__info__util.cc b/devel/electron33/files/patch-components_sync__device__info_local__device__info__util.cc new file mode 100644 index 000000000000..d6c5042aa591 --- /dev/null +++ b/devel/electron33/files/patch-components_sync__device__info_local__device__info__util.cc @@ -0,0 +1,29 @@ +--- components/sync_device_info/local_device_info_util.cc.orig 2024-10-16 21:31:20 UTC ++++ components/sync_device_info/local_device_info_util.cc +@@ -85,7 +85,7 @@ sync_pb::SyncEnums::DeviceType GetLocalDeviceType() { + 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) + switch (ui::GetDeviceFormFactor()) { +@@ -110,7 +110,7 @@ DeviceInfo::OsType GetLocalDeviceOSType() { + return DeviceInfo::OsType::kChromeOsAsh; + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + return DeviceInfo::OsType::kChromeOsLacros; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return DeviceInfo::OsType::kLinux; + #elif BUILDFLAG(IS_ANDROID) + return DeviceInfo::OsType::kAndroid; +@@ -129,7 +129,7 @@ DeviceInfo::FormFactor GetLocalDeviceFormFactor() { + + DeviceInfo::FormFactor GetLocalDeviceFormFactor() { + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + return DeviceInfo::FormFactor::kDesktop; + #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) + return ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET diff --git a/devel/electron33/files/patch-components_sync__device__info_local__device__info__util__linux.cc b/devel/electron33/files/patch-components_sync__device__info_local__device__info__util__linux.cc new file mode 100644 index 000000000000..1edb88b39884 --- /dev/null +++ b/devel/electron33/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-09-24 10:57:32 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/devel/electron33/files/patch-components_system__cpu_cpu__probe.cc b/devel/electron33/files/patch-components_system__cpu_cpu__probe.cc new file mode 100644 index 000000000000..c942af31f03e --- /dev/null +++ b/devel/electron33/files/patch-components_system__cpu_cpu__probe.cc @@ -0,0 +1,12 @@ +--- components/system_cpu/cpu_probe.cc.orig 2024-02-21 00:20:43 UTC ++++ components/system_cpu/cpu_probe.cc +@@ -30,6 +30,9 @@ std::unique_ptr<CpuProbe> CpuProbe::Create() { + return CpuProbeWin::Create(); + #elif BUILDFLAG(IS_MAC) + return CpuProbeMac::Create(); ++#elif BUILDFLAG(IS_BSD) ++ NOTIMPLEMENTED(); ++ return nullptr; + #else + return nullptr; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/devel/electron33/files/patch-components_translate_core_common_translate__util.cc b/devel/electron33/files/patch-components_translate_core_common_translate__util.cc new file mode 100644 index 000000000000..6f53bd06ff6b --- /dev/null +++ b/devel/electron33/files/patch-components_translate_core_common_translate__util.cc @@ -0,0 +1,11 @@ +--- components/translate/core/common/translate_util.cc.orig 2023-10-19 19:58:21 UTC ++++ components/translate/core/common/translate_util.cc +@@ -21,7 +21,7 @@ const char kSecurityOrigin[] = "https://translate.goog + BASE_FEATURE(kTFLiteLanguageDetectionEnabled, + "TFLiteLanguageDetectionEnabled", + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/devel/electron33/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc b/devel/electron33/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc new file mode 100644 index 000000000000..2e76ad94c834 --- /dev/null +++ b/devel/electron33/files/patch-components_trusted__vault_trusted__vault__connection__impl.cc @@ -0,0 +1,11 @@ +--- components/trusted_vault/trusted_vault_connection_impl.cc.orig 2024-10-16 21:31:25 UTC ++++ components/trusted_vault/trusted_vault_connection_impl.cc +@@ -102,7 +102,7 @@ GetLocalPhysicalDeviceType() { + // currently used or even built on all platforms. + #if BUILDFLAG(IS_CHROMEOS) + return trusted_vault_pb::PhysicalDeviceMetadata::DEVICE_TYPE_CHROMEOS; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return trusted_vault_pb::PhysicalDeviceMetadata::DEVICE_TYPE_LINUX; + #elif BUILDFLAG(IS_ANDROID) + return trusted_vault_pb::PhysicalDeviceMetadata::DEVICE_TYPE_ANDROID; diff --git a/devel/electron33/files/patch-components_update__client_update__query__params.cc b/devel/electron33/files/patch-components_update__client_update__query__params.cc new file mode 100644 index 000000000000..6ea4fde212bf --- /dev/null +++ b/devel/electron33/files/patch-components_update__client_update__query__params.cc @@ -0,0 +1,11 @@ +--- components/update_client/update_query_params.cc.orig 2024-10-16 21:31:25 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/devel/electron33/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc b/devel/electron33/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc new file mode 100644 index 000000000000..3c0a4f04dc0d --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:44 UTC ++++ components/url_formatter/spoof_checks/idn_spoof_checker.cc +@@ -294,7 +294,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/devel/electron33/files/patch-components_user__education_views_help__bubble__view.cc b/devel/electron33/files/patch-components_user__education_views_help__bubble__view.cc new file mode 100644 index 000000000000..c7dc1375e1df --- /dev/null +++ b/devel/electron33/files/patch-components_user__education_views_help__bubble__view.cc @@ -0,0 +1,11 @@ +--- components/user_education/views/help_bubble_view.cc.orig 2024-10-16 21:31:25 UTC ++++ components/user_education/views/help_bubble_view.cc +@@ -852,7 +852,7 @@ void HelpBubbleView::OnBeforeBubbleWidgetInit(views::W + void HelpBubbleView::OnBeforeBubbleWidgetInit(views::Widget::InitParams* params, + views::Widget* widget) const { + BubbleDialogDelegateView::OnBeforeBubbleWidgetInit(params, widget); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Help bubbles anchored to menus may be clipped to their anchors' bounds, + // resulting in visual errors, unless they use accelerated rendering. See + // crbug.com/1445770 for details. This also applies to bubbles anchored to diff --git a/devel/electron33/files/patch-components_variations_service_variations__service.cc b/devel/electron33/files/patch-components_variations_service_variations__service.cc new file mode 100644 index 000000000000..4c428daab776 --- /dev/null +++ b/devel/electron33/files/patch-components_variations_service_variations__service.cc @@ -0,0 +1,11 @@ +--- components/variations/service/variations_service.cc.orig 2024-10-16 21:31:25 UTC ++++ components/variations/service/variations_service.cc +@@ -102,7 +102,7 @@ std::string GetPlatformString() { + return "android"; + #elif BUILDFLAG(IS_FUCHSIA) + return "fuchsia"; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_SOLARIS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_SOLARIS) || BUILDFLAG(IS_BSD) + // Default BSD and SOLARIS to Linux to not break those builds, although these + // platforms are not officially supported by Chrome. + return "linux"; diff --git a/devel/electron33/files/patch-components_visited__url__ranking_public_url__visit__util.cc b/devel/electron33/files/patch-components_visited__url__ranking_public_url__visit__util.cc new file mode 100644 index 000000000000..52f6e38364dc --- /dev/null +++ b/devel/electron33/files/patch-components_visited__url__ranking_public_url__visit__util.cc @@ -0,0 +1,11 @@ +--- components/visited_url_ranking/public/url_visit_util.cc.orig 2024-10-16 21:31:25 UTC ++++ components/visited_url_ranking/public/url_visit_util.cc +@@ -66,7 +66,7 @@ PlatformType GetPlatformInput() { + return PlatformType::kWindows; + #elif BUILDFLAG(IS_MAC) + return PlatformType::kMac; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return PlatformType::kLinux; + #elif BUILDFLAG(IS_IOS) + return PlatformType::kIos; diff --git a/devel/electron33/files/patch-components_viz_host_host__display__client.cc b/devel/electron33/files/patch-components_viz_host_host__display__client.cc new file mode 100644 index 000000000000..2f19d205f5db --- /dev/null +++ b/devel/electron33/files/patch-components_viz_host_host__display__client.cc @@ -0,0 +1,11 @@ +--- components/viz/host/host_display_client.cc.orig 2024-06-30 11:48:28 UTC ++++ components/viz/host/host_display_client.cc +@@ -73,7 +73,7 @@ void HostDisplayClient::AddChildWindowToBrowser( + } + #endif + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) { + NOTIMPLEMENTED(); + } diff --git a/devel/electron33/files/patch-components_viz_host_host__display__client.h b/devel/electron33/files/patch-components_viz_host_host__display__client.h new file mode 100644 index 000000000000..1d69922e1f9c --- /dev/null +++ b/devel/electron33/files/patch-components_viz_host_host__display__client.h @@ -0,0 +1,11 @@ +--- components/viz/host/host_display_client.h.orig 2024-02-27 21:36:00 UTC ++++ components/viz/host/host_display_client.h +@@ -53,7 +53,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom + void AddChildWindowToBrowser(gpu::SurfaceHandle child_window) override; + #endif + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + void DidCompleteSwapWithNewSize(const gfx::Size& size) override; + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + diff --git a/devel/electron33/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/devel/electron33/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc new file mode 100644 index 000000000000..0036561c32c9 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:25 UTC ++++ components/viz/service/display_embedder/skia_output_surface_impl.cc +@@ -1498,7 +1498,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor + ->GetVulkanPhysicalDevice(), + VK_IMAGE_TILING_OPTIMAL, vk_format, + si_format, yuv_color_space, ycbcr_info); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Textures that were allocated _on linux_ with ycbcr info came from + // VaapiVideoDecoder, which exports using DRM format modifiers. + return GrBackendFormats::MakeVk(gr_ycbcr_info, diff --git a/devel/electron33/files/patch-components_viz_service_display__embedder_software__output__surface.cc b/devel/electron33/files/patch-components_viz_service_display__embedder_software__output__surface.cc new file mode 100644 index 000000000000..ca0a80ba6df0 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:25 UTC ++++ components/viz/service/display_embedder/software_output_surface.cc +@@ -115,7 +115,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base:: + now.SnappedToNextTick(refresh_timebase_, refresh_interval_) - now; + // TODO(crbug.com/40118868): 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 +@@ -144,7 +144,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla + + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-components_viz_service_display__embedder_software__output__surface.h b/devel/electron33/files/patch-components_viz_service_display__embedder_software__output__surface.h new file mode 100644 index 000000000000..9ea9e8091ea7 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:25 UTC ++++ components/viz/service/display_embedder/software_output_surface.h +@@ -44,7 +44,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi + gfx::OverlayTransform GetDisplayTransform() override; + // TODO(crbug.com/40118868): 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 +@@ -64,7 +64,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi + + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-components_viz_service_display_skia__renderer.cc b/devel/electron33/files/patch-components_viz_service_display_skia__renderer.cc new file mode 100644 index 000000000000..d73e2804cf32 --- /dev/null +++ b/devel/electron33/files/patch-components_viz_service_display_skia__renderer.cc @@ -0,0 +1,11 @@ +--- components/viz/service/display/skia_renderer.cc.orig 2024-10-16 21:31:25 UTC ++++ components/viz/service/display/skia_renderer.cc +@@ -1363,7 +1363,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/devel/electron33/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/devel/electron33/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc new file mode 100644 index 000000000000..da2e0b570373 --- /dev/null +++ b/devel/electron33/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 2024-10-28 21:05:16 UTC ++++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc +@@ -114,7 +114,7 @@ RootCompositorFrameSinkImpl::Create( + output_surface->SetNeedsSwapSizeNotifications( + params->send_swap_size_notifications); + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + // 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); +@@ -794,7 +794,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw + if (display_client_ && enable_swap_completion_callback_) { + display_client_->DidCompleteSwapWithSize(pixel_size); + } +-#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + 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/devel/electron33/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/devel/electron33/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h new file mode 100644 index 000000000000..571287d88dbb --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:25 UTC ++++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h +@@ -231,7 +231,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl + // See comments on `EvictionHandler`. + EvictionHandler eviction_handler_; + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + gfx::Size last_swap_pixel_size_; + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + diff --git a/devel/electron33/files/patch-components_viz_test_fake__display__client.cc b/devel/electron33/files/patch-components_viz_test_fake__display__client.cc new file mode 100644 index 000000000000..5b3eeef68ad3 --- /dev/null +++ b/devel/electron33/files/patch-components_viz_test_fake__display__client.cc @@ -0,0 +1,11 @@ +--- components/viz/test/fake_display_client.cc.orig 2024-02-21 00:20:44 UTC ++++ components/viz/test/fake_display_client.cc +@@ -27,7 +27,7 @@ void FakeDisplayClient::AddChildWindowToBrowser( + gpu::SurfaceHandle child_window) {} + #endif + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + void FakeDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {} + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + diff --git a/devel/electron33/files/patch-components_viz_test_fake__display__client.h b/devel/electron33/files/patch-components_viz_test_fake__display__client.h new file mode 100644 index 000000000000..decdc418ca85 --- /dev/null +++ b/devel/electron33/files/patch-components_viz_test_fake__display__client.h @@ -0,0 +1,11 @@ +--- components/viz/test/fake_display_client.h.orig 2024-02-21 00:20:44 UTC ++++ components/viz/test/fake_display_client.h +@@ -36,7 +36,7 @@ class FakeDisplayClient : public mojom::DisplayClient + void AddChildWindowToBrowser(gpu::SurfaceHandle child_window) override; + #endif + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + void DidCompleteSwapWithNewSize(const gfx::Size& size) override; + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + diff --git a/devel/electron33/files/patch-components_viz_test_mock__display__client.h b/devel/electron33/files/patch-components_viz_test_mock__display__client.h new file mode 100644 index 000000000000..965716171542 --- /dev/null +++ b/devel/electron33/files/patch-components_viz_test_mock__display__client.h @@ -0,0 +1,11 @@ +--- components/viz/test/mock_display_client.h.orig 2024-10-16 21:31:25 UTC ++++ components/viz/test/mock_display_client.h +@@ -45,7 +45,7 @@ class MockDisplayClient : public mojom::DisplayClient + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS_ASH) + MOCK_METHOD1(SetPreferredRefreshRate, void(float refresh_rate)); + #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS_ASH) +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + MOCK_METHOD1(DidCompleteSwapWithNewSize, void(const gfx::Size&)); + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + diff --git a/devel/electron33/files/patch-content_app_BUILD.gn b/devel/electron33/files/patch-content_app_BUILD.gn new file mode 100644 index 000000000000..6746b8332951 --- /dev/null +++ b/devel/electron33/files/patch-content_app_BUILD.gn @@ -0,0 +1,15 @@ +--- content/app/BUILD.gn.orig 2024-08-14 20:54:58 UTC ++++ content/app/BUILD.gn +@@ -96,9 +96,9 @@ source_set("content_main_runner_app") { + "//chromeos/startup:constants", + ] + } +- if (build_tflite_with_xnnpack) { +- deps += [ "//third_party/cpuinfo" ] +- } ++# if (build_tflite_with_xnnpack) { ++# deps += [ "//third_party/cpuinfo" ] ++# } + } + + source_set("app") { diff --git a/devel/electron33/files/patch-content_app_content__main.cc b/devel/electron33/files/patch-content_app_content__main.cc new file mode 100644 index 000000000000..67be69df9e0b --- /dev/null +++ b/devel/electron33/files/patch-content_app_content__main.cc @@ -0,0 +1,20 @@ +--- content/app/content_main.cc.orig 2024-10-28 21:05:17 UTC ++++ content/app/content_main.cc +@@ -227,7 +227,7 @@ NO_STACK_PROTECTOR int RunContentProcess( + base::EnableTerminationOnOutOfMemory(); + logging::RegisterAbslAbortHook(); + +-#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 +@@ -313,7 +313,7 @@ NO_STACK_PROTECTOR int RunContentProcess( + command_line->AppendSwitch(switches::kUseMobileUserAgent); + #endif + +-#if (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) && !defined(COMPONENT_BUILD) ++#if (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX)) && !defined(COMPONENT_BUILD) && defined(notyet) + base::subtle::EnableFDOwnershipEnforcement(true); + #endif + diff --git a/devel/electron33/files/patch-content_app_content__main__runner__impl.cc b/devel/electron33/files/patch-content_app_content__main__runner__impl.cc new file mode 100644 index 000000000000..81656d389489 --- /dev/null +++ b/devel/electron33/files/patch-content_app_content__main__runner__impl.cc @@ -0,0 +1,129 @@ +--- content/app/content_main_runner_impl.cc.orig 2024-10-28 21:05:17 UTC ++++ content/app/content_main_runner_impl.cc +@@ -147,18 +147,20 @@ + #include "content/browser/posix_file_descriptor_info_impl.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/files/file_path_watcher_inotify.h" + #include "base/native_library.h" + #include "base/rand_util.h" + #include "content/public/common/zygote/sandbox_support_linux.h" ++#if !BUILDFLAG(IS_BSD) + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + #include "third_party/boringssl/src/include/openssl/crypto.h" + #include "third_party/webrtc_overrides/init_webrtc.h" // nogncheck + +@@ -192,6 +194,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" +@@ -403,7 +409,7 @@ void InitializeZygoteSandboxForBrowserProcess( + } + #endif // BUILDFLAG(USE_ZYGOTE) + +-#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 +@@ -441,7 +447,10 @@ void PreSandboxInit() { + + void PreSandboxInit() { + // Ensure the /dev/urandom is opened. ++ // we use arc4random ++#if !BUILDFLAG(IS_BSD) + base::GetUrandomFD(); ++#endif + + // May use sysinfo(), sched_getaffinity(), and open various /sys/ and /proc/ + // files. +@@ -453,9 +462,16 @@ void PreSandboxInit() { + // https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md + CRYPTO_pre_sandbox_init(); + ++#if BUILDFLAG(IS_BSD) ++ // "cache" the amount of physical memory before pledge(2) ++ base::SysInfo::AmountOfPhysicalMemoryMB(); ++#endif ++ ++#if !BUILDFLAG(IS_BSD) + // Pre-read /proc/sys/fs/inotify/max_user_watches so it doesn't have to be + // allowed by the sandbox. + base::GetMaxNumberOfInotifyWatches(); ++#endif + + #if BUILDFLAG(ENABLE_PPAPI) + // Ensure access to the Pepper plugins before the sandbox is turned on. +@@ -767,7 +783,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( + unregister_thread_closure = base::HangWatcher::RegisterThread( + base::HangWatcher::ThreadType::kMainThread); + bool start_hang_watcher_now; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Linux/ChromeOS, the HangWatcher can't start until after the sandbox is + // initialized, because the sandbox can't be started with multiple threads. + // TODO(mpdenton): start the HangWatcher after the sandbox is initialized. +@@ -877,11 +893,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam + 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) + +@@ -1062,8 +1077,20 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam + process_type == switches::kZygoteProcess) { + PreSandboxInit(); + } ++#elif BUILDFLAG(IS_BSD) ++ PreSandboxInit(); + #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) +@@ -1160,6 +1187,11 @@ NO_STACK_PROTECTOR int 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/devel/electron33/files/patch-content_browser_BUILD.gn b/devel/electron33/files/patch-content_browser_BUILD.gn new file mode 100644 index 000000000000..a05f1306b2f2 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_BUILD.gn @@ -0,0 +1,33 @@ +--- content/browser/BUILD.gn.orig 2024-10-28 21:05:16 UTC ++++ content/browser/BUILD.gn +@@ -2433,6 +2433,14 @@ source_set("browser") { + ] + } + ++ if (is_bsd) { ++ sources += [ ++ "file_system_access/file_path_watcher/file_path_watcher_bsd.cc", ++ "file_system_access/file_path_watcher/file_path_watcher_kqueue.cc", ++ "file_system_access/file_path_watcher/file_path_watcher_kqueue.h", ++ ] ++ } ++ + if (is_linux || is_chromeos) { + sources += [ + "child_process_launcher_helper_linux.cc", +@@ -2476,6 +2484,15 @@ source_set("browser") { + if (allow_oop_video_decoder) { + sources += [ "media/stable_video_decoder_factory.cc" ] + deps += [ "//media/mojo/mojom/stable:stable_video_decoder" ] ++ } ++ ++ if (is_bsd) { ++ sources -= [ ++ "file_system_access/file_path_watcher/file_path_watcher_inotify.cc", ++ "file_system_access/file_path_watcher/file_path_watcher_inotify.h", ++ "sandbox_ipc_linux.cc", ++ "sandbox_ipc_linux.h", ++ ] + } + + if (is_chromeos) { diff --git a/devel/electron33/files/patch-content_browser_audio_audio__service.cc b/devel/electron33/files/patch-content_browser_audio_audio__service.cc new file mode 100644 index 000000000000..2fa79f446dde --- /dev/null +++ b/devel/electron33/files/patch-content_browser_audio_audio__service.cc @@ -0,0 +1,20 @@ +--- content/browser/audio/audio_service.cc.orig 2024-06-18 21:43:31 UTC ++++ content/browser/audio/audio_service.cc +@@ -32,7 +32,7 @@ + #if BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) + #include "ui/display/util/edid_parser.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/display/display_util.h" + #endif // BUILDFLAG(IS_LINUX) + +@@ -200,7 +200,7 @@ audio::mojom::AudioService& GetAudioService() { + ->PostTaskAndReplyWithResult( + FROM_HERE, base::BindOnce(&ScanEdidBitstreams), + base::BindOnce(&LaunchAudioService, std::move(receiver))); +-#elif BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) && BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(ENABLE_PASSTHROUGH_AUDIO_CODECS) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + LaunchAudioService( + std::move(receiver), + ConvertEdidBitstreams(display::DisplayUtil::GetAudioFormats())); diff --git a/devel/electron33/files/patch-content_browser_browser__child__process__host__impl.cc b/devel/electron33/files/patch-content_browser_browser__child__process__host__impl.cc new file mode 100644 index 000000000000..158adb5f045e --- /dev/null +++ b/devel/electron33/files/patch-content_browser_browser__child__process__host__impl.cc @@ -0,0 +1,19 @@ +--- content/browser/browser_child_process_host_impl.cc.orig 2024-10-16 21:31:26 UTC ++++ content/browser/browser_child_process_host_impl.cc +@@ -328,6 +328,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo + switches::kLogBestEffortTasks, + switches::kPerfettoDisableInterning, + switches::kTraceToConsole, ++ switches::kDisableUnveil, + }; + cmd_line->CopySwitchesFrom(browser_command_line, kForwardSwitches); + +@@ -659,7 +660,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched() + ->child_process()); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + child_thread_type_switcher_.SetPid(process.Pid()); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + diff --git a/devel/electron33/files/patch-content_browser_browser__child__process__host__impl.h b/devel/electron33/files/patch-content_browser_browser__child__process__host__impl.h new file mode 100644 index 000000000000..112a76834506 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_browser__child__process__host__impl.h @@ -0,0 +1,20 @@ +--- content/browser/browser_child_process_host_impl.h.orig 2024-08-14 20:54:59 UTC ++++ content/browser/browser_child_process_host_impl.h +@@ -35,7 +35,7 @@ + #include "base/win/object_watcher.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/browser/child_thread_type_switcher_linux.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -269,7 +269,7 @@ class BrowserChildProcessHostImpl + std::unique_ptr<tracing::SystemTracingService> system_tracing_service_; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + ChildThreadTypeSwitcher child_thread_type_switcher_; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + diff --git a/devel/electron33/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc b/devel/electron33/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc new file mode 100644 index 000000000000..6e61caae18dd --- /dev/null +++ b/devel/electron33/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc @@ -0,0 +1,11 @@ +--- content/browser/browser_child_process_host_impl_receiver_bindings.cc.orig 2023-11-29 21:40:01 UTC ++++ content/browser/browser_child_process_host_impl_receiver_bindings.cc +@@ -62,7 +62,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( + } + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (auto r = receiver.As<mojom::ThreadTypeSwitcher>()) { + child_thread_type_switcher_.Bind(std::move(r)); + return; diff --git a/devel/electron33/files/patch-content_browser_browser__main__loop.cc b/devel/electron33/files/patch-content_browser_browser__main__loop.cc new file mode 100644 index 000000000000..df903b678b1f --- /dev/null +++ b/devel/electron33/files/patch-content_browser_browser__main__loop.cc @@ -0,0 +1,37 @@ +--- content/browser/browser_main_loop.cc.orig 2024-10-16 21:31:26 UTC ++++ content/browser/browser_main_loop.cc +@@ -250,6 +250,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 +@@ -545,6 +551,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 +@@ -583,7 +595,7 @@ int BrowserMainLoop::EarlyInitialization() { + base::ThreadType::kDisplayCritical); + + #if BUILDFLAG(IS_APPLE) || 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 Apple is low (256), so bump it up. + diff --git a/devel/electron33/files/patch-content_browser_child__process__launcher__helper.h b/devel/electron33/files/patch-content_browser_child__process__launcher__helper.h new file mode 100644 index 000000000000..5b7203fc6e69 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_child__process__launcher__helper.h @@ -0,0 +1,11 @@ +--- content/browser/child_process_launcher_helper.h.orig 2024-10-16 21:31:26 UTC ++++ content/browser/child_process_launcher_helper.h +@@ -293,7 +293,7 @@ class ChildProcessLauncherHelper + std::optional<base::ProcessId> process_id_ = std::nullopt; + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The priority of the process. The state is stored to avoid changing the + // setting repeatedly. + std::optional<base::Process::Priority> priority_; diff --git a/devel/electron33/files/patch-content_browser_child__process__launcher__helper__linux.cc b/devel/electron33/files/patch-content_browser_child__process__launcher__helper__linux.cc new file mode 100644 index 000000000000..d01e9a9af7e3 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_child__process__launcher__helper__linux.cc @@ -0,0 +1,139 @@ +--- content/browser/child_process_launcher_helper_linux.cc.orig 2024-06-30 11:48:30 UTC ++++ content/browser/child_process_launcher_helper_linux.cc +@@ -22,7 +22,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 { +@@ -47,14 +49,20 @@ bool ChildProcessLauncherHelper::IsUsingLaunchOptions( + } + + bool ChildProcessLauncherHelper::IsUsingLaunchOptions() { ++#if !BUILDFLAG(IS_BSD) + return !GetZygoteForLaunch(); ++#else ++ return true; ++#endif + } + + bool ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread( + PosixFileDescriptorInfo& files_to_register, + base::LaunchOptions* options) { + if (options) { ++#if !BUILDFLAG(IS_BSD) + DCHECK(!GetZygoteForLaunch()); ++#endif + // Convert FD mapping to FileHandleMappingVector + options->fds_to_remap = files_to_register.GetMappingWithIDAdjustment( + base::GlobalDescriptors::kBaseDescriptor); +@@ -69,6 +77,7 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche + remapped_fd.first); + } + ++#if !BUILDFLAG(IS_BSD) + // (For Electron), if we're launching without zygote, that means we're + // launching an unsandboxed process (since all sandboxed processes are + // forked from the zygote). Relax the allow_new_privs option to permit +@@ -77,12 +86,15 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche + delegate_->GetZygote() == nullptr) { + options->allow_new_privs = true; + } ++#endif + + options->current_directory = delegate_->GetCurrentDirectory(); + options->environment = delegate_->GetEnvironment(); + options->clear_environment = !delegate_->ShouldInheritEnvironment(); + } else { ++#if !BUILDFLAG(IS_BSD) + DCHECK(GetZygoteForLaunch()); ++#endif + // Environment variables could be supported in the future, but are not + // currently supported when launching with the zygote. + DCHECK(delegate_->GetEnvironment().empty()); +@@ -99,6 +111,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + int* launch_result) { + *is_synchronous_launch = true; + Process process; ++#if !BUILDFLAG(IS_BSD) + ZygoteCommunication* zygote_handle = GetZygoteForLaunch(); + if (zygote_handle) { + // TODO(crbug.com/40448989): If chrome supported multiple zygotes they could +@@ -109,7 +122,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; +@@ -118,15 +130,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) + process_id_ = process.process.Pid(); +@@ -150,10 +164,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 { +@@ -179,13 +197,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( +@@ -198,11 +220,13 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnL + } + } + ++#if !BUILDFLAG(IS_BSD) + ZygoteCommunication* ChildProcessLauncherHelper::GetZygoteForLaunch() { + return base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote) + ? nullptr + : delegate_->GetZygote(); + } ++#endif + + base::File OpenFileToShare(const base::FilePath& path, + base::MemoryMappedFile::Region* region) { diff --git a/devel/electron33/files/patch-content_browser_child__thread__type__switcher__linux.cc b/devel/electron33/files/patch-content_browser_child__thread__type__switcher__linux.cc new file mode 100644 index 000000000000..7517e3c0bbbb --- /dev/null +++ b/devel/electron33/files/patch-content_browser_child__thread__type__switcher__linux.cc @@ -0,0 +1,20 @@ +--- content/browser/child_thread_type_switcher_linux.cc.orig 2024-10-16 21:31:26 UTC ++++ content/browser/child_thread_type_switcher_linux.cc +@@ -20,6 +20,9 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee + base::ThreadType thread_type) { + DCHECK(CurrentlyOnProcessLauncherTaskRunner()); + ++#if BUILDFLAG(IS_BSD) ++ NOTIMPLEMENTED(); ++#else + bool ns_pid_supported = false; + pid_t peer_tid = base::FindThreadID(peer_pid, ns_tid, &ns_pid_supported); + if (peer_tid == -1) { +@@ -39,6 +42,7 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee + + base::PlatformThread::SetThreadType(peer_pid, peer_tid, thread_type, + base::IsViaIPC(true)); ++#endif + } + + } // namespace diff --git a/devel/electron33/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/devel/electron33/files/patch-content_browser_compositor_viz__process__transport__factory.cc new file mode 100644 index 000000000000..db6ae4be4f67 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_compositor_viz__process__transport__factory.cc @@ -0,0 +1,11 @@ +--- content/browser/compositor/viz_process_transport_factory.cc.orig 2024-08-30 11:29:37 UTC ++++ content/browser/compositor/viz_process_transport_factory.cc +@@ -110,7 +110,7 @@ class HostDisplayClient : public viz::HostDisplayClien + HostDisplayClient& operator=(const HostDisplayClient&) = delete; + + // viz::HostDisplayClient: +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + void DidCompleteSwapWithNewSize(const gfx::Size& size) override { + compositor_->OnCompleteSwapWithNewSize(size); + } diff --git a/devel/electron33/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc b/devel/electron33/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc new file mode 100644 index 000000000000..09867aeaa050 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_devtools_devtools__frontend__host__impl.cc @@ -0,0 +1,38 @@ +--- content/browser/devtools/devtools_frontend_host_impl.cc.orig 2024-08-14 20:54:59 UTC ++++ content/browser/devtools/devtools_frontend_host_impl.cc +@@ -27,7 +27,7 @@ + #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" + #include "ui/base/webui/resource_path.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "components/crash/content/browser/error_reporting/javascript_error_report.h" // nogncheck + #include "components/crash/content/browser/error_reporting/js_error_report_processor.h" // nogncheck + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -42,7 +42,7 @@ const char kCompatibilityScriptSourceURL[] = + "\n//# " + "sourceURL=devtools://devtools/bundled/devtools_compatibility.js"; + +-#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. +@@ -112,7 +112,7 @@ DevToolsFrontendHostImpl::DevToolsFrontendHostImpl( + const HandleMessageCallback& handle_message_callback) + : web_contents_(WebContents::FromRenderFrameHost(frame_host)), + handle_message_callback_(handle_message_callback) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + Observe(web_contents_); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + mojo::AssociatedRemote<blink::mojom::DevToolsFrontend> frontend; +@@ -137,7 +137,7 @@ void DevToolsFrontendHostImpl::DispatchEmbedderMessage + handle_message_callback_.Run(std::move(message)); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void DevToolsFrontendHostImpl::OnDidAddMessageToConsole( + RenderFrameHost* source_frame, + blink::mojom::ConsoleMessageLevel log_level, diff --git a/devel/electron33/files/patch-content_browser_devtools_devtools__frontend__host__impl.h b/devel/electron33/files/patch-content_browser_devtools_devtools__frontend__host__impl.h new file mode 100644 index 000000000000..d256342eeb1f --- /dev/null +++ b/devel/electron33/files/patch-content_browser_devtools_devtools__frontend__host__impl.h @@ -0,0 +1,11 @@ +--- content/browser/devtools/devtools_frontend_host_impl.h.orig 2024-06-18 21:43:31 UTC ++++ content/browser/devtools/devtools_frontend_host_impl.h +@@ -34,7 +34,7 @@ class DevToolsFrontendHostImpl : public DevToolsFronte + + void BadMessageReceived() override; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void OnDidAddMessageToConsole( + RenderFrameHost* source_frame, + blink::mojom::ConsoleMessageLevel log_level, diff --git a/devel/electron33/files/patch-content_browser_devtools_protocol_system__info__handler.cc b/devel/electron33/files/patch-content_browser_devtools_protocol_system__info__handler.cc new file mode 100644 index 000000000000..ea62d0d1d001 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_devtools_protocol_system__info__handler.cc @@ -0,0 +1,11 @@ +--- content/browser/devtools/protocol/system_info_handler.cc.orig 2024-06-18 21:43:31 UTC ++++ content/browser/devtools/protocol/system_info_handler.cc +@@ -51,7 +51,7 @@ std::unique_ptr<SystemInfo::Size> GfxSizeToSystemInfoS + // 1046598, and 1153667. + // 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)) || \ ++#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && !defined(NDEBUG)) || \ + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_OZONE) + static constexpr int kGPUInfoWatchdogTimeoutMultiplierOS = 3; + #else diff --git a/devel/electron33/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h b/devel/electron33/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h new file mode 100644 index 000000000000..a7a4962f2ffb --- /dev/null +++ b/devel/electron33/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher.h @@ -0,0 +1,11 @@ +--- content/browser/file_system_access/file_path_watcher/file_path_watcher.h.orig 2024-10-16 21:31:26 UTC ++++ content/browser/file_system_access/file_path_watcher/file_path_watcher.h +@@ -125,7 +125,7 @@ class CONTENT_EXPORT FilePathWatcher { + Type type = Type::kNonRecursive; + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // The callback will return the full path to a changed file instead of + // the watched path supplied as |path| when Watch is called. + // So the full path can be different from the watched path when a folder is diff --git a/devel/electron33/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc b/devel/electron33/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc new file mode 100644 index 000000000000..99bdb518bfb5 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__bsd.cc @@ -0,0 +1,58 @@ +--- content/browser/file_system_access/file_path_watcher/file_path_watcher_bsd.cc.orig 2024-08-30 11:30:09 UTC ++++ content/browser/file_system_access/file_path_watcher/file_path_watcher_bsd.cc +@@ -0,0 +1,55 @@ ++// Copyright 2024 The Chromium Authors ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "content/browser/file_system_access/file_path_watcher/file_path_watcher.h" ++ ++#include <memory> ++ ++#include "base/memory/ptr_util.h" ++#include "build/build_config.h" ++#include "content/browser/file_system_access/file_path_watcher/file_path_watcher_kqueue.h" ++ ++namespace content { ++ ++namespace { ++ ++class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate { ++ public: ++ FilePathWatcherImpl() = default; ++ FilePathWatcherImpl(const FilePathWatcherImpl&) = delete; ++ FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete; ++ ~FilePathWatcherImpl() override = default; ++ ++ bool Watch(const base::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() ++ : FilePathWatcher(std::make_unique<FilePathWatcherImpl>()) {} ++ ++} // namespace content diff --git a/devel/electron33/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h b/devel/electron33/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h new file mode 100644 index 000000000000..0b487eff3b59 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_file__system__access_file__path__watcher_file__path__watcher__kqueue.h @@ -0,0 +1,10 @@ +--- content/browser/file_system_access/file_path_watcher/file_path_watcher_kqueue.h.orig 2024-08-14 20:54:59 UTC ++++ content/browser/file_system_access/file_path_watcher/file_path_watcher_kqueue.h +@@ -5,6 +5,7 @@ + #ifndef CONTENT_BROWSER_FILE_SYSTEM_ACCESS_FILE_PATH_WATCHER_FILE_PATH_WATCHER_KQUEUE_H_ + #define CONTENT_BROWSER_FILE_SYSTEM_ACCESS_FILE_PATH_WATCHER_FILE_PATH_WATCHER_KQUEUE_H_ + ++#include <sys/time.h> + #include <sys/event.h> + + #include <memory> diff --git a/devel/electron33/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc b/devel/electron33/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc new file mode 100644 index 000000000000..19c4f8d01842 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_file__system__access_file__system__access__local__path__watcher.cc @@ -0,0 +1,11 @@ +--- content/browser/file_system_access/file_system_access_local_path_watcher.cc.orig 2024-10-16 21:31:26 UTC ++++ content/browser/file_system_access/file_system_access_local_path_watcher.cc +@@ -63,7 +63,7 @@ void FileSystemAccessLocalPathWatcher::Initialize( + .type = scope().IsRecursive() ? FilePathWatcher::Type::kRecursive + : FilePathWatcher::Type::kNonRecursive, + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_MAC) ++ BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // Note: `report_modified_path` is also present on Android + // and Fuchsia. Update this switch if support for watching + // the local file system is added on those platforms. diff --git a/devel/electron33/files/patch-content_browser_font__access_font__enumeration__data__source.cc b/devel/electron33/files/patch-content_browser_font__access_font__enumeration__data__source.cc new file mode 100644 index 000000000000..c97bace8497b --- /dev/null +++ b/devel/electron33/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 2023-11-29 21:40:01 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_APPLE) + #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_APPLE) + 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_APPLE) + 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/devel/electron33/files/patch-content_browser_gpu_compositor__util.cc b/devel/electron33/files/patch-content_browser_gpu_compositor__util.cc new file mode 100644 index 000000000000..3037153f02a0 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_gpu_compositor__util.cc @@ -0,0 +1,20 @@ +--- content/browser/gpu/compositor_util.cc.orig 2024-08-14 20:54:59 UTC ++++ content/browser/gpu/compositor_util.cc +@@ -153,7 +153,7 @@ std::vector<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) || + #endif // BUILDFLAG(IS_LINUX) + command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode)), +@@ -165,7 +165,7 @@ std::vector<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/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl.cc b/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl.cc new file mode 100644 index 000000000000..80540e5cd1fd --- /dev/null +++ b/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl.cc @@ -0,0 +1,11 @@ +--- content/browser/gpu/gpu_data_manager_impl.cc.orig 2024-08-14 20:54:59 UTC ++++ content/browser/gpu/gpu_data_manager_impl.cc +@@ -402,7 +402,7 @@ void GpuDataManagerImpl::OnDisplayMetricsChanged( + private_->OnDisplayMetricsChanged(display, changed_metrics); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool GpuDataManagerImpl::IsGpuMemoryBufferNV12Supported() { + base::AutoLock auto_lock(lock_); + return private_->IsGpuMemoryBufferNV12Supported(); diff --git a/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl.h b/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl.h new file mode 100644 index 000000000000..cacc1c34da8c --- /dev/null +++ b/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl.h @@ -0,0 +1,11 @@ +--- content/browser/gpu/gpu_data_manager_impl.h.orig 2024-08-14 20:54:59 UTC ++++ content/browser/gpu/gpu_data_manager_impl.h +@@ -220,7 +220,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa + void OnDisplayMetricsChanged(const display::Display& display, + uint32_t changed_metrics) override; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool IsGpuMemoryBufferNV12Supported(); + void SetGpuMemoryBufferNV12Supported(bool supported); + #endif // BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc b/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc new file mode 100644 index 000000000000..bb5724d2d0c9 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc @@ -0,0 +1,11 @@ +--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2024-10-16 21:31:26 UTC ++++ content/browser/gpu/gpu_data_manager_impl_private.cc +@@ -1661,7 +1661,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( + UMA_HISTOGRAM_ENUMERATION("GPU.CompositingMode", compositing_mode); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool GpuDataManagerImplPrivate::IsGpuMemoryBufferNV12Supported() { + return is_gpu_memory_buffer_NV12_supported_; + } diff --git a/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h b/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h new file mode 100644 index 000000000000..3ea0de7baf64 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h @@ -0,0 +1,20 @@ +--- content/browser/gpu/gpu_data_manager_impl_private.h.orig 2024-08-14 20:54:59 UTC ++++ content/browser/gpu/gpu_data_manager_impl_private.h +@@ -147,7 +147,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { + void OnDisplayMetricsChanged(const display::Display& display, + uint32_t changed_metrics); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool IsGpuMemoryBufferNV12Supported(); + void SetGpuMemoryBufferNV12Supported(bool supported); + #endif // BUILDFLAG(IS_LINUX) +@@ -303,7 +303,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { + bool application_is_visible_ = true; + + bool disable_gpu_compositing_ = false; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool is_gpu_memory_buffer_NV12_supported_ = false; + #endif // BUILDFLAG(IS_LINUX) + }; diff --git a/devel/electron33/files/patch-content_browser_gpu_gpu__memory__buffer__manager__singleton.cc b/devel/electron33/files/patch-content_browser_gpu_gpu__memory__buffer__manager__singleton.cc new file mode 100644 index 000000000000..8049583dfa59 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_gpu_gpu__memory__buffer__manager__singleton.cc @@ -0,0 +1,20 @@ +--- content/browser/gpu/gpu_memory_buffer_manager_singleton.cc.orig 2024-10-16 21:31:26 UTC ++++ content/browser/gpu/gpu_memory_buffer_manager_singleton.cc +@@ -46,7 +46,7 @@ scoped_refptr<base::SingleThreadTaskRunner> GetTaskRun + #endif + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool IsGpuMemoryBufferNV12Supported() { + static bool is_computed = false; + static bool supported = false; +@@ -98,7 +98,7 @@ void GpuMemoryBufferManagerSingleton::OnGpuExtraInfoUp + } + + void GpuMemoryBufferManagerSingleton::OnGpuExtraInfoUpdate() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Dynamic check whether the NV12 format is supported as it may be + // inconsistent between the system GBM (Generic Buffer Management) and + // chromium miniGBM. diff --git a/devel/electron33/files/patch-content_browser_gpu_gpu__process__host.cc b/devel/electron33/files/patch-content_browser_gpu_gpu__process__host.cc new file mode 100644 index 000000000000..b4af5074ff62 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_gpu_gpu__process__host.cc @@ -0,0 +1,19 @@ +--- content/browser/gpu/gpu_process_host.cc.orig 2024-10-16 21:31:26 UTC ++++ content/browser/gpu/gpu_process_host.cc +@@ -275,6 +275,7 @@ static const char* const kSwitchNames[] = { + switches::kEnableLowEndDeviceMode, + switches::kDisableSkiaGraphite, + switches::kDisableLowEndDeviceMode, ++ switches::kDisableUnveil, + switches::kProfilingAtStart, + switches::kProfilingFile, + switches::kProfilingFlush, +@@ -302,7 +303,7 @@ static const char* const kSwitchNames[] = { + switches::kOzoneDumpFile, + switches::kEnableNativeGpuMemoryBuffers, + #endif +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + switches::kX11Display, + switches::kNoXshm, + #endif diff --git a/devel/electron33/files/patch-content_browser_media_frameless__media__interface__proxy.h b/devel/electron33/files/patch-content_browser_media_frameless__media__interface__proxy.h new file mode 100644 index 000000000000..63e7fbd6c280 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_media_frameless__media__interface__proxy.h @@ -0,0 +1,20 @@ +--- content/browser/media/frameless_media_interface_proxy.h.orig 2024-06-18 21:43:31 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) + +@@ -105,7 +105,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/devel/electron33/files/patch-content_browser_media_media__keys__listener__manager__impl.cc b/devel/electron33/files/patch-content_browser_media_media__keys__listener__manager__impl.cc new file mode 100644 index 000000000000..e841c52aff98 --- /dev/null +++ b/devel/electron33/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 2024-08-30 11:29:37 UTC ++++ content/browser/media/media_keys_listener_manager_impl.cc +@@ -337,7 +337,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe + return; + } + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || BUILDFLAG(IS_WIN) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) || BUILDFLAG(IS_WIN) + // Create SystemMediaControls with the SingletonHwnd. + browser_system_media_controls_ = + system_media_controls::SystemMediaControls::Create( diff --git a/devel/electron33/files/patch-content_browser_network__service__instance__impl.cc b/devel/electron33/files/patch-content_browser_network__service__instance__impl.cc new file mode 100644 index 000000000000..01c716466718 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_network__service__instance__impl.cc @@ -0,0 +1,29 @@ +--- content/browser/network_service_instance_impl.cc.orig 2024-10-16 21:31:26 UTC ++++ content/browser/network_service_instance_impl.cc +@@ -85,7 +85,7 @@ + #include "content/browser/network/network_service_process_tracker_win.h" + #endif + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/browser/system_dns_resolution/system_dns_resolver.h" + #include "services/network/public/mojom/system_dns_resolution.mojom-forward.h" + #endif +@@ -368,7 +368,7 @@ void CreateInProcessNetworkService( + std::move(receiver))); + } + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Runs a self-owned SystemDnsResolverMojoImpl. This is meant to run on a + // high-priority thread pool. + void RunSystemDnsResolverOnThreadPool( +@@ -437,7 +437,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS + } + #endif // BUILDFLAG(IS_POSIX) + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (GetContentClient() + ->browser() + ->ShouldRunOutOfProcessSystemDnsResolution() && diff --git a/devel/electron33/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc b/devel/electron33/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc new file mode 100644 index 000000000000..db671fc88b41 --- /dev/null +++ b/devel/electron33/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-02-28 16:54:41 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/devel/electron33/files/patch-content_browser_renderer__host_delegated__frame__host.cc b/devel/electron33/files/patch-content_browser_renderer__host_delegated__frame__host.cc new file mode 100644 index 000000000000..7c97b2fec3d0 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_renderer__host_delegated__frame__host.cc @@ -0,0 +1,11 @@ +--- content/browser/renderer_host/delegated_frame_host.cc.orig 2024-04-15 20:33:57 UTC ++++ content/browser/renderer_host/delegated_frame_host.cc +@@ -318,7 +318,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/devel/electron33/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc b/devel/electron33/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc new file mode 100644 index 000000000000..00e9275d7d0d --- /dev/null +++ b/devel/electron33/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-02-28 16:54:41 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/devel/electron33/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc b/devel/electron33/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc new file mode 100644 index 000000000000..b2142c8c0464 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_renderer__host_media_service__video__capture__device__launcher.cc @@ -0,0 +1,20 @@ +--- content/browser/renderer_host/media/service_video_capture_device_launcher.cc.orig 2024-06-18 21:43:31 UTC ++++ content/browser/renderer_host/media/service_video_capture_device_launcher.cc +@@ -25,7 +25,7 @@ + #include "media/base/media_switches.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "content/browser/gpu/gpu_data_manager_impl.h" + #endif + +@@ -173,7 +173,7 @@ void ServiceVideoCaptureDeviceLauncher::LaunchDeviceAs + } + #else + if (switches::IsVideoCaptureUseGpuMemoryBufferEnabled()) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Linux, additionally check whether the NV12 GPU memory buffer is + // supported. + if (GpuDataManagerImpl::GetInstance()->IsGpuMemoryBufferNV12Supported()) diff --git a/devel/electron33/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc b/devel/electron33/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc new file mode 100644 index 000000000000..d56613d57656 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc @@ -0,0 +1,20 @@ +--- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2024-02-21 00:20:45 UTC ++++ content/browser/renderer_host/pepper/pepper_file_io_host.cc +@@ -462,7 +462,7 @@ void PepperFileIOHost::OnLocalFileOpened( + ppapi::host::ReplyMessageContext reply_context, + const base::FilePath& path, + base::File::Error error_code) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Quarantining a file before its contents are available is only supported on + // Windows and Linux. + if (!FileOpenForWrite(open_flags_) || error_code != base::File::FILE_OK) { +@@ -496,7 +496,7 @@ void PepperFileIOHost::OnLocalFileOpened( + #endif + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void PepperFileIOHost::OnLocalFileQuarantined( + ppapi::host::ReplyMessageContext reply_context, + const base::FilePath& path, diff --git a/devel/electron33/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/devel/electron33/files/patch-content_browser_renderer__host_render__process__host__impl.cc new file mode 100644 index 000000000000..67d5a881ea05 --- /dev/null +++ b/devel/electron33/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 2024-10-28 21:05:16 UTC ++++ content/browser/renderer_host/render_process_host_impl.cc +@@ -220,7 +220,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 +@@ -1082,7 +1082,7 @@ size_t GetPlatformProcessLimit() { + // 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; +@@ -1263,7 +1263,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::SetPid( + + void RenderProcessHostImpl::IOThreadHostImpl::SetPid( + base::ProcessId child_pid) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + child_thread_type_switcher_.SetPid(child_pid); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + } +@@ -3290,7 +3290,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine( + base::TimeTicks::UnixEpoch().since_origin().InMicroseconds())); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Append `kDisableVideoCaptureUseGpuMemoryBuffer` flag if there is no support + // for NV12 GPU memory buffer. + if (switches::IsVideoCaptureUseGpuMemoryBufferEnabled() && +@@ -3346,6 +3346,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin + switches::kDisableSpeechAPI, + switches::kDisableThreadedCompositing, + switches::kDisableTouchDragDrop, ++ switches::kDisableUnveil, + switches::kDisableV8IdleTasks, + switches::kDisableVideoCaptureUseGpuMemoryBuffer, + switches::kDisableWebGLImageChromium, +@@ -5116,7 +5117,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr + // - Win: https://crbug.com/707022 . + uint64_t total_size = 0; + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + total_size = dump->platform_private_footprint->rss_anon_bytes + + dump->platform_private_footprint->vm_swap_bytes; + #elif BUILDFLAG(IS_APPLE) diff --git a/devel/electron33/files/patch-content_browser_renderer__host_render__process__host__impl.h b/devel/electron33/files/patch-content_browser_renderer__host_render__process__host__impl.h new file mode 100644 index 000000000000..d710994f5653 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_renderer__host_render__process__host__impl.h @@ -0,0 +1,29 @@ +--- content/browser/renderer_host/render_process_host_impl.h.orig 2024-10-16 21:31:27 UTC ++++ content/browser/renderer_host/render_process_host_impl.h +@@ -102,7 +102,7 @@ + #include "media/fuchsia_media_codec_provider_impl.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/browser/child_thread_type_switcher_linux.h" + #include "media/mojo/mojom/video_encode_accelerator.mojom.h" + #endif +@@ -612,7 +612,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) +@@ -977,7 +977,7 @@ class CONTENT_EXPORT RenderProcessHostImpl + std::unique_ptr<service_manager::BinderRegistry> binders_; + mojo::Receiver<mojom::ChildProcessHost> receiver_{this}; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + mojo::Remote<media::mojom::VideoEncodeAcceleratorProviderFactory> + video_encode_accelerator_factory_remote_; + ChildThreadTypeSwitcher child_thread_type_switcher_; diff --git a/devel/electron33/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc b/devel/electron33/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc new file mode 100644 index 000000000000..718371aeff74 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc @@ -0,0 +1,20 @@ +--- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2024-08-14 20:54:59 UTC ++++ content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc +@@ -52,7 +52,7 @@ + #include "third_party/blink/public/mojom/webdatabase/web_database.mojom.h" + #endif + +-#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 + #include "content/browser/media/video_encode_accelerator_provider_launcher.h" +@@ -341,7 +341,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost + } + #endif + +-#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/devel/electron33/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/devel/electron33/files/patch-content_browser_renderer__host_render__view__host__impl.cc new file mode 100644 index 000000000000..17a2b393a7e2 --- /dev/null +++ b/devel/electron33/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 2024-10-28 21:05:16 UTC ++++ content/browser/renderer_host/render_view_host_impl.cc +@@ -275,7 +275,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) + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (command_line->HasSwitch(switches::kSystemFontFamily)) { + prefs->system_font_family_name = diff --git a/devel/electron33/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/devel/electron33/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc new file mode 100644 index 000000000000..2a2ef1578bda --- /dev/null +++ b/devel/electron33/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 2024-10-28 21:05:17 UTC ++++ content/browser/renderer_host/render_widget_host_view_aura.cc +@@ -121,7 +121,7 @@ + #include "ui/gfx/gdi_util.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/accessibility/platform/browser_accessibility_auralinux.h" + #include "ui/base/ime/linux/text_edit_command_auralinux.h" + #include "ui/base/ime/text_input_flags.h" +@@ -484,7 +484,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge + return ToBrowserAccessibilityWin(manager->GetBrowserAccessibilityRoot()) + ->GetCOM(); + +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ui::BrowserAccessibilityManager* manager = + host()->GetOrCreateRootBrowserAccessibilityManager(); + if (manager && manager->GetBrowserAccessibilityRoot()) +@@ -1745,7 +1745,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { + return host() && host()->delegate() && host()->delegate()->ShouldDoLearning(); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool RenderWidgetHostViewAura::SetCompositionFromExistingText( + const gfx::Range& range, + const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) { +@@ -2654,7 +2654,7 @@ bool RenderWidgetHostViewAura::NeedsMouseCapture() { + } + + 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; +@@ -2838,7 +2838,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_if_unhandled && linux_ui && event.os_event && diff --git a/devel/electron33/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h b/devel/electron33/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h new file mode 100644 index 000000000000..7cbfc952c6ed --- /dev/null +++ b/devel/electron33/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 2024-10-28 21:05:17 UTC ++++ content/browser/renderer_host/render_widget_host_view_aura.h +@@ -267,7 +267,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/devel/electron33/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/devel/electron33/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc new file mode 100644 index 000000000000..4da13bff0281 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:54:59 UTC ++++ content/browser/renderer_host/render_widget_host_view_event_handler.cc +@@ -602,7 +602,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand + if (event->type() == ui::EventType::kMouseExited) { + 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/devel/electron33/files/patch-content_browser_sandbox__host__linux.cc b/devel/electron33/files/patch-content_browser_sandbox__host__linux.cc new file mode 100644 index 000000000000..d8ad72022d43 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_sandbox__host__linux.cc @@ -0,0 +1,18 @@ +--- content/browser/sandbox_host_linux.cc.orig 2023-10-19 19:58:22 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 !BUILDFLAG(IS_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/devel/electron33/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc b/devel/electron33/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc new file mode 100644 index 000000000000..217f514f0c8a --- /dev/null +++ b/devel/electron33/files/patch-content_browser_scheduler_responsiveness_jank__monitor__impl.cc @@ -0,0 +1,11 @@ +--- content/browser/scheduler/responsiveness/jank_monitor_impl.cc.orig 2024-08-14 20:54:59 UTC ++++ content/browser/scheduler/responsiveness/jank_monitor_impl.cc +@@ -340,7 +340,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)) && \ ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) && \ + BUILDFLAG(IS_OZONE) + task_execution_metadata_.clear(); + #endif diff --git a/devel/electron33/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc b/devel/electron33/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc new file mode 100644 index 000000000000..07a8c97d46c8 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc @@ -0,0 +1,20 @@ +--- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h b/devel/electron33/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h new file mode 100644 index 000000000000..a051fea15045 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h @@ -0,0 +1,47 @@ +--- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2023-02-01 18:43:19 UTC ++++ content/browser/scheduler/responsiveness/native_event_observer.h +@@ -16,7 +16,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 + +@@ -41,7 +41,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 +@@ -58,7 +58,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; +@@ -74,7 +74,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, +@@ -91,7 +91,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 { + raw_ptr<const void> unique_id; + }; diff --git a/devel/electron33/files/patch-content_browser_utility__process__host.cc b/devel/electron33/files/patch-content_browser_utility__process__host.cc new file mode 100644 index 000000000000..94d444dea494 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_utility__process__host.cc @@ -0,0 +1,72 @@ +--- content/browser/utility_process_host.cc.orig 2024-10-28 21:05:18 UTC ++++ content/browser/utility_process_host.cc +@@ -62,7 +62,7 @@ + #include "content/browser/v8_snapshot_files.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/files/file_util.h" + #include "base/files/scoped_file.h" + #include "base/pickle.h" +@@ -75,7 +75,7 @@ + #include "services/network/public/mojom/network_service.mojom.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "base/task/sequenced_task_runner.h" + #include "components/viz/host/gpu_client.h" + #include "media/capture/capture_switches.h" +@@ -86,7 +86,7 @@ namespace { + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::ScopedFD PassNetworkContextParentDirs( + std::vector<base::FilePath> network_context_parent_dirs) { + base::Pickle pickle; +@@ -151,7 +151,7 @@ UtilityProcessHost::UtilityProcessHost(std::unique_ptr + started_(false), + name_(u"utility process"), + file_data_(std::make_unique<ChildProcessLauncherFileData>()), +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + allowed_gpu_(false), + gpu_client_(nullptr, base::OnTaskRunnerDeleter(nullptr)), + #endif +@@ -212,7 +212,7 @@ void UtilityProcessHost::SetAllowGpuClient() { + #endif // BUILDFLAG(IS_WIN) + + void UtilityProcessHost::SetAllowGpuClient() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + allowed_gpu_ = true; + #endif + } +@@ -432,7 +432,7 @@ bool UtilityProcessHost::StartProcess() { + file_data_->files_to_preload.merge(GetV8SnapshotFilesToPreload(*cmd_line)); + #endif // BUILDFLAG(IS_POSIX) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The network service should have access to the parent directories + // necessary for its usage. + if (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork) { +@@ -443,13 +443,13 @@ bool UtilityProcessHost::StartProcess() { + } + #endif // BUILDFLAG(IS_LINUX) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + // Pass `kVideoCaptureUseGpuMemoryBuffer` flag to video capture service only + // when the video capture use GPU memory buffer enabled. + if (metrics_name_ == video_capture::mojom::VideoCaptureService::Name_) { + bool pass_gpu_buffer_flag = + switches::IsVideoCaptureUseGpuMemoryBufferEnabled(); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Check if NV12 GPU memory buffer supported at the same time. + pass_gpu_buffer_flag = + pass_gpu_buffer_flag && diff --git a/devel/electron33/files/patch-content_browser_utility__process__host.h b/devel/electron33/files/patch-content_browser_utility__process__host.h new file mode 100644 index 000000000000..c3c262dd65d9 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_utility__process__host.h @@ -0,0 +1,20 @@ +--- content/browser/utility_process_host.h.orig 2024-10-28 21:05:18 UTC ++++ content/browser/utility_process_host.h +@@ -37,7 +37,7 @@ class Thread; + class Thread; + } // namespace base + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + namespace viz { + class GpuClient; + } // namespace viz +@@ -244,7 +244,7 @@ class CONTENT_EXPORT UtilityProcessHost + }; + LaunchState launch_state_ = LaunchState::kLaunchInProgress; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + bool allowed_gpu_; + std::unique_ptr<viz::GpuClient, base::OnTaskRunnerDeleter> gpu_client_; + #endif diff --git a/devel/electron33/files/patch-content_browser_utility__process__host__receiver__bindings.cc b/devel/electron33/files/patch-content_browser_utility__process__host__receiver__bindings.cc new file mode 100644 index 000000000000..38b995951a0d --- /dev/null +++ b/devel/electron33/files/patch-content_browser_utility__process__host__receiver__bindings.cc @@ -0,0 +1,33 @@ +--- content/browser/utility_process_host_receiver_bindings.cc.orig 2024-04-15 20:33:57 UTC ++++ content/browser/utility_process_host_receiver_bindings.cc +@@ -10,12 +10,12 @@ + #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 + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "components/viz/host/gpu_client.h" + #include "content/public/browser/gpu_client.h" + #endif +@@ -24,13 +24,13 @@ void UtilityProcessHost::BindHostReceiver( + + 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; + } + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + if (allowed_gpu_) { + // TODO(crbug.com/328099369) Remove once all clients get this directly. + if (auto gpu_receiver = receiver.As<viz::mojom::Gpu>()) { diff --git a/devel/electron33/files/patch-content_browser_utility__sandbox__delegate.cc b/devel/electron33/files/patch-content_browser_utility__sandbox__delegate.cc new file mode 100644 index 000000000000..26bd2dc9cd64 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_utility__sandbox__delegate.cc @@ -0,0 +1,28 @@ +--- content/browser/utility_sandbox_delegate.cc.orig 2024-10-28 21:05:17 UTC ++++ content/browser/utility_sandbox_delegate.cc +@@ -78,10 +78,10 @@ UtilitySandboxedProcessLauncherDelegate:: + #if BUILDFLAG(IS_FUCHSIA) + 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_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoEncoding || + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + #if BUILDFLAG(IS_CHROMEOS_ASH) +@@ -156,10 +156,10 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe + // process upon startup. + if (sandbox_type_ == sandbox::mojom::Sandbox::kNetwork || + sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceModelExecution || +-#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_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoEncoding || + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + #if BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/devel/electron33/files/patch-content_browser_v8__snapshot__files.cc b/devel/electron33/files/patch-content_browser_v8__snapshot__files.cc new file mode 100644 index 000000000000..0d1d69308070 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_v8__snapshot__files.cc @@ -0,0 +1,11 @@ +--- content/browser/v8_snapshot_files.cc.orig 2024-06-18 21:43:32 UTC ++++ content/browser/v8_snapshot_files.cc +@@ -17,7 +17,7 @@ GetV8SnapshotFilesToPreload(base::CommandLine& process + std::map<std::string, absl::variant<base::FilePath, base::ScopedFD>> + GetV8SnapshotFilesToPreload(base::CommandLine& process_command_line) { + std::map<std::string, absl::variant<base::FilePath, base::ScopedFD>> files; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(USE_V8_CONTEXT_SNAPSHOT) + files[kV8ContextSnapshotDataDescriptor] = base::FilePath( + FILE_PATH_LITERAL(BUILDFLAG(V8_CONTEXT_SNAPSHOT_FILENAME))); diff --git a/devel/electron33/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/devel/electron33/files/patch-content_browser_web__contents_web__contents__view__aura.cc new file mode 100644 index 000000000000..ddeca86c9513 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:27 UTC ++++ content/browser/web_contents/web_contents_view_aura.cc +@@ -174,7 +174,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, +@@ -258,7 +258,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. +@@ -1324,7 +1324,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/devel/electron33/files/patch-content_browser_webui_web__ui__main__frame__observer.cc b/devel/electron33/files/patch-content_browser_webui_web__ui__main__frame__observer.cc new file mode 100644 index 000000000000..d6bb2940679f --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:32 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/feature_list.h" + #include "base/functional/callback_helpers.h" + #include "base/logging.h" +@@ -31,7 +31,7 @@ namespace { + + 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() = de + + 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, +@@ -167,7 +167,7 @@ void WebUIMainFrameObserver::ReadyToCommitNavigation( + + // TODO(crbug.com/40149439) 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/devel/electron33/files/patch-content_browser_webui_web__ui__main__frame__observer.h b/devel/electron33/files/patch-content_browser_webui_web__ui__main__frame__observer.h new file mode 100644 index 000000000000..6466dad6ad74 --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:32 UTC ++++ content/browser/webui/web_ui_main_frame_observer.h +@@ -44,7 +44,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W + + // TODO(crbug.com/40149439) 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/devel/electron33/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc b/devel/electron33/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc new file mode 100644 index 000000000000..5fa84b287239 --- /dev/null +++ b/devel/electron33/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc @@ -0,0 +1,81 @@ +--- content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2024-10-16 21:31:27 UTC ++++ content/browser/zygote_host/zygote_host_impl_linux.cc +@@ -19,8 +19,10 @@ + #include "build/chromeos_buildflags.h" + #include "content/common/zygote/zygote_commands_linux.h" + #include "content/common/zygote/zygote_communication_linux.h" ++#if !BUILDFLAG(IS_BSD) + #include "content/common/zygote/zygote_handle_impl_linux.h" + #include "content/public/common/zygote/zygote_handle.h" ++#endif + #include "sandbox/linux/services/credentials.h" + #include "sandbox/linux/services/namespace_sandbox.h" + #include "sandbox/linux/suid/client/setuid_sandbox_host.h" +@@ -38,6 +40,7 @@ namespace { + + 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, +@@ -60,6 +63,7 @@ bool ReceiveFixedMessage(int fd, + return false; + return true; + } ++#endif + + } // namespace + +@@ -69,9 +73,13 @@ ZygoteHostImpl::ZygoteHostImpl() + } + + 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_() {} +@@ -84,6 +92,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com + } + + void ZygoteHostImpl::Init(const base::CommandLine& command_line) { ++#if !BUILDFLAG(IS_BSD) + if (command_line.HasSwitch(sandbox::policy::switches::kNoSandbox)) { + return; + } +@@ -138,6 +147,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com + "you can try using --" + << sandbox::policy::switches::kNoSandbox << "."; + } ++#endif + } + + void ZygoteHostImpl::AddZygotePid(pid_t pid) { +@@ -162,6 +172,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 | SOCK_CLOEXEC, 0, fds)); + CHECK(base::UnixDomainSocket::EnableReceiveProcessId(fds[0])); +@@ -230,9 +241,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/devel/electron33/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h b/devel/electron33/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h new file mode 100644 index 000000000000..ef9868a470dc --- /dev/null +++ b/devel/electron33/files/patch-content_browser_zygote__host_zygote__host__impl__linux.h @@ -0,0 +1,29 @@ +--- content/browser/zygote_host/zygote_host_impl_linux.h.orig 2023-02-01 18:43:19 UTC ++++ content/browser/zygote_host/zygote_host_impl_linux.h +@@ -47,12 +47,14 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos + base::ScopedFD* control_fd, + base::FileHandleMappingVector additional_remapped_fds); + ++#if !BUILDFLAG(IS_BSD) + void AdjustRendererOOMScore(base::ProcessHandle process_handle, + int score) override; + #if BUILDFLAG(IS_CHROMEOS) + void ReinitializeLogging(uint32_t logging_dest, + base::PlatformFile log_file_fd) override; + #endif // BUILDFLAG(IS_CHROMEOS) ++#endif + + bool HasZygote() { return !zygote_pids_.empty(); } + +@@ -67,9 +69,11 @@ class CONTENT_EXPORT ZygoteHostImpl : public ZygoteHos + + int renderer_sandbox_status_; + ++#if !BUILDFLAG(IS_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/devel/electron33/files/patch-content_child_BUILD.gn b/devel/electron33/files/patch-content_child_BUILD.gn new file mode 100644 index 000000000000..595edffe65a3 --- /dev/null +++ b/devel/electron33/files/patch-content_child_BUILD.gn @@ -0,0 +1,16 @@ +--- content/child/BUILD.gn.orig 2024-06-18 21:43:32 UTC ++++ content/child/BUILD.gn +@@ -130,6 +130,13 @@ target(link_target_type, "child") { + ] + } + ++ if (is_bsd) { ++ sources -= [ ++ "sandboxed_process_thread_type_handler.cc", ++ "sandboxed_process_thread_type_handler.h", ++ ] ++ } ++ + if (is_win) { + sources += [ + "dwrite_font_proxy/dwrite_font_proxy_init_impl_win.cc", diff --git a/devel/electron33/files/patch-content_child_child__process.cc b/devel/electron33/files/patch-content_child_child__process.cc new file mode 100644 index 000000000000..cc3ff09f5dc4 --- /dev/null +++ b/devel/electron33/files/patch-content_child_child__process.cc @@ -0,0 +1,20 @@ +--- content/child/child_process.cc.orig 2024-10-16 21:31:27 UTC ++++ content/child/child_process.cc +@@ -32,7 +32,7 @@ + #include "content/common/android/cpu_time_metrics.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/child/sandboxed_process_thread_type_handler.h" + #endif + +@@ -179,7 +179,7 @@ void ChildProcess::set_main_thread(ChildThreadImpl* th + main_thread_.reset(thread); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void ChildProcess::SetIOThreadType(base::ThreadType thread_type) { + if (!io_thread_) { + return; diff --git a/devel/electron33/files/patch-content_child_child__process.h b/devel/electron33/files/patch-content_child_child__process.h new file mode 100644 index 000000000000..d102d83c24d0 --- /dev/null +++ b/devel/electron33/files/patch-content_child_child__process.h @@ -0,0 +1,11 @@ +--- content/child/child_process.h.orig 2024-08-14 20:54:59 UTC ++++ content/child/child_process.h +@@ -79,7 +79,7 @@ class CONTENT_EXPORT ChildProcess { + return io_thread_runner_.get(); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Changes the thread type of the child process IO thread. + void SetIOThreadType(base::ThreadType thread_type); + #endif diff --git a/devel/electron33/files/patch-content_common_BUILD.gn b/devel/electron33/files/patch-content_common_BUILD.gn new file mode 100644 index 000000000000..d62ac9c7502d --- /dev/null +++ b/devel/electron33/files/patch-content_common_BUILD.gn @@ -0,0 +1,36 @@ +--- content/common/BUILD.gn.orig 2024-10-28 21:05:15 UTC ++++ content/common/BUILD.gn +@@ -387,19 +387,28 @@ source_set("common") { + } + + if (is_linux || is_chromeos) { +- sources += [ +- "gpu_pre_sandbox_hook_linux.cc", +- "gpu_pre_sandbox_hook_linux.h", +- ] ++ if (is_bsd) { ++ sources += [ ++ "gpu_pre_sandbox_hook_bsd.cc", ++ "gpu_pre_sandbox_hook_bsd.h", ++ ] ++ } else { ++ sources += [ ++ "gpu_pre_sandbox_hook_linux.cc", ++ "gpu_pre_sandbox_hook_linux.h", ++ ] ++ } + public_deps += [ "//sandbox/policy" ] + deps += [ + ":sandbox_support_linux", + "//media/gpu:buildflags", + "//sandbox/linux:sandbox_services", +- "//sandbox/linux:seccomp_bpf", + "//sandbox/policy:chromecast_sandbox_allowlist_buildflags", + "//third_party/fontconfig", + ] ++ if (use_seccomp_bpf) { ++ deps += [ "//sandbox/linux:seccomp_bpf" ] ++ } + if (use_v4l2_codec) { + deps += [ "//media/gpu/v4l2" ] + } diff --git a/devel/electron33/files/patch-content_common_features.cc b/devel/electron33/files/patch-content_common_features.cc new file mode 100644 index 000000000000..352c08576997 --- /dev/null +++ b/devel/electron33/files/patch-content_common_features.cc @@ -0,0 +1,20 @@ +--- content/common/features.cc.orig 2024-10-16 21:31:27 UTC ++++ content/common/features.cc +@@ -143,7 +143,7 @@ BASE_FEATURE(kEnableBackForwardCacheForOngoingSubframe + base::FEATURE_ENABLED_BY_DEFAULT); + + // Enables error reporting for JS errors inside DevTools frontend host +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kEnableDevToolsJsErrorReporting, + "EnableDevToolsJsErrorReporting", + base::FEATURE_DISABLED_BY_DEFAULT); +@@ -299,7 +299,7 @@ BASE_FEATURE(kGroupNIKByJoiningOrigin, + // process and having browser process handle adjusting thread properties (nice + // value, c-group, latency sensitivity...) for children which have sandbox + // restrictions. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kHandleChildThreadTypeChangesInBrowser, + "HandleChildThreadTypeChangesInBrowser", + base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/devel/electron33/files/patch-content_common_features.h b/devel/electron33/files/patch-content_common_features.h new file mode 100644 index 000000000000..376d60af5f66 --- /dev/null +++ b/devel/electron33/files/patch-content_common_features.h @@ -0,0 +1,20 @@ +--- content/common/features.h.orig 2024-10-16 21:31:27 UTC ++++ content/common/features.h +@@ -34,7 +34,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE( + CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnableBackForwardCacheForScreenReader); + CONTENT_EXPORT BASE_DECLARE_FEATURE( + kEnableBackForwardCacheForOngoingSubframeNavigation); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnableDevToolsJsErrorReporting); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + CONTENT_EXPORT BASE_DECLARE_FEATURE(kEmbeddingRequiresOptIn); +@@ -76,7 +76,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kGroupNIKByJoining + CONTENT_EXPORT BASE_DECLARE_FEATURE(kGpuInfoCollectionSeparatePrefetch); + #endif + CONTENT_EXPORT BASE_DECLARE_FEATURE(kGroupNIKByJoiningOrigin); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + CONTENT_EXPORT BASE_DECLARE_FEATURE(kHandleChildThreadTypeChangesInBrowser); + #endif + #if BUILDFLAG(IS_ANDROID) diff --git a/devel/electron33/files/patch-content_common_font__list__unittest.cc b/devel/electron33/files/patch-content_common_font__list__unittest.cc new file mode 100644 index 000000000000..174ea1144110 --- /dev/null +++ b/devel/electron33/files/patch-content_common_font__list__unittest.cc @@ -0,0 +1,11 @@ +--- content/common/font_list_unittest.cc.orig 2024-06-18 21:43:32 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/devel/electron33/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc b/devel/electron33/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc new file mode 100644 index 000000000000..f2d60daa4a29 --- /dev/null +++ b/devel/electron33/files/patch-content_common_gpu__pre__sandbox__hook__bsd.cc @@ -0,0 +1,71 @@ +--- content/common/gpu_pre_sandbox_hook_bsd.cc.orig 2024-04-28 08:50:26 UTC ++++ content/common/gpu_pre_sandbox_hook_bsd.cc +@@ -0,0 +1,68 @@ ++// Copyright 2023 The Chromium Authors ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "content/common/gpu_pre_sandbox_hook_bsd.h" ++ ++#include <dlfcn.h> ++#include <errno.h> ++#include <sys/stat.h> ++ ++#include <memory> ++#include <sstream> ++#include <utility> ++#include <vector> ++ ++#include "base/base_paths.h" ++#include "base/files/file_enumerator.h" ++#include "base/files/file_path.h" ++#include "base/files/scoped_file.h" ++#include "base/functional/bind.h" ++#include "base/logging.h" ++#include "base/path_service.h" ++#include "base/strings/stringprintf.h" ++#include "build/build_config.h" ++#include "build/buildflag.h" ++#include "build/chromeos_buildflags.h" ++#include "content/public/common/content_switches.h" ++#include "media/gpu/buildflags.h" ++ ++namespace content { ++namespace { ++ ++constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE; ++ ++void LoadVulkanLibraries() { ++ // Try to preload Vulkan libraries. Failure is not an error as not all may be ++ // present. ++ const char* kLibraries[] = { ++ "libvulkan.so", ++ "libvulkan_intel.so", ++ "libvulkan_intel_hasvk.so", ++ "libvulkan_radeon.so", ++ }; ++ for (const auto* library : kLibraries) { ++ dlopen(library, dlopen_flag); ++ } ++} ++ ++bool LoadLibrariesForGpu( ++ const sandbox::policy::SandboxSeccompBPF::Options& options) { ++ LoadVulkanLibraries(); ++ ++ return true; ++} ++ ++} // namespace ++ ++bool GpuPreSandboxHook(sandbox::policy::SandboxLinux::Options options) { ++ if (!LoadLibrariesForGpu(options)) ++ return false; ++ ++ // TODO(tsepez): enable namspace sandbox here once crashes are understood. ++ ++ errno = 0; ++ return true; ++} ++ ++} // namespace content diff --git a/devel/electron33/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h b/devel/electron33/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h new file mode 100644 index 000000000000..52612d85e7a1 --- /dev/null +++ b/devel/electron33/files/patch-content_common_gpu__pre__sandbox__hook__bsd.h @@ -0,0 +1,23 @@ +--- content/common/gpu_pre_sandbox_hook_bsd.h.orig 2024-02-27 21:36:23 UTC ++++ content/common/gpu_pre_sandbox_hook_bsd.h +@@ -0,0 +1,20 @@ ++// Copyright 2017 The Chromium Authors ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_BSD_H_ ++#define CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_BSD_H_ ++ ++#include "base/component_export.h" ++#include "sandbox/policy/sandbox.h" ++ ++namespace content { ++ ++// A pre-sandbox hook to use on Linux-based systems in sandboxed processes that ++// require general GPU usage. ++COMPONENT_EXPORT(GPU_PRE_SANDBOX_HOOK) ++bool GpuPreSandboxHook(sandbox::policy::SandboxLinux::Options options); ++ ++} // namespace content ++ ++#endif // CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_BSD_H_ diff --git a/devel/electron33/files/patch-content_common_gpu__pre__sandbox__hook__linux.h b/devel/electron33/files/patch-content_common_gpu__pre__sandbox__hook__linux.h new file mode 100644 index 000000000000..726f22ba754e --- /dev/null +++ b/devel/electron33/files/patch-content_common_gpu__pre__sandbox__hook__linux.h @@ -0,0 +1,16 @@ +--- content/common/gpu_pre_sandbox_hook_linux.h.orig 2024-04-15 20:33:57 UTC ++++ content/common/gpu_pre_sandbox_hook_linux.h +@@ -5,8 +5,13 @@ + #ifndef CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_LINUX_H_ + #define CONTENT_COMMON_GPU_PRE_SANDBOX_HOOK_LINUX_H_ + ++#include "build/build_config.h" + #include "base/component_export.h" ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace content { + diff --git a/devel/electron33/files/patch-content_common_user__agent.cc b/devel/electron33/files/patch-content_common_user__agent.cc new file mode 100644 index 000000000000..b29b11284b7a --- /dev/null +++ b/devel/electron33/files/patch-content_common_user__agent.cc @@ -0,0 +1,37 @@ +--- content/common/user_agent.cc.orig 2023-03-30 00:33:51 UTC ++++ content/common/user_agent.cc +@@ -45,7 +45,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; "; +@@ -71,7 +71,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"; + #elif BUILDFLAG(IS_IOS) + if (ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET) { +@@ -296,6 +296,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_IOS) + "CPU %s OS %s like Mac OS X", cpu_type.c_str(), + os_version.c_str() diff --git a/devel/electron33/files/patch-content_gpu_gpu__child__thread.cc b/devel/electron33/files/patch-content_gpu_gpu__child__thread.cc new file mode 100644 index 000000000000..7e50a07c7523 --- /dev/null +++ b/devel/electron33/files/patch-content_gpu_gpu__child__thread.cc @@ -0,0 +1,21 @@ +--- content/gpu/gpu_child_thread.cc.orig 2024-04-15 20:33:57 UTC ++++ content/gpu/gpu_child_thread.cc +@@ -58,7 +58,7 @@ + #include "third_party/skia/include/ports/SkFontConfigInterface.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/child/sandboxed_process_thread_type_handler.h" + #endif + +@@ -142,7 +142,8 @@ void GpuChildThread::Init(const base::TimeTicks& proce + + viz_main_.gpu_service()->set_start_time(process_start_time); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++// XXX BSD ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) + SandboxedProcessThreadTypeHandler::NotifyMainChildThreadCreated(); + #endif + diff --git a/devel/electron33/files/patch-content_gpu_gpu__main.cc b/devel/electron33/files/patch-content_gpu_gpu__main.cc new file mode 100644 index 000000000000..79515c0ce9d7 --- /dev/null +++ b/devel/electron33/files/patch-content_gpu_gpu__main.cc @@ -0,0 +1,73 @@ +--- content/gpu/gpu_main.cc.orig 2024-10-28 21:05:16 UTC ++++ content/gpu/gpu_main.cc +@@ -95,10 +95,14 @@ + #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/child/sandboxed_process_thread_type_handler.h" + #include "content/common/gpu_pre_sandbox_hook_linux.h" ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + #include "sandbox/policy/sandbox_type.h" + #endif + +@@ -117,7 +121,7 @@ namespace { + + 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&); +@@ -175,7 +179,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_); +@@ -289,7 +293,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 +@@ -312,7 +316,8 @@ int GpuMain(MainFunctionParams parameters) { + base::PlatformThread::SetName("CrGpuMain"); + mojo::InterfaceEndpointClient::SetThreadNameSuffixForMetrics("GpuMain"); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++// XXX BSD ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) + // Thread type delegate of the process should be registered before + // thread type change below for the main thread and for thread pool in + // ChildProcess constructor. +@@ -442,7 +447,7 @@ namespace { + + 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) { +@@ -482,7 +487,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo + sandbox_options.accelerated_video_encode_enabled = + !gpu_prefs.disable_accelerated_video_encode; + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Video decoding of many video streams can use thousands of FDs as well as + // Exo clients like Lacros. + // See https://crbug.com/1417237 diff --git a/devel/electron33/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/devel/electron33/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc new file mode 100644 index 000000000000..6f77b824ee91 --- /dev/null +++ b/devel/electron33/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc @@ -0,0 +1,29 @@ +--- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2024-02-21 00:20:45 UTC ++++ content/ppapi_plugin/ppapi_blink_platform_impl.cc +@@ -21,7 +21,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 +@@ -36,7 +36,7 @@ PpapiBlinkPlatformImpl::PpapiBlinkPlatformImpl() { + 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()); +@@ -55,7 +55,7 @@ blink::WebSandboxSupport* PpapiBlinkPlatformImpl::GetS + 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/devel/electron33/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h b/devel/electron33/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h new file mode 100644 index 000000000000..3f8bdf092f6d --- /dev/null +++ b/devel/electron33/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h @@ -0,0 +1,11 @@ +--- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2024-08-14 20:54:59 UTC ++++ content/ppapi_plugin/ppapi_blink_platform_impl.h +@@ -36,7 +36,7 @@ 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 + }; diff --git a/devel/electron33/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc b/devel/electron33/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc new file mode 100644 index 000000000000..dd7515a0e59d --- /dev/null +++ b/devel/electron33/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc @@ -0,0 +1,23 @@ +--- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2024-08-14 20:54:59 UTC ++++ content/ppapi_plugin/ppapi_plugin_main.cc +@@ -52,6 +52,11 @@ + #include "gin/v8_initializer.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#include "sandbox/policy/sandbox_type.h" ++#endif ++ + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) + #include <stdlib.h> + #endif +@@ -141,7 +146,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/devel/electron33/files/patch-content_public_browser_content__browser__client.cc b/devel/electron33/files/patch-content_public_browser_content__browser__client.cc new file mode 100644 index 000000000000..91b5967840db --- /dev/null +++ b/devel/electron33/files/patch-content_public_browser_content__browser__client.cc @@ -0,0 +1,11 @@ +--- content/public/browser/content_browser_client.cc.orig 2024-10-28 21:05:15 UTC ++++ content/public/browser/content_browser_client.cc +@@ -1332,7 +1332,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem + // that can be adequately sandboxed. + // Currently Android's network service will not run out of process or sandboxed, + // so OutOfProcessSystemDnsResolution is not currently enabled on Android. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return true; + #else + return false; diff --git a/devel/electron33/files/patch-content_public_browser_service__process__host.cc b/devel/electron33/files/patch-content_public_browser_service__process__host.cc new file mode 100644 index 000000000000..809fc3ea616f --- /dev/null +++ b/devel/electron33/files/patch-content_public_browser_service__process__host.cc @@ -0,0 +1,11 @@ +--- content/public/browser/service_process_host.cc.orig 2024-10-28 21:05:17 UTC ++++ content/public/browser/service_process_host.cc +@@ -111,7 +111,7 @@ ServiceProcessHost::Options& ServiceProcessHost::Optio + + ServiceProcessHost::Options& ServiceProcessHost::Options::WithGpuClient( + base::PassKey<ServiceProcessHostGpuClient> passkey) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + allow_gpu_client = true; + #endif + return *this; diff --git a/devel/electron33/files/patch-content_public_browser_zygote__host_zygote__host__linux.h b/devel/electron33/files/patch-content_public_browser_zygote__host_zygote__host__linux.h new file mode 100644 index 000000000000..d5adcef76c4f --- /dev/null +++ b/devel/electron33/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 2023-02-01 18:43:19 UTC ++++ content/public/browser/zygote_host/zygote_host_linux.h +@@ -35,11 +35,13 @@ class ZygoteHost { + // after the first render has been forked. + virtual int GetRendererSandboxStatus() = 0; + ++#if !BUILDFLAG(IS_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 + + #if BUILDFLAG(IS_CHROMEOS) + // Reinitialize logging for the Zygote processes. Needed on ChromeOS, which diff --git a/devel/electron33/files/patch-content_public_common_content__features.cc b/devel/electron33/files/patch-content_public_common_content__features.cc new file mode 100644 index 000000000000..c8bc1a04d8fd --- /dev/null +++ b/devel/electron33/files/patch-content_public_common_content__features.cc @@ -0,0 +1,35 @@ +--- content/public/common/content_features.cc.orig 2024-10-16 21:31:27 UTC ++++ content/public/common/content_features.cc +@@ -65,7 +65,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess, + // TODO(crbug.com/40118868): Remove !IS_CHROMEOS_LACROS once lacros starts being + // built with OS_CHROMEOS instead of OS_LINUX. + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ +- (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) ++ (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -1206,9 +1206,9 @@ BASE_FEATURE(kWebAssemblyTrapHandler, + 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_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) && \ ++ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \ + defined(ARCH_CPU_ARM64)) + base::FEATURE_ENABLED_BY_DEFAULT + #else +@@ -1245,7 +1245,11 @@ BASE_FEATURE(kWebUICodeCache, + + // Controls whether the WebUSB API is enabled: + // https://wicg.github.io/webusb ++#if BUILDFLAG(IS_BSD) ++BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_DISABLED_BY_DEFAULT); ++#else + BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_ENABLED_BY_DEFAULT); ++#endif + + // Controls whether the WebXR Device API is enabled. + BASE_FEATURE(kWebXr, "WebXR", base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/devel/electron33/files/patch-content_public_common_content__switches.cc b/devel/electron33/files/patch-content_public_common_content__switches.cc new file mode 100644 index 000000000000..632e225d3a31 --- /dev/null +++ b/devel/electron33/files/patch-content_public_common_content__switches.cc @@ -0,0 +1,20 @@ +--- content/public/common/content_switches.cc.orig 2024-10-16 21:31:27 UTC ++++ content/public/common/content_switches.cc +@@ -350,6 +350,8 @@ const char kEnableLogging[] = "enable- + // 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. +@@ -976,7 +978,7 @@ const char kPreventResizingContentsForTesting[] = + + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-content_public_common_content__switches.h b/devel/electron33/files/patch-content_public_common_content__switches.h new file mode 100644 index 000000000000..c23445e46817 --- /dev/null +++ b/devel/electron33/files/patch-content_public_common_content__switches.h @@ -0,0 +1,19 @@ +--- content/public/common/content_switches.h.orig 2024-10-16 21:31:27 UTC ++++ content/public/common/content_switches.h +@@ -110,6 +110,7 @@ CONTENT_EXPORT extern const char kEnableLogging[]; + CONTENT_EXPORT extern const char kEnableIsolatedWebAppsInRenderer[]; + 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[]; +@@ -266,7 +267,7 @@ CONTENT_EXPORT extern const char kPreventResizingConte + + // TODO(crbug.com/40118868): 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[]; + CONTENT_EXPORT extern const char kLLVMProfileFile[]; + #endif diff --git a/devel/electron33/files/patch-content_public_common_zygote_features.gni b/devel/electron33/files/patch-content_public_common_zygote_features.gni new file mode 100644 index 000000000000..0b01fb059dea --- /dev/null +++ b/devel/electron33/files/patch-content_public_common_zygote_features.gni @@ -0,0 +1,8 @@ +--- content/public/common/zygote/features.gni.orig 2023-03-30 00:33:51 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 = is_posix && !is_android && !is_apple ++use_zygote = is_posix && !is_android && !is_mac && !is_bsd diff --git a/devel/electron33/files/patch-content_renderer_render__thread__impl.cc b/devel/electron33/files/patch-content_renderer_render__thread__impl.cc new file mode 100644 index 000000000000..7b5365ae7b13 --- /dev/null +++ b/devel/electron33/files/patch-content_renderer_render__thread__impl.cc @@ -0,0 +1,38 @@ +--- content/renderer/render_thread_impl.cc.orig 2024-10-28 21:05:15 UTC ++++ content/renderer/render_thread_impl.cc +@@ -215,6 +215,8 @@ + + #if BUILDFLAG(IS_APPLE) + #include <malloc/malloc.h> ++#elif BUILDFLAG(IS_BSD) ++#include <stdlib.h> + #else + #include <malloc.h> + #endif +@@ -1022,7 +1024,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: + kGpuStreamIdMedia, kGpuStreamPriorityMedia); + + const bool enable_video_decode_accelerator = +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux) && + #endif // BUILDFLAG(IS_LINUX) + !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) && +@@ -1031,7 +1033,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: + gpu::kGpuFeatureStatusEnabled); + + 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) && +@@ -1815,7 +1817,7 @@ std::unique_ptr<CodecFactory> RenderThreadImpl::Create + bool enable_video_encode_accelerator) { + mojo::PendingRemote<media::mojom::VideoEncodeAcceleratorProvider> + vea_provider; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoEncoding)) { + BindHostReceiver(vea_provider.InitWithNewPipeAndPassReceiver()); + } else { diff --git a/devel/electron33/files/patch-content_renderer_renderer__blink__platform__impl.cc b/devel/electron33/files/patch-content_renderer_renderer__blink__platform__impl.cc new file mode 100644 index 000000000000..2a96ba1efaa5 --- /dev/null +++ b/devel/electron33/files/patch-content_renderer_renderer__blink__platform__impl.cc @@ -0,0 +1,45 @@ +--- content/renderer/renderer_blink_platform_impl.cc.orig 2024-08-30 11:29:37 UTC ++++ content/renderer/renderer_blink_platform_impl.cc +@@ -127,7 +127,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 "content/child/sandboxed_process_thread_type_handler.h" + #endif +@@ -197,13 +197,13 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( + is_locked_to_site_(false), + main_thread_scheduler_(main_thread_scheduler), + next_frame_sink_id_(uint32_t{std::numeric_limits<int32_t>::max()} + 1) { +-#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 + + // 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()); +@@ -223,7 +223,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>(); +@@ -284,7 +284,7 @@ blink::WebSandboxSupport* RendererBlinkPlatformImpl::G + #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/devel/electron33/files/patch-content_renderer_renderer__blink__platform__impl.h b/devel/electron33/files/patch-content_renderer_renderer__blink__platform__impl.h new file mode 100644 index 000000000000..f71f417acaa6 --- /dev/null +++ b/devel/electron33/files/patch-content_renderer_renderer__blink__platform__impl.h @@ -0,0 +1,11 @@ +--- content/renderer/renderer_blink_platform_impl.h.orig 2024-09-19 12:42:01 UTC ++++ content/renderer/renderer_blink_platform_impl.h +@@ -258,7 +258,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 + diff --git a/devel/electron33/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc b/devel/electron33/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc new file mode 100644 index 000000000000..aad0a7035f0b --- /dev/null +++ b/devel/electron33/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc @@ -0,0 +1,18 @@ +--- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2023-10-19 19:58:22 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 !BUILDFLAG(IS_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/devel/electron33/files/patch-content_shell_BUILD.gn b/devel/electron33/files/patch-content_shell_BUILD.gn new file mode 100644 index 000000000000..c03bdaf10621 --- /dev/null +++ b/devel/electron33/files/patch-content_shell_BUILD.gn @@ -0,0 +1,11 @@ +--- content/shell/BUILD.gn.orig 2024-08-14 20:55:00 UTC ++++ content/shell/BUILD.gn +@@ -1084,7 +1084,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/devel/electron33/files/patch-content_shell_app_shell__main__delegate.cc b/devel/electron33/files/patch-content_shell_app_shell__main__delegate.cc new file mode 100644 index 000000000000..5f9f47b956ac --- /dev/null +++ b/devel/electron33/files/patch-content_shell_app_shell__main__delegate.cc @@ -0,0 +1,11 @@ +--- content/shell/app/shell_main_delegate.cc.orig 2024-08-14 20:55:00 UTC ++++ content/shell/app/shell_main_delegate.cc +@@ -276,7 +276,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/devel/electron33/files/patch-content_shell_browser_shell__browser__main__parts.cc b/devel/electron33/files/patch-content_shell_browser_shell__browser__main__parts.cc new file mode 100644 index 000000000000..f463ffc51529 --- /dev/null +++ b/devel/electron33/files/patch-content_shell_browser_shell__browser__main__parts.cc @@ -0,0 +1,47 @@ +--- content/shell/browser/shell_browser_main_parts.cc.orig 2023-10-19 19:58:22 UTC ++++ content/shell/browser/shell_browser_main_parts.cc +@@ -51,7 +51,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 + +@@ -68,7 +68,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 +@@ -139,7 +139,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) +@@ -168,7 +168,7 @@ void ShellBrowserMainParts::ToolkitInitialized() { + if (switches::IsRunWebTestsSwitchPresent()) + return; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ui::LinuxUi::SetInstance(ui::GetDefaultLinuxUi()); + #endif + } +@@ -215,7 +215,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/devel/electron33/files/patch-content_shell_browser_shell__paths.cc b/devel/electron33/files/patch-content_shell_browser_shell__paths.cc new file mode 100644 index 000000000000..c00a1c66a5a2 --- /dev/null +++ b/devel/electron33/files/patch-content_shell_browser_shell__paths.cc @@ -0,0 +1,20 @@ +--- content/shell/browser/shell_paths.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-content_shell_renderer_shell__content__renderer__client.cc b/devel/electron33/files/patch-content_shell_renderer_shell__content__renderer__client.cc new file mode 100644 index 000000000000..a12a439a283d --- /dev/null +++ b/devel/electron33/files/patch-content_shell_renderer_shell__content__renderer__client.cc @@ -0,0 +1,11 @@ +--- content/shell/renderer/shell_content_renderer_client.cc.orig 2024-06-18 21:43:32 UTC ++++ content/shell/renderer/shell_content_renderer_client.cc +@@ -54,7 +54,7 @@ + #include "media/base/media_switches.h" + #endif + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ + (defined(ARCH_CPU_X86_64) || defined(ARCH_CPU_ARM64)) + #define ENABLE_WEB_ASSEMBLY_TRAP_HANDLER_LINUX + #include "base/debug/stack_trace.h" diff --git a/devel/electron33/files/patch-content_shell_utility_shell__content__utility__client.cc b/devel/electron33/files/patch-content_shell_utility_shell__content__utility__client.cc new file mode 100644 index 000000000000..6096106c4f80 --- /dev/null +++ b/devel/electron33/files/patch-content_shell_utility_shell__content__utility__client.cc @@ -0,0 +1,20 @@ +--- content/shell/utility/shell_content_utility_client.cc.orig 2023-03-30 00:33:51 UTC ++++ content/shell/utility/shell_content_utility_client.cc +@@ -38,7 +38,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 + +@@ -187,7 +187,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow + binders->Add<mojom::PowerMonitorTest>( + base::BindRepeating(&PowerMonitorTestImpl::MakeSelfOwnedReceiver), + base::SingleThreadTaskRunner::GetCurrentDefault()); +-#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/devel/electron33/files/patch-content_utility_services.cc b/devel/electron33/files/patch-content_utility_services.cc new file mode 100644 index 000000000000..215069ac7b88 --- /dev/null +++ b/devel/electron33/files/patch-content_utility_services.cc @@ -0,0 +1,99 @@ +--- content/utility/services.cc.orig 2024-10-16 21:31:28 UTC ++++ content/utility/services.cc +@@ -74,7 +74,7 @@ extern sandbox::TargetServices* g_utility_target_servi + 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 "media/mojo/services/mojo_video_encode_accelerator_provider_factory.h" + #include "sandbox/linux/services/libc_interceptor.h" + #include "sandbox/policy/mojom/sandbox.mojom.h" +@@ -102,7 +102,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 "content/common/features.h" + #include "media/mojo/services/stable_video_decoder_factory_process_service.h" // nogncheck +@@ -120,13 +120,13 @@ extern sandbox::TargetServices* g_utility_target_servi + #endif // BUILDFLAG(ENABLE_ACCESSIBILITY_SERVICE) + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || \ +- BUILDFLAG(ENABLE_VIDEO_EFFECTS) ++ BUILDFLAG(ENABLE_VIDEO_EFFECTS) || BUILDFLAG(IS_BSD) + #include "services/viz/public/cpp/gpu/gpu.h" + #include "services/viz/public/mojom/gpu.mojom.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || + // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(ENABLE_VIDEO_EFFECTS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "media/capture/capture_switches.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || + // BUILDFLAG(IS_CHROMEOS_ASH) +@@ -244,7 +244,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) { +@@ -340,7 +340,7 @@ auto RunVideoCapture( + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + auto service = std::make_unique<UtilityThreadVideoCaptureServiceImpl>( + std::move(receiver), base::SingleThreadTaskRunner::GetCurrentDefault()); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_CHROMEOS_ASH) + { + #else +@@ -395,7 +395,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 RunStableVideoDecoderFactoryProcessService( + mojo::PendingReceiver< +@@ -406,7 +406,7 @@ auto RunStableVideoDecoderFactoryProcessService( + #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && + // (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + auto RunVideoEncodeAcceleratorProviderFactory( + mojo::PendingReceiver<media::mojom::VideoEncodeAcceleratorProviderFactory> + receiver) { +@@ -429,7 +429,7 @@ void RegisterIOThreadServices(mojo::ServiceFactory& se + // loop of type IO that can get notified when pipes have data. + services.Add(RunNetworkService); + +-#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)) + if (base::FeatureList::IsEnabled( + features::kRunStableVideoDecoderFactoryProcessServiceOnIOThread)) { +@@ -485,7 +485,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)) + if (!base::FeatureList::IsEnabled( + features::kRunStableVideoDecoderFactoryProcessServiceOnIOThread)) { +@@ -494,7 +494,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& + #endif // (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH)) && + // (BUILDFLAG(USE_VAAPI) || BUILDFLAG(USE_V4L2_CODEC)) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + services.Add(RunVideoEncodeAcceleratorProviderFactory); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + diff --git a/devel/electron33/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc b/devel/electron33/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.cc new file mode 100644 index 000000000000..92e07e8d0385 --- /dev/null +++ b/devel/electron33/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 2024-04-15 20:33:58 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 !BUILDFLAG(IS_BSD) + using sandbox::syscall_broker::BrokerFilePermission; + using sandbox::syscall_broker::MakeBrokerCommandSet; ++#endif + + namespace speech { + ++#if !BUILDFLAG(IS_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 !BUILDFLAG(IS_BSD) + #if BUILDFLAG(ENABLE_SODA_INTEGRATION_TESTS) + base::FilePath test_binary_path = GetSodaTestBinaryPath(); + DVLOG(0) << "SODA test binary path: " << test_binary_path.value().c_str(); +@@ -75,6 +80,7 @@ bool SpeechRecognitionPreSandboxHook( + }), + GetSodaFilePermissions(), options); + instance->EngageNamespaceSandboxIfPossible(); ++#endif + + return true; + } diff --git a/devel/electron33/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h b/devel/electron33/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h new file mode 100644 index 000000000000..cbeba4accc3e --- /dev/null +++ b/devel/electron33/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h @@ -0,0 +1,16 @@ +--- content/utility/speech/speech_recognition_sandbox_hook_linux.h.orig 2023-10-19 19:58:23 UTC ++++ content/utility/speech/speech_recognition_sandbox_hook_linux.h +@@ -5,7 +5,13 @@ + #ifndef CONTENT_UTILITY_SPEECH_SPEECH_RECOGNITION_SANDBOX_HOOK_LINUX_H_ + #define CONTENT_UTILITY_SPEECH_SPEECH_RECOGNITION_SANDBOX_HOOK_LINUX_H_ + ++#include "build/build_config.h" ++ ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace speech { + diff --git a/devel/electron33/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc b/devel/electron33/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc new file mode 100644 index 000000000000..d954dca7e1c3 --- /dev/null +++ b/devel/electron33/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 2023-05-25 00:41:55 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()); +@@ -35,7 +35,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/devel/electron33/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/devel/electron33/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h new file mode 100644 index 000000000000..c92332ad1c74 --- /dev/null +++ b/devel/electron33/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h @@ -0,0 +1,11 @@ +--- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2023-05-25 00:41:55 UTC ++++ content/utility/utility_blink_platform_with_sandbox_support_impl.h +@@ -33,7 +33,7 @@ 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 + }; diff --git a/devel/electron33/files/patch-content_utility_utility__main.cc b/devel/electron33/files/patch-content_utility_utility__main.cc new file mode 100644 index 000000000000..b7b4f3d0f655 --- /dev/null +++ b/devel/electron33/files/patch-content_utility_utility__main.cc @@ -0,0 +1,128 @@ +--- content/utility/utility_main.cc.orig 2024-10-16 21:31:28 UTC ++++ content/utility/utility_main.cc +@@ -36,17 +36,21 @@ + #include "services/screen_ai/buildflags/buildflags.h" + #include "services/tracing/public/cpp/trace_startup.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/file_descriptor_store.h" + #include "base/files/file_util.h" + #include "base/pickle.h" + #include "content/child/sandboxed_process_thread_type_handler.h" ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "content/common/gpu_pre_sandbox_hook_linux.h" ++#endif + #include "content/public/common/content_descriptor_keys.h" + #include "content/utility/speech/speech_recognition_sandbox_hook_linux.h" + #include "gpu/config/gpu_info_collector.h" + #include "media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h" ++#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" + // gn check is not smart enough to realize that this include only applies to +@@ -58,10 +62,15 @@ + #endif + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) + ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#include "content/common/gpu_pre_sandbox_hook_bsd.h" ++#endif ++ + #if BUILDFLAG(IS_CHROMEOS_ASH) + #include "chromeos/ash/components/assistant/buildflags.h" + #include "chromeos/ash/services/ime/ime_sandbox_hook.h" +@@ -73,7 +82,7 @@ + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + + #if (BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS))) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD))) + #include "services/screen_ai/public/cpp/utilities.h" // nogncheck + #include "services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h" // nogncheck + #endif +@@ -101,7 +110,7 @@ namespace { + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + std::vector<std::string> GetNetworkContextsParentDirectories() { + base::MemoryMappedFile::Region region; + base::ScopedFD read_pipe_fd = base::FileDescriptorStore::GetInstance().TakeFD( +@@ -128,9 +137,10 @@ std::vector<std::string> GetNetworkContextsParentDirec + return dirs; + } + ++#if !BUILDFLAG(IS_BSD) + bool ShouldUseAmdGpuPolicy(sandbox::mojom::Sandbox sandbox_type) { + const bool obtain_gpu_info = +-#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) + sandbox_type == sandbox::mojom::Sandbox::kHardwareVideoEncoding; +@@ -145,6 +155,7 @@ bool ShouldUseAmdGpuPolicy(sandbox::mojom::Sandbox san + + return false; + } ++#endif + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + + #if BUILDFLAG(IS_WIN) +@@ -242,7 +253,8 @@ int UtilityMain(MainFunctionParams parameters) { + CHECK(on_device_model::OnDeviceModelService::PreSandboxInit()); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++// XXX BSD ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) + // Thread type delegate of the process should be registered before first + // thread type change in ChildProcess constructor. It also needs to be + // registered before the process has multiple threads, which may race with +@@ -254,7 +266,7 @@ int UtilityMain(MainFunctionParams parameters) { + } + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +-#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. +@@ -295,7 +307,7 @@ int UtilityMain(MainFunctionParams parameters) { + case sandbox::mojom::Sandbox::kVideoEffects: + // TODO(crbug.com/361128453): Implement this. + NOTREACHED() << "kVideoEffects sandbox not implemented."; +-#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); +@@ -322,6 +334,7 @@ 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_options.use_amd_specific_policies = +@@ -329,6 +342,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 + + // Start the HangWatcher now that the sandbox is engaged, if it hasn't + // already been started. diff --git a/devel/electron33/files/patch-content_utility_utility__thread__impl.cc b/devel/electron33/files/patch-content_utility_utility__thread__impl.cc new file mode 100644 index 000000000000..8912b26856bf --- /dev/null +++ b/devel/electron33/files/patch-content_utility_utility__thread__impl.cc @@ -0,0 +1,21 @@ +--- content/utility/utility_thread_impl.cc.orig 2024-06-18 21:43:32 UTC ++++ content/utility/utility_thread_impl.cc +@@ -31,7 +31,7 @@ + #include "mojo/public/cpp/bindings/pending_receiver.h" + #include "mojo/public/cpp/bindings/service_factory.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "content/child/sandboxed_process_thread_type_handler.h" + #endif + +@@ -251,7 +251,8 @@ void UtilityThreadImpl::Init() { + + GetContentClient()->utility()->UtilityThreadStarted(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++// XXX BSD ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) + SandboxedProcessThreadTypeHandler::NotifyMainChildThreadCreated(); + #endif + diff --git a/devel/electron33/files/patch-content_zygote_BUILD.gn b/devel/electron33/files/patch-content_zygote_BUILD.gn new file mode 100644 index 000000000000..b9c3d8fe8cdc --- /dev/null +++ b/devel/electron33/files/patch-content_zygote_BUILD.gn @@ -0,0 +1,11 @@ +--- content/zygote/BUILD.gn.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-content_zygote_zygote__linux.cc b/devel/electron33/files/patch-content_zygote_zygote__linux.cc new file mode 100644 index 000000000000..d1be6a663a21 --- /dev/null +++ b/devel/electron33/files/patch-content_zygote_zygote__linux.cc @@ -0,0 +1,15 @@ +--- content/zygote/zygote_linux.cc.orig 2024-08-14 20:55:01 UTC ++++ content/zygote/zygote_linux.cc +@@ -1,6 +1,7 @@ + // Copyright 2012 The Chromium Authors + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. ++#if 0 + + #ifdef UNSAFE_BUFFERS_BUILD + // TODO(crbug.com/342213636): Remove this and spanify to fix the errors. +@@ -723,3 +724,4 @@ void Zygote::HandleReinitializeLoggingRequest(base::Pi + } + + } // namespace content ++#endif diff --git a/devel/electron33/files/patch-content_zygote_zygote__main__linux.cc b/devel/electron33/files/patch-content_zygote_zygote__main__linux.cc new file mode 100644 index 000000000000..cd698a7423d4 --- /dev/null +++ b/devel/electron33/files/patch-content_zygote_zygote__main__linux.cc @@ -0,0 +1,58 @@ +--- content/zygote/zygote_main_linux.cc.orig 2023-10-19 19:58:23 UTC ++++ content/zygote/zygote_main_linux.cc +@@ -11,7 +11,9 @@ + #include <stddef.h> + #include <stdint.h> + #include <string.h> ++#if !BUILDFLAG(IS_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 !BUILDFLAG(IS_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,11 +54,13 @@ namespace content { + + namespace { + ++#if !BUILDFLAG(IS_BSD) + void CloseFds(const std::vector<int>& fds) { + for (const auto& it : fds) { + PCHECK(0 == IGNORE_EINTR(close(it))); + } + } ++#endif + + base::OnceClosure ClosureFromTwoClosures(base::OnceClosure one, + base::OnceClosure two) { +@@ -157,9 +163,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand + CHECK(!using_layer1_sandbox); + } + } ++#endif + + bool ZygoteMain( + std::vector<std::unique_ptr<ZygoteForkDelegate>> fork_delegates) { ++#if !BUILDFLAG(IS_BSD) + sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD()); + + auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance(); +@@ -224,6 +232,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/devel/electron33/files/patch-device_bluetooth_bluetooth__adapter.cc b/devel/electron33/files/patch-device_bluetooth_bluetooth__adapter.cc new file mode 100644 index 000000000000..a429ccd154fb --- /dev/null +++ b/devel/electron33/files/patch-device_bluetooth_bluetooth__adapter.cc @@ -0,0 +1,11 @@ +--- device/bluetooth/bluetooth_adapter.cc.orig 2024-04-15 20:33:58 UTC ++++ device/bluetooth/bluetooth_adapter.cc +@@ -32,7 +32,7 @@ BluetoothAdapter::ServiceOptions::~ServiceOptions() = + BluetoothAdapter::ServiceOptions::ServiceOptions() = default; + BluetoothAdapter::ServiceOptions::~ServiceOptions() = default; + +-#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && \ ++#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) && \ + !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) + // static + scoped_refptr<BluetoothAdapter> BluetoothAdapter::CreateAdapter() { diff --git a/devel/electron33/files/patch-device_bluetooth_cast__bluetooth.gni b/devel/electron33/files/patch-device_bluetooth_cast__bluetooth.gni new file mode 100644 index 000000000000..0fcfccc24b76 --- /dev/null +++ b/devel/electron33/files/patch-device_bluetooth_cast__bluetooth.gni @@ -0,0 +1,9 @@ +--- device/bluetooth/cast_bluetooth.gni.orig 2022-08-31 12:19:35 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/devel/electron33/files/patch-device_gamepad_BUILD.gn b/devel/electron33/files/patch-device_gamepad_BUILD.gn new file mode 100644 index 000000000000..ef656feb8ebb --- /dev/null +++ b/devel/electron33/files/patch-device_gamepad_BUILD.gn @@ -0,0 +1,11 @@ +--- device/gamepad/BUILD.gn.orig 2023-11-29 21:40:02 UTC ++++ device/gamepad/BUILD.gn +@@ -99,7 +99,7 @@ component("gamepad") { + "hid_writer_linux.cc", + "hid_writer_linux.h", + ] +- if (use_udev) { ++ if (use_udev && !is_bsd) { + sources += [ + "gamepad_device_linux.cc", + "gamepad_device_linux.h", diff --git a/devel/electron33/files/patch-device_gamepad_gamepad__provider.cc b/devel/electron33/files/patch-device_gamepad_gamepad__provider.cc new file mode 100644 index 000000000000..f42d5c0c2255 --- /dev/null +++ b/devel/electron33/files/patch-device_gamepad_gamepad__provider.cc @@ -0,0 +1,11 @@ +--- device/gamepad/gamepad_provider.cc.orig 2024-08-14 20:55:01 UTC ++++ device/gamepad/gamepad_provider.cc +@@ -224,7 +224,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/devel/electron33/files/patch-device_gamepad_hid__writer__linux.cc b/devel/electron33/files/patch-device_gamepad_hid__writer__linux.cc new file mode 100644 index 000000000000..439446240bac --- /dev/null +++ b/devel/electron33/files/patch-device_gamepad_hid__writer__linux.cc @@ -0,0 +1,11 @@ +--- device/gamepad/hid_writer_linux.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-electron_BUILD.gn b/devel/electron33/files/patch-electron_BUILD.gn new file mode 100644 index 000000000000..724597c8b031 --- /dev/null +++ b/devel/electron33/files/patch-electron_BUILD.gn @@ -0,0 +1,60 @@ +--- electron/BUILD.gn.orig 2024-10-22 02:29:46 UTC ++++ electron/BUILD.gn +@@ -525,7 +525,7 @@ source_set("electron_lib") { + defines += [ "GDK_DISABLE_DEPRECATION_WARNINGS" ] + } + +- if (!is_mas_build) { ++ if (!is_mas_build && !is_bsd) { + deps += [ + "//components/crash/core/app", + "//components/crash/core/browser", +@@ -618,6 +618,12 @@ source_set("electron_lib") { + cflags_objcc = [ "-fobjc-weak" ] + } + } ++ if (is_bsd) { ++ sources -= [ ++ "shell/common/crash_keys.cc", ++ "shell/common/crash_keys.h", ++ ] ++ } + if (is_linux) { + libs = [ "xshmfence" ] + deps += [ +@@ -1184,7 +1190,7 @@ if (is_mac) { + ":electron_lib", + ":electron_win32_resources", + ":packed_resources", +- "//components/crash/core/app", ++ # "//components/crash/core/app", + "//content:sandbox_helper_win", + "//electron/buildflags", + "//ui/strings", +@@ -1210,7 +1216,7 @@ if (is_mac) { + public_deps = [ "//tools/v8_context_snapshot:v8_context_snapshot" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ] + } + +@@ -1277,7 +1283,7 @@ if (is_mac) { + configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + deps += [ "//sandbox/linux:chrome_sandbox" ] + } + } +@@ -1385,7 +1391,7 @@ dist_zip("electron_dist_zip") { + ":electron_version_file", + ":licenses", + ] +- if (is_linux) { ++ if (is_linux && !is_bsd) { + data_deps += [ "//sandbox/linux:chrome_sandbox" ] + } + deps = data_deps diff --git a/devel/electron33/files/patch-electron_build_args_all.gn b/devel/electron33/files/patch-electron_build_args_all.gn new file mode 100644 index 000000000000..e482b2c2b360 --- /dev/null +++ b/devel/electron33/files/patch-electron_build_args_all.gn @@ -0,0 +1,13 @@ +--- electron/build/args/all.gn.orig 2023-08-27 08:03:01 UTC ++++ electron/build/args/all.gn +@@ -14,8 +14,8 @@ v8_enable_snapshot_native_code_counters = false + v8_enable_javascript_promise_hooks = true + + enable_cdm_host_verification = false +-proprietary_codecs = true +-ffmpeg_branding = "Chrome" ++# proprietary_codecs = true ++# ffmpeg_branding = "Chrome" + + enable_printing = true + diff --git a/devel/electron33/files/patch-electron_build_args_release.gn b/devel/electron33/files/patch-electron_build_args_release.gn new file mode 100644 index 000000000000..99262be2e1ef --- /dev/null +++ b/devel/electron33/files/patch-electron_build_args_release.gn @@ -0,0 +1,11 @@ +--- electron/build/args/release.gn.orig 2023-08-27 08:03:35 UTC ++++ electron/build/args/release.gn +@@ -7,7 +7,7 @@ is_official_build = true + # explicitly override here to build OpenH264 encoder/FFmpeg decoder. + # The initialization of the decoder depends on whether ffmpeg has + # been built with H.264 support. +-rtc_use_h264 = proprietary_codecs ++# rtc_use_h264 = proprietary_codecs + + # By default, Electron builds ffmpeg with proprietary codecs enabled. In order + # to facilitate users who don't want to ship proprietary codecs in ffmpeg, or diff --git a/devel/electron33/files/patch-electron_default__app_default__app.ts b/devel/electron33/files/patch-electron_default__app_default__app.ts new file mode 100644 index 000000000000..8af59e14c83f --- /dev/null +++ b/devel/electron33/files/patch-electron_default__app_default__app.ts @@ -0,0 +1,11 @@ +--- electron/default_app/default_app.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/default_app/default_app.ts +@@ -61,7 +61,7 @@ async function createWindow (backgroundColor?: string) + show: false + }; + +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + options.icon = url.fileURLToPath(new URL('icon.png', import.meta.url)); + } + diff --git a/devel/electron33/files/patch-electron_filenames.gni b/devel/electron33/files/patch-electron_filenames.gni new file mode 100644 index 000000000000..6b69c94f8d37 --- /dev/null +++ b/devel/electron33/files/patch-electron_filenames.gni @@ -0,0 +1,13 @@ +--- electron/filenames.gni.orig 2024-11-07 16:14:43 UTC ++++ electron/filenames.gni +@@ -245,8 +245,8 @@ filenames = { + "shell/app/command_line_args.h", + "shell/app/electron_content_client.cc", + "shell/app/electron_content_client.h", +- "shell/app/electron_crash_reporter_client.cc", +- "shell/app/electron_crash_reporter_client.h", ++ # "shell/app/electron_crash_reporter_client.cc", ++ # "shell/app/electron_crash_reporter_client.h", + "shell/app/electron_main_delegate.cc", + "shell/app/electron_main_delegate.h", + "shell/app/node_main.cc", diff --git a/devel/electron33/files/patch-electron_lib_browser_api_app.ts b/devel/electron33/files/patch-electron_lib_browser_api_app.ts new file mode 100644 index 000000000000..e10729ea752c --- /dev/null +++ b/devel/electron33/files/patch-electron_lib_browser_api_app.ts @@ -0,0 +1,11 @@ +--- electron/lib/browser/api/app.ts.orig 2024-02-21 16:26:48 UTC ++++ electron/lib/browser/api/app.ts +@@ -67,7 +67,7 @@ if (process.platform === 'darwin') { + app.dock!.getMenu = () => dockMenu; + } + +-if (process.platform === 'linux') { ++if (process.platform === 'linux' || process.platform === 'freebsd') { + const patternVmRSS = /^VmRSS:\s*(\d+) kB$/m; + const patternVmHWM = /^VmHWM:\s*(\d+) kB$/m; + diff --git a/devel/electron33/files/patch-electron_lib_browser_api_dialog.ts b/devel/electron33/files/patch-electron_lib_browser_api_dialog.ts new file mode 100644 index 000000000000..bf3d098a23e7 --- /dev/null +++ b/devel/electron33/files/patch-electron_lib_browser_api_dialog.ts @@ -0,0 +1,11 @@ +--- electron/lib/browser/api/dialog.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/lib/browser/api/dialog.ts +@@ -41,7 +41,7 @@ const normalizeAccessKey = (text: string) => { + // existing single underscores with a second underscore, replace double + // ampersands with a single ampersand, and replace a single ampersand with + // a single underscore +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + return text.replaceAll('_', '__').replaceAll(/&(.?)/g, (match, after) => { + if (after === '&') return after; + return `_${after}`; diff --git a/devel/electron33/files/patch-electron_lib_browser_api_menu-item-roles.ts b/devel/electron33/files/patch-electron_lib_browser_api_menu-item-roles.ts new file mode 100644 index 000000000000..e89259c7e505 --- /dev/null +++ b/devel/electron33/files/patch-electron_lib_browser_api_menu-item-roles.ts @@ -0,0 +1,11 @@ +--- electron/lib/browser/api/menu-item-roles.ts.orig 2022-05-18 15:31:32 UTC ++++ electron/lib/browser/api/menu-item-roles.ts +@@ -2,7 +2,7 @@ import { app, BrowserWindow, session, webContents, Web + + const isMac = process.platform === 'darwin'; + const isWindows = process.platform === 'win32'; +-const isLinux = process.platform === 'linux'; ++const isLinux = (process.platform === 'linux' || process.platform === 'freebsd'); + + type RoleId = 'about' | 'close' | 'copy' | 'cut' | 'delete' | 'forcereload' | 'front' | 'help' | 'hide' | 'hideothers' | 'minimize' | + 'paste' | 'pasteandmatchstyle' | 'quit' | 'redo' | 'reload' | 'resetzoom' | 'selectall' | 'services' | 'recentdocuments' | 'clearrecentdocuments' | diff --git a/devel/electron33/files/patch-electron_lib_browser_api_power-monitor.ts b/devel/electron33/files/patch-electron_lib_browser_api_power-monitor.ts new file mode 100644 index 000000000000..24713c283fe7 --- /dev/null +++ b/devel/electron33/files/patch-electron_lib_browser_api_power-monitor.ts @@ -0,0 +1,11 @@ +--- electron/lib/browser/api/power-monitor.ts.orig 2023-08-14 18:19:06 UTC ++++ electron/lib/browser/api/power-monitor.ts +@@ -17,7 +17,7 @@ class PowerMonitor extends EventEmitter { + const pm = createPowerMonitor(); + pm.emit = this.emit.bind(this); + +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + // On Linux, we inhibit shutdown in order to give the app a chance to + // decide whether or not it wants to prevent the shutdown. We don't + // inhibit the shutdown event unless there's a listener for it. This diff --git a/devel/electron33/files/patch-electron_lib_browser_init.ts b/devel/electron33/files/patch-electron_lib_browser_init.ts new file mode 100644 index 000000000000..8d8724e4587b --- /dev/null +++ b/devel/electron33/files/patch-electron_lib_browser_init.ts @@ -0,0 +1,11 @@ +--- electron/lib/browser/init.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/lib/browser/init.ts +@@ -162,7 +162,7 @@ function currentPlatformSupportsAppIndicator () { + const KNOWN_XDG_DESKTOP_VALUES = new Set(['Pantheon', 'Unity:Unity7', 'pop:GNOME']); + + function currentPlatformSupportsAppIndicator () { +- if (process.platform !== 'linux') return false; ++ if (process.platform !== 'linux' && process.platform !== 'freebsd') return false; + const currentDesktop = process.env.XDG_CURRENT_DESKTOP; + + if (!currentDesktop) return false; diff --git a/devel/electron33/files/patch-electron_lib_browser_rpc-server.ts b/devel/electron33/files/patch-electron_lib_browser_rpc-server.ts new file mode 100644 index 000000000000..013924973d54 --- /dev/null +++ b/devel/electron33/files/patch-electron_lib_browser_rpc-server.ts @@ -0,0 +1,11 @@ +--- electron/lib/browser/rpc-server.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/lib/browser/rpc-server.ts +@@ -28,7 +28,7 @@ const allowedClipboardMethods = (() => { + switch (process.platform) { + case 'darwin': + return new Set(['readFindText', 'writeFindText']); +- case 'linux': ++ case 'linux': case 'freebsd': + return new Set(Object.keys(clipboard)); + default: + return new Set(); diff --git a/devel/electron33/files/patch-electron_lib_renderer_api_clipboard.ts b/devel/electron33/files/patch-electron_lib_renderer_api_clipboard.ts new file mode 100644 index 000000000000..5941a466e994 --- /dev/null +++ b/devel/electron33/files/patch-electron_lib_renderer_api_clipboard.ts @@ -0,0 +1,11 @@ +--- electron/lib/renderer/api/clipboard.ts.orig 2023-08-14 18:19:06 UTC ++++ electron/lib/renderer/api/clipboard.ts +@@ -7,7 +7,7 @@ const makeRemoteMethod = function (method: keyof Elect + return (...args: any[]) => ipcRendererUtils.invokeSync(IPC_MESSAGES.BROWSER_CLIPBOARD_SYNC, method, ...args); + }; + +-if (process.platform === 'linux') { ++if (process.platform === 'linux' || process.platform === 'freebsd') { + // On Linux we could not access clipboard in renderer process. + for (const method of Object.keys(clipboard) as (keyof Electron.Clipboard)[]) { + clipboard[method] = makeRemoteMethod(method); diff --git a/devel/electron33/files/patch-electron_script_lib_config.py b/devel/electron33/files/patch-electron_script_lib_config.py new file mode 100644 index 000000000000..4915ef347e14 --- /dev/null +++ b/devel/electron33/files/patch-electron_script_lib_config.py @@ -0,0 +1,12 @@ +--- electron/script/lib/config.py.orig 2024-05-29 09:41:07 UTC ++++ electron/script/lib/config.py +@@ -7,6 +7,9 @@ PLATFORM = { + 'cygwin': 'win32', + 'msys': 'win32', + 'darwin': 'darwin', ++ 'freebsd13': 'freebsd', ++ 'freebsd14': 'freebsd', ++ 'freebsd15': 'freebsd', + 'linux': 'linux', + 'linux2': 'linux', + 'win32': 'win32', diff --git a/devel/electron33/files/patch-electron_script_lib_utils.js b/devel/electron33/files/patch-electron_script_lib_utils.js new file mode 100644 index 000000000000..4012e5b08c1a --- /dev/null +++ b/devel/electron33/files/patch-electron_script_lib_utils.js @@ -0,0 +1,11 @@ +--- electron/script/lib/utils.js.orig 2024-10-09 13:53:06 UTC ++++ electron/script/lib/utils.js +@@ -19,7 +19,7 @@ function getElectronExec () { + return `out/${OUT_DIR}/Electron.app/Contents/MacOS/Electron`; + case 'win32': + return `out/${OUT_DIR}/electron.exe`; +- case 'linux': ++ case 'linux': case 'freebsd': + return `out/${OUT_DIR}/electron`; + default: + throw new Error('Unknown platform'); diff --git a/devel/electron33/files/patch-electron_script_spec-runner.js b/devel/electron33/files/patch-electron_script_spec-runner.js new file mode 100644 index 000000000000..a8cb776a89db --- /dev/null +++ b/devel/electron33/files/patch-electron_script_spec-runner.js @@ -0,0 +1,11 @@ +--- electron/script/spec-runner.js.orig 2024-10-09 13:53:06 UTC ++++ electron/script/spec-runner.js +@@ -165,7 +165,7 @@ async function runTestUsingElectron (specDir, testName + exe = path.resolve(BASE, utils.getElectronExec()); + } + const runnerArgs = [`electron/${specDir}`, ...unknownArgs.slice(2)]; +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + runnerArgs.unshift(path.resolve(__dirname, 'dbus_mock.py'), exe); + exe = 'python3'; + } diff --git a/devel/electron33/files/patch-electron_shell_app_electron__crash__reporter__client.cc b/devel/electron33/files/patch-electron_shell_app_electron__crash__reporter__client.cc new file mode 100644 index 000000000000..0929f15cdf9f --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_app_electron__crash__reporter__client.cc @@ -0,0 +1,20 @@ +--- electron/shell/app/electron_crash_reporter_client.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/app/electron_crash_reporter_client.cc +@@ -91,7 +91,7 @@ ElectronCrashReporterClient::~ElectronCrashReporterCli + + ElectronCrashReporterClient::~ElectronCrashReporterClient() = default; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void ElectronCrashReporterClient::SetCrashReporterClientIdFromGUID( + const std::string& client_guid) { + crash_keys::SetMetricsClientIdFromGUID(client_guid); +@@ -192,7 +192,7 @@ void ElectronCrashReporterClient::GetProcessSimpleAnno + (*annotations)["ver"] = ELECTRON_VERSION_STRING; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + bool ElectronCrashReporterClient::ShouldMonitorCrashHandlerExpensively() { + return false; + } diff --git a/devel/electron33/files/patch-electron_shell_app_electron__crash__reporter__client.h b/devel/electron33/files/patch-electron_shell_app_electron__crash__reporter__client.h new file mode 100644 index 000000000000..8698a158a101 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_app_electron__crash__reporter__client.h @@ -0,0 +1,20 @@ +--- electron/shell/app/electron_crash_reporter_client.h.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/app/electron_crash_reporter_client.h +@@ -30,7 +30,7 @@ class ElectronCrashReporterClient : public crash_repor + const std::map<std::string, std::string>& annotations); + + // crash_reporter::CrashReporterClient implementation. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void SetCrashReporterClientIdFromGUID( + const std::string& client_guid) override; + void GetProductNameAndVersion(const char** product_name, +@@ -69,7 +69,7 @@ class ElectronCrashReporterClient : public crash_repor + bool ReportingIsEnforcedByPolicy(bool* breakpad_enabled) override; + #endif + +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool ShouldMonitorCrashHandlerExpensively() override; + #endif + diff --git a/devel/electron33/files/patch-electron_shell_app_electron__main__delegate.cc b/devel/electron33/files/patch-electron_shell_app_electron__main__delegate.cc new file mode 100644 index 000000000000..96c2bdfb2e94 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_app_electron__main__delegate.cc @@ -0,0 +1,63 @@ +--- electron/shell/app/electron_main_delegate.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/app/electron_main_delegate.cc +@@ -58,13 +58,13 @@ + #include "chrome/child/v8_crashpad_support_win.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/nix/xdg_util.h" + #include "v8/include/v8-wasm-trap-handler-posix.h" + #include "v8/include/v8.h" + #endif + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + #include "components/crash/core/app/crash_switches.h" // nogncheck + #include "components/crash/core/app/crashpad.h" // nogncheck + #include "components/crash/core/common/crash_key.h" +@@ -155,7 +155,7 @@ bool ElectronPathProvider(int key, base::FilePath* res + create_dir = true; + break; + } +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + case DIR_APP_DATA: { + auto env = base::Environment::Create(); + cur = base::nix::GetXDGDirectory( +@@ -281,7 +281,7 @@ std::optional<int> ElectronMainDelegate::BasicStartupC + base::win::PinUser32(); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Check for --no-sandbox parameter when running as root. + if (getuid() == 0 && IsSandboxEnabled(command_line)) + LOG(FATAL) << "Running as root without --" +@@ -331,7 +331,7 @@ void ElectronMainDelegate::PreSandboxStartup() { + /* is_preinit = */ IsBrowserProcess() || IsZygoteProcess()); + #endif + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + crash_reporter::InitializeCrashKeys(); + #endif + +@@ -366,7 +366,7 @@ void ElectronMainDelegate::PreSandboxStartup() { + } + #endif + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + crash_keys::SetCrashKeysFromCommandLine(*command_line); + crash_keys::SetPlatformCrashKey(); + #endif +@@ -401,7 +401,7 @@ std::optional<int> ElectronMainDelegate::PreBrowserMai + #if BUILDFLAG(IS_MAC) + RegisterAtomCrApp(); + #endif +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Set the global activation token sent as an environment variable. + auto env = base::Environment::Create(); + base::nix::ExtractXdgActivationTokenFromEnv(*env); diff --git a/devel/electron33/files/patch-electron_shell_app_node__main.cc b/devel/electron33/files/patch-electron_shell_app_node__main.cc new file mode 100644 index 000000000000..1a99365d83ec --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_app_node__main.cc @@ -0,0 +1,37 @@ +--- electron/shell/app/node_main.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/app/node_main.cc +@@ -46,7 +46,7 @@ + #include "shell/common/mac/codesign_util.h" + #endif + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + #include "components/crash/core/app/crashpad.h" // nogncheck + #include "shell/app/electron_crash_reporter_client.h" + #include "shell/common/crash_keys.h" +@@ -97,14 +97,14 @@ bool UnsetHijackableEnvs(base::Environment* env) { + } + #endif + +-#if IS_MAS_BUILD() ++#if IS_MAS_BUILD() || BUILDFLAG(IS_BSD) + void SetCrashKeyStub(const std::string& key, const std::string& value) {} + void ClearCrashKeyStub(const std::string& key) {} + #endif + + v8::Local<v8::Value> GetParameters(v8::Isolate* isolate) { + std::map<std::string, std::string> keys; +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + electron::crash_keys::GetCrashKeys(&keys); + #endif + return gin::ConvertToV8(isolate, keys); +@@ -269,7 +269,7 @@ int NodeMain(int argc, char* argv[]) { + // Setup process.crashReporter in child node processes + auto reporter = gin_helper::Dictionary::CreateEmpty(isolate); + reporter.SetMethod("getParameters", &GetParameters); +-#if IS_MAS_BUILD() ++#if IS_MAS_BUILD() || BUILDFLAG(IS_BSD) + reporter.SetMethod("addExtraParameter", &SetCrashKeyStub); + reporter.SetMethod("removeExtraParameter", &ClearCrashKeyStub); + #else diff --git a/devel/electron33/files/patch-electron_shell_browser_api_electron__api__app.cc b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__app.cc new file mode 100644 index 000000000000..36f8a7f29c17 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__app.cc @@ -0,0 +1,74 @@ +--- electron/shell/browser/api/electron_api_app.cc.orig 2024-09-04 18:50:02 UTC ++++ electron/shell/browser/api/electron_api_app.cc +@@ -92,7 +92,7 @@ + #include "shell/browser/ui/cocoa/electron_bundle_mover.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/nix/scoped_xdg_activation_token_injector.h" + #include "base/nix/xdg_util.h" + #endif +@@ -416,7 +416,7 @@ bool NotificationCallbackWrapper( + base::CommandLine cmd, + const base::FilePath& cwd, + const std::vector<uint8_t> additional_data) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Set the global activation token sent as a command line switch by another + // electron app instance. This also removes the switch after use to prevent + // any side effects of leaving it in the command line after this point. +@@ -602,7 +602,7 @@ void App::OnFinishLaunching(base::Value::Dict launch_i + } + + void App::OnFinishLaunching(base::Value::Dict launch_info) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Set the application name for audio streams shown in external + // applications. Only affects pulseaudio currently. + media::AudioManager::SetGlobalAppName(Browser::Get()->GetName()); +@@ -928,7 +928,7 @@ void App::SetDesktopName(const std::string& desktop_na + } + + void App::SetDesktopName(const std::string& desktop_name) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto env = base::Environment::Create(); + env->SetVar("CHROME_DESKTOP", desktop_name); + #endif +@@ -1033,7 +1033,7 @@ bool App::RequestSingleInstanceLock(gin::Arguments* ar + base::BindRepeating(NotificationCallbackWrapper, cb)); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Read the xdg-activation token and set it in the command line for the + // duration of the notification in order to ensure this is propagated to an + // already running electron app instance if it exists. +@@ -1328,7 +1328,7 @@ std::vector<gin_helper::Dictionary> App::GetAppMetrics + pid_dict.Set("name", process_metric.second->name); + } + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + auto memory_info = process_metric.second->GetMemoryInfo(); + + auto memory_dict = gin_helper::Dictionary::CreateEmpty(isolate); +@@ -1702,7 +1702,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild + .SetMethod( + "removeAsDefaultProtocolClient", + base::BindRepeating(&Browser::RemoveAsDefaultProtocolClient, browser)) +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + .SetMethod( + "getApplicationInfoForProtocol", + base::BindRepeating(&Browser::GetApplicationInfoForProtocol, browser)) +@@ -1760,7 +1760,7 @@ gin::ObjectTemplateBuilder App::GetObjectTemplateBuild + .SetMethod("getJumpListSettings", &App::GetJumpListSettings) + .SetMethod("setJumpList", &App::SetJumpList) + #endif +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + .SetMethod("isUnityRunning", + base::BindRepeating(&Browser::IsUnityRunning, browser)) + #endif diff --git a/devel/electron33/files/patch-electron_shell_browser_api_electron__api__base__window.cc b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__base__window.cc new file mode 100644 index 000000000000..2140fe7df63c --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__base__window.cc @@ -0,0 +1,38 @@ +--- electron/shell/browser/api/electron_api_base_window.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/api/electron_api_base_window.cc +@@ -42,7 +42,7 @@ + #include "shell/browser/ui/views/win_frame_view.h" + #include "shell/browser/ui/win/taskbar_host.h" + #include "ui/base/win/shell.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "shell/browser/ui/views/opaque_frame_view.h" + #endif + +@@ -995,7 +995,7 @@ void BaseWindow::SetIconImpl(v8::Isolate* isolate, + static_cast<NativeWindowViews*>(window_.get()) + ->SetIcon(native_image->GetHICON(GetSystemMetrics(SM_CXSMICON)), + native_image->GetHICON(GetSystemMetrics(SM_CXICON))); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + static_cast<NativeWindowViews*>(window_.get()) + ->SetIcon(native_image->image().AsImageSkia()); + #endif +@@ -1052,7 +1052,7 @@ void BaseWindow::SetAppDetails(const gin_helper::Dicti + } + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void BaseWindow::SetTitleBarOverlay(const gin_helper::Dictionary& options, + gin_helper::Arguments* args) { + // Ensure WCO is already enabled on this window +@@ -1302,7 +1302,7 @@ void BaseWindow::BuildPrototype(v8::Isolate* isolate, + .SetMethod("setThumbnailToolTip", &BaseWindow::SetThumbnailToolTip) + .SetMethod("setAppDetails", &BaseWindow::SetAppDetails) + #endif +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + .SetMethod("setTitleBarOverlay", &BaseWindow::SetTitleBarOverlay) + #endif + .SetProperty("id", &BaseWindow::GetID); diff --git a/devel/electron33/files/patch-electron_shell_browser_api_electron__api__base__window.h b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__base__window.h new file mode 100644 index 000000000000..518c52b22913 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__base__window.h @@ -0,0 +1,11 @@ +--- electron/shell/browser/api/electron_api_base_window.h.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/api/electron_api_base_window.h +@@ -249,7 +249,7 @@ class BaseWindow : public gin_helper::TrackableObject< + void SetAppDetails(const gin_helper::Dictionary& options); + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void SetTitleBarOverlay(const gin_helper::Dictionary& options, + gin_helper::Arguments* args); + #endif diff --git a/devel/electron33/files/patch-electron_shell_browser_api_electron__api__crash__reporter.cc b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__crash__reporter.cc new file mode 100644 index 000000000000..104b70085d43 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__crash__reporter.cc @@ -0,0 +1,72 @@ +--- electron/shell/browser/api/electron_api_crash_reporter.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/api/electron_api_crash_reporter.cc +@@ -29,7 +29,7 @@ + #include "shell/common/process_util.h" + #include "shell/common/thread_restrictions.h" + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + #include "components/crash/core/app/crashpad.h" // nogncheck + #include "components/crash/core/browser/crash_upload_list_crashpad.h" // nogncheck + #include "components/crash/core/common/crash_key.h" +@@ -64,7 +64,7 @@ namespace electron::api::crash_reporter { + + namespace electron::api::crash_reporter { + +-#if IS_MAS_BUILD() ++#if IS_MAS_BUILD() || BUILDFLAG(IS_BSD) + namespace { + + void NoOp() {} +@@ -135,7 +135,7 @@ void Start(const std::string& submit_url, + const std::map<std::string, std::string>& extra, + bool is_node_process) { + TRACE_EVENT0("electron", "crash_reporter::Start"); +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + if (g_crash_reporter_initialized) + return; + g_crash_reporter_initialized = true; +@@ -181,7 +181,7 @@ namespace { + + namespace { + +-#if IS_MAS_BUILD() ++#if IS_MAS_BUILD() || BUILDFLAG(IS_BSD) + void GetUploadedReports( + v8::Isolate* isolate, + base::OnceCallback<void(v8::Local<v8::Value>)> callback) { +@@ -237,13 +237,13 @@ void SetUploadToServer(bool upload) { + #endif + + void SetUploadToServer(bool upload) { +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + ElectronCrashReporterClient::Get()->SetCollectStatsConsent(upload); + #endif + } + + bool GetUploadToServer() { +-#if IS_MAS_BUILD() ++#if IS_MAS_BUILD() || BUILDFLAG(IS_BSD) + return false; + #else + return ElectronCrashReporterClient::Get()->GetCollectStatsConsent(); +@@ -252,7 +252,7 @@ v8::Local<v8::Value> GetParameters(v8::Isolate* isolat + + v8::Local<v8::Value> GetParameters(v8::Isolate* isolate) { + std::map<std::string, std::string> keys; +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + electron::crash_keys::GetCrashKeys(&keys); + #endif + return gin::ConvertToV8(isolate, keys); +@@ -264,7 +264,7 @@ void Initialize(v8::Local<v8::Object> exports, + void* priv) { + gin_helper::Dictionary dict(context->GetIsolate(), exports); + dict.SetMethod("start", &electron::api::crash_reporter::Start); +-#if IS_MAS_BUILD() ++#if IS_MAS_BUILD() || BUILDFLAG(IS_BSD) + dict.SetMethod("addExtraParameter", &electron::api::crash_reporter::NoOp); + dict.SetMethod("removeExtraParameter", &electron::api::crash_reporter::NoOp); + #else diff --git a/devel/electron33/files/patch-electron_shell_browser_api_electron__api__desktop__capturer.cc b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__desktop__capturer.cc new file mode 100644 index 000000000000..191a607e2582 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__desktop__capturer.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/api/electron_api_desktop_capturer.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/api/electron_api_desktop_capturer.cc +@@ -47,7 +47,7 @@ namespace { + #endif + + namespace { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Private function in ui/base/x/x11_display_util.cc + base::flat_map<x11::RandR::Output, int> GetMonitors( + std::pair<uint32_t, uint32_t> version, diff --git a/devel/electron33/files/patch-electron_shell_browser_api_electron__api__power__monitor.cc b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__power__monitor.cc new file mode 100644 index 000000000000..f6efa59ac49a --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__power__monitor.cc @@ -0,0 +1,23 @@ +--- electron/shell/browser/api/electron_api_power_monitor.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/api/electron_api_power_monitor.cc +@@ -128,6 +128,11 @@ void PowerMonitor::OnSpeedLimitChange(int speed_limit) + gin::DataObjectBuilder(isolate).Set("limit", speed_limit).Build()); + } + ++#if BUILDFLAG(IS_BSD) ++void PowerMonitor::SetListeningForShutdown(bool is_listening) { ++} ++#endif ++ + #if BUILDFLAG(IS_LINUX) + void PowerMonitor::SetListeningForShutdown(bool is_listening) { + if (is_listening) { +@@ -153,7 +158,7 @@ gin::ObjectTemplateBuilder PowerMonitor::GetObjectTemp + auto builder = + gin_helper::EventEmitterMixin<PowerMonitor>::GetObjectTemplateBuilder( + isolate); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + builder.SetMethod("setListeningForShutdown", + &PowerMonitor::SetListeningForShutdown); + #endif diff --git a/devel/electron33/files/patch-electron_shell_browser_api_electron__api__power__monitor.h b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__power__monitor.h new file mode 100644 index 000000000000..7aa5993e972e --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__power__monitor.h @@ -0,0 +1,11 @@ +--- electron/shell/browser/api/electron_api_power_monitor.h.orig 2023-05-03 13:27:52 UTC ++++ electron/shell/browser/api/electron_api_power_monitor.h +@@ -40,7 +40,7 @@ class PowerMonitor : public gin::Wrappable<PowerMonito + explicit PowerMonitor(v8::Isolate* isolate); + ~PowerMonitor() override; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void SetListeningForShutdown(bool); + #endif + diff --git a/devel/electron33/files/patch-electron_shell_browser_api_electron__api__safe__storage.cc b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__safe__storage.cc new file mode 100644 index 000000000000..de5a0b558f2a --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__safe__storage.cc @@ -0,0 +1,29 @@ +--- electron/shell/browser/api/electron_api_safe_storage.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/api/electron_api_safe_storage.cc +@@ -19,7 +19,7 @@ bool IsEncryptionAvailable() { + bool use_password_v10 = false; + + bool IsEncryptionAvailable() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Calling IsEncryptionAvailable() before the app is ready results in a crash + // on Linux. + // Refs: https://github.com/electron/electron/issues/32206. +@@ -38,7 +38,7 @@ void SetUsePasswordV10(bool use) { + use_password_v10 = use; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string GetSelectedLinuxBackend() { + if (!electron::Browser::Get()->is_ready()) + return "unknown"; +@@ -135,7 +135,7 @@ void Initialize(v8::Local<v8::Object> exports, + gin_helper::Dictionary dict(isolate, exports); + dict.SetMethod("decryptString", &DecryptString); + dict.SetMethod("encryptString", &EncryptString); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + dict.SetMethod("getSelectedStorageBackend", &GetSelectedLinuxBackend); + #endif + dict.SetMethod("isEncryptionAvailable", &IsEncryptionAvailable); diff --git a/devel/electron33/files/patch-electron_shell_browser_api_electron__api__web__contents.cc b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__web__contents.cc new file mode 100644 index 000000000000..2080f55fa170 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__web__contents.cc @@ -0,0 +1,77 @@ +--- electron/shell/browser/api/electron_api_web_contents.cc.orig 2024-11-07 16:14:43 UTC ++++ electron/shell/browser/api/electron_api_web_contents.cc +@@ -153,11 +153,11 @@ + #include "ui/base/cocoa/defaults_utils.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "ui/aura/window.h" + #include "ui/gfx/font_render_params.h" + #endif +@@ -188,7 +188,7 @@ + #include "content/public/browser/plugin_service.h" + #endif + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + #include "chrome/browser/hang_monitor/hang_crash_dump.h" // nogncheck + #endif + +@@ -513,7 +513,7 @@ std::optional<base::TimeDelta> GetCursorBlinkInterval( + ui::TextInsertionCaretBlinkPeriodFromDefaults()); + if (system_value) + return *system_value; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (auto* linux_ui = ui::LinuxUi::instance()) + return linux_ui->GetCursorBlinkInterval(); + #elif BUILDFLAG(IS_WIN) +@@ -893,7 +893,7 @@ void WebContents::InitWithSessionAndOptions( + accept_languages.pop_back(); + prefs->accept_languages = accept_languages; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Update font settings. + static const gfx::FontRenderParams params( + gfx::GetFontRenderParams(gfx::FontRenderParamsQuery(), nullptr)); +@@ -2657,13 +2657,13 @@ void WebContents::ForcefullyCrashRenderer() { + + content::RenderProcessHost* rph = rwh->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(); + #else + // Try to generate a crash report for the hung process. +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + CrashDumpHungChildProcess(rph->GetProcess().Handle()); + #endif + rph->Shutdown(content::RESULT_CODE_HUNG); +@@ -3336,7 +3336,7 @@ void WebContents::Focus() { + void WebContents::Focus() { + // Focusing on WebContents does not automatically focus the window on macOS + // and Linux, do it manually to match the behavior on Windows. +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (owner_window()) + owner_window()->Focus(true); + #endif +@@ -4212,7 +4212,7 @@ ui::ImageModel WebContents::GetDevToolsWindowIcon() { + } + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void WebContents::GetDevToolsWindowWMClass(std::string* name, + std::string* class_name) { + *class_name = Browser::Get()->GetName(); diff --git a/devel/electron33/files/patch-electron_shell_browser_api_electron__api__web__contents.h b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__web__contents.h new file mode 100644 index 000000000000..1aa607012366 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_electron__api__web__contents.h @@ -0,0 +1,11 @@ +--- electron/shell/browser/api/electron_api_web_contents.h.orig 2024-11-07 16:14:43 UTC ++++ electron/shell/browser/api/electron_api_web_contents.h +@@ -768,7 +768,7 @@ class WebContents final : public ExclusiveAccessContex + #if defined(TOOLKIT_VIEWS) && !BUILDFLAG(IS_MAC) + ui::ImageModel GetDevToolsWindowIcon() override; + #endif +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void GetDevToolsWindowWMClass(std::string* name, + std::string* class_name) override; + #endif diff --git a/devel/electron33/files/patch-electron_shell_browser_api_process__metric.h b/devel/electron33/files/patch-electron_shell_browser_api_process__metric.h new file mode 100644 index 000000000000..d6ff67a703bf --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_api_process__metric.h @@ -0,0 +1,20 @@ +--- electron/shell/browser/api/process_metric.h.orig 2022-05-18 15:31:32 UTC ++++ electron/shell/browser/api/process_metric.h +@@ -14,7 +14,7 @@ + + namespace electron { + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + struct ProcessMemoryInfo { + size_t working_set_size = 0; + size_t peak_working_set_size = 0; +@@ -48,7 +48,7 @@ struct ProcessMetric { + const std::string& name = std::string()); + ~ProcessMetric(); + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + ProcessMemoryInfo GetMemoryInfo() const; + #endif + diff --git a/devel/electron33/files/patch-electron_shell_browser_browser.cc b/devel/electron33/files/patch-electron_shell_browser_browser.cc new file mode 100644 index 000000000000..7d831eec45f5 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_browser.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/browser.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/browser.cc +@@ -72,7 +72,7 @@ Browser* Browser::Get() { + return ElectronBrowserMainParts::Get()->browser(); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void Browser::Focus(gin::Arguments* args) { + // Focus on the first visible window. + for (auto* const window : WindowList::GetWindows()) { diff --git a/devel/electron33/files/patch-electron_shell_browser_browser.h b/devel/electron33/files/patch-electron_shell_browser_browser.h new file mode 100644 index 000000000000..8abb0580770a --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_browser.h @@ -0,0 +1,24 @@ +--- electron/shell/browser/browser.h.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/browser.h +@@ -144,7 +144,7 @@ class Browser : private WindowListObserver { + + std::u16string GetApplicationNameForProtocol(const GURL& url); + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // get the name, icon and path for an application + v8::Local<v8::Promise> GetApplicationInfoForProtocol(v8::Isolate* isolate, + const GURL& url); +@@ -272,10 +272,10 @@ class Browser : private WindowListObserver { + PCWSTR GetAppUserModelID(); + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Whether Unity launcher is running. + bool IsUnityRunning(); +-#endif // BUILDFLAG(IS_LINUX) ++#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + // Tell the application to open a file. + bool OpenFile(const std::string& file_path); diff --git a/devel/electron33/files/patch-electron_shell_browser_browser__linux.cc b/devel/electron33/files/patch-electron_shell_browser_browser__linux.cc new file mode 100644 index 000000000000..caeba053c919 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_browser__linux.cc @@ -0,0 +1,20 @@ +--- electron/shell/browser/browser_linux.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/browser_linux.cc +@@ -7,7 +7,7 @@ + #include <fcntl.h> + #include <stdlib.h> + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include <gtk/gtk.h> + #endif + +@@ -23,7 +23,7 @@ + #include "shell/common/gin_converters/login_item_settings_converter.h" + #include "shell/common/thread_restrictions.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "shell/browser/linux/unity_service.h" + #endif + diff --git a/devel/electron33/files/patch-electron_shell_browser_browser__process__impl.cc b/devel/electron33/files/patch-electron_shell_browser_browser__process__impl.cc new file mode 100644 index 000000000000..c6d282bcf840 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_browser__process__impl.cc @@ -0,0 +1,20 @@ +--- electron/shell/browser/browser_process_impl.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/browser_process_impl.cc +@@ -338,7 +338,7 @@ electron::ResolveProxyHelper* BrowserProcessImpl::GetR + return resolve_proxy_helper_.get(); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void BrowserProcessImpl::SetLinuxStorageBackend( + os_crypt::SelectedLinuxBackend selected_backend) { + switch (selected_backend) { +@@ -361,7 +361,7 @@ void BrowserProcessImpl::SetLinuxStorageBackend( + NOTREACHED(); + } + } +-#endif // BUILDFLAG(IS_LINUX) ++#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + void BrowserProcessImpl::SetApplicationLocale(const std::string& locale) { + locale_ = locale; diff --git a/devel/electron33/files/patch-electron_shell_browser_browser__process__impl.h b/devel/electron33/files/patch-electron_shell_browser_browser__process__impl.h new file mode 100644 index 000000000000..35e03e8fd756 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_browser__process__impl.h @@ -0,0 +1,29 @@ +--- electron/shell/browser/browser_process_impl.h.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/browser_process_impl.h +@@ -21,7 +21,7 @@ + #include "services/network/public/cpp/shared_url_loader_factory.h" + #include "shell/browser/net/system_network_context_manager.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "components/os_crypt/sync/key_storage_util_linux.h" + #endif + +@@ -60,7 +60,7 @@ class BrowserProcessImpl : public BrowserProcess { + const std::string& GetSystemLocale() const; + electron::ResolveProxyHelper* GetResolveProxyHelper(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void SetLinuxStorageBackend(os_crypt::SelectedLinuxBackend selected_backend); + [[nodiscard]] const std::string& linux_storage_backend() const { + return selected_linux_storage_backend_; +@@ -150,7 +150,7 @@ class BrowserProcessImpl : public BrowserProcess { + std::unique_ptr<PrefService> local_state_; + std::string locale_; + std::string system_locale_; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string selected_linux_storage_backend_; + #endif + embedder_support::OriginTrialsSettingsStorage origin_trials_settings_storage_; diff --git a/devel/electron33/files/patch-electron_shell_browser_electron__browser__main__parts.cc b/devel/electron33/files/patch-electron_shell_browser_electron__browser__main__parts.cc new file mode 100644 index 000000000000..3fa5da967b43 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_electron__browser__main__parts.cc @@ -0,0 +1,84 @@ +--- electron/shell/browser/electron_browser_main_parts.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/electron_browser_main_parts.cc +@@ -76,7 +76,7 @@ + #include "ui/wm/core/wm_state.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/environment.h" + #include "chrome/browser/ui/views/dark_mode_manager_linux.h" + #include "device/bluetooth/bluetooth_adapter_factory.h" +@@ -129,7 +129,7 @@ namespace { + + namespace { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + class LinuxUiGetterImpl : public ui::LinuxUiGetter { + public: + LinuxUiGetterImpl() = default; +@@ -209,7 +209,7 @@ int ElectronBrowserMainParts::PreEarlyInitialization() + #if BUILDFLAG(IS_POSIX) + HandleSIGCHLD(); + #endif +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + DetectOzonePlatform(); + ui::OzonePlatform::PreEarlyInitialization(); + #endif +@@ -299,7 +299,7 @@ int ElectronBrowserMainParts::PreCreateThreads() { + // happen before the ResourceBundle is loaded + if (locale.empty()) + l10n_util::OverrideLocaleWithCocoaLocale(); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // l10n_util::GetApplicationLocaleInternal uses g_get_language_names(), + // which keys off of getenv("LC_ALL"). + // We must set this env first to make ui::ResourceBundle accept the custom +@@ -330,7 +330,7 @@ int ElectronBrowserMainParts::PreCreateThreads() { + ElectronBrowserClient::SetApplicationLocale(app_locale); + fake_browser_process_->SetApplicationLocale(app_locale); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Reset to the original LC_ALL since we should not be changing it. + if (!locale.empty()) { + if (lc_all) +@@ -390,7 +390,7 @@ void ElectronBrowserMainParts::ToolkitInitialized() { + } + + void ElectronBrowserMainParts::ToolkitInitialized() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto* linux_ui = ui::GetDefaultLinuxUi(); + CHECK(linux_ui); + linux_ui_getter_ = std::make_unique<LinuxUiGetterImpl>(); +@@ -496,7 +496,7 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo + } + + void ElectronBrowserMainParts::PostCreateMainMessageLoop() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + std::string app_name = electron::Browser::Get()->GetName(); + #endif + #if BUILDFLAG(IS_LINUX) +@@ -508,7 +508,9 @@ void ElectronBrowserMainParts::PostCreateMainMessageLo + + if (!bluez::BluezDBusManager::IsInitialized()) + bluez::DBusBluezManagerWrapperLinux::Initialize(); ++#endif + ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // 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 + // network service for encrypted cookie storage. +@@ -609,7 +611,7 @@ void ElectronBrowserMainParts::PostMainMessageLoopRun( + fake_browser_process_->PostMainMessageLoopRun(); + content::DevToolsAgentHost::StopRemoteDebuggingPipeHandler(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ui::OzonePlatform::GetInstance()->PostMainMessageLoopRun(); + #endif + } diff --git a/devel/electron33/files/patch-electron_shell_browser_electron__browser__main__parts.h b/devel/electron33/files/patch-electron_shell_browser_electron__browser__main__parts.h new file mode 100644 index 000000000000..24ebf929d1cc --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_electron__browser__main__parts.h @@ -0,0 +1,20 @@ +--- electron/shell/browser/electron_browser_main_parts.h.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/electron_browser_main_parts.h +@@ -124,7 +124,7 @@ class ElectronBrowserMainParts : public content::Brows + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void DetectOzonePlatform(); + #endif + +@@ -146,7 +146,7 @@ class ElectronBrowserMainParts : public content::Brows + std::unique_ptr<display::Screen> screen_; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<ui::DarkModeManagerLinux> dark_mode_manager_; + std::unique_ptr<ui::LinuxUiGetter> linux_ui_getter_; + #endif diff --git a/devel/electron33/files/patch-electron_shell_browser_electron__browser__main__parts__posix.cc b/devel/electron33/files/patch-electron_shell_browser_electron__browser__main__parts__posix.cc new file mode 100644 index 000000000000..d8ab6686ee61 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_electron__browser__main__parts__posix.cc @@ -0,0 +1,19 @@ +--- electron/shell/browser/electron_browser_main_parts_posix.cc.orig 2024-10-15 14:19:55 UTC ++++ electron/shell/browser/electron_browser_main_parts_posix.cc +@@ -210,12 +210,16 @@ void ElectronBrowserMainParts::InstallShutdownSignalHa + g_pipe_pid = getpid(); + g_shutdown_pipe_read_fd = pipefd[0]; + g_shutdown_pipe_write_fd = pipefd[1]; ++#if defined(OS_BSD) ++ 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/devel/electron33/files/patch-electron_shell_browser_extensions_api_runtime_electron__runtime__api__delegate.cc b/devel/electron33/files/patch-electron_shell_browser_extensions_api_runtime_electron__runtime__api__delegate.cc new file mode 100644 index 000000000000..67845f96c78b --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_extensions_api_runtime_electron__runtime__api__delegate.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/extensions/api/runtime/electron_runtime_api_delegate.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/extensions/api/runtime/electron_runtime_api_delegate.cc +@@ -54,6 +54,8 @@ bool ElectronRuntimeAPIDelegate::GetPlatformInfo(Platf + info->os = extensions::api::runtime::PlatformOs::kLinux; + } else if (strcmp(os, "openbsd") == 0) { + info->os = extensions::api::runtime::PlatformOs::kOpenbsd; ++ } else if (strcmp(os, "freebsd") == 0) { ++ info->os = extensions::api::runtime::PlatformOs::kFreebsd; + } else { + NOTREACHED(); + } diff --git a/devel/electron33/files/patch-electron_shell_browser_native__window.cc b/devel/electron33/files/patch-electron_shell_browser_native__window.cc new file mode 100644 index 000000000000..af8bae039aff --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_native__window.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/native_window.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/native_window.cc +@@ -202,7 +202,7 @@ void NativeWindow::InitFromOptions(const gin_helper::D + } else { + SetSizeConstraints(size_constraints); + } +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool closable; + if (options.Get(options::kClosable, &closable)) { + SetClosable(closable); diff --git a/devel/electron33/files/patch-electron_shell_browser_native__window__views.cc b/devel/electron33/files/patch-electron_shell_browser_native__window__views.cc new file mode 100644 index 000000000000..286f0eac58d8 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_native__window__views.cc @@ -0,0 +1,200 @@ +--- electron/shell/browser/native_window_views.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/native_window_views.cc +@@ -49,7 +49,7 @@ + #include "ui/wm/core/shadow_types.h" + #include "ui/wm/core/window_util.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/strings/string_util.h" + #include "shell/browser/browser.h" + #include "shell/browser/linux/unity_service.h" +@@ -293,7 +293,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper: + params.parent = parent->GetNativeWindow(); + + params.native_widget = new ElectronDesktopNativeWidgetAura(this); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::string name = Browser::Get()->GetName(); + // Set WM_WINDOW_ROLE. + params.wm_role_name = "browser-window"; +@@ -319,7 +319,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper: + std::string window_type; + options.Get(options::kType, &window_type); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Set _GTK_THEME_VARIANT to dark if we have "dark-theme" option set. + bool use_dark_theme = false; + if (options.Get(options::kDarkTheme, &use_dark_theme) && use_dark_theme) { +@@ -421,7 +421,7 @@ NativeWindowViews::NativeWindowViews(const gin_helper: + if (window) + window->AddPreTargetHandler(this); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On linux after the widget is initialized we might have to force set the + // bounds if the bounds are smaller than the current display + SetBounds(gfx::Rect(GetPosition(), bounds.size()), false); +@@ -457,7 +457,7 @@ void NativeWindowViews::SetGTKDarkThemeEnabled(bool us + } + + void NativeWindowViews::SetGTKDarkThemeEnabled(bool use_dark_theme) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsX11()) { + const std::string color = use_dark_theme ? "dark" : "light"; + auto* connection = x11::Connection::Get(); +@@ -519,7 +519,7 @@ void NativeWindowViews::Show() { + + NotifyWindowShow(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (global_menu_bar_) + global_menu_bar_->OnWindowMapped(); + +@@ -535,7 +535,7 @@ void NativeWindowViews::ShowInactive() { + + NotifyWindowShow(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (global_menu_bar_) + global_menu_bar_->OnWindowMapped(); + +@@ -554,7 +554,7 @@ void NativeWindowViews::Hide() { + + NotifyWindowHide(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (global_menu_bar_) + global_menu_bar_->OnWindowUnmapped(); + #endif +@@ -585,7 +585,7 @@ bool NativeWindowViews::IsEnabled() const { + bool NativeWindowViews::IsEnabled() const { + #if BUILDFLAG(IS_WIN) + return ::IsWindowEnabled(GetAcceleratedWidget()); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsX11()) + return !event_disabler_.get(); + NOTIMPLEMENTED(); +@@ -641,7 +641,7 @@ void NativeWindowViews::SetEnabledInternal(bool enable + #endif + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void NativeWindowViews::Maximize() { + if (IsVisible()) { + widget()->Maximize(); +@@ -781,7 +781,7 @@ void NativeWindowViews::SetBounds(const gfx::Rect& bou + } + #endif + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Linux and Windows the minimum and maximum size should be updated with + // window size when window is not resizable. + if (!resizable_) { +@@ -1039,7 +1039,7 @@ bool NativeWindowViews::IsClosable() const { + return false; + } + return !(info.fState & MFS_DISABLED); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return true; + #endif + } +@@ -1079,7 +1079,7 @@ void NativeWindowViews::Center() { + // for now to avoid breaking API contract, but should consider the long + // term plan for this aligning with upstream. + void NativeWindowViews::Center() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto display = + display::Screen::GetScreen()->GetDisplayNearestWindow(GetNativeWindow()); + gfx::Rect window_bounds_in_screen = display.work_area(); +@@ -1302,7 +1302,7 @@ void NativeWindowViews::SetMenu(ElectronMenuModel* men + } + + void NativeWindowViews::SetMenu(ElectronMenuModel* menu_model) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Remove global menu bar. + if (global_menu_bar_ && menu_model == nullptr) { + global_menu_bar_.reset(); +@@ -1357,7 +1357,7 @@ void NativeWindowViews::SetParentWindow(NativeWindow* + void NativeWindowViews::SetParentWindow(NativeWindow* parent) { + NativeWindow::SetParentWindow(parent); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsX11()) { + auto* connection = x11::Connection::Get(); + connection->SetProperty( +@@ -1403,7 +1403,7 @@ void NativeWindowViews::SetProgressBar(double progress + NativeWindow::ProgressState state) { + #if BUILDFLAG(IS_WIN) + taskbar_host_.SetProgressBar(GetAcceleratedWidget(), progress, state); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (unity::IsRunning()) { + unity::SetProgressFraction(progress); + } +@@ -1474,7 +1474,7 @@ bool NativeWindowViews::IsVisibleOnAllWorkspaces() con + } + + bool NativeWindowViews::IsVisibleOnAllWorkspaces() const { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsX11()) { + // Use the presence/absence of _NET_WM_STATE_STICKY in _NET_WM_STATE to + // determine whether the current window is visible on all workspaces. +@@ -1497,7 +1497,7 @@ content::DesktopMediaID NativeWindowViews::GetDesktopM + #if BUILDFLAG(IS_WIN) + window_handle = + reinterpret_cast<content::DesktopMediaID::Id>(accelerated_widget); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + window_handle = static_cast<uint32_t>(accelerated_widget); + #endif + aura::WindowTreeHost* const host = +@@ -1595,7 +1595,7 @@ void NativeWindowViews::SetIcon(HICON window_icon, HIC + SendMessage(hwnd, WM_SETICON, ICON_BIG, + reinterpret_cast<LPARAM>(app_icon_.get())); + } +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void NativeWindowViews::SetIcon(const gfx::ImageSkia& icon) { + auto* tree_host = views::DesktopWindowTreeHostLinux::GetHostForWidget( + GetAcceleratedWidget()); +@@ -1681,7 +1681,7 @@ bool NativeWindowViews::CanMinimize() const { + bool NativeWindowViews::CanMinimize() const { + #if BUILDFLAG(IS_WIN) + return minimizable_; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return true; + #endif + } +@@ -1737,7 +1737,7 @@ void NativeWindowViews::HandleKeyboardEvent( + if (widget_destroyed_) + return; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (event.windows_key_code == ui::VKEY_BROWSER_BACK) + NotifyWindowExecuteAppCommand(kBrowserBackward); + else if (event.windows_key_code == ui::VKEY_BROWSER_FORWARD) +@@ -1756,7 +1756,7 @@ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* e + // Alt+Click should not toggle menu bar. + root_view_.ResetAltState(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (event->changed_button_flags() == ui::EF_BACK_MOUSE_BUTTON) + NotifyWindowExecuteAppCommand(kBrowserBackward); + else if (event->changed_button_flags() == ui::EF_FORWARD_MOUSE_BUTTON) diff --git a/devel/electron33/files/patch-electron_shell_browser_native__window__views.h b/devel/electron33/files/patch-electron_shell_browser_native__window__views.h new file mode 100644 index 000000000000..fd243ee71394 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_native__window__views.h @@ -0,0 +1,29 @@ +--- electron/shell/browser/native_window_views.h.orig 2024-08-20 22:47:02 UTC ++++ electron/shell/browser/native_window_views.h +@@ -25,7 +25,7 @@ namespace electron { + + namespace electron { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + class GlobalMenuBarX11; + #endif + +@@ -161,7 +161,7 @@ class NativeWindowViews : public NativeWindow, + LPARAM l_param, + LRESULT* result); + void SetIcon(HICON small_icon, HICON app_icon); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void SetIcon(const gfx::ImageSkia& icon); + #endif + +@@ -247,7 +247,7 @@ class NativeWindowViews : public NativeWindow, + // events from resizing the window. + extensions::SizeConstraints old_size_constraints_; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<GlobalMenuBarX11> global_menu_bar_; + #endif + diff --git a/devel/electron33/files/patch-electron_shell_browser_net_system__network__context__manager.cc b/devel/electron33/files/patch-electron_shell_browser_net_system__network__context__manager.cc new file mode 100644 index 000000000000..d377efdbefbc --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_net_system__network__context__manager.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/net/system_network_context_manager.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/net/system_network_context_manager.cc +@@ -40,7 +40,7 @@ + #include "shell/common/options_switches.h" + #include "url/gurl.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "components/os_crypt/sync/key_storage_config_linux.h" + #endif + diff --git a/devel/electron33/files/patch-electron_shell_browser_osr_osr__host__display__client.cc b/devel/electron33/files/patch-electron_shell_browser_osr_osr__host__display__client.cc new file mode 100644 index 000000000000..b62fb32f3efc --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_osr_osr__host__display__client.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/osr/osr_host_display_client.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/osr/osr_host_display_client.cc +@@ -95,7 +95,7 @@ void OffScreenHostDisplayClient::CreateLayeredWindowUp + layered_window_updater_->SetActive(active_); + } + +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + void OffScreenHostDisplayClient::DidCompleteSwapWithNewSize( + const gfx::Size& size) {} + #endif diff --git a/devel/electron33/files/patch-electron_shell_browser_osr_osr__host__display__client.h b/devel/electron33/files/patch-electron_shell_browser_osr_osr__host__display__client.h new file mode 100644 index 000000000000..813c3277570f --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_osr_osr__host__display__client.h @@ -0,0 +1,11 @@ +--- electron/shell/browser/osr/osr_host_display_client.h.orig 2024-11-07 16:14:43 UTC ++++ electron/shell/browser/osr/osr_host_display_client.h +@@ -74,7 +74,7 @@ class OffScreenHostDisplayClient : public viz::HostDis + mojo::PendingReceiver<viz::mojom::LayeredWindowUpdater> receiver) + override; + +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + void DidCompleteSwapWithNewSize(const gfx::Size& size) override; + #endif + diff --git a/devel/electron33/files/patch-electron_shell_browser_osr_osr__paint__event.h b/devel/electron33/files/patch-electron_shell_browser_osr_osr__paint__event.h new file mode 100644 index 000000000000..c7fac1a69a3a --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_osr_osr__paint__event.h @@ -0,0 +1,11 @@ +--- electron/shell/browser/osr/osr_paint_event.h.orig 2024-11-11 11:23:02 UTC ++++ electron/shell/browser/osr/osr_paint_event.h +@@ -96,7 +96,7 @@ struct OffscreenSharedTextureValue { + // On Windows it is a HANDLE to the shared D3D11 texture. + // On macOS it is a IOSurface* to the shared IOSurface. + uintptr_t shared_texture_handle; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::vector<OffscreenNativePixmapPlaneInfo> planes; + uint64_t modifier; + #endif diff --git a/devel/electron33/files/patch-electron_shell_browser_osr_osr__video__consumer.cc b/devel/electron33/files/patch-electron_shell_browser_osr_osr__video__consumer.cc new file mode 100644 index 000000000000..90fae72982b6 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_osr_osr__video__consumer.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/osr/osr_video_consumer.cc.orig 2024-11-11 11:24:27 UTC ++++ electron/shell/browser/osr/osr_video_consumer.cc +@@ -103,7 +103,7 @@ void OffScreenVideoConsumer::OnFrameCaptured( + #elif BUILDFLAG(IS_APPLE) + texture.shared_texture_handle = + reinterpret_cast<uintptr_t>(gmb_handle.io_surface.get()); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const auto& native_pixmap = gmb_handle.native_pixmap_handle; + texture.modifier = native_pixmap.modifier; + for (const auto& plane : native_pixmap.planes) { diff --git a/devel/electron33/files/patch-electron_shell_browser_printing_printing__utils.cc b/devel/electron33/files/patch-electron_shell_browser_printing_printing__utils.cc new file mode 100644 index 000000000000..c851a0e1be59 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_printing_printing__utils.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/printing/printing_utils.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/printing/printing_utils.cc +@@ -31,7 +31,7 @@ + #include <ApplicationServices/ApplicationServices.h> + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include <gtk/gtk.h> + #endif + diff --git a/devel/electron33/files/patch-electron_shell_browser_relauncher__linux.cc b/devel/electron33/files/patch-electron_shell_browser_relauncher__linux.cc new file mode 100644 index 000000000000..53d9001f7a94 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_relauncher__linux.cc @@ -0,0 +1,32 @@ +--- electron/shell/browser/relauncher_linux.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/relauncher_linux.cc +@@ -6,8 +6,10 @@ + + #include <fcntl.h> + #include <signal.h> ++#if !defined(__FreeBSD__) + #include <sys/prctl.h> + #include <sys/signalfd.h> ++#endif + + #include "base/files/scoped_file.h" + #include "base/logging.h" +@@ -24,6 +26,10 @@ void RelauncherSynchronizeWithParent() { + base::ScopedFD relauncher_sync_fd(kRelauncherSyncFD); + static const auto signum = SIGUSR2; + ++#if defined(__FreeBSD__) ++ PLOG(ERROR) << "signalfd & prctl"; ++ fprintf(stderr, "Not Implemented signalfd & prctl in atom/browser/relauncher_linux.cc"); ++#else + // send signum to current process when parent process ends. + if (HANDLE_EINTR(prctl(PR_SET_PDEATHSIG, signum)) != 0) { + PLOG(ERROR) << "prctl"; +@@ -48,6 +54,7 @@ void RelauncherSynchronizeWithParent() { + + // Wait for the parent to exit + parentWaiter.Wait(); ++#endif + } + + int LaunchProgram(const StringVector& relauncher_args, diff --git a/devel/electron33/files/patch-electron_shell_browser_ui_inspectable__web__contents.cc b/devel/electron33/files/patch-electron_shell_browser_ui_inspectable__web__contents.cc new file mode 100644 index 000000000000..222f0d3920e7 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_ui_inspectable__web__contents.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/ui/inspectable_web_contents.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/ui/inspectable_web_contents.cc +@@ -553,7 +553,7 @@ void InspectableWebContents::LoadCompleted() { + prefs.FindString("currentDockState"); + base::RemoveChars(*current_dock_state, "\"", &dock_state_); + } +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto* api_web_contents = api::WebContents::From(GetWebContents()); + if (api_web_contents) { + auto* win = diff --git a/devel/electron33/files/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h b/devel/electron33/files/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h new file mode 100644 index 000000000000..36fa491f6daa --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_ui_inspectable__web__contents__view__delegate.h @@ -0,0 +1,11 @@ +--- electron/shell/browser/ui/inspectable_web_contents_view_delegate.h.orig 2022-05-18 15:31:32 UTC ++++ electron/shell/browser/ui/inspectable_web_contents_view_delegate.h +@@ -24,7 +24,7 @@ class InspectableWebContentsViewDelegate { + // Returns the icon of devtools window. + virtual ui::ImageModel GetDevToolsWindowIcon(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Called when creating devtools window. + virtual void GetDevToolsWindowWMClass(std::string* name, + std::string* class_name) {} diff --git a/devel/electron33/files/patch-electron_shell_browser_ui_views_electron__views__delegate.cc b/devel/electron33/files/patch-electron_shell_browser_ui_views_electron__views__delegate.cc new file mode 100644 index 000000000000..0e5a881f922c --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_ui_views_electron__views__delegate.cc @@ -0,0 +1,38 @@ +--- electron/shell/browser/ui/views/electron_views_delegate.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/ui/views/electron_views_delegate.cc +@@ -9,7 +9,7 @@ + #include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h" + #include "ui/views/widget/native_widget_aura.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/environment.h" + #include "base/nix/xdg_util.h" + #include "ui/linux/linux_ui.h" +@@ -17,7 +17,7 @@ namespace { + + namespace { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool IsDesktopEnvironmentUnity() { + auto env = base::Environment::Create(); + base::nix::DesktopEnvironment desktop_env = +@@ -53,7 +53,7 @@ void ViewsDelegate::NotifyMenuItemFocused(const std::u + int item_count, + bool has_submenu) {} + +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + gfx::ImageSkia* ViewsDelegate::GetDefaultWindowIcon() const { + return nullptr; + } +@@ -81,7 +81,7 @@ bool ViewsDelegate::WindowManagerProvidesTitleBar(bool + } + + bool ViewsDelegate::WindowManagerProvidesTitleBar(bool maximized) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Ubuntu Unity, the system always provides a title bar for maximized + // windows. + if (!maximized) diff --git a/devel/electron33/files/patch-electron_shell_browser_ui_views_electron__views__delegate.h b/devel/electron33/files/patch-electron_shell_browser_ui_views_electron__views__delegate.h new file mode 100644 index 000000000000..daaafa919762 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_ui_views_electron__views__delegate.h @@ -0,0 +1,11 @@ +--- electron/shell/browser/ui/views/electron_views_delegate.h.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/ui/views/electron_views_delegate.h +@@ -43,7 +43,7 @@ class ViewsDelegate : public views::ViewsDelegate { + HICON GetSmallWindowIcon() const override; + int GetAppbarAutohideEdges(HMONITOR monitor, + base::OnceClosure callback) override; +-#elif BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#elif (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) + gfx::ImageSkia* GetDefaultWindowIcon() const override; + #endif + std::unique_ptr<views::NonClientFrameView> CreateDefaultNonClientFrameView( diff --git a/devel/electron33/files/patch-electron_shell_browser_ui_views_inspectable__web__contents__view__views.cc b/devel/electron33/files/patch-electron_shell_browser_ui_views_inspectable__web__contents__view__views.cc new file mode 100644 index 000000000000..3b597bb03810 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_ui_views_inspectable__web__contents__view__views.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/ui/views/inspectable_web_contents_view_views.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/browser/ui/views/inspectable_web_contents_view_views.cc +@@ -194,7 +194,7 @@ void InspectableWebContentsViewViews::SetIsDocked(bool + params.delegate = devtools_window_delegate_; + params.bounds = inspectable_web_contents()->dev_tools_bounds(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + params.wm_role_name = "devtools"; + if (GetDelegate()) + GetDelegate()->GetDevToolsWindowWMClass(¶ms.wm_class_name, diff --git a/devel/electron33/files/patch-electron_shell_browser_ui_views_menu__bar.cc b/devel/electron33/files/patch-electron_shell_browser_ui_views_menu__bar.cc new file mode 100644 index 000000000000..095da0a6edd4 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_ui_views_menu__bar.cc @@ -0,0 +1,38 @@ +--- electron/shell/browser/ui/views/menu_bar.cc.orig 2024-04-16 14:29:17 UTC ++++ electron/shell/browser/ui/views/menu_bar.cc +@@ -13,7 +13,7 @@ + #include "ui/views/background.h" + #include "ui/views/layout/box_layout.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/gtk/gtk_util.h" // nogncheck + #endif + +@@ -212,7 +212,7 @@ void MenuBar::RefreshColorCache(const ui::NativeTheme* + + void MenuBar::RefreshColorCache(const ui::NativeTheme* theme) { + if (theme) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + background_color_ = gtk::GetBgColor("GtkMenuBar#menubar"); + enabled_color_ = + gtk::GetFgColor("GtkMenuBar#menubar GtkMenuItem#menuitem GtkLabel"); +@@ -237,7 +237,7 @@ void MenuBar::UpdateViewColors() { + } + + void MenuBar::UpdateViewColors() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // set menubar background color + SetBackground(views::CreateSolidBackground(background_color_)); + #endif +@@ -245,7 +245,7 @@ void MenuBar::UpdateViewColors() { + // set child colors + if (menu_model_ == nullptr) + return; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const auto& textColor = + window_->IsFocused() ? enabled_color_ : disabled_color_; + for (views::View* child : GetChildrenInZOrder()) { diff --git a/devel/electron33/files/patch-electron_shell_browser_ui_views_menu__bar.h b/devel/electron33/files/patch-electron_shell_browser_ui_views_menu__bar.h new file mode 100644 index 000000000000..93d18ea5f9f5 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_ui_views_menu__bar.h @@ -0,0 +1,11 @@ +--- electron/shell/browser/ui/views/menu_bar.h.orig 2024-04-16 14:29:17 UTC ++++ electron/shell/browser/ui/views/menu_bar.h +@@ -84,7 +84,7 @@ class MenuBar : public views::AccessiblePaneView, + View* FindAccelChild(char16_t key); + + SkColor background_color_; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + SkColor enabled_color_; + SkColor disabled_color_; + #endif diff --git a/devel/electron33/files/patch-electron_shell_browser_ui_views_submenu__button.cc b/devel/electron33/files/patch-electron_shell_browser_ui_views_submenu__button.cc new file mode 100644 index 000000000000..4012c3957da3 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_browser_ui_views_submenu__button.cc @@ -0,0 +1,11 @@ +--- electron/shell/browser/ui/views/submenu_button.cc.orig 2024-02-21 16:26:48 UTC ++++ electron/shell/browser/ui/views/submenu_button.cc +@@ -22,7 +22,7 @@ SubmenuButton::SubmenuButton(PressedCallback callback, + const SkColor& background_color) + : views::MenuButton(std::move(callback), gfx::RemoveAccelerator(title)), + background_color_(background_color) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Dont' use native style border. + SetBorder(CreateDefaultBorder()); + #endif diff --git a/devel/electron33/files/patch-electron_shell_common_api_electron__api__clipboard.cc b/devel/electron33/files/patch-electron_shell_common_api_electron__api__clipboard.cc new file mode 100644 index 000000000000..dad30bfa0dcd --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_api_electron__api__clipboard.cc @@ -0,0 +1,20 @@ +--- electron/shell/common/api/electron_api_clipboard.cc.orig 2024-04-16 14:29:17 UTC ++++ electron/shell/common/api/electron_api_clipboard.cc +@@ -58,7 +58,7 @@ std::string Clipboard::Read(const std::string& format_ + ui::ClipboardFormatType::CustomPlatformType(format_string)); + bool rawFormatAvailable = clipboard->IsFormatAvailable( + rawFormat, ui::ClipboardBuffer::kCopyPaste, /* data_dst = */ nullptr); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!rawFormatAvailable) { + rawFormatAvailable = clipboard->IsFormatAvailable( + rawFormat, ui::ClipboardBuffer::kSelection, /* data_dst = */ nullptr); +@@ -74,7 +74,7 @@ std::string Clipboard::Read(const std::string& format_ + custom_format_names = + clipboard->ExtractCustomPlatformNames(ui::ClipboardBuffer::kCopyPaste, + /* data_dst = */ nullptr); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!base::Contains(custom_format_names, format_string)) { + custom_format_names = + clipboard->ExtractCustomPlatformNames(ui::ClipboardBuffer::kSelection, diff --git a/devel/electron33/files/patch-electron_shell_common_api_electron__api__native__image.cc b/devel/electron33/files/patch-electron_shell_common_api_electron__api__native__image.cc new file mode 100644 index 000000000000..dfa88c89a199 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_api_electron__api__native__image.cc @@ -0,0 +1,11 @@ +--- electron/shell/common/api/electron_api_native_image.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/common/api/electron_api_native_image.cc +@@ -639,7 +639,7 @@ void Initialize(v8::Local<v8::Object> exports, + native_image.SetMethod("createFromDataURL", &NativeImage::CreateFromDataURL); + native_image.SetMethod("createFromNamedImage", + &NativeImage::CreateFromNamedImage); +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + native_image.SetMethod("createThumbnailFromPath", + &NativeImage::CreateThumbnailFromPath); + #endif diff --git a/devel/electron33/files/patch-electron_shell_common_api_electron__api__native__image.h b/devel/electron33/files/patch-electron_shell_common_api_electron__api__native__image.h new file mode 100644 index 000000000000..efa01f87ddb7 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_api_electron__api__native__image.h @@ -0,0 +1,11 @@ +--- electron/shell/common/api/electron_api_native_image.h.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/common/api/electron_api_native_image.h +@@ -80,7 +80,7 @@ class NativeImage final : public gin::Wrappable<Native + const GURL& url); + static gin::Handle<NativeImage> CreateFromNamedImage(gin::Arguments* args, + std::string name); +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + static v8::Local<v8::Promise> CreateThumbnailFromPath( + v8::Isolate* isolate, + const base::FilePath& path, diff --git a/devel/electron33/files/patch-electron_shell_common_api_electron__bindings.cc b/devel/electron33/files/patch-electron_shell_common_api_electron__bindings.cc new file mode 100644 index 000000000000..40748364fcd4 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_api_electron__bindings.cc @@ -0,0 +1,11 @@ +--- electron/shell/common/api/electron_bindings.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/common/api/electron_bindings.cc +@@ -254,7 +254,7 @@ void ElectronBindings::DidReceiveMemoryDump( + if (target_pid == dump.pid()) { + auto dict = gin_helper::Dictionary::CreateEmpty(isolate); + const auto& osdump = dump.os_dump(); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + dict.Set("residentSet", osdump.resident_set_kb); + #endif + dict.Set("private", osdump.private_footprint_kb); diff --git a/devel/electron33/files/patch-electron_shell_common_electron__command__line.cc b/devel/electron33/files/patch-electron_shell_common_electron__command__line.cc new file mode 100644 index 000000000000..10eb673c987e --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_electron__command__line.cc @@ -0,0 +1,11 @@ +--- electron/shell/common/electron_command_line.cc.orig 2022-05-18 15:31:32 UTC ++++ electron/shell/common/electron_command_line.cc +@@ -26,7 +26,7 @@ void ElectronCommandLine::Init(int argc, base::Command + argv_.assign(argv, argv + argc); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // static + void ElectronCommandLine::InitializeFromCommandLine() { + argv_ = base::CommandLine::ForCurrentProcess()->argv(); diff --git a/devel/electron33/files/patch-electron_shell_common_electron__command__line.h b/devel/electron33/files/patch-electron_shell_common_electron__command__line.h new file mode 100644 index 000000000000..faf234d31c46 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_electron__command__line.h @@ -0,0 +1,11 @@ +--- electron/shell/common/electron_command_line.h.orig 2022-05-18 15:31:32 UTC ++++ electron/shell/common/electron_command_line.h +@@ -22,7 +22,7 @@ class ElectronCommandLine { + + static void Init(int argc, base::CommandLine::CharType** argv); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Linux the command line has to be read from base::CommandLine since + // it is using zygote. + static void InitializeFromCommandLine(); diff --git a/devel/electron33/files/patch-electron_shell_common_electron__paths.h b/devel/electron33/files/patch-electron_shell_common_electron__paths.h new file mode 100644 index 000000000000..5ca6a126e4b3 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_electron__paths.h @@ -0,0 +1,11 @@ +--- electron/shell/common/electron_paths.h.orig 2022-08-03 15:31:32 UTC ++++ electron/shell/common/electron_paths.h +@@ -30,7 +30,7 @@ enum { + DIR_RECENT, // Directory where recent files live + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + DIR_APP_DATA, // Application Data directory under the user profile. + #endif + diff --git a/devel/electron33/files/patch-electron_shell_common_gin__converters_osr__converter.cc b/devel/electron33/files/patch-electron_shell_common_gin__converters_osr__converter.cc new file mode 100644 index 000000000000..11cc6b4a4176 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_gin__converters_osr__converter.cc @@ -0,0 +1,11 @@ +--- electron/shell/common/gin_converters/osr_converter.cc.orig 2024-11-11 11:25:17 UTC ++++ electron/shell/common/gin_converters/osr_converter.cc +@@ -118,7 +118,7 @@ v8::Local<v8::Value> Converter<electron::OffscreenShar + const_cast<uintptr_t*>(&val.shared_texture_handle)), + sizeof(val.shared_texture_handle)); + dict.Set("sharedTextureHandle", handle_buf.ToLocalChecked()); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto v8_planes = base::ToVector(val.planes, [isolate](const auto& plane) { + gin::Dictionary v8_plane(isolate, v8::Object::New(isolate)); + v8_plane.Set("stride", plane.stride); diff --git a/devel/electron33/files/patch-electron_shell_common_gin__converters_std__converter.h b/devel/electron33/files/patch-electron_shell_common_gin__converters_std__converter.h new file mode 100644 index 000000000000..8fb16f713e95 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_gin__converters_std__converter.h @@ -0,0 +1,11 @@ +--- electron/shell/common/gin_converters/std_converter.h.orig 2023-08-14 18:19:06 UTC ++++ electron/shell/common/gin_converters/std_converter.h +@@ -28,7 +28,7 @@ v8::Local<v8::Value> ConvertToV8(v8::Isolate* isolate, + isolate, std::forward<T>(input)); + } + +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + template <> + struct Converter<unsigned long> { // NOLINT(runtime/int) + static v8::Local<v8::Value> ToV8(v8::Isolate* isolate, diff --git a/devel/electron33/files/patch-electron_shell_common_node__bindings.cc b/devel/electron33/files/patch-electron_shell_common_node__bindings.cc new file mode 100644 index 000000000000..297d89788724 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_node__bindings.cc @@ -0,0 +1,29 @@ +--- electron/shell/common/node_bindings.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/common/node_bindings.cc +@@ -44,7 +44,7 @@ + #include "third_party/electron_node/src/debug_utils.h" + #include "third_party/electron_node/src/module_wrap.h" + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + #include "shell/common/crash_keys.h" + #endif + +@@ -158,7 +158,7 @@ void V8FatalErrorCallback(const char* location, const + void V8FatalErrorCallback(const char* location, const char* message) { + LOG(ERROR) << "Fatal error in V8: " << location << " " << message; + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + electron::crash_keys::SetCrashKey("electron.v8-fatal.message", message); + electron::crash_keys::SetCrashKey("electron.v8-fatal.location", location); + #endif +@@ -531,7 +531,7 @@ void NodeBindings::Initialize(v8::Local<v8::Context> c + TRACE_EVENT0("electron", "NodeBindings::Initialize"); + // Open node's error reporting system for browser process. + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Get real command line in renderer process forked by zygote. + if (browser_env_ != BrowserEnvironment::kBrowser) + ElectronCommandLine::InitializeFromCommandLine(); diff --git a/devel/electron33/files/patch-electron_shell_common_node__bindings__linux.cc b/devel/electron33/files/patch-electron_shell_common_node__bindings__linux.cc new file mode 100644 index 000000000000..0dabd6390a8d --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_node__bindings__linux.cc @@ -0,0 +1,69 @@ +--- electron/shell/common/node_bindings_linux.cc.orig 2023-10-20 08:29:17 UTC ++++ electron/shell/common/node_bindings_linux.cc +@@ -4,12 +4,25 @@ + + #include "shell/common/node_bindings_linux.h" + ++#if !defined(OS_BSD) + #include <sys/epoll.h> ++#else ++#include <errno.h> ++#include <sys/select.h> ++#include <sys/sysctl.h> ++#include <sys/time.h> ++#include <sys/types.h> ++#endif + + namespace electron { + + NodeBindingsLinux::NodeBindingsLinux(BrowserEnvironment browser_env) ++#if !defined(OS_BSD) + : NodeBindings(browser_env), epoll_(epoll_create(1)) { ++#else ++ : NodeBindings(browser_env) { ++#endif ++#if !defined(OS_BSD) + auto* const event_loop = uv_loop(); + + int backend_fd = uv_backend_fd(event_loop); +@@ -17,11 +30,13 @@ NodeBindingsLinux::NodeBindingsLinux(BrowserEnvironmen + ev.events = EPOLLIN; + ev.data.fd = backend_fd; + epoll_ctl(epoll_, EPOLL_CTL_ADD, backend_fd, &ev); ++#endif + } + + void NodeBindingsLinux::PollEvents() { + auto* const event_loop = uv_loop(); + ++#if !defined(OS_BSD) + int timeout = uv_backend_timeout(event_loop); + + // Wait for new libuv events. +@@ -30,6 +45,26 @@ void NodeBindingsLinux::PollEvents() { + struct epoll_event ev; + r = epoll_wait(epoll_, &ev, 1, timeout); + } while (r == -1 && errno == EINTR); ++#else ++ struct timeval tv; ++ int timeout = uv_backend_timeout(event_loop); ++ if (timeout != -1) { ++ tv.tv_sec = timeout / 1000; ++ tv.tv_usec = (timeout % 1000) * 1000; ++ } ++ ++ fd_set readset; ++ int fd = uv_backend_fd(event_loop); ++ FD_ZERO(&readset); ++ FD_SET(fd, &readset); ++ ++ // Wait for new libuv events. ++ int r; ++ do { ++ r = select(fd + 1, &readset, nullptr, nullptr, ++ timeout == -1 ? nullptr : &tv); ++ } while (r == -1 && errno == EINTR); ++#endif + } + + // static diff --git a/devel/electron33/files/patch-electron_shell_common_platform__util.h b/devel/electron33/files/patch-electron_shell_common_platform__util.h new file mode 100644 index 000000000000..ab0d33da03d6 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_common_platform__util.h @@ -0,0 +1,11 @@ +--- electron/shell/common/platform_util.h.orig 2024-02-21 16:26:48 UTC ++++ electron/shell/common/platform_util.h +@@ -56,7 +56,7 @@ bool SetLoginItemEnabled(const std::string& type, + bool enabled); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Returns a success flag. + // Unlike libgtkui, does *not* use "chromium-browser.desktop" as a fallback. + bool GetDesktopName(std::string* setme); diff --git a/devel/electron33/files/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc b/devel/electron33/files/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc new file mode 100644 index 000000000000..56b9420c6ec8 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_renderer_api_electron__api__crash__reporter__renderer.cc @@ -0,0 +1,36 @@ +--- electron/shell/renderer/api/electron_api_crash_reporter_renderer.cc.orig 2023-02-06 19:29:11 UTC ++++ electron/shell/renderer/api/electron_api_crash_reporter_renderer.cc +@@ -6,7 +6,7 @@ + #include "shell/common/gin_helper/dictionary.h" + #include "shell/common/node_includes.h" + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + #include "shell/common/crash_keys.h" + #endif + +@@ -14,13 +14,13 @@ namespace { + + v8::Local<v8::Value> GetParameters(v8::Isolate* isolate) { + std::map<std::string, std::string> keys; +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + electron::crash_keys::GetCrashKeys(&keys); + #endif + return gin::ConvertToV8(isolate, keys); + } + +-#if IS_MAS_BUILD() ++#if IS_MAS_BUILD() || BUILDFLAG(IS_BSD) + void SetCrashKeyStub(const std::string& key, const std::string& value) {} + void ClearCrashKeyStub(const std::string& key) {} + #endif +@@ -30,7 +30,7 @@ void Initialize(v8::Local<v8::Object> exports, + v8::Local<v8::Context> context, + void* priv) { + gin_helper::Dictionary dict(context->GetIsolate(), exports); +-#if IS_MAS_BUILD() ++#if IS_MAS_BUILD() || BUILDFLAG(IS_BSD) + dict.SetMethod("addExtraParameter", &SetCrashKeyStub); + dict.SetMethod("removeExtraParameter", &ClearCrashKeyStub); + #else diff --git a/devel/electron33/files/patch-electron_shell_services_node_node__service.cc b/devel/electron33/files/patch-electron_shell_services_node_node__service.cc new file mode 100644 index 000000000000..a02d78996e51 --- /dev/null +++ b/devel/electron33/files/patch-electron_shell_services_node_node__service.cc @@ -0,0 +1,20 @@ +--- electron/shell/services/node/node_service.cc.orig 2024-10-22 02:29:46 UTC ++++ electron/shell/services/node/node_service.cc +@@ -21,7 +21,7 @@ + #include "shell/common/node_includes.h" + #include "shell/services/node/parent_port.h" + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + #include "shell/common/crash_keys.h" + #endif + +@@ -38,7 +38,7 @@ void V8FatalErrorCallback(const char* location, const + g_client_remote->OnV8FatalError(location, outstream.str()); + } + +-#if !IS_MAS_BUILD() ++#if !IS_MAS_BUILD() && !BUILDFLAG(IS_BSD) + electron::crash_keys::SetCrashKey("electron.v8-fatal.message", message); + electron::crash_keys::SetCrashKey("electron.v8-fatal.location", location); + #endif diff --git a/devel/electron33/files/patch-electron_spec_api-app-spec.ts b/devel/electron33/files/patch-electron_spec_api-app-spec.ts new file mode 100644 index 000000000000..814150f4b959 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-app-spec.ts @@ -0,0 +1,124 @@ +--- electron/spec/api-app-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-app-spec.ts +@@ -126,11 +126,11 @@ describe('app module', () => { + }); + + describe('app.getPreferredSystemLanguages()', () => { +- ifit(process.platform !== 'linux')('should not be empty', () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should not be empty', () => { + expect(app.getPreferredSystemLanguages().length).to.not.equal(0); + }); + +- ifit(process.platform === 'linux')('should be empty or contain C entry', () => { ++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('should be empty or contain C entry', () => { + const languages = app.getPreferredSystemLanguages(); + if (languages.length) { + expect(languages).to.not.include('C'); +@@ -193,7 +193,7 @@ describe('app module', () => { + expect(code).to.equal(123, 'exit code should be 123, if you see this please tag @MarshallOfSound'); + }); + +- ifit(['darwin', 'linux'].includes(process.platform))('exits gracefully', async function () { ++ ifit(['darwin', 'linux', 'freebsd'].includes(process.platform))('exits gracefully', async function () { + const electronPath = process.execPath; + const appPath = path.join(fixturesPath, 'api', 'singleton'); + appProcess = cp.spawn(electronPath, [appPath]); +@@ -447,7 +447,7 @@ describe('app module', () => { + // let w = null + + // before(function () { +- // if (process.platform !== 'linux') { ++ // if (process.platform !== 'linux' && process.platform !== 'freebsd') { + // this.skip() + // } + // }) +@@ -554,7 +554,7 @@ describe('app module', () => { + describe('app.badgeCount', () => { + const platformIsNotSupported = + (process.platform === 'win32') || +- (process.platform === 'linux' && !app.isUnityRunning()); ++ ((process.platform === 'linux' || process.platform === 'freebsd') && !app.isUnityRunning()); + + const expectedBadgeCount = 42; + +@@ -598,7 +598,7 @@ describe('app module', () => { + }); + }); + +- ifdescribe(process.platform !== 'linux' && !process.mas && (process.platform !== 'darwin' || process.arch === 'arm64'))('app.get/setLoginItemSettings API', function () { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd' && !process.mas && (process.platform !== 'darwin' || process.arch === 'arm64'))('app.get/setLoginItemSettings API', function () { + const isMac = process.platform === 'darwin'; + const isWin = process.platform === 'win32'; + +@@ -978,7 +978,7 @@ describe('app module', () => { + }); + }); + +- ifdescribe(process.platform !== 'linux')('accessibilitySupportEnabled property', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('accessibilitySupportEnabled property', () => { + it('with properties', () => { + it('can set accessibility support enabled', () => { + expect(app.accessibilitySupportEnabled).to.eql(false); +@@ -1178,7 +1178,7 @@ describe('app module', () => { + }); + }); + +- ifdescribe(process.platform !== 'linux')('select-client-certificate event', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('select-client-certificate event', () => { + let w: BrowserWindow; + + before(function () { +@@ -1313,7 +1313,7 @@ describe('app module', () => { + + describe('getApplicationNameForProtocol()', () => { + // TODO: Linux CI doesn't have registered http & https handlers +- ifit(!(process.env.CI && process.platform === 'linux'))('returns application names for common protocols', function () { ++ ifit(!(process.env.CI && (process.platform === 'linux' || process.platform === 'freebsd')))('returns application names for common protocols', function () { + // We can't expect particular app names here, but these protocols should + // at least have _something_ registered. Except on our Linux CI + // environment apparently. +@@ -1331,7 +1331,7 @@ describe('app module', () => { + }); + }); + +- ifdescribe(process.platform !== 'linux')('getApplicationInfoForProtocol()', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('getApplicationInfoForProtocol()', () => { + it('returns promise rejection for a bogus protocol', async function () { + await expect( + app.getApplicationInfoForProtocol('bogus-protocol://') +@@ -1381,7 +1381,7 @@ describe('app module', () => { + }); + + // FIXME Get these specs running on Linux CI +- ifdescribe(process.platform !== 'linux')('getFileIcon() API', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('getFileIcon() API', () => { + const iconPath = path.join(__dirname, 'fixtures/assets/icon.ico'); + const sizes = { + small: 16, +@@ -1463,7 +1463,7 @@ describe('app module', () => { + expect(entry.memory).to.have.property('privateBytes').that.is.greaterThan(0); + } + +- if (process.platform !== 'linux') { ++ if (process.platform !== 'linux' && process.platform !== 'freebsd') { + expect(entry.sandboxed).to.be.a('boolean'); + } + +@@ -1537,7 +1537,7 @@ describe('app module', () => { + + it('succeeds with complete GPUInfo', async () => { + const completeInfo = await getGPUInfo('complete'); +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + // For linux and macOS complete info is same as basic info + await verifyBasicGPUInfo(completeInfo); + const basicInfo = await getGPUInfo('basic'); +@@ -1561,7 +1561,7 @@ describe('app module', () => { + }); + }); + +- ifdescribe(!(process.platform === 'linux' && (process.arch === 'arm64' || process.arch === 'arm')))('sandbox options', () => { ++ ifdescribe(!((process.platform === 'linux' || process.platform === 'freebsd') && (process.arch === 'arm64' || process.arch === 'arm')))('sandbox options', () => { + let appProcess: cp.ChildProcess = null as any; + let server: net.Server = null as any; + const socketPath = process.platform === 'win32' ? '\\\\.\\pipe\\electron-mixed-sandbox' : '/tmp/electron-mixed-sandbox'; diff --git a/devel/electron33/files/patch-electron_spec_api-browser-window-spec.ts b/devel/electron33/files/patch-electron_spec_api-browser-window-spec.ts new file mode 100644 index 000000000000..95598530c547 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-browser-window-spec.ts @@ -0,0 +1,173 @@ +--- electron/spec/api-browser-window-spec.ts.orig 2024-11-07 16:14:43 UTC ++++ electron/spec/api-browser-window-spec.ts +@@ -69,7 +69,7 @@ describe('BrowserWindow module', () => { + }).not.to.throw(); + }); + +- ifit(process.platform === 'linux')('does not crash when setting large window icons', async () => { ++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('does not crash when setting large window icons', async () => { + const appPath = path.join(fixtures, 'apps', 'xwindow-icon'); + const appProcess = childProcess.spawn(process.execPath, [appPath]); + await once(appProcess, 'exit'); +@@ -1128,7 +1128,7 @@ describe('BrowserWindow module', () => { + + describe('BrowserWindow.minimize()', () => { + // TODO(codebytere): Enable for Linux once maximize/minimize events work in CI. +- ifit(process.platform !== 'linux')('should not be visible when the window is minimized', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should not be visible when the window is minimized', async () => { + const minimize = once(w, 'minimize'); + w.minimize(); + await minimize; +@@ -1145,7 +1145,7 @@ describe('BrowserWindow module', () => { + }); + + // TODO(dsanders11): Enable for Linux once CI plays nice with these kinds of tests +- ifit(process.platform !== 'linux')('should not restore maximized windows', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should not restore maximized windows', async () => { + const maximize = once(w, 'maximize'); + const shown = once(w, 'show'); + w.maximize(); +@@ -1210,7 +1210,7 @@ describe('BrowserWindow module', () => { + expect(w.isFocused()).to.equal(true); + }); + +- ifit(process.platform !== 'linux')('acquires focus status from the other windows', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('acquires focus status from the other windows', async () => { + const w1 = new BrowserWindow({ show: false }); + const w2 = new BrowserWindow({ show: false }); + const w3 = new BrowserWindow({ show: false }); +@@ -1311,7 +1311,7 @@ describe('BrowserWindow module', () => { + expect(w.isFocused()).to.equal(false); + }); + +- ifit(process.platform !== 'linux')('transfers focus status to the next window', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('transfers focus status to the next window', async () => { + const w1 = new BrowserWindow({ show: false }); + const w2 = new BrowserWindow({ show: false }); + const w3 = new BrowserWindow({ show: false }); +@@ -1749,7 +1749,7 @@ describe('BrowserWindow module', () => { + }); + }); + +- ifdescribe(process.platform !== 'linux')('Maximized state', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('Maximized state', () => { + it('checks normal bounds when maximized', async () => { + const bounds = w.getBounds(); + const maximize = once(w, 'maximize'); +@@ -1959,7 +1959,7 @@ describe('BrowserWindow module', () => { + }); + }); + +- ifdescribe(process.platform !== 'linux')('Minimized state', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('Minimized state', () => { + it('checks normal bounds when minimized', async () => { + const bounds = w.getBounds(); + const minimize = once(w, 'minimize'); +@@ -2922,7 +2922,7 @@ describe('BrowserWindow module', () => { + describe('BrowserWindow.setOpacity(opacity)', () => { + afterEach(closeAllWindows); + +- ifdescribe(process.platform !== 'linux')(('Windows and Mac'), () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')(('Windows and Mac'), () => { + it('make window with initial opacity', () => { + const w = new BrowserWindow({ show: false, opacity: 0.5 }); + expect(w.getOpacity()).to.equal(0.5); +@@ -2948,7 +2948,7 @@ describe('BrowserWindow module', () => { + }); + }); + +- ifdescribe(process.platform === 'linux')(('Linux'), () => { ++ ifdescribe(process.platform === 'linux' || process.platform === 'freebsd')(('Linux'), () => { + it('sets 1 regardless of parameter', () => { + const w = new BrowserWindow({ show: false }); + w.setOpacity(0); +@@ -3159,7 +3159,7 @@ describe('BrowserWindow module', () => { + expect(overlayRectPreMax.height).to.equal(size); + + // 'maximize' event is not emitted on Linux in CI. +- if (process.platform !== 'linux' && !w.isMaximized()) { ++ if ((process.platform !== 'linux' && process.platform !== 'freebsd') && !w.isMaximized()) { + const maximize = once(w, 'maximize'); + w.show(); + w.maximize(); +@@ -3225,7 +3225,7 @@ describe('BrowserWindow module', () => { + expect(preMaxHeight).to.equal(size); + + // 'maximize' event is not emitted on Linux in CI. +- if (process.platform !== 'linux' && !w.isMaximized()) { ++ if ((process.platform !== 'linux' && process.platform !== 'freebsd') && !w.isMaximized()) { + const maximize = once(w, 'maximize'); + w.show(); + w.maximize(); +@@ -3890,7 +3890,7 @@ describe('BrowserWindow module', () => { + expect(test.nodeTimers).to.equal(true); + expect(test.nodeUrl).to.equal(true); + +- if (process.platform === 'linux' && test.osSandbox) { ++ if ((process.platform === 'linux' || process.platform === 'freebsd') && test.osSandbox) { + expect(test.creationTime).to.be.null('creation time'); + expect(test.systemMemoryInfo).to.be.null('system memory info'); + } else { +@@ -4395,7 +4395,7 @@ describe('BrowserWindow module', () => { + }); + }); + +- ifdescribe(process.platform !== 'linux')('max/minimize events', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('max/minimize events', () => { + afterEach(closeAllWindows); + it('emits an event when window is maximized', async () => { + const w = new BrowserWindow({ show: false }); +@@ -4666,7 +4666,7 @@ describe('BrowserWindow module', () => { + // TODO(zcbenz): + // This test does not run on Linux CI. See: + // https://github.com/electron/electron/issues/28699 +- ifit(process.platform === 'linux' && !process.env.CI)('should bring a minimized maximized window back to maximized state', async () => { ++ ifit((process.platform === 'linux' || process.platform === 'freebsd') && !process.env.CI)('should bring a minimized maximized window back to maximized state', async () => { + const w = new BrowserWindow({}); + const maximize = once(w, 'maximize'); + w.maximize(); +@@ -4683,7 +4683,7 @@ describe('BrowserWindow module', () => { + }); + + // TODO(dsanders11): Enable once maximize event works on Linux again on CI +- ifdescribe(process.platform !== 'linux')('BrowserWindow.maximize()', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('BrowserWindow.maximize()', () => { + afterEach(closeAllWindows); + it('should show the window if it is not currently shown', async () => { + const w = new BrowserWindow({ show: false }); +@@ -4720,7 +4720,7 @@ describe('BrowserWindow module', () => { + + // TODO(dsanders11): Enable once minimize event works on Linux again. + // See https://github.com/electron/electron/issues/28699 +- ifit(process.platform !== 'linux')('should not restore a minimized window', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should not restore a minimized window', async () => { + const w = new BrowserWindow(); + const minimize = once(w, 'minimize'); + w.minimize(); +@@ -5194,7 +5194,7 @@ describe('BrowserWindow module', () => { + }); + + // On Linux there is no "resizable" property of a window. +- ifit(process.platform !== 'linux')('does affect maximizability when disabled and enabled', () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('does affect maximizability when disabled and enabled', () => { + const w = new BrowserWindow({ show: false }); + expect(w.resizable).to.be.true('resizable'); + +@@ -5333,7 +5333,7 @@ describe('BrowserWindow module', () => { + }); + }); + +- ifdescribe(process.platform !== 'linux')('window states (excluding Linux)', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('window states (excluding Linux)', () => { + // Not implemented on Linux. + afterEach(closeAllWindows); + +@@ -6546,7 +6546,7 @@ describe('BrowserWindow module', () => { + describe('"transparent" option', () => { + afterEach(closeAllWindows); + +- ifit(process.platform !== 'linux')('correctly returns isMaximized() when the window is maximized then minimized', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('correctly returns isMaximized() when the window is maximized then minimized', async () => { + const w = new BrowserWindow({ + frame: false, + transparent: true diff --git a/devel/electron33/files/patch-electron_spec_api-clipboard-spec.ts b/devel/electron33/files/patch-electron_spec_api-clipboard-spec.ts new file mode 100644 index 000000000000..bc01dbc688ca --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-clipboard-spec.ts @@ -0,0 +1,29 @@ +--- electron/spec/api-clipboard-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-clipboard-spec.ts +@@ -54,7 +54,7 @@ ifdescribe(process.platform !== 'win32' || process.arc + }); + }); + +- ifdescribe(process.platform !== 'linux')('clipboard.readBookmark', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('clipboard.readBookmark', () => { + it('returns title and url', () => { + clipboard.writeBookmark('a title', 'https://electronjs.org'); + +@@ -73,7 +73,7 @@ ifdescribe(process.platform !== 'win32' || process.arc + }); + + describe('clipboard.read()', () => { +- ifit(process.platform !== 'linux')('does not crash when reading various custom clipboard types', () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('does not crash when reading various custom clipboard types', () => { + const type = process.platform === 'darwin' ? 'NSFilenamesPboardType' : 'FileNameW'; + + expect(() => { +@@ -114,7 +114,7 @@ ifdescribe(process.platform !== 'win32' || process.arc + const readImage = clipboard.readImage(); + expect(readImage.toDataURL()).to.equal(i.toDataURL()); + +- if (process.platform !== 'linux') { ++ if (process.platform !== 'linux' && process.platform !== 'freebsd') { + if (process.platform !== 'win32') { + expect(clipboard.readBookmark()).to.deep.equal(bookmark); + } else { diff --git a/devel/electron33/files/patch-electron_spec_api-content-tracing-spec.ts b/devel/electron33/files/patch-electron_spec_api-content-tracing-spec.ts new file mode 100644 index 000000000000..37d77d00cafe --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-content-tracing-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/api-content-tracing-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-content-tracing-spec.ts +@@ -9,7 +9,7 @@ import { ifdescribe } from './lib/spec-helpers'; + import { ifdescribe } from './lib/spec-helpers'; + + // FIXME: The tests are skipped on linux arm/arm64 +-ifdescribe(!(['arm', 'arm64'].includes(process.arch)) || (process.platform !== 'linux'))('contentTracing', () => { ++ifdescribe(!(['arm', 'arm64'].includes(process.arch)) || (process.platform !== 'linux' && process.platform !== 'freebsd'))('contentTracing', () => { + const record = async (options: TraceConfig | TraceCategoriesAndOptions, outputFilePath: string | undefined, recordTimeInMilliseconds = 1e1) => { + await app.whenReady(); + diff --git a/devel/electron33/files/patch-electron_spec_api-crash-reporter-spec.ts b/devel/electron33/files/patch-electron_spec_api-crash-reporter-spec.ts new file mode 100644 index 000000000000..484c399c9179 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-crash-reporter-spec.ts @@ -0,0 +1,56 @@ +--- electron/spec/api-crash-reporter-spec.ts.orig 2024-10-22 02:29:46 UTC ++++ electron/spec/api-crash-reporter-spec.ts +@@ -14,7 +14,7 @@ const isWindowsOnArm = process.platform === 'win32' && + import { ifdescribe, ifit, defer, startRemoteControlApp, repeatedly, listen } from './lib/spec-helpers'; + + const isWindowsOnArm = process.platform === 'win32' && process.arch === 'arm64'; +-const isLinuxOnArm = process.platform === 'linux' && process.arch.includes('arm'); ++const isLinuxOnArm = ((process.platform === 'linux' || process.platform === 'freebsd') && process.arch.includes('arm')); + + type CrashInfo = { + prod: string +@@ -47,7 +47,7 @@ function checkCrash (expectedProcessType: string, fiel + + // TODO(nornagon): minidumps are sometimes (not always) turning up empty on + // 32-bit Linux. Figure out why. +- if (!(process.platform === 'linux' && process.arch === 'ia32')) { ++ if (!((process.platform === 'linux' || process.platform === 'freebsd') && process.arch === 'ia32')) { + expect(fields.upload_file_minidump.length).to.be.greaterThan(0); + } + } +@@ -184,7 +184,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e + + // Ensures that passing in crashpadHandlerPID flag for Linx child processes + // does not affect child process args. +- ifit(process.platform === 'linux')('ensure linux child process args are not modified', async () => { ++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('ensure linux child process args are not modified', async () => { + const { port, waitForCrash } = await startServer(); + let exitCode: number | null = null; + const appPath = path.join(__dirname, 'fixtures', 'apps', 'crash'); +@@ -533,7 +533,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e + } + } + +- const processList = process.platform === 'linux' ++ const processList = (process.platform === 'linux' || process.platform === 'freebsd') + ? ['main', 'renderer', 'sandboxed-renderer'] + : ['main', 'renderer', 'sandboxed-renderer', 'node']; + for (const crashingProcess of processList) { +@@ -546,7 +546,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e + return app.getPath('crashDumps'); + }); + let reportsDir = crashesDir; +- if (process.platform === 'darwin' || process.platform === 'linux') { ++ if (process.platform === 'darwin' || process.platform === 'linux' || process.platform === 'freebsd') { + reportsDir = path.join(crashesDir, 'completed'); + } else if (process.platform === 'win32') { + reportsDir = path.join(crashesDir, 'reports'); +@@ -570,7 +570,7 @@ ifdescribe(!isLinuxOnArm && !process.mas && !process.e + expect(remoteCrashesDir).to.equal(crashesDir); + + let reportsDir = crashesDir; +- if (process.platform === 'darwin' || process.platform === 'linux') { ++ if (process.platform === 'darwin' || process.platform === 'linux' || process.platform === 'freebsd') { + reportsDir = path.join(crashesDir, 'completed'); + } else if (process.platform === 'win32') { + reportsDir = path.join(crashesDir, 'reports'); diff --git a/devel/electron33/files/patch-electron_spec_api-desktop-capturer-spec.ts b/devel/electron33/files/patch-electron_spec_api-desktop-capturer-spec.ts new file mode 100644 index 000000000000..95fe1bf64980 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-desktop-capturer-spec.ts @@ -0,0 +1,47 @@ +--- electron/spec/api-desktop-capturer-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-desktop-capturer-spec.ts +@@ -45,7 +45,7 @@ ifdescribe(!process.arch.includes('arm') && process.pl + }); + + // Linux doesn't return any window sources. +- ifit(process.platform !== 'linux')('returns an empty display_id for window sources', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('returns an empty display_id for window sources', async () => { + const w = new BrowserWindow({ width: 200, height: 200 }); + await w.loadURL('about:blank'); + +@@ -57,7 +57,7 @@ ifdescribe(!process.arch.includes('arm') && process.pl + } + }); + +- ifit(process.platform !== 'linux')('returns display_ids matching the Screen API', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('returns display_ids matching the Screen API', async () => { + const displays = screen.getAllDisplays(); + const sources = await desktopCapturer.getSources({ types: ['screen'] }); + expect(sources).to.be.an('array').of.length(displays.length); +@@ -102,7 +102,7 @@ ifdescribe(!process.arch.includes('arm') && process.pl + // TODO(julien.isorce): investigate why |sources| is empty on the linux + // bots while it is not on my workstation, as expected, with and without + // the --ci parameter. +- if (process.platform === 'linux' && sources.length === 0) { ++ if ((process.platform === 'linux' || process.platform === 'freebsd') && sources.length === 0) { + it.skip('desktopCapturer.getSources returned an empty source list'); + return; + } +@@ -138,7 +138,7 @@ ifdescribe(!process.arch.includes('arm') && process.pl + // TODO(julien.isorce): investigate why |sources| is empty on the linux + // bots while it is not on my workstation, as expected, with and without + // the --ci parameter. +- if (process.platform === 'linux' && sources.length === 0) { ++ if ((process.platform === 'linux' || process.platform === 'freebsd') && sources.length === 0) { + it.skip('desktopCapturer.getSources returned an empty source list'); + return; + } +@@ -207,7 +207,7 @@ ifdescribe(!process.arch.includes('arm') && process.pl + // TODO(julien.isorce): investigate why |sources| is empty on the linux + // bots while it is not on my workstation, as expected, with and without + // the --ci parameter. +- if (process.platform === 'linux' && sources.length === 0) { ++ if ((process.platform === 'linux' || process.platform === 'freebsd') && sources.length === 0) { + destroyWindows(); + it.skip('desktopCapturer.getSources returned an empty source list'); + return; diff --git a/devel/electron33/files/patch-electron_spec_api-menu-spec.ts b/devel/electron33/files/patch-electron_spec_api-menu-spec.ts new file mode 100644 index 000000000000..0929780b9795 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-menu-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/api-menu-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-menu-spec.ts +@@ -890,7 +890,7 @@ describe('Menu module', function () { + // https://github.com/electron/electron/issues/35724 + // Maximizing window is enough to trigger the bug + // FIXME(dsanders11): Test always passes on CI, even pre-fix +- ifit(process.platform === 'linux' && !process.env.CI)('does not trigger issue #35724', (done) => { ++ ifit((process.platform === 'linux' || process.platform === 'freebsd') && !process.env.CI)('does not trigger issue #35724', (done) => { + const showAndCloseMenu = async () => { + await setTimeout(1000); + menu.popup({ window: w, x: 50, y: 50 }); diff --git a/devel/electron33/files/patch-electron_spec_api-native-image-spec.ts b/devel/electron33/files/patch-electron_spec_api-native-image-spec.ts new file mode 100644 index 000000000000..6ce49004e801 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-native-image-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/api-native-image-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-native-image-spec.ts +@@ -428,7 +428,7 @@ describe('nativeImage module', () => { + }); + }); + +- ifdescribe(process.platform !== 'linux')('createThumbnailFromPath(path, size)', () => { ++ ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('createThumbnailFromPath(path, size)', () => { + useRemoteContext({ webPreferences: { contextIsolation: false, nodeIntegration: true } }); + + it('throws when invalid size is passed', async () => { diff --git a/devel/electron33/files/patch-electron_spec_api-net-log-spec.ts b/devel/electron33/files/patch-electron_spec_api-net-log-spec.ts new file mode 100644 index 000000000000..5a52c3198a13 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-net-log-spec.ts @@ -0,0 +1,29 @@ +--- electron/spec/api-net-log-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-net-log-spec.ts +@@ -121,7 +121,7 @@ describe('netLog module', () => { + expect(JSON.parse(dump).events.some((x: any) => x.params && x.params.bytes && Buffer.from(x.params.bytes, 'base64').includes(unique))).to.be.true('uuid present in dump'); + }); + +- ifit(process.platform !== 'linux')('should begin and end logging automatically when --log-net-log is passed', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should begin and end logging automatically when --log-net-log is passed', async () => { + const appProcess = ChildProcess.spawn(process.execPath, + [appPath], { + env: { +@@ -134,7 +134,7 @@ describe('netLog module', () => { + expect(fs.existsSync(dumpFile)).to.be.true('dump file exists'); + }); + +- ifit(process.platform !== 'linux')('should begin and end logging automatically when --log-net-log is passed, and behave correctly when .startLogging() and .stopLogging() is called', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should begin and end logging automatically when --log-net-log is passed, and behave correctly when .startLogging() and .stopLogging() is called', async () => { + const appProcess = ChildProcess.spawn(process.execPath, + [appPath], { + env: { +@@ -150,7 +150,7 @@ describe('netLog module', () => { + expect(fs.existsSync(dumpFileDynamic)).to.be.true('dynamic dump file exists'); + }); + +- ifit(process.platform !== 'linux')('should end logging automatically when only .startLogging() is called', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should end logging automatically when only .startLogging() is called', async () => { + const appProcess = ChildProcess.spawn(process.execPath, + [appPath], { + env: { diff --git a/devel/electron33/files/patch-electron_spec_api-notification-dbus-spec.ts b/devel/electron33/files/patch-electron_spec_api-notification-dbus-spec.ts new file mode 100644 index 000000000000..c3a3d9254328 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-notification-dbus-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/api-notification-dbus-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-notification-dbus-spec.ts +@@ -19,7 +19,7 @@ const fixturesPath = path.join(__dirname, 'fixtures'); + + const fixturesPath = path.join(__dirname, 'fixtures'); + +-const skip = process.platform !== 'linux' || ++const skip = (process.platform !== 'linux' && process.platform !== 'freebsd') || + process.arch === 'ia32' || + process.arch.indexOf('arm') === 0 || + !process.env.DBUS_SESSION_BUS_ADDRESS; diff --git a/devel/electron33/files/patch-electron_spec_api-power-monitor-spec.ts b/devel/electron33/files/patch-electron_spec_api-power-monitor-spec.ts new file mode 100644 index 000000000000..7dccb7c9c5b5 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-power-monitor-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/api-power-monitor-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-power-monitor-spec.ts +@@ -18,7 +18,7 @@ describe('powerMonitor', () => { + describe('powerMonitor', () => { + let logindMock: any, dbusMockPowerMonitor: any, getCalls: any, emitSignal: any, reset: any; + +- ifdescribe(process.platform === 'linux' && process.env.DBUS_SYSTEM_BUS_ADDRESS != null)('when powerMonitor module is loaded with dbus mock', () => { ++ ifdescribe((process.platform === 'linux' || process.platform === 'freebsd') && process.env.DBUS_SYSTEM_BUS_ADDRESS != null)('when powerMonitor module is loaded with dbus mock', () => { + before(async () => { + const systemBus = dbus.systemBus(); + const loginService = systemBus.getService('org.freedesktop.login1'); diff --git a/devel/electron33/files/patch-electron_spec_api-process-spec.ts b/devel/electron33/files/patch-electron_spec_api-process-spec.ts new file mode 100644 index 000000000000..f507f90185b8 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-process-spec.ts @@ -0,0 +1,20 @@ +--- electron/spec/api-process-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-process-spec.ts +@@ -46,7 +46,7 @@ describe('process module', () => { + it('resolves promise successfully with valid data', async () => { + const memoryInfo = await w.webContents.executeJavaScript('process.getProcessMemoryInfo()'); + expect(memoryInfo).to.be.an('object'); +- if (process.platform === 'linux' || process.platform === 'win32') { ++ if (process.platform === 'linux' || process.platform === 'win32' || process.platform === 'freebsd') { + expect(memoryInfo.residentSet).to.be.a('number').greaterThan(0); + } + expect(memoryInfo.private).to.be.a('number').greaterThan(0); +@@ -145,7 +145,7 @@ describe('process module', () => { + it('resolves promise successfully with valid data', async () => { + const memoryInfo = await process.getProcessMemoryInfo(); + expect(memoryInfo).to.be.an('object'); +- if (process.platform === 'linux' || process.platform === 'win32') { ++ if (process.platform === 'linux' || process.platform === 'win32' || process.platform === 'freebsd') { + expect(memoryInfo.residentSet).to.be.a('number').greaterThan(0); + } + expect(memoryInfo.private).to.be.a('number').greaterThan(0); diff --git a/devel/electron33/files/patch-electron_spec_api-protocol-spec.ts b/devel/electron33/files/patch-electron_spec_api-protocol-spec.ts new file mode 100644 index 000000000000..3195a7eabb74 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-protocol-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/api-protocol-spec.ts.orig 2024-11-07 16:14:43 UTC ++++ electron/spec/api-protocol-spec.ts +@@ -1738,7 +1738,7 @@ describe('protocol module', () => { + + // TODO(nornagon): this test doesn't pass on Linux currently, investigate. + // test is also flaky on CI on macOS so it is currently disabled there as well. +- ifit(process.platform !== 'linux' && (!process.env.CI || process.platform !== 'darwin'))('is fast', async () => { ++ ifit((process.platform !== 'linux' && process.platform !== 'freebsd') && (!process.env.CI || process.platform !== 'darwin'))('is fast', async () => { + // 128 MB of spaces. + const chunk = new Uint8Array(128 * 1024 * 1024); + chunk.fill(' '.charCodeAt(0)); diff --git a/devel/electron33/files/patch-electron_spec_api-safe-storage-spec.ts b/devel/electron33/files/patch-electron_spec_api-safe-storage-spec.ts new file mode 100644 index 000000000000..fe7d80e9f5e6 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-safe-storage-spec.ts @@ -0,0 +1,20 @@ +--- electron/spec/api-safe-storage-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-safe-storage-spec.ts +@@ -29,7 +29,7 @@ describe('safeStorage module', () => { + + describe('safeStorage module', () => { + before(() => { +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + safeStorage.setUsePlainTextEncryption(true); + } + }); +@@ -47,7 +47,7 @@ describe('safeStorage module', () => { + }); + }); + +- ifdescribe(process.platform === 'linux')('SafeStorage.getSelectedStorageBackend()', () => { ++ ifdescribe(process.platform === 'linux' || process.platform === 'freebsd')('SafeStorage.getSelectedStorageBackend()', () => { + it('should return a valid backend', () => { + expect(safeStorage.getSelectedStorageBackend()).to.equal('basic_text'); + }); diff --git a/devel/electron33/files/patch-electron_spec_api-screen-spec.ts b/devel/electron33/files/patch-electron_spec_api-screen-spec.ts new file mode 100644 index 000000000000..b1ffef57876f --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-screen-spec.ts @@ -0,0 +1,29 @@ +--- electron/spec/api-screen-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-screen-spec.ts +@@ -95,7 +95,7 @@ describe('screen module', () => { + + const { size } = display!; + +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + expect(size).to.have.property('width').that.is.a('number'); + expect(size).to.have.property('height').that.is.a('number'); + } else { +@@ -109,7 +109,7 @@ describe('screen module', () => { + + const { workAreaSize } = display!; + +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + expect(workAreaSize).to.have.property('width').that.is.a('number'); + expect(workAreaSize).to.have.property('height').that.is.a('number'); + } else { +@@ -125,7 +125,7 @@ describe('screen module', () => { + expect(bounds).to.have.property('x').that.is.a('number'); + expect(bounds).to.have.property('y').that.is.a('number'); + +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + expect(bounds).to.have.property('width').that.is.a('number'); + expect(bounds).to.have.property('height').that.is.a('number'); + } else { diff --git a/devel/electron33/files/patch-electron_spec_api-shell-spec.ts b/devel/electron33/files/patch-electron_spec_api-shell-spec.ts new file mode 100644 index 000000000000..a7acaf05d22f --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-shell-spec.ts @@ -0,0 +1,23 @@ +--- electron/spec/api-shell-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-shell-spec.ts +@@ -26,7 +26,7 @@ describe('shell module', () => { + + afterEach(async () => { + // reset env vars to prevent side effects +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + process.env.DE = envVars.de; + process.env.BROWSER = envVars.browser; + process.env.DISPLAY = envVars.display; +@@ -39,6 +39,11 @@ describe('shell module', () => { + let requestReceived: Promise<any>; + if (process.platform === 'linux') { + process.env.BROWSER = '/bin/true'; ++ process.env.DE = 'generic'; ++ process.env.DISPLAY = ''; ++ requestReceived = Promise.resolve(); ++ } else if (process.platform === 'freebsd') { ++ process.env.BROWSER = '/usr/bin/true'; + process.env.DE = 'generic'; + process.env.DISPLAY = ''; + requestReceived = Promise.resolve(); diff --git a/devel/electron33/files/patch-electron_spec_api-subframe-spec.ts b/devel/electron33/files/patch-electron_spec_api-subframe-spec.ts new file mode 100644 index 000000000000..20c45287ac27 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-subframe-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/api-subframe-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-subframe-spec.ts +@@ -218,7 +218,7 @@ describe('renderer nodeIntegrationInSubFrames', () => + }); + + // app.getAppMetrics() does not return sandbox information on Linux. +-ifdescribe(process.platform !== 'linux')('cross-site frame sandboxing', () => { ++ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('cross-site frame sandboxing', () => { + let server: http.Server; + let crossSiteUrl: string; + let serverUrl: string; diff --git a/devel/electron33/files/patch-electron_spec_api-tray-spec.ts b/devel/electron33/files/patch-electron_spec_api-tray-spec.ts new file mode 100644 index 000000000000..cb822fdca402 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-tray-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/api-tray-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/api-tray-spec.ts +@@ -131,7 +131,7 @@ describe('tray module', () => { + describe('tray.getBounds()', () => { + afterEach(() => { tray.destroy(); }); + +- ifit(process.platform !== 'linux')('returns a bounds object', function () { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('returns a bounds object', function () { + const bounds = tray.getBounds(); + expect(bounds).to.be.an('object').and.to.have.all.keys('x', 'y', 'width', 'height'); + }); diff --git a/devel/electron33/files/patch-electron_spec_api-utility-process-spec.ts b/devel/electron33/files/patch-electron_spec_api-utility-process-spec.ts new file mode 100644 index 000000000000..09f2cf1ccd05 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-utility-process-spec.ts @@ -0,0 +1,20 @@ +--- electron/spec/api-utility-process-spec.ts.orig 2024-10-22 02:29:46 UTC ++++ electron/spec/api-utility-process-spec.ts +@@ -434,7 +434,7 @@ describe('utilityProcess module', () => { + expect(output).to.include(result); + }); + +- ifit(process.platform !== 'linux')('can access exposed main process modules from the utility process', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('can access exposed main process modules from the utility process', async () => { + const message = 'Message from utility process'; + const child = utilityProcess.fork(path.join(fixturesPath, 'expose-main-process-module.js')); + await once(child, 'spawn'); +@@ -471,7 +471,7 @@ describe('utilityProcess module', () => { + await closeWindow(w); + }); + +- ifit(process.platform === 'linux')('allows executing a setuid binary with child_process', async () => { ++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('allows executing a setuid binary with child_process', async () => { + const child = utilityProcess.fork(path.join(fixturesPath, 'suid.js')); + await once(child, 'spawn'); + const [data] = await once(child, 'message'); diff --git a/devel/electron33/files/patch-electron_spec_api-web-frame-main-spec.ts b/devel/electron33/files/patch-electron_spec_api-web-frame-main-spec.ts new file mode 100644 index 000000000000..5e9258754604 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_api-web-frame-main-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/api-web-frame-main-spec.ts.orig 2024-11-07 16:14:43 UTC ++++ electron/spec/api-web-frame-main-spec.ts +@@ -307,7 +307,7 @@ describe('webFrameMain module', () => { + }); + + // TODO(jkleinsc) fix this flaky test on linux +- ifit(process.platform !== 'linux')('throws upon accessing properties when disposed', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('throws upon accessing properties when disposed', async () => { + await w.loadFile(path.join(subframesPath, 'frame-with-frame-container.html')); + const { mainFrame } = w.webContents; + w.destroy(); diff --git a/devel/electron33/files/patch-electron_spec_chromium-spec.ts b/devel/electron33/files/patch-electron_spec_chromium-spec.ts new file mode 100644 index 000000000000..b0639b7445b5 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_chromium-spec.ts @@ -0,0 +1,53 @@ +--- electron/spec/chromium-spec.ts.orig 2024-11-07 16:14:43 UTC ++++ electron/spec/chromium-spec.ts +@@ -474,13 +474,13 @@ describe('command line switches', () => { + it('should not set an invalid locale', async () => testLocale('asdfkl', `${currentLocale}|${currentSystemLocale}|${currentPreferredLanguages}`)); + + const lcAll = String(process.env.LC_ALL); +- ifit(process.platform === 'linux')('current process has a valid LC_ALL env', async () => { ++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('current process has a valid LC_ALL env', async () => { + // The LC_ALL env should not be set to DOM locale string. + expect(lcAll).to.not.equal(app.getLocale()); + }); +- ifit(process.platform === 'linux')('should not change LC_ALL', async () => testLocale('fr', lcAll, true)); +- ifit(process.platform === 'linux')('should not change LC_ALL when setting invalid locale', async () => testLocale('asdfkl', lcAll, true)); +- ifit(process.platform === 'linux')('should not change LC_ALL when --lang is not set', async () => testLocale('', lcAll, true)); ++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('should not change LC_ALL', async () => testLocale('fr', lcAll, true)); ++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('should not change LC_ALL when setting invalid locale', async () => testLocale('asdfkl', lcAll, true)); ++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('should not change LC_ALL when --lang is not set', async () => testLocale('', lcAll, true)); + }); + + describe('--remote-debugging-pipe switch', () => { +@@ -567,7 +567,7 @@ describe('command line switches', () => { + + // Disable the test on linux arm and arm64 to avoid startup crash + // https://github.com/electron/electron/issues/44293#issuecomment-2420077154 +- ifit(process.platform !== 'linux' || (process.arch !== 'arm' && process.arch !== 'arm64'))('creates startup trace', async () => { ++ ifit((process.platform !== 'linux' && process.platform !== 'freebsd') || (process.arch !== 'arm' && process.arch !== 'arm64'))('creates startup trace', async () => { + const rc = await startRemoteControlApp(['--trace-startup=*', `--trace-startup-file=${outputFilePath}`, '--trace-startup-duration=1', '--enable-logging']); + const stderrComplete = new Promise<string>(resolve => { + let stderr = ''; +@@ -2885,12 +2885,12 @@ describe('font fallback', () => { + expect(fonts[0].familyName).to.equal('Arial'); + } else if (process.platform === 'darwin') { + expect(fonts[0].familyName).to.equal('Helvetica'); +- } else if (process.platform === 'linux') { ++ } else if (process.platform === 'linux' || process.platform === 'freebsd') { + expect(fonts[0].familyName).to.equal('DejaVu Sans'); + } // I think this depends on the distro? We don't specify a default. + }); + +- ifit(process.platform !== 'linux')('should fall back to Japanese font for sans-serif Japanese script', async function () { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('should fall back to Japanese font for sans-serif Japanese script', async function () { + const html = ` + <html lang="ja-JP"> + <head> +@@ -3286,7 +3286,7 @@ describe('navigator.clipboard.write', () => { + }); + }); + +-ifdescribe((process.platform !== 'linux' || app.isUnityRunning()))('navigator.setAppBadge/clearAppBadge', () => { ++ifdescribe(((process.platform !== 'linux' && process.platform !== 'freebsd') || app.isUnityRunning()))('navigator.setAppBadge/clearAppBadge', () => { + let w: BrowserWindow; + + const expectedBadgeCount = 42; diff --git a/devel/electron33/files/patch-electron_spec_crash-spec.ts b/devel/electron33/files/patch-electron_spec_crash-spec.ts new file mode 100644 index 000000000000..06aa44b6d80c --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_crash-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/crash-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/crash-spec.ts +@@ -47,7 +47,7 @@ const shouldRunCase = (crashCase: string) => { + if (process.platform === 'win32') { + return process.arch !== 'ia32'; + } else { +- return (process.platform !== 'linux' || (process.arch !== 'arm64' && process.arch !== 'arm')); ++ return ((process.platform !== 'linux' && process.platform !== 'freebsd') || (process.arch !== 'arm64' && process.arch !== 'arm')); + } + } + default: { diff --git a/devel/electron33/files/patch-electron_spec_fixtures_api_safe-storage_decrypt-app_main.js b/devel/electron33/files/patch-electron_spec_fixtures_api_safe-storage_decrypt-app_main.js new file mode 100644 index 000000000000..894e14dc5f17 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_fixtures_api_safe-storage_decrypt-app_main.js @@ -0,0 +1,11 @@ +--- electron/spec/fixtures/api/safe-storage/decrypt-app/main.js.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/fixtures/api/safe-storage/decrypt-app/main.js +@@ -7,7 +7,7 @@ app.whenReady().then(async () => { + const readFile = fs.readFile; + + app.whenReady().then(async () => { +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + safeStorage.setUsePlainTextEncryption(true); + } + const encryptedString = await readFile(pathToEncryptedString); diff --git a/devel/electron33/files/patch-electron_spec_fixtures_api_safe-storage_encrypt-app_main.js b/devel/electron33/files/patch-electron_spec_fixtures_api_safe-storage_encrypt-app_main.js new file mode 100644 index 000000000000..a94b107196e5 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_fixtures_api_safe-storage_encrypt-app_main.js @@ -0,0 +1,11 @@ +--- electron/spec/fixtures/api/safe-storage/encrypt-app/main.js.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/fixtures/api/safe-storage/encrypt-app/main.js +@@ -7,7 +7,7 @@ app.whenReady().then(async () => { + const writeFile = fs.writeFile; + + app.whenReady().then(async () => { +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + safeStorage.setUsePlainTextEncryption(true); + } + const encrypted = safeStorage.encryptString('plaintext'); diff --git a/devel/electron33/files/patch-electron_spec_fixtures_crash-cases_safe-storage_index.js b/devel/electron33/files/patch-electron_spec_fixtures_crash-cases_safe-storage_index.js new file mode 100644 index 000000000000..822927ba19ff --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_fixtures_crash-cases_safe-storage_index.js @@ -0,0 +1,11 @@ +--- electron/spec/fixtures/crash-cases/safe-storage/index.js.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/fixtures/crash-cases/safe-storage/index.js +@@ -22,7 +22,7 @@ const { expect } = require('chai'); + await app.whenReady(); + // isEncryptionAvailable() will always return false on CI due to a mocked + // dbus as mentioned above. +- expect(safeStorage.isEncryptionAvailable()).to.equal(process.platform !== 'linux'); ++ expect(safeStorage.isEncryptionAvailable()).to.equal(process.platform !== 'linux' && process.platform !== 'freebsd'); + if (safeStorage.isEncryptionAvailable()) { + const plaintext = 'plaintext'; + const ciphertext = safeStorage.encryptString(plaintext); diff --git a/devel/electron33/files/patch-electron_spec_fixtures_native-addon_uv-dlopen_index.js b/devel/electron33/files/patch-electron_spec_fixtures_native-addon_uv-dlopen_index.js new file mode 100644 index 000000000000..b418e38c836f --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_fixtures_native-addon_uv-dlopen_index.js @@ -0,0 +1,11 @@ +--- electron/spec/fixtures/native-addon/uv-dlopen/index.js.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/fixtures/native-addon/uv-dlopen/index.js +@@ -4,7 +4,7 @@ const lib = (() => { + + const lib = (() => { + switch (process.platform) { +- case 'linux': ++ case 'linux': case 'freebsd': + return path.resolve(__dirname, 'build/Release/foo.so'); + case 'darwin': + return path.resolve(__dirname, 'build/Release/foo.dylib'); diff --git a/devel/electron33/files/patch-electron_spec_node-spec.ts b/devel/electron33/files/patch-electron_spec_node-spec.ts new file mode 100644 index 000000000000..b943ea8f0ba9 --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_node-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/node-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/node-spec.ts +@@ -148,7 +148,7 @@ describe('node feature', () => { + }); + + describe('child_process.exec', () => { +- ifit(process.platform === 'linux')('allows executing a setuid binary from non-sandboxed renderer', async () => { ++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('allows executing a setuid binary from non-sandboxed renderer', async () => { + // Chrome uses prctl(2) to set the NO_NEW_PRIVILEGES flag on Linux (see + // https://github.com/torvalds/linux/blob/40fde647cc/Documentation/userspace-api/no_new_privs.rst). + // We disable this for unsandboxed processes, which the renderer tests diff --git a/devel/electron33/files/patch-electron_spec_version-bump-spec.ts b/devel/electron33/files/patch-electron_spec_version-bump-spec.ts new file mode 100644 index 000000000000..c595f00e149b --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_version-bump-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/version-bump-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/version-bump-spec.ts +@@ -53,7 +53,7 @@ describe('version-bumper', () => { + } + + describe('version-bumper', () => { +- ifdescribe(!(process.platform === 'linux' && process.arch.indexOf('arm') === 0) && process.platform !== 'darwin')('nextVersion', () => { ++ ifdescribe(!((process.platform === 'linux' || process.platform === 'freebsd') && process.arch.indexOf('arm') === 0) && process.platform !== 'darwin')('nextVersion', () => { + describe('bump versions', () => { + const nightlyPattern = /[0-9.]*(-nightly.(\d{4})(\d{2})(\d{2}))$/g; + const betaPattern = /[0-9.]*(-beta[0-9.]*)/g; diff --git a/devel/electron33/files/patch-electron_spec_visibility-state-spec.ts b/devel/electron33/files/patch-electron_spec_visibility-state-spec.ts new file mode 100644 index 000000000000..1c7fffa8982b --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_visibility-state-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/visibility-state-spec.ts.orig 2024-10-22 02:29:46 UTC ++++ electron/spec/visibility-state-spec.ts +@@ -11,7 +11,7 @@ import { closeAllWindows } from './lib/window-helpers' + + // visibilityState specs pass on linux with a real window manager but on CI + // the environment does not let these specs pass +-ifdescribe(process.platform !== 'linux')('document.visibilityState', () => { ++ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('document.visibilityState', () => { + let w: BaseWindow & {webContents: WebContents}; + + before(() => { diff --git a/devel/electron33/files/patch-electron_spec_webview-spec.ts b/devel/electron33/files/patch-electron_spec_webview-spec.ts new file mode 100644 index 000000000000..5ab54396607a --- /dev/null +++ b/devel/electron33/files/patch-electron_spec_webview-spec.ts @@ -0,0 +1,11 @@ +--- electron/spec/webview-spec.ts.orig 2024-10-09 13:53:06 UTC ++++ electron/spec/webview-spec.ts +@@ -559,7 +559,7 @@ describe('<webview> tag', function () { + }); + + // FIXME(zcbenz): Fullscreen events do not work on Linux. +- ifit(process.platform !== 'linux')('exiting fullscreen should unfullscreen window', async () => { ++ ifit(process.platform !== 'linux' && process.platform !== 'freebsd')('exiting fullscreen should unfullscreen window', async () => { + const [w, webview] = await loadWebViewWindow(); + const enterFullScreen = once(w, 'enter-full-screen'); + await webview.executeJavaScript('document.getElementById("div").requestFullscreen()', true); diff --git a/devel/electron33/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc b/devel/electron33/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc new file mode 100644 index 000000000000..788fca4ab478 --- /dev/null +++ b/devel/electron33/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc @@ -0,0 +1,11 @@ +--- extensions/browser/api/api_browser_context_keyed_service_factories.cc.orig 2024-10-16 21:31:29 UTC ++++ extensions/browser/api/api_browser_context_keyed_service_factories.cc +@@ -114,7 +114,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt + #endif + MessageService::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/devel/electron33/files/patch-extensions_browser_api_management_management__api.cc b/devel/electron33/files/patch-extensions_browser_api_management_management__api.cc new file mode 100644 index 000000000000..a0ee91afd52e --- /dev/null +++ b/devel/electron33/files/patch-extensions_browser_api_management_management__api.cc @@ -0,0 +1,11 @@ +--- extensions/browser/api/management/management_api.cc.orig 2024-08-14 20:55:02 UTC ++++ extensions/browser/api/management/management_api.cc +@@ -285,7 +285,7 @@ bool PlatformSupportsApprovalFlowForExtensions() { + #if BUILDFLAG(IS_CHROMEOS) + // ChromeOS devices have this feature already shipped. + return true; +-#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled( + supervised_user::kEnableExtensionsPermissionsForSupervisedUsersOnDesktop); + #else diff --git a/devel/electron33/files/patch-extensions_browser_api_messaging_message__service.cc b/devel/electron33/files/patch-extensions_browser_api_messaging_message__service.cc new file mode 100644 index 000000000000..e51ee93de9b8 --- /dev/null +++ b/devel/electron33/files/patch-extensions_browser_api_messaging_message__service.cc @@ -0,0 +1,20 @@ +--- extensions/browser/api/messaging/message_service.cc.orig 2024-08-14 20:55:02 UTC ++++ extensions/browser/api/messaging/message_service.cc +@@ -78,7 +78,7 @@ const char kReceivingEndDoesntExistError[] = + 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[] = +@@ -551,7 +551,7 @@ void MessageService::OpenChannelToNativeAppImpl( + 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/devel/electron33/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc b/devel/electron33/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc new file mode 100644 index 000000000000..18aba68d624b --- /dev/null +++ b/devel/electron33/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 2023-10-19 19:58:24 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" +@@ -67,7 +67,7 @@ NetworkingPrivateDelegateFactory::BuildServiceInstance + delegate = std::make_unique<NetworkingPrivateChromeOS>(browser_context); + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + delegate = std::make_unique<NetworkingPrivateLacros>(browser_context); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + delegate = std::make_unique<NetworkingPrivateLinux>(); + #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) + std::unique_ptr<wifi::WiFiService> wifi_service(wifi::WiFiService::Create()); diff --git a/devel/electron33/files/patch-extensions_common_api___permission__features.json b/devel/electron33/files/patch-extensions_common_api___permission__features.json new file mode 100644 index 000000000000..51f6457cb14c --- /dev/null +++ b/devel/electron33/files/patch-extensions_common_api___permission__features.json @@ -0,0 +1,29 @@ +--- extensions/common/api/_permission_features.json.orig 2023-11-29 21:40:03 UTC ++++ extensions/common/api/_permission_features.json +@@ -138,7 +138,7 @@ + { + "channel": "stable", + "extension_types": ["platform_app"], +- "platforms": ["chromeos", "lacros", "win", "mac", "linux"], ++ "platforms": ["chromeos", "lacros", "win", "mac", "linux", "openbsd", "freebsd"], + "allowlist": [ + "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169 + "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169 +@@ -432,7 +432,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 +@@ -476,7 +476,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/devel/electron33/files/patch-extensions_common_api_runtime.json b/devel/electron33/files/patch-extensions_common_api_runtime.json new file mode 100644 index 000000000000..a62b91540fcb --- /dev/null +++ b/devel/electron33/files/patch-extensions_common_api_runtime.json @@ -0,0 +1,10 @@ +--- extensions/common/api/runtime.json.orig 2024-02-21 00:20:46 UTC ++++ extensions/common/api/runtime.json +@@ -86,6 +86,7 @@ + {"name": "cros", "description": "Specifies the Chrome operating system."}, + {"name": "linux", "description": "Specifies the Linux operating system."}, + {"name": "openbsd", "description": "Specifies the OpenBSD operating system."}, ++ {"name": "freebsd", "description": "Specifies the FreeBSD operating system."}, + {"name": "fuchsia", "description": "Specifies the Fuchsia operating system."} + ] + }, diff --git a/devel/electron33/files/patch-extensions_common_command.cc b/devel/electron33/files/patch-extensions_common_command.cc new file mode 100644 index 000000000000..c5866c6a26c6 --- /dev/null +++ b/devel/electron33/files/patch-extensions_common_command.cc @@ -0,0 +1,11 @@ +--- extensions/common/command.cc.orig 2024-10-16 21:31:29 UTC ++++ extensions/common/command.cc +@@ -286,7 +286,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/40220501): Change this once we decide what string should be diff --git a/devel/electron33/files/patch-extensions_common_features_feature.cc b/devel/electron33/files/patch-extensions_common_features_feature.cc new file mode 100644 index 000000000000..b729c127c3cd --- /dev/null +++ b/devel/electron33/files/patch-extensions_common_features_feature.cc @@ -0,0 +1,11 @@ +--- extensions/common/features/feature.cc.orig 2023-10-19 19:58:24 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 BUILDFLAG(IS_BSD) ++ return LINUX_PLATFORM; + #else + return UNSPECIFIED_PLATFORM; + #endif diff --git a/devel/electron33/files/patch-extensions_renderer_bindings_api__binding__util.cc b/devel/electron33/files/patch-extensions_renderer_bindings_api__binding__util.cc new file mode 100644 index 000000000000..7507d7f410f7 --- /dev/null +++ b/devel/electron33/files/patch-extensions_renderer_bindings_api__binding__util.cc @@ -0,0 +1,11 @@ +--- extensions/renderer/bindings/api_binding_util.cc.orig 2024-10-16 21:31:29 UTC ++++ extensions/renderer/bindings/api_binding_util.cc +@@ -133,7 +133,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/devel/electron33/files/patch-extensions_renderer_bindings_argument__spec.cc b/devel/electron33/files/patch-extensions_renderer_bindings_argument__spec.cc new file mode 100644 index 000000000000..13961c2dfbe9 --- /dev/null +++ b/devel/electron33/files/patch-extensions_renderer_bindings_argument__spec.cc @@ -0,0 +1,11 @@ +--- extensions/renderer/bindings/argument_spec.cc.orig 2022-11-30 08:12:58 UTC ++++ extensions/renderer/bindings/argument_spec.cc +@@ -18,6 +18,8 @@ + #include "gin/data_object_builder.h" + #include "gin/dictionary.h" + ++#include <cmath> ++ + namespace extensions { + + namespace { diff --git a/devel/electron33/files/patch-extensions_shell_app_shell__main__delegate.cc b/devel/electron33/files/patch-extensions_shell_app_shell__main__delegate.cc new file mode 100644 index 000000000000..e0d7853d636b --- /dev/null +++ b/devel/electron33/files/patch-extensions_shell_app_shell__main__delegate.cc @@ -0,0 +1,20 @@ +--- extensions/shell/app/shell_main_delegate.cc.orig 2024-04-15 20:33:59 UTC ++++ extensions/shell/app/shell_main_delegate.cc +@@ -43,7 +43,7 @@ + #if BUILDFLAG(IS_WIN) + #include "base/base_paths_win.h" + #include "base/process/process_info.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" +@@ -63,7 +63,7 @@ base::FilePath GetDataPath() { + } + + 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/devel/electron33/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc b/devel/electron33/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc new file mode 100644 index 000000000000..f2ef8139beae --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:30 UTC ++++ extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc +@@ -45,7 +45,7 @@ bool ShellRuntimeAPIDelegate::GetPlatformInfo(Platform + bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) { + #if BUILDFLAG(IS_CHROMEOS_ASH) + info->os = api::runtime::PlatformOs::kCros; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) + info->os = api::runtime::PlatformOs::kLinux; + #endif + return true; diff --git a/devel/electron33/files/patch-extensions_shell_browser_shell__browser__main__parts.cc b/devel/electron33/files/patch-extensions_shell_browser_shell__browser__main__parts.cc new file mode 100644 index 000000000000..77da3a83720f --- /dev/null +++ b/devel/electron33/files/patch-extensions_shell_browser_shell__browser__main__parts.cc @@ -0,0 +1,11 @@ +--- extensions/shell/browser/shell_browser_main_parts.cc.orig 2022-09-24 10:57:32 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/devel/electron33/files/patch-extensions_shell_browser_shell__extensions__api__client.cc b/devel/electron33/files/patch-extensions_shell_browser_shell__extensions__api__client.cc new file mode 100644 index 000000000000..59d2980f8d14 --- /dev/null +++ b/devel/electron33/files/patch-extensions_shell_browser_shell__extensions__api__client.cc @@ -0,0 +1,11 @@ +--- extensions/shell/browser/shell_extensions_api_client.cc.orig 2024-06-18 21:43:33 UTC ++++ extensions/shell/browser/shell_extensions_api_client.cc +@@ -58,7 +58,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider() + + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-extensions_shell_browser_shell__extensions__api__client.h b/devel/electron33/files/patch-extensions_shell_browser_shell__extensions__api__client.h new file mode 100644 index 000000000000..193b483076f2 --- /dev/null +++ b/devel/electron33/files/patch-extensions_shell_browser_shell__extensions__api__client.h @@ -0,0 +1,20 @@ +--- extensions/shell/browser/shell_extensions_api_client.h.orig 2024-06-18 21:43:33 UTC ++++ extensions/shell/browser/shell_extensions_api_client.h +@@ -36,7 +36,7 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC + const override; + // TODO(crbug.com/40118868): 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/40118868): 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/devel/electron33/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/devel/electron33/files/patch-google__apis_gcm_engine_heartbeat__manager.cc new file mode 100644 index 000000000000..49299d817e4c --- /dev/null +++ b/devel/electron33/files/patch-google__apis_gcm_engine_heartbeat__manager.cc @@ -0,0 +1,29 @@ +--- google_apis/gcm/engine/heartbeat_manager.cc.orig 2023-05-25 00:41:56 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 +@@ -191,7 +191,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. +@@ -214,7 +214,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/devel/electron33/files/patch-gpu_command__buffer_service_dawn__context__provider.cc b/devel/electron33/files/patch-gpu_command__buffer_service_dawn__context__provider.cc new file mode 100644 index 000000000000..beb86caa53bc --- /dev/null +++ b/devel/electron33/files/patch-gpu_command__buffer_service_dawn__context__provider.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/dawn_context_provider.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/command_buffer/service/dawn_context_provider.cc +@@ -307,7 +307,7 @@ wgpu::BackendType DawnContextProvider::GetDefaultBacke + return base::FeatureList::IsEnabled(features::kSkiaGraphiteDawnUseD3D12) + ? wgpu::BackendType::D3D12 + : wgpu::BackendType::D3D11; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + return wgpu::BackendType::Vulkan; + #elif BUILDFLAG(IS_APPLE) + return wgpu::BackendType::Metal; diff --git a/devel/electron33/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/devel/electron33/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc new file mode 100644 index 000000000000..7c8e3b264627 --- /dev/null +++ b/devel/electron33/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/command_buffer/service/gles2_cmd_decoder.cc +@@ -2906,7 +2906,7 @@ GLES2Decoder* GLES2Decoder::Create( + } + + // Allow linux to run fuzzers. +-#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return new GLES2DecoderImpl(client, command_buffer_service, outputter, group); + #else + LOG(FATAL) << "Validating command decoder is not supported."; diff --git a/devel/electron33/files/patch-gpu_command__buffer_service_shared__context__state.cc b/devel/electron33/files/patch-gpu_command__buffer_service_shared__context__state.cc new file mode 100644 index 000000000000..8a44818acb5e --- /dev/null +++ b/devel/electron33/files/patch-gpu_command__buffer_service_shared__context__state.cc @@ -0,0 +1,29 @@ +--- gpu/command_buffer/service/shared_context_state.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/command_buffer/service/shared_context_state.cc +@@ -56,7 +56,7 @@ + #include "gpu/vulkan/vulkan_implementation.h" + #include "gpu/vulkan/vulkan_util.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "gpu/command_buffer/service/external_semaphore_pool.h" + #endif + +@@ -287,7 +287,7 @@ SharedContextState::SharedContextState( + if (gr_context_type_ == GrContextType::kVulkan) { + if (vk_context_provider_) { + #if BUILDFLAG(ENABLE_VULKAN) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) + external_semaphore_pool_ = std::make_unique<ExternalSemaphorePool>(this); + #endif + use_virtualized_gl_contexts_ = false; +@@ -320,7 +320,7 @@ SharedContextState::~SharedContextState() { + transfer_cache_.reset(); + + #if BUILDFLAG(ENABLE_VULKAN) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) + external_semaphore_pool_.reset(); + #endif + diff --git a/devel/electron33/files/patch-gpu_command__buffer_service_shared__context__state.h b/devel/electron33/files/patch-gpu_command__buffer_service_shared__context__state.h new file mode 100644 index 000000000000..478ef1f8bb7d --- /dev/null +++ b/devel/electron33/files/patch-gpu_command__buffer_service_shared__context__state.h @@ -0,0 +1,20 @@ +--- gpu/command_buffer/service/shared_context_state.h.orig 2024-10-16 21:31:30 UTC ++++ gpu/command_buffer/service/shared_context_state.h +@@ -222,7 +222,7 @@ class GPU_GLES2_EXPORT SharedContextState + return &memory_type_tracker_; + } + #if BUILDFLAG(ENABLE_VULKAN) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) + ExternalSemaphorePool* external_semaphore_pool() { + return external_semaphore_pool_.get(); + } +@@ -429,7 +429,7 @@ class GPU_GLES2_EXPORT SharedContextState + bool disable_check_reset_status_throttling_for_test_ = false; + + #if BUILDFLAG(ENABLE_VULKAN) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) + std::unique_ptr<ExternalSemaphorePool> external_semaphore_pool_; + #endif + diff --git a/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc b/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_angle__vulkan__image__backing__factory.cc new file mode 100644 index 000000000000..13181e64eedd --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:03 UTC ++++ gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.cc +@@ -20,7 +20,7 @@ constexpr SharedImageUsageSet kSupportedUsage = + // TODO(penghuang): verify the scanout is the right usage for video playback. + // crbug.com/1280798 + constexpr SharedImageUsageSet kSupportedUsage = +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + SHARED_IMAGE_USAGE_SCANOUT | + #endif + SHARED_IMAGE_USAGE_GLES2_READ | SHARED_IMAGE_USAGE_GLES2_WRITE | diff --git a/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc b/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing.cc new file mode 100644 index 000000000000..f07c84756f9d --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:30 UTC ++++ gpu/command_buffer/service/shared_image/external_vk_image_backing.cc +@@ -59,7 +59,7 @@ + #include "ui/gl/gl_version_info.h" + #include "ui/gl/scoped_binders.h" + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) + #include "gpu/command_buffer/service/shared_image/external_vk_image_dawn_representation.h" + #if BUILDFLAG(DAWN_ENABLE_BACKEND_OPENGLES) + #include "gpu/command_buffer/service/shared_image/dawn_gl_texture_representation.h" +@@ -727,7 +727,7 @@ std::unique_ptr<DawnImageRepresentation> ExternalVkIma + wgpu::BackendType backend_type, + std::vector<wgpu::TextureFormat> view_formats, + scoped_refptr<SharedContextState> context_state) { +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) + auto wgpu_format = ToDawnFormat(format()); + + if (wgpu_format == wgpu::TextureFormat::Undefined) { diff --git a/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc b/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc new file mode 100644 index 000000000000..a1828b021c07 --- /dev/null +++ b/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_external__vk__image__backing__factory.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.cc +@@ -142,7 +142,7 @@ constexpr SharedImageUsageSet kSupportedUsage = + } // namespace + + constexpr SharedImageUsageSet kSupportedUsage = +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DAWN) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DAWN) + SHARED_IMAGE_USAGE_WEBGPU_READ | SHARED_IMAGE_USAGE_WEBGPU_WRITE | + SHARED_IMAGE_USAGE_WEBGPU_SWAP_CHAIN_TEXTURE | + SHARED_IMAGE_USAGE_WEBGPU_STORAGE_TEXTURE | diff --git a/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc b/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_shared__image__factory.cc new file mode 100644 index 000000000000..bd0dbe47d244 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:30 UTC ++++ gpu/command_buffer/service/shared_image/shared_image_factory.cc +@@ -48,7 +48,7 @@ + #include "gpu/command_buffer/service/shared_image/angle_vulkan_image_backing_factory.h" + #include "gpu/vulkan/vulkan_device_queue.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #include "gpu/command_buffer/service/shared_image/external_vk_image_backing_factory.h" + #endif + +@@ -112,7 +112,7 @@ gfx::GpuMemoryBufferType GetNativeBufferType() { + return gfx::GpuMemoryBufferType::IO_SURFACE_BUFFER; + #elif BUILDFLAG(IS_ANDROID) + return gfx::GpuMemoryBufferType::ANDROID_HARDWARE_BUFFER; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + return gfx::GpuMemoryBufferType::NATIVE_PIXMAP; + #elif BUILDFLAG(IS_WIN) + return gfx::GpuMemoryBufferType::DXGI_SHARED_HANDLE; +@@ -315,7 +315,7 @@ SharedImageFactory::SharedImageFactory( + context_state_, workarounds_); + factories_.push_back(std::move(ozone_factory)); + } +-#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)) ++#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)) + if (gr_context_type_ == GrContextType::kVulkan) { + auto external_vk_image_factory = + std::make_unique<ExternalVkImageBackingFactory>(context_state_); diff --git a/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc b/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc new file mode 100644 index 000000000000..ab51ece6fa67 --- /dev/null +++ b/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_shared__image__manager.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/shared_image/shared_image_manager.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/command_buffer/service/shared_image/shared_image_manager.cc +@@ -603,7 +603,7 @@ bool SharedImageManager::SupportsScanoutImages() { + return true; + #elif BUILDFLAG(IS_ANDROID) + return base::AndroidHardwareBufferCompat::IsSupportAvailable(); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + return ui::OzonePlatform::GetInstance() + ->GetPlatformRuntimeProperties() + .supports_native_pixmaps; diff --git a/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc b/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc new file mode 100644 index 000000000000..071883e56db5 --- /dev/null +++ b/devel/electron33/files/patch-gpu_command__buffer_service_shared__image_wrapped__sk__image__backing.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc.orig 2024-04-15 20:33:59 UTC ++++ gpu/command_buffer/service/shared_image/wrapped_sk_image_backing.cc +@@ -214,7 +214,7 @@ bool WrappedSkImageBacking::Initialize(const std::stri + + constexpr GrRenderable is_renderable = GrRenderable::kYes; + constexpr GrProtected is_protected = GrProtected::kNo; +-#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) ++#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + // Blue for single-planar and magenta-ish for multi-planar. + SkColor4f fallback_color = + format().is_single_plane() ? SkColors::kBlue : SkColors::kWhite; diff --git a/devel/electron33/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/devel/electron33/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc new file mode 100644 index 000000000000..4d55e6597178 --- /dev/null +++ b/devel/electron33/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc @@ -0,0 +1,20 @@ +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/command_buffer/service/webgpu_decoder_impl.cc +@@ -1309,7 +1309,7 @@ WGPUFuture WebGPUDecoderImpl::RequestAdapterImpl( + force_fallback_adapter = true; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (!shared_context_state_->GrContextIsVulkan() && + !shared_context_state_->IsGraphiteDawnVulkan() && + use_webgpu_adapter_ != WebGPUAdapterName::kOpenGLES) { +@@ -1978,7 +1978,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( + } + + #if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_APPLE) && \ +- !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_LINUX) ++ !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + if (usage & wgpu::TextureUsage::StorageBinding) { + LOG(ERROR) << "AssociateMailbox: wgpu::TextureUsage::StorageBinding is NOT " + "supported yet on this platform."; diff --git a/devel/electron33/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc b/devel/electron33/files/patch-gpu_command__buffer_tests_gl__gpu__memory__buffer__unittest.cc new file mode 100644 index 000000000000..fdda274e415e --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:30 UTC ++++ gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc +@@ -32,7 +32,7 @@ + #include "ui/gfx/half_float.h" + #include "ui/gl/test/gl_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 +@@ -75,7 +75,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/devel/electron33/files/patch-gpu_config_gpu__control__list.cc b/devel/electron33/files/patch-gpu_config_gpu__control__list.cc new file mode 100644 index 000000000000..3c73ef6a6927 --- /dev/null +++ b/devel/electron33/files/patch-gpu_config_gpu__control__list.cc @@ -0,0 +1,20 @@ +--- gpu/config/gpu_control_list.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/config/gpu_control_list.cc +@@ -282,7 +282,7 @@ GpuControlList::GLType GpuControlList::More::GetDefaul + 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; +@@ -819,7 +819,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/devel/electron33/files/patch-gpu_config_gpu__finch__features.cc b/devel/electron33/files/patch-gpu_config_gpu__finch__features.cc new file mode 100644 index 000000000000..840c8ba0fcd6 --- /dev/null +++ b/devel/electron33/files/patch-gpu_config_gpu__finch__features.cc @@ -0,0 +1,20 @@ +--- gpu/config/gpu_finch_features.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/config/gpu_finch_features.cc +@@ -150,7 +150,7 @@ BASE_FEATURE(kDefaultEnableGpuRasterization, + BASE_FEATURE(kDefaultEnableGpuRasterization, + "DefaultEnableGpuRasterization", + #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -163,7 +163,7 @@ BASE_FEATURE(kCanvasOopRasterization, + "CanvasOopRasterization", + #if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_WIN) || \ + (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/devel/electron33/files/patch-gpu_config_gpu__info__collector.cc b/devel/electron33/files/patch-gpu_config_gpu__info__collector.cc new file mode 100644 index 000000000000..32f20a4d2473 --- /dev/null +++ b/devel/electron33/files/patch-gpu_config_gpu__info__collector.cc @@ -0,0 +1,11 @@ +--- gpu/config/gpu_info_collector.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/config/gpu_info_collector.cc +@@ -368,7 +368,7 @@ void ReportWebGPUSupportMetrics(dawn::native::Instance + void ReportWebGPUSupportMetrics(dawn::native::Instance* instance) { + static BASE_FEATURE(kCollectWebGPUSupportMetrics, + "CollectWebGPUSupportMetrics", +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_DISABLED_BY_DEFAULT); + #else + base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/devel/electron33/files/patch-gpu_config_gpu__test__config.cc b/devel/electron33/files/patch-gpu_config_gpu__test__config.cc new file mode 100644 index 000000000000..86cc37845dcf --- /dev/null +++ b/devel/electron33/files/patch-gpu_config_gpu__test__config.cc @@ -0,0 +1,11 @@ +--- gpu/config/gpu_test_config.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc b/devel/electron33/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc new file mode 100644 index 000000000000..c878dc872080 --- /dev/null +++ b/devel/electron33/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc @@ -0,0 +1,20 @@ +--- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/ipc/common/gpu_memory_buffer_support.cc +@@ -26,7 +26,7 @@ + #include "ui/ozone/public/ozone_platform.h" + #endif + +-#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h" + #endif + +@@ -55,7 +55,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType() + return gfx::IO_SURFACE_BUFFER; + #elif BUILDFLAG(IS_ANDROID) + return gfx::ANDROID_HARDWARE_BUFFER; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) + return gfx::NATIVE_PIXMAP; + #elif BUILDFLAG(IS_WIN) + return gfx::DXGI_SHARED_HANDLE; diff --git a/devel/electron33/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h b/devel/electron33/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h new file mode 100644 index 000000000000..2ab58073a4b1 --- /dev/null +++ b/devel/electron33/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h @@ -0,0 +1,11 @@ +--- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2023-08-10 01:48:45 UTC ++++ gpu/ipc/common/gpu_memory_buffer_support.h +@@ -21,7 +21,7 @@ + #include "ui/gfx/geometry/size.h" + #include "ui/gfx/gpu_memory_buffer.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) + namespace gfx { + class ClientNativePixmapFactory; + } // namespace gfx diff --git a/devel/electron33/files/patch-gpu_ipc_service_gpu__init.cc b/devel/electron33/files/patch-gpu_ipc_service_gpu__init.cc new file mode 100644 index 000000000000..aef5c95cb17c --- /dev/null +++ b/devel/electron33/files/patch-gpu_ipc_service_gpu__init.cc @@ -0,0 +1,74 @@ +--- gpu/ipc/service/gpu_init.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/ipc/service/gpu_init.cc +@@ -387,7 +387,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 +@@ -424,7 +424,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. +@@ -528,7 +528,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + gpu_preferences_.gr_context_type = GrContextType::kGL; + } + +-#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 +@@ -610,7 +610,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; +@@ -761,7 +761,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. +@@ -816,7 +816,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } + } + } +-#if BUILDFLAG(IS_LINUX) || \ ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) + if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) { + // https://rr-project.org/ is a Linux-only record-and-replay debugger that +@@ -1001,7 +1001,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c + } + bool gl_disabled = gl::GetGLImplementation() == gl::kGLImplementationDisabled; + +-#if BUILDFLAG(IS_LINUX) || \ ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) + if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) { + // https://rr-project.org/ is a Linux-only record-and-replay debugger that +@@ -1056,7 +1056,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c + } + } + +-#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/devel/electron33/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc b/devel/electron33/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc new file mode 100644 index 000000000000..c2e797a71f81 --- /dev/null +++ b/devel/electron33/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc @@ -0,0 +1,20 @@ +--- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/ipc/service/gpu_memory_buffer_factory.cc +@@ -14,7 +14,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 + +@@ -71,7 +71,7 @@ GpuMemoryBufferFactory::CreateNativeType( + // to have a factory that vends invalid GMB handles rather than having no + // factory at all. + return std::make_unique<GpuMemoryBufferFactoryStub>(); +-#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/devel/electron33/files/patch-gpu_ipc_service_x__util.h b/devel/electron33/files/patch-gpu_ipc_service_x__util.h new file mode 100644 index 000000000000..a981513535b7 --- /dev/null +++ b/devel/electron33/files/patch-gpu_ipc_service_x__util.h @@ -0,0 +1,11 @@ +--- gpu/ipc/service/x_util.h.orig 2024-02-21 00:20:47 UTC ++++ gpu/ipc/service/x_util.h +@@ -12,7 +12,7 @@ + #include "gpu/ipc/service/gpu_config.h" + #include "ui/base/ozone_buildflags.h" + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + + namespace gpu { + diff --git a/devel/electron33/files/patch-gpu_vulkan_generate__bindings.py b/devel/electron33/files/patch-gpu_vulkan_generate__bindings.py new file mode 100644 index 000000000000..01082cafad43 --- /dev/null +++ b/devel/electron33/files/patch-gpu_vulkan_generate__bindings.py @@ -0,0 +1,11 @@ +--- gpu/vulkan/generate_bindings.py.orig 2024-06-18 21:43:33 UTC ++++ gpu/vulkan/generate_bindings.py +@@ -271,7 +271,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/devel/electron33/files/patch-gpu_vulkan_semaphore__handle.cc b/devel/electron33/files/patch-gpu_vulkan_semaphore__handle.cc new file mode 100644 index 000000000000..a95de189e1fc --- /dev/null +++ b/devel/electron33/files/patch-gpu_vulkan_semaphore__handle.cc @@ -0,0 +1,20 @@ +--- gpu/vulkan/semaphore_handle.cc.orig 2023-11-29 21:40:03 UTC ++++ gpu/vulkan/semaphore_handle.cc +@@ -39,7 +39,7 @@ SemaphoreHandle::SemaphoreHandle(gfx::GpuFenceHandle f + // https://fuchsia.dev/reference/fidl/fuchsia.ui.scenic. + Init(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA, + fence_handle.Release()); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + Init(VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR, + fence_handle.Release()); + #elif BUILDFLAG(IS_POSIX) +@@ -64,7 +64,7 @@ gfx::GpuFenceHandle SemaphoreHandle::ToGpuFenceHandle( + // VkSemaphore, which can then be used to submit present work, see + // https://fuchsia.dev/reference/fidl/fuchsia.ui.scenic. + fence_handle.Adopt(TakeHandle()); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + if (type_ == VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT_KHR) { + fence_handle.Adopt(TakeHandle()); + } else { diff --git a/devel/electron33/files/patch-gpu_vulkan_vulkan__device__queue.cc b/devel/electron33/files/patch-gpu_vulkan_vulkan__device__queue.cc new file mode 100644 index 000000000000..5ac379d69709 --- /dev/null +++ b/devel/electron33/files/patch-gpu_vulkan_vulkan__device__queue.cc @@ -0,0 +1,20 @@ +--- gpu/vulkan/vulkan_device_queue.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/vulkan/vulkan_device_queue.cc +@@ -154,7 +154,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)) { +@@ -297,7 +297,7 @@ bool VulkanDeviceQueue::Initialize( + // Android, Fuchsia, Linux, and CrOS (VaapiVideoDecoder) need YCbCr sampler + // support. + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (!physical_device_info.feature_sampler_ycbcr_conversion) { + LOG(ERROR) << "samplerYcbcrConversion is not supported."; + return false; diff --git a/devel/electron33/files/patch-gpu_vulkan_vulkan__device__queue.h b/devel/electron33/files/patch-gpu_vulkan_vulkan__device__queue.h new file mode 100644 index 000000000000..a98a72aa4d66 --- /dev/null +++ b/devel/electron33/files/patch-gpu_vulkan_vulkan__device__queue.h @@ -0,0 +1,11 @@ +--- gpu/vulkan/vulkan_device_queue.h.orig 2024-08-14 20:55:03 UTC ++++ gpu/vulkan/vulkan_device_queue.h +@@ -179,7 +179,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanDeviceQueue + #endif + + #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + VkPhysicalDeviceSamplerYcbcrConversionFeatures + sampler_ycbcr_conversion_features_{ + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES}; diff --git a/devel/electron33/files/patch-gpu_vulkan_vulkan__function__pointers.cc b/devel/electron33/files/patch-gpu_vulkan_vulkan__function__pointers.cc new file mode 100644 index 000000000000..1127953e0d97 --- /dev/null +++ b/devel/electron33/files/patch-gpu_vulkan_vulkan__function__pointers.cc @@ -0,0 +1,20 @@ +--- gpu/vulkan/vulkan_function_pointers.cc.orig 2024-06-18 21:43:33 UTC ++++ gpu/vulkan/vulkan_function_pointers.cc +@@ -1297,7 +1297,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)) { + constexpr char kvkGetImageDrmFormatModifierPropertiesEXT[] = +@@ -1498,7 +1498,7 @@ void VulkanFunctionPointers::ResetForTesting() { + vkGetSwapchainImagesKHR = nullptr; + vkQueuePresentKHR = nullptr; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + vkGetImageDrmFormatModifierPropertiesEXT = nullptr; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + } diff --git a/devel/electron33/files/patch-gpu_vulkan_vulkan__function__pointers.h b/devel/electron33/files/patch-gpu_vulkan_vulkan__function__pointers.h new file mode 100644 index 000000000000..bd1db19c462e --- /dev/null +++ b/devel/electron33/files/patch-gpu_vulkan_vulkan__function__pointers.h @@ -0,0 +1,27 @@ +--- gpu/vulkan/vulkan_function_pointers.h.orig 2024-06-18 21:43:33 UTC ++++ gpu/vulkan/vulkan_function_pointers.h +@@ -322,7 +322,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) +@@ -1336,7 +1336,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, +@@ -1346,4 +1346,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/devel/electron33/files/patch-gpu_vulkan_vulkan__image.h b/devel/electron33/files/patch-gpu_vulkan_vulkan__image.h new file mode 100644 index 000000000000..7960e8e43873 --- /dev/null +++ b/devel/electron33/files/patch-gpu_vulkan_vulkan__image.h @@ -0,0 +1,20 @@ +--- gpu/vulkan/vulkan_image.h.orig 2023-02-01 18:43:21 UTC ++++ gpu/vulkan/vulkan_image.h +@@ -87,7 +87,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, +@@ -199,7 +199,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/devel/electron33/files/patch-gpu_vulkan_vulkan__util.cc b/devel/electron33/files/patch-gpu_vulkan_vulkan__util.cc new file mode 100644 index 000000000000..f66aac4864a4 --- /dev/null +++ b/devel/electron33/files/patch-gpu_vulkan_vulkan__util.cc @@ -0,0 +1,11 @@ +--- gpu/vulkan/vulkan_util.cc.orig 2024-10-16 21:31:30 UTC ++++ gpu/vulkan/vulkan_util.cc +@@ -473,7 +473,7 @@ bool CheckVulkanCompatibilities( + } + } + +-#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/devel/electron33/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc b/devel/electron33/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc new file mode 100644 index 000000000000..5b0861b003d6 --- /dev/null +++ b/devel/electron33/files/patch-headless_lib_browser_headless__browser__main__parts__posix.cc @@ -0,0 +1,39 @@ +--- headless/lib/browser/headless_browser_main_parts_posix.cc.orig 2023-10-19 19:58:24 UTC ++++ headless/lib/browser/headless_browser_main_parts_posix.cc +@@ -21,13 +21,13 @@ + #include "content/public/browser/browser_thread.h" + #include "headless/lib/browser/headless_browser_impl.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/command_line.h" + #include "components/os_crypt/sync/key_storage_config_linux.h" + #include "components/os_crypt/sync/os_crypt.h" + #include "headless/public/switches.h" + +-#if defined(USE_DBUS) ++#if defined(USE_DBUS) && !BUILDFLAG(IS_BSD) + #include "device/bluetooth/dbus/bluez_dbus_manager.h" + #endif + +@@ -161,7 +161,7 @@ class BrowserShutdownHandler { + + } // namespace + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr char kProductName[] = "HeadlessChrome"; + #endif + +@@ -169,9 +169,9 @@ void HeadlessBrowserMainParts::PostCreateMainMessageLo + BrowserShutdownHandler::Install(base::BindOnce( + &HeadlessBrowserImpl::ShutdownWithExitCode, browser_->GetWeakPtr())); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + +-#if defined(USE_DBUS) ++#if defined(USE_DBUS) && !BUILDFLAG(IS_BSD) + bluez::BluezDBusManager::Initialize(/*system_bus=*/nullptr); + #endif + diff --git a/devel/electron33/files/patch-headless_lib_browser_headless__content__browser__client.cc b/devel/electron33/files/patch-headless_lib_browser_headless__content__browser__client.cc new file mode 100644 index 000000000000..6fe490514c87 --- /dev/null +++ b/devel/electron33/files/patch-headless_lib_browser_headless__content__browser__client.cc @@ -0,0 +1,20 @@ +--- headless/lib/browser/headless_content_browser_client.cc.orig 2024-10-16 21:31:30 UTC ++++ headless/lib/browser/headless_content_browser_client.cc +@@ -56,7 +56,7 @@ + #include "content/public/common/content_descriptors.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +-#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) + #include "components/os_crypt/sync/os_crypt.h" // nogncheck + #include "content/public/browser/network_service_util.h" + #endif +@@ -478,7 +478,7 @@ void HeadlessContentBrowserClient::SetEncryptionKey( + + void HeadlessContentBrowserClient::SetEncryptionKey( + ::network::mojom::NetworkService* network_service) { +-#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/devel/electron33/files/patch-headless_lib_browser_headless__content__browser__client.h b/devel/electron33/files/patch-headless_lib_browser_headless__content__browser__client.h new file mode 100644 index 000000000000..0322c0b43d71 --- /dev/null +++ b/devel/electron33/files/patch-headless_lib_browser_headless__content__browser__client.h @@ -0,0 +1,11 @@ +--- headless/lib/browser/headless_content_browser_client.h.orig 2023-02-01 18:43:21 UTC ++++ headless/lib/browser/headless_content_browser_client.h +@@ -45,7 +45,7 @@ class HeadlessContentBrowserClient : public content::C + CreateDevToolsManagerDelegate() 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/devel/electron33/files/patch-headless_lib_browser_headless__web__contents__impl.cc b/devel/electron33/files/patch-headless_lib_browser_headless__web__contents__impl.cc new file mode 100644 index 000000000000..5d0967fc0cd8 --- /dev/null +++ b/devel/electron33/files/patch-headless_lib_browser_headless__web__contents__impl.cc @@ -0,0 +1,11 @@ +--- headless/lib/browser/headless_web_contents_impl.cc.orig 2024-06-30 11:48:29 UTC ++++ headless/lib/browser/headless_web_contents_impl.cc +@@ -62,7 +62,7 @@ void UpdatePrefsFromSystemSettings(blink::RendererPref + 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/devel/electron33/files/patch-headless_lib_headless__content__main__delegate.cc b/devel/electron33/files/patch-headless_lib_headless__content__main__delegate.cc new file mode 100644 index 000000000000..084ce61918c8 --- /dev/null +++ b/devel/electron33/files/patch-headless_lib_headless__content__main__delegate.cc @@ -0,0 +1,11 @@ +--- headless/lib/headless_content_main_delegate.cc.orig 2024-10-16 21:31:30 UTC ++++ headless/lib/headless_content_main_delegate.cc +@@ -406,7 +406,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( + if (process_type != ::switches::kZygoteProcess) { + g_headless_crash_client.Pointer()->set_crash_dumps_dir( + command_line.GetSwitchValuePath(switches::kCrashDumpsDir)); +-#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/devel/electron33/files/patch-ipc_ipc__channel.h b/devel/electron33/files/patch-ipc_ipc__channel.h new file mode 100644 index 000000000000..7404b35c1391 --- /dev/null +++ b/devel/electron33/files/patch-ipc_ipc__channel.h @@ -0,0 +1,11 @@ +--- ipc/ipc_channel.h.orig 2024-06-18 21:43:35 UTC ++++ ipc/ipc_channel.h +@@ -218,7 +218,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/devel/electron33/files/patch-ipc_ipc__channel__common.cc b/devel/electron33/files/patch-ipc_ipc__channel__common.cc new file mode 100644 index 000000000000..c68294ff75b0 --- /dev/null +++ b/devel/electron33/files/patch-ipc_ipc__channel__common.cc @@ -0,0 +1,11 @@ +--- ipc/ipc_channel_common.cc.orig 2023-02-01 18:43:22 UTC ++++ ipc/ipc_channel_common.cc +@@ -10,7 +10,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/devel/electron33/files/patch-ipc_ipc__channel__mojo.cc b/devel/electron33/files/patch-ipc_ipc__channel__mojo.cc new file mode 100644 index 000000000000..aad0bd25fa8f --- /dev/null +++ b/devel/electron33/files/patch-ipc_ipc__channel__mojo.cc @@ -0,0 +1,11 @@ +--- ipc/ipc_channel_mojo.cc.orig 2023-02-01 18:43:22 UTC ++++ ipc/ipc_channel_mojo.cc +@@ -105,7 +105,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/devel/electron33/files/patch-ipc_ipc__message__utils.cc b/devel/electron33/files/patch-ipc_ipc__message__utils.cc new file mode 100644 index 000000000000..a7ba7d0941da --- /dev/null +++ b/devel/electron33/files/patch-ipc_ipc__message__utils.cc @@ -0,0 +1,11 @@ +--- ipc/ipc_message_utils.cc.orig 2024-08-14 20:55:05 UTC ++++ ipc/ipc_message_utils.cc +@@ -400,7 +400,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/devel/electron33/files/patch-ipc_ipc__message__utils.h b/devel/electron33/files/patch-ipc_ipc__message__utils.h new file mode 100644 index 000000000000..0b1c49c55797 --- /dev/null +++ b/devel/electron33/files/patch-ipc_ipc__message__utils.h @@ -0,0 +1,11 @@ +--- ipc/ipc_message_utils.h.orig 2022-09-24 10:57:32 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/devel/electron33/files/patch-media_BUILD.gn b/devel/electron33/files/patch-media_BUILD.gn new file mode 100644 index 000000000000..9e6cc9722d3a --- /dev/null +++ b/devel/electron33/files/patch-media_BUILD.gn @@ -0,0 +1,12 @@ +--- media/BUILD.gn.orig 2024-10-16 21:31:33 UTC ++++ media/BUILD.gn +@@ -97,6 +97,9 @@ config("media_config") { + defines += [ "DLOPEN_PULSEAUDIO" ] + } + } ++ if (use_sndio) { ++ defines += [ "USE_SNDIO" ] ++ } + } + + # Internal grouping of the configs necessary to support sub-folders having their diff --git a/devel/electron33/files/patch-media_audio_BUILD.gn b/devel/electron33/files/patch-media_audio_BUILD.gn new file mode 100644 index 000000000000..62134c4d44f7 --- /dev/null +++ b/devel/electron33/files/patch-media_audio_BUILD.gn @@ -0,0 +1,27 @@ +--- media/audio/BUILD.gn.orig 2024-10-28 21:05:15 UTC ++++ media/audio/BUILD.gn +@@ -269,9 +269,23 @@ source_set("audio") { + deps += [ "//media/base/android:media_jni_headers" ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ "linux/audio_manager_linux.cc" ] + } ++ ++ if (is_bsd) { ++ sources += [ "sndio/audio_manager_sndio.cc" ] ++ } ++ ++ if (use_sndio) { ++ libs += [ "sndio" ] ++ sources += [ ++ "sndio/sndio_input.cc", ++ "sndio/sndio_input.h", ++ "sndio/sndio_output.cc", ++ "sndio/sndio_output.h" ++ ] ++ } + + if (use_alsa) { + libs += [ "asound" ] diff --git a/devel/electron33/files/patch-media_audio_alsa_audio__manager__alsa.cc b/devel/electron33/files/patch-media_audio_alsa_audio__manager__alsa.cc new file mode 100644 index 000000000000..52a1cecb35c1 --- /dev/null +++ b/devel/electron33/files/patch-media_audio_alsa_audio__manager__alsa.cc @@ -0,0 +1,54 @@ +--- media/audio/alsa/audio_manager_alsa.cc.orig 2024-10-16 21:31:33 UTC ++++ media/audio/alsa/audio_manager_alsa.cc +@@ -100,7 +100,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType + int card = -1; + + // Loop through the physical 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) { +@@ -112,7 +114,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, +@@ -195,7 +199,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; + } +@@ -247,7 +255,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++) { +@@ -271,7 +281,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/devel/electron33/files/patch-media_audio_audio__input__device.cc b/devel/electron33/files/patch-media_audio_audio__input__device.cc new file mode 100644 index 000000000000..1f9134a42439 --- /dev/null +++ b/devel/electron33/files/patch-media_audio_audio__input__device.cc @@ -0,0 +1,11 @@ +--- media/audio/audio_input_device.cc.orig 2024-10-16 21:31:33 UTC ++++ media/audio/audio_input_device.cc +@@ -269,7 +269,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/devel/electron33/files/patch-media_audio_audio__output__proxy__unittest.cc b/devel/electron33/files/patch-media_audio_audio__output__proxy__unittest.cc new file mode 100644 index 000000000000..09cfeab169e1 --- /dev/null +++ b/devel/electron33/files/patch-media_audio_audio__output__proxy__unittest.cc @@ -0,0 +1,14 @@ +--- media/audio/audio_output_proxy_unittest.cc.orig 2023-03-30 00:33:53 UTC ++++ media/audio/audio_output_proxy_unittest.cc +@@ -443,7 +443,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/devel/electron33/files/patch-media_audio_pulse_pulse__util.cc b/devel/electron33/files/patch-media_audio_pulse_pulse__util.cc new file mode 100644 index 000000000000..0924a8cc4a10 --- /dev/null +++ b/devel/electron33/files/patch-media_audio_pulse_pulse__util.cc @@ -0,0 +1,14 @@ +--- media/audio/pulse/pulse_util.cc.orig 2024-10-16 21:31:33 UTC ++++ media/audio/pulse/pulse_util.cc +@@ -50,7 +50,11 @@ static const base::FilePath::CharType kPulseLib[] = + + #if defined(DLOPEN_PULSEAUDIO) + static const base::FilePath::CharType kPulseLib[] = ++#if BUILDFLAG(IS_BSD) ++ FILE_PATH_LITERAL("libpulse.so"); ++#else + FILE_PATH_LITERAL("libpulse.so.0"); ++#endif + #endif + + void DestroyMainloop(pa_threaded_mainloop* mainloop) { diff --git a/devel/electron33/files/patch-media_audio_sndio_audio__manager__sndio.cc b/devel/electron33/files/patch-media_audio_sndio_audio__manager__sndio.cc new file mode 100644 index 000000000000..6e568a247cc9 --- /dev/null +++ b/devel/electron33/files/patch-media_audio_sndio_audio__manager__sndio.cc @@ -0,0 +1,216 @@ +--- media/audio/sndio/audio_manager_sndio.cc.orig 2024-08-30 11:30:12 UTC ++++ media/audio/sndio/audio_manager_sndio.cc +@@ -0,0 +1,213 @@ ++// 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 ++#if defined(USE_PULSEAUDIO) ++#include "media/audio/pulse/audio_manager_pulse.h" ++#include "media/audio/pulse/pulse_util.h" ++#endif ++#if defined(USE_ALSA) ++#include "media/audio/alsa/audio_manager_alsa.h" ++#endif ++#include "media/audio/fake_audio_manager.h" ++#include "media/base/limits.h" ++#include "media/base/media_switches.h" ++ ++namespace media { ++ ++#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, ChannelLayoutConfig::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; ++ ++ ChannelLayoutConfig channel_layout_config = ChannelLayoutConfig::Stereo(); ++ int sample_rate = kDefaultSampleRate; ++ int buffer_size = kDefaultOutputBufferSize; ++ if (input_params.IsValid()) { ++ sample_rate = input_params.sample_rate(); ++ channel_layout_config = input_params.channel_layout_config(); ++ 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_config, 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"; ++ ++ auto _ab = kAudioBackendParam.Get(); ++ ++ // For testing allow audio output to be disabled. ++ if (base::CommandLine::ForCurrentProcess()->HasSwitch( ++ switches::kDisableAudioOutput) || ++ !base::FeatureList::IsEnabled(media::kAudioBackend)) { ++ return std::make_unique<FakeAudioManager>(std::move(audio_thread), ++ audio_log_factory); ++ } ++ ++#if defined(USE_PULSEAUDIO) ++ pa_threaded_mainloop* pa_mainloop = nullptr; ++ pa_context* pa_context = nullptr; ++ if (_ab != AudioBackend::kSndio && _ab != AudioBackend::kAlsa && ++ pulse::InitPulse(&pa_mainloop, &pa_context)) { ++ return std::make_unique<AudioManagerPulse>( ++ std::move(audio_thread), audio_log_factory, pa_mainloop, pa_context); ++ } else if (_ab == AudioBackend::kAuto) { ++ LOG(WARNING) << "Falling back to SNDIO for audio output. PulseAudio is not " ++ "available or could not be initialized."; ++ } ++#endif ++ ++#if defined(USE_SNDIO) ++ if (_ab != AudioBackend::kPulseAudio && _ab != AudioBackend::kAlsa) { ++ return std::make_unique<AudioManagerSndio>(std::move(audio_thread), ++ audio_log_factory); ++ } else if (_ab == AudioBackend::kAuto) { ++ LOG(WARNING) << "Falling back to ALSA audio output. SNDIO is not " ++ "available or could not be initialized."; ++ } ++#endif ++ ++#if defined(USE_ALSA) ++ if (_ab != AudioBackend::kPulseAudio && _ab != AudioBackend::kSndio) { ++ return std::make_unique<AudioManagerAlsa>(std::move(audio_thread), ++ audio_log_factory); ++ } else if (_ab == AudioBackend::kAuto) { ++ LOG(WARNING) << "Falling back to fake audio output. ALSA is not " ++ "available or could not be initialized."; ++ } ++#endif ++ ++ return std::make_unique<FakeAudioManager>(std::move(audio_thread), ++ audio_log_factory); ++} ++ ++} // namespace media diff --git a/devel/electron33/files/patch-media_audio_sndio_audio__manager__sndio.h b/devel/electron33/files/patch-media_audio_sndio_audio__manager__sndio.h new file mode 100644 index 000000000000..33428cfc37d1 --- /dev/null +++ b/devel/electron33/files/patch-media_audio_sndio_audio__manager__sndio.h @@ -0,0 +1,69 @@ +--- media/audio/sndio/audio_manager_sndio.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-media_audio_sndio_sndio__input.cc b/devel/electron33/files/patch-media_audio_sndio_sndio__input.cc new file mode 100644 index 000000000000..f0c3135e90d2 --- /dev/null +++ b/devel/electron33/files/patch-media_audio_sndio_sndio__input.cc @@ -0,0 +1,203 @@ +--- media/audio/sndio/sndio_input.cc.orig 2023-06-07 04:52:29 UTC ++++ media/audio/sndio/sndio_input.cc +@@ -0,0 +1,200 @@ ++// 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/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/devel/electron33/files/patch-media_audio_sndio_sndio__input.h b/devel/electron33/files/patch-media_audio_sndio_sndio__input.h new file mode 100644 index 000000000000..b5684256703a --- /dev/null +++ b/devel/electron33/files/patch-media_audio_sndio_sndio__input.h @@ -0,0 +1,94 @@ +--- media/audio/sndio/sndio_input.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-media_audio_sndio_sndio__output.cc b/devel/electron33/files/patch-media_audio_sndio_sndio__output.cc new file mode 100644 index 000000000000..2672bf645702 --- /dev/null +++ b/devel/electron33/files/patch-media_audio_sndio_sndio__output.cc @@ -0,0 +1,190 @@ +--- media/audio/sndio/sndio_output.cc.orig 2023-02-15 13:09:00 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(), {}, 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/devel/electron33/files/patch-media_audio_sndio_sndio__output.h b/devel/electron33/files/patch-media_audio_sndio_sndio__output.h new file mode 100644 index 000000000000..bb8603b68d9c --- /dev/null +++ b/devel/electron33/files/patch-media_audio_sndio_sndio__output.h @@ -0,0 +1,91 @@ +--- media/audio/sndio/sndio_output.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-media_base_audio__latency.cc b/devel/electron33/files/patch-media_base_audio__latency.cc new file mode 100644 index 000000000000..5a5f37b3ef66 --- /dev/null +++ b/devel/electron33/files/patch-media_base_audio__latency.cc @@ -0,0 +1,11 @@ +--- media/base/audio_latency.cc.orig 2024-10-16 21:31:33 UTC ++++ media/base/audio_latency.cc +@@ -148,7 +148,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in + } + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ +- 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/devel/electron33/files/patch-media_base_libaom__thread__wrapper.cc b/devel/electron33/files/patch-media_base_libaom__thread__wrapper.cc new file mode 100644 index 000000000000..d08a8992857e --- /dev/null +++ b/devel/electron33/files/patch-media_base_libaom__thread__wrapper.cc @@ -0,0 +1,24 @@ +--- media/base/libaom_thread_wrapper.cc.orig 2024-04-15 20:34:00 UTC ++++ media/base/libaom_thread_wrapper.cc +@@ -5,17 +5,21 @@ + #include "base/logging.h" + #include "media/base/codec_worker_impl.h" + #include "media/base/libvpx_thread_wrapper.h" ++#if !BUILDFLAG(IS_BSD) + #include "third_party/libaom/source/libaom/aom_util/aom_thread.h" ++#endif + + namespace media { + + void InitLibAomThreadWrapper() { ++#if !BUILDFLAG(IS_BSD) + const AVxWorkerInterface interface = + CodecWorkerImpl<AVxWorkerInterface, AVxWorkerImpl, AVxWorker, + AVxWorkerStatus, AVX_WORKER_STATUS_NOT_OK, + AVX_WORKER_STATUS_OK, + AVX_WORKER_STATUS_WORKING>::GetCodecWorkerInterface(); + CHECK(aom_set_worker_interface(&interface)); ++#endif + } + + } // namespace media diff --git a/devel/electron33/files/patch-media_base_libvpx__thread__wrapper.cc b/devel/electron33/files/patch-media_base_libvpx__thread__wrapper.cc new file mode 100644 index 000000000000..db10f013d75d --- /dev/null +++ b/devel/electron33/files/patch-media_base_libvpx__thread__wrapper.cc @@ -0,0 +1,25 @@ +--- media/base/libvpx_thread_wrapper.cc.orig 2024-04-15 20:34:00 UTC ++++ media/base/libvpx_thread_wrapper.cc +@@ -5,11 +5,14 @@ + #include "media/base/libvpx_thread_wrapper.h" + + #include "media/base/codec_worker_impl.h" ++#if !BUILDFLAG(IS_OPENBSD) + #include "third_party/libvpx/source/libvpx/vpx_util/vpx_thread.h" ++#endif + + namespace media { + + void InitLibVpxThreadWrapper() { ++#if !BUILDFLAG(IS_OPENBSD) + const VPxWorkerInterface interface = + CodecWorkerImpl<VPxWorkerInterface, VPxWorkerImpl, VPxWorker, + VPxWorkerStatus, VPX_WORKER_STATUS_NOT_OK, +@@ -17,6 +20,7 @@ void InitLibVpxThreadWrapper() { + VPX_WORKER_STATUS_WORKING>::GetCodecWorkerInterface(); + + CHECK(vpx_set_worker_interface(&interface)); ++#endif + } + + } // namespace media diff --git a/devel/electron33/files/patch-media_base_media__switches.cc b/devel/electron33/files/patch-media_base_media__switches.cc new file mode 100644 index 000000000000..ee6082f260ee --- /dev/null +++ b/devel/electron33/files/patch-media_base_media__switches.cc @@ -0,0 +1,114 @@ +--- media/base/media_switches.cc.orig 2024-10-16 21:31:33 UTC ++++ media/base/media_switches.cc +@@ -21,7 +21,7 @@ + #include "ui/gl/gl_features.h" + #include "ui/gl/gl_utils.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/cpu.h" + #endif + +@@ -375,8 +375,8 @@ BASE_FEATURE(kUseSCContentSharingPicker, + "UseSCContentSharingPicker", + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_MAC) +- +-#if BUILDFLAG(IS_LINUX) ++ ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Enables system audio mirroring using pulseaudio. + BASE_FEATURE(kPulseaudioLoopbackForCast, + "PulseaudioLoopbackForCast", +@@ -386,6 +386,28 @@ BASE_FEATURE(kPulseaudioLoopbackForScreenShare, + BASE_FEATURE(kPulseaudioLoopbackForScreenShare, + "PulseaudioLoopbackForScreenShare", + base::FEATURE_DISABLED_BY_DEFAULT); ++ ++BASE_FEATURE(kAudioBackend, ++ "AudioBackend", ++ base::FEATURE_ENABLED_BY_DEFAULT); ++ ++constexpr base::FeatureParam<AudioBackend>::Option ++ kAudioBackendOptions[] = { ++ {AudioBackend::kAuto, ++ "auto"}, ++ {AudioBackend::kPulseAudio, "pulseaudio"}, ++ {AudioBackend::kSndio, "sndio"}, ++ {AudioBackend::kAlsa, "alsa"}}; ++ ++const base::FeatureParam<AudioBackend> ++ kAudioBackendParam{ ++ &kAudioBackend, "audio-backend", ++#if BUILDFLAG(IS_OPENBSD) ++ AudioBackend::kSndio, ++#elif BUILDFLAG(IS_FREEBSD) ++ AudioBackend::kAuto, ++#endif ++ &kAudioBackendOptions}; + #endif // BUILDFLAG(IS_LINUX) + + // When enabled, MediaCapabilities will check with GPU Video Accelerator +@@ -682,7 +704,7 @@ BASE_FEATURE(kGlobalMediaControls, + // Show toolbar button that opens dialog for controlling media sessions. + 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 +@@ -705,7 +727,7 @@ BASE_FEATURE(kMediaRemotingWithoutFullscreen, + // If enabled, users can request Media Remoting without fullscreen-in-tab. + BASE_FEATURE(kMediaRemotingWithoutFullscreen, + "MediaRemotingWithoutFullscreen", +-#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 +@@ -717,7 +739,7 @@ BASE_FEATURE(kGlobalMediaControlsPictureInPicture, + 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 +@@ -746,7 +768,7 @@ 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. + BASE_FEATURE(kVaapiVideoDecodeLinux, +@@ -846,7 +868,7 @@ BASE_FEATURE(kVSyncMjpegDecoding, + "VSyncMjpegDecoding", + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS) +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Enables the new V4L2StatefulVideoDecoder instead of V4L2VideoDecoder. + // Owners: frkoenig@chromium.org, mcasas@chromium.org + // Expiry: When the |V4L2FlatVideoDecoder| flag handles stateful decoding on +@@ -1479,7 +1501,7 @@ BASE_FEATURE(kUseGTFOOutOfProcessVideoDecoding, + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Spawn utility processes to perform hardware encode acceleration instead of + // using the GPU process. + BASE_FEATURE(kUseOutOfProcessVideoEncoding, +@@ -1559,7 +1581,7 @@ BASE_FEATURE(kRecordWebAudioEngagement, + "RecordWebAudioEngagement", + base::FEATURE_ENABLED_BY_DEFAULT); + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Reduces the number of buffers needed in the output video frame pool to + // populate the Renderer pipeline for hardware accelerated VideoDecoder in + // non-low latency scenarios. diff --git a/devel/electron33/files/patch-media_base_media__switches.h b/devel/electron33/files/patch-media_base_media__switches.h new file mode 100644 index 000000000000..d2c0af9bdb75 --- /dev/null +++ b/devel/electron33/files/patch-media_base_media__switches.h @@ -0,0 +1,57 @@ +--- media/base/media_switches.h.orig 2024-10-16 21:31:33 UTC ++++ media/base/media_switches.h +@@ -331,13 +331,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMetadataSusp + MEDIA_EXPORT BASE_DECLARE_FEATURE(kPlaybackSpeedButton); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMediaEngagementData); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMetadataSuspend); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + MEDIA_EXPORT BASE_DECLARE_FEATURE(kPulseaudioLoopbackForCast); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kPulseaudioLoopbackForScreenShare); ++ ++enum class AudioBackend { ++ kAuto, ++ kPulseAudio, ++ kSndio, ++ kAlsa ++}; ++ ++MEDIA_EXPORT BASE_DECLARE_FEATURE(kAudioBackend); ++MEDIA_EXPORT extern const base::FeatureParam< ++ AudioBackend> ++ kAudioBackendParam; + #endif // BUILDFLAG(IS_LINUX) + MEDIA_EXPORT BASE_DECLARE_FEATURE(kRecordMediaEngagementScores); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kRecordWebAudioEngagement); +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + MEDIA_EXPORT BASE_DECLARE_FEATURE(kReduceHardwareVideoDecoderBuffers); + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) + MEDIA_EXPORT BASE_DECLARE_FEATURE(kResumeBackgroundVideo); +@@ -352,7 +364,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseFakeDeviceForMed + MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAndroidOverlayForSecureOnly); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseDecoderStreamForWebRTC); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseFakeDeviceForMediaStream); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoDecodeLinux); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoDecodeLinuxGL); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVideoEncodeLinux); +@@ -373,7 +385,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVSyncMjpegDecoding) + MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp9SModeHWEncoding); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kVSyncMjpegDecoding); + #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS) +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2FlatStatefulVideoDecoder); + MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2H264TemporalLayerHWEncoding); + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +@@ -513,7 +525,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseGTFOOutOfProcess + MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseGTFOOutOfProcessVideoDecoding); + #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoEncoding); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + diff --git a/devel/electron33/files/patch-media_base_user__input__monitor__unittest.cc b/devel/electron33/files/patch-media_base_user__input__monitor__unittest.cc new file mode 100644 index 000000000000..15d4c34336ae --- /dev/null +++ b/devel/electron33/files/patch-media_base_user__input__monitor__unittest.cc @@ -0,0 +1,29 @@ +--- media/base/user_input_monitor_unittest.cc.orig 2023-02-01 18:43:22 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 +@@ -72,7 +72,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/devel/electron33/files/patch-media_base_video__frame.cc b/devel/electron33/files/patch-media_base_video__frame.cc new file mode 100644 index 000000000000..460c8b8a4133 --- /dev/null +++ b/devel/electron33/files/patch-media_base_video__frame.cc @@ -0,0 +1,47 @@ +--- media/base/video_frame.cc.orig 2024-10-16 21:31:33 UTC ++++ media/base/video_frame.cc +@@ -88,7 +88,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 +@@ -103,7 +103,7 @@ bool VideoFrame::IsStorageTypeMappable(VideoFrame::Sto + // 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 && +@@ -401,7 +401,7 @@ VideoFrame::CreateFrameForGpuMemoryBufferOrMappableSII + : shared_image->GetStrideForVideoFrame(i); + } + uint64_t modifier = gfx::NativePixmapHandle::kNoModifier; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool is_native_buffer = + gpu_memory_buffer + ? (gpu_memory_buffer->GetType() != gfx::SHARED_MEMORY_BUFFER) +@@ -782,7 +782,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, +@@ -1489,7 +1489,7 @@ scoped_refptr<gpu::ClientSharedImage> VideoFrame::shar + return wrapped_frame_ ? wrapped_frame_->shared_image() : shared_image_; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + size_t VideoFrame::NumDmabufFds() const { + if (wrapped_frame_) { + return wrapped_frame_->NumDmabufFds(); diff --git a/devel/electron33/files/patch-media_base_video__frame.h b/devel/electron33/files/patch-media_base_video__frame.h new file mode 100644 index 000000000000..7a57b1a3c67e --- /dev/null +++ b/devel/electron33/files/patch-media_base_video__frame.h @@ -0,0 +1,47 @@ +--- media/base/video_frame.h.orig 2024-10-16 21:31:33 UTC ++++ media/base/video_frame.h +@@ -50,7 +50,7 @@ + #include "base/apple/scoped_cftyperef.h" + #endif // BUILDFLAG(IS_APPLE) + +-#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) + +@@ -116,7 +116,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 read-only 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 +@@ -393,7 +393,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 +@@ -711,7 +711,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + // wait for the included sync point. + scoped_refptr<gpu::ClientSharedImage> shared_image() const; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The number of 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 + // remaining planes. Should be > 0 for STORAGE_DMABUFS. +@@ -953,7 +953,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + // GpuMemoryBuffers. Clients will set this flag while creating a VideoFrame. + bool is_mappable_si_enabled_ = false; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + // Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either + // equal or less than the number of planes of the frame. If it is less, then diff --git a/devel/electron33/files/patch-media_capture_video_create__video__capture__device__factory.cc b/devel/electron33/files/patch-media_capture_video_create__video__capture__device__factory.cc new file mode 100644 index 000000000000..d6dc7e2bf5ec --- /dev/null +++ b/devel/electron33/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 2023-03-30 00:33:53 UTC ++++ media/capture/video/create_video_capture_device_factory.cc +@@ -13,7 +13,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" +@@ -56,7 +56,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/devel/electron33/files/patch-media_capture_video_fake__video__capture__device__factory.cc b/devel/electron33/files/patch-media_capture_video_fake__video__capture__device__factory.cc new file mode 100644 index 000000000000..b610d6a77eac --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:35 UTC ++++ media/capture/video/fake_video_capture_device_factory.cc +@@ -231,7 +231,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_IOS) + VideoCaptureApi::UNKNOWN; diff --git a/devel/electron33/files/patch-media_capture_video_file__video__capture__device__factory.cc b/devel/electron33/files/patch-media_capture_video_file__video__capture__device__factory.cc new file mode 100644 index 000000000000..91bf3d7255cc --- /dev/null +++ b/devel/electron33/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-02-28 16:54:41 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/devel/electron33/files/patch-media_capture_video_linux_fake__v4l2__impl.cc b/devel/electron33/files/patch-media_capture_video_linux_fake__v4l2__impl.cc new file mode 100644 index 000000000000..ab945731ae3e --- /dev/null +++ b/devel/electron33/files/patch-media_capture_video_linux_fake__v4l2__impl.cc @@ -0,0 +1,11 @@ +--- media/capture/video/linux/fake_v4l2_impl.cc.orig 2024-04-15 20:34:01 UTC ++++ media/capture/video/linux/fake_v4l2_impl.cc +@@ -562,7 +562,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/devel/electron33/files/patch-media_capture_video_linux_fake__v4l2__impl.h b/devel/electron33/files/patch-media_capture_video_linux_fake__v4l2__impl.h new file mode 100644 index 000000000000..ce6bba028f1c --- /dev/null +++ b/devel/electron33/files/patch-media_capture_video_linux_fake__v4l2__impl.h @@ -0,0 +1,25 @@ +--- media/capture/video/linux/fake_v4l2_impl.h.orig 2023-10-19 19:58:26 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" +@@ -38,7 +44,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/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc new file mode 100644 index 000000000000..d33b05aa7def --- /dev/null +++ b/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc @@ -0,0 +1,156 @@ +--- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2024-10-16 21:31:33 UTC ++++ media/capture/video/linux/v4l2_capture_delegate.cc +@@ -5,8 +5,10 @@ + #include "media/capture/video/linux/v4l2_capture_delegate.h" + + #include <fcntl.h> ++#if !BUILDFLAG(IS_BSD) + #include <linux/version.h> + #include <linux/videodev2.h> ++#endif + #include <poll.h> + #include <sys/ioctl.h> + #include <sys/mman.h> +@@ -29,17 +31,19 @@ + #include "media/capture/video/blob_utils.h" + #include "media/capture/video/linux/video_capture_device_linux.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "media/capture/capture_switches.h" + #include "media/capture/video/linux/v4l2_capture_delegate_gpu_helper.h" + #endif // BUILDFLAG(IS_LINUX) + + using media::mojom::MeteringMode; + ++#if !BUILDFLAG(IS_BSD) + #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. +@@ -49,6 +53,14 @@ using media::mojom::MeteringMode; + #define V4L2_PIX_FMT_INVZ v4l2_fourcc('I', 'N', 'V', 'Z') + #endif + ++#ifndef V4L2_COLORSPACE_OPRGB ++#define V4L2_COLORSPACE_OPRGB V4L2_COLORSPACE_ADOBERGB ++#endif ++ ++#ifndef V4L2_XFER_FUNC_OPRGB ++#define V4L2_XFER_FUNC_OPRGB V4L2_XFER_FUNC_ADOBERGB ++#endif ++ + namespace media { + + namespace { +@@ -268,7 +280,7 @@ bool V4L2CaptureDelegate::IsControllableControl( + // static + bool V4L2CaptureDelegate::IsControllableControl( + int control_id, +- const base::RepeatingCallback<int(int, void*)>& do_ioctl) { ++ const base::RepeatingCallback<int(unsigned int, void*)>& do_ioctl) { + const int special_control_id = GetControllingSpecialControl(control_id); + if (!special_control_id) { + // The control is not controlled by a special control thus the control is +@@ -324,7 +336,7 @@ V4L2CaptureDelegate::V4L2CaptureDelegate( + is_capturing_(false), + timeout_count_(0), + rotation_(rotation) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + use_gpu_buffer_ = switches::IsVideoCaptureUseGpuMemoryBufferEnabled(); + #endif // BUILDFLAG(IS_LINUX) + } +@@ -451,7 +463,7 @@ void V4L2CaptureDelegate::AllocateAndStart( + + client_->OnStarted(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (use_gpu_buffer_) { + v4l2_gpu_helper_ = std::make_unique<V4L2CaptureDelegateGpuHelper>( + std::move(gmb_support_test_)); +@@ -801,7 +813,7 @@ V4L2CaptureDelegate::~V4L2CaptureDelegate() = default; + + 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) { +@@ -811,7 +823,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)); + } + +@@ -822,6 +834,7 @@ void V4L2CaptureDelegate::ReplaceControlEventSubscript + } + + void V4L2CaptureDelegate::ReplaceControlEventSubscriptions() { ++#if !BUILDFLAG(IS_BSD) + constexpr uint32_t kControlIds[] = {V4L2_CID_AUTO_EXPOSURE_BIAS, + V4L2_CID_AUTO_WHITE_BALANCE, + V4L2_CID_BRIGHTNESS, +@@ -849,6 +862,7 @@ void V4L2CaptureDelegate::ReplaceControlEventSubscript + << ", {type = V4L2_EVENT_CTRL, id = " << control_id << "}"; + } + } ++#endif + } + + mojom::RangePtr V4L2CaptureDelegate::RetrieveUserControlRange(int control_id) { +@@ -1029,7 +1043,11 @@ void V4L2CaptureDelegate::DoCapture() { + + pollfd device_pfd = {}; + device_pfd.fd = device_fd_.get(); ++#if !BUILDFLAG(IS_BSD) + device_pfd.events = POLLIN | POLLPRI; ++#else ++ device_pfd.events = POLLIN; ++#endif + + const int result = + HANDLE_EINTR(v4l2_->poll(&device_pfd, 1, kCaptureTimeoutMs)); +@@ -1067,6 +1085,7 @@ void V4L2CaptureDelegate::DoCapture() { + timeout_count_ = 0; + } + ++#if !BUILDFLAG(IS_BSD) + // Dequeue events if the driver has filled in some. + if (device_pfd.revents & POLLPRI) { + bool controls_changed = false; +@@ -1102,6 +1121,7 @@ void V4L2CaptureDelegate::DoCapture() { + client_->OnCaptureConfigurationChanged(); + } + } ++#endif + + // Deenqueue, send and reenqueue a buffer if the driver has filled one in. + if (device_pfd.revents & POLLIN) { +@@ -1155,7 +1175,7 @@ void V4L2CaptureDelegate::DoCapture() { + // workable on Linux. + + // See http://crbug.com/959919. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (use_gpu_buffer_) { + v4l2_gpu_helper_->OnIncomingCapturedData( + client_.get(), buffer_tracker->start(), +@@ -1228,7 +1248,7 @@ void V4L2CaptureDelegate::SetErrorState(VideoCaptureEr + client_->OnError(error, from_here, reason); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + gfx::ColorSpace V4L2CaptureDelegate::BuildColorSpaceFromv4l2() { + v4l2_colorspace v4l2_primary = (v4l2_colorspace)video_fmt_.fmt.pix.colorspace; + v4l2_quantization v4l2_range = diff --git a/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__delegate.h b/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__delegate.h new file mode 100644 index 000000000000..3adf1ccdcb47 --- /dev/null +++ b/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__delegate.h @@ -0,0 +1,51 @@ +--- media/capture/video/linux/v4l2_capture_delegate.h.orig 2023-10-19 19:58:26 UTC ++++ media/capture/video/linux/v4l2_capture_delegate.h +@@ -35,7 +35,7 @@ class Location; + + namespace media { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + class V4L2CaptureDelegateGpuHelper; + #endif // BUILDFLAG(IS_LINUX) + +@@ -86,7 +86,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { + static bool IsBlockedControl(int control_id); + static bool IsControllableControl( + int control_id, +- const base::RepeatingCallback<int(int, void*)>& do_ioctl); ++ const base::RepeatingCallback<int(unsigned int, void*)>& do_ioctl); + + void SetGPUEnvironmentForTesting( + std::unique_ptr<gpu::GpuMemoryBufferSupport> gmb_support); +@@ -100,10 +100,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); + + // Check whether the control is controllable (and not changed automatically). + bool IsControllableControl(int control_id); +@@ -133,7 +133,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { + const base::Location& from_here, + const std::string& reason); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Systems which describe a "color space" usually map that to one or more of + // {primary, matrix, transfer, range}. BuildColorSpaceFromv4l2() will use the + // matched value as first priority. Otherwise, if there is no best matching +@@ -167,7 +167,7 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { + // Clockwise rotation in degrees. This value should be 0, 90, 180, or 270. + int rotation_; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Support GPU memory buffer. + bool use_gpu_buffer_; + std::unique_ptr<V4L2CaptureDelegateGpuHelper> v4l2_gpu_helper_; diff --git a/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__device.h b/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__device.h new file mode 100644 index 000000000000..cbba776523a9 --- /dev/null +++ b/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__device.h @@ -0,0 +1,11 @@ +--- media/capture/video/linux/v4l2_capture_device.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc b/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc new file mode 100644 index 000000000000..902427b862a2 --- /dev/null +++ b/devel/electron33/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-02-07 13:39:41 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/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h b/devel/electron33/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h new file mode 100644 index 000000000000..21a77244eca8 --- /dev/null +++ b/devel/electron33/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-02-07 13:39:41 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/devel/electron33/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc b/devel/electron33/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc new file mode 100644 index 000000000000..4130eb82441b --- /dev/null +++ b/devel/electron33/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.cc @@ -0,0 +1,71 @@ +--- media/capture/video/linux/video_capture_device_factory_v4l2.cc.orig 2024-04-15 20:34:01 UTC ++++ media/capture/video/linux/video_capture_device_factory_v4l2.cc +@@ -38,6 +38,7 @@ bool CompareCaptureDevices(const VideoCaptureDeviceInf + return a.descriptor < b.descriptor; + } + ++#if !BUILDFLAG(IS_OPENBSD) + // USB VID and PID are both 4 bytes long. + const size_t kVidPidSize = 4; + const size_t kMaxInterfaceNameSize = 256; +@@ -70,11 +71,15 @@ std::string ExtractFileNameFromDeviceId(const std::str + DCHECK(base::StartsWith(device_id, kDevDir, base::CompareCase::SENSITIVE)); + return device_id.substr(strlen(kDevDir), device_id.length()); + } ++#endif + + class DevVideoFilePathsDeviceProvider + : public VideoCaptureDeviceFactoryV4L2::DeviceProvider { + public: + void GetDeviceIds(std::vector<std::string>* target_container) override { ++#if BUILDFLAG(IS_OPENBSD) ++ target_container->emplace_back("/dev/video"); ++#else + const base::FilePath path("/dev/"); + base::FileEnumerator enumerator(path, false, base::FileEnumerator::FILES, + "video*"); +@@ -82,9 +87,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 BUILDFLAG(IS_OPENBSD) ++ return std::string(); ++#else + const std::string file_name = ExtractFileNameFromDeviceId(device_id); + std::string usb_id; + const std::string vid_path = +@@ -101,9 +110,13 @@ class DevVideoFilePathsDeviceProvider + } + + return usb_id; ++#endif + } + + std::string GetDeviceDisplayName(const std::string& device_id) override { ++#if BUILDFLAG(IS_OPENBSD) ++ return std::string(); ++#else + const std::string file_name = ExtractFileNameFromDeviceId(device_id); + const std::string interface_path = + base::StringPrintf(kInterfacePathTemplate, file_name.c_str()); +@@ -114,6 +127,7 @@ class DevVideoFilePathsDeviceProvider + return std::string(); + } + return display_name; ++#endif + } + }; + +@@ -219,7 +233,7 @@ void VideoCaptureDeviceFactoryV4L2::GetDevicesInfo( + std::move(callback).Run(std::move(devices_info)); + } + +-int VideoCaptureDeviceFactoryV4L2::DoIoctl(int fd, int request, void* argp) { ++int VideoCaptureDeviceFactoryV4L2::DoIoctl(int fd, unsigned int request, void* argp) { + return HANDLE_EINTR(v4l2_->ioctl(fd, request, argp)); + } + diff --git a/devel/electron33/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h b/devel/electron33/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h new file mode 100644 index 000000000000..892b5de1714d --- /dev/null +++ b/devel/electron33/files/patch-media_capture_video_linux_video__capture__device__factory__v4l2.h @@ -0,0 +1,11 @@ +--- media/capture/video/linux/video_capture_device_factory_v4l2.h.orig 2023-03-30 00:33:53 UTC ++++ media/capture/video/linux/video_capture_device_factory_v4l2.h +@@ -51,7 +51,7 @@ class CAPTURE_EXPORT VideoCaptureDeviceFactoryV4L2 + + 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/devel/electron33/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc b/devel/electron33/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc new file mode 100644 index 000000000000..1a1f895f2805 --- /dev/null +++ b/devel/electron33/files/patch-media_capture_video_video__capture__buffer__tracker__factory__impl.cc @@ -0,0 +1,20 @@ +--- media/capture/video/video_capture_buffer_tracker_factory_impl.cc.orig 2023-11-29 21:40:06 UTC ++++ media/capture/video/video_capture_buffer_tracker_factory_impl.cc +@@ -14,7 +14,7 @@ + #include "media/capture/video/chromeos/gpu_memory_buffer_tracker_cros.h" + #elif BUILDFLAG(IS_APPLE) + #include "media/capture/video/apple/gpu_memory_buffer_tracker_apple.h" +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "media/capture/video/linux/v4l2_gpu_memory_buffer_tracker.h" + #elif BUILDFLAG(IS_WIN) + #include "media/capture/video/win/gpu_memory_buffer_tracker_win.h" +@@ -42,7 +42,7 @@ VideoCaptureBufferTrackerFactoryImpl::CreateTracker( + return std::make_unique<GpuMemoryBufferTrackerCros>(); + #elif BUILDFLAG(IS_APPLE) + return std::make_unique<GpuMemoryBufferTrackerApple>(); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return std::make_unique<V4L2GpuMemoryBufferTracker>(); + #elif BUILDFLAG(IS_WIN) + if (!dxgi_device_manager_) { diff --git a/devel/electron33/files/patch-media_capture_video_video__capture__device__client.cc b/devel/electron33/files/patch-media_capture_video_video__capture__device__client.cc new file mode 100644 index 000000000000..cab7750bd72a --- /dev/null +++ b/devel/electron33/files/patch-media_capture_video_video__capture__device__client.cc @@ -0,0 +1,11 @@ +--- media/capture/video/video_capture_device_client.cc.orig 2024-10-16 21:31:33 UTC ++++ media/capture/video/video_capture_device_client.cc +@@ -169,7 +169,7 @@ FourccAndFlip GetFourccAndFlipFromPixelFormat( + CHECK(!is_width_odd && !is_height_odd); + return {libyuv::FOURCC_UYVY}; + case media::PIXEL_FORMAT_RGB24: +- if constexpr (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) { ++ if constexpr (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) { + // Linux RGB24 defines red at lowest byte address, + // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html. + return {libyuv::FOURCC_RAW}; diff --git a/devel/electron33/files/patch-media_cdm_cdm__paths__unittest.cc b/devel/electron33/files/patch-media_cdm_cdm__paths__unittest.cc new file mode 100644 index 000000000000..e225b2ebe8c7 --- /dev/null +++ b/devel/electron33/files/patch-media_cdm_cdm__paths__unittest.cc @@ -0,0 +1,11 @@ +--- media/cdm/cdm_paths_unittest.cc.orig 2022-10-24 13:33:33 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"; + #elif BUILDFLAG(IS_FUCHSIA) + "fuchsia"; diff --git a/devel/electron33/files/patch-media_cdm_library__cdm_cdm__paths.gni b/devel/electron33/files/patch-media_cdm_library__cdm_cdm__paths.gni new file mode 100644 index 000000000000..37e25e725134 --- /dev/null +++ b/devel/electron33/files/patch-media_cdm_library__cdm_cdm__paths.gni @@ -0,0 +1,11 @@ +--- media/cdm/library_cdm/cdm_paths.gni.orig 2023-10-19 19:58:27 UTC ++++ media/cdm/library_cdm/cdm_paths.gni +@@ -15,7 +15,7 @@ assert(enable_library_cdms) + # Explicitly define what we use to avoid confusion. + if (is_chromeos) { + component_os = "cros" +-} else if (is_linux) { ++} else if (is_linux || is_bsd) { + component_os = "linux" + } else if (is_win) { + component_os = "win" diff --git a/devel/electron33/files/patch-media_ffmpeg_scripts_build__ffmpeg.py b/devel/electron33/files/patch-media_ffmpeg_scripts_build__ffmpeg.py new file mode 100644 index 000000000000..c9a657c4a668 --- /dev/null +++ b/devel/electron33/files/patch-media_ffmpeg_scripts_build__ffmpeg.py @@ -0,0 +1,66 @@ +--- media/ffmpeg/scripts/build_ffmpeg.py.orig 2024-08-14 20:55:06 UTC ++++ media/ffmpeg/scripts/build_ffmpeg.py +@@ -33,7 +33,7 @@ sys.path.append(os.path.join(CHROMIUM_ROOT_DIR, 'build + SUCCESS_TOKEN = 'THIS_BUILD_WORKED' + + sys.path.append(os.path.join(CHROMIUM_ROOT_DIR, 'build')) +-import gn_helpers ++#import gn_helpers + + BRANDINGS = [ + 'Chrome', +@@ -43,6 +43,8 @@ ARCH_MAP = { + ARCH_MAP = { + 'android': ['ia32', 'x64', 'arm-neon', 'arm64'], + 'linux': ['ia32', 'x64', 'noasm-x64', 'arm', 'arm-neon', 'arm64'], ++ 'openbsd': ['x64', 'arm64', 'ia32'], ++ 'freebsd': ['x64', 'arm64', 'ia32'], + 'mac': ['x64', 'arm64'], + 'win': ['ia32', 'x64', 'arm64'], + } +@@ -122,7 +124,7 @@ def GetDsoName(target_os, dso_name, dso_version): + + + def GetDsoName(target_os, dso_name, dso_version): +- if target_os in ('linux', 'linux-noasm', 'android'): ++ if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'): + return 'lib%s.so.%s' % (dso_name, dso_version) + elif target_os == 'mac': + return 'lib%s.%s.dylib' % (dso_name, dso_version) +@@ -475,7 +477,7 @@ def BuildFFmpeg(target_os, target_arch, host_os, host_ + # removing <sys/sysctl.h> soon, so this is needed to silence a deprecation + # #warning which will be converted to an error via -Werror. + # There is also no prctl.h +- if target_os in ['linux', 'linux-noasm']: ++ if target_os in ['linux', 'linux-noasm', 'openbsd', 'freebsd']: + pre_make_rewrites += [ + (r'(#define HAVE_SYSCTL [01])', + r'#define HAVE_SYSCTL 0 /* \1 -- forced to 0 for Fuchsia */'), +@@ -598,7 +600,7 @@ def main(argv): + configure_args = args[2:] + + if target_os not in ('android', 'linux', 'linux-noasm', 'mac', 'win', +- 'all'): ++ 'all', 'openbsd', 'freebsd'): + parser.print_help() + return 1 + +@@ -712,7 +714,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os, + '--optflags="-O2"', + ]) + +- if target_os in ('linux', 'linux-noasm', 'android'): ++ if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'): + if target_arch == 'x64': + if target_os == 'android': + configure_flags['Common'].extend([ +@@ -827,9 +829,6 @@ def ConfigureAndBuild(target_arch, target_os, host_os, + + configure_flags['Common'].extend([ + '--target-os=linux', +- '--sysroot=' + +- os.path.join(CHROMIUM_ROOT_DIR, +- 'build/linux/debian_bullseye_arm64-sysroot'), + # See crbug.com/1467681. These could be removed eventually + '--disable-dotprod', + '--disable-i8mm', diff --git a/devel/electron33/files/patch-media_ffmpeg_scripts_robo__lib_config.py b/devel/electron33/files/patch-media_ffmpeg_scripts_robo__lib_config.py new file mode 100644 index 000000000000..fa3cfeb2da50 --- /dev/null +++ b/devel/electron33/files/patch-media_ffmpeg_scripts_robo__lib_config.py @@ -0,0 +1,56 @@ +--- media/ffmpeg/scripts/robo_lib/config.py.orig 2024-06-18 21:43:35 UTC ++++ media/ffmpeg/scripts/robo_lib/config.py +@@ -55,19 +55,13 @@ class RoboConfiguration: + self._llvm_path = os.path.join(self.chrome_src(), "third_party", + "llvm-build", "Release+Asserts", "bin") + +- self.EnsurePathContainsLLVM() +- self.EnsureNoMakeInfo() + self.EnsureFFmpegHome() + self.EnsureGNConfig() +- self.ComputeBranchName() + + if not quiet: + shell.log(f"Using chrome src: {self.chrome_src()}") + shell.log(f"Using script dir: {self._script_directory}") + shell.log(f"Using ffmpeg home: {self.ffmpeg_home()}") +- shell.log(f"On branch: {self.branch_name()}") +- if self.sushi_branch_name(): +- shell.log(f"On sushi branch: {self.sushi_branch_name()}") + + # Filename that we'll ask generate_gn.py to write git commands to. + # TODO: Should this use script_directory, or stay with ffmpeg? As long as +@@ -186,9 +180,9 @@ class RoboConfiguration: + + if re.match(r"i.86", platform.machine()): + self._host_architecture = "ia32" +- elif platform.machine() == "x86_64" or platform.machine() == "AMD64": ++ elif platform.machine() == "x86_64" or platform.machine() == "AMD64" or platform.machine() == "amd64": + self._host_architecture = "x64" +- elif platform.machine() == "aarch64": ++ elif platform.machine() == "aarch64" or platform.machine() == "arm64": + self._host_architecture = "arm64" + elif platform.machine() == "mips32": + self._host_architecture = "mipsel" +@@ -223,6 +217,10 @@ class RoboConfiguration: + elif platform.system() == "Windows" or "CYGWIN_NT" in platform.system( + ): + self._host_operating_system = "win" ++ elif platform.system() == "OpenBSD": ++ self._host_operating_system = "openbsd" ++ elif platform.system() == "FreeBSD": ++ self._host_operating_system = "freebsd" + else: + raise ValueError(f"Unsupported platform: {platform.system()}") + +@@ -231,8 +229,8 @@ class RoboConfiguration: + wd = os.getcwd() + # Walk up the tree until we find src/AUTHORS + while wd != "/": +- if os.path.isfile(os.path.join(wd, "src", "AUTHORS")): +- self._chrome_src = os.path.join(wd, "src") ++ if os.path.isfile(os.path.join(wd, "third_party", "DEPS")): ++ self._chrome_src = wd + return + wd = os.path.dirname(wd) + raise Exception("could not find src/AUTHORS in any parent of the wd") diff --git a/devel/electron33/files/patch-media_gpu_buffer__validation.cc b/devel/electron33/files/patch-media_gpu_buffer__validation.cc new file mode 100644 index 000000000000..3f4d75dea598 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_buffer__validation.cc @@ -0,0 +1,46 @@ +--- media/gpu/buffer_validation.cc.orig 2024-02-21 00:20:49 UTC ++++ media/gpu/buffer_validation.cc +@@ -16,7 +16,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 <drm_fourcc.h> + #include <sys/types.h> + #include <unistd.h> +@@ -29,7 +29,7 @@ namespace { + namespace media { + + namespace { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #ifndef I915_FORMAT_MOD_4_TILED_MTL_MC_CCS + // TODO(b/271455200): Remove this definition once drm_fourcc.h contains it. + /* +@@ -55,7 +55,7 @@ bool GetFileSize(const int fd, size_t* size) { + } // namespace + + 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; +@@ -109,14 +109,14 @@ 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 uint64_t modifier = gmb_handle.native_pixmap_handle.modifier; + const bool is_intel_media_compressed_buffer = + IsIntelMediaCompressedModifier(modifier); + const bool is_intel_media_compression_enabled = + #if BUILDFLAG(IS_CHROMEOS) + base::FeatureList::IsEnabled(features::kEnableIntelMediaCompression); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + false; + #endif + diff --git a/devel/electron33/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc b/devel/electron33/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc new file mode 100644 index 000000000000..a6b9c99f8ca8 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_chromeos_gl__image__processor__backend.cc @@ -0,0 +1,13 @@ +--- media/gpu/chromeos/gl_image_processor_backend.cc.orig 2024-06-18 21:43:35 UTC ++++ media/gpu/chromeos/gl_image_processor_backend.cc +@@ -28,6 +28,10 @@ + #include "ui/ozone/public/ozone_platform.h" + #include "ui/ozone/public/surface_factory_ozone.h" + ++#ifndef GL_CONTEXT_LOST_KHR ++#define GL_CONTEXT_LOST_KHR 0x0507 ++#endif ++ + namespace media { + + namespace { diff --git a/devel/electron33/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc b/devel/electron33/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc new file mode 100644 index 000000000000..fa33337162e4 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_chromeos_libyuv__image__processor__backend.cc @@ -0,0 +1,29 @@ +--- media/gpu/chromeos/libyuv_image_processor_backend.cc.orig 2024-10-16 21:31:33 UTC ++++ media/gpu/chromeos/libyuv_image_processor_backend.cc +@@ -53,7 +53,7 @@ static constexpr struct { + #define CONV(in, out, trans, result) \ + {Fourcc::in, Fourcc::out, Transform::trans, SupportResult::result} + // Conversion. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + CONV(NV12, AR24, kConversion, Supported), + #endif + CONV(NV12, NV12, kConversion, Supported), +@@ -420,7 +420,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr + fr->GetWritableVisibleData(VideoFrame::Plane::kUV)), \ + fr->stride(VideoFrame::Plane::kUV) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #define ARGB_DATA(fr) \ + fr->GetWritableVisibleData(VideoFrame::Plane::kARGB), \ + fr->stride(VideoFrame::Plane::kARGB) +@@ -582,7 +582,7 @@ int LibYUVImageProcessorBackend::DoConversion(const Fr + } + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (output->format() == PIXEL_FORMAT_ARGB) { + if (input_config_.fourcc == Fourcc(Fourcc::NV12)) { + return LIBYUV_FUNC(NV12ToARGB, Y_UV_DATA(input), diff --git a/devel/electron33/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc b/devel/electron33/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc new file mode 100644 index 000000000000..cefe8fb205bc --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_chromeos_mailbox__video__frame__converter.cc @@ -0,0 +1,11 @@ +--- media/gpu/chromeos/mailbox_video_frame_converter.cc.orig 2024-10-16 21:31:33 UTC ++++ media/gpu/chromeos/mailbox_video_frame_converter.cc +@@ -67,7 +67,7 @@ viz::SharedImageFormat GetSharedImageFormat(gfx::Buffe + << static_cast<int>(buffer_format); + NOTREACHED(); + } +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // If format is true multiplanar format, we prefer external sampler on + // ChromeOS and Linux. + if (format.is_multi_plane()) { diff --git a/devel/electron33/files/patch-media_gpu_chromeos_native__pixmap__frame__resource.cc b/devel/electron33/files/patch-media_gpu_chromeos_native__pixmap__frame__resource.cc new file mode 100644 index 000000000000..a27424421cc4 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_chromeos_native__pixmap__frame__resource.cc @@ -0,0 +1,11 @@ +--- media/gpu/chromeos/native_pixmap_frame_resource.cc.orig 2024-08-14 20:55:06 UTC ++++ media/gpu/chromeos/native_pixmap_frame_resource.cc +@@ -176,7 +176,7 @@ scoped_refptr<NativePixmapFrameResource> NativePixmapF + const bool is_intel_media_compression_enabled = + #if BUILDFLAG(IS_CHROMEOS) + base::FeatureList::IsEnabled(features::kEnableIntelMediaCompression); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + false; + #endif + CHECK(!is_intel_media_compressed_buffer || diff --git a/devel/electron33/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc b/devel/electron33/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc new file mode 100644 index 000000000000..763b6ca68fb4 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_chromeos_platform__video__frame__utils.cc @@ -0,0 +1,29 @@ +--- media/gpu/chromeos/platform_video_frame_utils.cc.orig 2024-06-18 21:43:35 UTC ++++ media/gpu/chromeos/platform_video_frame_utils.cc +@@ -68,7 +68,7 @@ static std::unique_ptr<ui::GbmDevice> CreateGbmDevice( + const base::FilePath dev_path(FILE_PATH_LITERAL( + base::StrCat({drm_node_file_prefix, base::NumberToString(i)}))); + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) + const bool is_render_node = base::Contains(drm_node_file_prefix, "render"); + + // TODO(b/313513760): don't guard base::File::FLAG_WRITE behind +@@ -196,7 +196,7 @@ class GbmDeviceWrapper { + const bool is_intel_media_compression_enabled = + #if BUILDFLAG(IS_CHROMEOS) + base::FeatureList::IsEnabled(features::kEnableIntelMediaCompression); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + false; + #endif + if (is_intel_media_compression_enabled) { +@@ -350,7 +350,7 @@ scoped_refptr<VideoFrame> CreateVideoFrameFromGpuMemor + const bool is_intel_media_compression_enabled = + #if BUILDFLAG(IS_CHROMEOS) + base::FeatureList::IsEnabled(features::kEnableIntelMediaCompression); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + false; + #endif + diff --git a/devel/electron33/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc b/devel/electron33/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc new file mode 100644 index 000000000000..7dfe6950d27c --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc @@ -0,0 +1,29 @@ +--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2024-08-14 20:55:06 UTC ++++ media/gpu/chromeos/video_decoder_pipeline.cc +@@ -1096,7 +1096,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( + } + #endif + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_VAAPI) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_VAAPI) + // Linux should always use a custom allocator (to allocate buffers using + // libva) and a PlatformVideoFramePool. + CHECK(allocator.has_value()); +@@ -1105,7 +1105,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( + // VideoFrame::StorageType of VideoFrame::STORAGE_DMABUFS. + main_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator( + *allocator, VideoFrame::STORAGE_DMABUFS); +-#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) + // Linux w/ V4L2 should not use a custom allocator + // Only tested with video_decode_accelerator_tests + // TODO(wenst@) Test with full Chromium Browser +@@ -1287,7 +1287,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( + << " VideoFrames"; + auxiliary_frame_pool_->set_parent_task_runner(decoder_task_runner_); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // The custom allocator creates frames backed by NativePixmap, which uses a + // VideoFrame::StorageType of VideoFrame::STORAGE_DMABUFS. + auxiliary_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator( diff --git a/devel/electron33/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc b/devel/electron33/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc new file mode 100644 index 000000000000..4e7d1a84bcd8 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_gpu__video__encode__accelerator__factory.cc @@ -0,0 +1,11 @@ +--- media/gpu/gpu_video_encode_accelerator_factory.cc.orig 2024-04-15 20:34:01 UTC ++++ media/gpu/gpu_video_encode_accelerator_factory.cc +@@ -118,7 +118,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/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc b/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc new file mode 100644 index 000000000000..cc6b67cc9bc9 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.cc @@ -0,0 +1,44 @@ +--- media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc.orig 2024-10-16 21:31:33 UTC ++++ media/gpu/sandbox/hardware_video_decoding_sandbox_hook_linux.cc +@@ -16,7 +16,9 @@ + #include "media/gpu/vaapi/vaapi_wrapper.h" + #endif + ++#if !BUILDFLAG(IS_BSD) + using sandbox::syscall_broker::BrokerFilePermission; ++#endif + + // TODO(b/195769334): the hardware video decoding sandbox is really only useful + // when building with VA-API or V4L2 (otherwise, we're not really doing hardware +@@ -32,6 +34,7 @@ namespace { + namespace media { + namespace { + ++#if !BUILDFLAG(IS_BSD) + void AllowAccessToRenderNodes(std::vector<BrokerFilePermission>& permissions, + bool include_sys_dev_char, + bool read_write) { +@@ -188,6 +191,7 @@ bool HardwareVideoDecodingPreSandboxHookForV4L2( + NOTREACHED(); + #endif // BUILDFLAG(USE_V4L2_CODEC) + } ++#endif + + } // namespace + +@@ -203,6 +207,7 @@ bool HardwareVideoDecodingPreSandboxHook( + // (at least). + bool HardwareVideoDecodingPreSandboxHook( + sandbox::policy::SandboxLinux::Options options) { ++#if !BUILDFLAG(IS_BSD) + using HardwareVideoDecodingProcessPolicy = + sandbox::policy::HardwareVideoDecodingProcessPolicy; + using PolicyType = +@@ -248,6 +253,7 @@ bool HardwareVideoDecodingPreSandboxHook( + // |permissions| is empty? + sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess( + command_set, permissions, options); ++#endif + return true; + } + diff --git a/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h b/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__decoding__sandbox__hook__linux.h new file mode 100644 index 000000000000..767032bf10a4 --- /dev/null +++ b/devel/electron33/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 2023-05-25 00:41:58 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/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace media { + diff --git a/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc b/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc new file mode 100644 index 000000000000..a8c8b77aceda --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.cc @@ -0,0 +1,26 @@ +--- media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.cc.orig 2024-10-16 21:31:33 UTC ++++ media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.cc +@@ -18,12 +18,15 @@ + #include "media/gpu/v4l2/v4l2_device.h" + #endif + ++#if !BUILDFLAG(IS_BSD) + using sandbox::syscall_broker::BrokerFilePermission; ++#endif + + namespace media { + + bool HardwareVideoEncodingPreSandboxHook( + sandbox::policy::SandboxLinux::Options options) { ++#if !BUILDFLAG(IS_BSD) + sandbox::syscall_broker::BrokerCommandSet command_set; + std::vector<BrokerFilePermission> permissions; + +@@ -131,6 +134,7 @@ bool HardwareVideoEncodingPreSandboxHook( + dlopen("libvulkan.so.1", kDlopenFlags); + dlopen("libvulkan_radeon.so", kDlopenFlags); + } ++#endif + #endif + return true; + } diff --git a/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h b/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h new file mode 100644 index 000000000000..7134a7a79f35 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_sandbox_hardware__video__encoding__sandbox__hook__linux.h @@ -0,0 +1,23 @@ +--- media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h.orig 2023-05-25 00:41:58 UTC ++++ media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h +@@ -5,7 +5,13 @@ + #ifndef MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_ + #define MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_ + ++#include "build/build_config.h" ++ ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace media { + +@@ -14,4 +20,4 @@ bool HardwareVideoEncodingPreSandboxHook( + + } // namespace media + +-#endif // MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_ +\ No newline at end of file ++#endif // MEDIA_GPU_SANDBOX_HARDWARE_VIDEO_ENCODING_SANDBOX_HOOK_LINUX_H_ diff --git a/devel/electron33/files/patch-media_gpu_test_raw__video.cc b/devel/electron33/files/patch-media_gpu_test_raw__video.cc new file mode 100644 index 000000000000..268b9ecdbe83 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_test_raw__video.cc @@ -0,0 +1,11 @@ +--- media/gpu/test/raw_video.cc.orig 2024-10-16 21:31:33 UTC ++++ media/gpu/test/raw_video.cc +@@ -60,7 +60,7 @@ std::unique_ptr<base::MemoryMappedFile> CreateMemoryMa + base::File::FLAG_READ | base::File::FLAG_WRITE + // On Windows FLAG_CREATE_ALWAYS will require FLAG_WRITE, and FLAG_APPEND + // must not be specified. +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + | base::File::FLAG_APPEND + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) + ), diff --git a/devel/electron33/files/patch-media_gpu_test_video__frame__file__writer.cc b/devel/electron33/files/patch-media_gpu_test_video__frame__file__writer.cc new file mode 100644 index 000000000000..72b4d5845e5e --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_test_video__frame__file__writer.cc @@ -0,0 +1,11 @@ +--- media/gpu/test/video_frame_file_writer.cc.orig 2024-10-16 21:31:33 UTC ++++ media/gpu/test/video_frame_file_writer.cc +@@ -26,7 +26,7 @@ + #include "testing/gtest/include/gtest/gtest.h" + #include "ui/gfx/codec/png_codec.h" + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include <sys/mman.h> + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-media_gpu_test_video__frame__helpers.cc b/devel/electron33/files/patch-media_gpu_test_video__frame__helpers.cc new file mode 100644 index 000000000000..11e8afda0c39 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_test_video__frame__helpers.cc @@ -0,0 +1,11 @@ +--- media/gpu/test/video_frame_helpers.cc.orig 2024-10-16 21:31:33 UTC ++++ media/gpu/test/video_frame_helpers.cc +@@ -22,7 +22,7 @@ + #include "ui/gfx/buffer_format_util.h" + #include "ui/gfx/gpu_memory_buffer.h" + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include <sys/mman.h> + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-media_gpu_test_video__frame__validator.cc b/devel/electron33/files/patch-media_gpu_test_video__frame__validator.cc new file mode 100644 index 000000000000..76a4d748e00e --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_test_video__frame__validator.cc @@ -0,0 +1,11 @@ +--- media/gpu/test/video_frame_validator.cc.orig 2024-10-16 21:31:33 UTC ++++ media/gpu/test/video_frame_validator.cc +@@ -33,7 +33,7 @@ + #include "testing/gtest/include/gtest/gtest.h" + #include "ui/gfx/gpu_memory_buffer.h" + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include <sys/mman.h> + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc b/devel/electron33/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc new file mode 100644 index 000000000000..7decffe0f232 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc @@ -0,0 +1,11 @@ +--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2024-08-14 20:55:06 UTC ++++ media/gpu/vaapi/vaapi_video_decoder.cc +@@ -782,7 +782,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) + std::optional<DmabufVideoFramePool::CreateFrameCB> allocator = + base::BindRepeating(&AllocateCustomFrameProxy, weak_this_); + std::vector<ImageProcessor::PixelLayoutCandidate> candidates = { diff --git a/devel/electron33/files/patch-media_gpu_vaapi_vaapi__wrapper.cc b/devel/electron33/files/patch-media_gpu_vaapi_vaapi__wrapper.cc new file mode 100644 index 000000000000..033002e88293 --- /dev/null +++ b/devel/electron33/files/patch-media_gpu_vaapi_vaapi__wrapper.cc @@ -0,0 +1,11 @@ +--- media/gpu/vaapi/vaapi_wrapper.cc.orig 2024-10-16 21:31:33 UTC ++++ media/gpu/vaapi/vaapi_wrapper.cc +@@ -77,7 +77,7 @@ using media_gpu_vaapi::kModuleVa_prot; + using media_gpu_vaapi::kModuleVa_prot; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/files/file_util.h" + #include "base/strings/string_split.h" + #endif diff --git a/devel/electron33/files/patch-media_media__options.gni b/devel/electron33/files/patch-media_media__options.gni new file mode 100644 index 000000000000..bf137bf4eed6 --- /dev/null +++ b/devel/electron33/files/patch-media_media__options.gni @@ -0,0 +1,19 @@ +--- media/media_options.gni.orig 2024-06-18 21:43:35 UTC ++++ media/media_options.gni +@@ -190,12 +190,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_apple && ++ if (is_posix && !is_android && !is_apple && !is_bsd && + (!is_castos || (target_cpu == "x86" || target_cpu == "x64") || + is_cast_audio_only)) { + use_alsa = true diff --git a/devel/electron33/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc b/devel/electron33/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc new file mode 100644 index 000000000000..c1af5a8802c4 --- /dev/null +++ b/devel/electron33/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.cc @@ -0,0 +1,20 @@ +--- media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc.orig 2024-10-16 21:31:33 UTC ++++ media/mojo/mojom/stable/stable_video_decoder_types_mojom_traits.cc +@@ -841,7 +841,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, +@@ -862,7 +862,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/devel/electron33/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h b/devel/electron33/files/patch-media_mojo_mojom_stable_stable__video__decoder__types__mojom__traits.h new file mode 100644 index 000000000000..131788b78295 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:33 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/devel/electron33/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/devel/electron33/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc new file mode 100644 index 000000000000..4c0e9cff7dcc --- /dev/null +++ b/devel/electron33/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc @@ -0,0 +1,11 @@ +--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2024-10-16 21:31:33 UTC ++++ media/mojo/mojom/video_frame_mojom_traits.cc +@@ -27,7 +27,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/devel/electron33/files/patch-media_video_fake__gpu__memory__buffer.cc b/devel/electron33/files/patch-media_video_fake__gpu__memory__buffer.cc new file mode 100644 index 000000000000..87fc64d261cb --- /dev/null +++ b/devel/electron33/files/patch-media_video_fake__gpu__memory__buffer.cc @@ -0,0 +1,38 @@ +--- media/video/fake_gpu_memory_buffer.cc.orig 2024-10-16 21:31:34 UTC ++++ media/video/fake_gpu_memory_buffer.cc +@@ -14,7 +14,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> +@@ -57,7 +57,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()); +@@ -87,7 +87,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_); +@@ -149,7 +149,7 @@ gfx::GpuMemoryBufferHandle FakeGpuMemoryBuffer::CloneH + gfx::GpuMemoryBufferHandle handle; + handle.type = gfx::NATIVE_PIXMAP; + handle.id = handle_.id; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + handle.native_pixmap_handle = + gfx::CloneHandleForIPC(handle_.native_pixmap_handle); + #endif diff --git a/devel/electron33/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/devel/electron33/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc new file mode 100644 index 000000000000..8d51d9897fb3 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:34 UTC ++++ media/video/gpu_memory_buffer_video_frame_pool.cc +@@ -98,7 +98,7 @@ class GpuMemoryBufferVideoFramePool::PoolImpl + gpu::SHARED_IMAGE_USAGE_RASTER_READ | + gpu::SHARED_IMAGE_USAGE_DISPLAY_READ | + gpu::SHARED_IMAGE_USAGE_SCANOUT; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/40194712): Always add the flag once the + // OzoneImageBacking is by default turned on. + if (base::CommandLine::ForCurrentProcess()->HasSwitch( +@@ -695,7 +695,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 + +@@ -1104,7 +1104,7 @@ scoped_refptr<VideoFrame> GpuMemoryBufferVideoFramePoo + media::IOSurfaceIsWebGPUCompatible(handle.io_surface.get()); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + is_webgpu_compatible = + handle.native_pixmap_handle.supports_zero_copy_webgpu_import; + #endif diff --git a/devel/electron33/files/patch-media_video_video__encode__accelerator__adapter.cc b/devel/electron33/files/patch-media_video_video__encode__accelerator__adapter.cc new file mode 100644 index 000000000000..96b439585e7a --- /dev/null +++ b/devel/electron33/files/patch-media_video_video__encode__accelerator__adapter.cc @@ -0,0 +1,20 @@ +--- media/video/video_encode_accelerator_adapter.cc.orig 2024-10-16 21:31:35 UTC ++++ media/video/video_encode_accelerator_adapter.cc +@@ -164,7 +164,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 (format != PIXEL_FORMAT_I420 || + !VideoFrame::IsStorageTypeMappable(storage_type)) { + // ChromeOS/Linux hardware video encoders supports I420 on-memory +@@ -550,7 +550,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal + SetUpVeaConfig(profile_, options_, format, first_frame->storage_type(), + supported_rc_modes_, required_encoder_type_); + +-#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/devel/electron33/files/patch-media_video_video__encode__accelerator__adapter__test.cc b/devel/electron33/files/patch-media_video_video__encode__accelerator__adapter__test.cc new file mode 100644 index 000000000000..523e58888a14 --- /dev/null +++ b/devel/electron33/files/patch-media_video_video__encode__accelerator__adapter__test.cc @@ -0,0 +1,11 @@ +--- media/video/video_encode_accelerator_adapter_test.cc.orig 2024-10-16 21:31:35 UTC ++++ media/video/video_encode_accelerator_adapter_test.cc +@@ -461,7 +461,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes + CreateGreenFrame(large_size, pixel_format, base::Milliseconds(2)); + + VideoPixelFormat expected_input_format = PIXEL_FORMAT_I420; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (pixel_format != PIXEL_FORMAT_I420 || !small_frame->IsMappable()) + expected_input_format = PIXEL_FORMAT_NV12; + #endif diff --git a/devel/electron33/files/patch-media_webrtc_audio__processor.cc b/devel/electron33/files/patch-media_webrtc_audio__processor.cc new file mode 100644 index 000000000000..3e5689c1eb80 --- /dev/null +++ b/devel/electron33/files/patch-media_webrtc_audio__processor.cc @@ -0,0 +1,11 @@ +--- media/webrtc/audio_processor.cc.orig 2024-10-16 21:31:35 UTC ++++ media/webrtc/audio_processor.cc +@@ -521,7 +521,7 @@ std::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/devel/electron33/files/patch-media_webrtc_helpers.cc b/devel/electron33/files/patch-media_webrtc_helpers.cc new file mode 100644 index 000000000000..c42cb6e1b766 --- /dev/null +++ b/devel/electron33/files/patch-media_webrtc_helpers.cc @@ -0,0 +1,19 @@ +--- media/webrtc/helpers.cc.orig 2024-06-18 21:43:36 UTC ++++ media/webrtc/helpers.cc +@@ -41,14 +41,14 @@ void ConfigAutomaticGainControl(const AudioProcessingS + return; + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const bool kInputVolumeAdjustmentOverrideAllowed = true; + #elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + const bool kInputVolumeAdjustmentOverrideAllowed = false; + #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) + // Use AGC2 digital and input volume controller. + // TODO(crbug.com/40872787): Remove `kWebRtcAllowInputVolumeAdjustment` safely + // and set `input_volume_controller.enabled` true. diff --git a/devel/electron33/files/patch-media_webrtc_helpers__unittests.cc b/devel/electron33/files/patch-media_webrtc_helpers__unittests.cc new file mode 100644 index 000000000000..880a895094a9 --- /dev/null +++ b/devel/electron33/files/patch-media_webrtc_helpers__unittests.cc @@ -0,0 +1,38 @@ +--- media/webrtc/helpers_unittests.cc.orig 2024-04-15 20:34:01 UTC ++++ media/webrtc/helpers_unittests.cc +@@ -40,7 +40,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, CheckDefau + EXPECT_TRUE(config.echo_canceller.enabled); + + #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) + EXPECT_FALSE(config.gain_controller1.enabled); + EXPECT_TRUE(config.gain_controller2.enabled); + #elif BUILDFLAG(IS_CASTOS) || BUILDFLAG(IS_CAST_ANDROID) +@@ -73,7 +73,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, + } + + #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) + TEST(CreateWebRtcAudioProcessingModuleTest, + InputVolumeAdjustmentEnabledWithAgc2) { + ::base::test::ScopedFeatureList feature_list; +@@ -89,7 +89,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + TEST(CreateWebRtcAudioProcessingModuleTest, + CanDisableInputVolumeAdjustmentWithAgc2) { + ::base::test::ScopedFeatureList feature_list; +@@ -106,7 +106,7 @@ TEST(CreateWebRtcAudioProcessingModuleTest, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + TEST(CreateWebRtcAudioProcessingModuleTest, + OnlyOneInputVolumeControllerEnabledOnDesktopPlatforms) { + auto config = CreateApmGetConfig( diff --git a/devel/electron33/files/patch-mojo_core_BUILD.gn b/devel/electron33/files/patch-mojo_core_BUILD.gn new file mode 100644 index 000000000000..a9893699f3da --- /dev/null +++ b/devel/electron33/files/patch-mojo_core_BUILD.gn @@ -0,0 +1,11 @@ +--- mojo/core/BUILD.gn.orig 2024-10-16 21:31:35 UTC ++++ mojo/core/BUILD.gn +@@ -161,7 +161,7 @@ source_set("impl_for_embedder") { + ] + } + +- 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/devel/electron33/files/patch-mojo_core_channel.cc b/devel/electron33/files/patch-mojo_core_channel.cc new file mode 100644 index 000000000000..4c5f42162e12 --- /dev/null +++ b/devel/electron33/files/patch-mojo_core_channel.cc @@ -0,0 +1,14 @@ +--- mojo/core/channel.cc.orig 2024-10-16 21:31:35 UTC ++++ mojo/core/channel.cc +@@ -82,7 +82,11 @@ const size_t kMaxAttachedHandles = 253; + const size_t kMaxAttachedHandles = 253; + #endif // BUILDFLAG(IS_FUCHSIA) + ++#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/devel/electron33/files/patch-mojo_core_embedder_features.h b/devel/electron33/files/patch-mojo_core_embedder_features.h new file mode 100644 index 000000000000..ae158663d373 --- /dev/null +++ b/devel/electron33/files/patch-mojo_core_embedder_features.h @@ -0,0 +1,11 @@ +--- mojo/core/embedder/features.h.orig 2023-05-25 00:41:59 UTC ++++ mojo/core/embedder/features.h +@@ -16,7 +16,7 @@ namespace core { + + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && \ + !BUILDFLAG(MOJO_USE_APPLE_CHANNEL) +-#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) + BASE_DECLARE_FEATURE(kMojoLinuxChannelSharedMem); + diff --git a/devel/electron33/files/patch-mojo_public_tools_bindings_mojom.gni b/devel/electron33/files/patch-mojo_public_tools_bindings_mojom.gni new file mode 100644 index 000000000000..79b8b039cc23 --- /dev/null +++ b/devel/electron33/files/patch-mojo_public_tools_bindings_mojom.gni @@ -0,0 +1,19 @@ +--- mojo/public/tools/bindings/mojom.gni.orig 2024-10-16 21:31:35 UTC ++++ mojo/public/tools/bindings/mojom.gni +@@ -776,6 +776,16 @@ template("mojom") { + enabled_features += [ "is_apple" ] + } + ++ 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) { + allow_remote = true + diff --git a/devel/electron33/files/patch-net_BUILD.gn b/devel/electron33/files/patch-net_BUILD.gn new file mode 100644 index 000000000000..88f9c368bc93 --- /dev/null +++ b/devel/electron33/files/patch-net_BUILD.gn @@ -0,0 +1,78 @@ +--- net/BUILD.gn.orig 2024-10-16 21:31:35 UTC ++++ net/BUILD.gn +@@ -125,7 +125,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" ] + } + +@@ -1277,6 +1277,19 @@ component("net") { + ] + } + ++ if (is_bsd) { ++ sources -= [ ++ "base/address_map_cache_linux.cc", ++ "base/address_map_cache_linux.h", ++ "base/address_map_linux.cc", ++ "base/address_map_linux.h", ++ "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", +@@ -1438,7 +1451,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", +@@ -2921,7 +2934,7 @@ target(_test_target_type, "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", +@@ -3014,6 +3027,10 @@ target(_test_target_type, "net_unittests") { + ] + } + ++ if (is_bsd) { ++ deps += [ "//sandbox/policy" ] ++ } ++ + if (enable_websockets) { + sources += [ + "server/http_connection_unittest.cc", +@@ -3080,7 +3097,7 @@ target(_test_target_type, "net_unittests") { + ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ "tools/quic/quic_simple_server_test.cc" ] + } + +@@ -3219,7 +3236,7 @@ target(_test_target_type, "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/devel/electron33/files/patch-net_base_features.cc b/devel/electron33/files/patch-net_base_features.cc new file mode 100644 index 000000000000..2eb704e3afb0 --- /dev/null +++ b/devel/electron33/files/patch-net_base_features.cc @@ -0,0 +1,24 @@ +--- net/base/features.cc.orig 2024-10-16 21:31:35 UTC ++++ net/base/features.cc +@@ -26,7 +26,7 @@ BASE_FEATURE(kAsyncDns, + BASE_FEATURE(kAsyncDns, + "AsyncDns", + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -522,7 +522,12 @@ BASE_FEATURE(kSpdyHeadersToHttpResponseUseBuilder, + "SpdyHeadersToHttpResponseUseBuilder", + base::FEATURE_DISABLED_BY_DEFAULT); + ++#if BUILDFLAG(IS_OPENBSD) ++// No IP_RECVTOS support + BASE_FEATURE(kReportEcn, "ReportEcn", base::FEATURE_DISABLED_BY_DEFAULT); ++#else ++BASE_FEATURE(kReportEcn, "ReportEcn", base::FEATURE_DISABLED_BY_DEFAULT); ++#endif + + BASE_FEATURE(kUseNewAlpsCodepointHttp2, + "UseNewAlpsCodepointHttp2", diff --git a/devel/electron33/files/patch-net_base_mock__network__change__notifier.cc b/devel/electron33/files/patch-net_base_mock__network__change__notifier.cc new file mode 100644 index 000000000000..c03d3070a457 --- /dev/null +++ b/devel/electron33/files/patch-net_base_mock__network__change__notifier.cc @@ -0,0 +1,11 @@ +--- net/base/mock_network_change_notifier.cc.orig 2023-08-10 01:48:47 UTC ++++ net/base/mock_network_change_notifier.cc +@@ -103,7 +103,7 @@ MockNetworkChangeNotifier::GetCurrentConnectionCost() + return connection_cost_; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + AddressMapOwnerLinux* MockNetworkChangeNotifier::GetAddressMapOwnerInternal() { + return address_map_owner_; + } diff --git a/devel/electron33/files/patch-net_base_mock__network__change__notifier.h b/devel/electron33/files/patch-net_base_mock__network__change__notifier.h new file mode 100644 index 000000000000..a9375c70dee1 --- /dev/null +++ b/devel/electron33/files/patch-net_base_mock__network__change__notifier.h @@ -0,0 +1,20 @@ +--- net/base/mock_network_change_notifier.h.orig 2023-08-10 01:48:47 UTC ++++ net/base/mock_network_change_notifier.h +@@ -84,7 +84,7 @@ class MockNetworkChangeNotifier : public NetworkChange + // use_default_connection_cost_implementation is set to true. + ConnectionCost GetCurrentConnectionCost() override; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void SetAddressMapOwnerLinux(AddressMapOwnerLinux* address_map_owner) { + address_map_owner_ = address_map_owner; + } +@@ -104,7 +104,7 @@ class MockNetworkChangeNotifier : public NetworkChange + bool use_default_connection_cost_implementation_ = false; + NetworkChangeNotifier::NetworkList connected_networks_; + std::unique_ptr<SystemDnsConfigChangeNotifier> dns_config_notifier_; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + raw_ptr<AddressMapOwnerLinux> address_map_owner_ = nullptr; + #endif + }; diff --git a/devel/electron33/files/patch-net_base_network__change__notifier.cc b/devel/electron33/files/patch-net_base_network__change__notifier.cc new file mode 100644 index 000000000000..4a4abed1a991 --- /dev/null +++ b/devel/electron33/files/patch-net_base_network__change__notifier.cc @@ -0,0 +1,21 @@ +--- net/base/network_change_notifier.cc.orig 2024-10-16 21:31:35 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_apple.h" +-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "net/base/network_change_notifier_passive.h" + #elif BUILDFLAG(IS_FUCHSIA) + #include "net/base/network_change_notifier_fuchsia.h" +@@ -324,6 +324,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/devel/electron33/files/patch-net_base_network__change__notifier__passive.cc b/devel/electron33/files/patch-net_base_network__change__notifier__passive.cc new file mode 100644 index 000000000000..c9075b11c3ea --- /dev/null +++ b/devel/electron33/files/patch-net_base_network__change__notifier__passive.cc @@ -0,0 +1,11 @@ +--- net/base/network_change_notifier_passive.cc.orig 2023-05-25 00:42:00 UTC ++++ net/base/network_change_notifier_passive.cc +@@ -107,7 +107,7 @@ NetworkChangeNotifierPassive::GetAddressMapOwnerIntern + NetworkChangeNotifier::NetworkChangeCalculatorParams + NetworkChangeNotifierPassive::NetworkChangeCalculatorParamsPassive() { + 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/devel/electron33/files/patch-net_base_network__interfaces__posix.h b/devel/electron33/files/patch-net_base_network__interfaces__posix.h new file mode 100644 index 000000000000..cb3379e3ba8d --- /dev/null +++ b/devel/electron33/files/patch-net_base_network__interfaces__posix.h @@ -0,0 +1,11 @@ +--- net/base/network_interfaces_posix.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-net_base_sockaddr__util__posix.cc b/devel/electron33/files/patch-net_base_sockaddr__util__posix.cc new file mode 100644 index 000000000000..90f04b2bf334 --- /dev/null +++ b/devel/electron33/files/patch-net_base_sockaddr__util__posix.cc @@ -0,0 +1,12 @@ +--- net/base/sockaddr_util_posix.cc.orig 2024-08-14 20:55:08 UTC ++++ net/base/sockaddr_util_posix.cc +@@ -46,7 +46,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/devel/electron33/files/patch-net_base_sockaddr__util__posix__unittest.cc b/devel/electron33/files/patch-net_base_sockaddr__util__posix__unittest.cc new file mode 100644 index 000000000000..1b34c6ad2294 --- /dev/null +++ b/devel/electron33/files/patch-net_base_sockaddr__util__posix__unittest.cc @@ -0,0 +1,12 @@ +--- net/base/sockaddr_util_posix_unittest.cc.orig 2024-08-14 20:55:08 UTC ++++ net/base/sockaddr_util_posix_unittest.cc +@@ -88,7 +88,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/devel/electron33/files/patch-net_cert_cert__verify__proc.h b/devel/electron33/files/patch-net_cert_cert__verify__proc.h new file mode 100644 index 000000000000..288c25e1e9f5 --- /dev/null +++ b/devel/electron33/files/patch-net_cert_cert__verify__proc.h @@ -0,0 +1,11 @@ +--- net/cert/cert_verify_proc.h.orig 2024-10-16 21:31:35 UTC ++++ net/cert/cert_verify_proc.h +@@ -178,7 +178,7 @@ class NET_EXPORT CertVerifyProc + kMaxValue = kChainLengthOne + }; + +-#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || \ ++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(CHROME_ROOT_STORE_ONLY)) + // Creates and returns a CertVerifyProc that uses the system verifier. + // |cert_net_fetcher| may not be used, depending on the implementation. diff --git a/devel/electron33/files/patch-net_disk__cache_simple_simple__file__tracker.cc b/devel/electron33/files/patch-net_disk__cache_simple_simple__file__tracker.cc new file mode 100644 index 000000000000..cb6885626385 --- /dev/null +++ b/devel/electron33/files/patch-net_disk__cache_simple_simple__file__tracker.cc @@ -0,0 +1,20 @@ +--- net/disk_cache/simple/simple_file_tracker.cc.orig 2024-08-14 20:55:08 UTC ++++ net/disk_cache/simple/simple_file_tracker.cc +@@ -35,7 +35,17 @@ SimpleFileTracker::SimpleFileTracker(int file_limit) + } // 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/devel/electron33/files/patch-net_dns_BUILD.gn b/devel/electron33/files/patch-net_dns_BUILD.gn new file mode 100644 index 000000000000..f1e85f0ddb01 --- /dev/null +++ b/devel/electron33/files/patch-net_dns_BUILD.gn @@ -0,0 +1,31 @@ +--- net/dns/BUILD.gn.orig 2024-06-30 11:48:27 UTC ++++ net/dns/BUILD.gn +@@ -138,7 +138,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", +@@ -179,6 +179,7 @@ source_set("dns") { + ":host_resolver_manager", + ":mdns_client", + "//net:net_public_deps", ++ "//printing/buildflags", + ] + + allow_circular_includes_from = [ +@@ -449,9 +450,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/devel/electron33/files/patch-net_dns_address__info.cc b/devel/electron33/files/patch-net_dns_address__info.cc new file mode 100644 index 000000000000..229e6126940b --- /dev/null +++ b/devel/electron33/files/patch-net_dns_address__info.cc @@ -0,0 +1,16 @@ +--- net/dns/address_info.cc.orig 2024-08-14 20:55:08 UTC ++++ net/dns/address_info.cc +@@ -83,8 +83,12 @@ AddressInfo::AddressInfoAndResult AddressInfo::Get( + // error. + // http://crbug.com/134142 + err = ERR_NAME_NOT_RESOLVED; +-#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_FREEBSD) ++#elif BUILDFLAG(IS_POSIX) ++#ifdef EAI_NODATA + if (os_error != EAI_NONAME && os_error != EAI_NODATA) ++#else ++ if (os_error != EAI_NONAME) ++#endif + err = ERR_NAME_RESOLUTION_FAILED; + #endif + diff --git a/devel/electron33/files/patch-net_dns_address__sorter__posix.cc b/devel/electron33/files/patch-net_dns_address__sorter__posix.cc new file mode 100644 index 000000000000..30cb9fce28f4 --- /dev/null +++ b/devel/electron33/files/patch-net_dns_address__sorter__posix.cc @@ -0,0 +1,10 @@ +--- net/dns/address_sorter_posix.cc.orig 2024-08-14 20:55:08 UTC ++++ net/dns/address_sorter_posix.cc +@@ -32,6 +32,7 @@ + #include "net/dns/netinet_in_var_ios.h" + #else + #include <netinet/in_var.h> ++#include <netinet6/in6_var.h> + #endif // BUILDFLAG(IS_IOS) + #endif + #include <vector> diff --git a/devel/electron33/files/patch-net_dns_dns__config__service__posix.cc b/devel/electron33/files/patch-net_dns_dns__config__service__posix.cc new file mode 100644 index 000000000000..568238125c75 --- /dev/null +++ b/devel/electron33/files/patch-net_dns_dns__config__service__posix.cc @@ -0,0 +1,27 @@ +--- net/dns/dns_config_service_posix.cc.orig 2024-08-30 11:29:36 UTC ++++ net/dns/dns_config_service_posix.cc +@@ -39,6 +39,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 { +@@ -135,6 +140,12 @@ 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 !IS_MAS_BUILD() + if (!config_watcher_.Watch(base::BindRepeating(&Watcher::OnConfigChanged, diff --git a/devel/electron33/files/patch-net_dns_dns__reloader.cc b/devel/electron33/files/patch-net_dns_dns__reloader.cc new file mode 100644 index 000000000000..9a8ed94039dc --- /dev/null +++ b/devel/electron33/files/patch-net_dns_dns__reloader.cc @@ -0,0 +1,10 @@ +--- net/dns/dns_reloader.cc.orig 2023-03-30 00:33:54 UTC ++++ net/dns/dns_reloader.cc +@@ -10,6 +10,7 @@ + // - there's not guarantee it exists at all. :( + #if BUILDFLAG(IS_POSIX) + ++#include <netinet/in.h> + #include <resolv.h> + + // This code only works on systems where the C library provides res_ninit(3) and diff --git a/devel/electron33/files/patch-net_dns_dns__util.cc b/devel/electron33/files/patch-net_dns_dns__util.cc new file mode 100644 index 000000000000..7de4f95330dc --- /dev/null +++ b/devel/electron33/files/patch-net_dns_dns__util.cc @@ -0,0 +1,11 @@ +--- net/dns/dns_util.cc.orig 2023-02-01 18:43:23 UTC ++++ net/dns/dns_util.cc +@@ -29,6 +29,8 @@ + #include "net/dns/public/util.h" + #include "net/third_party/uri_template/uri_template.h" + ++#include <sys/socket.h> ++ + #if BUILDFLAG(IS_POSIX) + #include <net/if.h> + #include <netinet/in.h> diff --git a/devel/electron33/files/patch-net_dns_host__resolver__proc.cc b/devel/electron33/files/patch-net_dns_host__resolver__proc.cc new file mode 100644 index 000000000000..3e1336aaa4eb --- /dev/null +++ b/devel/electron33/files/patch-net_dns_host__resolver__proc.cc @@ -0,0 +1,13 @@ +--- net/dns/host_resolver_proc.cc.orig 2022-11-30 08:12:58 UTC ++++ net/dns/host_resolver_proc.cc +@@ -15,10 +15,6 @@ + #include "net/base/net_errors.h" + #include "net/dns/host_resolver_system_task.h" + +-#if BUILDFLAG(IS_OPENBSD) +-#define AI_ADDRCONFIG 0 +-#endif +- + namespace net { + + HostResolverProc* HostResolverProc::default_proc_ = nullptr; diff --git a/devel/electron33/files/patch-net_dns_public_BUILD.gn b/devel/electron33/files/patch-net_dns_public_BUILD.gn new file mode 100644 index 000000000000..1e5d2a8dca2a --- /dev/null +++ b/devel/electron33/files/patch-net_dns_public_BUILD.gn @@ -0,0 +1,11 @@ +--- net/dns/public/BUILD.gn.orig 2024-06-18 21:43:36 UTC ++++ net/dns/public/BUILD.gn +@@ -78,7 +78,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/devel/electron33/files/patch-net_dns_public_resolv__reader.h b/devel/electron33/files/patch-net_dns_public_resolv__reader.h new file mode 100644 index 000000000000..8e97c9b36f33 --- /dev/null +++ b/devel/electron33/files/patch-net_dns_public_resolv__reader.h @@ -0,0 +1,10 @@ +--- net/dns/public/resolv_reader.h.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-net_dns_public_scoped__res__state.h b/devel/electron33/files/patch-net_dns_public_scoped__res__state.h new file mode 100644 index 000000000000..0fc78c4a06a0 --- /dev/null +++ b/devel/electron33/files/patch-net_dns_public_scoped__res__state.h @@ -0,0 +1,10 @@ +--- net/dns/public/scoped_res_state.h.orig 2024-02-21 00:20:50 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 <optional> diff --git a/devel/electron33/files/patch-net_filter_zstd__source__stream.cc b/devel/electron33/files/patch-net_filter_zstd__source__stream.cc new file mode 100644 index 000000000000..e4820db54a4e --- /dev/null +++ b/devel/electron33/files/patch-net_filter_zstd__source__stream.cc @@ -0,0 +1,10 @@ +--- net/filter/zstd_source_stream.cc.orig 2024-02-21 00:20:50 UTC ++++ net/filter/zstd_source_stream.cc +@@ -7,6 +7,7 @@ + #include <algorithm> + #include <unordered_map> + #include <utility> ++#include <unordered_map> + + #define ZSTD_STATIC_LINKING_ONLY + diff --git a/devel/electron33/files/patch-net_http_http__auth__gssapi__posix.cc b/devel/electron33/files/patch-net_http_http__auth__gssapi__posix.cc new file mode 100644 index 000000000000..31ef73bb6e93 --- /dev/null +++ b/devel/electron33/files/patch-net_http_http__auth__gssapi__posix.cc @@ -0,0 +1,14 @@ +--- net/http/http_auth_gssapi_posix.cc.orig 2024-08-14 20:55:08 UTC ++++ net/http/http_auth_gssapi_posix.cc +@@ -375,8 +375,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/devel/electron33/files/patch-net_http_http__auth__gssapi__posix.h b/devel/electron33/files/patch-net_http_http__auth__gssapi__posix.h new file mode 100644 index 000000000000..a5df8462e3a1 --- /dev/null +++ b/devel/electron33/files/patch-net_http_http__auth__gssapi__posix.h @@ -0,0 +1,12 @@ +--- net/http/http_auth_gssapi_posix.h.orig 2022-08-31 12:19:35 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/devel/electron33/files/patch-net_http_http__auth__handler__negotiate.cc b/devel/electron33/files/patch-net_http_http__auth__handler__negotiate.cc new file mode 100644 index 000000000000..6cb87ad1befd --- /dev/null +++ b/devel/electron33/files/patch-net_http_http__auth__handler__negotiate.cc @@ -0,0 +1,11 @@ +--- net/http/http_auth_handler_negotiate.cc.orig 2024-04-15 20:34:02 UTC ++++ net/http/http_auth_handler_negotiate.cc +@@ -120,7 +120,7 @@ int HttpAuthHandlerNegotiate::Factory::CreateAuthHandl + #elif BUILDFLAG(IS_POSIX) + if (is_unsupported_) + return ERR_UNSUPPORTED_AUTH_SCHEME; +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Note: Don't set is_unsupported_ = true here. AllowGssapiLibraryLoad() + // might change to true during a session. + if (!http_auth_preferences() || diff --git a/devel/electron33/files/patch-net_http_http__auth__preferences.cc b/devel/electron33/files/patch-net_http_http__auth__preferences.cc new file mode 100644 index 000000000000..d30b0907f30e --- /dev/null +++ b/devel/electron33/files/patch-net_http_http__auth__preferences.cc @@ -0,0 +1,11 @@ +--- net/http/http_auth_preferences.cc.orig 2023-10-19 19:58:28 UTC ++++ net/http/http_auth_preferences.cc +@@ -39,7 +39,7 @@ std::string HttpAuthPreferences::AuthAndroidNegotiateA + } + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool HttpAuthPreferences::AllowGssapiLibraryLoad() const { + return allow_gssapi_library_load_; + } diff --git a/devel/electron33/files/patch-net_http_http__auth__preferences.h b/devel/electron33/files/patch-net_http_http__auth__preferences.h new file mode 100644 index 000000000000..1dd6c8db3248 --- /dev/null +++ b/devel/electron33/files/patch-net_http_http__auth__preferences.h @@ -0,0 +1,29 @@ +--- net/http/http_auth_preferences.h.orig 2023-10-19 19:58:28 UTC ++++ net/http/http_auth_preferences.h +@@ -50,7 +50,7 @@ class NET_EXPORT HttpAuthPreferences { + #if BUILDFLAG(IS_ANDROID) + virtual std::string AuthAndroidNegotiateAccountType() const; + #endif +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + virtual bool AllowGssapiLibraryLoad() const; + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) + virtual bool CanUseDefaultCredentials( +@@ -86,7 +86,7 @@ class NET_EXPORT HttpAuthPreferences { + } + #endif // BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void set_allow_gssapi_library_load(bool allow_gssapi_library_load) { + allow_gssapi_library_load_ = allow_gssapi_library_load; + } +@@ -137,7 +137,7 @@ class NET_EXPORT HttpAuthPreferences { + std::string auth_android_negotiate_account_type_; + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool allow_gssapi_library_load_ = true; + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-net_http_http__network__session.cc b/devel/electron33/files/patch-net_http_http__network__session.cc new file mode 100644 index 000000000000..f9753b6a7b8c --- /dev/null +++ b/devel/electron33/files/patch-net_http_http__network__session.cc @@ -0,0 +1,12 @@ +--- net/http/http_network_session.cc.orig 2024-10-16 21:31:36 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/http_stream_pool.h" diff --git a/devel/electron33/files/patch-net_proxy__resolution_proxy__config__service.cc b/devel/electron33/files/patch-net_proxy__resolution_proxy__config__service.cc new file mode 100644 index 000000000000..1a4a43ada141 --- /dev/null +++ b/devel/electron33/files/patch-net_proxy__resolution_proxy__config__service.cc @@ -0,0 +1,35 @@ +--- net/proxy_resolution/proxy_config_service.cc.orig 2023-03-30 00:33:55 UTC ++++ net/proxy_resolution/proxy_config_service.cc +@@ -19,20 +19,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/devel/electron33/files/patch-net_proxy__resolution_proxy__config__service__linux.cc b/devel/electron33/files/patch-net_proxy__resolution_proxy__config__service__linux.cc new file mode 100644 index 000000000000..34ec52c765aa --- /dev/null +++ b/devel/electron33/files/patch-net_proxy__resolution_proxy__config__service__linux.cc @@ -0,0 +1,40 @@ +--- net/proxy_resolution/proxy_config_service_linux.cc.orig 2024-08-14 20:55:09 UTC ++++ net/proxy_resolution/proxy_config_service_linux.cc +@@ -11,7 +11,9 @@ + + #include <errno.h> + #include <limits.h> ++#if !BUILDFLAG(IS_BSD) + #include <sys/inotify.h> ++#endif + #include <unistd.h> + + #include <map> +@@ -510,6 +512,7 @@ bool SettingGetterImplGSettings::CheckVersion( + } + #endif // defined(USE_GIO) + ++#if !BUILDFLAG(IS_BSD) + // Converts |value| from a decimal string to an int. If there was a failure + // parsing, returns |default_value|. + int StringToIntOrDefault(std::string_view value, int default_value) { +@@ -1038,6 +1041,7 @@ class SettingGetterImplKDE : public ProxyConfigService + // events on. + scoped_refptr<base::SequencedTaskRunner> file_task_runner_; + }; ++#endif + + } // namespace + +@@ -1256,9 +1260,11 @@ ProxyConfigServiceLinux::Delegate::Delegate( + case base::nix::DESKTOP_ENVIRONMENT_KDE4: + case base::nix::DESKTOP_ENVIRONMENT_KDE5: + case base::nix::DESKTOP_ENVIRONMENT_KDE6: ++#if !BUILDFLAG(IS_BSD) + setting_getter_ = + std::make_unique<SettingGetterImplKDE>(env_var_getter_.get()); + break; ++#endif + case base::nix::DESKTOP_ENVIRONMENT_XFCE: + case base::nix::DESKTOP_ENVIRONMENT_LXQT: + case base::nix::DESKTOP_ENVIRONMENT_OTHER: diff --git a/devel/electron33/files/patch-net_socket_socket__posix.cc b/devel/electron33/files/patch-net_socket_socket__posix.cc new file mode 100644 index 000000000000..665305fd5623 --- /dev/null +++ b/devel/electron33/files/patch-net_socket_socket__posix.cc @@ -0,0 +1,11 @@ +--- net/socket/socket_posix.cc.orig 2022-07-22 17:30:31 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/devel/electron33/files/patch-net_socket_socks5__client__socket.cc b/devel/electron33/files/patch-net_socket_socks5__client__socket.cc new file mode 100644 index 000000000000..088dc1ac4f58 --- /dev/null +++ b/devel/electron33/files/patch-net_socket_socks5__client__socket.cc @@ -0,0 +1,12 @@ +--- net/socket/socks5_client_socket.cc.orig 2024-08-14 20:55:09 UTC ++++ net/socket/socks5_client_socket.cc +@@ -24,6 +24,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/devel/electron33/files/patch-net_socket_tcp__socket__posix.cc b/devel/electron33/files/patch-net_socket_tcp__socket__posix.cc new file mode 100644 index 000000000000..fe05afd6b26f --- /dev/null +++ b/devel/electron33/files/patch-net_socket_tcp__socket__posix.cc @@ -0,0 +1,20 @@ +--- net/socket/tcp_socket_posix.cc.orig 2024-10-16 21:31:36 UTC ++++ net/socket/tcp_socket_posix.cc +@@ -98,6 +98,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/devel/electron33/files/patch-net_socket_udp__socket__posix.cc b/devel/electron33/files/patch-net_socket_udp__socket__posix.cc new file mode 100644 index 000000000000..1fd9d7a0e2e2 --- /dev/null +++ b/devel/electron33/files/patch-net_socket_udp__socket__posix.cc @@ -0,0 +1,39 @@ +--- net/socket/udp_socket_posix.cc.orig 2024-10-16 21:31:36 UTC ++++ net/socket/udp_socket_posix.cc +@@ -522,12 +522,17 @@ int UDPSocketPosix::SetRecvTos() { + #endif // BUILDFLAG(IS_APPLE) + } + ++#ifdef IP_RECVTOS + int rv = setsockopt(socket_, IPPROTO_IP, IP_RECVTOS, &ecn, sizeof(ecn)); ++#else ++ int rv = -1; ++ errno = EOPNOTSUPP; ++#endif + return rv == 0 ? OK : MapSystemError(errno); + } + + void UDPSocketPosix::SetMsgConfirm(bool confirm) { +-#if !BUILDFLAG(IS_APPLE) ++#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + if (confirm) { + sendto_flags_ |= MSG_CONFIRM; + } else { +@@ -548,7 +553,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. +@@ -886,7 +891,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/devel/electron33/files/patch-net_socket_udp__socket__unittest.cc b/devel/electron33/files/patch-net_socket_udp__socket__unittest.cc new file mode 100644 index 000000000000..7730d48d687f --- /dev/null +++ b/devel/electron33/files/patch-net_socket_udp__socket__unittest.cc @@ -0,0 +1,47 @@ +--- net/socket/udp_socket_unittest.cc.orig 2024-10-16 21:31:36 UTC ++++ net/socket/udp_socket_unittest.cc +@@ -372,7 +372,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). +@@ -683,7 +683,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/42050633): IP_MTU_DISCOVER is not implemented on Fuchsia. + EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED)); + #else +@@ -705,7 +705,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/42050633): IP_MTU_DISCOVER is not implemented on Fuchsia. + EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED)); + #else +@@ -764,7 +764,7 @@ TEST_F(UDPSocketTest, JoinMulticastGroup) { + + // TODO(crbug.com/40620614): failing on device on iOS 12.2. + // TODO(crbug.com/40189274): 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 +@@ -818,7 +818,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/devel/electron33/files/patch-net_third__party_quiche_BUILD.gn b/devel/electron33/files/patch-net_third__party_quiche_BUILD.gn new file mode 100644 index 000000000000..a3a1f5329930 --- /dev/null +++ b/devel/electron33/files/patch-net_third__party_quiche_BUILD.gn @@ -0,0 +1,11 @@ +--- net/third_party/quiche/BUILD.gn.orig 2023-11-29 21:40:08 UTC ++++ net/third_party/quiche/BUILD.gn +@@ -29,7 +29,7 @@ import("//third_party/protobuf/proto_library.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/devel/electron33/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/devel/electron33/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc new file mode 100644 index 000000000000..0b1258661bd8 --- /dev/null +++ b/devel/electron33/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc @@ -0,0 +1,29 @@ +--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2024-10-16 21:31:36 UTC ++++ net/tools/cert_verify_tool/cert_verify_tool.cc +@@ -35,7 +35,7 @@ + #include "third_party/boringssl/src/pki/trust_store.h" + #include "third_party/boringssl/src/pki/trust_store_collection.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 +@@ -67,7 +67,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. + // +@@ -580,7 +580,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) || \ ++#if !(BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(CHROME_ROOT_STORE_ONLY)) + impls_str = "platform,"; + #endif diff --git a/devel/electron33/files/patch-net_tools_net__watcher_net__watcher.cc b/devel/electron33/files/patch-net_tools_net__watcher_net__watcher.cc new file mode 100644 index 000000000000..1fb0a9a1b91d --- /dev/null +++ b/devel/electron33/files/patch-net_tools_net__watcher_net__watcher.cc @@ -0,0 +1,29 @@ +--- net/tools/net_watcher/net_watcher.cc.orig 2024-06-18 21:43:37 UTC ++++ net/tools/net_watcher/net_watcher.cc +@@ -32,7 +32,7 @@ + #include "net/proxy_resolution/proxy_config_service.h" + #include "net/proxy_resolution/proxy_config_with_annotation.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "net/base/network_change_notifier_linux.h" + #endif + +@@ -44,7 +44,7 @@ namespace { + + // TODO(crbug.com/40118868): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Flag to specifies which network interfaces to ignore. Interfaces should + // follow as a comma seperated list. + const char kIgnoreNetifFlag[] = "ignore-netif"; +@@ -163,7 +163,7 @@ int main(int argc, char* argv[]) { + + NetWatcher net_watcher; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + std::string ignored_netifs_str = + command_line->GetSwitchValueASCII(kIgnoreNetifFlag); diff --git a/devel/electron33/files/patch-net_traffic__annotation_network__traffic__annotation.h b/devel/electron33/files/patch-net_traffic__annotation_network__traffic__annotation.h new file mode 100644 index 000000000000..9b9874545a70 --- /dev/null +++ b/devel/electron33/files/patch-net_traffic__annotation_network__traffic__annotation.h @@ -0,0 +1,20 @@ +--- net/traffic_annotation/network_traffic_annotation.h.orig 2024-08-14 20:55:09 UTC ++++ net/traffic_annotation/network_traffic_annotation.h +@@ -378,7 +378,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 +@@ -392,7 +392,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-net_url__request_url__request__context.cc b/devel/electron33/files/patch-net_url__request_url__request__context.cc new file mode 100644 index 000000000000..e80ef4823e3b --- /dev/null +++ b/devel/electron33/files/patch-net_url__request_url__request__context.cc @@ -0,0 +1,11 @@ +--- net/url_request/url_request_context.cc.orig 2024-06-18 21:43:37 UTC ++++ net/url_request/url_request_context.cc +@@ -121,7 +121,7 @@ const HttpNetworkSessionContext* URLRequestContext::Ge + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-net_url__request_url__request__context.h b/devel/electron33/files/patch-net_url__request_url__request__context.h new file mode 100644 index 000000000000..3633a6a13907 --- /dev/null +++ b/devel/electron33/files/patch-net_url__request_url__request__context.h @@ -0,0 +1,11 @@ +--- net/url_request/url_request_context.h.orig 2024-08-14 20:55:09 UTC ++++ net/url_request/url_request_context.h +@@ -91,7 +91,7 @@ class NET_EXPORT URLRequestContext final { + // TODO(crbug.com/40118868): 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/devel/electron33/files/patch-net_url__request_url__request__context__builder.cc b/devel/electron33/files/patch-net_url__request_url__request__context__builder.cc new file mode 100644 index 000000000000..2ad73555ce41 --- /dev/null +++ b/devel/electron33/files/patch-net_url__request_url__request__context__builder.cc @@ -0,0 +1,11 @@ +--- net/url_request/url_request_context_builder.cc.orig 2024-10-16 21:31:36 UTC ++++ net/url_request/url_request_context_builder.cc +@@ -446,7 +446,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/devel/electron33/files/patch-pdf_pdfium_pdfium__engine.cc b/devel/electron33/files/patch-pdf_pdfium_pdfium__engine.cc new file mode 100644 index 000000000000..f2c6e2fa47f4 --- /dev/null +++ b/devel/electron33/files/patch-pdf_pdfium_pdfium__engine.cc @@ -0,0 +1,20 @@ +--- pdf/pdfium/pdfium_engine.cc.orig 2024-10-16 21:31:36 UTC ++++ pdf/pdfium/pdfium_engine.cc +@@ -94,7 +94,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 + +@@ -523,7 +523,7 @@ void InitializeSDK(bool enable_v8, + + 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/devel/electron33/files/patch-printing_backend_cups__ipp__helper.cc b/devel/electron33/files/patch-printing_backend_cups__ipp__helper.cc new file mode 100644 index 000000000000..b202516f75db --- /dev/null +++ b/devel/electron33/files/patch-printing_backend_cups__ipp__helper.cc @@ -0,0 +1,11 @@ +--- printing/backend/cups_ipp_helper.cc.orig 2024-06-18 21:43:37 UTC ++++ printing/backend/cups_ipp_helper.cc +@@ -202,7 +202,7 @@ void ExtractResolutions(const CupsOptionProvider& prin + // Provide a default DPI if no valid DPI is found. + #if BUILDFLAG(IS_MAC) + constexpr gfx::Size kDefaultMissingDpi(kDefaultMacDpi, kDefaultMacDpi); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr gfx::Size kDefaultMissingDpi(kPixelsPerInch, kPixelsPerInch); + #else + constexpr gfx::Size kDefaultMissingDpi(kDefaultPdfDpi, kDefaultPdfDpi); diff --git a/devel/electron33/files/patch-printing_backend_print__backend__cups.cc b/devel/electron33/files/patch-printing_backend_print__backend__cups.cc new file mode 100644 index 000000000000..cf49a934759f --- /dev/null +++ b/devel/electron33/files/patch-printing_backend_print__backend__cups.cc @@ -0,0 +1,29 @@ +--- printing/backend/print_backend_cups.cc.orig 2024-10-16 21:31:37 UTC ++++ printing/backend/print_backend_cups.cc +@@ -33,7 +33,7 @@ + #include "printing/mojom/print.mojom.h" + #include "url/gurl.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + #include "base/feature_list.h" + #include "printing/backend/cups_connection.h" + #include "printing/backend/print_backend_cups_ipp.h" +@@ -63,7 +63,7 @@ int CaptureCupsDestCallback(void* data, unsigned flags + return 1; // Keep going. + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // This may be removed when Amazon Linux 2 reaches EOL (30 Jun 2025). + bool AreNewerCupsFunctionsAvailable() { + return cupsFindDestDefault && cupsFindDestSupported && ippValidateAttributes; +@@ -291,7 +291,7 @@ scoped_refptr<PrintBackend> PrintBackend::CreateInstan + #if !BUILDFLAG(IS_CHROMEOS) + scoped_refptr<PrintBackend> PrintBackend::CreateInstanceImpl( + const std::string& locale) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + if (AreNewerCupsFunctionsAvailable() && + base::FeatureList::IsEnabled(features::kCupsIppPrintingBackend)) { + return base::MakeRefCounted<PrintBackendCupsIpp>(CupsConnection::Create()); diff --git a/devel/electron33/files/patch-printing_mojom_printing__context__mojom__traits.cc b/devel/electron33/files/patch-printing_mojom_printing__context__mojom__traits.cc new file mode 100644 index 000000000000..c94ddbc40968 --- /dev/null +++ b/devel/electron33/files/patch-printing_mojom_printing__context__mojom__traits.cc @@ -0,0 +1,29 @@ +--- printing/mojom/printing_context_mojom_traits.cc.orig 2023-11-29 21:40:08 UTC ++++ printing/mojom/printing_context_mojom_traits.cc +@@ -19,7 +19,7 @@ + #include "base/numerics/safe_conversions.h" + #endif + +-#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 + +@@ -161,7 +161,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; +@@ -238,7 +238,7 @@ bool StructTraits< + if (system_print_dialog_data.size() != dictionary_entries) { + return false; + } +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // The dictionary must contain three strings. + const base::Value* value = system_print_dialog_data.Find( + printing::kLinuxSystemPrintDialogDataPrinter); diff --git a/devel/electron33/files/patch-printing_mojom_printing__context__mojom__traits.h b/devel/electron33/files/patch-printing_mojom_printing__context__mojom__traits.h new file mode 100644 index 000000000000..26b80145a15c --- /dev/null +++ b/devel/electron33/files/patch-printing_mojom_printing__context__mojom__traits.h @@ -0,0 +1,11 @@ +--- printing/mojom/printing_context_mojom_traits.h.orig 2023-10-19 19:58:29 UTC ++++ printing/mojom/printing_context_mojom_traits.h +@@ -166,7 +166,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/devel/electron33/files/patch-printing_print__settings.cc b/devel/electron33/files/patch-printing_print__settings.cc new file mode 100644 index 000000000000..4ad593f843d2 --- /dev/null +++ b/devel/electron33/files/patch-printing_print__settings.cc @@ -0,0 +1,38 @@ +--- printing/print_settings.cc.orig 2023-10-19 19:58:29 UTC ++++ printing/print_settings.cc +@@ -320,7 +320,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) +@@ -350,7 +350,7 @@ bool PrintSettings::operator==(const PrintSettings& ot + #endif + is_modifiable_, requested_custom_margins_in_points_, + pages_per_sheet_ +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + , + advanced_settings_ + #endif +@@ -374,7 +374,7 @@ bool PrintSettings::operator==(const PrintSettings& ot + other.is_modifiable_, + other.requested_custom_margins_in_points_, + other.pages_per_sheet_ +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + , + other.advanced_settings_ + #endif +@@ -414,7 +414,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/devel/electron33/files/patch-printing_print__settings.h b/devel/electron33/files/patch-printing_print__settings.h new file mode 100644 index 000000000000..da0ca9671815 --- /dev/null +++ b/devel/electron33/files/patch-printing_print__settings.h @@ -0,0 +1,47 @@ +--- printing/print_settings.h.orig 2023-10-19 19:58:29 UTC ++++ printing/print_settings.h +@@ -25,7 +25,7 @@ + #include "base/values.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <map> + + #include "base/values.h" +@@ -51,7 +51,7 @@ inline constexpr char kMacSystemPrintDialogDataPrintSe + "print_settings"; + #endif // BUILDFLAG(IS_MAC) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + inline constexpr char kLinuxSystemPrintDialogDataPrinter[] = "printer_name"; + inline constexpr char kLinuxSystemPrintDialogDataPrintSettings[] = + "print_settings"; +@@ -101,7 +101,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { + std::string vendor_id; + }; + +-#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) + +@@ -276,7 +276,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_; +@@ -429,7 +429,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/devel/electron33/files/patch-printing_print__settings__conversion.cc b/devel/electron33/files/patch-printing_print__settings__conversion.cc new file mode 100644 index 000000000000..f3b0d41f5813 --- /dev/null +++ b/devel/electron33/files/patch-printing_print__settings__conversion.cc @@ -0,0 +1,11 @@ +--- printing/print_settings_conversion.cc.orig 2024-04-15 20:34:03 UTC ++++ printing/print_settings_conversion.cc +@@ -285,7 +285,7 @@ std::unique_ptr<PrintSettings> PrintSettingsFromJobSet + settings->set_is_modifiable(is_modifiable.value()); + } + +-#if BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_CUPS)) ++#if BUILDFLAG(IS_CHROMEOS) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_CUPS)) + const base::Value::Dict* advanced_settings = + job_settings.FindDict(kSettingAdvancedSettings); + if (advanced_settings) { diff --git a/devel/electron33/files/patch-printing_printing__context__linux.cc b/devel/electron33/files/patch-printing_printing__context__linux.cc new file mode 100644 index 000000000000..8d6303eb6860 --- /dev/null +++ b/devel/electron33/files/patch-printing_printing__context__linux.cc @@ -0,0 +1,38 @@ +--- printing/printing_context_linux.cc.orig 2023-11-29 21:40:08 UTC ++++ printing/printing_context_linux.cc +@@ -23,7 +23,7 @@ + #endif + + // 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; + +@@ -84,7 +84,7 @@ gfx::Size PrintingContextLinux::GetPdfPaperSizeDeviceU + } + + 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 +@@ -97,7 +97,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/devel/electron33/files/patch-printing_printing__features.cc b/devel/electron33/files/patch-printing_printing__features.cc new file mode 100644 index 000000000000..45aa3bb14f21 --- /dev/null +++ b/devel/electron33/files/patch-printing_printing__features.cc @@ -0,0 +1,17 @@ +--- printing/printing_features.cc.orig 2024-08-14 20:55:09 UTC ++++ printing/printing_features.cc +@@ -21,12 +21,12 @@ BASE_FEATURE(kAddPrinterViaPrintscanmgr, + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + // Use the CUPS IPP printing backend instead of the original CUPS backend that + // calls the deprecated PPD API. + BASE_FEATURE(kCupsIppPrintingBackend, + "CupsIppPrintingBackend", +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_DISABLED_BY_DEFAULT + #else + base::FEATURE_ENABLED_BY_DEFAULT diff --git a/devel/electron33/files/patch-printing_printing__features.h b/devel/electron33/files/patch-printing_printing__features.h new file mode 100644 index 000000000000..00ecc77ae897 --- /dev/null +++ b/devel/electron33/files/patch-printing_printing__features.h @@ -0,0 +1,11 @@ +--- printing/printing_features.h.orig 2024-08-14 20:55:09 UTC ++++ printing/printing_features.h +@@ -22,7 +22,7 @@ BASE_DECLARE_FEATURE(kAddPrinterViaPrintscanmgr); + BASE_DECLARE_FEATURE(kAddPrinterViaPrintscanmgr); + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(PRINTING_BASE) BASE_DECLARE_FEATURE(kCupsIppPrintingBackend); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) + diff --git a/devel/electron33/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc b/devel/electron33/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc new file mode 100644 index 000000000000..39e5dec1c322 --- /dev/null +++ b/devel/electron33/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc @@ -0,0 +1,50 @@ +--- printing/sandbox/print_backend_sandbox_hook_linux.cc.orig 2024-04-15 20:34:03 UTC ++++ printing/sandbox/print_backend_sandbox_hook_linux.cc +@@ -10,20 +10,27 @@ + #include "base/path_service.h" + #include "build/build_config.h" + #include "printing/buildflags/buildflags.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" ++#else ++#include "sandbox/policy/sandbox.h" ++#endif + + #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(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() { +@@ -76,9 +83,11 @@ std::vector<BrokerFilePermission> GetPrintBackendFileP + } + + } // namespace ++#endif + + bool PrintBackendPreSandboxHook( + sandbox::policy::SandboxLinux::Options options) { ++#if !BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(USE_CUPS) + // Create the socket connections to the CUPS server before engaging the + // sandbox, since new connections cannot be made after that. +@@ -91,6 +100,7 @@ bool PrintBackendPreSandboxHook( + GetPrintBackendFilePermissions(), options); + + instance->EngageNamespaceSandboxIfPossible(); ++#endif + return true; + } + diff --git a/devel/electron33/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h b/devel/electron33/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h new file mode 100644 index 000000000000..6788d8214042 --- /dev/null +++ b/devel/electron33/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h @@ -0,0 +1,16 @@ +--- printing/sandbox/print_backend_sandbox_hook_linux.h.orig 2023-10-19 19:58:29 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 BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace printing { + diff --git a/devel/electron33/files/patch-remoting_base_chromoting__event.cc b/devel/electron33/files/patch-remoting_base_chromoting__event.cc new file mode 100644 index 000000000000..85d96833a2f5 --- /dev/null +++ b/devel/electron33/files/patch-remoting_base_chromoting__event.cc @@ -0,0 +1,11 @@ +--- remoting/base/chromoting_event.cc.orig 2022-11-30 08:12:58 UTC ++++ remoting/base/chromoting_event.cc +@@ -192,7 +192,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/devel/electron33/files/patch-remoting_base_host__settings.cc b/devel/electron33/files/patch-remoting_base_host__settings.cc new file mode 100644 index 000000000000..7a7c6d643459 --- /dev/null +++ b/devel/electron33/files/patch-remoting_base_host__settings.cc @@ -0,0 +1,20 @@ +--- remoting/base/host_settings.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-remoting_client_display_sys__opengl.h b/devel/electron33/files/patch-remoting_client_display_sys__opengl.h new file mode 100644 index 000000000000..78ba20a4ba8b --- /dev/null +++ b/devel/electron33/files/patch-remoting_client_display_sys__opengl.h @@ -0,0 +1,11 @@ +--- remoting/client/display/sys_opengl.h.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc b/devel/electron33/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc new file mode 100644 index 000000000000..c3640d85596d --- /dev/null +++ b/devel/electron33/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc @@ -0,0 +1,11 @@ +--- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2024-10-16 21:31:37 UTC ++++ remoting/codec/webrtc_video_encoder_vpx.cc +@@ -93,7 +93,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/devel/electron33/files/patch-remoting_host_base_desktop__environment__options.cc b/devel/electron33/files/patch-remoting_host_base_desktop__environment__options.cc new file mode 100644 index 000000000000..9d0ca346db78 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_base_desktop__environment__options.cc @@ -0,0 +1,11 @@ +--- remoting/host/base/desktop_environment_options.cc.orig 2024-10-16 21:31:37 UTC ++++ remoting/host/base/desktop_environment_options.cc +@@ -99,7 +99,7 @@ bool DesktopEnvironmentOptions::capture_video_on_dedic + // TODO(joedow): Determine whether we can migrate additional platforms to + // using the DesktopCaptureWrapper instead of the DesktopCaptureProxy. Then + // clean up DesktopCapturerProxy::Core::CreateCapturer(). +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return capture_video_on_dedicated_thread_; + #else + return false; diff --git a/devel/electron33/files/patch-remoting_host_base_switches.cc b/devel/electron33/files/patch-remoting_host_base_switches.cc new file mode 100644 index 000000000000..5bdc44c55b98 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_base_switches.cc @@ -0,0 +1,18 @@ +--- remoting/host/base/switches.cc.orig 2022-04-21 18:48:31 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/devel/electron33/files/patch-remoting_host_base_switches.h b/devel/electron33/files/patch-remoting_host_base_switches.h new file mode 100644 index 000000000000..100a7d5df7ff --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_base_switches.h @@ -0,0 +1,18 @@ +--- remoting/host/base/switches.h.orig 2022-04-21 18:48:31 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/devel/electron33/files/patch-remoting_host_basic__desktop__environment.cc b/devel/electron33/files/patch-remoting_host_basic__desktop__environment.cc new file mode 100644 index 000000000000..b5177b4dff15 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_basic__desktop__environment.cc @@ -0,0 +1,11 @@ +--- remoting/host/basic_desktop_environment.cc.orig 2023-08-10 01:48:48 UTC ++++ remoting/host/basic_desktop_environment.cc +@@ -195,7 +195,7 @@ BasicDesktopEnvironment::CreateVideoCapturer() { + scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner; + #if BUILDFLAG(IS_CHROMEOS_ASH) + capture_task_runner = ui_task_runner_; +-#elif BUILDFLAG(IS_LINUX) && defined(REMOTING_USE_WAYLAND) ++#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_WAYLAND) + // Each capturer instance should get its own thread so the capturers don't + // compete with each other in multistream mode. + capture_task_runner = base::ThreadPool::CreateSingleThreadTaskRunner( diff --git a/devel/electron33/files/patch-remoting_host_chromoting__host.cc b/devel/electron33/files/patch-remoting_host_chromoting__host.cc new file mode 100644 index 000000000000..0b79050257f4 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_chromoting__host.cc @@ -0,0 +1,11 @@ +--- remoting/host/chromoting_host.cc.orig 2024-10-16 21:31:37 UTC ++++ remoting/host/chromoting_host.cc +@@ -132,7 +132,7 @@ void ChromotingHost::Start(const std::string& host_own + &ChromotingHost::OnIncomingSession, base::Unretained(this))); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void ChromotingHost::StartChromotingHostServices() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK(!ipc_server_); diff --git a/devel/electron33/files/patch-remoting_host_chromoting__host.h b/devel/electron33/files/patch-remoting_host_chromoting__host.h new file mode 100644 index 000000000000..9414580a5f0b --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_chromoting__host.h @@ -0,0 +1,29 @@ +--- remoting/host/chromoting_host.h.orig 2024-10-16 21:31:37 UTC ++++ remoting/host/chromoting_host.h +@@ -33,7 +33,7 @@ + #include "remoting/protocol/session_manager.h" + #include "remoting/protocol/transport_context.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/chromoting_host_services_server.h" + #endif + +@@ -99,7 +99,7 @@ class ChromotingHost : public ClientSession::EventHand + // This method can only be called once during the lifetime of this object. + void Start(const std::string& host_owner); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Starts running the ChromotingHostServices server and listening for incoming + // IPC binding requests. + // Currently only Linux runs the ChromotingHostServices server on the host +@@ -203,7 +203,7 @@ class ChromotingHost : public ClientSession::EventHand + // List of host extensions. + std::vector<std::unique_ptr<HostExtension>> extensions_; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // IPC server that runs the CRD host service API. Non-null if the server name + // is set and the host is started. + // Currently only Linux runs the ChromotingHostServices server on the host diff --git a/devel/electron33/files/patch-remoting_host_chromoting__host__context.cc b/devel/electron33/files/patch-remoting_host_chromoting__host__context.cc new file mode 100644 index 000000000000..15aee6b1d902 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_chromoting__host__context.cc @@ -0,0 +1,11 @@ +--- remoting/host/chromoting_host_context.cc.orig 2023-08-10 01:48:48 UTC ++++ remoting/host/chromoting_host_context.cc +@@ -294,7 +294,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/devel/electron33/files/patch-remoting_host_chromoting__host__services__client.cc b/devel/electron33/files/patch-remoting_host_chromoting__host__services__client.cc new file mode 100644 index 000000000000..8e52f1fcd588 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_chromoting__host__services__client.cc @@ -0,0 +1,20 @@ +--- remoting/host/chromoting_host_services_client.cc.orig 2023-10-19 19:58:29 UTC ++++ remoting/host/chromoting_host_services_client.cc +@@ -59,7 +59,7 @@ mojo::PendingRemote<mojom::ChromotingHostServices> Con + + } // namespace + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + // static + constexpr char +@@ -136,7 +136,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/devel/electron33/files/patch-remoting_host_client__session.cc b/devel/electron33/files/patch-remoting_host_client__session.cc new file mode 100644 index 000000000000..5c9e99a26e96 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_client__session.cc @@ -0,0 +1,11 @@ +--- remoting/host/client_session.cc.orig 2024-10-16 21:31:37 UTC ++++ remoting/host/client_session.cc +@@ -161,7 +161,7 @@ void ClientSession::NotifyClientResolution( + if (desktop_environment_options_.enable_curtaining()) { + dpi_vector.set(resolution.x_dpi(), resolution.y_dpi()); + } +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + dpi_vector.set(resolution.x_dpi(), resolution.y_dpi()); + #endif + diff --git a/devel/electron33/files/patch-remoting_host_crash_crash__file__uploader.cc b/devel/electron33/files/patch-remoting_host_crash_crash__file__uploader.cc new file mode 100644 index 000000000000..3664076e9b79 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_crash_crash__file__uploader.cc @@ -0,0 +1,11 @@ +--- remoting/host/crash/crash_file_uploader.cc.orig 2024-08-14 20:55:09 UTC ++++ remoting/host/crash/crash_file_uploader.cc +@@ -44,7 +44,7 @@ constexpr char kProductNameValue[] = "Chromoting"; + + #if BUILDFLAG(IS_WIN) + constexpr char kProductNameValue[] = "Chromoting"; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr char kProductNameValue[] = "Chromoting_Linux"; + #elif BUILDFLAG(IS_MAC) + constexpr char kProductNameValue[] = "Chromoting_Mac"; diff --git a/devel/electron33/files/patch-remoting_host_desktop__and__cursor__conditional__composer.cc b/devel/electron33/files/patch-remoting_host_desktop__and__cursor__conditional__composer.cc new file mode 100644 index 000000000000..90a094f7cc47 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_desktop__and__cursor__conditional__composer.cc @@ -0,0 +1,20 @@ +--- remoting/host/desktop_and_cursor_conditional_composer.cc.orig 2023-03-30 00:33:55 UTC ++++ remoting/host/desktop_and_cursor_conditional_composer.cc +@@ -7,7 +7,7 @@ + #include "base/functional/bind.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/linux/wayland_utils.h" + #endif + +@@ -96,7 +96,7 @@ bool DesktopAndCursorConditionalComposer::IsOccluded( + } + + bool DesktopAndCursorConditionalComposer::SupportsFrameCallbacks() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return IsRunningWayland(); + #else + return false; diff --git a/devel/electron33/files/patch-remoting_host_desktop__capturer__proxy.cc b/devel/electron33/files/patch-remoting_host_desktop__capturer__proxy.cc new file mode 100644 index 000000000000..66d0b4475674 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_desktop__capturer__proxy.cc @@ -0,0 +1,29 @@ +--- remoting/host/desktop_capturer_proxy.cc.orig 2024-04-15 20:34:03 UTC ++++ remoting/host/desktop_capturer_proxy.cc +@@ -26,7 +26,7 @@ + #include "remoting/host/chromeos/frame_sink_desktop_capturer.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/environment.h" + #include "base/nix/xdg_util.h" + #include "remoting/host/linux/wayland_desktop_capturer.h" +@@ -91,7 +91,7 @@ void DesktopCapturerProxy::Core::CreateCapturer( + + #if BUILDFLAG(IS_CHROMEOS_ASH) + capturer_ = std::make_unique<FrameSinkDesktopCapturer>(); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + static base::nix::SessionType session_type = base::nix::SessionType::kUnset; + if (session_type == base::nix::SessionType::kUnset) { + std::unique_ptr<base::Environment> env = base::Environment::Create(); +@@ -298,7 +298,7 @@ bool DesktopCapturerProxy::SupportsFrameCallbacks() { + bool DesktopCapturerProxy::SupportsFrameCallbacks() { + DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return IsRunningWayland(); + #else + return false; diff --git a/devel/electron33/files/patch-remoting_host_desktop__capturer__wrapper.cc b/devel/electron33/files/patch-remoting_host_desktop__capturer__wrapper.cc new file mode 100644 index 000000000000..3aef4ac947f7 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_desktop__capturer__wrapper.cc @@ -0,0 +1,29 @@ +--- remoting/host/desktop_capturer_wrapper.cc.orig 2024-04-15 20:34:03 UTC ++++ remoting/host/desktop_capturer_wrapper.cc +@@ -13,7 +13,7 @@ + #include "third_party/webrtc/modules/desktop_capture/desktop_capturer.h" + #include "third_party/webrtc/modules/desktop_capture/desktop_frame.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/linux/wayland_desktop_capturer.h" + #include "remoting/host/linux/wayland_utils.h" + #endif +@@ -33,7 +33,7 @@ void DesktopCapturerWrapper::CreateCapturer( + SourceId id) { + DCHECK(!capturer_); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + capturer_ = std::make_unique<WaylandDesktopCapturer>(options); + } else { +@@ -112,7 +112,7 @@ bool DesktopCapturerWrapper::SupportsFrameCallbacks() + bool DesktopCapturerWrapper::SupportsFrameCallbacks() { + DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return capturer_ && IsRunningWayland(); + #else + return false; diff --git a/devel/electron33/files/patch-remoting_host_evaluate__capability.cc b/devel/electron33/files/patch-remoting_host_evaluate__capability.cc new file mode 100644 index 000000000000..8aff22ffb2d0 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_evaluate__capability.cc @@ -0,0 +1,11 @@ +--- remoting/host/evaluate_capability.cc.orig 2024-06-18 21:43:37 UTC ++++ remoting/host/evaluate_capability.cc +@@ -56,7 +56,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/devel/electron33/files/patch-remoting_host_host__attributes.cc b/devel/electron33/files/patch-remoting_host_host__attributes.cc new file mode 100644 index 000000000000..0487c82d866c --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_host__attributes.cc @@ -0,0 +1,11 @@ +--- remoting/host/host_attributes.cc.orig 2024-06-18 21:43:37 UTC ++++ remoting/host/host_attributes.cc +@@ -105,7 +105,7 @@ std::string GetHostAttributes() { + if (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/devel/electron33/files/patch-remoting_host_host__details.cc b/devel/electron33/files/patch-remoting_host_host__details.cc new file mode 100644 index 000000000000..556c96a8d502 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_host__details.cc @@ -0,0 +1,11 @@ +--- remoting/host/host_details.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-remoting_host_host__main.cc b/devel/electron33/files/patch-remoting_host_host__main.cc new file mode 100644 index 000000000000..0a401a433ffe --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_host__main.cc @@ -0,0 +1,38 @@ +--- remoting/host/host_main.cc.orig 2024-08-14 20:55:09 UTC ++++ remoting/host/host_main.cc +@@ -50,7 +50,7 @@ int UrlForwarderConfiguratorMain(); + 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) +@@ -156,7 +156,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) +@@ -222,7 +222,7 @@ int HostMain(int argc, char** argv) { + // be initialized first, so that the preference for crash-reporting can be + // looked up in the config file. + if (IsUsageStatsAllowed()) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + InitializeCrashReporting(); + #elif BUILDFLAG(IS_WIN) + // TODO: joedow - Enable crash reporting for the RDP process. diff --git a/devel/electron33/files/patch-remoting_host_ipc__constants.cc b/devel/electron33/files/patch-remoting_host_ipc__constants.cc new file mode 100644 index 000000000000..dc885465c844 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_ipc__constants.cc @@ -0,0 +1,20 @@ +--- remoting/host/ipc_constants.cc.orig 2023-02-01 18:43:24 UTC ++++ remoting/host/ipc_constants.cc +@@ -17,7 +17,7 @@ namespace remoting { + + namespace { + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + + #if !defined(NDEBUG) + // Use a different IPC name for debug builds so that we can run the host +@@ -68,7 +68,7 @@ GetChromotingHostServicesServerName() { + static const base::NoDestructor<mojo::NamedPlatformChannel::ServerName> + server_name( + named_mojo_ipc_server::WorkingDirectoryIndependentServerNameFromUTF8( +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Linux host creates the socket file in /tmp, and it won't be + // deleted until reboot, so we put username in the path in case + // the user switches the host owner. diff --git a/devel/electron33/files/patch-remoting_host_it2me_it2me__host.cc b/devel/electron33/files/patch-remoting_host_it2me_it2me__host.cc new file mode 100644 index 000000000000..1b10e9d7515d --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_it2me_it2me__host.cc @@ -0,0 +1,29 @@ +--- remoting/host/it2me/it2me_host.cc.orig 2024-10-16 21:31:37 UTC ++++ remoting/host/it2me/it2me_host.cc +@@ -57,7 +57,7 @@ + #include "remoting/host/chromeos/features.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/linux/wayland_manager.h" + #include "remoting/host/linux/wayland_utils.h" + #endif // BUILDFLAG(IS_LINUX) +@@ -185,7 +185,7 @@ void It2MeHost::Connect( + + OnPolicyUpdate(std::move(policies)); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + WaylandManager::Get()->Init(host_context_->ui_task_runner()); + } +@@ -318,7 +318,7 @@ void It2MeHost::ConnectOnNetworkThread( + + // Set up the desktop environment options. + DesktopEnvironmentOptions options(DesktopEnvironmentOptions::CreateDefault()); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + options.desktop_capture_options()->set_prefer_cursor_embedded(true); + } diff --git a/devel/electron33/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/devel/electron33/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc new file mode 100644 index 000000000000..410dd257aad0 --- /dev/null +++ b/devel/electron33/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 2023-10-19 19:58:29 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) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #if 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) + if (!IsRunningWayland()) { + // Initialize Xlib for multi-threaded use, allowing non-Chromium code to + // use X11 safely (such as the WebRTC capturer, GTK ...) +@@ -125,7 +125,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) + scoped_refptr<AutoThreadTaskRunner> input_task_runner; + if (!IsRunningWayland()) { + // Create an X11EventSource on all UI threads, so the global X11 connection +@@ -284,7 +284,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) + if (!IsRunningWayland()) { + input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() { + delete ui::X11EventSource::GetInstance(); diff --git a/devel/electron33/files/patch-remoting_host_me2me__desktop__environment.cc b/devel/electron33/files/patch-remoting_host_me2me__desktop__environment.cc new file mode 100644 index 000000000000..460067e94ac9 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_me2me__desktop__environment.cc @@ -0,0 +1,38 @@ +--- remoting/host/me2me_desktop_environment.cc.orig 2024-10-16 21:31:37 UTC ++++ remoting/host/me2me_desktop_environment.cc +@@ -108,7 +108,7 @@ std::string Me2MeDesktopEnvironment::GetCapabilities() + capabilities += protocol::kRemoteWebAuthnCapability; + } + +-#if BUILDFLAG(IS_LINUX) && defined(REMOTING_USE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) + if (!IsRunningWayland()) { + capabilities += " "; + capabilities += protocol::kMultiStreamCapability; +@@ -150,7 +150,7 @@ Me2MeDesktopEnvironment::Me2MeDesktopEnvironment( + // properly under Xvfb. + mutable_desktop_capture_options()->set_use_update_notifications(true); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Setting this option to false means that the capture differ wrapper will not + // be used when the X11 capturer is selected. This reduces the X11 capture + // time by a few milliseconds per frame and is safe because we can rely on +@@ -159,7 +159,7 @@ Me2MeDesktopEnvironment::Me2MeDesktopEnvironment( + mutable_desktop_capture_options()->set_detect_updated_region(false); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + mutable_desktop_capture_options()->set_prefer_cursor_embedded(false); + } +@@ -184,7 +184,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/devel/electron33/files/patch-remoting_host_mouse__cursor__monitor__proxy.cc b/devel/electron33/files/patch-remoting_host_mouse__cursor__monitor__proxy.cc new file mode 100644 index 000000000000..bb69e58176b4 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_mouse__cursor__monitor__proxy.cc @@ -0,0 +1,11 @@ +--- remoting/host/mouse_cursor_monitor_proxy.cc.orig 2023-03-30 00:33:55 UTC ++++ remoting/host/mouse_cursor_monitor_proxy.cc +@@ -73,7 +73,7 @@ void MouseCursorMonitorProxy::Core::CreateMouseCursorM + + #if BUILDFLAG(IS_CHROMEOS_ASH) + mouse_cursor_monitor_ = std::make_unique<MouseCursorMonitorAura>(); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + mouse_cursor_monitor_ = webrtc::MouseCursorMonitor::Create(options); + } else { diff --git a/devel/electron33/files/patch-remoting_host_policy__watcher.cc b/devel/electron33/files/patch-remoting_host_policy__watcher.cc new file mode 100644 index 000000000000..40313f6bbe7f --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_policy__watcher.cc @@ -0,0 +1,11 @@ +--- remoting/host/policy_watcher.cc.orig 2024-08-14 20:55:09 UTC ++++ remoting/host/policy_watcher.cc +@@ -178,7 +178,7 @@ base::Value::Dict PolicyWatcher::GetDefaultPolicies() + true); + result.Set(key::kRemoteAccessHostAllowEnterpriseFileTransfer, false); + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) + result.Set(key::kRemoteAccessHostMatchUsername, false); + #endif + #if !BUILDFLAG(IS_CHROMEOS) diff --git a/devel/electron33/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc b/devel/electron33/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc new file mode 100644 index 000000000000..e8f1cbd06f50 --- /dev/null +++ b/devel/electron33/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-05-19 14:06:27 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/devel/electron33/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc b/devel/electron33/files/patch-remoting_host_remote__open__url_remote__open__url__util.cc new file mode 100644 index 000000000000..84686704aae1 --- /dev/null +++ b/devel/electron33/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 2023-03-30 00:33:55 UTC ++++ remoting/host/remote_open_url/remote_open_url_util.cc +@@ -29,7 +29,7 @@ const wchar_t kRegisteredApplicationsKeyName[] = + #endif // BUILDFLAG(IS_WIN) + + bool IsRemoteOpenUrlSupported() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return true; + #elif BUILDFLAG(IS_WIN) + // The MSI installs the ProgID and capabilities into registry, but not the diff --git a/devel/electron33/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc b/devel/electron33/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc new file mode 100644 index 000000000000..b59e8f067d2b --- /dev/null +++ b/devel/electron33/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-02-28 16:54:41 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/devel/electron33/files/patch-remoting_host_remoting__me2me__host.cc b/devel/electron33/files/patch-remoting_host_remoting__me2me__host.cc new file mode 100644 index 000000000000..ba9ca5d4c941 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_remoting__me2me__host.cc @@ -0,0 +1,169 @@ +--- remoting/host/remoting_me2me_host.cc.orig 2024-10-16 21:31:37 UTC ++++ remoting/host/remoting_me2me_host.cc +@@ -134,7 +134,7 @@ + #include "remoting/host/mac/permission_utils.h" + #endif // BUILDFLAG(IS_APPLE) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #if defined(REMOTING_USE_X11) + #include <gtk/gtk.h> + #endif // defined(REMOTING_USE_X11) +@@ -145,13 +145,13 @@ + #endif // defined(REMOTING_USE_X11) + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +-#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 + +@@ -164,7 +164,7 @@ + #include "remoting/host/win/session_desktop_environment.h" + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "remoting/host/linux/wayland_manager.h" + #include "remoting/host/linux/wayland_utils.h" + #endif // BUILDFLAG(IS_LINUX) +@@ -193,7 +193,7 @@ const char kStdinConfigPath[] = "-"; + 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"; +@@ -412,7 +412,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) +@@ -478,7 +478,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_; +@@ -785,7 +785,7 @@ void HostProcess::ShutdownOnNetworkThread() { + 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) + } +@@ -856,7 +856,7 @@ void HostProcess::CreateAuthenticatorFactory() { + context_->url_loader_factory(), service_account_email_, + oauth_refresh_token_)); + +-#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, +@@ -1001,13 +1001,13 @@ void HostProcess::StartOnUiThread() { + base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)), + base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this))); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (IsRunningWayland()) { + WaylandManager::Get()->Init(context_->ui_task_runner()); + } + #endif // BUILDFLAG(IS_LINUX) + +-#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 = +@@ -1084,7 +1084,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. +@@ -1092,7 +1092,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(); })); +@@ -1502,7 +1502,7 @@ bool HostProcess::OnUsernamePolicyUpdate(const base::V + // 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) + std::optional<bool> host_username_match_required = + policies.FindBool(policy::key::kRemoteAccessHostMatchUsername); + if (!host_username_match_required.has_value()) { +@@ -1778,7 +1778,7 @@ void HostProcess::StartHost() { + corp_host_status_logger_->StartObserving(*session_manager); + } + +-#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_corp_host_); + #endif + +@@ -1798,7 +1798,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_ = +@@ -1834,7 +1834,7 @@ void HostProcess::StartHost() { + // addresses. + host_->Start(*host_owner_emails_.begin()); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // For Windows, ChromotingHostServices connections are handled by the daemon + // process, then the message pipe is forwarded to the network process. + host_->StartChromotingHostServices(); +@@ -1968,7 +1968,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 ...) +@@ -2017,7 +2017,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/devel/electron33/files/patch-remoting_host_setup_start__host__main.cc b/devel/electron33/files/patch-remoting_host_setup_start__host__main.cc new file mode 100644 index 000000000000..64021dcd35c5 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_setup_start__host__main.cc @@ -0,0 +1,29 @@ +--- remoting/host/setup/start_host_main.cc.orig 2024-10-16 21:31:37 UTC ++++ remoting/host/setup/start_host_main.cc +@@ -38,7 +38,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) +@@ -369,7 +369,7 @@ int StartHostMain(int argc, char** argv) { + } // 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); +@@ -394,7 +394,7 @@ int StartHostMain(int argc, char** argv) { + + mojo::core::Init(); + +-#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/devel/electron33/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc b/devel/electron33/files/patch-remoting_host_webauthn_remote__webauthn__caller__security__utils.cc new file mode 100644 index 000000000000..37d09341610c --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:51 UTC ++++ remoting/host/webauthn/remote_webauthn_caller_security_utils.cc +@@ -10,7 +10,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" +@@ -38,7 +38,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>({ +@@ -82,7 +82,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/devel/electron33/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc b/devel/electron33/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc new file mode 100644 index 000000000000..18f339fff1a6 --- /dev/null +++ b/devel/electron33/files/patch-remoting_host_webauthn_remote__webauthn__extension__notifier.cc @@ -0,0 +1,28 @@ +--- remoting/host/webauthn/remote_webauthn_extension_notifier.cc.orig 2024-10-16 21:31:37 UTC ++++ remoting/host/webauthn/remote_webauthn_extension_notifier.cc +@@ -30,7 +30,7 @@ + #include "base/task/thread_pool.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" +@@ -75,14 +75,14 @@ std::vector<base::FilePath> GetRemoteStateChangeDirPat + // 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/devel/electron33/files/patch-remoting_protocol_webrtc__video__stream.cc b/devel/electron33/files/patch-remoting_protocol_webrtc__video__stream.cc new file mode 100644 index 000000000000..bc501f7ba4c8 --- /dev/null +++ b/devel/electron33/files/patch-remoting_protocol_webrtc__video__stream.cc @@ -0,0 +1,11 @@ +--- remoting/protocol/webrtc_video_stream.cc.orig 2024-06-18 21:43:37 UTC ++++ remoting/protocol/webrtc_video_stream.cc +@@ -267,7 +267,7 @@ WebrtcVideoStream::WebrtcVideoStream(const SessionOpti + : session_options_(session_options) { + // TODO(joedow): Dig into the threading model on other platforms to see if they + // can also be updated to run on a dedicated thread. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + core_task_runner_ = base::ThreadPool::CreateSingleThreadTaskRunner( + {base::TaskPriority::HIGHEST}, + base::SingleThreadTaskRunnerThreadMode::DEDICATED); diff --git a/devel/electron33/files/patch-sandbox_BUILD.gn b/devel/electron33/files/patch-sandbox_BUILD.gn new file mode 100644 index 000000000000..6b1329566d7d --- /dev/null +++ b/devel/electron33/files/patch-sandbox_BUILD.gn @@ -0,0 +1,11 @@ +--- sandbox/BUILD.gn.orig 2022-08-31 12:19:35 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/devel/electron33/files/patch-sandbox_features.gni b/devel/electron33/files/patch-sandbox_features.gni new file mode 100644 index 000000000000..9f5a00868f96 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_features.gni @@ -0,0 +1,11 @@ +--- sandbox/features.gni.orig 2022-02-07 13:39:41 UTC ++++ sandbox/features.gni +@@ -6,7 +6,7 @@ + # currently. + # Do not disable seccomp_bpf anywhere without talking to + # security@chromium.org! +-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/devel/electron33/files/patch-sandbox_linux_BUILD.gn b/devel/electron33/files/patch-sandbox_linux_BUILD.gn new file mode 100644 index 000000000000..b0f6c5b497b6 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_linux_BUILD.gn @@ -0,0 +1,35 @@ +--- sandbox/linux/BUILD.gn.orig 2023-08-10 01:48:48 UTC ++++ sandbox/linux/BUILD.gn +@@ -12,11 +12,11 @@ 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 + +- compile_syscall_broker = is_linux || is_chromeos ++ compile_syscall_broker = (is_linux || is_chromeos) && !is_bsd + + # On Android, use plain GTest. + use_base_test_suite = is_linux || is_chromeos +@@ -379,6 +379,17 @@ component("sandbox_services") { + "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", ++ ] ++ } + } + + source_set("sandbox_services_headers") { diff --git a/devel/electron33/files/patch-sandbox_linux_services_init__process__reaper.cc b/devel/electron33/files/patch-sandbox_linux_services_init__process__reaper.cc new file mode 100644 index 000000000000..8ec351166a19 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_linux_services_init__process__reaper.cc @@ -0,0 +1,15 @@ +--- sandbox/linux/services/init_process_reaper.cc.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-sandbox_linux_services_libc__interceptor.cc b/devel/electron33/files/patch-sandbox_linux_services_libc__interceptor.cc new file mode 100644 index 000000000000..9b976657c263 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_linux_services_libc__interceptor.cc @@ -0,0 +1,21 @@ +--- sandbox/linux/services/libc_interceptor.cc.orig 2024-08-14 20:55:10 UTC ++++ sandbox/linux/services/libc_interceptor.cc +@@ -17,7 +17,9 @@ + #include <stddef.h> + #include <stdint.h> + #include <string.h> ++#if !BUILDFLAG(IS_BSD) + #include <sys/prctl.h> ++#endif + #include <sys/socket.h> + #include <sys/types.h> + #include <time.h> +@@ -173,7 +175,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/devel/electron33/files/patch-sandbox_policy_BUILD.gn b/devel/electron33/files/patch-sandbox_policy_BUILD.gn new file mode 100644 index 000000000000..45ddcbcada5e --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_BUILD.gn @@ -0,0 +1,39 @@ +--- sandbox/policy/BUILD.gn.orig 2024-10-16 21:31:37 UTC ++++ sandbox/policy/BUILD.gn +@@ -50,7 +50,7 @@ component("policy") { + "//third_party/jni_zero", + ] + } +- 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", +@@ -125,6 +125,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/devel/electron33/files/patch-sandbox_policy_features.cc b/devel/electron33/files/patch-sandbox_policy_features.cc new file mode 100644 index 000000000000..75803cdc6ec9 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_features.cc @@ -0,0 +1,23 @@ +--- sandbox/policy/features.cc.orig 2024-10-16 21:31:37 UTC ++++ sandbox/policy/features.cc +@@ -20,7 +20,11 @@ BASE_FEATURE(kNetworkServiceSandbox, + // (Only causes an effect when feature kNetworkServiceInProcess is disabled.) + BASE_FEATURE(kNetworkServiceSandbox, + "NetworkServiceSandbox", ++#if BUILDFLAG(IS_BSD) ++ base::FEATURE_ENABLED_BY_DEFAULT); ++#else + base::FEATURE_DISABLED_BY_DEFAULT); ++#endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + // Enables a fine-grained seccomp-BPF syscall filter for the network service. +@@ -134,7 +138,7 @@ BASE_FEATURE(kSpectreVariant2Mitigation, + base::FEATURE_ENABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Enabling the kNetworkServiceSandbox feature automatically enables Spectre + // variant 2 mitigations in the network service. This can lead to performance + // regressions, so enabling this feature will turn off the Spectre Variant 2 diff --git a/devel/electron33/files/patch-sandbox_policy_features.h b/devel/electron33/files/patch-sandbox_policy_features.h new file mode 100644 index 000000000000..913e8ed0bc30 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_features.h @@ -0,0 +1,11 @@ +--- sandbox/policy/features.h.orig 2024-10-16 21:31:37 UTC ++++ sandbox/policy/features.h +@@ -45,7 +45,7 @@ SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE(kSpectreVar + SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE(kSpectreVariant2Mitigation); + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE( + kForceDisableSpectreVariant2MitigationInNetworkService); + diff --git a/devel/electron33/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/devel/electron33/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc new file mode 100644 index 000000000000..1ca1d8cffe42 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc @@ -0,0 +1,248 @@ +--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2023-06-07 04:52:30 UTC ++++ sandbox/policy/freebsd/sandbox_freebsd.cc +@@ -0,0 +1,245 @@ ++// 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/freebsd/sandbox_freebsd.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/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 "crypto/crypto_buildflags.h" ++#include "ppapi/buildflags/buildflags.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 BUILDFLAG(USE_NSS_CERTS) ++#include "crypto/nss_util.h" ++#endif ++ ++#include "third_party/boringssl/src/include/openssl/crypto.h" ++ ++#include "ui/gfx/font_util.h" ++ ++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(); ++ base::SysInfo::CPUModelName(); ++ ++ switch (sandbox_type) { ++ case sandbox::mojom::Sandbox::kNoSandbox: ++ { ++#if BUILDFLAG(USE_NSS_CERTS) ++ // The main process has to initialize the ~/.pki dir which won't work ++ // after unveil(2). ++ crypto::EnsureNSSInit(); ++#endif ++ CRYPTO_pre_sandbox_init(); ++ ++ 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("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."; ++ } ++ ++ break; ++ } ++ case sandbox::mojom::Sandbox::kRenderer: ++ gfx::InitializeFonts(); ++ break; ++ default: ++ break; ++ } ++ ++ 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); ++ } ++ ++ if (hook) ++ CHECK(std::move(hook).Run(options)); ++ ++ 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"; ++#if BUILDFLAG(ENABLE_PPAPI) ++ case sandbox::mojom::Sandbox::kPpapi: ++ return "PPAPI"; ++#endif ++ 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/devel/electron33/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h b/devel/electron33/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h new file mode 100644 index 000000000000..8a18b8317c14 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h @@ -0,0 +1,281 @@ +--- sandbox/policy/freebsd/sandbox_freebsd.h.orig 2022-11-30 08:12:58 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 "base/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/devel/electron33/files/patch-sandbox_policy_mojom_sandbox.mojom b/devel/electron33/files/patch-sandbox_policy_mojom_sandbox.mojom new file mode 100644 index 000000000000..2b057f75cea1 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_mojom_sandbox.mojom @@ -0,0 +1,15 @@ +--- sandbox/policy/mojom/sandbox.mojom.orig 2024-10-16 21:31:37 UTC ++++ sandbox/policy/mojom/sandbox.mojom +@@ -80,6 +80,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/devel/electron33/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/devel/electron33/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc new file mode 100644 index 000000000000..5f069493e2cf --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc @@ -0,0 +1,427 @@ +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2024-04-28 08:50:27 UTC ++++ sandbox/policy/openbsd/sandbox_openbsd.cc +@@ -0,0 +1,424 @@ ++// 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/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 "crypto/crypto_buildflags.h" ++#include "ppapi/buildflags/buildflags.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 BUILDFLAG(USE_NSS_CERTS) ++#include "crypto/nss_util.h" ++#endif ++ ++#include "third_party/boringssl/src/include/openssl/crypto.h" ++ ++#include <fontconfig/fontconfig.h> ++#include "ui/gfx/linux/fontconfig_util.h" ++ ++#define MAXTOKENS 3 ++ ++#define _UNVEIL_MAIN "/etc/chromium/unveil.main"; ++#define _UNVEIL_GPU "/etc/chromium/unveil.gpu"; ++#define _UNVEIL_UTILITY_NETWORK "/etc/chromium/unveil.utility_network"; ++#define _UNVEIL_UTILITY_AUDIO "/etc/chromium/unveil.utility_audio"; ++#define _UNVEIL_UTILITY_VIDEO "/etc/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(); ++ ++ switch (sandbox_type) { ++ case sandbox::mojom::Sandbox::kNoSandbox: ++ { ++#if BUILDFLAG(USE_NSS_CERTS) ++ // The main process has to initialize the ~/.pki dir which won't work ++ // after unveil(2). ++ crypto::EnsureNSSInit(); ++#endif ++ CRYPTO_pre_sandbox_init(); ++ ++ 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("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."; ++ } ++ ++ break; ++ } ++ case sandbox::mojom::Sandbox::kRenderer: ++ { ++ FcConfig* config = gfx::GetGlobalFontConfig(); ++ DCHECK(config); ++ break; ++ } ++ default: ++ break; ++ } ++ ++ 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; ++ VLOG(5) << "pledge " << pstring; ++ } 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; ++ VLOG(5) << "pledge " << s; ++ } ++ fclose(fp); ++ } else { ++ LOG(ERROR) << "fopen(" << ppath << ") 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; ++ ++ switch (sandbox_type) { ++ case sandbox::mojom::Sandbox::kNoSandbox: ++ ufile = _UNVEIL_MAIN; ++ break; ++ case sandbox::mojom::Sandbox::kGpu: ++ ufile = _UNVEIL_GPU; ++ break; ++ case sandbox::mojom::Sandbox::kNetwork: ++ ufile = _UNVEIL_UTILITY_NETWORK; ++ break; ++ case sandbox::mojom::Sandbox::kAudio: ++ ufile = _UNVEIL_UTILITY_AUDIO; ++ break; ++ case sandbox::mojom::Sandbox::kVideoCapture: ++ ufile = _UNVEIL_UTILITY_VIDEO; ++ break; ++ default: ++ unveil("/dev/null", "r"); ++ goto done; ++ } ++ ++ 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(5) << "unveiling " << path << " with permissions " << tokens[1]; ++ } ++ } ++ fclose(fp); ++ } else { ++ LOG(ERROR) << "failed to open " << ufile << " errno: " << errno; ++ _exit(1); ++ } ++ ++done: ++ 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 (hook) ++ CHECK(std::move(hook).Run(options)); ++ ++ if (!command_line->HasSwitch(switches::kDisableUnveil)) ++ SetUnveil(process_type, sandbox_type); ++ ++ switch(sandbox_type) { ++ case sandbox::mojom::Sandbox::kNoSandbox: ++ SetPledge(NULL, "/etc/chromium/pledge.main"); ++ break; ++ case sandbox::mojom::Sandbox::kRenderer: ++ // prot_exec needed by v8 ++ // flock needed by sqlite3 locking ++ SetPledge("stdio rpath flock prot_exec recvfd sendfd ps", NULL); ++ break; ++ case sandbox::mojom::Sandbox::kGpu: ++ SetPledge("stdio drm rpath flock cpath wpath prot_exec recvfd sendfd tmppath", NULL); ++ break; ++#if BUILDFLAG(ENABLE_PPAPI) ++ case sandbox::mojom::Sandbox::kPpapi: ++ // prot_exec needed by v8 ++ SetPledge("stdio rpath prot_exec recvfd sendfd", NULL); ++ break; ++#endif ++ case sandbox::mojom::Sandbox::kAudio: ++ SetPledge(NULL, "/etc/chromium/pledge.utility_audio"); ++ break; ++ case sandbox::mojom::Sandbox::kNetwork: ++ SetPledge(NULL, "/etc/chromium/pledge.utility_network"); ++ break; ++ case sandbox::mojom::Sandbox::kVideoCapture: ++ SetPledge(NULL, "/etc/chromium/pledge.utility_video"); ++ break; ++ case sandbox::mojom::Sandbox::kUtility: ++ case sandbox::mojom::Sandbox::kService: ++ SetPledge("stdio rpath cpath wpath fattr flock sendfd recvfd prot_exec", NULL); ++ break; ++ default: ++ LOG(ERROR) << "non-pledge()'d process: " << GetSandboxTypeInEnglish(sandbox_type); ++ break; ++ } ++ ++ 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"; ++#if BUILDFLAG(ENABLE_PPAPI) ++ case sandbox::mojom::Sandbox::kPpapi: ++ return "PPAPI"; ++#endif ++ 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/devel/electron33/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h b/devel/electron33/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h new file mode 100644 index 000000000000..88378f8d083c --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h @@ -0,0 +1,285 @@ +--- sandbox/policy/openbsd/sandbox_openbsd.h.orig 2022-11-30 08:12:58 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 "base/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/devel/electron33/files/patch-sandbox_policy_sandbox.cc b/devel/electron33/files/patch-sandbox_policy_sandbox.cc new file mode 100644 index 000000000000..19df6f473d79 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_sandbox.cc @@ -0,0 +1,22 @@ +--- sandbox/policy/sandbox.cc.orig 2024-04-15 20:34:03 UTC ++++ sandbox/policy/sandbox.cc +@@ -18,6 +18,10 @@ + #include "sandbox/policy/linux/sandbox_linux.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#endif // BUILDFLAG(IS_BSD) ++ + #if BUILDFLAG(IS_MAC) + #include "sandbox/mac/seatbelt.h" + #endif // BUILDFLAG(IS_MAC) +@@ -32,7 +36,7 @@ namespace policy { + 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/devel/electron33/files/patch-sandbox_policy_sandbox.h b/devel/electron33/files/patch-sandbox_policy_sandbox.h new file mode 100644 index 000000000000..47c41a0262f4 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_sandbox.h @@ -0,0 +1,24 @@ +--- sandbox/policy/sandbox.h.orig 2023-05-25 00:42:01 UTC ++++ sandbox/policy/sandbox.h +@@ -12,6 +12,12 @@ + #include "sandbox/policy/linux/sandbox_linux.h" + #endif + ++#if BUILDFLAG(IS_OPENBSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#elif BUILDFLAG(IS_FREEBSD) ++#include "sandbox/policy/freebsd/sandbox_freebsd.h" ++#endif ++ + namespace sandbox { + namespace mojom { + enum class Sandbox; +@@ -32,7 +38,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/devel/electron33/files/patch-sandbox_policy_sandbox__type.cc b/devel/electron33/files/patch-sandbox_policy_sandbox__type.cc new file mode 100644 index 000000000000..1d110a456365 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_sandbox__type.cc @@ -0,0 +1,120 @@ +--- sandbox/policy/sandbox_type.cc.orig 2024-10-16 21:31:37 UTC ++++ sandbox/policy/sandbox_type.cc +@@ -38,7 +38,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) { + #if BUILDFLAG(IS_MAC) + case Sandbox::kMirroring: + #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) +@@ -73,7 +73,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { + case Sandbox::kLibassistant: + #endif // BUILDFLAG(ENABLE_CROS_LIBASSISTANT) + #endif // // BUILDFLAG(IS_CHROMEOS_ASH) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) | BUILDFLAG(IS_BSD) + case Sandbox::kZygoteIntermediateSandbox: + case Sandbox::kHardwareVideoEncoding: + #endif +@@ -131,7 +131,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) +@@ -142,10 +142,10 @@ 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_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + case Sandbox::kHardwareVideoEncoding: + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + #if BUILDFLAG(IS_CHROMEOS_ASH) +@@ -171,7 +171,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi + switches::kServiceSandboxType, + StringFromUtilitySandboxType(sandbox_type)); + break; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + case Sandbox::kZygoteIntermediateSandbox: + break; + #endif +@@ -211,7 +211,7 @@ sandbox::mojom::Sandbox SandboxTypeFromCommandLine( + return Sandbox::kUtility; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Intermediate process gains a sandbox later. + if (process_type == switches::kZygoteProcessType) + return Sandbox::kZygoteIntermediateSandbox; +@@ -259,7 +259,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 +@@ -291,11 +291,11 @@ 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) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + case Sandbox::kHardwareVideoEncoding: + return switches::kHardwareVideoEncodingSandbox; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -314,7 +314,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb + // The following are not utility processes so should not occur. + case Sandbox::kRenderer: + case Sandbox::kGpu: +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + case Sandbox::kZygoteIntermediateSandbox: + #endif + NOTREACHED_IN_MIGRATION(); +@@ -389,15 +389,15 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( + if (sandbox_string == switches::kVideoEffectsSandbox) { + return Sandbox::kVideoEffects; + } +-#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) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (sandbox_string == switches::kHardwareVideoEncodingSandbox) + return Sandbox::kHardwareVideoEncoding; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/devel/electron33/files/patch-sandbox_policy_switches.cc b/devel/electron33/files/patch-sandbox_policy_switches.cc new file mode 100644 index 000000000000..10454848c71a --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_switches.cc @@ -0,0 +1,26 @@ +--- sandbox/policy/switches.cc.orig 2024-10-16 21:31:37 UTC ++++ sandbox/policy/switches.cc +@@ -55,10 +55,10 @@ const char kMirroringSandbox[] = "mirroring"; + 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) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const char kHardwareVideoEncodingSandbox[] = "hardware_video_encoding"; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -98,7 +98,9 @@ const char kNoSandbox[] = "no-sandbox"; + // 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/devel/electron33/files/patch-sandbox_policy_switches.h b/devel/electron33/files/patch-sandbox_policy_switches.h new file mode 100644 index 000000000000..516f750c27e3 --- /dev/null +++ b/devel/electron33/files/patch-sandbox_policy_switches.h @@ -0,0 +1,25 @@ +--- sandbox/policy/switches.h.orig 2024-10-16 21:31:37 UTC ++++ sandbox/policy/switches.h +@@ -58,10 +58,10 @@ SANDBOX_POLICY_EXPORT extern const char kMirroringSand + 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) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + SANDBOX_POLICY_EXPORT extern const char kHardwareVideoEncodingSandbox[]; + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + +@@ -83,7 +83,8 @@ SANDBOX_POLICY_EXPORT extern const char kNoSandbox[]; + 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/devel/electron33/files/patch-services_audio_audio__sandbox__hook__linux.cc b/devel/electron33/files/patch-services_audio_audio__sandbox__hook__linux.cc new file mode 100644 index 000000000000..fe56690733ee --- /dev/null +++ b/devel/electron33/files/patch-services_audio_audio__sandbox__hook__linux.cc @@ -0,0 +1,31 @@ +--- services/audio/audio_sandbox_hook_linux.cc.orig 2024-06-18 21:43:37 UTC ++++ services/audio/audio_sandbox_hook_linux.cc +@@ -143,6 +143,7 @@ void AddPulseAudioFilePermissions( + } + #endif + ++#if !BUILDFLAG(IS_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 !BUILDFLAG(IS_BSD) + LoadAudioLibraries(); + auto* instance = sandbox::policy::SandboxLinux::GetInstance(); + instance->StartBrokerProcess(MakeBrokerCommandSet({ +@@ -192,6 +195,7 @@ bool AudioPreSandboxHook(sandbox::policy::SandboxLinux + // TODO(crbug.com/40579955) 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/devel/electron33/files/patch-services_audio_audio__sandbox__hook__linux.h b/devel/electron33/files/patch-services_audio_audio__sandbox__hook__linux.h new file mode 100644 index 000000000000..02d4b785c791 --- /dev/null +++ b/devel/electron33/files/patch-services_audio_audio__sandbox__hook__linux.h @@ -0,0 +1,16 @@ +--- services/audio/audio_sandbox_hook_linux.h.orig 2023-10-19 19:58:30 UTC ++++ services/audio/audio_sandbox_hook_linux.h +@@ -5,7 +5,13 @@ + #ifndef SERVICES_AUDIO_AUDIO_SANDBOX_HOOK_LINUX_H_ + #define SERVICES_AUDIO_AUDIO_SANDBOX_HOOK_LINUX_H_ + ++#include "build/build_config.h" ++ ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace audio { + diff --git a/devel/electron33/files/patch-services_device_BUILD.gn b/devel/electron33/files/patch-services_device_BUILD.gn new file mode 100644 index 000000000000..cf2220f6010a --- /dev/null +++ b/devel/electron33/files/patch-services_device_BUILD.gn @@ -0,0 +1,11 @@ +--- services/device/BUILD.gn.orig 2024-10-16 21:31:37 UTC ++++ services/device/BUILD.gn +@@ -15,7 +15,7 @@ is_serial_enabled_platform = + } + + is_serial_enabled_platform = +- is_win || ((is_linux || is_chromeos) && use_udev) || is_mac ++ is_win || ((!is_bsd && is_linux || is_chromeos) && use_udev) || is_mac + + source_set("lib") { + # This should be visible only to embedders of the Device Service, and the diff --git a/devel/electron33/files/patch-services_device_geolocation_location__provider__manager.cc b/devel/electron33/files/patch-services_device_geolocation_location__provider__manager.cc new file mode 100644 index 000000000000..bedbfbf68709 --- /dev/null +++ b/devel/electron33/files/patch-services_device_geolocation_location__provider__manager.cc @@ -0,0 +1,11 @@ +--- services/device/geolocation/location_provider_manager.cc.orig 2024-08-14 20:55:10 UTC ++++ services/device/geolocation/location_provider_manager.cc +@@ -51,7 +51,7 @@ LocationProviderManager::LocationProviderManager( + #if BUILDFLAG(IS_ANDROID) + // On Android, default to using the platform location provider. + provider_manager_mode_ = kPlatformOnly; +-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Ash / Lacros / Linux, default to using the network location provider. + provider_manager_mode_ = kNetworkOnly; + #else diff --git a/devel/electron33/files/patch-services_device_hid_BUILD.gn b/devel/electron33/files/patch-services_device_hid_BUILD.gn new file mode 100644 index 000000000000..9da99267ac00 --- /dev/null +++ b/devel/electron33/files/patch-services_device_hid_BUILD.gn @@ -0,0 +1,30 @@ +--- services/device/hid/BUILD.gn.orig 2024-02-21 00:20:51 UTC ++++ services/device/hid/BUILD.gn +@@ -36,7 +36,26 @@ source_set("hid") { + "//services/device/public/mojom", + ] + +- if ((is_linux || is_chromeos) && use_udev) { ++ 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) && !is_bsd && use_udev) { + sources += [ + "hid_connection_linux.cc", + "hid_connection_linux.h", diff --git a/devel/electron33/files/patch-services_device_hid_hid__connection__fido.cc b/devel/electron33/files/patch-services_device_hid_hid__connection__fido.cc new file mode 100644 index 000000000000..deab3ad19e11 --- /dev/null +++ b/devel/electron33/files/patch-services_device_hid_hid__connection__fido.cc @@ -0,0 +1,219 @@ +--- services/device/hid/hid_connection_fido.cc.orig 2024-06-30 11:49:03 UTC ++++ services/device/hid/hid_connection_fido.cc +@@ -0,0 +1,216 @@ ++// Copyright 2014 The Chromium Authors ++// 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 <errno.h> ++#include <sys/ioctl.h> ++ ++#include <memory> ++#include <string> ++#include <utility> ++ ++#include "base/files/file_descriptor_watcher_posix.h" ++#include "base/memory/ref_counted_memory.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/threading/scoped_blocking_call.h" ++#include "components/device_event_log/device_event_log.h" ++#include "services/device/hid/hid_service.h" ++ ++namespace device { ++ ++class HidConnectionFido::BlockingTaskRunnerHelper { ++ public: ++ BlockingTaskRunnerHelper(base::ScopedFD fd, ++ scoped_refptr<HidDeviceInfo> device_info, ++ base::WeakPtr<HidConnectionFido> connection) ++ : fd_(std::move(fd)), ++ connection_(connection), ++ origin_task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) { ++ 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_); ++ ++ 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->data(); ++ 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 ++ << " != " << buffer->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); ++ 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_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ 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_); ++ ++ auto buffer = ++ base::MakeRefCounted<base::RefCountedBytes>(report_buffer_size_); ++ uint8_t* data = buffer->as_vector().data(); ++ size_t length = report_buffer_size_; ++ if (!has_report_id_) { ++ // Fido 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_; ++ size_t report_buffer_size_; ++ 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), ++ 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()))); ++} ++ ++HidConnectionFido::~HidConnectionFido() {} ++ ++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. ++ helper_.reset(); ++} ++ ++void HidConnectionFido::PlatformWrite( ++ scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ // Fido expects the first byte of the buffer to always be a report ID so the ++ // buffer can be used directly. ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::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); ++ auto buffer = base::MakeRefCounted<base::RefCountedBytes>( ++ device_info()->max_feature_report_size() + 1); ++ buffer->as_vector().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 HidConnectionFido::PlatformSendFeatureReport( ++ scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ // Fido expects the first byte of the buffer to always be a report ID so the ++ // buffer can be used directly. ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::SendFeatureReport, ++ base::Unretained(helper_.get()), buffer, ++ std::move(callback))); ++} ++ ++} // namespace device diff --git a/devel/electron33/files/patch-services_device_hid_hid__connection__fido.h b/devel/electron33/files/patch-services_device_hid_hid__connection__fido.h new file mode 100644 index 000000000000..9e5e403189a4 --- /dev/null +++ b/devel/electron33/files/patch-services_device_hid_hid__connection__fido.h @@ -0,0 +1,63 @@ +--- services/device/hid/hid_connection_fido.h.orig 2022-10-28 16:39:00 UTC ++++ services/device/hid/hid_connection_fido.h +@@ -0,0 +1,60 @@ ++// Copyright 2014 The Chromium Authors ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef SERVICES_DEVICE_HID_HID_CONNECTION_LINUX_H_ ++#define SERVICES_DEVICE_HID_HID_CONNECTION_LINUX_H_ ++ ++#include <stddef.h> ++#include <stdint.h> ++ ++#include "base/files/scoped_file.h" ++#include "base/memory/weak_ptr.h" ++#include "base/task/sequenced_task_runner.h" ++#include "services/device/hid/hid_connection.h" ++ ++namespace base { ++class SequencedTaskRunner; ++} ++ ++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); ++ HidConnectionFido(HidConnectionFido&) = delete; ++ HidConnectionFido& operator=(HidConnectionFido&) = delete; ++ ++ private: ++ friend class base::RefCountedThreadSafe<HidConnectionFido>; ++ class BlockingTaskRunnerHelper; ++ ++ ~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; ++ ++ // |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_; ++ ++ base::WeakPtrFactory<HidConnectionFido> weak_factory_{this}; ++}; ++ ++} // namespace device ++ ++#endif // SERVICES_DEVICE_HID_HID_CONNECTION_LINUX_H_ diff --git a/devel/electron33/files/patch-services_device_hid_hid__connection__freebsd.cc b/devel/electron33/files/patch-services_device_hid_hid__connection__freebsd.cc new file mode 100644 index 000000000000..ee9dea6aec8b --- /dev/null +++ b/devel/electron33/files/patch-services_device_hid_hid__connection__freebsd.cc @@ -0,0 +1,243 @@ +--- services/device/hid/hid_connection_freebsd.cc.orig 2024-06-30 11:49:03 UTC ++++ services/device/hid/hid_connection_freebsd.cc +@@ -0,0 +1,240 @@ ++// 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/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 "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::SequencedTaskRunner::GetCurrentDefault()) { ++ 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->as_vector().data(); ++ 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->as_vector().data(); ++ 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->as_vector().data(); ++ ugd.ugd_maxlen = buffer->size(); ++ // FreeBSD does not require report id if it's not used ++ if (buffer->data()[0] == 0) { ++ ugd.ugd_data = buffer->as_vector().data() + 1; ++ ugd.ugd_maxlen = buffer->size() - 1; ++ } else { ++ ugd.ugd_data = buffer->as_vector().data(); ++ 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->as_vector().data(); ++ 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->as_vector().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/devel/electron33/files/patch-services_device_hid_hid__connection__freebsd.h b/devel/electron33/files/patch-services_device_hid_hid__connection__freebsd.h new file mode 100644 index 000000000000..29870254fa6b --- /dev/null +++ b/devel/electron33/files/patch-services_device_hid_hid__connection__freebsd.h @@ -0,0 +1,70 @@ +--- services/device/hid/hid_connection_freebsd.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-services_device_hid_hid__service.cc b/devel/electron33/files/patch-services_device_hid_hid__service.cc new file mode 100644 index 000000000000..0830326cab3c --- /dev/null +++ b/devel/electron33/files/patch-services_device_hid_hid__service.cc @@ -0,0 +1,24 @@ +--- services/device/hid/hid_service.cc.orig 2022-11-30 08:12:58 UTC ++++ services/device/hid/hid_service.cc +@@ -20,6 +20,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) +@@ -68,6 +72,10 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr + std::unique_ptr<HidService> HidService::Create() { + #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(USE_UDEV) + return std::make_unique<HidServiceLinux>(); ++#elif BUILDFLAG(IS_OPENBSD) ++ return std::make_unique<HidServiceFido>(); ++#elif BUILDFLAG(IS_FREEBSD) ++ return std::make_unique<HidServiceFreeBSD>(); + #elif BUILDFLAG(IS_MAC) + return std::make_unique<HidServiceMac>(); + #elif BUILDFLAG(IS_WIN) diff --git a/devel/electron33/files/patch-services_device_hid_hid__service__fido.cc b/devel/electron33/files/patch-services_device_hid_hid__service__fido.cc new file mode 100644 index 000000000000..4947633197b6 --- /dev/null +++ b/devel/electron33/files/patch-services_device_hid_hid__service__fido.cc @@ -0,0 +1,399 @@ +--- services/device/hid/hid_service_fido.cc.orig 2023-04-10 14:02:12 UTC ++++ services/device/hid/hid_service_fido.cc +@@ -0,0 +1,396 @@ ++// Copyright 2014 The Chromium Authors ++// 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 <dlfcn.h> ++#include <fido.h> ++ ++#include <limits> ++#include <memory> ++#include <string> ++#include <utility> ++ ++#include "base/files/file.h" ++#include "base/files/file_path.h" ++#include "base/files/file_util.h" ++#include "base/files/scoped_file.h" ++#include "base/location.h" ++#include "base/sequence_checker.h" ++#include "base/strings/string_number_conversions.h" ++#include "base/strings/string_split.h" ++#include "base/strings/string_util.h" ++#include "base/task/sequenced_task_runner.h" ++#include "base/task/thread_pool.h" ++#include "base/threading/scoped_blocking_call.h" ++#include "build/build_config.h" ++#include "build/chromeos_buildflags.h" ++#include "components/device_event_log/device_event_log.h" ++#include "device/udev_linux/scoped_udev.h" ++#include "device/udev_linux/udev_watcher.h" ++#include "services/device/hid/hid_connection_fido.h" ++ ++namespace device { ++ ++namespace { ++ ++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; ++} ++ ++// 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 ++ ++struct HidServiceFido::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::SequencedTaskRunner::GetCurrentDefault()), ++ 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 HidServiceFido::BlockingTaskRunnerHelper : public UdevWatcher::Observer { ++ public: ++ BlockingTaskRunnerHelper(base::WeakPtr<HidServiceFido> service) ++ : service_(std::move(service)), ++ task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) { ++ DETACH_FROM_SEQUENCE(sequence_checker_); ++ } ++ ++ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete; ++ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete; ++ ++ ~BlockingTaskRunnerHelper() override { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ } ++ ++ void Start() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ++ void *library = dlopen("libudev.so", RTLD_NOW | RTLD_LOCAL); ++ if (library) { ++ dlclose(library); ++ watcher_ = UdevWatcher::StartWatching(this); ++ watcher_->EnumerateExistingDevices(); ++ } else { ++ HID_LOG(ERROR) << "No udev available, failling back to single enumeration"; ++ WalkFidoDevices(nullptr); ++ } ++ ++ task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&HidServiceFido::FirstEnumerationComplete, service_)); ++ } ++ ++ private: ++ void WalkFidoDevices(const char *name) { ++ 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; ++ } ++ ++ if (name != nullptr && !strcmp(path, name)) { ++ HID_LOG(EVENT) << "hotplug device " << i << ": " << path; ++ OnFidoDeviceAdded(di); ++ break; ++ } ++ ++ 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; ++ } ++ ++ fido_dev_close(dev); ++ fido_dev_free(&dev); ++ ++ OnFidoDeviceAdded(di); ++ } ++ out: ++ if (devlist != NULL) ++ fido_dev_info_free(&devlist, MAX_FIDO_DEVICES); ++ } ++ ++ void OnFidoDeviceAdded(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)); ++ ++ auto device_info = base::MakeRefCounted<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)); ++ } ++ ++ // UdevWatcher::Observer ++ void OnDeviceAdded(ScopedUdevDevicePtr device) override { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ ++ const char* subsystem = udev_device_get_subsystem(device.get()); ++ if (!subsystem || strcmp(subsystem, "fido") != 0) ++ return; ++ ++ const char* device_path = udev_device_get_syspath(device.get()); ++ if (!device_path) ++ return; ++ ++ WalkFidoDevices(device_path); ++ } ++ ++ void OnDeviceRemoved(ScopedUdevDevicePtr device) override { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ ++ const char* device_path = udev_device_get_syspath(device.get()); ++ if (device_path) { ++ task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&HidServiceFido::RemoveDevice, service_, ++ std::string(device_path))); ++ } ++ } ++ ++ void OnDeviceChanged(ScopedUdevDevicePtr) override {} ++ ++ SEQUENCE_CHECKER(sequence_checker_); ++ std::unique_ptr<UdevWatcher> watcher_; ++ ++ // This weak pointer is only valid when checked on this task runner. ++ base::WeakPtr<HidServiceFido> service_; ++ scoped_refptr<base::SequencedTaskRunner> task_runner_; ++}; ++ ++HidServiceFido::HidServiceFido() ++ : blocking_task_runner_( ++ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)), ++ helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) { ++ // We need to properly initialize |blocking_task_helper_| here because we need ++ // |weak_factory_| to be created first. ++ helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr())); ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::Start, ++ base::Unretained(helper_.get()))); ++} ++ ++HidServiceFido::~HidServiceFido() = default; ++ ++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::SequencedTaskRunner::GetCurrentDefault()->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(&HidServiceFido::OpenOnBlockingThread, ++ std::move(params))); ++} ++ ++// static ++void HidServiceFido::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()) { ++ base::File::Error file_error = device_file.error_details(); ++ ++ if (file_error == base::File::FILE_ERROR_ACCESS_DENIED) { ++ HID_LOG(EVENT) ++ << "Access denied opening device read-write, trying read-only."; ++ flags = base::File::FLAG_OPEN | base::File::FLAG_READ; ++ 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; ++ } ++ if (!terrible_ping_kludge(device_file.GetPlatformFile(), params->device_info->device_node())) { ++ HID_LOG(EVENT) << "Failed to ping " << params->device_info->device_node(); ++ 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(&HidServiceFido::FinishOpen, ++ std::move(params))); ++} ++ ++// static ++void HidServiceFido::FinishOpen(std::unique_ptr<ConnectParams> params) { ++ DCHECK(params->fd.is_valid()); ++ ++ if (!base::SetNonBlocking(params->fd.get())) { ++ HID_PLOG(DEBUG) << "Failed to set the non-blocking flag on the device fd"; ++ std::move(params->callback).Run(nullptr); ++ return; ++ } ++ ++ 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)); ++} ++ ++} // namespace device diff --git a/devel/electron33/files/patch-services_device_hid_hid__service__fido.h b/devel/electron33/files/patch-services_device_hid_hid__service__fido.h new file mode 100644 index 000000000000..c5af55c5d3c5 --- /dev/null +++ b/devel/electron33/files/patch-services_device_hid_hid__service__fido.h @@ -0,0 +1,68 @@ +--- services/device/hid/hid_service_fido.h.orig 2022-10-28 16:39:00 UTC ++++ services/device/hid/hid_service_fido.h +@@ -0,0 +1,65 @@ ++// Copyright 2014 The Chromium Authors ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ ++#define SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ ++ ++#include <memory> ++ ++#include "base/compiler_specific.h" ++#include "base/files/scoped_file.h" ++#include "base/memory/weak_ptr.h" ++#include "base/task/sequenced_task_runner.h" ++#include "build/build_config.h" ++#include "build/chromeos_buildflags.h" ++#include "services/device/hid/hid_device_info.h" ++#include "services/device/hid/hid_service.h" ++ ++namespace device { ++ ++class HidServiceFido : public HidService { ++ public: ++ HidServiceFido(); ++ HidServiceFido(HidServiceFido&) = delete; ++ HidServiceFido& operator=(HidServiceFido&) = delete; ++ ~HidServiceFido() override; ++ ++ // HidService: ++ void Connect(const std::string& device_id, ++ bool allow_protected_reports, ++ bool allow_fido_reports, ++ ConnectCallback callback) override; ++ base::WeakPtr<HidService> GetWeakPtr() override; ++ ++ private: ++ struct ConnectParams; ++ class BlockingTaskRunnerHelper; ++ ++// These functions implement the process of locating, requesting access to and ++// opening a device. Because this operation crosses multiple threads these ++// functions are static and the necessary parameters are passed as a single ++// struct. ++#if BUILDFLAG(IS_CHROMEOS_ASH) ++ static void OnPathOpenComplete(std::unique_ptr<ConnectParams> params, ++ base::ScopedFD fd); ++ static void OnPathOpenError(const std::string& device_path, ++ ConnectCallback callback, ++ const std::string& error_name, ++ const std::string& error_message); ++#else ++ static void OpenOnBlockingThread(std::unique_ptr<ConnectParams> params); ++#endif ++ 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<HidServiceFido> weak_factory_{this}; ++}; ++ ++} // namespace device ++ ++#endif // SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ diff --git a/devel/electron33/files/patch-services_device_hid_hid__service__freebsd.cc b/devel/electron33/files/patch-services_device_hid_hid__service__freebsd.cc new file mode 100644 index 000000000000..0e12715a6312 --- /dev/null +++ b/devel/electron33/files/patch-services_device_hid_hid__service__freebsd.cc @@ -0,0 +1,398 @@ +--- services/device/hid/hid_service_freebsd.cc.orig 2023-04-10 14:02:12 UTC ++++ services/device/hid/hid_service_freebsd.cc +@@ -0,0 +1,395 @@ ++// 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/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_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::SequencedTaskRunner::GetCurrentDefault()), ++ 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::SequencedTaskRunner::GetCurrentDefault()) { ++ 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::SequencedTaskRunner::GetCurrentDefault()->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/devel/electron33/files/patch-services_device_hid_hid__service__freebsd.h b/devel/electron33/files/patch-services_device_hid_hid__service__freebsd.h new file mode 100644 index 000000000000..b60d2fc84553 --- /dev/null +++ b/devel/electron33/files/patch-services_device_hid_hid__service__freebsd.h @@ -0,0 +1,52 @@ +--- services/device/hid/hid_service_freebsd.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h b/devel/electron33/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h new file mode 100644 index 000000000000..9d6a5751b0d3 --- /dev/null +++ b/devel/electron33/files/patch-services_device_public_cpp_generic__sensor_sensor__reading.h @@ -0,0 +1,11 @@ +--- services/device/public/cpp/generic_sensor/sensor_reading.h.orig 2023-11-29 21:40:08 UTC ++++ services/device/public/cpp/generic_sensor/sensor_reading.h +@@ -8,6 +8,8 @@ + #include <stddef.h> + #include <stdint.h> + ++#include <cstdint> ++ + #include <type_traits> + + namespace device { diff --git a/devel/electron33/files/patch-services_device_public_mojom_BUILD.gn b/devel/electron33/files/patch-services_device_public_mojom_BUILD.gn new file mode 100644 index 000000000000..a5aae0167aae --- /dev/null +++ b/devel/electron33/files/patch-services_device_public_mojom_BUILD.gn @@ -0,0 +1,11 @@ +--- services/device/public/mojom/BUILD.gn.orig 2024-10-16 21:31:37 UTC ++++ services/device/public/mojom/BUILD.gn +@@ -98,7 +98,7 @@ mojom("device_service") { + enable_js_fuzzing = false + + enabled_features = [] +- if ((is_linux || is_chromeos) && use_udev) { ++ if ((is_linux || is_chromeos) && !is_bsd && use_udev) { + enabled_features += [ "enable_input_device_manager" ] + } + diff --git a/devel/electron33/files/patch-services_device_serial_BUILD.gn b/devel/electron33/files/patch-services_device_serial_BUILD.gn new file mode 100644 index 000000000000..a1f5f2465a1e --- /dev/null +++ b/devel/electron33/files/patch-services_device_serial_BUILD.gn @@ -0,0 +1,11 @@ +--- services/device/serial/BUILD.gn.orig 2022-11-30 08:12:58 UTC ++++ services/device/serial/BUILD.gn +@@ -5,7 +5,7 @@ + import("//build/config/chromeos/ui_mode.gni") + import("//build/config/features.gni") + +-if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac) { ++if (is_win || ((!is_bsd && is_linux || is_chromeos) && use_udev) || is_mac) { + config("platform_support") { + visibility = [ ":serial" ] + if (is_win) { diff --git a/devel/electron33/files/patch-services_device_serial_serial__device__enumerator.cc b/devel/electron33/files/patch-services_device_serial_serial__device__enumerator.cc new file mode 100644 index 000000000000..2a665d21340c --- /dev/null +++ b/devel/electron33/files/patch-services_device_serial_serial__device__enumerator.cc @@ -0,0 +1,20 @@ +--- services/device/serial/serial_device_enumerator.cc.orig 2024-08-14 20:55:10 UTC ++++ services/device/serial/serial_device_enumerator.cc +@@ -13,7 +13,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" +@@ -26,7 +26,7 @@ std::unique_ptr<SerialDeviceEnumerator> SerialDeviceEn + // 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/devel/electron33/files/patch-services_device_serial_serial__io__handler__posix.cc b/devel/electron33/files/patch-services_device_serial_serial__io__handler__posix.cc new file mode 100644 index 000000000000..a9094eebc75c --- /dev/null +++ b/devel/electron33/files/patch-services_device_serial_serial__io__handler__posix.cc @@ -0,0 +1,11 @@ +--- services/device/serial/serial_io_handler_posix.cc.orig 2024-08-14 20:55:10 UTC ++++ services/device/serial/serial_io_handler_posix.cc +@@ -73,7 +73,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/devel/electron33/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc b/devel/electron33/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc new file mode 100644 index 000000000000..10bd9e4cc1f9 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:10 UTC ++++ services/device/time_zone_monitor/time_zone_monitor_linux.cc +@@ -136,7 +136,11 @@ class TimeZoneMonitorLinuxImpl + // false positives are harmless, assuming the false positive rate is + // reasonable. + const char* const kFilesToWatch[] = { ++#if BUILDFLAG(IS_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/devel/electron33/files/patch-services_device_usb_BUILD.gn b/devel/electron33/files/patch-services_device_usb_BUILD.gn new file mode 100644 index 000000000000..563c6877e300 --- /dev/null +++ b/devel/electron33/files/patch-services_device_usb_BUILD.gn @@ -0,0 +1,34 @@ +--- services/device/usb/BUILD.gn.orig 2024-08-14 20:55:10 UTC ++++ services/device/usb/BUILD.gn +@@ -91,7 +91,7 @@ static_library("usb") { + deps += [ "//third_party/re2" ] + } + +- if (is_mac) { ++ if (is_mac || is_openbsd) { + # These sources and deps are required for libusb. + # TODO(crbug.com/40136337) Remove these sources. + sources += [ +@@ -114,6 +114,13 @@ static_library("usb") { + deps += [ "//third_party/libusb" ] + } + ++ if (is_freebsd) { ++ sources += [ ++ "usb_service_fake.cc", ++ "usb_service_fake.h", ++ ] ++ } ++ + if (is_linux || is_chromeos) { + sources += [ + "usb_device_linux.cc", +@@ -135,7 +142,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/devel/electron33/files/patch-services_device_usb_usb__service.cc b/devel/electron33/files/patch-services_device_usb_usb__service.cc new file mode 100644 index 000000000000..72460a029788 --- /dev/null +++ b/devel/electron33/files/patch-services_device_usb_usb__service.cc @@ -0,0 +1,35 @@ +--- services/device/usb/usb_service.cc.orig 2024-08-14 20:55:10 UTC ++++ services/device/usb/usb_service.cc +@@ -21,12 +21,16 @@ + + #if BUILDFLAG(IS_ANDROID) + #include "services/device/usb/usb_service_android.h" +-#elif defined(USE_UDEV) ++#elif defined(USE_UDEV) && !BUILDFLAG(IS_BSD) + #include "services/device/usb/usb_service_linux.h" + #elif BUILDFLAG(IS_MAC) + #include "services/device/usb/usb_service_impl.h" + #elif BUILDFLAG(IS_WIN) + #include "services/device/usb/usb_service_win.h" ++#elif BUILDFLAG(IS_OPENBSD) ++#include "services/device/usb/usb_service_impl.h" ++#elif BUILDFLAG(IS_FREEBSD) ++#include "services/device/usb/usb_service_fake.h" + #endif + + namespace device { +@@ -49,11 +53,13 @@ std::unique_ptr<UsbService> UsbService::Create() { + std::unique_ptr<UsbService> UsbService::Create() { + #if BUILDFLAG(IS_ANDROID) + return base::WrapUnique(new UsbServiceAndroid()); +-#elif defined(USE_UDEV) ++#elif defined(USE_UDEV) && !BUILDFLAG(IS_BSD) + return base::WrapUnique(new UsbServiceLinux()); + #elif BUILDFLAG(IS_WIN) + return base::WrapUnique(new UsbServiceWin()); + #elif BUILDFLAG(IS_MAC) ++ return base::WrapUnique(new UsbServiceImpl()); ++#elif BUILDFLAG(IS_BSD) + return base::WrapUnique(new UsbServiceImpl()); + #else + return nullptr; diff --git a/devel/electron33/files/patch-services_device_usb_usb__service__fake.cc b/devel/electron33/files/patch-services_device_usb_usb__service__fake.cc new file mode 100644 index 000000000000..03bcf21b39ab --- /dev/null +++ b/devel/electron33/files/patch-services_device_usb_usb__service__fake.cc @@ -0,0 +1,52 @@ +--- services/device/usb/usb_service_fake.cc.orig 2023-04-10 14:02:12 UTC ++++ services/device/usb/usb_service_fake.cc +@@ -0,0 +1,49 @@ ++// Copyright 2014 The Chromium Authors ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "services/device/usb/usb_service_fake.h" ++ ++#include <stdint.h> ++ ++#include <list> ++#include <memory> ++#include <set> ++#include <utility> ++ ++#include "base/barrier_closure.h" ++#include "base/containers/contains.h" ++#include "base/location.h" ++#include "base/memory/ref_counted_memory.h" ++#include "base/memory/weak_ptr.h" ++#include "base/strings/string_number_conversions.h" ++#include "base/strings/utf_string_conversions.h" ++#include "base/task/sequenced_task_runner.h" ++#include "base/task/single_thread_task_runner.h" ++#include "base/task/thread_pool.h" ++#include "base/threading/scoped_blocking_call.h" ++#include "build/build_config.h" ++#include "components/device_event_log/device_event_log.h" ++#include "services/device/usb/usb_device_handle.h" ++#include "services/device/usb/usb_error.h" ++#include "services/device/usb/webusb_descriptors.h" ++ ++namespace device { ++ ++UsbServiceImpl::UsbServiceImpl() ++ : task_runner_(base::SequencedTaskRunner::GetCurrentDefault()) { ++ NOTIMPLEMENTED(); ++} ++ ++UsbServiceImpl::~UsbServiceImpl() { ++ NOTIMPLEMENTED(); ++ NotifyWillDestroyUsbService(); ++} ++ ++void UsbServiceImpl::GetDevices(GetDevicesCallback callback) { ++ NOTIMPLEMENTED(); ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ UsbService::GetDevices(std::move(callback)); ++} ++ ++} // namespace device diff --git a/devel/electron33/files/patch-services_device_usb_usb__service__fake.h b/devel/electron33/files/patch-services_device_usb_usb__service__fake.h new file mode 100644 index 000000000000..2e123db7f3be --- /dev/null +++ b/devel/electron33/files/patch-services_device_usb_usb__service__fake.h @@ -0,0 +1,51 @@ +--- services/device/usb/usb_service_fake.h.orig 2022-10-29 13:32:26 UTC ++++ services/device/usb/usb_service_fake.h +@@ -0,0 +1,48 @@ ++// Copyright 2015 The Chromium Authors ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef SERVICES_DEVICE_USB_USB_SERVICE_IMPL_H_ ++#define SERVICES_DEVICE_USB_USB_SERVICE_IMPL_H_ ++ ++#include "services/device/usb/usb_service.h" ++ ++#include <stddef.h> ++ ++#include <map> ++#include <set> ++#include <string> ++#include <vector> ++ ++#include "base/containers/queue.h" ++#include "base/memory/weak_ptr.h" ++#include "build/build_config.h" ++#include "services/device/usb/usb_context.h" ++#include "services/device/usb/usb_device_impl.h" ++#include "third_party/abseil-cpp/absl/types/optional.h" ++ ++namespace device { ++ ++class UsbDeviceImpl; ++ ++class UsbServiceImpl final : public UsbService { ++ public: ++ UsbServiceImpl(); ++ ++ UsbServiceImpl(const UsbServiceImpl&) = delete; ++ UsbServiceImpl& operator=(const UsbServiceImpl&) = delete; ++ ++ ~UsbServiceImpl() override; ++ ++ private: ++ // device::UsbService implementation ++ void GetDevices(GetDevicesCallback callback) override; ++ ++ void OnUsbContext(scoped_refptr<UsbContext> context); ++ ++ scoped_refptr<base::SequencedTaskRunner> task_runner_; ++}; ++ ++} // namespace device ++ ++#endif // SERVICES_DEVICE_USB_USB_SERVICE_IMPL_H_ diff --git a/devel/electron33/files/patch-services_network_BUILD.gn b/devel/electron33/files/patch-services_network_BUILD.gn new file mode 100644 index 000000000000..69695f50af38 --- /dev/null +++ b/devel/electron33/files/patch-services_network_BUILD.gn @@ -0,0 +1,10 @@ +--- services/network/BUILD.gn.orig 2024-10-16 21:31:38 UTC ++++ services/network/BUILD.gn +@@ -395,7 +395,6 @@ if (is_linux || is_chromeos) { + ] + deps = [ + "//base:base", +- "//sandbox/linux:sandbox_services", + "//sandbox/policy:policy", + ] + configs += [ "//build/config/compiler:wexit_time_destructors" ] diff --git a/devel/electron33/files/patch-services_network_network__context.cc b/devel/electron33/files/patch-services_network_network__context.cc new file mode 100644 index 000000000000..80bb0444af6a --- /dev/null +++ b/devel/electron33/files/patch-services_network_network__context.cc @@ -0,0 +1,20 @@ +--- services/network/network_context.cc.orig 2024-10-28 21:05:16 UTC ++++ services/network/network_context.cc +@@ -686,7 +686,7 @@ NetworkContext::NetworkContextHttpAuthPreferences:: + NetworkContext::NetworkContextHttpAuthPreferences:: + ~NetworkContextHttpAuthPreferences() = default; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool NetworkContext::NetworkContextHttpAuthPreferences::AllowGssapiLibraryLoad() + const { + if (network_service_) { +@@ -2547,7 +2547,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( + http_auth_dynamic_network_service_params->android_negotiate_account_type); + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + http_auth_merged_preferences_.set_allow_gssapi_library_load( + http_auth_dynamic_network_service_params->allow_gssapi_library_load); + #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-services_network_network__context.h b/devel/electron33/files/patch-services_network_network__context.h new file mode 100644 index 000000000000..ad9624ce0936 --- /dev/null +++ b/devel/electron33/files/patch-services_network_network__context.h @@ -0,0 +1,11 @@ +--- services/network/network_context.h.orig 2024-10-28 21:05:16 UTC ++++ services/network/network_context.h +@@ -701,7 +701,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext + public: + explicit NetworkContextHttpAuthPreferences(NetworkService* network_service); + ~NetworkContextHttpAuthPreferences() override; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool AllowGssapiLibraryLoad() const override; + #endif // BUILDFLAG(IS_LINUX) + private: diff --git a/devel/electron33/files/patch-services_network_network__sandbox__hook__linux.cc b/devel/electron33/files/patch-services_network_network__sandbox__hook__linux.cc new file mode 100644 index 000000000000..a6b1b1a87062 --- /dev/null +++ b/devel/electron33/files/patch-services_network_network__sandbox__hook__linux.cc @@ -0,0 +1,37 @@ +--- services/network/network_sandbox_hook_linux.cc.orig 2024-04-15 20:34:03 UTC ++++ services/network/network_sandbox_hook_linux.cc +@@ -15,11 +15,14 @@ + #include "sandbox/linux/syscall_broker/broker_file_permission.h" + #include "sandbox/policy/features.h" + ++#if !BUILDFLAG(IS_BSD) + using sandbox::syscall_broker::BrokerFilePermission; + using sandbox::syscall_broker::MakeBrokerCommandSet; ++#endif + + namespace network { + ++#if !BUILDFLAG(IS_BSD) + sandbox::syscall_broker::BrokerCommandSet GetNetworkBrokerCommandSet() { + return MakeBrokerCommandSet({ + sandbox::syscall_broker::COMMAND_ACCESS, +@@ -103,9 +106,11 @@ void LoadNetworkLibraries() { + } + } + #endif // BUILDFLAG(IS_CHROMEOS) ++#endif + + bool NetworkPreSandboxHook(std::vector<std::string> network_context_parent_dirs, + sandbox::policy::SandboxLinux::Options options) { ++#if !BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_CHROMEOS) + LoadNetworkLibraries(); + #endif +@@ -118,6 +123,7 @@ bool NetworkPreSandboxHook(std::vector<std::string> ne + GetNetworkBrokerCommandSet(), + GetNetworkFilePermissions(std::move(network_context_parent_dirs)), + options); ++#endif + + return true; + } diff --git a/devel/electron33/files/patch-services_network_network__sandbox__hook__linux.h b/devel/electron33/files/patch-services_network_network__sandbox__hook__linux.h new file mode 100644 index 000000000000..80fe3360382a --- /dev/null +++ b/devel/electron33/files/patch-services_network_network__sandbox__hook__linux.h @@ -0,0 +1,14 @@ +--- services/network/network_sandbox_hook_linux.h.orig 2023-05-25 00:42:01 UTC ++++ services/network/network_sandbox_hook_linux.h +@@ -6,7 +6,11 @@ + #define SERVICES_NETWORK_NETWORK_SANDBOX_HOOK_LINUX_H_ + + #include "base/component_export.h" ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace network { + diff --git a/devel/electron33/files/patch-services_network_network__service.cc b/devel/electron33/files/patch-services_network_network__service.cc new file mode 100644 index 000000000000..66935e1bca03 --- /dev/null +++ b/devel/electron33/files/patch-services_network_network__service.cc @@ -0,0 +1,29 @@ +--- services/network/network_service.cc.orig 2024-10-16 21:31:38 UTC ++++ services/network/network_service.cc +@@ -99,7 +99,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/sync/key_storage_config_linux.h" +@@ -977,7 +977,7 @@ void NetworkService::SetExplicitlyAllowedPorts( + net::SetExplicitlyAllowedPorts(ports); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void NetworkService::SetGssapiLibraryLoadObserver( + mojo::PendingRemote<mojom::GssapiLibraryLoadObserver> + gssapi_library_load_observer) { +@@ -1059,7 +1059,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo + ); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void NetworkService::OnBeforeGssapiLibraryLoad() { + if (gssapi_library_load_observer_.is_bound()) { + gssapi_library_load_observer_->OnBeforeGssapiLibraryLoad(); diff --git a/devel/electron33/files/patch-services_network_network__service.h b/devel/electron33/files/patch-services_network_network__service.h new file mode 100644 index 000000000000..1e1319059eb3 --- /dev/null +++ b/devel/electron33/files/patch-services_network_network__service.h @@ -0,0 +1,29 @@ +--- services/network/network_service.h.orig 2024-10-16 21:31:38 UTC ++++ services/network/network_service.h +@@ -238,7 +238,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService + const std::vector<ContentSettingPatternSource>& settings) override; + + void SetExplicitlyAllowedPorts(const std::vector<uint16_t>& ports) override; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void SetGssapiLibraryLoadObserver( + mojo::PendingRemote<mojom::GssapiLibraryLoadObserver> + gssapi_library_load_observer) override; +@@ -264,7 +264,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService + std::unique_ptr<net::HttpAuthHandlerFactory> CreateHttpAuthHandlerFactory( + NetworkContext* network_context); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // This is called just before a GSSAPI library may be loaded. + void OnBeforeGssapiLibraryLoad(); + #endif // BUILDFLAG(IS_LINUX) +@@ -498,7 +498,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService + // leaking stale listeners between tests. + std::unique_ptr<net::NetworkChangeNotifier> mock_network_change_notifier_; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + mojo::Remote<mojom::GssapiLibraryLoadObserver> gssapi_library_load_observer_; + #endif // BUILDFLAG(IS_LINUX) + diff --git a/devel/electron33/files/patch-services_network_public_cpp_BUILD.gn b/devel/electron33/files/patch-services_network_public_cpp_BUILD.gn new file mode 100644 index 000000000000..246300fade60 --- /dev/null +++ b/devel/electron33/files/patch-services_network_public_cpp_BUILD.gn @@ -0,0 +1,11 @@ +--- services/network/public/cpp/BUILD.gn.orig 2024-10-16 21:31:38 UTC ++++ services/network/public/cpp/BUILD.gn +@@ -481,7 +481,7 @@ component("cpp_base") { + sources += [ "transferable_directory_fuchsia.cc" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + sources += [ + "network_interface_change_listener_mojom_traits.cc", + "network_interface_change_listener_mojom_traits.h", diff --git a/devel/electron33/files/patch-services_network_public_cpp_features.cc b/devel/electron33/files/patch-services_network_public_cpp_features.cc new file mode 100644 index 000000000000..c813aacf2657 --- /dev/null +++ b/devel/electron33/files/patch-services_network_public_cpp_features.cc @@ -0,0 +1,11 @@ +--- services/network/public/cpp/features.cc.orig 2024-08-14 20:55:10 UTC ++++ services/network/public/cpp/features.cc +@@ -127,7 +127,7 @@ BASE_FEATURE(kDnsOverHttpsUpgrade, + BASE_FEATURE(kDnsOverHttpsUpgrade, + "DnsOverHttpsUpgrade", + #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) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/devel/electron33/files/patch-services_network_public_mojom_BUILD.gn b/devel/electron33/files/patch-services_network_public_mojom_BUILD.gn new file mode 100644 index 000000000000..9c4f0bf30616 --- /dev/null +++ b/devel/electron33/files/patch-services_network_public_mojom_BUILD.gn @@ -0,0 +1,25 @@ +--- services/network/public/mojom/BUILD.gn.orig 2024-08-14 20:55:10 UTC ++++ services/network/public/mojom/BUILD.gn +@@ -493,11 +493,11 @@ mojom("url_loader_base") { + } + + enabled_features = [] +- if (is_android || is_chromeos || is_linux) { ++ if (!is_bsd && (is_android || is_chromeos || is_linux)) { + enabled_features += [ "network_change_notifier_in_browser" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + # TODO(crbug.com/40263697): Remove this once is_linux in the mojom IDL does + # not include lacros. + enabled_features += [ "use_network_interface_change_listener" ] +@@ -1490,7 +1490,7 @@ mojom("mojom") { + } + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + # TODO(crbug.com/40263697): Remove this once is_linux in the mojom IDL does + # not include lacros. + enabled_features += [ "use_network_interface_change_listener" ] diff --git a/devel/electron33/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h b/devel/electron33/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h new file mode 100644 index 000000000000..dbdbd35867b7 --- /dev/null +++ b/devel/electron33/files/patch-services_network_shared__dictionary_shared__dictionary__writer__in__memory.h @@ -0,0 +1,11 @@ +--- services/network/shared_dictionary/shared_dictionary_writer_in_memory.h.orig 2023-08-10 01:48:48 UTC ++++ services/network/shared_dictionary/shared_dictionary_writer_in_memory.h +@@ -9,6 +9,8 @@ + #include <string> + #include <vector> + ++#include <vector> ++ + #include "base/component_export.h" + #include "base/functional/callback.h" + #include "crypto/secure_hash.h" diff --git a/devel/electron33/files/patch-services_on__device__model_on__device__model__service.h b/devel/electron33/files/patch-services_on__device__model_on__device__model__service.h new file mode 100644 index 000000000000..b2a790d04c52 --- /dev/null +++ b/devel/electron33/files/patch-services_on__device__model_on__device__model__service.h @@ -0,0 +1,22 @@ +--- services/on_device_model/on_device_model_service.h.orig 2024-10-16 21:31:38 UTC ++++ services/on_device_model/on_device_model_service.h +@@ -27,6 +27,10 @@ class OnDeviceModelInternalImpl; + class OnDeviceModelInternalImpl; + } + ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#endif ++ + namespace on_device_model { + + class COMPONENT_EXPORT(ON_DEVICE_MODEL) OnDeviceModelService +@@ -40,7 +44,7 @@ class COMPONENT_EXPORT(ON_DEVICE_MODEL) OnDeviceModelS + // Must be called in the service's process after the run loop finished. + [[nodiscard]] static bool Shutdown(); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static void AddSandboxLinuxOptions( + sandbox::policy::SandboxLinux::Options& options); + #endif diff --git a/devel/electron33/files/patch-services_on__device__model_pre__sandbox__init.cc b/devel/electron33/files/patch-services_on__device__model_pre__sandbox__init.cc new file mode 100644 index 000000000000..8c6da6aa830e --- /dev/null +++ b/devel/electron33/files/patch-services_on__device__model_pre__sandbox__init.cc @@ -0,0 +1,38 @@ +--- services/on_device_model/pre_sandbox_init.cc.orig 2024-08-14 20:55:10 UTC ++++ services/on_device_model/pre_sandbox_init.cc +@@ -14,7 +14,7 @@ + #include "services/on_device_model/ml/chrome_ml.h" // nogncheck + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "gpu/config/gpu_info_collector.h" // nogncheck + #include "third_party/dawn/include/dawn/dawn_proc.h" // nogncheck + #include "third_party/dawn/include/dawn/native/DawnNative.h" // nogncheck +@@ -25,7 +25,7 @@ namespace { + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + constexpr uint32_t kVendorIdAMD = 0x1002; + constexpr uint32_t kVendorIdIntel = 0x8086; + constexpr uint32_t kVendorIdNVIDIA = 0x10DE; +@@ -74,7 +74,7 @@ bool OnDeviceModelService::PreSandboxInit() { + } + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Warm any relevant drivers before attempting to bring up the sandbox. For + // good measure we initialize a device instance for any adapter with an + // appropriate backend on top of any integrated or discrete GPU. +@@ -101,7 +101,7 @@ bool OnDeviceModelService::PreSandboxInit() { + return true; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // static + void OnDeviceModelService::AddSandboxLinuxOptions( + sandbox::policy::SandboxLinux::Options& options) { diff --git a/devel/electron33/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/devel/electron33/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc new file mode 100644 index 000000000000..aa1006fa9ff7 --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:51 UTC ++++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc +@@ -54,7 +54,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; +@@ -83,7 +83,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 +@@ -219,7 +219,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}, +@@ -234,7 +234,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; +@@ -280,7 +280,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) { +@@ -330,7 +330,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()); +@@ -391,7 +391,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/devel/electron33/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn b/devel/electron33/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_BUILD.gn new file mode 100644 index 000000000000..42b2e8a498af --- /dev/null +++ b/devel/electron33/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 2023-05-25 00:42:01 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/devel/electron33/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h b/devel/electron33/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h new file mode 100644 index 000000000000..9533e40a61d4 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:10 UTC ++++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h +@@ -53,7 +53,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) +@@ -70,7 +70,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/devel/electron33/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc b/devel/electron33/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__bsd.cc new file mode 100644 index 000000000000..cec6a7646af2 --- /dev/null +++ b/devel/electron33/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-03-25 21:59:56 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/devel/electron33/files/patch-services_screen__ai_public_cpp_utilities.cc b/devel/electron33/files/patch-services_screen__ai_public_cpp_utilities.cc new file mode 100644 index 000000000000..7238c5bfcb67 --- /dev/null +++ b/devel/electron33/files/patch-services_screen__ai_public_cpp_utilities.cc @@ -0,0 +1,29 @@ +--- services/screen_ai/public/cpp/utilities.cc.orig 2024-08-14 20:55:10 UTC ++++ services/screen_ai/public/cpp/utilities.cc +@@ -18,7 +18,7 @@ namespace { + + namespace { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + constexpr char kBinaryPathSwitch[] = "screen-ai-binary"; + #endif + +@@ -39,7 +39,7 @@ constexpr char kScreenAIDlcRootPath[] = + #endif + + #if BUILDFLAG(ENABLE_SCREEN_AI_BROWSERTESTS) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + constexpr base::FilePath::CharType kScreenAIResourcePathForTests[] = + FILE_PATH_LITERAL("third_party/screen-ai/linux/resources"); + #elif BUILDFLAG(IS_MAC) +@@ -128,7 +128,7 @@ const char* GetBinaryPathSwitch() { + + const char* GetBinaryPathSwitch() { + // This is only used on Linux and ChromeOS. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return kBinaryPathSwitch; + #else + return nullptr; diff --git a/devel/electron33/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc b/devel/electron33/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc new file mode 100644 index 000000000000..89ea4564c5d2 --- /dev/null +++ b/devel/electron33/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.cc @@ -0,0 +1,18 @@ +--- services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc.orig 2024-04-15 20:34:03 UTC ++++ services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.cc +@@ -53,6 +53,7 @@ bool ScreenAIPreSandboxHook(base::FilePath binary_path + } + } + ++#if !BUILDFLAG(IS_BSD) + auto* instance = sandbox::policy::SandboxLinux::GetInstance(); + + std::vector<BrokerFilePermission> permissions{ +@@ -75,6 +76,7 @@ bool ScreenAIPreSandboxHook(base::FilePath binary_path + sandbox::syscall_broker::COMMAND_OPEN}), + permissions, options); + instance->EngageNamespaceSandboxIfPossible(); ++#endif + + return true; + } diff --git a/devel/electron33/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h b/devel/electron33/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h new file mode 100644 index 000000000000..92fd073c8e2e --- /dev/null +++ b/devel/electron33/files/patch-services_screen__ai_sandbox_screen__ai__sandbox__hook__linux.h @@ -0,0 +1,16 @@ +--- services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h.orig 2024-04-15 20:34:03 UTC ++++ services/screen_ai/sandbox/screen_ai_sandbox_hook_linux.h +@@ -6,7 +6,13 @@ + #define SERVICES_SCREEN_AI_SANDBOX_SCREEN_AI_SANDBOX_HOOK_LINUX_H_ + + #include "base/files/file_path.h" ++#include "build/build_config.h" ++ ++#if BUILDFLAG(IS_BSD) ++#include "sandbox/policy/sandbox.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace screen_ai { + diff --git a/devel/electron33/files/patch-services_service__manager_BUILD.gn b/devel/electron33/files/patch-services_service__manager_BUILD.gn new file mode 100644 index 000000000000..9645b5c2e5a2 --- /dev/null +++ b/devel/electron33/files/patch-services_service__manager_BUILD.gn @@ -0,0 +1,11 @@ +--- services/service_manager/BUILD.gn.orig 2024-06-18 21:43:38 UTC ++++ services/service_manager/BUILD.gn +@@ -66,7 +66,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/devel/electron33/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn b/devel/electron33/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn new file mode 100644 index 000000000000..b066798326f3 --- /dev/null +++ b/devel/electron33/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 2021-04-14 18:41:08 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/devel/electron33/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc b/devel/electron33/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc new file mode 100644 index 000000000000..7dc7a72877f8 --- /dev/null +++ b/devel/electron33/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc @@ -0,0 +1,11 @@ +--- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2024-02-21 00:20:51 UTC ++++ services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc +@@ -38,7 +38,7 @@ + #include "third_party/perfetto/protos/perfetto/trace/track_event/process_descriptor.pbzero.h" + #include "third_party/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pbzero.h" + +-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_APPLE) ++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) + #include "base/profiler/thread_delegate_posix.h" + #define INITIALIZE_THREAD_DELEGATE_POSIX 1 + #else // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_APPLE) diff --git a/devel/electron33/files/patch-services_video__capture_public_mojom_video__capture__service.mojom b/devel/electron33/files/patch-services_video__capture_public_mojom_video__capture__service.mojom new file mode 100644 index 000000000000..40b704c42438 --- /dev/null +++ b/devel/electron33/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 2023-03-30 00:33:55 UTC ++++ services/video_capture/public/mojom/video_capture_service.mojom +@@ -25,10 +25,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/devel/electron33/files/patch-services_video__capture_video__capture__service__impl.cc b/devel/electron33/files/patch-services_video__capture_video__capture__service__impl.cc new file mode 100644 index 000000000000..947ff2bf141b --- /dev/null +++ b/devel/electron33/files/patch-services_video__capture_video__capture__service__impl.cc @@ -0,0 +1,38 @@ +--- services/video_capture/video_capture_service_impl.cc.orig 2024-10-16 21:31:38 UTC ++++ services/video_capture/video_capture_service_impl.cc +@@ -42,7 +42,7 @@ + #include "services/video_capture/lacros/device_factory_adapter_lacros.h" + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "media/capture/capture_switches.h" + #include "media/capture/video/video_capture_gpu_channel_host.h" + #include "services/viz/public/cpp/gpu/context_provider_command_buffer.h" +@@ -110,7 +110,7 @@ class VideoCaptureServiceImpl::GpuDependenciesContext + this}; + }; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + // Intended usage of this class is to create viz::Gpu in utility process and + // connect to viz::GpuClient of browser process, which will call to Gpu service. + // Also, this class holds the viz::ContextProvider to listen and monitor Gpu +@@ -337,7 +337,7 @@ void VideoCaptureServiceImpl::LazyInitializeGpuDepende + gpu_dependencies_context_ = std::make_unique<GpuDependenciesContext>(); + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) +-#if BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + { + #else + if (switches::IsVideoCaptureUseGpuMemoryBufferEnabled()) { +@@ -469,7 +469,7 @@ void VideoCaptureServiceImpl::OnGpuInfoUpdate(const CH + } + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + void VideoCaptureServiceImpl::SetVizGpu(std::unique_ptr<viz::Gpu> viz_gpu) { + viz_gpu_ = std::move(viz_gpu); + } diff --git a/devel/electron33/files/patch-services_video__capture_video__capture__service__impl.h b/devel/electron33/files/patch-services_video__capture_video__capture__service__impl.h new file mode 100644 index 000000000000..73874902a10e --- /dev/null +++ b/devel/electron33/files/patch-services_video__capture_video__capture__service__impl.h @@ -0,0 +1,29 @@ +--- services/video_capture/video_capture_service_impl.h.orig 2024-08-14 20:55:10 UTC ++++ services/video_capture/video_capture_service_impl.h +@@ -27,7 +27,7 @@ + #include "services/video_capture/ash/video_capture_device_factory_ash.h" + #endif // BUILDFLAG(IS_CHROMEOS_ASH) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + #include "services/viz/public/cpp/gpu/gpu.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || + // BUILDFLAG(IS_CHROMEOS_ASH) +@@ -75,7 +75,7 @@ class VideoCaptureServiceImpl : public mojom::VideoCap + #if BUILDFLAG(IS_WIN) + void OnGpuInfoUpdate(const CHROME_LUID& luid) override; + #endif +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + void SetVizGpu(std::unique_ptr<viz::Gpu> viz_gpu); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || + // BUILDFLAG(IS_CHROMEOS_ASH) +@@ -120,7 +120,7 @@ class VideoCaptureServiceImpl : public mojom::VideoCap + factory_receivers_ash_; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_BSD) + class VizGpuContextProvider; + std::unique_ptr<VizGpuContextProvider> viz_gpu_context_provider_; + std::unique_ptr<viz::Gpu> viz_gpu_; diff --git a/devel/electron33/files/patch-skia_ext_SkMemory__new__handler.cpp b/devel/electron33/files/patch-skia_ext_SkMemory__new__handler.cpp new file mode 100644 index 000000000000..73f118cac304 --- /dev/null +++ b/devel/electron33/files/patch-skia_ext_SkMemory__new__handler.cpp @@ -0,0 +1,20 @@ +--- skia/ext/SkMemory_new_handler.cpp.orig 2024-06-18 21:43:38 UTC ++++ skia/ext/SkMemory_new_handler.cpp +@@ -19,7 +19,7 @@ + #include <windows.h> + #elif BUILDFLAG(IS_APPLE) + #include <malloc/malloc.h> +-#else ++#elif !BUILDFLAG(IS_BSD) + #include <malloc.h> + #endif + +@@ -105,7 +105,7 @@ static void* malloc_nothrow(size_t size, int debug_sen + // 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/devel/electron33/files/patch-skia_ext_font__utils.cc b/devel/electron33/files/patch-skia_ext_font__utils.cc new file mode 100644 index 000000000000..e87f8dbbef5e --- /dev/null +++ b/devel/electron33/files/patch-skia_ext_font__utils.cc @@ -0,0 +1,20 @@ +--- skia/ext/font_utils.cc.orig 2024-02-21 00:20:51 UTC ++++ skia/ext/font_utils.cc +@@ -19,7 +19,7 @@ + #include "third_party/skia/include/ports/SkFontMgr_mac_ct.h" + #endif + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "third_party/skia/include/ports/SkFontConfigInterface.h" + #include "third_party/skia/include/ports/SkFontMgr_FontConfigInterface.h" + #endif +@@ -60,7 +60,7 @@ static sk_sp<SkFontMgr> fontmgr_factory() { + return SkFontMgr_New_Android(nullptr); + #elif BUILDFLAG(IS_APPLE) + return SkFontMgr_New_CoreText(nullptr); +-#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + sk_sp<SkFontConfigInterface> fci(SkFontConfigInterface::RefGlobal()); + return fci ? SkFontMgr_New_FCI(std::move(fci)) : nullptr; + #elif BUILDFLAG(IS_FUCHSIA) diff --git a/devel/electron33/files/patch-skia_ext_skcolorspace__trfn.cc b/devel/electron33/files/patch-skia_ext_skcolorspace__trfn.cc new file mode 100644 index 000000000000..fe0117091a52 --- /dev/null +++ b/devel/electron33/files/patch-skia_ext_skcolorspace__trfn.cc @@ -0,0 +1,11 @@ +--- skia/ext/skcolorspace_trfn.cc.orig 2024-08-14 20:55:10 UTC ++++ skia/ext/skcolorspace_trfn.cc +@@ -7,6 +7,8 @@ + #pragma allow_unsafe_buffers + #endif + ++#include <cmath> ++ + #include "skia/ext/skcolorspace_trfn.h" + + #include <cmath> diff --git a/devel/electron33/files/patch-third__party_abseil-cpp_absl_base_config.h b/devel/electron33/files/patch-third__party_abseil-cpp_absl_base_config.h new file mode 100644 index 000000000000..31be92260938 --- /dev/null +++ b/devel/electron33/files/patch-third__party_abseil-cpp_absl_base_config.h @@ -0,0 +1,21 @@ +--- third_party/abseil-cpp/absl/base/config.h.orig 2024-08-14 20:55:11 UTC ++++ third_party/abseil-cpp/absl/base/config.h +@@ -412,7 +412,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != + #ifdef ABSL_HAVE_SCHED_YIELD + #error ABSL_HAVE_SCHED_YIELD cannot be directly set + #elif defined(__linux__) || defined(__ros__) || defined(__native_client__) || \ +- defined(__VXWORKS__) ++ defined(__VXWORKS__) || defined(__OpenBSD__) || defined(__FreeBSD__) + #define ABSL_HAVE_SCHED_YIELD 1 + #endif + +@@ -427,7 +427,8 @@ 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__) || defined(__VXWORKS__) ++#elif defined(__linux__) || defined(__ros__) || defined(__VXWORKS__) || \ ++ defined(__OpenBSD__) || defined(__FreeBSD__) + #define ABSL_HAVE_SEMAPHORE_H 1 + #endif + diff --git a/devel/electron33/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc b/devel/electron33/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc new file mode 100644 index 000000000000..28fc23982b32 --- /dev/null +++ b/devel/electron33/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc @@ -0,0 +1,65 @@ +--- third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2024-10-16 21:31:38 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 + +@@ -198,6 +198,7 @@ static double GetNominalCPUFrequency() { + + #else + ++#if !defined(__OpenBSD__) && !defined(__FreeBSD__) + // Helper function for reading a long from a file. Returns true if successful + // and the memory location pointed to by value is set to the value read. + static bool ReadLongFromFile(const char *file, long *value) { +@@ -230,6 +231,7 @@ static bool ReadLongFromFile(const char *file, long *v + } + return ret; + } ++#endif + + #if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY) + +@@ -329,9 +331,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 +@@ -350,10 +354,12 @@ static double GetNominalCPUFrequency() { + // If CPU scaling is in effect, we want to use the *maximum* + // frequency, not whatever CPU speed some random processor happens + // to be using now. ++#if !defined(__OpenBSD__) && !defined(__FreeBSD__) // pledge violation + if (ReadLongFromFile("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq", + &freq)) { + return freq * 1e3; // Value is kHz. + } ++#endif + + return 1.0; + #endif // !ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY +@@ -463,6 +469,12 @@ pid_t GetTID() { + static_assert(sizeof(pid_t) == sizeof(thread), + "In NaCL int expected to be the same size as a pointer"); + return reinterpret_cast<pid_t>(thread); ++} ++ ++#elif defined(__OpenBSD__) ++ ++pid_t GetTID() { ++ return getthrid(); + } + + #elif defined(__Fuchsia__) diff --git a/devel/electron33/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h b/devel/electron33/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h new file mode 100644 index 000000000000..667ce0fe8f18 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:11 UTC ++++ third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +@@ -35,7 +35,7 @@ + #if defined(__ELF__) && !defined(__OpenBSD__) && !defined(__QNX__) && \ + !defined(__native_client__) && !defined(__asmjs__) && \ + !defined(__wasm__) && !defined(__HAIKU__) && !defined(__sun) && \ +- !defined(__VXWORKS__) && !defined(__hexagon__) ++ !defined(__VXWORKS__) && !defined(__hexagon__) && !defined(__FreeBSD__) + #define ABSL_HAVE_ELF_MEM_IMAGE 1 + #endif + diff --git a/devel/electron33/files/patch-third__party_angle_BUILD.gn b/devel/electron33/files/patch-third__party_angle_BUILD.gn new file mode 100644 index 000000000000..94751ab0e283 --- /dev/null +++ b/devel/electron33/files/patch-third__party_angle_BUILD.gn @@ -0,0 +1,29 @@ +--- third_party/angle/BUILD.gn.orig 2024-10-16 21:33:08 UTC ++++ third_party/angle/BUILD.gn +@@ -354,7 +354,6 @@ config("extra_warnings") { + "-Wtautological-type-limit-compare", + "-Wundefined-reinterpret-cast", + "-Wunneeded-internal-declaration", +- "-Wunused-but-set-variable", + "-Wsuggest-destructor-override", + "-Wsuggest-override", + +@@ -531,7 +530,7 @@ template("angle_common_lib") { + all_dependent_configs = [ ":angle_disable_pool_alloc" ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + libs = [ "dl" ] + } + +@@ -686,6 +685,9 @@ angle_static_library("angle_gpu_info_util") { + "Xi", + "Xext", + ] ++ if (is_bsd) { ++ libs += [ "GL" ] ++ } + } + + if (angle_use_wayland && angle_has_build) { diff --git a/devel/electron33/files/patch-third__party_angle_src_common_platform.h b/devel/electron33/files/patch-third__party_angle_src_common_platform.h new file mode 100644 index 000000000000..19c34403d542 --- /dev/null +++ b/devel/electron33/files/patch-third__party_angle_src_common_platform.h @@ -0,0 +1,19 @@ +--- third_party/angle/src/common/platform.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-third__party_angle_src_common_platform__helpers.h b/devel/electron33/files/patch-third__party_angle_src_common_platform__helpers.h new file mode 100644 index 000000000000..16a96b460686 --- /dev/null +++ b/devel/electron33/files/patch-third__party_angle_src_common_platform__helpers.h @@ -0,0 +1,11 @@ +--- third_party/angle/src/common/platform_helpers.h.orig 2023-10-19 20:00:24 UTC ++++ third_party/angle/src/common/platform_helpers.h +@@ -62,7 +62,7 @@ inline constexpr bool IsIOS() + + inline constexpr bool IsLinux() + { +-#if defined(ANGLE_PLATFORM_LINUX) ++#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) + return true; + #else + return false; diff --git a/devel/electron33/files/patch-third__party_angle_src_common_system__utils.cpp b/devel/electron33/files/patch-third__party_angle_src_common_system__utils.cpp new file mode 100644 index 000000000000..37a34ef7608f --- /dev/null +++ b/devel/electron33/files/patch-third__party_angle_src_common_system__utils.cpp @@ -0,0 +1,11 @@ +--- third_party/angle/src/common/system_utils.cpp.orig 2024-02-21 00:22:07 UTC ++++ third_party/angle/src/common/system_utils.cpp +@@ -25,7 +25,7 @@ std::string GetExecutableName() + { + std::string GetExecutableName() + { +-#if defined(ANGLE_PLATFORM_ANDROID) && __ANDROID_API__ >= 21 ++#if (defined(ANGLE_PLATFORM_ANDROID) && __ANDROID_API__ >= 21) || defined(ANGLE_PLATFORM_BSD) + // Support for "getprogname" function in bionic was introduced in L (API level 21) + const char *executableName = getprogname(); + return (executableName) ? std::string(executableName) : "ANGLE"; diff --git a/devel/electron33/files/patch-third__party_angle_src_common_system__utils__linux.cpp b/devel/electron33/files/patch-third__party_angle_src_common_system__utils__linux.cpp new file mode 100644 index 000000000000..f6e5c9e32041 --- /dev/null +++ b/devel/electron33/files/patch-third__party_angle_src_common_system__utils__linux.cpp @@ -0,0 +1,35 @@ +--- third_party/angle/src/common/system_utils_linux.cpp.orig 2024-02-21 00:22:07 UTC ++++ third_party/angle/src/common/system_utils_linux.cpp +@@ -15,8 +15,13 @@ + + #include <array> + ++#if ANGLE_PLATFORM_OPENBSD ++#include <pthread_np.h> ++#endif ++ + namespace angle + { ++#if ANGLE_PLATFORM_LINUX + std::string GetExecutablePath() + { + // We cannot use lstat to get the size of /proc/self/exe as it always returns 0 +@@ -32,6 +37,7 @@ std::string GetExecutablePath() + path[result] = '\0'; + return path; + } ++#endif + + std::string GetExecutableDirectory() + { +@@ -56,6 +62,10 @@ void SetCurrentThreadName(const char *name) + { + // There's a 15-character (16 including '\0') limit. If the name is too big (and ERANGE is + // returned), just ignore the name. ++#if ANGLE_PLATFORM_OPENBSD ++ pthread_set_name_np(pthread_self(), name); ++#else + pthread_setname_np(pthread_self(), name); ++#endif + } + } // namespace angle diff --git a/devel/electron33/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h b/devel/electron33/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h new file mode 100644 index 000000000000..8232856560c7 --- /dev/null +++ b/devel/electron33/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 2023-05-25 00:46:19 UTC ++++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h +@@ -15,6 +15,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/devel/electron33/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp b/devel/electron33/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp new file mode 100644 index 000000000000..847b0d538010 --- /dev/null +++ b/devel/electron33/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-02-23 19:25:59 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/devel/electron33/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp b/devel/electron33/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp new file mode 100644 index 000000000000..ef2231b48c21 --- /dev/null +++ b/devel/electron33/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-02-23 19:25:59 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/devel/electron33/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp b/devel/electron33/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp new file mode 100644 index 000000000000..9b174b17ae80 --- /dev/null +++ b/devel/electron33/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-02-23 20:48:53 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/devel/electron33/files/patch-third__party_angle_src_libANGLE_Display.cpp b/devel/electron33/files/patch-third__party_angle_src_libANGLE_Display.cpp new file mode 100644 index 000000000000..a78cbfd6cdff --- /dev/null +++ b/devel/electron33/files/patch-third__party_angle_src_libANGLE_Display.cpp @@ -0,0 +1,47 @@ +--- third_party/angle/src/libANGLE/Display.cpp.orig 2024-08-14 20:56:41 UTC ++++ third_party/angle/src/libANGLE/Display.cpp +@@ -60,7 +60,7 @@ + # include "libANGLE/renderer/gl/cgl/DisplayCGL.h" + # elif ANGLE_ENABLE_EAGL + # include "libANGLE/renderer/gl/eagl/DisplayEAGL.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_X11) + # include "libANGLE/renderer/gl/glx/DisplayGLX_api.h" +@@ -416,7 +416,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di + impl = new rx::DisplayEAGL(state); + break; + +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) + # if defined(ANGLE_USE_GBM) + if (platformType == 0) + { +@@ -462,7 +462,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) + { +@@ -513,7 +513,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()) + { +@@ -2158,7 +2158,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/devel/electron33/files/patch-third__party_angle_src_libANGLE_formatutils.cpp b/devel/electron33/files/patch-third__party_angle_src_libANGLE_formatutils.cpp new file mode 100644 index 000000000000..349b0e03729b --- /dev/null +++ b/devel/electron33/files/patch-third__party_angle_src_libANGLE_formatutils.cpp @@ -0,0 +1,11 @@ +--- third_party/angle/src/libANGLE/formatutils.cpp.orig 2023-10-19 20:00:25 UTC ++++ third_party/angle/src/libANGLE/formatutils.cpp +@@ -1475,7 +1475,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/devel/electron33/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp b/devel/electron33/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp new file mode 100644 index 000000000000..dba2acc732c5 --- /dev/null +++ b/devel/electron33/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-02-07 13:39:41 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/devel/electron33/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h b/devel/electron33/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h new file mode 100644 index 000000000000..26496368123b --- /dev/null +++ b/devel/electron33/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-06-17 14:20:10 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/devel/electron33/files/patch-third__party_angle_util_BUILD.gn b/devel/electron33/files/patch-third__party_angle_util_BUILD.gn new file mode 100644 index 000000000000..bbd2ebd24b9d --- /dev/null +++ b/devel/electron33/files/patch-third__party_angle_util_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/angle/util/BUILD.gn.orig 2023-08-10 01:51:11 UTC ++++ third_party/angle/util/BUILD.gn +@@ -311,7 +311,7 @@ foreach(is_shared_library, + ] + libs = [] + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + libs += [ + "rt", + "dl", diff --git a/devel/electron33/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc b/devel/electron33/files/patch-third__party_blink_common_renderer__preferences_renderer__preferences__mojom__traits.cc new file mode 100644 index 000000000000..fe9800c406ed --- /dev/null +++ b/devel/electron33/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 2024-04-15 20:34:04 UTC ++++ third_party/blink/common/renderer_preferences/renderer_preferences_mojom_traits.cc +@@ -68,7 +68,7 @@ bool StructTraits<blink::mojom::RendererPreferencesDat + + out->send_subresource_notification = data.send_subresource_notification(); + +-#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/devel/electron33/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h b/devel/electron33/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences.h new file mode 100644 index 000000000000..e0ab52ad3422 --- /dev/null +++ b/devel/electron33/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 2024-04-15 20:34:05 UTC ++++ third_party/blink/public/common/renderer_preferences/renderer_preferences.h +@@ -65,7 +65,7 @@ struct BLINK_COMMON_EXPORT RendererPreferences { + UserAgentOverride user_agent_override; + std::string accept_languages; + bool send_subresource_notification{false}; +-#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/devel/electron33/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h b/devel/electron33/files/patch-third__party_blink_public_common_renderer__preferences_renderer__preferences__mojom__traits.h new file mode 100644 index 000000000000..05aa9e8003a9 --- /dev/null +++ b/devel/electron33/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 2024-04-15 20:34:05 UTC ++++ third_party/blink/public/common/renderer_preferences/renderer_preferences_mojom_traits.h +@@ -166,7 +166,7 @@ struct BLINK_COMMON_EXPORT + return data.send_subresource_notification; + } + +-#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/devel/electron33/files/patch-third__party_blink_public_platform_platform.h b/devel/electron33/files/patch-third__party_blink_public_platform_platform.h new file mode 100644 index 000000000000..b4c49b5d478c --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_public_platform_platform.h @@ -0,0 +1,11 @@ +--- third_party/blink/public/platform/platform.h.orig 2024-09-19 12:42:01 UTC ++++ third_party/blink/public/platform/platform.h +@@ -374,7 +374,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/devel/electron33/files/patch-third__party_blink_public_platform_web__vector.h b/devel/electron33/files/patch-third__party_blink_public_platform_web__vector.h new file mode 100644 index 000000000000..151abb853095 --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_public_platform_web__vector.h @@ -0,0 +1,11 @@ +--- third_party/blink/public/platform/web_vector.h.orig 2024-08-14 20:55:12 UTC ++++ third_party/blink/public/platform/web_vector.h +@@ -91,7 +91,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/devel/electron33/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py b/devel/electron33/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py new file mode 100644 index 000000000000..cad1b86913cf --- /dev/null +++ b/devel/electron33/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 2024-06-18 21:43:39 UTC ++++ third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py +@@ -30,7 +30,7 @@ def init(root_src_dir, enable_style_format=True): + + # Determine //buildtools/<platform>/ directory + new_path_platform_suffix = "" +- if sys.platform.startswith("linux"): ++ if sys.platform.startswith(("linux","openbsd","freebsd")): + platform = "linux64" + exe_suffix = "" + elif sys.platform.startswith("darwin"): diff --git a/devel/electron33/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py b/devel/electron33/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py new file mode 100644 index 000000000000..7d56dad775be --- /dev/null +++ b/devel/electron33/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-02-07 13:39:41 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/devel/electron33/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/devel/electron33/files/patch-third__party_blink_renderer_controller_blink__initializer.cc new file mode 100644 index 000000000000..bf404633607f --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_controller_blink__initializer.cc @@ -0,0 +1,35 @@ +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2024-06-18 21:43:39 UTC ++++ third_party/blink/renderer/controller/blink_initializer.cc +@@ -81,12 +81,12 @@ + #include "third_party/blink/renderer/controller/private_memory_footprint_provider.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_APPLE) || BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_APPLE) || 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 +@@ -256,7 +256,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)), +@@ -303,7 +303,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform + #endif + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ +- BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Start reporting the highest private memory footprint after the first + // navigation. + HighestPmfReporter::Initialize(main_thread_task_runner); diff --git a/devel/electron33/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc b/devel/electron33/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc new file mode 100644 index 000000000000..976dc8a7a3a0 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:12 UTC ++++ third_party/blink/renderer/controller/memory_usage_monitor_posix.cc +@@ -133,15 +133,17 @@ void MemoryUsageMonitorPosix::SetProcFiles(base::File + + 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/devel/electron33/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h b/devel/electron33/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h new file mode 100644 index 000000000000..179fa1f6b946 --- /dev/null +++ b/devel/electron33/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-02-28 16:54:41 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/devel/electron33/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc b/devel/electron33/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc new file mode 100644 index 000000000000..f11140206f82 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:13 UTC ++++ third_party/blink/renderer/core/editing/editing_behavior.cc +@@ -304,7 +304,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/devel/electron33/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc b/devel/electron33/files/patch-third__party_blink_renderer_core_execution__context_navigator__base.cc new file mode 100644 index 000000000000..47bf6be610e1 --- /dev/null +++ b/devel/electron33/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 2023-03-30 00:33:57 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"; + #elif BUILDFLAG(IS_IOS) + return "iPhone"; diff --git a/devel/electron33/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/devel/electron33/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc new file mode 100644 index 000000000000..ed673b5a48bb --- /dev/null +++ b/devel/electron33/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 2024-10-28 21:05:16 UTC ++++ third_party/blink/renderer/core/exported/web_view_impl.cc +@@ -429,7 +429,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' +@@ -3419,7 +3419,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/devel/electron33/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc b/devel/electron33/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc new file mode 100644 index 000000000000..2d292097adc2 --- /dev/null +++ b/devel/electron33/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 2024-10-28 21:05:17 UTC ++++ third_party/blink/renderer/core/frame/web_frame_test.cc +@@ -6479,7 +6479,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { + } + + #if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + // TODO(crbug.com/1090246): Fix these tests on Fuchsia and re-enable. + // TODO(crbug.com/1317375): Build these tests on all platforms. + #define MAYBE_SelectRangeStaysHorizontallyAlignedWhenMoved \ +@@ -6888,7 +6888,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionNo + 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/devel/electron33/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc b/devel/electron33/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc new file mode 100644 index 000000000000..2d4fa9125d21 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:13 UTC ++++ third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc +@@ -55,7 +55,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/devel/electron33/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc b/devel/electron33/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc new file mode 100644 index 000000000000..c5140a960eea --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:53 UTC ++++ third_party/blink/renderer/core/inspector/inspector_memory_agent.cc +@@ -192,7 +192,7 @@ Vector<String> InspectorMemoryAgent::Symbolize( + + Vector<String> InspectorMemoryAgent::Symbolize( + const WebVector<const 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<const void*> addresses_to_symbolize; + for (const void* address : addresses) { diff --git a/devel/electron33/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/devel/electron33/files/patch-third__party_blink_renderer_core_layout_layout__view.cc new file mode 100644 index 000000000000..98bc1b9670f4 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:45 UTC ++++ third_party/blink/renderer/core/layout/layout_view.cc +@@ -73,7 +73,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 + +@@ -776,7 +776,7 @@ void LayoutView::LayoutRoot() { + intrinsic_logical_widths_ = LogicalWidth(); + } + +-#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/devel/electron33/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc b/devel/electron33/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc new file mode 100644 index 000000000000..006729a6e16b --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:14 UTC ++++ third_party/blink/renderer/core/paint/paint_layer.cc +@@ -120,7 +120,7 @@ namespace { + + 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/devel/electron33/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc b/devel/electron33/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc new file mode 100644 index 000000000000..46114a6c1635 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:45 UTC ++++ third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc +@@ -148,7 +148,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; +@@ -418,7 +418,7 @@ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scr + const WebMouseEvent& event) const { + // 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/devel/electron33/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h b/devel/electron33/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h new file mode 100644 index 000000000000..ec9781c833a7 --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_core_xml_xslt__processor.h @@ -0,0 +1,14 @@ +--- third_party/blink/renderer/core/xml/xslt_processor.h.orig 2024-02-21 00:20:54 UTC ++++ third_party/blink/renderer/core/xml/xslt_processor.h +@@ -77,7 +77,11 @@ class XSLTProcessor final : public ScriptWrappable { + + void reset(); + ++#if (LIBXML_VERSION >= 21200) + static void ParseErrorFunc(void* user_data, const xmlError*); ++#else ++ static void ParseErrorFunc(void* user_data, xmlError*); ++#endif + static void GenericErrorFunc(void* user_data, const char* msg, ...); + + // Only for libXSLT callbacks diff --git a/devel/electron33/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc b/devel/electron33/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc new file mode 100644 index 000000000000..19fe8400d2e6 --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_core_xml_xslt__processor__libxslt.cc @@ -0,0 +1,14 @@ +--- third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc.orig 2024-08-14 20:55:14 UTC ++++ third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc +@@ -71,7 +71,11 @@ void XSLTProcessor::GenericErrorFunc(void*, const char + // It would be nice to do something with this error message. + } + ++#if (LIBXML_VERSION >= 21200) + void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) { ++#else ++void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) { ++#endif + FrameConsole* console = static_cast<FrameConsole*>(user_data); + if (!console) + return; diff --git a/devel/electron33/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc b/devel/electron33/files/patch-third__party_blink_renderer_modules_media_audio_audio__device__factory.cc new file mode 100644 index 000000000000..b457652aa3dc --- /dev/null +++ b/devel/electron33/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-11-30 08:12:58 UTC ++++ third_party/blink/renderer/modules/media/audio/audio_device_factory.cc +@@ -35,7 +35,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/devel/electron33/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc b/devel/electron33/files/patch-third__party_blink_renderer_modules_media_audio_audio__renderer__mixer__manager__test.cc new file mode 100644 index 000000000000..af66eb62b30c --- /dev/null +++ b/devel/electron33/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 2024-04-15 20:34:06 UTC ++++ third_party/blink/renderer/modules/media/audio/audio_renderer_mixer_manager_test.cc +@@ -813,7 +813,7 @@ TEST_F(AudioRendererMixerManagerTest, MixerParamsLaten + mixer->get_output_params_for_testing().sample_rate()); + + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ +- 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/devel/electron33/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc b/devel/electron33/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc new file mode 100644 index 000000000000..ab2850be37de --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_modules_peerconnection_rtc__data__channel.cc @@ -0,0 +1,10 @@ +--- third_party/blink/renderer/modules/peerconnection/rtc_data_channel.cc.orig 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/modules/peerconnection/rtc_data_channel.cc +@@ -557,6 +557,7 @@ void RTCDataChannel::send(Blob* data, ExceptionState& + pending_messages_.push_back(message); + } + ++#undef close + void RTCDataChannel::close() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + if (state_ == webrtc::DataChannelInterface::kClosing || diff --git a/devel/electron33/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/devel/electron33/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc new file mode 100644 index 000000000000..0abbc54aa242 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc +@@ -304,7 +304,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar + SetupRenderer(kDefaultOutputDeviceId); + renderer_proxy_->Start(); + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ +- 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/devel/electron33/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc b/devel/electron33/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc new file mode 100644 index 000000000000..580f5a0b249d --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc +@@ -469,7 +469,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/devel/electron33/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/devel/electron33/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc new file mode 100644 index 000000000000..52e4201a073d --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:15 UTC ++++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +@@ -6304,7 +6304,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/devel/electron33/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc b/devel/electron33/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc new file mode 100644 index 000000000000..0cc1cbfd5349 --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/modules/webgpu/gpu_queue.cc.orig 2024-08-14 20:55:15 UTC ++++ third_party/blink/renderer/modules/webgpu/gpu_queue.cc +@@ -788,7 +788,7 @@ bool GPUQueue::CopyFromCanvasSourceImage( + // on linux platform. + // TODO(crbug.com/1424119): using a webgpu mailbox texture on the OpenGLES + // backend is failing for unknown reasons. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + bool forceReadback = true; + #elif BUILDFLAG(IS_ANDROID) + // TODO(crbug.com/dawn/1969): Some Android devices don't fail to copy from diff --git a/devel/electron33/files/patch-third__party_blink_renderer_platform_BUILD.gn b/devel/electron33/files/patch-third__party_blink_renderer_platform_BUILD.gn new file mode 100644 index 000000000000..81f426aa788a --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_platform_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/platform/BUILD.gn.orig 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/platform/BUILD.gn +@@ -2015,7 +2015,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/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc new file mode 100644 index 000000000000..33643413e5f3 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/platform/fonts/font_cache.cc +@@ -81,7 +81,7 @@ SkFontMgr* FontCache::static_font_manager_ = nullptr; + + 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 + +@@ -132,7 +132,7 @@ const FontPlatformData* FontCache::SystemFontPlatformD + const FontDescription& font_description) { + const AtomicString& family = FontCache::SystemFontFamily(); + #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \ +- BUILDFLAG(IS_IOS) ++ BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + if (family.empty() || family == font_family_names::kSystemUi) + return nullptr; + #else diff --git a/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h b/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h new file mode 100644 index 000000000000..d23eef07e520 --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/platform/fonts/font_cache.h +@@ -55,7 +55,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 + +@@ -167,7 +167,7 @@ class PLATFORM_EXPORT FontCache final { + + static void MaybePreloadSystemFonts(); + +-#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_; } +@@ -243,7 +243,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*); +@@ -316,7 +316,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&, +@@ -353,7 +353,7 @@ class PLATFORM_EXPORT FontCache final { + bool is_test_font_mgr_ = false; + #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/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc new file mode 100644 index 000000000000..8d37005d7d54 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:15 UTC ++++ third_party/blink/renderer/platform/fonts/font_description.cc +@@ -44,7 +44,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 + +@@ -282,7 +282,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/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc new file mode 100644 index 000000000000..6e245dc57c55 --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:20:54 UTC ++++ third_party/blink/renderer/platform/fonts/font_metrics.cc +@@ -39,7 +39,7 @@ namespace blink { + 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 +@@ -67,7 +67,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). +@@ -111,7 +111,7 @@ void FontMetrics::AscentDescentWithHacks( + descent = SkScalarRoundToScalar(metrics.fDescent); + + #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/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__platform__data.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__platform__data.cc new file mode 100644 index 000000000000..c2b85699dea1 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:15 UTC ++++ third_party/blink/renderer/platform/fonts/font_platform_data.cc +@@ -54,7 +54,7 @@ namespace { + 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 +@@ -133,7 +133,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/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc new file mode 100644 index 000000000000..957a508124f0 --- /dev/null +++ b/devel/electron33/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-03-25 21:59:56 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/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc new file mode 100644 index 000000000000..98f6e3ba3c7f --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2024-04-15 20:34:06 UTC ++++ third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc +@@ -65,7 +65,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. +@@ -246,7 +246,7 @@ const FontPlatformData* FontCache::CreateFontPlatformD + 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/devel/electron33/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_graphics_begin__frame__provider.cc new file mode 100644 index 000000000000..a00b84bd937c --- /dev/null +++ b/devel/electron33/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 2023-08-10 01:48:51 UTC ++++ third_party/blink/renderer/platform/graphics/begin_frame_provider.cc +@@ -71,8 +71,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/devel/electron33/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc new file mode 100644 index 000000000000..21885ec78a03 --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc.orig 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc +@@ -49,7 +49,7 @@ scoped_refptr<StaticBitmapImage> MakeAccelerated( + const auto paint_image = source->PaintImageForCurrentFrame(); + const auto image_info = paint_image.GetSkImageInfo().makeWH( + source->Size().width(), source->Size().height()); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(b/330865436): On Linux, CanvasResourceProvider doesn't always check + // for SCANOUT support correctly on X11 and it's never supported in + // practice. Therefore, don't include it until this flow is reworked. diff --git a/devel/electron33/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_graphics_video__frame__submitter.cc new file mode 100644 index 000000000000..406f3ec44f1b --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/platform/graphics/video_frame_submitter.cc +@@ -438,7 +438,7 @@ void VideoFrameSubmitter::OnBeginFrame( + auto& details = timing_details.find(frame_token)->value; + auto& feedback = details.presentation_feedback; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || 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/devel/electron33/files/patch-third__party_blink_renderer_platform_instrumentation_partition__alloc__memory__dump__provider.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_instrumentation_partition__alloc__memory__dump__provider.cc new file mode 100644 index 000000000000..3c43f26940d4 --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_platform_instrumentation_partition__alloc__memory__dump__provider.cc @@ -0,0 +1,28 @@ +--- third_party/blink/renderer/platform/instrumentation/partition_alloc_memory_dump_provider.cc.orig 2024-04-15 20:34:06 UTC ++++ third_party/blink/renderer/platform/instrumentation/partition_alloc_memory_dump_provider.cc +@@ -14,7 +14,9 @@ namespace blink { + + namespace blink { + ++#if !BUILDFLAG(IS_BSD) + const char kPartitionAllocDumpName[] = "partition_alloc"; ++#endif + + PartitionAllocMemoryDumpProvider* PartitionAllocMemoryDumpProvider::Instance() { + DEFINE_STATIC_LOCAL(PartitionAllocMemoryDumpProvider, instance, ()); +@@ -24,6 +26,7 @@ bool PartitionAllocMemoryDumpProvider::OnMemoryDump( + bool PartitionAllocMemoryDumpProvider::OnMemoryDump( + const base::trace_event::MemoryDumpArgs& args, + base::trace_event::ProcessMemoryDump* memory_dump) { ++#if !BUILDFLAG(IS_BSD) + using base::trace_event::MemoryDumpLevelOfDetail; + + MemoryDumpLevelOfDetail level_of_detail = args.level_of_detail; +@@ -49,6 +52,7 @@ bool PartitionAllocMemoryDumpProvider::OnMemoryDump( + "size", "bytes", partition_stats_dumper.total_active_bytes()); + memory_dump->AddOwnershipEdge(allocated_objects_dump->guid(), + partitions_dump->guid()); ++#endif + + return true; + } diff --git a/devel/electron33/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc new file mode 100644 index 000000000000..cbeff6730fcc --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_platform_peerconnection_rtc__video__encoder__factory.cc @@ -0,0 +1,17 @@ +--- third_party/blink/renderer/platform/peerconnection/rtc_video_encoder_factory.cc.orig 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/platform/peerconnection/rtc_video_encoder_factory.cc +@@ -260,12 +260,12 @@ SupportedFormats GetSupportedFormatsInternal( + supported_formats.scalability_modes.push_back(profile.scalability_modes); + supported_formats.sdp_formats.push_back(std::move(*format)); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) + const bool kShouldAddH264Cbp = + base::FeatureList::IsEnabled(kMediaFoundationH264CbpEncoding) && + profile.profile == media::VideoCodecProfile::H264PROFILE_BASELINE; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const bool kShouldAddH264Cbp = + profile.profile == media::VideoCodecProfile::H264PROFILE_BASELINE; + #endif diff --git a/devel/electron33/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 b/devel/electron33/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 new file mode 100644 index 000000000000..77f33d66024f --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 @@ -0,0 +1,65 @@ +--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/platform/runtime_enabled_features.json5 +@@ -384,7 +384,7 @@ + name: "AppTitle", + status: "experimental", + origin_trial_feature_name: "AppTitle", +- origin_trial_os: ["win", "mac", "linux", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], + base_feature: "WebAppEnableAppTitle", + }, + { +@@ -1840,7 +1840,7 @@ + base_feature: "none", + public: true, + origin_trial_feature_name: "FedCmMultipleIdentityProviders", +- origin_trial_os: ["win", "mac", "linux", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], + origin_trial_allows_third_party: true, + }, + { +@@ -3208,7 +3208,7 @@ + // Tracking bug for the implementation: https://crbug.com/1462930 + name: "PermissionElement", + origin_trial_feature_name: "PermissionElement", +- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"], + status: "experimental", + public: true, + base_feature_status: "enabled", +@@ -3354,7 +3354,7 @@ + { + name: "PrivateNetworkAccessPermissionPrompt", + origin_trial_feature_name: "PrivateNetworkAccessPermissionPrompt", +- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"], + status: "stable", + public: true, + base_feature: "none", +@@ -4365,7 +4365,7 @@ + name: "UnrestrictedSharedArrayBuffer", + base_feature: "none", + origin_trial_feature_name: "UnrestrictedSharedArrayBuffer", +- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"], + }, + // Enables using policy-controlled feature "usb-unrestricted" to allow + // isolated context to access protected USB interface classes and to +@@ -4515,7 +4515,7 @@ + { + name: "WebAppScopeExtensions", + origin_trial_feature_name: "WebAppScopeExtensions", +- origin_trial_os: ["win", "mac", "linux", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], + status: "experimental", + base_feature: "none", + }, +@@ -4558,7 +4558,7 @@ + status: "experimental", + base_feature: "none", + origin_trial_feature_name: "WebAppUrlHandling", +- origin_trial_os: ["win", "mac", "linux"], ++ origin_trial_os: ["win", "mac", "linux", "openbsd", "freebsd"], + }, + { + // WebAssembly JS Promise Integration, diff --git a/devel/electron33/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_scheduler_common_thread.cc new file mode 100644 index 000000000000..3330127034fe --- /dev/null +++ b/devel/electron33/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 2024-10-16 21:31:46 UTC ++++ third_party/blink/renderer/platform/scheduler/common/thread.cc +@@ -88,7 +88,7 @@ void Thread::CreateAndSetCompositorThread() { + "Compositor"); + })); + +-#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/devel/electron33/files/patch-third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc new file mode 100644 index 000000000000..e2e3962011c0 --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_platform_widget_compositing_blink__categorized__worker__pool__delegate.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/platform/widget/compositing/blink_categorized_worker_pool_delegate.cc.orig 2023-05-25 00:42:05 UTC ++++ third_party/blink/renderer/platform/widget/compositing/blink_categorized_worker_pool_delegate.cc +@@ -27,7 +27,7 @@ BlinkCategorizedWorkerPoolDelegate& BlinkCategorizedWo + + void BlinkCategorizedWorkerPoolDelegate::NotifyThreadWillRun( + base::PlatformThreadId tid) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + scoped_refptr<base::TaskRunner> task_runner = + Thread::MainThread()->GetTaskRunner(MainThreadTaskRunnerRestricted()); + task_runner->PostTask(FROM_HERE, base::BindOnce( diff --git a/devel/electron33/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h b/devel/electron33/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h new file mode 100644 index 000000000000..25658e65ff2b --- /dev/null +++ b/devel/electron33/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-03-25 21:59:56 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/devel/electron33/files/patch-third__party_blink_renderer_platform_wtf_math__extras.h b/devel/electron33/files/patch-third__party_blink_renderer_platform_wtf_math__extras.h new file mode 100644 index 000000000000..b184b8b79210 --- /dev/null +++ b/devel/electron33/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-07-22 17:30:31 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/devel/electron33/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc new file mode 100644 index 000000000000..53fb65378b2e --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:15 UTC ++++ third_party/blink/renderer/platform/wtf/stack_util.cc +@@ -23,6 +23,11 @@ extern "C" void* __libc_stack_end; // NOLINT + 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() { +@@ -67,6 +72,8 @@ size_t GetUnderestimatedStackSize() { + // low as 512k. + // + return 512 * 1024; ++#elif BUILDFLAG(IS_OPENBSD) ++ return 512 * 1024; + #elif BUILDFLAG(IS_APPLE) + // pthread_get_stacksize_np() returns too low a value for the main thread on + // OSX 10.9, +@@ -154,6 +161,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/devel/electron33/files/patch-third__party_blink_renderer_platform_wtf_text_text__codec__icu.cc b/devel/electron33/files/patch-third__party_blink_renderer_platform_wtf_text_text__codec__icu.cc new file mode 100644 index 000000000000..c960c6ca0270 --- /dev/null +++ b/devel/electron33/files/patch-third__party_blink_renderer_platform_wtf_text_text__codec__icu.cc @@ -0,0 +1,18 @@ +--- third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc.orig 2024-08-14 20:55:15 UTC ++++ third_party/blink/renderer/platform/wtf/text/text_codec_icu.cc +@@ -615,6 +615,7 @@ static void GbkUrlEscapedEntityCallack( + code_point, reason, err); + } + ++#if !BUILDFLAG(IS_BSD) + static void GbkCallbackSubstitute(const void* context, + UConverterFromUnicodeArgs* from_unicode_args, + const UChar* code_units, +@@ -632,6 +633,7 @@ static void GbkCallbackSubstitute(const void* context, + UCNV_FROM_U_CALLBACK_SUBSTITUTE(context, from_unicode_args, code_units, + length, code_point, reason, err); + } ++#endif + #endif // USING_SYSTEM_ICU + + static void NotReachedEntityCallback(const void* context, diff --git a/devel/electron33/files/patch-third__party_brotli_common_platform.h b/devel/electron33/files/patch-third__party_brotli_common_platform.h new file mode 100644 index 000000000000..60ccb4e08e5c --- /dev/null +++ b/devel/electron33/files/patch-third__party_brotli_common_platform.h @@ -0,0 +1,11 @@ +--- third_party/brotli/common/platform.h.orig 2022-02-07 13:39:41 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/devel/electron33/files/patch-third__party_cpuinfo_cpuinfo.gni b/devel/electron33/files/patch-third__party_cpuinfo_cpuinfo.gni new file mode 100644 index 000000000000..19ca636ed489 --- /dev/null +++ b/devel/electron33/files/patch-third__party_cpuinfo_cpuinfo.gni @@ -0,0 +1,11 @@ +--- third_party/cpuinfo/cpuinfo.gni.orig 2024-04-15 20:34:24 UTC ++++ third_party/cpuinfo/cpuinfo.gni +@@ -8,7 +8,7 @@ use_cpuinfo = + current_cpu != "s390" && current_cpu != "s390x" && + current_cpu != "riscv64" && + # cpuinfo is not supported on fuchsia. +- !is_fuchsia && ++ !is_fuchsia && !is_bsd && + # There's a few arm architectures that are not supported by cpuinfo, + # especially amongst ChromeOS devices. + # See //third_party/cpuinfo/src/src/arm/linux/cp.h. diff --git a/devel/electron33/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni b/devel/electron33/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni new file mode 100644 index 000000000000..2edbba0f4f8b --- /dev/null +++ b/devel/electron33/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/build/crashpad_buildconfig.gni.orig 2023-10-19 19:59:07 UTC ++++ third_party/crashpad/crashpad/build/crashpad_buildconfig.gni +@@ -61,7 +61,7 @@ if (crashpad_is_in_chromium) { + crashpad_is_ios = is_ios + crashpad_is_apple = is_apple + 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/devel/electron33/files/patch-third__party_crashpad_crashpad_client_BUILD.gn b/devel/electron33/files/patch-third__party_crashpad_crashpad_client_BUILD.gn new file mode 100644 index 000000000000..e1eccd40b032 --- /dev/null +++ b/devel/electron33/files/patch-third__party_crashpad_crashpad_client_BUILD.gn @@ -0,0 +1,16 @@ +--- third_party/crashpad/crashpad/client/BUILD.gn.orig 2023-10-19 19:59:07 UTC ++++ third_party/crashpad/crashpad/client/BUILD.gn +@@ -137,6 +137,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/devel/electron33/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc b/devel/electron33/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc new file mode 100644 index 000000000000..3844bf05eeda --- /dev/null +++ b/devel/electron33/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-02-07 13:39:41 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/devel/electron33/files/patch-third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc b/devel/electron33/files/patch-third__party_crashpad_crashpad_minidump_minidump__misc__info__writer.cc new file mode 100644 index 000000000000..f6a27c5e4420 --- /dev/null +++ b/devel/electron33/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-07-22 17:30:31 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/devel/electron33/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h new file mode 100644 index 000000000000..bfb69fcfc0d0 --- /dev/null +++ b/devel/electron33/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-02-28 16:54:41 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/devel/electron33/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h new file mode 100644 index 000000000000..78dfbf17b79f --- /dev/null +++ b/devel/electron33/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 2023-10-19 19:59: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> + #endif // BUILDFLAG(IS_APPLE) + +@@ -35,7 +36,8 @@ using NativeCPUContext = arm_unified_thread_state; + #endif + #elif BUILDFLAG(IS_WIN) + using NativeCPUContext = CONTEXT; +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ ++ BUILDFLAG(IS_BSD) + using NativeCPUContext = ucontext_t; + #endif // BUILDFLAG(IS_APPLE) + diff --git a/devel/electron33/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc new file mode 100644 index 000000000000..a444c9f0a8e6 --- /dev/null +++ b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/util/misc/metrics.cc.orig 2022-02-28 16:54:41 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/devel/electron33/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc new file mode 100644 index 000000000000..a7f6fab5f5e6 --- /dev/null +++ b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/util/misc/uuid.cc.orig 2024-06-18 21:43:57 UTC ++++ third_party/crashpad/crashpad/util/misc/uuid.cc +@@ -110,7 +110,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/devel/electron33/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc new file mode 100644 index 000000000000..fca107bf7098 --- /dev/null +++ b/devel/electron33/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 2023-11-29 21:40:36 UTC ++++ third_party/crashpad/crashpad/util/posix/close_multiple.cc +@@ -73,7 +73,7 @@ bool CloseMultipleNowOrOnExecUsingFDDir(int min_fd, in + // 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/devel/electron33/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc new file mode 100644 index 000000000000..035241c5dc1b --- /dev/null +++ b/devel/electron33/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-02-28 16:54:41 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/devel/electron33/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc new file mode 100644 index 000000000000..efaa7aaa5485 --- /dev/null +++ b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc @@ -0,0 +1,33 @@ +--- third_party/crashpad/crashpad/util/posix/signals.cc.orig 2022-08-31 12:19:35 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/devel/electron33/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc b/devel/electron33/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc new file mode 100644 index 000000000000..430eb25bf721 --- /dev/null +++ b/devel/electron33/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 2024-08-14 20:55:55 UTC ++++ third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc +@@ -68,7 +68,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", +@@ -139,7 +139,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/devel/electron33/files/patch-third__party_crc32c_BUILD.gn b/devel/electron33/files/patch-third__party_crc32c_BUILD.gn new file mode 100644 index 000000000000..fb4e1a944845 --- /dev/null +++ b/devel/electron33/files/patch-third__party_crc32c_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/crc32c/BUILD.gn.orig 2023-05-25 00:42:42 UTC ++++ third_party/crc32c/BUILD.gn +@@ -46,7 +46,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/devel/electron33/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h b/devel/electron33/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h new file mode 100644 index 000000000000..7c6e9095e71c --- /dev/null +++ b/devel/electron33/files/patch-third__party_dawn_include_dawn_native_VulkanBackend.h @@ -0,0 +1,11 @@ +--- third_party/dawn/include/dawn/native/VulkanBackend.h.orig 2024-06-18 21:44:13 UTC ++++ third_party/dawn/include/dawn/native/VulkanBackend.h +@@ -83,7 +83,7 @@ struct ExternalImageExportInfoVk : ExternalImageExport + }; + + // Can't use DAWN_PLATFORM_IS(LINUX) since header included in both Dawn and Chrome +-#if defined(__linux__) || defined(__Fuchsia__) ++#if defined(__linux__) || defined(__Fuchsia__) || 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/devel/electron33/files/patch-third__party_dawn_src_dawn_common_Platform.h b/devel/electron33/files/patch-third__party_dawn_src_dawn_common_Platform.h new file mode 100644 index 000000000000..ec82787739c8 --- /dev/null +++ b/devel/electron33/files/patch-third__party_dawn_src_dawn_common_Platform.h @@ -0,0 +1,14 @@ +--- third_party/dawn/src/dawn/common/Platform.h.orig 2023-11-29 21:41:27 UTC ++++ third_party/dawn/src/dawn/common/Platform.h +@@ -59,6 +59,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/devel/electron33/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp b/devel/electron33/files/patch-third__party_dawn_src_dawn_native_vulkan_BackendVk.cpp new file mode 100644 index 000000000000..787787cf03cf --- /dev/null +++ b/devel/electron33/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 2024-02-21 00:21:51 UTC ++++ third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp +@@ -56,7 +56,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/devel/electron33/files/patch-third__party_electron__node_deps_cares_BUILD.gn b/devel/electron33/files/patch-third__party_electron__node_deps_cares_BUILD.gn new file mode 100644 index 000000000000..aaeadc0424b5 --- /dev/null +++ b/devel/electron33/files/patch-third__party_electron__node_deps_cares_BUILD.gn @@ -0,0 +1,18 @@ +--- third_party/electron_node/deps/cares/BUILD.gn.orig 2024-10-16 06:04:29 UTC ++++ third_party/electron_node/deps/cares/BUILD.gn +@@ -159,9 +159,14 @@ static_library("cares") { + defines += [ "HAVE_CONFIG_H" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + include_dirs += [ "config/linux" ] + sources += [ "config/linux/ares_config.h" ] ++ } ++ ++ if (is_freebsd) { ++ include_dirs += [ "config/freebsd" ] ++ sources += [ "config/freebsd/ares_config.h" ] + } + + if (is_mac) { diff --git a/devel/electron33/files/patch-third__party_electron__node_deps_uv_BUILD.gn b/devel/electron33/files/patch-third__party_electron__node_deps_uv_BUILD.gn new file mode 100644 index 000000000000..78ed5843d703 --- /dev/null +++ b/devel/electron33/files/patch-third__party_electron__node_deps_uv_BUILD.gn @@ -0,0 +1,46 @@ +--- third_party/electron_node/deps/uv/BUILD.gn.orig 2024-02-27 21:36:01 UTC ++++ third_party/electron_node/deps/uv/BUILD.gn +@@ -3,7 +3,7 @@ config("libuv_config") { + + defines = [] + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + defines += [ "_POSIX_C_SOURCE=200112" ] + } + if (!is_win) { +@@ -157,7 +157,7 @@ static_library("uv") { + libs += [ "m" ] + ldflags += [ "-pthread" ] + } +- if (is_mac || is_linux) { ++ if (is_mac || (is_linux && !is_bsd)) { + sources += [ "src/unix/proctitle.c" ] + } + if (is_mac) { +@@ -172,7 +172,7 @@ static_library("uv") { + "_DARWIN_UNLIMITED_SELECT=1", + ] + } +- if (is_linux) { ++ if (is_linux && !is_bsd) { + defines += [ "_GNU_SOURCE" ] + sources += [ + "src/unix/linux.c", +@@ -189,6 +189,16 @@ static_library("uv") { + sources += [ + "src/unix/bsd-ifaddrs.c", + "src/unix/kqueue.c", ++ ] ++ } ++ if (is_bsd) { ++ sources += [ ++ "src/unix/bsd-ifaddrs.c", ++ "src/unix/bsd-proctitle.c", ++ "src/unix/freebsd.c", ++ "src/unix/kqueue.c", ++ "src/unix/posix-hrtime.c", ++ "src/unix/random-getrandom.c", + ] + } + } diff --git a/devel/electron33/files/patch-third__party_electron__node_deps_uv_src_unix_pipe.c b/devel/electron33/files/patch-third__party_electron__node_deps_uv_src_unix_pipe.c new file mode 100644 index 000000000000..677ed995c4e5 --- /dev/null +++ b/devel/electron33/files/patch-third__party_electron__node_deps_uv_src_unix_pipe.c @@ -0,0 +1,18 @@ +--- third_party/electron_node/deps/uv/src/unix/pipe.c.orig 2023-10-20 11:17:08 UTC ++++ third_party/electron_node/deps/uv/src/unix/pipe.c +@@ -186,9 +186,13 @@ int uv_pipe_open(uv_pipe_t* handle, uv_file fd) { + if (mode == -1) + return UV__ERR(errno); /* according to docs, must be EBADF */ + ++ /* If ioctl(FIONBIO) reports ENOTTY, try fcntl(F_GETFL) + fcntl(F_SETFL). ++ * Workaround for e.g. kqueue fds not supporting ioctls. ++ */ + err = uv__nonblock(fd, 1); +- if (err) +- return err; ++ if (err == UV_ENOTTY) ++ if (uv__nonblock == uv__nonblock_ioctl) ++ err = uv__nonblock_fcntl(fd, 1); + + #if defined(__APPLE__) + err = uv__stream_try_select((uv_stream_t*) handle, &fd); diff --git a/devel/electron33/files/patch-third__party_ffmpeg_BUILD.gn b/devel/electron33/files/patch-third__party_ffmpeg_BUILD.gn new file mode 100644 index 000000000000..b378cae1df64 --- /dev/null +++ b/devel/electron33/files/patch-third__party_ffmpeg_BUILD.gn @@ -0,0 +1,10 @@ +--- third_party/ffmpeg/BUILD.gn.orig 2024-10-28 21:05:18 UTC ++++ third_party/ffmpeg/BUILD.gn +@@ -350,7 +350,6 @@ target(link_target_type, "ffmpeg_internal") { + libs += [ + "m", + "z", +- "rt", + ] + } + if (is_component_ffmpeg) { diff --git a/devel/electron33/files/patch-third__party_ffmpeg_configure b/devel/electron33/files/patch-third__party_ffmpeg_configure new file mode 100644 index 000000000000..f552d4683989 --- /dev/null +++ b/devel/electron33/files/patch-third__party_ffmpeg_configure @@ -0,0 +1,13 @@ +--- third_party/ffmpeg/configure.orig 2024-08-14 20:56:40 UTC ++++ third_party/ffmpeg/configure +@@ -6818,8 +6818,8 @@ if ! disabled pthreads && ! enabled w32threads && ! en + if enabled pthread_np_h; then + hdrs="$hdrs pthread_np.h" + fi +- check_lib pthread_set_name_np "$hdrs" pthread_set_name_np -lpthread +- check_lib pthread_setname_np "$hdrs" pthread_setname_np -lpthread ++ check_lib pthread_set_name_np pthread_np.h pthread_set_name_np -lpthread ++ check_lib pthread_setname_np pthread_np.h pthread_setname_np -lpthread + fi + fi + diff --git a/devel/electron33/files/patch-third__party_ffmpeg_libavcodec_x86_cabac.h b/devel/electron33/files/patch-third__party_ffmpeg_libavcodec_x86_cabac.h new file mode 100644 index 000000000000..a0d30926495d --- /dev/null +++ b/devel/electron33/files/patch-third__party_ffmpeg_libavcodec_x86_cabac.h @@ -0,0 +1,12 @@ +--- third_party/ffmpeg/libavcodec/x86/cabac.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/ffmpeg/libavcodec/x86/cabac.h +@@ -31,7 +31,8 @@ + + #if (defined(__i386) && defined(__clang__) && (__clang_major__<2 || (__clang_major__==2 && __clang_minor__<10)))\ + || ( !defined(__clang__) && defined(__llvm__) && __GNUC__==4 && __GNUC_MINOR__==2 && __GNUC_PATCHLEVEL__<=1)\ +- || (defined(__INTEL_COMPILER) && defined(_MSC_VER)) ++ || (defined(__INTEL_COMPILER) && defined(_MSC_VER)) \ ++ || ((defined(__FreeBSD__) || defined(__OpenBSD__)) && defined(__i386)) + # define BROKEN_COMPILER 1 + #else + # define BROKEN_COMPILER 0 diff --git a/devel/electron33/files/patch-third__party_ffmpeg_libavutil_cpu.c b/devel/electron33/files/patch-third__party_ffmpeg_libavutil_cpu.c new file mode 100644 index 000000000000..aeb14bb03c9d --- /dev/null +++ b/devel/electron33/files/patch-third__party_ffmpeg_libavutil_cpu.c @@ -0,0 +1,14 @@ +--- third_party/ffmpeg/libavutil/cpu.c.orig 2022-07-22 17:30:31 UTC ++++ third_party/ffmpeg/libavutil/cpu.c +@@ -38,10 +38,7 @@ + #if HAVE_GETPROCESSAFFINITYMASK || HAVE_WINRT + #include <windows.h> + #endif +-#if HAVE_SYSCTL +-#if HAVE_SYS_PARAM_H +-#include <sys/param.h> +-#endif ++#if HAVE_SYSCTL && !defined(__OpenBSD__) + #include <sys/types.h> + #include <sys/sysctl.h> + #endif diff --git a/devel/electron33/files/patch-third__party_ffmpeg_libavutil_mem.c b/devel/electron33/files/patch-third__party_ffmpeg_libavutil_mem.c new file mode 100644 index 000000000000..6b83f6ed0c81 --- /dev/null +++ b/devel/electron33/files/patch-third__party_ffmpeg_libavutil_mem.c @@ -0,0 +1,12 @@ +--- third_party/ffmpeg/libavutil/mem.c.orig 2022-05-19 14:06:27 UTC ++++ third_party/ffmpeg/libavutil/mem.c +@@ -33,9 +33,6 @@ + #include <stdlib.h> + #include <stdatomic.h> + #include <string.h> +-#if HAVE_MALLOC_H +-#include <malloc.h> +-#endif + + #include "attributes.h" + #include "avassert.h" diff --git a/devel/electron33/files/patch-third__party_ffmpeg_libavutil_random__seed.c b/devel/electron33/files/patch-third__party_ffmpeg_libavutil_random__seed.c new file mode 100644 index 000000000000..178c8c120424 --- /dev/null +++ b/devel/electron33/files/patch-third__party_ffmpeg_libavutil_random__seed.c @@ -0,0 +1,14 @@ +--- third_party/ffmpeg/libavutil/random_seed.c.orig 2023-10-19 19:59:55 UTC ++++ third_party/ffmpeg/libavutil/random_seed.c +@@ -35,6 +35,11 @@ + #elif CONFIG_OPENSSL + #include <openssl/rand.h> + #endif ++#if HAVE_ARC4RANDOM_BUF ++#undef __BSD_VISIBLE ++#define __BSD_VISIBLE 1 ++#include <stdlib.h> ++#endif + #include <fcntl.h> + #include <math.h> + #include <time.h> diff --git a/devel/electron33/files/patch-third__party_ffmpeg_libavutil_x86_x86inc.asm b/devel/electron33/files/patch-third__party_ffmpeg_libavutil_x86_x86inc.asm new file mode 100644 index 000000000000..248cc08c4a3b --- /dev/null +++ b/devel/electron33/files/patch-third__party_ffmpeg_libavutil_x86_x86inc.asm @@ -0,0 +1,23 @@ +--- third_party/ffmpeg/libavutil/x86/x86inc.asm.orig 2024-06-18 21:44:14 UTC ++++ third_party/ffmpeg/libavutil/x86/x86inc.asm +@@ -46,6 +46,12 @@ + %endif + %endif + ++%if ARCH_X86_64 ++ %define _CET_ENDBR endbr64 ++%else ++ %define _CET_ENDBR ++%endif ++ + %define WIN64 0 + %define UNIX64 0 + %if ARCH_X86_64 +@@ -861,6 +867,7 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, + %endif + align function_align + %2: ++ _CET_ENDBR + RESET_MM_PERMUTATION ; needed for x86-64, also makes disassembly somewhat nicer + %xdefine rstk rsp ; copy of the original stack pointer, used when greater alignment than the known stack alignment is required + %assign stack_offset 0 ; stack pointer offset relative to the return address diff --git a/devel/electron33/files/patch-third__party_fontconfig_include_config.h b/devel/electron33/files/patch-third__party_fontconfig_include_config.h new file mode 100644 index 000000000000..2d5cf1750e27 --- /dev/null +++ b/devel/electron33/files/patch-third__party_fontconfig_include_config.h @@ -0,0 +1,49 @@ +--- third_party/fontconfig/include/config.h.orig 2024-04-15 20:34:24 UTC ++++ third_party/fontconfig/include/config.h +@@ -13,7 +13,7 @@ + + #define FC_CACHEDIR "/var/cache/fontconfig" + +-#define FC_DEFAULT_FONTS "\t<dir>/usr/share/fonts</dir>\n\t<dir>/usr/local/share/fonts</dir>\n" ++#define FC_DEFAULT_FONTS "\t<dir>/usr/X11R6/lib/X11/fonts</dir>" + + #define FC_FONTPATH "" + +@@ -66,7 +66,7 @@ + + #define HAVE_MMAP 1 + +-#define HAVE_POSIX_FADVISE 1 ++#define HAVE_POSIX_FADVISE 0 + + #define HAVE_PTHREAD 1 + +@@ -74,10 +74,13 @@ + + #define HAVE_RANDOM 1 + +-#define HAVE_RANDOM_R 1 ++/* #undef HAVE_RANDOM_R */ + + #define HAVE_RAND_R 1 + ++/* Define to 1 if you have the `arc4_random' function. */ ++#define HAVE_ARC4RANDOM 1 ++ + #define HAVE_READLINK 1 + + #define HAVE_STDATOMIC_PRIMITIVES 1 +@@ -92,11 +95,11 @@ + + #define HAVE_SYS_PARAM_H 1 + +-#define HAVE_SYS_STATFS_H 1 ++/* #undef HAVE_SYS_STATFS_H */ + + #define HAVE_SYS_STATVFS_H 1 + +-#define HAVE_SYS_VFS_H 1 ++/* #undef HAVE_SYS_VFS_H */ + + #define HAVE_UNISTD_H 1 + diff --git a/devel/electron33/files/patch-third__party_fontconfig_src_src_fccompat.c b/devel/electron33/files/patch-third__party_fontconfig_src_src_fccompat.c new file mode 100644 index 000000000000..05f955118627 --- /dev/null +++ b/devel/electron33/files/patch-third__party_fontconfig_src_src_fccompat.c @@ -0,0 +1,13 @@ +--- third_party/fontconfig/src/src/fccompat.c.orig 2023-03-30 00:40:33 UTC ++++ third_party/fontconfig/src/src/fccompat.c +@@ -184,7 +184,9 @@ FcRandom(void) + { + int32_t result; + +-#if HAVE_RANDOM_R ++#if HAVE_ARC4RANDOM ++ result = arc4random() & 0x7fffffff; ++#elif HAVE_RANDOM_R + static struct random_data fcrandbuf; + static char statebuf[256]; + static FcBool initialized = FcFalse; diff --git a/devel/electron33/files/patch-third__party_ipcz_src_reference__drivers_random.cc b/devel/electron33/files/patch-third__party_ipcz_src_reference__drivers_random.cc new file mode 100644 index 000000000000..3dfbf1791570 --- /dev/null +++ b/devel/electron33/files/patch-third__party_ipcz_src_reference__drivers_random.cc @@ -0,0 +1,20 @@ +--- third_party/ipcz/src/reference_drivers/random.cc.orig 2023-10-19 19:59:09 UTC ++++ third_party/ipcz/src/reference_drivers/random.cc +@@ -14,7 +14,7 @@ + #include <windows.h> + #elif BUILDFLAG(IS_FUCHSIA) + #include <zircon/syscalls.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 <asm/unistd.h> + #include <sys/syscall.h> + #include <unistd.h> +@@ -86,7 +86,7 @@ void RandomBytes(absl::Span<uint8_t> destination) { + process_prng_fn(destination.data(), destination.size()); + #elif BUILDFLAG(IS_FUCHSIA) + zx_cprng_draw(destination.data(), destination.size()); +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + while (!destination.empty()) { + ssize_t result = + syscall(__NR_getrandom, destination.data(), destination.size(), 0); diff --git a/devel/electron33/files/patch-third__party_ipcz_src_standalone_base_logging.cc b/devel/electron33/files/patch-third__party_ipcz_src_standalone_base_logging.cc new file mode 100644 index 000000000000..e78ffde6fb39 --- /dev/null +++ b/devel/electron33/files/patch-third__party_ipcz_src_standalone_base_logging.cc @@ -0,0 +1,12 @@ +--- third_party/ipcz/src/standalone/base/logging.cc.orig 2022-05-19 14:06:27 UTC ++++ third_party/ipcz/src/standalone/base/logging.cc +@@ -50,6 +50,9 @@ LogMessage::LogMessage(const char* file, int line, Lev + #elif BUILDFLAG(IS_ANDROID) + stream_ << getpid() << ":" << gettid() << ":"; + const char* trimmed_file = strrchr(file, '/') + 1; ++#elif BUILDFLAG(IS_BSD) ++ stream_ << getpid() << ":" << pthread_self() << ":"; ++ const char* trimmed_file = strrchr(file, '/') + 1; + #elif BUILDFLAG(IS_WIN) + const char* trimmed_file = file; + stream_ << (::GetCurrentProcessId()) << ":" << ::GetCurrentThreadId() << ":"; diff --git a/devel/electron33/files/patch-third__party_leveldatabase_env__chromium.cc b/devel/electron33/files/patch-third__party_leveldatabase_env__chromium.cc new file mode 100644 index 000000000000..d917b0d4dcea --- /dev/null +++ b/devel/electron33/files/patch-third__party_leveldatabase_env__chromium.cc @@ -0,0 +1,12 @@ +--- third_party/leveldatabase/env_chromium.cc.orig 2024-10-16 21:32:29 UTC ++++ third_party/leveldatabase/env_chromium.cc +@@ -329,7 +329,8 @@ Status ChromiumWritableFile::SyncParent() { + + Status ChromiumWritableFile::SyncParent() { + TRACE_EVENT0("leveldb", "SyncParent"); +-#if defined(OS_POSIX) || defined(OS_FUCHSIA) ++// pledge violation (directory passed as fd) ++#if (defined(OS_POSIX) || defined(OS_FUCHSIA)) && !defined(OS_OPENBSD) + FilePath path = FilePath::FromUTF8Unsafe(parent_dir_); + FileErrorOr<base::File> result = filesystem_->OpenFile( + path, base::File::FLAG_OPEN | base::File::FLAG_READ); diff --git a/devel/electron33/files/patch-third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c b/devel/electron33/files/patch-third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c new file mode 100644 index 000000000000..aef9ed07622d --- /dev/null +++ b/devel/electron33/files/patch-third__party_libaom_source_libaom_aom__ports_aarch64__cpudetect.c @@ -0,0 +1,49 @@ +--- third_party/libaom/source/libaom/aom_ports/aarch64_cpudetect.c.orig 2024-06-18 21:44:17 UTC ++++ third_party/libaom/source/libaom/aom_ports/aarch64_cpudetect.c +@@ -99,9 +99,45 @@ static int arm_get_cpu_caps(void) { + return flags; + } + +-#elif defined(__linux__) // end defined(AOM_USE_ANDROID_CPU_FEATURES) ++#elif defined(__OpenBSD__) ++#include <sys/sysctl.h> ++#include <machine/cpu.h> ++#include <machine/armreg.h> + ++static int arm_get_cpu_caps(void) { ++ int flags = 0; ++ int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 }; ++ uint64_t cpu_id = 0; ++ size_t len = sizeof(cpu_id); ++ ++ flags |= HAS_NEON; // Neon is mandatory in Armv8.0-A. ++ ++ if (sysctl(isar0_mib, 2, &cpu_id, &len, NULL, 0) < 0) ++ return flags; ++ ++ if (ID_AA64ISAR0_CRC32(cpu_id) >= ID_AA64ISAR0_CRC32_BASE) ++ flags |= HAS_ARM_CRC32; ++ ++ return flags; ++} ++ ++#elif defined(__linux__) || defined(__FreeBSD__) // end defined(AOM_USE_ANDROID_CPU_FEATURES) ++ + #include <sys/auxv.h> ++ ++#if defined(__FreeBSD__) ++static unsigned long getauxval(unsigned long type) ++{ ++ /* Only AT_HWCAP* return unsigned long */ ++ if (type != AT_HWCAP && type != AT_HWCAP2) { ++ return 0; ++ } ++ ++ unsigned long ret = 0; ++ elf_aux_info(type, &ret, sizeof(ret)); ++ return ret; ++} ++#endif + + // Define hwcap values ourselves: building with an old auxv header where these + // hwcap values are not defined should not prevent features from being enabled. diff --git a/devel/electron33/files/patch-third__party_libc++_src_src_chrono.cpp b/devel/electron33/files/patch-third__party_libc++_src_src_chrono.cpp new file mode 100644 index 000000000000..73daea6bd790 --- /dev/null +++ b/devel/electron33/files/patch-third__party_libc++_src_src_chrono.cpp @@ -0,0 +1,11 @@ +--- third_party/libc++/src/src/chrono.cpp.orig 2024-10-16 21:33:18 UTC ++++ third_party/libc++/src/src/chrono.cpp +@@ -34,7 +34,7 @@ + // OpenBSD and GPU do not have a fully conformant suite of POSIX timers, but + // it does have clock_gettime and CLOCK_MONOTONIC which is all we need. + #if defined(__APPLE__) || defined(__gnu_hurd__) || defined(__OpenBSD__) || defined(__AMDGPU__) || \ +- defined(__NVPTX__) || (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) ++ defined(__NVPTX__) || (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) || defined(__FreeBSD__) + # define _LIBCPP_HAS_CLOCK_GETTIME + #endif + diff --git a/devel/electron33/files/patch-third__party_libc++_src_src_filesystem_filesystem__clock.cpp b/devel/electron33/files/patch-third__party_libc++_src_src_filesystem_filesystem__clock.cpp new file mode 100644 index 000000000000..25edc23f7eb0 --- /dev/null +++ b/devel/electron33/files/patch-third__party_libc++_src_src_filesystem_filesystem__clock.cpp @@ -0,0 +1,11 @@ +--- third_party/libc++/src/src/filesystem/filesystem_clock.cpp.orig 2024-10-16 21:33:18 UTC ++++ third_party/libc++/src/src/filesystem/filesystem_clock.cpp +@@ -30,7 +30,7 @@ + #endif + + #if defined(__APPLE__) || defined(__gnu_hurd__) || defined(__AMDGPU__) || defined(__NVPTX__) || \ +- (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) ++ (defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0) || defined(__OpenBSD__) || defined(__FreeBSD__) + # define _LIBCPP_HAS_CLOCK_GETTIME + #endif + diff --git a/devel/electron33/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h b/devel/electron33/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h new file mode 100644 index 000000000000..d9a9a382fcc4 --- /dev/null +++ b/devel/electron33/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h @@ -0,0 +1,11 @@ +--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h.orig 2022-09-24 10:57:32 UTC ++++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h +@@ -22,7 +22,7 @@ + #elif (__cplusplus >= 201103L) && defined(I18N_PHONENUMBERS_USE_STDMUTEX) + // C++11 Lock implementation based on std::mutex. + #include "phonenumbers/base/memory/singleton_stdmutex.h" +-#elif defined(__linux__) || defined(__APPLE__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD) ++#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD) + #include "phonenumbers/base/memory/singleton_posix.h" + #elif defined(WIN32) + #include "phonenumbers/base/memory/singleton_win32.h" diff --git a/devel/electron33/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h b/devel/electron33/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h new file mode 100644 index 000000000000..d3ed3a10d84d --- /dev/null +++ b/devel/electron33/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h @@ -0,0 +1,11 @@ +--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h.orig 2022-09-24 10:57:32 UTC ++++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h +@@ -22,7 +22,7 @@ + #elif (__cplusplus >= 201103L) && defined(I18N_PHONENUMBERS_USE_STDMUTEX) + // C++11 Lock implementation based on std::mutex. + #include "phonenumbers/base/synchronization/lock_stdmutex.h" +-#elif defined(__linux__) || defined(__APPLE__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD) ++#elif defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD) + #include "phonenumbers/base/synchronization/lock_posix.h" + #elif defined(WIN32) + #include "phonenumbers/base/synchronization/lock_win32.h" diff --git a/devel/electron33/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h b/devel/electron33/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h new file mode 100644 index 000000000000..727f486668a0 --- /dev/null +++ b/devel/electron33/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h @@ -0,0 +1,20 @@ +--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h.orig 2022-09-24 10:57:32 UTC ++++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h +@@ -22,7 +22,7 @@ + // Note that I18N_PHONENUMBERS_NO_THREAD_SAFETY must be defined only to let the + // user of the library know that it can't be used in a thread-safe manner when + // it is not depending on Boost. +-#if !defined(__linux__) && !defined(__APPLE__) && !defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD) && \ ++#if !defined(__linux__) && !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD) && \ + !defined(I18N_PHONENUMBERS_NO_THREAD_SAFETY) && \ + !((__cplusplus >= 201103L) && defined(I18N_PHONENUMBERS_USE_STDMUTEX)) && \ + !defined(WIN32) +@@ -33,7 +33,7 @@ + #endif + + #if !defined(NDEBUG) && !defined(I18N_PHONENUMBERS_USE_BOOST) && \ +- (defined(__linux__) || defined(__APPLE__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD)) ++ (defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(I18N_PHONENUMBERS_HAVE_POSIX_THREAD)) + + #include <pthread.h> + diff --git a/devel/electron33/files/patch-third__party_libsync_src_include_sync_sync.h b/devel/electron33/files/patch-third__party_libsync_src_include_sync_sync.h new file mode 100644 index 000000000000..a2564e610919 --- /dev/null +++ b/devel/electron33/files/patch-third__party_libsync_src_include_sync_sync.h @@ -0,0 +1,12 @@ +--- third_party/libsync/src/include/sync/sync.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/libsync/src/include/sync/sync.h +@@ -22,7 +22,9 @@ + #include <sys/cdefs.h> + #include <stdint.h> + ++#if !defined(__OpenBSD__) && !defined(__FreeBSD__) + #include <linux/types.h> ++#endif + + __BEGIN_DECLS + diff --git a/devel/electron33/files/patch-third__party_libsync_src_sync.c b/devel/electron33/files/patch-third__party_libsync_src_sync.c new file mode 100644 index 000000000000..76580babea99 --- /dev/null +++ b/devel/electron33/files/patch-third__party_libsync_src_sync.c @@ -0,0 +1,25 @@ +--- third_party/libsync/src/sync.c.orig 2023-10-19 19:59:52 UTC ++++ third_party/libsync/src/sync.c +@@ -17,8 +17,8 @@ + */ + + #include <fcntl.h> +-#include <malloc.h> + #include <stdint.h> ++#include <stdlib.h> + #include <string.h> + #include <errno.h> + #include <poll.h> +@@ -29,6 +29,12 @@ + + #include <sync/sync.h> + ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++typedef __uint8_t __u8; ++typedef __uint32_t __u32; ++typedef __int32_t __s32; ++#define ETIME ETIMEDOUT ++#endif + + struct sw_sync_create_fence_data { + __u32 value; diff --git a/devel/electron33/files/patch-third__party_libusb_BUILD.gn b/devel/electron33/files/patch-third__party_libusb_BUILD.gn new file mode 100644 index 000000000000..685a51ffb189 --- /dev/null +++ b/devel/electron33/files/patch-third__party_libusb_BUILD.gn @@ -0,0 +1,52 @@ +--- third_party/libusb/BUILD.gn.orig 2023-10-19 19:59:12 UTC ++++ third_party/libusb/BUILD.gn +@@ -3,7 +3,7 @@ + # found in the LICENSE file. + + # libusb is only used by //services/device/usb on macOS. +-assert(is_mac) ++assert(is_mac || is_bsd) + + import("//build/config/chromeos/ui_mode.gni") + import("//build/config/features.gni") +@@ -103,7 +103,7 @@ static_library("libusb") { + ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ + "src/libusb/os/linux_usbfs.c", + "src/libusb/os/linux_usbfs.h", +@@ -114,11 +114,21 @@ static_library("libusb") { + ] + } + ++ if (is_openbsd) { ++ sources += [ ++ "src/libusb/os/openbsd_usb.c", ++ ] ++ defines += [ ++ "OS_OPENBSD=1", ++ "_GNU_SOURCE=1", ++ ] ++ } ++ + if (is_chromeos_ash) { + defines += [ "USBI_TIMERFD_AVAILABLE" ] + } + +- if (use_udev) { ++ if (use_udev && !is_bsd) { + sources += [ "src/libusb/os/linux_udev.cc" ] + defines += [ + "HAVE_LIBUDEV=1", +@@ -127,7 +137,7 @@ static_library("libusb") { + deps += [ "//build/linux/libudev" ] + } + +- if ((is_linux || is_chromeos) && !use_udev) { ++ if ((is_linux || is_chromeos) && !use_udev && !is_bsd) { + sources += [ "src/libusb/os/linux_netlink.c" ] + defines += [ "HAVE_LINUX_NETLINK_H" ] + } diff --git a/devel/electron33/files/patch-third__party_libusb_src_libusb_core.c b/devel/electron33/files/patch-third__party_libusb_src_libusb_core.c new file mode 100644 index 000000000000..f1cb8df07aa7 --- /dev/null +++ b/devel/electron33/files/patch-third__party_libusb_src_libusb_core.c @@ -0,0 +1,11 @@ +--- third_party/libusb/src/libusb/core.c.orig 2022-02-07 13:39:41 UTC ++++ third_party/libusb/src/libusb/core.c +@@ -448,7 +448,7 @@ libusb_free_device_list(list, 1); + * which grows when required. it can be freed once discovery has completed, + * eliminating the need for a list node in the libusb_device structure + * itself. */ +-#define DISCOVERED_DEVICES_SIZE_STEP 8 ++#define DISCOVERED_DEVICES_SIZE_STEP 16 + + static struct discovered_devs *discovered_devs_alloc(void) + { diff --git a/devel/electron33/files/patch-third__party_libusb_src_libusb_os_threads__posix.c b/devel/electron33/files/patch-third__party_libusb_src_libusb_os_threads__posix.c new file mode 100644 index 000000000000..494904b7f888 --- /dev/null +++ b/devel/electron33/files/patch-third__party_libusb_src_libusb_os_threads__posix.c @@ -0,0 +1,24 @@ +--- third_party/libusb/src/libusb/os/threads_posix.c.orig 2023-03-30 00:34:13 UTC ++++ third_party/libusb/src/libusb/os/threads_posix.c +@@ -19,9 +19,11 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +-#if defined(__linux__) || defined(__OpenBSD__) ++#if defined(__linux__) + # include <unistd.h> + # include <sys/syscall.h> ++#elif defined(__OpenBSD__) ++# include <unistd.h> + #elif defined(__APPLE__) + # include <mach/mach.h> + #elif defined(__CYGWIN__) +@@ -65,7 +67,7 @@ int usbi_get_tid(void) + #elif defined(__OpenBSD__) + /* The following only works with OpenBSD > 5.1 as it requires + real thread support. For 5.1 and earlier, -1 is returned. */ +- ret = syscall(SYS_getthrid); ++ ret = getthrid(); + #elif defined(__APPLE__) + ret = mach_thread_self(); + mach_port_deallocate(mach_task_self(), ret); diff --git a/devel/electron33/files/patch-third__party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c b/devel/electron33/files/patch-third__party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c new file mode 100644 index 000000000000..de0baf2d2bea --- /dev/null +++ b/devel/electron33/files/patch-third__party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c @@ -0,0 +1,27 @@ +--- third_party/libvpx/source/libvpx/vpx_ports/aarch64_cpudetect.c.orig 2024-06-18 21:44:20 UTC ++++ third_party/libvpx/source/libvpx/vpx_ports/aarch64_cpudetect.c +@@ -92,9 +92,23 @@ static int arm_get_cpu_caps(void) { + return flags; + } + +-#elif defined(__linux__) // end defined(VPX_USE_ANDROID_CPU_FEATURES) ++#elif defined(__linux__) || defined(__FreeBSD__) // end defined(VPX_USE_ANDROID_CPU_FEATURES) + + #include <sys/auxv.h> ++ ++#if defined(__FreeBSD__) ++static unsigned long getauxval(unsigned long type) ++{ ++ /* Only AT_HWCAP* return unsigned long */ ++ if (type != AT_HWCAP && type != AT_HWCAP2) { ++ return 0; ++ } ++ ++ unsigned long ret = 0; ++ elf_aux_info(type, &ret, sizeof(ret)); ++ return ret; ++} ++#endif + + // Define hwcap values ourselves: building with an old auxv header where these + // hwcap values are not defined should not prevent features from being enabled. diff --git a/devel/electron33/files/patch-third__party_lzma__sdk_C_CpuArch.c b/devel/electron33/files/patch-third__party_lzma__sdk_C_CpuArch.c new file mode 100644 index 000000000000..e5faa231f03f --- /dev/null +++ b/devel/electron33/files/patch-third__party_lzma__sdk_C_CpuArch.c @@ -0,0 +1,44 @@ +--- third_party/lzma_sdk/C/CpuArch.c.orig 2022-09-04 11:56:14 UTC ++++ third_party/lzma_sdk/C/CpuArch.c +@@ -412,12 +412,40 @@ BoolInt CPU_IsSupported_SHA1(void) { return APPLE_CRYP + BoolInt CPU_IsSupported_SHA2(void) { return APPLE_CRYPTO_SUPPORT_VAL; } + BoolInt CPU_IsSupported_AES (void) { return APPLE_CRYPTO_SUPPORT_VAL; } + ++#elif defined(__OpenBSD__) + ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#include <machine/cpu.h> ++#include <machine/armreg.h> ++ ++BoolInt CPU_IsSupported_NEON() { return 1; } ++ ++#define MY_HWCAP_CHECK_FUNC_2(name1, name2) \ ++ BoolInt CPU_IsSupported_ ## name1() { \ ++ 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 0; \ ++ if (ID_AA64ISAR0_ ## name2(cpu_id) >= ID_AA64ISAR0_## name2 ##_BASE) \ ++ return 1; \ ++ return 0; \ ++ } ++ ++#define MY_HWCAP_CHECK_FUNC(name) \ ++ MY_HWCAP_CHECK_FUNC_2(name, name) ++ ++MY_HWCAP_CHECK_FUNC (CRC32) ++MY_HWCAP_CHECK_FUNC (SHA1) ++MY_HWCAP_CHECK_FUNC (SHA2) ++MY_HWCAP_CHECK_FUNC (AES) ++ + #else // __APPLE__ + + #include <sys/auxv.h> + +-#if !defined(ARMV8_OS_FUCHSIA) ++#if !defined(ARMV8_OS_FUCHSIA) && !defined(__FreeBSD__) + #define USE_HWCAP + #endif // !defined(ARMV8_OS_FUCHSIA) + diff --git a/devel/electron33/files/patch-third__party_material__color__utilities_src_cpp_palettes_tones.cc b/devel/electron33/files/patch-third__party_material__color__utilities_src_cpp_palettes_tones.cc new file mode 100644 index 000000000000..7613df04ab3b --- /dev/null +++ b/devel/electron33/files/patch-third__party_material__color__utilities_src_cpp_palettes_tones.cc @@ -0,0 +1,11 @@ +--- third_party/material_color_utilities/src/cpp/palettes/tones.cc.orig 2024-04-15 20:34:41 UTC ++++ third_party/material_color_utilities/src/cpp/palettes/tones.cc +@@ -14,6 +14,8 @@ + * limitations under the License. + */ + ++#include <cmath> ++ + #include "cpp/palettes/tones.h" + + #include <cmath> diff --git a/devel/electron33/files/patch-third__party_nasm_BUILD.gn b/devel/electron33/files/patch-third__party_nasm_BUILD.gn new file mode 100644 index 000000000000..1651dd085086 --- /dev/null +++ b/devel/electron33/files/patch-third__party_nasm_BUILD.gn @@ -0,0 +1,16 @@ +--- third_party/nasm/BUILD.gn.orig 2024-08-14 20:56:38 UTC ++++ third_party/nasm/BUILD.gn +@@ -63,6 +63,13 @@ config("nasm_config") { + + defines = [ "HAVE_CONFIG_H" ] + ++ _string_h_lines = ++ read_file("/usr/include/string.h", "list lines") ++ _mempcpy = filter_include(_string_h_lines, [ "*mempcpy*" ]) ++ if (_mempcpy != []) { ++ defines += [ "HAVE_MEMPCPY=1" ] ++ } ++ + if (is_clang) { + cflags = [ + # The inline functions in NASM's headers flag this. diff --git a/devel/electron33/files/patch-third__party_nasm_config_config-linux.h b/devel/electron33/files/patch-third__party_nasm_config_config-linux.h new file mode 100644 index 000000000000..637d2f20ebd2 --- /dev/null +++ b/devel/electron33/files/patch-third__party_nasm_config_config-linux.h @@ -0,0 +1,102 @@ +--- third_party/nasm/config/config-linux.h.orig 2024-08-14 20:56:38 UTC ++++ third_party/nasm/config/config-linux.h +@@ -160,7 +160,7 @@ + + /* Define to 1 if you have the declaration of `strlcpy', and to 0 if you + don't. */ +-#define HAVE_DECL_STRLCPY 0 ++#define HAVE_DECL_STRLCPY 1 + + /* Define to 1 if you have the declaration of `strncasecmp', and to 0 if you + don't. */ +@@ -183,7 +183,7 @@ + #define HAVE_DECL_STRSEP 1 + + /* Define to 1 if you have the <endian.h> header file. */ +-#define HAVE_ENDIAN_H 1 ++/* #undef HAVE_ENDIAN_H */ + + /* Define to 1 if you have the `faccessat' function. */ + #define HAVE_FACCESSAT 1 +@@ -327,16 +327,16 @@ + #define HAVE_ISASCII 1 + + /* Define to 1 if you have the `iscntrl' function. */ +-/* #undef HAVE_ISCNTRL */ ++#define HAVE_ISCNTRL 1 + + /* Define to 1 if you have the <machine/endian.h> header file. */ +-/* #undef HAVE_MACHINE_ENDIAN_H */ ++#define HAVE_MACHINE_ENDIAN_H 1 + + /* Define to 1 if you have the <memory.h> header file. */ + #define HAVE_MEMORY_H 1 + + /* Define to 1 if you have the `mempcpy' function. */ +-#define HAVE_MEMPCPY 1 ++/* #undef HAVE_MEMPCPY */ + + /* Define to 1 if you have a working `mmap' system call. */ + #define HAVE_MMAP 1 +@@ -357,7 +357,7 @@ + #define HAVE_STDARG_H 1 + + /* Define to 1 if stdbool.h conforms to C99. */ +-/* #undef HAVE_STDBOOL_H */ ++#define HAVE_STDBOOL_H 1 + + /* Define to 1 if your compiler supports C99 extern inline */ + #define HAVE_STDC_INLINE 1 +@@ -384,7 +384,7 @@ + #define HAVE_STRING_H 1 + + /* Define to 1 if you have the `strlcpy' function. */ +-/* #undef HAVE_STRLCPY */ ++#define HAVE_STRLCPY 1 + + /* Define to 1 if you have the `strncasecmp' function. */ + #define HAVE_STRNCASECMP 1 +@@ -411,7 +411,7 @@ + #define HAVE_SYSCONF 1 + + /* Define to 1 if you have the <sys/endian.h> header file. */ +-/* #undef HAVE_SYS_ENDIAN_H */ ++#define HAVE_SYS_ENDIAN_H 1 + + /* Define to 1 if you have the <sys/mman.h> header file. */ + #define HAVE_SYS_MMAN_H 1 +@@ -486,13 +486,13 @@ + /* #undef HAVE__STATI64 */ + + /* Define to 1 if you have the `__bswap_16' intrinsic function. */ +-#define HAVE___BSWAP_16 1 ++/* #undef HAVE___BSWAP_16 */ + + /* Define to 1 if you have the `__bswap_32' intrinsic function. */ +-#define HAVE___BSWAP_32 1 ++/* #undef HAVE___BSWAP_32 */ + + /* Define to 1 if you have the `__bswap_64' intrinsic function. */ +-#define HAVE___BSWAP_64 1 ++/* #undef HAVE___BSWAP_64 */ + + /* Define to 1 if you have the `__builtin_bswap16' intrinsic function. */ + #define HAVE___BUILTIN_BSWAP16 1 +@@ -620,7 +620,7 @@ + /* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +-#define restrict __restrict ++#define restrict __restrict__ + /* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the +@@ -637,7 +637,7 @@ + /* Define if your snprintf function is not named snprintf. */ + /* #undef snprintf */ + +-/* Define if your typeof operator is not named typeof. */ ++/* Define if your typeof operator is not named `typeof'. */ + #define typeof __typeof + + /* Define to the type of an unsigned integer type wide enough to hold a diff --git a/devel/electron33/files/patch-third__party_node_node.gni b/devel/electron33/files/patch-third__party_node_node.gni new file mode 100644 index 000000000000..3951c88d37c2 --- /dev/null +++ b/devel/electron33/files/patch-third__party_node_node.gni @@ -0,0 +1,11 @@ +--- third_party/node/node.gni.orig 2024-08-14 20:55:59 UTC ++++ third_party/node/node.gni +@@ -22,7 +22,7 @@ template("node") { + + # When use_remoteexec=true, node actions may run on remote + # Linux worker. So it should include linux node binary in inputs. +- if (is_linux || is_chromeos || use_remoteexec) { ++ if ((is_linux || is_chromeos || use_remoteexec) && !is_bsd) { + inputs += [ "//third_party/node/linux/node-linux-x64/bin/node" ] + } + if (is_win && host_os == "win") { diff --git a/devel/electron33/files/patch-third__party_node_node.py b/devel/electron33/files/patch-third__party_node_node.py new file mode 100644 index 000000000000..07867035402a --- /dev/null +++ b/devel/electron33/files/patch-third__party_node_node.py @@ -0,0 +1,11 @@ +--- third_party/node/node.py.orig 2024-08-14 20:55:59 UTC ++++ third_party/node/node.py +@@ -20,6 +20,8 @@ def GetBinaryPath(): + return os_path.join(os_path.dirname(__file__), *{ + 'Darwin': (darwin_path, darwin_name, 'bin', 'node'), + 'Linux': ('linux', 'node-linux-x64', 'bin', 'node'), ++ 'OpenBSD': ('openbsd', 'node-openbsd', 'bin', 'node'), ++ 'FreeBSD': ('freebsd', 'node-freebsd', 'bin', 'node'), + 'Windows': ('win', 'node.exe'), + }[platform.system()]) + diff --git a/devel/electron33/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp b/devel/electron33/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp new file mode 100644 index 000000000000..0c5d7120dd51 --- /dev/null +++ b/devel/electron33/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp @@ -0,0 +1,11 @@ +--- third_party/pdfium/core/fxge/cfx_fontmapper.cpp.orig 2024-08-14 21:00:30 UTC ++++ third_party/pdfium/core/fxge/cfx_fontmapper.cpp +@@ -157,7 +157,7 @@ constexpr AltFontFamily kAltFontFamilies[] = { + {"ForteMT", "Forte"}, + }; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(OS_ASMJS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(OS_ASMJS) || BUILDFLAG(IS_BSD) + const char kNarrowFamily[] = "LiberationSansNarrow"; + #elif BUILDFLAG(IS_ANDROID) + const char kNarrowFamily[] = "RobotoCondensed"; diff --git a/devel/electron33/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp b/devel/electron33/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp new file mode 100644 index 000000000000..f7efaad2dd9a --- /dev/null +++ b/devel/electron33/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp @@ -0,0 +1,23 @@ +--- third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp.orig 2024-08-14 21:00:31 UTC ++++ third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp +@@ -20,7 +20,7 @@ + #include "core/fxge/fx_font.h" + #include "core/fxge/systemfontinfo_iface.h" + +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !defined(OS_ASMJS) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !defined(OS_ASMJS) && !BUILDFLAG(IS_BSD) + #error "Included on the wrong platform" + #endif + +@@ -173,9 +173,8 @@ class CLinuxPlatform : public CFX_GEModule::PlatformIf + std::unique_ptr<SystemFontInfoIface> CreateDefaultSystemFontInfo() override { + auto pInfo = std::make_unique<CFX_LinuxFontInfo>(); + if (!pInfo->ParseFontCfg(CFX_GEModule::Get()->GetUserFontPaths())) { +- pInfo->AddPath("/usr/share/fonts"); +- pInfo->AddPath("/usr/share/X11/fonts/Type1"); +- pInfo->AddPath("/usr/share/X11/fonts/TTF"); ++ pInfo->AddPath("/usr/X11R6/lib/X11/fonts/Type1"); ++ pInfo->AddPath("/usr/X11R6/lib/X11/fonts/TTF"); + pInfo->AddPath("/usr/local/share/fonts"); + } + return pInfo; diff --git a/devel/electron33/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp b/devel/electron33/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp new file mode 100644 index 000000000000..276f619f4105 --- /dev/null +++ b/devel/electron33/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp @@ -0,0 +1,22 @@ +--- third_party/pdfium/fxjs/fx_date_helpers.cpp.orig 2024-06-18 21:44:57 UTC ++++ third_party/pdfium/fxjs/fx_date_helpers.cpp +@@ -39,6 +39,11 @@ double GetLocalTZA() { + return 0; + time_t t = 0; + FXSYS_time(&t); ++#ifdef __FreeBSD__ ++ struct tm lt; ++ localtime_r(&t, <); ++ return (double)(-(lt.tm_gmtoff * 1000)); ++#else + FXSYS_localtime(&t); + #if BUILDFLAG(IS_WIN) + // In gcc 'timezone' is a global variable declared in time.h. In VC++, that +@@ -47,6 +52,7 @@ double GetLocalTZA() { + _get_timezone(&timezone); + #endif + return (double)(-(timezone * 1000)); ++#endif // __FreeBSD__ + } + + int GetDaylightSavingTA(double d) { diff --git a/devel/electron33/files/patch-third__party_pdfium_pdfium.gni b/devel/electron33/files/patch-third__party_pdfium_pdfium.gni new file mode 100644 index 000000000000..734974d74cdb --- /dev/null +++ b/devel/electron33/files/patch-third__party_pdfium_pdfium.gni @@ -0,0 +1,11 @@ +--- third_party/pdfium/pdfium.gni.orig 2024-02-21 00:22:08 UTC ++++ third_party/pdfium/pdfium.gni +@@ -42,7 +42,7 @@ declare_args() { + # PDFium will use PartitionAlloc partitions to separate strings, scalars, + # etc. from other allocations. However, the use of PartitionAlloc for new or + # malloc is controlled by args in build_overrides/partition_alloc.gni. +- pdf_use_partition_alloc = pdf_use_partition_alloc_override ++ pdf_use_partition_alloc = pdf_use_partition_alloc_override && use_partition_alloc_as_malloc + + # Build PDFium to use Skia (experimental) for all PDFium graphics. + # If enabled, coexists in build with AGG graphics and the default diff --git a/devel/electron33/files/patch-third__party_pdfium_xfa_fxfa_parser_cxfa__timezoneprovider.cpp b/devel/electron33/files/patch-third__party_pdfium_xfa_fxfa_parser_cxfa__timezoneprovider.cpp new file mode 100644 index 000000000000..c9bbf1096187 --- /dev/null +++ b/devel/electron33/files/patch-third__party_pdfium_xfa_fxfa_parser_cxfa__timezoneprovider.cpp @@ -0,0 +1,41 @@ +--- third_party/pdfium/xfa/fxfa/parser/cxfa_timezoneprovider.cpp.orig 2022-02-28 16:54:41 UTC ++++ third_party/pdfium/xfa/fxfa/parser/cxfa_timezoneprovider.cpp +@@ -6,12 +6,16 @@ + + #include "xfa/fxfa/parser/cxfa_timezoneprovider.h" + ++#include <stdint.h> + #include <stdlib.h> + #include <time.h> + + #include "build/build_config.h" + + static bool g_bProviderTimeZoneSet = false; ++#if defined(OS_FREEBSD) ++static long g_lTimeZoneOffset = 0; ++#endif + + #if BUILDFLAG(IS_WIN) + #define TIMEZONE _timezone +@@ -24,9 +28,21 @@ static bool g_bProviderTimeZoneSet = false; + CXFA_TimeZoneProvider::CXFA_TimeZoneProvider() { + if (!g_bProviderTimeZoneSet) { + g_bProviderTimeZoneSet = true; ++#if defined(OS_FREEBSD) ++ time_t now = time(nullptr); ++ struct tm tm = {}; ++ ++ localtime_r(&now, &tm); ++ g_lTimeZoneOffset = tm.tm_gmtoff; ++#else + TZSET(); ++#endif + } ++#if defined(OS_FREEBSD) ++ tz_minutes_ = static_cast<int8_t>((abs(g_lTimeZoneOffset) % 3600) / 60); ++#else + tz_minutes_ = TIMEZONE / -60; ++#endif + } + + CXFA_TimeZoneProvider::~CXFA_TimeZoneProvider() = default; diff --git a/devel/electron33/files/patch-third__party_perfetto_include_perfetto_base_build__config.h b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_base_build__config.h new file mode 100644 index 000000000000..4ff5bff8c746 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_base_build__config.h @@ -0,0 +1,66 @@ +--- third_party/perfetto/include/perfetto/base/build_config.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/perfetto/include/perfetto/base/build_config.h +@@ -27,6 +27,7 @@ + #if defined(__ANDROID__) + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 1 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0 +@@ -38,6 +39,7 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 1 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 +@@ -51,9 +53,10 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 1 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0 + #endif +-#elif defined(__linux__) ++#elif defined(__linux__) || defined(__OpenBSD__) || defined(__FreeBSD__) + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 1 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0 +@@ -64,6 +67,8 @@ + #elif defined(_WIN32) + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 1 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0 +@@ -74,6 +79,8 @@ + #elif defined(__EMSCRIPTEN__) + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0 +@@ -87,6 +94,8 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 1 +@@ -94,6 +103,8 @@ + #elif defined(__native_client__) + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_BSD() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_APPLE() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MAC() 0 diff --git a/devel/electron33/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h new file mode 100644 index 000000000000..7e6881fb2cc6 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h @@ -0,0 +1,22 @@ +--- third_party/perfetto/include/perfetto/base/thread_utils.h.orig 2023-02-01 18:45:20 UTC ++++ third_party/perfetto/include/perfetto/base/thread_utils.h +@@ -34,6 +34,7 @@ __declspec(dllimport) unsigned long __stdcall GetCurre + #include <sys/syscall.h> + #include <sys/types.h> + #include <unistd.h> ++#include <pthread.h> + #else + #include <pthread.h> + #endif +@@ -45,6 +46,11 @@ namespace base { + using PlatformThreadId = pid_t; + inline PlatformThreadId GetThreadId() { + return gettid(); ++} ++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) ++using PlatformThreadId = uint64_t; ++inline PlatformThreadId GetThreadId() { ++ return reinterpret_cast<uint64_t>(pthread_self()); + } + #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) + using PlatformThreadId = pid_t; diff --git a/devel/electron33/files/patch-third__party_perfetto_include_perfetto_base_time.h b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_base_time.h new file mode 100644 index 000000000000..9ec93a04fae6 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_base_time.h @@ -0,0 +1,34 @@ +--- third_party/perfetto/include/perfetto/base/time.h.orig 2024-08-14 20:58:54 UTC ++++ third_party/perfetto/include/perfetto/base/time.h +@@ -199,6 +199,9 @@ inline TimeNanos GetBootTimeNs() { + // Return ns from boot. Conversely to GetWallTimeNs, this clock counts also time + // during suspend (when supported). + inline TimeNanos GetBootTimeNs() { ++#if defined(__FreeBSD__) ++ return GetTimeInternalNs(kWallTimeClockSource); ++#else + // Determine if CLOCK_BOOTTIME is available on the first call. + static const clockid_t kBootTimeClockSource = [] { + struct timespec ts = {}; +@@ -206,6 +209,7 @@ inline TimeNanos GetBootTimeNs() { + return res == 0 ? CLOCK_BOOTTIME : kWallTimeClockSource; + }(); + return GetTimeInternalNs(kBootTimeClockSource); ++#endif + } + + inline TimeNanos GetWallTimeNs() { +@@ -213,7 +217,13 @@ inline TimeNanos GetWallTimeRawNs() { + } + + inline TimeNanos GetWallTimeRawNs() { ++#if defined(__OpenBSD__) ++ return GetTimeInternalNs(CLOCK_MONOTONIC); ++#elif defined(__FreeBSD__) ++ return GetTimeInternalNs(CLOCK_MONOTONIC_FAST); ++#else + return GetTimeInternalNs(CLOCK_MONOTONIC_RAW); ++#endif + } + + inline TimeNanos GetThreadCPUTimeNs() { diff --git a/devel/electron33/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h new file mode 100644 index 000000000000..7d9883a23e8f --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h @@ -0,0 +1,11 @@ +--- third_party/perfetto/include/perfetto/ext/base/event_fd.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/perfetto/include/perfetto/ext/base/event_fd.h +@@ -55,6 +55,8 @@ class EventFd { + // On Mac and other non-Linux UNIX platforms a pipe-based fallback is used. + // The write end of the wakeup pipe. + ScopedFile write_fd_; ++#else ++ ScopedFile write_fd_; + #endif + }; + diff --git a/devel/electron33/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h new file mode 100644 index 000000000000..36bd8a14f3d0 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_ext_base_thread__utils.h @@ -0,0 +1,15 @@ +--- third_party/perfetto/include/perfetto/ext/base/thread_utils.h.orig 2023-11-29 21:41:38 UTC ++++ third_party/perfetto/include/perfetto/ext/base/thread_utils.h +@@ -41,9 +41,10 @@ namespace base { + namespace perfetto { + namespace base { + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \ +- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) ++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) + // Sets the "comm" of the calling thread to the first 15 chars of the given + // string. + inline bool MaybeSetThreadName(const std::string& name) { diff --git a/devel/electron33/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h new file mode 100644 index 000000000000..4858a1ee72d2 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_include_perfetto_tracing_internal_track__event__legacy.h @@ -0,0 +1,11 @@ +--- third_party/perfetto/include/perfetto/tracing/internal/track_event_legacy.h.orig 2023-05-25 00:46:23 UTC ++++ third_party/perfetto/include/perfetto/tracing/internal/track_event_legacy.h +@@ -249,7 +249,7 @@ class PERFETTO_EXPORT_COMPONENT LegacyTraceId { + // are different. E.g. on Mac size_t is considered a different type from + // uint64_t even though it has the same size and signedness. + // Below we add overloads for those types that are known to cause ambiguity. +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) ++#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || defined(__OpenBSD__) + explicit LegacyTraceId(size_t raw_id) : raw_id_(raw_id) {} + explicit LegacyTraceId(intptr_t raw_id) + : raw_id_(static_cast<uint64_t>(raw_id)) {} diff --git a/devel/electron33/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto b/devel/electron33/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto new file mode 100644 index 000000000000..59893e67db88 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_protos_perfetto_trace_ftrace_v4l2.proto @@ -0,0 +1,56 @@ +--- third_party/perfetto/protos/perfetto/trace/ftrace/v4l2.proto.orig 2022-09-24 10:57:32 UTC ++++ third_party/perfetto/protos/perfetto/trace/ftrace/v4l2.proto +@@ -10,7 +10,7 @@ message V4l2QbufFtraceEvent { + optional uint32 field = 2; + optional uint32 flags = 3; + optional uint32 index = 4; +- optional int32 minor = 5; ++ optional int32 gminor = 5; + optional uint32 sequence = 6; + optional uint32 timecode_flags = 7; + optional uint32 timecode_frames = 8; +@@ -30,7 +30,7 @@ message V4l2DqbufFtraceEvent { + optional uint32 field = 2; + optional uint32 flags = 3; + optional uint32 index = 4; +- optional int32 minor = 5; ++ optional int32 gminor = 5; + optional uint32 sequence = 6; + optional uint32 timecode_flags = 7; + optional uint32 timecode_frames = 8; +@@ -48,7 +48,7 @@ message V4l2DqbufFtraceEvent { + message Vb2V4l2BufQueueFtraceEvent { + optional uint32 field = 1; + optional uint32 flags = 2; +- optional int32 minor = 3; ++ optional int32 gminor = 3; + optional uint32 sequence = 4; + optional uint32 timecode_flags = 5; + optional uint32 timecode_frames = 6; +@@ -65,7 +65,7 @@ message Vb2V4l2BufQueueFtraceEvent { + message Vb2V4l2BufDoneFtraceEvent { + optional uint32 field = 1; + optional uint32 flags = 2; +- optional int32 minor = 3; ++ optional int32 gminor = 3; + optional uint32 sequence = 4; + optional uint32 timecode_flags = 5; + optional uint32 timecode_frames = 6; +@@ -82,7 +82,7 @@ message Vb2V4l2BufDoneFtraceEvent { + message Vb2V4l2QbufFtraceEvent { + optional uint32 field = 1; + optional uint32 flags = 2; +- optional int32 minor = 3; ++ optional int32 gminor = 3; + optional uint32 sequence = 4; + optional uint32 timecode_flags = 5; + optional uint32 timecode_frames = 6; +@@ -99,7 +99,7 @@ message Vb2V4l2QbufFtraceEvent { + message Vb2V4l2DqbufFtraceEvent { + optional uint32 field = 1; + optional uint32 flags = 2; +- optional int32 minor = 3; ++ optional int32 gminor = 3; + optional uint32 sequence = 4; + optional uint32 timecode_flags = 5; + optional uint32 timecode_frames = 6; diff --git a/devel/electron33/files/patch-third__party_perfetto_src_base_event__fd.cc b/devel/electron33/files/patch-third__party_perfetto_src_base_event__fd.cc new file mode 100644 index 000000000000..5ea355851d89 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_base_event__fd.cc @@ -0,0 +1,22 @@ +--- third_party/perfetto/src/base/event_fd.cc.orig 2022-02-07 13:39:41 UTC ++++ third_party/perfetto/src/base/event_fd.cc +@@ -22,7 +22,8 @@ + #if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) + #include <Windows.h> + #include <synchapi.h> +-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#elif (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) + #include <sys/eventfd.h> + #include <unistd.h> +@@ -57,7 +58,8 @@ void EventFd::Clear() { + PERFETTO_DFATAL("EventFd::Clear()"); + } + +-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#elif (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) + + EventFd::EventFd() { diff --git a/devel/electron33/files/patch-third__party_perfetto_src_base_periodic__task.cc b/devel/electron33/files/patch-third__party_perfetto_src_base_periodic__task.cc new file mode 100644 index 000000000000..f76f55019b01 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_base_periodic__task.cc @@ -0,0 +1,20 @@ +--- third_party/perfetto/src/base/periodic_task.cc.orig 2023-03-30 00:40:41 UTC ++++ third_party/perfetto/src/base/periodic_task.cc +@@ -24,7 +24,7 @@ + #include "perfetto/base/time.h" + #include "perfetto/ext/base/file_utils.h" + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \ + (PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) && __ANDROID_API__ >= 19) + #include <sys/timerfd.h> + #endif +@@ -44,7 +44,7 @@ uint32_t GetNextDelayMs(const TimeMillis& now_ms, + } + + ScopedPlatformHandle CreateTimerFd(const PeriodicTask::Args& args) { +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \ + (PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) && __ANDROID_API__ >= 19) + ScopedPlatformHandle tfd( + timerfd_create(CLOCK_BOOTTIME, TFD_CLOEXEC | TFD_NONBLOCK)); diff --git a/devel/electron33/files/patch-third__party_perfetto_src_base_string__utils.cc b/devel/electron33/files/patch-third__party_perfetto_src_base_string__utils.cc new file mode 100644 index 000000000000..ec41d64c1f8d --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_base_string__utils.cc @@ -0,0 +1,15 @@ +--- third_party/perfetto/src/base/string_utils.cc.orig 2023-11-29 21:41:38 UTC ++++ third_party/perfetto/src/base/string_utils.cc +@@ -38,9 +38,10 @@ double StrToD(const char* nptr, char** endptr) { + + // Locale-independant as possible version of strtod. + double StrToD(const char* nptr, char** endptr) { +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \ ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ +- PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) ++ PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE)) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) + static auto c_locale = newlocale(LC_ALL, "C", nullptr); + return strtod_l(nptr, endptr, c_locale); + #else diff --git a/devel/electron33/files/patch-third__party_perfetto_src_base_subprocess__posix.cc b/devel/electron33/files/patch-third__party_perfetto_src_base_subprocess__posix.cc new file mode 100644 index 000000000000..f38b23a79ca9 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_base_subprocess__posix.cc @@ -0,0 +1,22 @@ +--- third_party/perfetto/src/base/subprocess_posix.cc.orig 2022-02-07 13:39:41 UTC ++++ third_party/perfetto/src/base/subprocess_posix.cc +@@ -35,7 +35,8 @@ + #include <thread> + #include <tuple> + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) + #include <sys/prctl.h> + #endif +@@ -64,7 +65,8 @@ struct ChildProcessArgs { + // Don't add any dynamic allocation in this function. This will be invoked + // under a fork(), potentially in a state where the allocator lock is held. + void __attribute__((noreturn)) ChildProcess(ChildProcessArgs* args) { +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) + // In no case we want a child process to outlive its parent process. This is + // relevant for tests, so that a test failure/crash doesn't leave child diff --git a/devel/electron33/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc b/devel/electron33/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc new file mode 100644 index 000000000000..17ebe05dd570 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_base_test_vm__test__utils.cc @@ -0,0 +1,11 @@ +--- third_party/perfetto/src/base/test/vm_test_utils.cc.orig 2022-06-17 14:20:10 UTC ++++ third_party/perfetto/src/base/test/vm_test_utils.cc +@@ -91,7 +91,7 @@ bool IsMapped(void* start, size_t size) { + // Fuchsia doesn't yet support paging (b/119503290). + ignore_result(page_size); + return true; +-#elif PERFETTO_BUILDFLAG(PERFETTO_OS_NACL) ++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_NACL) || PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) + // mincore isn't available on NaCL. + ignore_result(page_size); + return true; diff --git a/devel/electron33/files/patch-third__party_perfetto_src_base_thread__task__runner.cc b/devel/electron33/files/patch-third__party_perfetto_src_base_thread__task__runner.cc new file mode 100644 index 000000000000..3cedb601c7a0 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_base_thread__task__runner.cc @@ -0,0 +1,14 @@ +--- third_party/perfetto/src/base/thread_task_runner.cc.orig 2022-02-07 13:39:41 UTC ++++ third_party/perfetto/src/base/thread_task_runner.cc +@@ -27,8 +27,9 @@ + #include "perfetto/ext/base/thread_utils.h" + #include "perfetto/ext/base/unix_task_runner.h" + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ +- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) + #include <sys/prctl.h> + #endif + diff --git a/devel/electron33/files/patch-third__party_perfetto_src_base_unix__socket.cc b/devel/electron33/files/patch-third__party_perfetto_src_base_unix__socket.cc new file mode 100644 index 000000000000..d942363bb295 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_base_unix__socket.cc @@ -0,0 +1,26 @@ +--- third_party/perfetto/src/base/unix_socket.cc.orig 2023-10-19 20:00:18 UTC ++++ third_party/perfetto/src/base/unix_socket.cc +@@ -44,7 +44,7 @@ + #include <unistd.h> + #endif + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) ++#if PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) || defined(__FreeBSD__) + #include <sys/ucred.h> + #endif + +@@ -917,9 +917,13 @@ void UnixSocket::ReadPeerCredentialsPosix() { + return; + PERFETTO_CHECK(peer_cred_mode_ != SockPeerCredMode::kIgnore); + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#if !defined(__FreeBSD__) && PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) ++ struct sockpeercred user_cred; ++#else + struct ucred user_cred; ++#endif + socklen_t len = sizeof(user_cred); + int fd = sock_raw_.fd(); + int res = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &user_cred, &len); diff --git a/devel/electron33/files/patch-third__party_perfetto_src_base_utils.cc b/devel/electron33/files/patch-third__party_perfetto_src_base_utils.cc new file mode 100644 index 000000000000..86b96e8f5a09 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_base_utils.cc @@ -0,0 +1,26 @@ +--- third_party/perfetto/src/base/utils.cc.orig 2024-10-16 21:35:23 UTC ++++ third_party/perfetto/src/base/utils.cc +@@ -38,8 +38,9 @@ + #include <mach/vm_page_size.h> + #endif + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ +- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) + #include <sys/prctl.h> + + #ifndef PR_GET_TAGGED_ADDR_CTRL +@@ -337,8 +338,9 @@ bool IsSyncMemoryTaggingEnabled() { + } + + bool IsSyncMemoryTaggingEnabled() { +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ +- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) + // Compute only once per lifetime of the process. + static bool cached_value = [] { + const int res = prctl(PR_GET_TAGGED_ADDR_CTRL, 0, 0, 0, 0); diff --git a/devel/electron33/files/patch-third__party_perfetto_src_tracing_core_clock__snapshots.cc b/devel/electron33/files/patch-third__party_perfetto_src_tracing_core_clock__snapshots.cc new file mode 100644 index 000000000000..42f4ab5fc41b --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_tracing_core_clock__snapshots.cc @@ -0,0 +1,12 @@ +--- third_party/perfetto/src/tracing/core/clock_snapshots.cc.orig 2024-04-15 20:35:15 UTC ++++ third_party/perfetto/src/tracing/core/clock_snapshots.cc +@@ -26,7 +26,8 @@ ClockSnapshotVector CaptureClockSnapshots() { + ClockSnapshotVector snapshot_data; + #if !PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \ +- !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL) ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) + struct { + clockid_t id; + protos::pbzero::BuiltinClock type; diff --git a/devel/electron33/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc b/devel/electron33/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc new file mode 100644 index 000000000000..849e51bb1eac --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_tracing_ipc_memfd.cc @@ -0,0 +1,12 @@ +--- third_party/perfetto/src/tracing/ipc/memfd.cc.orig 2023-10-19 20:00:21 UTC ++++ third_party/perfetto/src/tracing/ipc/memfd.cc +@@ -20,7 +20,8 @@ + + #define PERFETTO_MEMFD_ENABLED() \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \ +- PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) ++ (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) + + #if PERFETTO_MEMFD_ENABLED() + diff --git a/devel/electron33/files/patch-third__party_perfetto_src_tracing_track.cc b/devel/electron33/files/patch-third__party_perfetto_src_tracing_track.cc new file mode 100644 index 000000000000..862510319ab3 --- /dev/null +++ b/devel/electron33/files/patch-third__party_perfetto_src_tracing_track.cc @@ -0,0 +1,11 @@ +--- third_party/perfetto/src/tracing/track.cc.orig 2024-08-14 20:58:56 UTC ++++ third_party/perfetto/src/tracing/track.cc +@@ -155,7 +155,7 @@ uint64_t GetProcessStartTime() { + namespace { + + uint64_t GetProcessStartTime() { +-#if !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) ++#if !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) + std::string stat; + if (!base::ReadFile("/proc/self/stat", &stat)) + return 0u; diff --git a/devel/electron33/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h b/devel/electron33/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h new file mode 100644 index 000000000000..f86841e04c31 --- /dev/null +++ b/devel/electron33/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h @@ -0,0 +1,11 @@ +--- third_party/protobuf/src/google/protobuf/stubs/platform_macros.h.orig 2024-06-18 21:43:58 UTC ++++ third_party/protobuf/src/google/protobuf/stubs/platform_macros.h +@@ -122,7 +122,7 @@ GOOGLE_PROTOBUF_PLATFORM_ERROR + + #undef GOOGLE_PROTOBUF_PLATFORM_ERROR + +-#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE) ++#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE) || defined(__OpenBSD__) + // Android ndk does not support the __thread keyword very well yet. Here + // we use pthread_key_create()/pthread_getspecific()/... methods for + // TLS support on android. diff --git a/devel/electron33/files/patch-third__party_skia_src_ports_SkMemory__malloc.cpp b/devel/electron33/files/patch-third__party_skia_src_ports_SkMemory__malloc.cpp new file mode 100644 index 000000000000..6686710f2e8a --- /dev/null +++ b/devel/electron33/files/patch-third__party_skia_src_ports_SkMemory__malloc.cpp @@ -0,0 +1,20 @@ +--- third_party/skia/src/ports/SkMemory_malloc.cpp.orig 2024-04-15 20:34:48 UTC ++++ third_party/skia/src/ports/SkMemory_malloc.cpp +@@ -15,7 +15,7 @@ + + #if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) + #include <malloc/malloc.h> +-#elif defined(SK_BUILD_FOR_ANDROID) || defined(SK_BUILD_FOR_UNIX) ++#elif defined(SK_BUILD_FOR_ANDROID) || defined(SK_BUILD_FOR_UNIX) && !defined(__OpenBSD__) + #include <malloc.h> + #elif defined(SK_BUILD_FOR_WIN) + #include <malloc.h> +@@ -126,7 +126,7 @@ size_t sk_malloc_size(void* addr, size_t size) { + #elif defined(SK_BUILD_FOR_ANDROID) && __ANDROID_API__ >= 17 + completeSize = malloc_usable_size(addr); + SkASSERT(completeSize >= size); +- #elif defined(SK_BUILD_FOR_UNIX) ++ #elif defined(SK_BUILD_FOR_UNIX) && !defined(__OpenBSD__) + completeSize = malloc_usable_size(addr); + SkASSERT(completeSize >= size); + #elif defined(SK_BUILD_FOR_WIN) diff --git a/devel/electron33/files/patch-third__party_skia_src_ports_SkOSFile__posix.cpp b/devel/electron33/files/patch-third__party_skia_src_ports_SkOSFile__posix.cpp new file mode 100644 index 000000000000..bd078ab07755 --- /dev/null +++ b/devel/electron33/files/patch-third__party_skia_src_ports_SkOSFile__posix.cpp @@ -0,0 +1,11 @@ +--- third_party/skia/src/ports/SkOSFile_posix.cpp.orig 2022-02-28 16:54:41 UTC ++++ third_party/skia/src/ports/SkOSFile_posix.cpp +@@ -25,7 +25,7 @@ + #endif + + void sk_fsync(FILE* f) { +-#if !defined(SK_BUILD_FOR_ANDROID) && !defined(__UCLIBC__) && !defined(_NEWLIB_VERSION) ++#if !defined(SK_BUILD_FOR_ANDROID) && !defined(__UCLIBC__) && !defined(_NEWLIB_VERSION) && !defined(__OpenBSD__) + int fd = fileno(f); + fsync(fd); + #endif diff --git a/devel/electron33/files/patch-third__party_speech-dispatcher_libspeechd__version.h b/devel/electron33/files/patch-third__party_speech-dispatcher_libspeechd__version.h new file mode 100644 index 000000000000..26207049ca92 --- /dev/null +++ b/devel/electron33/files/patch-third__party_speech-dispatcher_libspeechd__version.h @@ -0,0 +1,32 @@ +--- third_party/speech-dispatcher/libspeechd_version.h.orig 2024-04-28 08:50:28 UTC ++++ third_party/speech-dispatcher/libspeechd_version.h +@@ -0,0 +1,29 @@ ++/* ++ * libspeechd_version.h - Shared library for easy access to Speech Dispatcher functions (header) ++ * ++ * Copyright (C) 2001, 2002, 2003, 2004 Brailcom, o.p.s. ++ * ++ * This is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU Lesser General Public License as published by ++ * the Free Software Foundation; either version 2.1, or (at your option) ++ * any later version. ++ * ++ * This software is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program. If not, see <https://www.gnu.org/licenses/>. ++ * ++ * $Id: patch-third_party_speech-dispatcher_libspeechd_version_h,v 1.4 2024/03/22 13:10:56 robert Exp $ ++ */ ++ ++#ifndef _LIBSPEECHD_VERSION_H ++#define _LIBSPEECHD_VERSION_H ++ ++#define LIBSPEECHD_MAJOR_VERSION 0 ++#define LIBSPEECHD_MINOR_VERSION 11 ++#define LIBSPEECHD_MICRO_VERSION 5 ++ ++#endif /* ifndef _LIBSPEECHD_VERSION_H */ diff --git a/devel/electron33/files/patch-third__party_speech-dispatcher_speechd__types.h b/devel/electron33/files/patch-third__party_speech-dispatcher_speechd__types.h new file mode 100644 index 000000000000..d34c000c4f9d --- /dev/null +++ b/devel/electron33/files/patch-third__party_speech-dispatcher_speechd__types.h @@ -0,0 +1,142 @@ +--- third_party/speech-dispatcher/speechd_types.h.orig 2023-11-29 21:40:40 UTC ++++ third_party/speech-dispatcher/speechd_types.h +@@ -119,4 +119,139 @@ typedef struct { + SPDVoice voice; + } SPDMsgSettings; + ++/* TEMP_FAILURE_RETRY seems to be available only on Linux. For systems that ++ * don't have this macro we provide our own version. This code was taken from ++ * file "/usr/include/unistd.h" from Debian package "libc6-dev" ++ * version 2.3.2.ds1-20. */ ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(expression) \ ++ (__extension__ \ ++ ({ long int __result; \ ++ do __result = (long int) (expression); \ ++ while (__result == -1L && errno == EINTR); \ ++ __result; })) ++#endif ++ ++#endif /* not ifndef SPEECHD_TYPES */ ++ ++/* ++ * speechd_types.h - types for Speech Dispatcher ++ * ++ * Copyright (C) 2001, 2002, 2003 Brailcom, o.p.s. ++ * ++ * This is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU Lesser General Public License as published by ++ * the Free Software Foundation; either version 2.1, or (at your option) ++ * any later version. ++ * ++ * This software is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public License ++ * along with this program. If not, see <https://www.gnu.org/licenses/>. ++ */ ++ ++#ifndef SPEECHD_TYPES_H ++#define SPEECHD_TYPES_H ++ ++typedef enum { ++ SPD_PUNCT_ALL = 0, ++ SPD_PUNCT_NONE = 1, ++ SPD_PUNCT_SOME = 2, ++ SPD_PUNCT_MOST = 3 ++} SPDPunctuation; ++ ++typedef enum { ++ SPD_CAP_NONE = 0, ++ SPD_CAP_SPELL = 1, ++ SPD_CAP_ICON = 2 ++} SPDCapitalLetters; ++ ++typedef enum { ++ SPD_SPELL_OFF = 0, ++ SPD_SPELL_ON = 1 ++} SPDSpelling; ++ ++typedef enum { ++ SPD_MALE1 = 1, ++ SPD_MALE2 = 2, ++ SPD_MALE3 = 3, ++ SPD_FEMALE1 = 4, ++ SPD_FEMALE2 = 5, ++ SPD_FEMALE3 = 6, ++ SPD_CHILD_MALE = 7, ++ SPD_CHILD_FEMALE = 8, ++ SPD_UNSPECIFIED = -1 ++} SPDVoiceType; ++ ++typedef struct { ++ char *name; /* Name of the voice (id) */ ++ char *language; /* 2/3-letter ISO language code, ++ * possibly followed by 2/3-letter ISO region code, ++ * e.g. en-US */ ++ char *variant; /* a not-well defined string describing dialect etc. */ ++} SPDVoice; ++ ++typedef enum { ++ SPD_DATA_TEXT = 0, ++ SPD_DATA_SSML = 1 ++} SPDDataMode; ++ ++typedef enum { ++ SPD_IMPORTANT = 1, ++ SPD_MESSAGE = 2, ++ SPD_TEXT = 3, ++ SPD_NOTIFICATION = 4, ++ SPD_PROGRESS = 5 ++} SPDPriority; ++ ++typedef enum { ++ SPD_BEGIN = 1, ++ SPD_END = 2, ++ SPD_INDEX_MARKS = 4, ++ SPD_CANCEL = 8, ++ SPD_PAUSE = 16, ++ SPD_RESUME = 32, ++ ++ SPD_ALL = 0x3f ++} SPDNotification; ++ ++typedef enum { ++ SPD_EVENT_BEGIN, ++ SPD_EVENT_END, ++ SPD_EVENT_INDEX_MARK, ++ SPD_EVENT_CANCEL, ++ SPD_EVENT_PAUSE, ++ SPD_EVENT_RESUME ++} SPDNotificationType; ++ ++typedef enum { ++ SORT_BY_TIME = 0, ++ SORT_BY_ALPHABET = 1 ++} ESort; ++ ++typedef enum { ++ SPD_MSGTYPE_TEXT = 0, ++ SPD_MSGTYPE_SOUND_ICON = 1, ++ SPD_MSGTYPE_CHAR = 2, ++ SPD_MSGTYPE_KEY = 3, ++ SPD_MSGTYPE_SPELL = 99 ++} SPDMessageType; ++ ++typedef struct { ++ signed int rate; ++ signed int pitch; ++ signed int pitch_range; ++ signed int volume; ++ ++ SPDPunctuation punctuation_mode; ++ SPDSpelling spelling_mode; ++ SPDCapitalLetters cap_let_recogn; ++ ++ SPDVoiceType voice_type; ++ SPDVoice voice; ++} SPDMsgSettings; ++ + #endif /* not ifndef SPEECHD_TYPES */ diff --git a/devel/electron33/files/patch-third__party_sqlite_BUILD.gn b/devel/electron33/files/patch-third__party_sqlite_BUILD.gn new file mode 100644 index 000000000000..12e24499246a --- /dev/null +++ b/devel/electron33/files/patch-third__party_sqlite_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/sqlite/BUILD.gn.orig 2021-12-31 00:58:29 UTC ++++ third_party/sqlite/BUILD.gn +@@ -142,7 +142,7 @@ config("sqlite_warnings") { + ] + } + } +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + cflags += [ + # SQLite doesn't believe in compiler warnings, preferring testing. + # http://www.sqlite.org/faq.html#q17 diff --git a/devel/electron33/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c b/devel/electron33/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c new file mode 100644 index 000000000000..c942f3d882ef --- /dev/null +++ b/devel/electron33/files/patch-third__party_sqlite_src_amalgamation_sqlite3.c @@ -0,0 +1,32 @@ +--- third_party/sqlite/src/amalgamation/sqlite3.c.orig 2024-10-16 21:34:25 UTC ++++ third_party/sqlite/src/amalgamation/sqlite3.c +@@ -14187,7 +14187,7 @@ struct fts5_api { + ** But _XOPEN_SOURCE define causes problems for Mac OS X, so omit + ** it. + */ +-#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) ++#if !defined(_XOPEN_SOURCE) && !defined(__DARWIN__) && !defined(__APPLE__) && !defined(__FreeBSD__) + # define _XOPEN_SOURCE 600 + #endif + +@@ -45183,7 +45183,12 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB + memset(zBuf, 0, nBuf); + randomnessPid = osGetpid(0); + #if !defined(SQLITE_TEST) && !defined(SQLITE_OMIT_RANDOMNESS) ++#if defined(__OpenBSD__) + { ++ arc4random_buf(zBuf, nBuf); ++ } ++#else ++ { + int fd, got; + fd = robust_open("/dev/urandom", O_RDONLY, 0); + if( fd<0 ){ +@@ -45198,6 +45203,7 @@ static int unixRandomness(sqlite3_vfs *NotUsed, int nB + robust_close(0, fd, __LINE__); + } + } ++#endif + #endif + return nBuf; + } diff --git a/devel/electron33/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp b/devel/electron33/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp new file mode 100644 index 000000000000..6d183046901d --- /dev/null +++ b/devel/electron33/files/patch-third__party_swiftshader_src_Reactor_Debug.cpp @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/Reactor/Debug.cpp.orig 2022-02-07 13:39:41 UTC ++++ third_party/swiftshader/src/Reactor/Debug.cpp +@@ -46,7 +46,7 @@ namespace { + + bool IsUnderDebugger() + { +-#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__) ++#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) + static bool checked = false; + static bool res = false; + diff --git a/devel/electron33/files/patch-third__party_swiftshader_src_System_Configurator.cpp b/devel/electron33/files/patch-third__party_swiftshader_src_System_Configurator.cpp new file mode 100644 index 000000000000..8300c60da5ec --- /dev/null +++ b/devel/electron33/files/patch-third__party_swiftshader_src_System_Configurator.cpp @@ -0,0 +1,12 @@ +--- third_party/swiftshader/src/System/Configurator.cpp.orig 2022-06-17 14:20:10 UTC ++++ third_party/swiftshader/src/System/Configurator.cpp +@@ -38,6 +38,9 @@ namespace sw { + + Configurator::Configurator(const std::string &filePath) + { ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++ return; ++#endif + std::fstream file(filePath, std::ios::in); + if(file.fail()) + { diff --git a/devel/electron33/files/patch-third__party_swiftshader_src_System_Linux_MemFd.cpp b/devel/electron33/files/patch-third__party_swiftshader_src_System_Linux_MemFd.cpp new file mode 100644 index 000000000000..7e1b9f8f0ad3 --- /dev/null +++ b/devel/electron33/files/patch-third__party_swiftshader_src_System_Linux_MemFd.cpp @@ -0,0 +1,37 @@ +--- third_party/swiftshader/src/System/Linux/MemFd.cpp.orig 2023-10-19 19:59:44 UTC ++++ third_party/swiftshader/src/System/Linux/MemFd.cpp +@@ -25,6 +25,7 @@ + # define MFD_CLOEXEC 0x0001U + #endif + ++#if !defined(__OpenBSD__) && !defined(__FreeBSD__) + #if __aarch64__ + # define __NR_memfd_create 279 + #elif __arm__ +@@ -36,6 +37,7 @@ + #elif __x86_64__ + # define __NR_memfd_create 319 + #endif /* __NR_memfd_create__ */ ++#endif + + LinuxMemFd::~LinuxMemFd() + { +@@ -63,13 +65,17 @@ bool LinuxMemFd::allocate(const char *name, size_t siz + { + close(); + +-#ifndef __NR_memfd_create ++#if !defined(__NR_memfd_create) || defined(__OpenBSD__) + TRACE("memfd_create() not supported on this system!"); + return false; + #else + // In the event of no system call this returns -1 with errno set + // as ENOSYS. ++#if defined(__FreeBSD__) ++ fd_ = memfd_create(name, MFD_CLOEXEC); ++#else + fd_ = syscall(__NR_memfd_create, name, MFD_CLOEXEC); ++#endif + if(fd_ < 0) + { + TRACE("memfd_create() returned %d: %s", errno, strerror(errno)); diff --git a/devel/electron33/files/patch-third__party_swiftshader_src_Vulkan_VkSemaphoreExternalLinux.hpp b/devel/electron33/files/patch-third__party_swiftshader_src_Vulkan_VkSemaphoreExternalLinux.hpp new file mode 100644 index 000000000000..8bd770cf38ef --- /dev/null +++ b/devel/electron33/files/patch-third__party_swiftshader_src_Vulkan_VkSemaphoreExternalLinux.hpp @@ -0,0 +1,20 @@ +--- third_party/swiftshader/src/Vulkan/VkSemaphoreExternalLinux.hpp.orig 2022-02-07 13:39:41 UTC ++++ third_party/swiftshader/src/Vulkan/VkSemaphoreExternalLinux.hpp +@@ -49,13 +49,17 @@ class SharedSemaphore (public) + { + pthread_mutexattr_t mattr; + pthread_mutexattr_init(&mattr); ++#if 0 + pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED); ++#endif + pthread_mutex_init(&mutex, &mattr); + pthread_mutexattr_destroy(&mattr); + + pthread_condattr_t cattr; + pthread_condattr_init(&cattr); ++#if 0 + pthread_condattr_setpshared(&cattr, PTHREAD_PROCESS_SHARED); ++#endif + pthread_cond_init(&cond, &cattr); + pthread_condattr_destroy(&cattr); + } diff --git a/devel/electron33/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp b/devel/electron33/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp new file mode 100644 index 000000000000..4f7a5b044079 --- /dev/null +++ b/devel/electron33/files/patch-third__party_swiftshader_src_WSI_libXCB.cpp @@ -0,0 +1,20 @@ +--- third_party/swiftshader/src/WSI/libXCB.cpp.orig 2023-03-30 00:40:41 UTC ++++ third_party/swiftshader/src/WSI/libXCB.cpp +@@ -57,7 +57,7 @@ LibXcbExports *LibXCB::loadExports() + } + else + { +- libxcb = loadLibrary("libxcb.so.1"); ++ libxcb = loadLibrary("libxcb.so"); + } + + if(getProcAddress(RTLD_DEFAULT, "xcb_shm_query_version")) // Search the global scope for pre-loaded XCB library. +@@ -66,7 +66,7 @@ LibXcbExports *LibXCB::loadExports() + } + else + { +- libshm = loadLibrary("libxcb-shm.so.0"); ++ libshm = loadLibrary("libxcb-shm.so"); + } + + return LibXcbExports(libxcb, libshm); diff --git a/devel/electron33/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h b/devel/electron33/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h new file mode 100644 index 000000000000..8e9a23417ae3 --- /dev/null +++ b/devel/electron33/files/patch-third__party_swiftshader_third__party_llvm-10.0_configs_linux_include_llvm_Config_config.h @@ -0,0 +1,174 @@ +--- third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h.orig 2022-05-19 14:06:27 UTC ++++ third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h +@@ -29,7 +29,7 @@ + + /* Define to 1 if you have the declaration of `arc4random', and to 0 if you + don't. */ +-#define HAVE_DECL_ARC4RANDOM 0 ++#define HAVE_DECL_ARC4RANDOM 1 + + /* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you + don't. */ +@@ -53,7 +53,7 @@ + #define HAVE_DLOPEN 1 + + /* Define if dladdr() is available on this platform. */ +-/* #undef HAVE_DLADDR */ ++#define HAVE_DLADDR 1 + + /* Define to 1 if you have the <errno.h> header file. */ + #define HAVE_ERRNO_H 1 +@@ -92,7 +92,7 @@ + #define HAVE_ISATTY 1 + + /* Define to 1 if you have the `edit' library (-ledit). */ +-/* #undef HAVE_LIBEDIT */ ++#define HAVE_LIBEDIT 1 + + /* Define to 1 if you have the `pfm' library (-lpfm). */ + /* #undef HAVE_LIBPFM */ +@@ -110,13 +110,13 @@ + /* #undef HAVE_PTHREAD_SETNAME_NP */ + + /* Define to 1 if you have the `z' library (-lz). */ +-/* #undef HAVE_LIBZ */ ++#define HAVE_LIBZ 1 + + /* Define to 1 if you have the <link.h> header file. */ +-#define HAVE_LINK_H 1 ++/* #undef HAVE_LINK_H */ + + /* Define to 1 if you have the `lseek64' function. */ +-#define HAVE_LSEEK64 1 ++/* #undef HAVE_LSEEK64 */ + + /* Define to 1 if you have the <mach/mach.h> header file. */ + /* #undef HAVE_MACH_MACH_H */ +@@ -125,7 +125,7 @@ + /* #undef HAVE_MALLCTL */ + + /* Define to 1 if you have the `mallinfo' function. */ +-#define HAVE_MALLINFO 1 ++/* #undef HAVE_MALLINFO */ + + /* Define to 1 if you have the <malloc/malloc.h> header file. */ + /* #undef HAVE_MALLOC_MALLOC_H */ +@@ -134,10 +134,10 @@ + /* #undef HAVE_MALLOC_ZONE_STATISTICS */ + + /* Define to 1 if you have the `posix_fallocate' function. */ +-#define HAVE_POSIX_FALLOCATE 1 ++/* #undef HAVE_POSIX_FALLOCATE */ + + /* Define to 1 if you have the `posix_spawn' function. */ +-/* #undef HAVE_POSIX_SPAWN */ ++#define HAVE_POSIX_SPAWN 1 + + /* Define to 1 if you have the `pread' function. */ + #define HAVE_PREAD 1 +@@ -161,10 +161,10 @@ + #define HAVE_SETENV 1 + + /* Define to 1 if you have the `sched_getaffinity' function. */ +-#define HAVE_SCHED_GETAFFINITY 1 ++/* #undef HAVE_SCHED_GETAFFINITY */ + + /* Define to 1 if you have the `CPU_COUNT' macro. */ +-#define HAVE_CPU_COUNT 1 ++/* #undef HAVE_CPU_COUNT */ + + /* Define to 1 if you have the `setrlimit' function. */ + #define HAVE_SETRLIMIT 1 +@@ -182,7 +182,7 @@ + #define HAVE_STRERROR_R 1 + + /* Define to 1 if you have the `sysconf' function. */ +-#define HAVE_SYSCONF 1 ++/* #undef HAVE_SYSCONF */ + + /* Define to 1 if you have the <sys/ioctl.h> header file. */ + #define HAVE_SYS_IOCTL_H 1 +@@ -209,7 +209,7 @@ + #define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 + + /* Define to 1 if you have the <sys/types.h> header file. */ +-#define HAVE_SYS_TYPES_H 1 ++/* #undef HAVE_SYS_TYPES_H */ + + /* Define if the setupterm() function is supported this platform. */ + /* #undef HAVE_TERMINFO */ +@@ -218,16 +218,16 @@ + /* #undef HAVE_LIBXAR */ + + /* Define to 1 if you have the <termios.h> header file. */ +-/* #undef HAVE_TERMIOS_H */ ++#define HAVE_TERMIOS_H 1 + + /* Define to 1 if you have the <unistd.h> header file. */ + #define HAVE_UNISTD_H 1 + + /* Define to 1 if you have the <valgrind/valgrind.h> header file. */ +-/* #undef HAVE_VALGRIND_VALGRIND_H */ ++/* #define HAVE_VALGRIND_VALGRIND_H 1 */ + + /* Define to 1 if you have the <zlib.h> header file. */ +-/* #undef HAVE_ZLIB_H */ ++#define HAVE_ZLIB_H 1 + + /* Have host's _alloca */ + /* #undef HAVE__ALLOCA */ +@@ -292,30 +292,8 @@ + /* Linker version detected at compile time. */ + /* #undef HOST_LINK_VERSION */ + +-/* Target triple LLVM will generate code for by default */ +-/* Doesn't use `cmakedefine` because it is allowed to be empty. */ +-#if defined(__x86_64__) +-#define LLVM_DEFAULT_TARGET_TRIPLE "x86_64-unknown-linux-gnu" +-#elif defined(__i386__) +-#define LLVM_DEFAULT_TARGET_TRIPLE "i686-pc-linux-gnu" +-#elif defined(__arm__) +-#define LLVM_DEFAULT_TARGET_TRIPLE "armv7-linux-gnueabihf" +-#elif defined(__aarch64__) +-#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-linux-gnu" +-#elif defined(__mips__) +-#define LLVM_DEFAULT_TARGET_TRIPLE "mipsel-linux-gnu" +-#elif defined(__mips64) +-#define LLVM_DEFAULT_TARGET_TRIPLE "mips64el-linux-gnuabi64" +-#elif defined(__powerpc64__) +-#define LLVM_DEFAULT_TARGET_TRIPLE "powerpc64le-unknown-linux-gnu" +-#elif defined(__riscv) && __riscv_xlen == 64 +-#define LLVM_DEFAULT_TARGET_TRIPLE "riscv64-unknown-linux-gnu" +-#else +-#error "unknown architecture" +-#endif +- + /* Define if zlib compression is available */ +-#define LLVM_ENABLE_ZLIB 0 ++/* #define LLVM_ENABLE_ZLIB 1 */ + + /* Define if overriding target triple is enabled */ + /* #undef LLVM_TARGET_TRIPLE_ENV */ +@@ -339,10 +317,10 @@ + #define PACKAGE_NAME "LLVM" + + /* Define to the full name and version of this package. */ +-#define PACKAGE_STRING "LLVM 10.0.0" ++#define PACKAGE_STRING "LLVM 11.1.0" + + /* Define to the version of this package. */ +-#define PACKAGE_VERSION "10.0.0" ++#define PACKAGE_VERSION "11.1.0" + + /* Define to the vendor of this package. */ + /* #undef PACKAGE_VENDOR */ +@@ -361,9 +339,6 @@ + + /* Whether GlobalISel rule coverage is being collected */ + #define LLVM_GISEL_COV_ENABLED 0 +- +-/* Define if we have z3 and want to build it */ +-#define LLVM_WITH_Z3 1 + + /* Define to the default GlobalISel coverage file prefix */ + /* #undef LLVM_GISEL_COV_PREFIX */ diff --git a/devel/electron33/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h b/devel/electron33/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h new file mode 100644 index 000000000000..9d934bd8e734 --- /dev/null +++ b/devel/electron33/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h @@ -0,0 +1,47 @@ +--- third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h +@@ -5,8 +5,6 @@ + #include "llvm/Config/llvm-config.h" + + /* For detecting __GLIBC__ usage */ +-#include <features.h> +- + /* Bug report URL. */ + #define BUG_REPORT_URL "http://llvm.org/bugs/" + +@@ -27,7 +25,7 @@ + + /* Define to 1 if you have the declaration of `arc4random', and to 0 if you + don't. */ +-#define HAVE_DECL_ARC4RANDOM 0 ++#define HAVE_DECL_ARC4RANDOM 1 + + /* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you + don't. */ +@@ -124,7 +122,7 @@ + #define HAVE_LINK_H 1 + + /* Define to 1 if you have the `lseek64' function. */ +-#define HAVE_LSEEK64 1 ++/* #define HAVE_LSEEK64 */ + + /* Define to 1 if you have the <mach/mach.h> header file. */ + /* #undef HAVE_MACH_MACH_H */ +@@ -133,7 +131,7 @@ + /* #undef HAVE_MALLCTL */ + + /* Define to 1 if you have the `mallinfo' function. */ +-#define HAVE_MALLINFO 1 ++/* #define HAVE_MALLINFO */ + + /* Some projects using SwiftShader bypass cmake (eg Chromium via gn) */ + /* so we need to check glibc version for the new API to be safe */ +@@ -163,7 +161,7 @@ + /* #undef HAVE_NDIR_H */ + + /* Define to 1 if you have the `posix_fallocate' function. */ +-#define HAVE_POSIX_FALLOCATE 1 ++/* #define HAVE_POSIX_FALLOCATE */ + + /* Define to 1 if you have the `posix_spawn' function. */ + #define HAVE_POSIX_SPAWN 1 diff --git a/devel/electron33/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp b/devel/electron33/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp new file mode 100644 index 000000000000..c0f589f8f517 --- /dev/null +++ b/devel/electron33/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp @@ -0,0 +1,11 @@ +--- third_party/swiftshader/third_party/marl/src/memory.cpp.orig 2023-08-10 01:51:25 UTC ++++ third_party/swiftshader/third_party/marl/src/memory.cpp +@@ -19,7 +19,7 @@ + + #include <cstring> + +-#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || defined(__EMSCRIPTEN__) ++#if defined(__linux__) || defined(__FreeBSD__) || defined(__APPLE__) || defined(__EMSCRIPTEN__) || defined(__OpenBSD__) + #include <sys/mman.h> + #include <unistd.h> + namespace { diff --git a/devel/electron33/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp b/devel/electron33/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp new file mode 100644 index 000000000000..61663a17fcaa --- /dev/null +++ b/devel/electron33/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp @@ -0,0 +1,11 @@ +--- third_party/swiftshader/third_party/marl/src/thread.cpp.orig 2023-08-10 01:51:25 UTC ++++ third_party/swiftshader/third_party/marl/src/thread.cpp +@@ -444,7 +444,7 @@ void Thread::setName(const char* fmt, ...) { + pthread_setname_np(name); + #elif defined(__FreeBSD__) + pthread_set_name_np(pthread_self(), name); +-#elif !defined(__Fuchsia__) && !defined(__EMSCRIPTEN__) ++#elif !defined(__Fuchsia__) && !defined(__EMSCRIPTEN__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) + pthread_setname_np(pthread_self(), name); + #endif + diff --git a/devel/electron33/files/patch-third__party_test__fonts_fontconfig_BUILD.gn b/devel/electron33/files/patch-third__party_test__fonts_fontconfig_BUILD.gn new file mode 100644 index 000000000000..180446a881d8 --- /dev/null +++ b/devel/electron33/files/patch-third__party_test__fonts_fontconfig_BUILD.gn @@ -0,0 +1,15 @@ +--- third_party/test_fonts/fontconfig/BUILD.gn.orig 2022-03-01 11:59:41 UTC ++++ third_party/test_fonts/fontconfig/BUILD.gn +@@ -26,7 +26,11 @@ if (is_linux || is_chromeos) { + + copy("fonts_conf") { + sources = [ "fonts.conf" ] +- outputs = [ "$root_out_dir/etc/fonts/{{source_file_part}}" ] ++ if (is_freebsd) { ++ outputs = [ "$root_out_dir/usr/local/etc/fonts/{{source_file_part}}" ] ++ } else { ++ outputs = [ "$root_out_dir/etc/fonts/{{source_file_part}}" ] ++ } + } + + if (current_toolchain == host_toolchain) { diff --git a/devel/electron33/files/patch-third__party_test__fonts_fontconfig_fontconfig__util__linux.cc b/devel/electron33/files/patch-third__party_test__fonts_fontconfig_fontconfig__util__linux.cc new file mode 100644 index 000000000000..65eb80dacd90 --- /dev/null +++ b/devel/electron33/files/patch-third__party_test__fonts_fontconfig_fontconfig__util__linux.cc @@ -0,0 +1,27 @@ +--- third_party/test_fonts/fontconfig/fontconfig_util_linux.cc.orig 2024-04-15 20:34:27 UTC ++++ third_party/test_fonts/fontconfig/fontconfig_util_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 "build/build_config.h" ++ + #include "third_party/test_fonts/fontconfig/fontconfig_util_linux.h" + + #include <fontconfig/fontconfig.h> +@@ -16,11 +18,15 @@ std::string GetSysrootDir() { + namespace test_fonts { + + std::string GetSysrootDir() { ++#if BUILDFLAG(IS_BSD) ++ return std::string("."); ++#else + char buf[PATH_MAX + 1]; + auto count = readlink("/proc/self/exe", buf, PATH_MAX); + assert(count > 0); + buf[count] = '\0'; + return dirname(buf); ++#endif + } + + void SetUpFontconfig() { diff --git a/devel/electron33/files/patch-third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc b/devel/electron33/files/patch-third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc new file mode 100644 index 000000000000..418a72bc2886 --- /dev/null +++ b/devel/electron33/files/patch-third__party_test__fonts_fontconfig_generate__fontconfig__caches.cc @@ -0,0 +1,11 @@ +--- third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc.orig 2023-03-30 00:34:16 UTC ++++ third_party/test_fonts/fontconfig/generate_fontconfig_caches.cc +@@ -56,7 +56,7 @@ int main() { + FcFini(); + + // Check existence of intended fontconfig cache file. +- auto cache = fontconfig_caches + "/" + kCacheKey + "-le64.cache-9"; ++ auto cache = fontconfig_caches + "/" + kCacheKey + "-le64.cache-" + FC_CACHE_VERSION; + bool cache_exists = access(cache.c_str(), F_OK) == 0; + return !cache_exists; + } diff --git a/devel/electron33/files/patch-third__party_tflite_features.gni b/devel/electron33/files/patch-third__party_tflite_features.gni new file mode 100644 index 000000000000..83e708f7ca22 --- /dev/null +++ b/devel/electron33/files/patch-third__party_tflite_features.gni @@ -0,0 +1,13 @@ +--- third_party/tflite/features.gni.orig 2024-08-14 20:56:01 UTC ++++ third_party/tflite/features.gni +@@ -9,8 +9,8 @@ declare_args() { + # This enables building TFLite with XNNPACK. Currently only available for + # Linux, macOS and Windows arm64/x64/x86 targets and ChromeOS non-ARM targets. + build_tflite_with_xnnpack = +- (is_win || is_mac || is_linux || (is_chromeos && overlay_include_cbx)) && +- (current_cpu == "arm64" || current_cpu == "x64" || current_cpu == "x86") ++ ((is_win || is_mac || is_linux || (is_chromeos && overlay_include_cbx)) && ++ (current_cpu == "arm64" || current_cpu == "x64" || current_cpu == "x86")) && !is_bsd + + # Turns on TFLITE_WITH_RUY, using ruy as the gemm backend instead of gemmlowp. + build_tflite_with_ruy = true diff --git a/devel/electron33/files/patch-third__party_unrar_src_crypt.cpp b/devel/electron33/files/patch-third__party_unrar_src_crypt.cpp new file mode 100644 index 000000000000..3ce2532bda1f --- /dev/null +++ b/devel/electron33/files/patch-third__party_unrar_src_crypt.cpp @@ -0,0 +1,11 @@ +--- third_party/unrar/src/crypt.cpp.orig 2024-08-14 20:56:02 UTC ++++ third_party/unrar/src/crypt.cpp +@@ -116,6 +116,8 @@ void GetRnd(byte *RndBuf,size_t BufSize) + Success=CryptGenRandom(hProvider, (DWORD)BufSize, RndBuf) != FALSE; + CryptReleaseContext(hProvider, 0); + } ++#elif defined(__OpenBSD__) ++ arc4random_buf(RndBuf, BufSize); + #elif defined(_UNIX) + FILE *rndf = fopen("/dev/urandom", "r"); + if (rndf!=NULL) diff --git a/devel/electron33/files/patch-third__party_vulkan-loader_src_BUILD.gn b/devel/electron33/files/patch-third__party_vulkan-loader_src_BUILD.gn new file mode 100644 index 000000000000..df779ae973cd --- /dev/null +++ b/devel/electron33/files/patch-third__party_vulkan-loader_src_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/vulkan-loader/src/BUILD.gn.orig 2024-10-16 21:33:57 UTC ++++ third_party/vulkan-loader/src/BUILD.gn +@@ -57,7 +57,7 @@ config("vulkan_internal_config") { + defines += [ + "SYSCONFDIR=\"/etc\"", + "FALLBACK_CONFIG_DIRS=\"/etc/xdg\"", +- "FALLBACK_DATA_DIRS=\"/usr/local/share:/usr/share\"", ++ "FALLBACK_DATA_DIRS=\"/usr/X11R6/share:/usr/local/share:/usr/share\"", + ] + } + if (is_apple && !vulkan_loader_shared) { diff --git a/devel/electron33/files/patch-third__party_vulkan-loader_src_loader_vk__loader__platform.h b/devel/electron33/files/patch-third__party_vulkan-loader_src_loader_vk__loader__platform.h new file mode 100644 index 000000000000..bdc97921799e --- /dev/null +++ b/devel/electron33/files/patch-third__party_vulkan-loader_src_loader_vk__loader__platform.h @@ -0,0 +1,19 @@ +--- third_party/vulkan-loader/src/loader/vk_loader_platform.h.orig 2024-08-14 20:57:24 UTC ++++ third_party/vulkan-loader/src/loader/vk_loader_platform.h +@@ -327,7 +327,15 @@ static inline char *loader_platform_executable_path(ch + + return buffer; + } +-#elif defined(__Fuchsia__) || defined(__OpenBSD__) ++#elif defined(__OpenBSD__) ++static inline char *loader_platform_executable_path(char *buffer, size_t size) { ++ if ((buffer = getenv("CHROME_EXE_PATH")) != NULL) ++ return buffer; ++ else ++ buffer = "/usr/local/chrome/chrome"; ++ return buffer; ++} ++#elif defined(__Fuchsia__) + static inline char *loader_platform_executable_path(char *buffer, size_t size) { return NULL; } + #elif defined(__QNX__) + diff --git a/devel/electron33/files/patch-third__party_vulkan-validation-layers_src_layers_external_vma_vk__mem__alloc.h b/devel/electron33/files/patch-third__party_vulkan-validation-layers_src_layers_external_vma_vk__mem__alloc.h new file mode 100644 index 000000000000..aaa3182fdc51 --- /dev/null +++ b/devel/electron33/files/patch-third__party_vulkan-validation-layers_src_layers_external_vma_vk__mem__alloc.h @@ -0,0 +1,11 @@ +--- third_party/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h.orig 2024-08-14 20:57:21 UTC ++++ third_party/vulkan-validation-layers/src/layers/external/vma/vk_mem_alloc.h +@@ -2740,7 +2740,7 @@ static void* vma_aligned_alloc(size_t alignment, size_ + + return memalign(alignment, size); + } +-#elif defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && defined(__GLIBCXX__) && !defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)) ++#elif defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && defined(__GLIBCXX__) && !defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)) || defined(__OpenBSD__) || defined(__FreeBSD__) + #include <cstdlib> + + #if defined(__APPLE__) diff --git a/devel/electron33/files/patch-third__party_vulkan__memory__allocator_include_vk__mem__alloc.h b/devel/electron33/files/patch-third__party_vulkan__memory__allocator_include_vk__mem__alloc.h new file mode 100644 index 000000000000..ffbab190e6fd --- /dev/null +++ b/devel/electron33/files/patch-third__party_vulkan__memory__allocator_include_vk__mem__alloc.h @@ -0,0 +1,11 @@ +--- third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.orig 2023-11-29 21:41:06 UTC ++++ third_party/vulkan_memory_allocator/include/vk_mem_alloc.h +@@ -2760,7 +2760,7 @@ void* vma_aligned_alloc(size_t alignment, size_t size) + + return memalign(alignment, size); + } +-#elif defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && defined(__GLIBCXX__) && !defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)) ++#elif defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && defined(__GLIBCXX__) && !defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)) || defined(__OpenBSD__) || defined(__FreeBSD__) + #include <cstdlib> + + #if defined(__APPLE__) diff --git a/devel/electron33/files/patch-third__party_wayland_BUILD.gn b/devel/electron33/files/patch-third__party_wayland_BUILD.gn new file mode 100644 index 000000000000..2f32886081b6 --- /dev/null +++ b/devel/electron33/files/patch-third__party_wayland_BUILD.gn @@ -0,0 +1,14 @@ +--- third_party/wayland/BUILD.gn.orig 2024-08-14 20:56:03 UTC ++++ third_party/wayland/BUILD.gn +@@ -24,6 +24,11 @@ if (!use_system_libwayland) { + "src/src", + ] + ++ if (is_bsd) { ++ include_dirs += [ "/usr/local/include/libepoll-shim" ] ++ libs = [ "epoll-shim" ] ++ } ++ + # Client/Server headers are automatically generated. Though, we still need + # to pass the path where these headers are located. + include_dirs += [ "$root_gen_dir/third_party/wayland/src/protocol" ] diff --git a/devel/electron33/files/patch-third__party_wayland_include_config.h b/devel/electron33/files/patch-third__party_wayland_include_config.h new file mode 100644 index 000000000000..2dbdff412c76 --- /dev/null +++ b/devel/electron33/files/patch-third__party_wayland_include_config.h @@ -0,0 +1,29 @@ +--- third_party/wayland/include/config.h.orig 2024-02-21 00:21:13 UTC ++++ third_party/wayland/include/config.h +@@ -9,7 +9,14 @@ + + #define HAVE_BROKEN_MSG_CMSG_CLOEXEC 0 + ++#if defined(__FreeBSD__) ++#include <osreldate.h> ++#if defined(__FreeBSD_version) && __FreeBSD_version < 1300048 ++#undef HAVE_MEMFD_CREATE ++#else + #define HAVE_MEMFD_CREATE ++#endif ++#endif + + #define HAVE_MKOSTEMP + +@@ -25,7 +32,11 @@ + + #undef HAVE_SYS_PROCCTL_H + ++#if defined(__FreeBSD__) ++#define HAVE_SYS_UCRED_H ++#else + #undef HAVE_SYS_UCRED_H ++#endif + + #define HAVE_XUCRED_CR_PID 0 + diff --git a/devel/electron33/files/patch-third__party_webrtc_BUILD.gn b/devel/electron33/files/patch-third__party_webrtc_BUILD.gn new file mode 100644 index 000000000000..8a8b4e23872c --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_BUILD.gn @@ -0,0 +1,12 @@ +--- third_party/webrtc/BUILD.gn.orig 2024-10-16 21:35:47 UTC ++++ third_party/webrtc/BUILD.gn +@@ -218,6 +218,9 @@ config("common_inherited_config") { + if (is_linux || is_chromeos) { + defines += [ "WEBRTC_LINUX" ] + } ++ if (is_bsd) { ++ defines += [ "WEBRTC_BSD" ] ++ } + if (is_mac) { + defines += [ "WEBRTC_MAC" ] + } diff --git a/devel/electron33/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn b/devel/electron33/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn new file mode 100644 index 000000000000..83e73882501e --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/webrtc/modules/audio_device/BUILD.gn.orig 2024-10-16 21:35:54 UTC ++++ third_party/webrtc/modules/audio_device/BUILD.gn +@@ -330,7 +330,7 @@ rtc_library("audio_device_impl") { + if (rtc_use_dummy_audio_file_devices) { + defines += [ "WEBRTC_DUMMY_FILE_DEVICES" ] + } else { +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ + "linux/alsasymboltable_linux.cc", + "linux/alsasymboltable_linux.h", diff --git a/devel/electron33/files/patch-third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc b/devel/electron33/files/patch-third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc new file mode 100644 index 000000000000..6b72e7bf68ed --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_modules_desktop__capture_linux_wayland_egl__dmabuf.cc @@ -0,0 +1,18 @@ +--- third_party/webrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc.orig 2023-08-16 00:44:33 UTC ++++ third_party/webrtc/modules/desktop_capture/linux/wayland/egl_dmabuf.cc +@@ -10,11 +10,15 @@ + + #include "modules/desktop_capture/linux/wayland/egl_dmabuf.h" + ++#if !defined(WEBRTC_BSD) + #include <asm/ioctl.h> ++#endif + #include <dlfcn.h> + #include <fcntl.h> + #include <libdrm/drm_fourcc.h> ++#if !defined(WEBRTC_BSD) + #include <linux/types.h> ++#endif + #include <spa/param/video/format-utils.h> + #include <unistd.h> + #include <xf86drm.h> diff --git a/devel/electron33/files/patch-third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc b/devel/electron33/files/patch-third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc new file mode 100644 index 000000000000..feb38c67b899 --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_modules_desktop__capture_linux_x11_x__server__pixel__buffer.cc @@ -0,0 +1,15 @@ +--- third_party/webrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc.orig 2024-06-18 21:44:56 UTC ++++ third_party/webrtc/modules/desktop_capture/linux/x11/x_server_pixel_buffer.cc +@@ -203,6 +203,12 @@ void XServerPixelBuffer::InitShm(const XWindowAttribut + void XServerPixelBuffer::InitShm(const XWindowAttributes& attributes) { + Visual* default_visual = attributes.visual; + int default_depth = attributes.depth; ++#if defined(__OpenBSD__) ++// pledge(2) ++ RTC_LOG(LS_WARNING) << "Unable to use shmget(2) while using pledge(2). " ++ "Performance may be degraded."; ++ return; ++#endif + + int major, minor; + Bool have_pixmaps; diff --git a/devel/electron33/files/patch-third__party_webrtc_modules_video__coding_codecs_av1_libaom__av1__encoder.cc b/devel/electron33/files/patch-third__party_webrtc_modules_video__coding_codecs_av1_libaom__av1__encoder.cc new file mode 100644 index 000000000000..25964133369b --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_modules_video__coding_codecs_av1_libaom__av1__encoder.cc @@ -0,0 +1,23 @@ +--- third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder.cc.orig 2024-10-16 21:35:55 UTC ++++ third_party/webrtc/modules/video_coding/codecs/av1/libaom_av1_encoder.cc +@@ -299,7 +299,9 @@ int LibaomAv1Encoder::InitEncode(const VideoCodec* cod + SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_ENABLE_PALETTE, 0); + } + ++#ifdef notyet + SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_AUTO_TILES, 1); ++#endif + SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_ROW_MT, 1); + SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_ENABLE_OBMC, 0); + SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_NOISE_SENSITIVITY, 0); +@@ -332,8 +334,10 @@ int LibaomAv1Encoder::InitEncode(const VideoCodec* cod + SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_MAX_REFERENCE_FRAMES, 3); + + if (adaptive_max_consec_drops_) { ++#ifdef notyet + SET_ENCODER_PARAM_OR_RETURN_ERROR(AV1E_SET_MAX_CONSEC_FRAME_DROP_MS_CBR, + 250); ++#endif + } + + return WEBRTC_VIDEO_CODEC_OK; diff --git a/devel/electron33/files/patch-third__party_webrtc_rtc__base_byte__order.h b/devel/electron33/files/patch-third__party_webrtc_rtc__base_byte__order.h new file mode 100644 index 000000000000..d003530c55c2 --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_rtc__base_byte__order.h @@ -0,0 +1,11 @@ +--- third_party/webrtc/rtc_base/byte_order.h.orig 2023-02-01 18:45:24 UTC ++++ third_party/webrtc/rtc_base/byte_order.h +@@ -90,6 +90,8 @@ + #error WEBRTC_ARCH_BIG_ENDIAN or WEBRTC_ARCH_LITTLE_ENDIAN must be defined. + #endif // defined(WEBRTC_ARCH_LITTLE_ENDIAN) + ++#elif defined(WEBRTC_BSD) ++#include <sys/endian.h> + #elif defined(WEBRTC_POSIX) + #include <endian.h> + #else diff --git a/devel/electron33/files/patch-third__party_webrtc_rtc__base_ip__address.cc b/devel/electron33/files/patch-third__party_webrtc_rtc__base_ip__address.cc new file mode 100644 index 000000000000..b256e651869b --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_rtc__base_ip__address.cc @@ -0,0 +1,12 @@ +--- third_party/webrtc/rtc_base/ip_address.cc.orig 2024-10-16 21:35:56 UTC ++++ third_party/webrtc/rtc_base/ip_address.cc +@@ -14,7 +14,8 @@ + #include <cstring> + #include <string> + #if defined(WEBRTC_POSIX) +-#ifdef OPENBSD ++#if defined(WEBRTC_BSD) ++#include <sys/types.h> + #include <netinet/in_systm.h> + #endif + #ifndef __native_client__ diff --git a/devel/electron33/files/patch-third__party_webrtc_rtc__base_net__test__helpers.cc b/devel/electron33/files/patch-third__party_webrtc_rtc__base_net__test__helpers.cc new file mode 100644 index 000000000000..ee7429dcce2b --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_rtc__base_net__test__helpers.cc @@ -0,0 +1,10 @@ +--- third_party/webrtc/rtc_base/net_test_helpers.cc.orig 2023-10-19 20:00:27 UTC ++++ third_party/webrtc/rtc_base/net_test_helpers.cc +@@ -21,6 +21,7 @@ + #endif + #if defined(WEBRTC_POSIX) && !defined(__native_client__) + #include <arpa/inet.h> ++#include <sys/socket.h> + #if defined(WEBRTC_ANDROID) + #include "rtc_base/ifaddrs_android.h" + #else diff --git a/devel/electron33/files/patch-third__party_webrtc_rtc__base_network.cc b/devel/electron33/files/patch-third__party_webrtc_rtc__base_network.cc new file mode 100644 index 000000000000..01d2103360cf --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_rtc__base_network.cc @@ -0,0 +1,15 @@ +--- third_party/webrtc/rtc_base/network.cc.orig 2024-06-18 21:44:56 UTC ++++ third_party/webrtc/rtc_base/network.cc +@@ -290,7 +290,12 @@ AdapterType GetAdapterTypeFromName(absl::string_view n + } + #endif + ++#if defined(WEBRTC_BSD) ++ // Treat all other network interface names as ethernet on BSD ++ return ADAPTER_TYPE_ETHERNET; ++#else + return ADAPTER_TYPE_UNKNOWN; ++#endif + } + + NetworkManager::EnumerationPermission NetworkManager::enumeration_permission() diff --git a/devel/electron33/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc b/devel/electron33/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc new file mode 100644 index 000000000000..f30305a92334 --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc @@ -0,0 +1,114 @@ +--- third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2024-06-18 21:44:56 UTC ++++ third_party/webrtc/rtc_base/physical_socket_server.cc +@@ -54,7 +54,7 @@ + #include "rtc_base/time_utils.h" + #include "system_wrappers/include/field_trial.h" + +-#if defined(WEBRTC_LINUX) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) + #include <linux/sockios.h> + #endif + +@@ -74,7 +74,7 @@ typedef void* SockOptArg; + + #endif // WEBRTC_POSIX + +-#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) ++#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) && !defined(WEBRTC_BSD) + + int64_t GetSocketRecvTimestamp(int socket) { + struct timeval tv_ioctl; +@@ -329,7 +329,7 @@ int PhysicalSocket::GetOption(Option opt, int* value) + return -1; + } + if (opt == OPT_DONTFRAGMENT) { +-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) + *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0; + #endif + } else if (opt == OPT_DSCP) { +@@ -358,7 +358,7 @@ int PhysicalSocket::SetOption(Option opt, int value) { + if (TranslateOption(opt, &slevel, &sopt) == -1) + return -1; + if (opt == OPT_DONTFRAGMENT) { +-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) + value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT; + #endif + } else if (opt == OPT_DSCP) { +@@ -389,7 +389,7 @@ int PhysicalSocket::Send(const void* pv, size_t cb) { + int PhysicalSocket::Send(const void* pv, size_t cb) { + int sent = DoSend( + s_, reinterpret_cast<const char*>(pv), static_cast<int>(cb), +-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) + // Suppress SIGPIPE. Without this, attempting to send on a socket whose + // other end is closed will result in a SIGPIPE signal being raised to + // our process, which by default will terminate the process, which we +@@ -418,7 +418,7 @@ int PhysicalSocket::SendTo(const void* buffer, + size_t len = addr.ToSockAddrStorage(&saddr); + int sent = + DoSendTo(s_, static_cast<const char*>(buffer), static_cast<int>(length), +-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) + // Suppress SIGPIPE. See above for explanation. + MSG_NOSIGNAL, + #else +@@ -697,7 +697,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s + *slevel = IPPROTO_IP; + *sopt = IP_DONTFRAGMENT; + break; +-#elif defined(WEBRTC_MAC) || defined(BSD) || defined(__native_client__) ++#elif defined(WEBRTC_MAC) || defined(WEBRTC_BSD) || defined(__native_client__) + RTC_LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported."; + return -1; + #elif defined(WEBRTC_POSIX) +@@ -746,7 +746,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s + return -1; + #endif + case OPT_RECV_ECN: +-#if defined(WEBRTC_POSIX) ++#if defined(WEBRTC_POSIX) && defined(IP_RECVTOS) + if (family_ == AF_INET6) { + *slevel = IPPROTO_IPV6; + *sopt = IPV6_RECVTCLASS; +@@ -766,10 +766,19 @@ int PhysicalSocket::TranslateOption(Option opt, int* s + *sopt = SO_KEEPALIVE; + break; + case OPT_TCP_KEEPCNT: ++#if !defined(TCP_KEEPCNT) ++ RTC_LOG(LS_WARNING) << "Socket::OPT_TCP_KEEPCNT not supported."; ++ return -1; ++#else + *slevel = IPPROTO_TCP; + *sopt = TCP_KEEPCNT; + break; ++#endif + case OPT_TCP_KEEPIDLE: ++#if !defined(TCP_KEEPALIVE) ++ RTC_LOG(LS_WARNING) << "Socket::OPT_TCP_KEEPALIVE not supported."; ++ return -1; ++#else + *slevel = IPPROTO_TCP; + #if !defined(WEBRTC_MAC) + *sopt = TCP_KEEPIDLE; +@@ -777,12 +786,18 @@ int PhysicalSocket::TranslateOption(Option opt, int* s + *sopt = TCP_KEEPALIVE; + #endif + break; ++#endif + case OPT_TCP_KEEPINTVL: ++#if !defined(TCP_KEEPALIVE) ++ RTC_LOG(LS_WARNING) << "Socket::OPT_TCP_KEEPINTVL not supported."; ++ return -1; ++#else + *slevel = IPPROTO_TCP; + *sopt = TCP_KEEPINTVL; + break; ++#endif + case OPT_TCP_USER_TIMEOUT: +-#if defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID) ++#if (defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID)) && defined(TCP_USER_TIMEOUT) + *slevel = IPPROTO_TCP; + *sopt = TCP_USER_TIMEOUT; + break; diff --git a/devel/electron33/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h b/devel/electron33/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h new file mode 100644 index 000000000000..b1dc22dd4eef --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h @@ -0,0 +1,11 @@ +--- third_party/webrtc/rtc_base/physical_socket_server.h.orig 2023-11-29 21:41:42 UTC ++++ third_party/webrtc/rtc_base/physical_socket_server.h +@@ -18,7 +18,7 @@ + #include "rtc_base/third_party/sigslot/sigslot.h" + + #if defined(WEBRTC_POSIX) +-#if defined(WEBRTC_LINUX) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) + // On Linux, use epoll. + #include <sys/epoll.h> + diff --git a/devel/electron33/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc b/devel/electron33/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc new file mode 100644 index 000000000000..2b1e7715b52b --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc @@ -0,0 +1,37 @@ +--- third_party/webrtc/rtc_base/platform_thread_types.cc.orig 2023-02-01 18:45:24 UTC ++++ third_party/webrtc/rtc_base/platform_thread_types.cc +@@ -11,7 +11,9 @@ + #include "rtc_base/platform_thread_types.h" + + #if defined(WEBRTC_LINUX) ++#if !defined(WEBRTC_BSD) + #include <sys/prctl.h> ++#endif + #include <sys/syscall.h> + #endif + +@@ -44,6 +46,8 @@ PlatformThreadId CurrentThreadId() { + return gettid(); + #elif defined(WEBRTC_FUCHSIA) + return zx_thread_self(); ++#elif defined(WEBRTC_BSD) ++ return reinterpret_cast<uint64_t>(pthread_self()); + #elif defined(WEBRTC_LINUX) + return syscall(__NR_gettid); + #elif defined(__EMSCRIPTEN__) +@@ -74,6 +78,7 @@ bool IsThreadRefEqual(const PlatformThreadRef& a, cons + } + + void SetCurrentThreadName(const char* name) { ++#if !defined(WEBRTC_BSD) + #if defined(WEBRTC_WIN) + // The SetThreadDescription API works even if no debugger is attached. + // The names set with this API also show up in ETW traces. Very handy. +@@ -120,6 +125,7 @@ void SetCurrentThreadName(const char* name) { + zx_status_t status = zx_object_set_property(zx_thread_self(), ZX_PROP_NAME, + name, strlen(name)); + RTC_DCHECK_EQ(status, ZX_OK); ++#endif + #endif + } + diff --git a/devel/electron33/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h b/devel/electron33/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h new file mode 100644 index 000000000000..e5a7ab18c9c0 --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h @@ -0,0 +1,23 @@ +--- third_party/webrtc/rtc_base/third_party/sigslot/sigslot.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/webrtc/rtc_base/third_party/sigslot/sigslot.h +@@ -178,6 +178,10 @@ class multi_threaded_local { + #endif // _SIGSLOT_HAS_WIN32_THREADS + + #ifdef _SIGSLOT_HAS_POSIX_THREADS ++#if defined(OS_FREEBSD) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wthread-safety-analysis" ++#endif + // The multi threading policies only get compiled in if they are enabled. + class multi_threaded_global { + public: +@@ -201,6 +205,9 @@ class multi_threaded_local { + private: + pthread_mutex_t m_mutex; + }; ++#if defined(OS_FREEBSD) ++#pragma GCC diagnostic pop ++#endif + #endif // _SIGSLOT_HAS_POSIX_THREADS + + template <class mt_policy> diff --git a/devel/electron33/files/patch-third__party_webrtc_system__wrappers_BUILD.gn b/devel/electron33/files/patch-third__party_webrtc_system__wrappers_BUILD.gn new file mode 100644 index 000000000000..018323eda950 --- /dev/null +++ b/devel/electron33/files/patch-third__party_webrtc_system__wrappers_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/webrtc/system_wrappers/BUILD.gn.orig 2024-10-16 21:35:57 UTC ++++ third_party/webrtc/system_wrappers/BUILD.gn +@@ -62,8 +62,6 @@ rtc_library("system_wrappers") { + if (!build_with_chromium) { + sources += [ "source/cpu_features_linux.cc" ] + } +- +- libs += [ "rt" ] + } + + if (is_win) { diff --git a/devel/electron33/files/patch-third__party_widevine_cdm_widevine.gni b/devel/electron33/files/patch-third__party_widevine_cdm_widevine.gni new file mode 100644 index 000000000000..3048ecec5379 --- /dev/null +++ b/devel/electron33/files/patch-third__party_widevine_cdm_widevine.gni @@ -0,0 +1,11 @@ +--- third_party/widevine/cdm/widevine.gni.orig 2023-11-29 21:40:41 UTC ++++ third_party/widevine/cdm/widevine.gni +@@ -28,6 +28,8 @@ library_widevine_cdm_available = + (is_chromeos && + (target_cpu == "x64" || target_cpu == "arm" || target_cpu == "arm64")) || + (target_os == "linux" && target_cpu == "x64") || ++ (target_os == "openbsd" && target_cpu == "x64") || ++ (target_os == "freebsd" && target_cpu == "x64") || + (target_os == "mac" && (target_cpu == "x64" || target_cpu == "arm64")) || + (target_os == "win" && + (target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm64")) diff --git a/devel/electron33/files/patch-third__party_zlib_BUILD.gn b/devel/electron33/files/patch-third__party_zlib_BUILD.gn new file mode 100644 index 000000000000..6a15bbbb8edd --- /dev/null +++ b/devel/electron33/files/patch-third__party_zlib_BUILD.gn @@ -0,0 +1,31 @@ +--- third_party/zlib/BUILD.gn.orig 2024-08-30 11:29:37 UTC ++++ third_party/zlib/BUILD.gn +@@ -128,7 +128,7 @@ if (use_arm_neon_optimizations) { + defines = [ "CRC32_ARMV8_CRC32" ] + if (is_android) { + defines += [ "ARMV8_OS_ANDROID" ] +- } else if (is_linux || is_chromeos) { ++ } else if ((is_linux || is_chromeos) && !is_bsd) { + defines += [ "ARMV8_OS_LINUX" ] + } else if (is_mac) { + defines += [ "ARMV8_OS_MACOS" ] +@@ -138,6 +138,10 @@ if (use_arm_neon_optimizations) { + defines += [ "ARMV8_OS_FUCHSIA" ] + } else if (is_win) { + defines += [ "ARMV8_OS_WINDOWS" ] ++ } else if (is_openbsd) { ++ defines += [ "ARMV8_OS_OPENBSD" ] ++ } else if (is_freebsd) { ++ defines += [ "ARMV8_OS_FREEBSD" ] + } else { + assert(false, "Unsupported ARM OS") + } +@@ -417,7 +421,7 @@ static_library("minizip") { + ] + } + +- if (is_apple || is_android || is_nacl) { ++ if (is_apple || is_android || is_nacl || is_bsd) { + # Mac, Android and the BSDs don't have fopen64, ftello64, or fseeko64. We + # use fopen, ftell, and fseek instead on these systems. + defines = [ "USE_FILE32API" ] diff --git a/devel/electron33/files/patch-third__party_zlib_cpu__features.c b/devel/electron33/files/patch-third__party_zlib_cpu__features.c new file mode 100644 index 000000000000..bb2872bcc154 --- /dev/null +++ b/devel/electron33/files/patch-third__party_zlib_cpu__features.c @@ -0,0 +1,51 @@ +--- third_party/zlib/cpu_features.c.orig 2024-06-18 21:44:01 UTC ++++ third_party/zlib/cpu_features.c +@@ -39,7 +39,8 @@ int ZLIB_INTERNAL riscv_cpu_enable_vclmul = 0; + #ifndef CPU_NO_SIMD + + #if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || \ +- defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_IOS) ++ defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_IOS) || \ ++ defined(ARMV8_OS_OPENBSD) || defined(ARMV8_OS_FREEBSD) + #include <pthread.h> + #endif + +@@ -56,6 +57,10 @@ int ZLIB_INTERNAL riscv_cpu_enable_vclmul = 0; + #include <windows.h> + #elif defined(ARMV8_OS_IOS) + #include <sys/sysctl.h> ++#elif defined(ARMV8_OS_OPENBSD) ++#include <sys/sysctl.h> ++#include <machine/cpu.h> ++#include <machine/armreg.h> + #elif !defined(_MSC_VER) + #include <pthread.h> + #else +@@ -69,7 +74,8 @@ static void _cpu_check_features(void); + #if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || \ + defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || \ + defined(X86_NOT_WINDOWS) || defined(ARMV8_OS_IOS) || \ +- defined(RISCV_RVV) ++ defined(RISCV_RVV) || defined(ARMV8_OS_OPENBSD) || \ ++ defined(ARMV8_OS_FREEBSD) + #if !defined(ARMV8_OS_MACOS) + // _cpu_check_features() doesn't need to do anything on mac/arm since all + // features are known at build time, so don't call it. +@@ -122,6 +128,17 @@ static void _cpu_check_features(void) + unsigned long features = getauxval(AT_HWCAP2); + arm_cpu_enable_crc32 = !!(features & HWCAP2_CRC32); + arm_cpu_enable_pmull = !!(features & HWCAP2_PMULL); ++#elif defined(ARMV8_OS_OPENBSD) ++ int isar0_mib[] = { CTL_MACHDEP, CPU_ID_AA64ISAR0 }; ++ uint64_t cpu_id = 0; ++ size_t len = sizeof(cpu_id); ++ if (sysctl(isar0_mib, 2, &cpu_id, &len, NULL, 0) < 0) ++ return; ++ if (ID_AA64ISAR0_AES(cpu_id) >= ID_AA64ISAR0_AES_PMULL) ++ arm_cpu_enable_pmull = 1; ++ ++ if (ID_AA64ISAR0_CRC32(cpu_id) >= ID_AA64ISAR0_CRC32_BASE) ++ arm_cpu_enable_crc32 = 1; + #elif defined(ARMV8_OS_FUCHSIA) + uint32_t features; + zx_status_t rc = zx_system_get_features(ZX_FEATURE_KIND_CPU, &features); diff --git a/devel/electron33/files/patch-tools_generate__shim__headers_generate__shim__headers.py b/devel/electron33/files/patch-tools_generate__shim__headers_generate__shim__headers.py new file mode 100644 index 000000000000..89fc16651819 --- /dev/null +++ b/devel/electron33/files/patch-tools_generate__shim__headers_generate__shim__headers.py @@ -0,0 +1,21 @@ +--- tools/generate_shim_headers/generate_shim_headers.py.orig 2023-05-25 00:42:52 UTC ++++ tools/generate_shim_headers/generate_shim_headers.py +@@ -18,7 +18,7 @@ import sys + + + SHIM_TEMPLATE = """ +-#if defined(OFFICIAL_BUILD) ++#if defined(GOOGLE_CHROME_BUILD) + #error shim headers must not be used in official builds! + #endif + """ +@@ -65,6 +65,9 @@ def GeneratorMain(argv): + if options.outputs: + yield os.path.join(target_directory, header_filename) + if options.generate: ++ source_file = os.path.join(root, header_filename) ++ if os.path.exists(source_file): ++ os.unlink(source_file) + header_path = os.path.join(target_directory, header_filename) + header_dir = os.path.dirname(header_path) + if not os.path.exists(header_dir): diff --git a/devel/electron33/files/patch-tools_generate__stubs_rules.gni b/devel/electron33/files/patch-tools_generate__stubs_rules.gni new file mode 100644 index 000000000000..a3e779c1b0a6 --- /dev/null +++ b/devel/electron33/files/patch-tools_generate__stubs_rules.gni @@ -0,0 +1,10 @@ +--- tools/generate_stubs/rules.gni.orig 2022-08-31 12:19:35 UTC ++++ tools/generate_stubs/rules.gni +@@ -110,7 +110,6 @@ template("generate_stubs") { + "${target_gen_dir}/${invoker.output_name}.cc", + "${target_gen_dir}/${invoker.output_name}.h", + ] +- libs = [ "dl" ] + include_dirs = [ target_gen_dir ] + if (defined(invoker.configs)) { + configs += invoker.configs diff --git a/devel/electron33/files/patch-tools_gn_build_build__linux.ninja.template b/devel/electron33/files/patch-tools_gn_build_build__linux.ninja.template new file mode 100644 index 000000000000..56060f784b21 --- /dev/null +++ b/devel/electron33/files/patch-tools_gn_build_build__linux.ninja.template @@ -0,0 +1,11 @@ +--- tools/gn/build/build_linux.ninja.template.orig 2024-06-18 21:56:34 UTC ++++ tools/gn/build/build_linux.ninja.template +@@ -5,7 +5,7 @@ rule alink_thin + deps = gcc + + rule alink_thin +- command = $ar rcsT $out $in ++ command = $ar rcs $out $in + description = AR $out + + rule link diff --git a/devel/electron33/files/patch-tools_gn_build_gen.py b/devel/electron33/files/patch-tools_gn_build_gen.py new file mode 100644 index 000000000000..cf8f31249bd9 --- /dev/null +++ b/devel/electron33/files/patch-tools_gn_build_gen.py @@ -0,0 +1,34 @@ +--- tools/gn/build/gen.py.orig 2024-04-15 20:45:30 UTC ++++ tools/gn/build/gen.py +@@ -94,6 +94,12 @@ class Platform(object): + def is_solaris(self): + return self._platform == 'solaris' + ++ def is_openbsd(self): ++ return self._platform == 'openbsd' ++ ++ def is_freebsd(self): ++ return self._platform == 'freebsd' ++ + def is_posix(self): + return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'haiku', 'solaris', 'msys', 'netbsd', 'serenity'] + +@@ -304,7 +310,7 @@ def WriteGenericNinja(path, static_libraries, executab + 'linux': 'build_linux.ninja.template', + 'freebsd': 'build_linux.ninja.template', + 'aix': 'build_aix.ninja.template', +- 'openbsd': 'build_openbsd.ninja.template', ++ 'openbsd': 'build_linux.ninja.template', + 'haiku': 'build_haiku.ninja.template', + 'solaris': 'build_linux.ninja.template', + 'netbsd': 'build_linux.ninja.template', +@@ -539,6 +545,9 @@ def WriteGNNinja(path, platform, host, options, args_l + + if platform.is_posix() and not platform.is_haiku(): + ldflags.append('-pthread') ++ ++ if platform.is_openbsd(): ++ libs.append('-lkvm') + + if platform.is_mingw() or platform.is_msys(): + cflags.extend(['-DUNICODE', diff --git a/devel/electron33/files/patch-tools_gn_src_base_files_file__posix.cc b/devel/electron33/files/patch-tools_gn_src_base_files_file__posix.cc new file mode 100644 index 000000000000..fb7946338de4 --- /dev/null +++ b/devel/electron33/files/patch-tools_gn_src_base_files_file__posix.cc @@ -0,0 +1,11 @@ +--- tools/gn/src/base/files/file_posix.cc.orig 2024-10-16 21:48:27 UTC ++++ tools/gn/src/base/files/file_posix.cc +@@ -359,7 +359,7 @@ bool File::Flush() { + bool File::Flush() { + DCHECK(IsValid()); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return !HANDLE_EINTR(fdatasync(file_.get())); + #else + return !HANDLE_EINTR(fsync(file_.get())); diff --git a/devel/electron33/files/patch-tools_gn_src_gn_version.h b/devel/electron33/files/patch-tools_gn_src_gn_version.h new file mode 100644 index 000000000000..a3c6f07d4a48 --- /dev/null +++ b/devel/electron33/files/patch-tools_gn_src_gn_version.h @@ -0,0 +1,15 @@ +--- tools/gn/src/gn/version.h.orig 2021-09-14 02:05:25 UTC ++++ tools/gn/src/gn/version.h +@@ -22,9 +22,9 @@ class Version { + + static std::optional<Version> FromString(std::string s); + +- int major() const { return major_; } +- int minor() const { return minor_; } +- int patch() const { return patch_; } ++ int gmajor() const { return major_; } ++ int gminor() const { return minor_; } ++ int gpatch() const { return patch_; } + + bool operator==(const Version& other) const; + bool operator<(const Version& other) const; diff --git a/devel/electron33/files/patch-tools_gn_src_util_exe__path.cc b/devel/electron33/files/patch-tools_gn_src_util_exe__path.cc new file mode 100644 index 000000000000..54f6fb40afea --- /dev/null +++ b/devel/electron33/files/patch-tools_gn_src_util_exe__path.cc @@ -0,0 +1,90 @@ +--- tools/gn/src/util/exe_path.cc.orig 2022-02-07 13:39:41 UTC ++++ tools/gn/src/util/exe_path.cc +@@ -15,7 +15,7 @@ + #include <windows.h> + + #include "base/win/win_util.h" +-#elif defined(OS_FREEBSD) || defined(OS_NETBSD) ++#elif defined(OS_FREEBSD) || defined(OS_NETBSD) || defined(OS_OPENBSD) + #include <limits.h> + #include <sys/sysctl.h> + #include <sys/types.h> +@@ -26,6 +26,10 @@ + #include <stdlib.h> + #endif + ++#if defined(OS_OPENBSD) ++#include <kvm.h> ++#endif ++ + #if defined(OS_MACOSX) + + base::FilePath GetExePath() { +@@ -102,6 +106,67 @@ base::FilePath GetExePath() { + return base::FilePath(); + } + return base::FilePath(raw); ++} ++ ++#elif defined(OS_OPENBSD) ++ ++base::FilePath GetExePath() { ++ struct kinfo_file *files; ++ kvm_t *kd = NULL; ++ char errbuf[_POSIX2_LINE_MAX]; ++ char **retvalargs; ++#define MAXTOKENS 2 ++ char *tokens[MAXTOKENS]; ++ static char retval[PATH_MAX]; ++ int cnt; ++ size_t len; ++ struct stat sb; ++ pid_t cpid = getpid(); ++ ++ int mib[] = { CTL_KERN, KERN_PROC_ARGS, cpid, KERN_PROC_ARGV }; ++ ++ if (sysctl(mib, 4, NULL, &len, NULL, 0) != -1) { ++ retvalargs = static_cast<char**>(malloc(len)); ++ if (!retvalargs) ++ goto out; ++ ++ if (sysctl(mib, 4, retvalargs, &len, NULL, 0) < 0) ++ goto out; ++ ++ char *cr = strdup(retvalargs[0]); ++ free(retvalargs); ++ ++ *tokens = strtok(cr, ":"); ++ if (tokens[0] == NULL) ++ goto out; ++ ++ if (realpath(tokens[0], retval) == NULL) ++ goto out; ++ ++ if (stat(retval, &sb) < 0) ++ 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) { ++ kvm_close(kd); ++ 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) { ++ kvm_close(kd); ++ return base::FilePath(retval); ++ } ++ } ++ } ++ ++out: ++ return base::FilePath(); + } + + #elif defined(OS_ZOS) diff --git a/devel/electron33/files/patch-tools_grit_grit_node_base.py b/devel/electron33/files/patch-tools_grit_grit_node_base.py new file mode 100644 index 000000000000..0e9e99eb206b --- /dev/null +++ b/devel/electron33/files/patch-tools_grit_grit_node_base.py @@ -0,0 +1,12 @@ +--- tools/grit/grit/node/base.py.orig 2024-02-21 00:21:14 UTC ++++ tools/grit/grit/node/base.py +@@ -498,7 +498,8 @@ class Node: + value = defs + + elif name == 'is_linux': +- value = target_platform == 'linux' ++ value = (target_platform == 'linux' ++ or 'bsd' in target_platform) + elif name == 'is_chromeos': + value = target_platform == 'chromeos' + elif name == 'is_macosx': diff --git a/devel/electron33/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py b/devel/electron33/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py new file mode 100644 index 000000000000..cf3e8dfe13b6 --- /dev/null +++ b/devel/electron33/files/patch-tools_json__schema__compiler_cpp__bundle__generator.py @@ -0,0 +1,11 @@ +--- tools/json_schema_compiler/cpp_bundle_generator.py.orig 2024-10-16 21:32:37 UTC ++++ tools/json_schema_compiler/cpp_bundle_generator.py +@@ -145,7 +145,7 @@ class CppBundleGenerator(object): + # BUILDFLAG(IS_CHROMEOS) && BUILDFLAG(IS_CHROMEOS_LACROS). + ifdefs.append('BUILDFLAG(IS_CHROMEOS_LACROS)') + elif platform == Platforms.LINUX: +- ifdefs.append('BUILDFLAG(IS_LINUX)') ++ ifdefs.append('BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)') + elif platform == Platforms.MAC: + ifdefs.append('BUILDFLAG(IS_MAC)') + elif platform == Platforms.WIN: diff --git a/devel/electron33/files/patch-tools_json__schema__compiler_feature__compiler.py b/devel/electron33/files/patch-tools_json__schema__compiler_feature__compiler.py new file mode 100644 index 000000000000..affd2af3b987 --- /dev/null +++ b/devel/electron33/files/patch-tools_json__schema__compiler_feature__compiler.py @@ -0,0 +1,11 @@ +--- tools/json_schema_compiler/feature_compiler.py.orig 2024-10-16 21:32:37 UTC ++++ tools/json_schema_compiler/feature_compiler.py +@@ -292,6 +292,8 @@ FEATURE_GRAMMAR = ({ + 'linux': 'Feature::LINUX_PLATFORM', + 'mac': 'Feature::MACOSX_PLATFORM', + 'win': 'Feature::WIN_PLATFORM', ++ 'openbsd': 'Feature::LINUX_PLATFORM', ++ 'freebsd': 'Feature::LINUX_PLATFORM', + } + } + }, diff --git a/devel/electron33/files/patch-tools_memory_partition__allocator_inspect__utils.h b/devel/electron33/files/patch-tools_memory_partition__allocator_inspect__utils.h new file mode 100644 index 000000000000..47a2f196e078 --- /dev/null +++ b/devel/electron33/files/patch-tools_memory_partition__allocator_inspect__utils.h @@ -0,0 +1,11 @@ +--- tools/memory/partition_allocator/inspect_utils.h.orig 2024-02-21 00:21:14 UTC ++++ tools/memory/partition_allocator/inspect_utils.h +@@ -61,7 +61,7 @@ class RemoteProcessMemoryReader { + const pid_t pid_; + bool is_valid_; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::ScopedFD mem_fd_; + #elif BUILDFLAG(IS_MAC) + task_t task_; diff --git a/devel/electron33/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn b/devel/electron33/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn new file mode 100644 index 000000000000..5241d1fe8974 --- /dev/null +++ b/devel/electron33/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn @@ -0,0 +1,20 @@ +--- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2024-08-14 20:56:03 UTC ++++ tools/perf/chrome_telemetry_build/BUILD.gn +@@ -47,7 +47,7 @@ group("telemetry_chrome_test") { + data_deps += [ "//chrome:reorder_imports" ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + data_deps += [ "//third_party/breakpad:dump_syms" ] + + # CrOS currently has issues with the locally compiled version of +@@ -178,7 +178,7 @@ group("telemetry_chrome_test_without_chrome") { + ] + + # Cr-Fuchsia doesn't support breakpad. +- if (!is_win && !is_fuchsia) { ++ if (!is_win && !is_fuchsia && !is_bsd) { + data_deps += [ + # This is defined for Windows, but is unused by Telemetry on + # Windows, and including it can have issues when cross-compiling diff --git a/devel/electron33/files/patch-tools_protoc__wrapper_protoc__wrapper.py b/devel/electron33/files/patch-tools_protoc__wrapper_protoc__wrapper.py new file mode 100644 index 000000000000..deea745ff3b2 --- /dev/null +++ b/devel/electron33/files/patch-tools_protoc__wrapper_protoc__wrapper.py @@ -0,0 +1,24 @@ +--- tools/protoc_wrapper/protoc_wrapper.py.orig 2024-06-18 21:44:01 UTC ++++ tools/protoc_wrapper/protoc_wrapper.py +@@ -183,15 +183,19 @@ def main(argv): + if not options.exclude_imports: + protoc_cmd += ["--include_imports"] + ++ nenv = os.environ.copy() ++ nenv["PATH"] = "${WRKOBJDIR}/bin:" + nenv["PATH"] ++ nenv["LD_LIBRARY_PATH"] = "${WRKSRC}/out/Release" ++ + dependency_file_data = None + if options.descriptor_set_out and options.descriptor_set_dependency_file: + protoc_cmd += ['--dependency_out', options.descriptor_set_dependency_file] +- ret = subprocess.call(protoc_cmd) ++ ret = subprocess.call(protoc_cmd, env=nenv) + + with open(options.descriptor_set_dependency_file, 'rb') as f: + dependency_file_data = f.read().decode('utf-8') + +- ret = subprocess.call(protoc_cmd) ++ ret = subprocess.call(protoc_cmd, env=nenv) + if ret != 0: + if ret <= -100: + # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to diff --git a/devel/electron33/files/patch-tools_variations_fieldtrial__to__struct.py b/devel/electron33/files/patch-tools_variations_fieldtrial__to__struct.py new file mode 100644 index 000000000000..17377bfe54f4 --- /dev/null +++ b/devel/electron33/files/patch-tools_variations_fieldtrial__to__struct.py @@ -0,0 +1,11 @@ +--- tools/variations/fieldtrial_to_struct.py.orig 2022-02-07 13:39:41 UTC ++++ tools/variations/fieldtrial_to_struct.py +@@ -41,6 +41,8 @@ _platforms = [ + 'linux', + 'mac', + 'windows', ++ 'openbsd', ++ 'freebsd', + ] + + _form_factors = [ diff --git a/devel/electron33/files/patch-ui_aura_client_drag__drop__client.h b/devel/electron33/files/patch-ui_aura_client_drag__drop__client.h new file mode 100644 index 000000000000..c6a6dfcc8b6a --- /dev/null +++ b/devel/electron33/files/patch-ui_aura_client_drag__drop__client.h @@ -0,0 +1,11 @@ +--- ui/aura/client/drag_drop_client.h.orig 2023-02-01 18:43:51 UTC ++++ ui/aura/client/drag_drop_client.h +@@ -44,7 +44,7 @@ class AURA_EXPORT DragDropClient { + int allowed_operations, + ui::mojom::DragEventSource source) = 0; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Updates the drag image. An empty |image| may be used to hide a previously + // set non-empty drag image, and a non-empty |image| shows the drag image + // again if it was previously hidden. diff --git a/devel/electron33/files/patch-ui_aura_screen__ozone.cc b/devel/electron33/files/patch-ui_aura_screen__ozone.cc new file mode 100644 index 000000000000..13b7c8f5034a --- /dev/null +++ b/devel/electron33/files/patch-ui_aura_screen__ozone.cc @@ -0,0 +1,11 @@ +--- ui/aura/screen_ozone.cc.orig 2024-08-14 20:56:04 UTC ++++ ui/aura/screen_ozone.cc +@@ -107,7 +107,7 @@ display::Display ScreenOzone::GetPrimaryDisplay() cons + return platform_screen_->GetPrimaryDisplay(); + } + +-#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + ScreenOzone::ScreenSaverSuspenderOzone::ScreenSaverSuspenderOzone( + std::unique_ptr<ui::PlatformScreen::PlatformScreenSaverSuspender> suspender) + : suspender_(std::move(suspender)) {} diff --git a/devel/electron33/files/patch-ui_aura_screen__ozone.h b/devel/electron33/files/patch-ui_aura_screen__ozone.h new file mode 100644 index 000000000000..9a39bc562101 --- /dev/null +++ b/devel/electron33/files/patch-ui_aura_screen__ozone.h @@ -0,0 +1,20 @@ +--- ui/aura/screen_ozone.h.orig 2024-08-14 20:56:04 UTC ++++ ui/aura/screen_ozone.h +@@ -45,7 +45,7 @@ class AURA_EXPORT ScreenOzone : public display::Screen + display::Display GetDisplayMatching( + const gfx::Rect& match_rect) const override; + display::Display GetPrimaryDisplay() const override; +-#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<display::Screen::ScreenSaverSuspender> SuspendScreenSaver() + override; + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) +@@ -74,7 +74,7 @@ class AURA_EXPORT ScreenOzone : public display::Screen + ui::PlatformScreen* platform_screen() { return platform_screen_.get(); } + + private: +-#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + class ScreenSaverSuspenderOzone + : public display::Screen::ScreenSaverSuspender { + public: diff --git a/devel/electron33/files/patch-ui_base_accelerators_accelerator.cc b/devel/electron33/files/patch-ui_base_accelerators_accelerator.cc new file mode 100644 index 000000000000..faf586ae2cca --- /dev/null +++ b/devel/electron33/files/patch-ui_base_accelerators_accelerator.cc @@ -0,0 +1,11 @@ +--- ui/base/accelerators/accelerator.cc.orig 2024-11-11 11:18:33 UTC ++++ ui/base/accelerators/accelerator.cc +@@ -419,7 +419,7 @@ std::u16string Accelerator::ApplyLongFormModifiers( + result = ApplyModifierToAcceleratorString(result, IDS_APP_SEARCH_KEY); + #elif BUILDFLAG(IS_WIN) + result = ApplyModifierToAcceleratorString(result, IDS_APP_WINDOWS_KEY); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + result = ApplyModifierToAcceleratorString(result, IDS_APP_SUPER_KEY); + #else + NOTREACHED(); diff --git a/devel/electron33/files/patch-ui_base_accelerators_accelerator__unittest.cc b/devel/electron33/files/patch-ui_base_accelerators_accelerator__unittest.cc new file mode 100644 index 000000000000..3e580ca43502 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_accelerators_accelerator__unittest.cc @@ -0,0 +1,11 @@ +--- ui/base/accelerators/accelerator_unittest.cc.orig 2024-11-11 11:19:16 UTC ++++ ui/base/accelerators/accelerator_unittest.cc +@@ -59,7 +59,7 @@ TEST(AcceleratorTest, MAYBE_GetShortcutText) { + #if BUILDFLAG(IS_MAC) + {VKEY_T, EF_COMMAND_DOWN | EF_CONTROL_DOWN, nullptr, u"⌃⌘T"}, + #endif +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {VKEY_T, EF_COMMAND_DOWN | EF_CONTROL_DOWN, u"Super+Ctrl+T", nullptr}, + #endif + }; diff --git a/devel/electron33/files/patch-ui_base_clipboard_clipboard__constants.cc b/devel/electron33/files/patch-ui_base_clipboard_clipboard__constants.cc new file mode 100644 index 000000000000..96381b948f79 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_clipboard_clipboard__constants.cc @@ -0,0 +1,11 @@ +--- ui/base/clipboard/clipboard_constants.cc.orig 2023-11-29 21:40:44 UTC ++++ ui/base/clipboard/clipboard_constants.cc +@@ -25,7 +25,7 @@ const char kMimeTypeWindowDrag[] = "chromium/x-window- + // Used for window dragging on some platforms. + const char kMimeTypeWindowDrag[] = "chromium/x-window-drag"; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + const char kMimeTypeLinuxUtf8String[] = "UTF8_STRING"; + const char kMimeTypeLinuxString[] = "STRING"; + const char kMimeTypeLinuxText[] = "TEXT"; diff --git a/devel/electron33/files/patch-ui_base_clipboard_clipboard__constants.h b/devel/electron33/files/patch-ui_base_clipboard_clipboard__constants.h new file mode 100644 index 000000000000..5461d6e0dbb5 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_clipboard_clipboard__constants.h @@ -0,0 +1,11 @@ +--- ui/base/clipboard/clipboard_constants.h.orig 2023-11-29 21:40:44 UTC ++++ ui/base/clipboard/clipboard_constants.h +@@ -48,7 +48,7 @@ extern const char kMimeTypeDataTransferEndpoint[]; + + // ----- LINUX & CHROMEOS & FUCHSIA MIME TYPES ----- + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(UI_BASE_CLIPBOARD_TYPES) + extern const char kMimeTypeLinuxUtf8String[]; + COMPONENT_EXPORT(UI_BASE_CLIPBOARD_TYPES) diff --git a/devel/electron33/files/patch-ui_base_clipboard_clipboard__non__backed.cc b/devel/electron33/files/patch-ui_base_clipboard_clipboard__non__backed.cc new file mode 100644 index 000000000000..e213aadc33a1 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_clipboard_clipboard__non__backed.cc @@ -0,0 +1,11 @@ +--- ui/base/clipboard/clipboard_non_backed.cc.orig 2024-06-18 21:44:02 UTC ++++ ui/base/clipboard/clipboard_non_backed.cc +@@ -461,7 +461,7 @@ ClipboardNonBacked::ClipboardNonBacked() { + // so create internal clipboards for platform supported clipboard buffers. + constexpr ClipboardBuffer kClipboardBuffers[] = { + ClipboardBuffer::kCopyPaste, +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + ClipboardBuffer::kSelection, + #endif + #if BUILDFLAG(IS_MAC) diff --git a/devel/electron33/files/patch-ui_base_cursor_cursor__factory.cc b/devel/electron33/files/patch-ui_base_cursor_cursor__factory.cc new file mode 100644 index 000000000000..74a6d9c3ce47 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_cursor_cursor__factory.cc @@ -0,0 +1,11 @@ +--- ui/base/cursor/cursor_factory.cc.orig 2024-04-15 20:34:29 UTC ++++ ui/base/cursor/cursor_factory.cc +@@ -97,7 +97,7 @@ void CursorFactory::ObserveThemeChanges() { + NOTIMPLEMENTED(); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + + // Returns a cursor name compatible with either X11 or the FreeDesktop.org + // cursor spec ([1] and [2]), followed by fallbacks that can work as diff --git a/devel/electron33/files/patch-ui_base_cursor_cursor__factory.h b/devel/electron33/files/patch-ui_base_cursor_cursor__factory.h new file mode 100644 index 000000000000..e7cc32bce26e --- /dev/null +++ b/devel/electron33/files/patch-ui_base_cursor_cursor__factory.h @@ -0,0 +1,11 @@ +--- ui/base/cursor/cursor_factory.h.orig 2023-10-19 19:59:21 UTC ++++ ui/base/cursor/cursor_factory.h +@@ -93,7 +93,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory { + base::ObserverList<CursorFactoryObserver>::Unchecked observers_; + }; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(UI_BASE_CURSOR) + std::vector<std::string> CursorNamesFromType(mojom::CursorType type); + #endif diff --git a/devel/electron33/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc b/devel/electron33/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc new file mode 100644 index 000000000000..6726b649d956 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc @@ -0,0 +1,20 @@ +--- ui/base/dragdrop/os_exchange_data_provider_factory.cc.orig 2022-02-28 16:54:41 UTC ++++ ui/base/dragdrop/os_exchange_data_provider_factory.cc +@@ -7,7 +7,7 @@ + #include "base/notreached.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + #include "ui/base/dragdrop/os_exchange_data_provider_factory_ozone.h" + #include "ui/base/dragdrop/os_exchange_data_provider_non_backed.h" + #elif BUILDFLAG(IS_APPLE) +@@ -21,7 +21,7 @@ namespace ui { + // static + std::unique_ptr<OSExchangeDataProvider> + OSExchangeDataProviderFactory::CreateProvider() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The instance can be nullptr in tests that do not instantiate the platform, + // or on platforms that do not implement specific drag'n'drop. For them, + // falling back to the Aura provider should be fine. diff --git a/devel/electron33/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc b/devel/electron33/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc new file mode 100644 index 000000000000..e74301f40af6 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_dragdrop_os__exchange__data__provider__non__backed.cc @@ -0,0 +1,11 @@ +--- ui/base/dragdrop/os_exchange_data_provider_non_backed.cc.orig 2024-04-15 20:34:29 UTC ++++ ui/base/dragdrop/os_exchange_data_provider_non_backed.cc +@@ -99,7 +99,7 @@ std::optional<std::u16string> OSExchangeDataProviderNo + + std::optional<std::u16string> OSExchangeDataProviderNonBacked::GetString() + const { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (HasFile()) { + // Various Linux file managers both pass a list of file:// URIs and set the + // string representation to the URI. We explicitly don't want to return use diff --git a/devel/electron33/files/patch-ui_base_ime_dummy__text__input__client.cc b/devel/electron33/files/patch-ui_base_ime_dummy__text__input__client.cc new file mode 100644 index 000000000000..993d17891f4c --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ime_dummy__text__input__client.cc @@ -0,0 +1,11 @@ +--- ui/base/ime/dummy_text_input_client.cc.orig 2024-10-16 21:32:39 UTC ++++ ui/base/ime/dummy_text_input_client.cc +@@ -163,7 +163,7 @@ bool DummyTextInputClient::ShouldDoLearning() { + return false; + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool DummyTextInputClient::SetCompositionFromExistingText( + const gfx::Range& range, + const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) { diff --git a/devel/electron33/files/patch-ui_base_ime_dummy__text__input__client.h b/devel/electron33/files/patch-ui_base_ime_dummy__text__input__client.h new file mode 100644 index 000000000000..7773e2308de0 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ime_dummy__text__input__client.h @@ -0,0 +1,11 @@ +--- ui/base/ime/dummy_text_input_client.h.orig 2024-10-16 21:32:39 UTC ++++ ui/base/ime/dummy_text_input_client.h +@@ -67,7 +67,7 @@ class DummyTextInputClient : public TextInputClient { + 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/devel/electron33/files/patch-ui_base_ime_fake__text__input__client.cc b/devel/electron33/files/patch-ui_base_ime_fake__text__input__client.cc new file mode 100644 index 000000000000..67134ad51504 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ime_fake__text__input__client.cc @@ -0,0 +1,11 @@ +--- ui/base/ime/fake_text_input_client.cc.orig 2024-10-16 21:32:39 UTC ++++ ui/base/ime/fake_text_input_client.cc +@@ -215,7 +215,7 @@ bool FakeTextInputClient::ShouldDoLearning() { + return 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 FakeTextInputClient::SetCompositionFromExistingText( + const gfx::Range& range, + const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) { diff --git a/devel/electron33/files/patch-ui_base_ime_fake__text__input__client.h b/devel/electron33/files/patch-ui_base_ime_fake__text__input__client.h new file mode 100644 index 000000000000..f813494f5619 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ime_fake__text__input__client.h @@ -0,0 +1,11 @@ +--- ui/base/ime/fake_text_input_client.h.orig 2024-10-16 21:32:39 UTC ++++ ui/base/ime/fake_text_input_client.h +@@ -101,7 +101,7 @@ class FakeTextInputClient : public TextInputClient { + void SetTextEditCommandForNextKeyEvent(TextEditCommand command) override; + 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/devel/electron33/files/patch-ui_base_ime_init_input__method__initializer.cc b/devel/electron33/files/patch-ui_base_ime_init_input__method__initializer.cc new file mode 100644 index 000000000000..38d390fb775c --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ime_init_input__method__initializer.cc @@ -0,0 +1,29 @@ +--- ui/base/ime/init/input_method_initializer.cc.orig 2024-06-01 07:22:39 UTC ++++ ui/base/ime/init/input_method_initializer.cc +@@ -10,7 +10,7 @@ + #include "build/chromeos_buildflags.h" + + #if !BUILDFLAG(IS_CHROMEOS_ASH) && defined(USE_AURA) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + #include "ui/base/ime/linux/fake_input_method_context.h" + #include "ui/base/ime/linux/linux_input_method_context_factory.h" + #elif BUILDFLAG(IS_WIN) +@@ -33,7 +33,7 @@ void InitializeInputMethodForTesting() { + } + + void InitializeInputMethodForTesting() { +-#if defined(USE_AURA) && BUILDFLAG(IS_LINUX) ++#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + GetInputMethodContextFactoryForTest() = + base::BindRepeating([](LinuxInputMethodContextDelegate* delegate) + -> std::unique_ptr<LinuxInputMethodContext> { +@@ -46,7 +46,7 @@ void ShutdownInputMethodForTesting() { + + void ShutdownInputMethodForTesting() { + #if !BUILDFLAG(IS_CHROMEOS_ASH) && defined(USE_AURA) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD)) + // The function owns the factory (as a static variable that's returned by + // reference), so setting this to an empty factory will free the old one. + GetInputMethodContextFactoryForTest() = LinuxInputMethodContextFactory(); diff --git a/devel/electron33/files/patch-ui_base_ime_linux_linux__input__method__context__factory.cc b/devel/electron33/files/patch-ui_base_ime_linux_linux__input__method__context__factory.cc new file mode 100644 index 000000000000..1c1f6204ed93 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ime_linux_linux__input__method__context__factory.cc @@ -0,0 +1,20 @@ +--- ui/base/ime/linux/linux_input_method_context_factory.cc.orig 2022-09-27 14:30:33 UTC ++++ ui/base/ime/linux/linux_input_method_context_factory.cc +@@ -9,7 +9,7 @@ + #include "build/build_config.h" + #include "ui/base/ime/linux/fake_input_method_context.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #include "ui/linux/linux_ui_delegate.h" + #endif +@@ -32,7 +32,7 @@ std::unique_ptr<LinuxInputMethodContext> CreateLinuxIn + if (auto factory = GetInputMethodContextFactoryForTest()) + return factory.Run(delegate); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Give the toolkit a chance to create the context. + if (auto* linux_ui = LinuxUi::instance()) { + if (auto context = linux_ui->CreateInputMethodContext(delegate)) diff --git a/devel/electron33/files/patch-ui_base_ime_text__input__client.h b/devel/electron33/files/patch-ui_base_ime_text__input__client.h new file mode 100644 index 000000000000..7a8cdd4f4b25 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ime_text__input__client.h @@ -0,0 +1,11 @@ +--- ui/base/ime/text_input_client.h.orig 2024-10-16 21:32:39 UTC ++++ ui/base/ime/text_input_client.h +@@ -268,7 +268,7 @@ class COMPONENT_EXPORT(UI_BASE_IME) TextInputClient { + // fields that are considered 'private' (e.g. in incognito tabs). + virtual bool ShouldDoLearning() = 0; + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Start composition over a given UTF-16 code range from existing text. This + // should only be used for composition scenario when IME wants to start + // composition on existing text. Returns whether the operation was successful. diff --git a/devel/electron33/files/patch-ui_base_resource_resource__bundle.cc b/devel/electron33/files/patch-ui_base_resource_resource__bundle.cc new file mode 100644 index 000000000000..1aa73b5f616e --- /dev/null +++ b/devel/electron33/files/patch-ui_base_resource_resource__bundle.cc @@ -0,0 +1,11 @@ +--- ui/base/resource/resource_bundle.cc.orig 2024-10-16 21:32:39 UTC ++++ ui/base/resource/resource_bundle.cc +@@ -914,7 +914,7 @@ ResourceScaleFactor ResourceBundle::GetMaxResourceScal + } + + ResourceScaleFactor ResourceBundle::GetMaxResourceScaleFactor() const { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return max_scale_factor_; + #else + return GetMaxSupportedResourceScaleFactor(); diff --git a/devel/electron33/files/patch-ui_base_test_skia__gold__pixel__diff.cc b/devel/electron33/files/patch-ui_base_test_skia__gold__pixel__diff.cc new file mode 100644 index 000000000000..a09bc16436d7 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_test_skia__gold__pixel__diff.cc @@ -0,0 +1,11 @@ +--- ui/base/test/skia_gold_pixel_diff.cc.orig 2024-06-18 21:44:02 UTC ++++ ui/base/test/skia_gold_pixel_diff.cc +@@ -115,7 +115,7 @@ const char* GetPlatformName() { + return "macOS"; + // TODO(crbug.com/40118868): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return "linux"; + #elif BUILDFLAG(IS_CHROMEOS_LACROS) + return "lacros"; diff --git a/devel/electron33/files/patch-ui_base_test_ui__controls.h b/devel/electron33/files/patch-ui_base_test_ui__controls.h new file mode 100644 index 000000000000..e86e09e0278b --- /dev/null +++ b/devel/electron33/files/patch-ui_base_test_ui__controls.h @@ -0,0 +1,11 @@ +--- ui/base/test/ui_controls.h.orig 2024-04-15 20:34:29 UTC ++++ ui/base/test/ui_controls.h +@@ -186,7 +186,7 @@ bool SendTouchEventsNotifyWhenDone(int action, + base::OnceClosure task); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Forces the platform implementation to use screen coordinates, even if they're + // not really available, the next time that ui_controls::SendMouseMove() or + // ui_controls::SendMouseMoveNotifyWhenDone() is called, or some other method diff --git a/devel/electron33/files/patch-ui_base_ui__base__features.cc b/devel/electron33/files/patch-ui_base_ui__base__features.cc new file mode 100644 index 000000000000..e6643fd8bb01 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ui__base__features.cc @@ -0,0 +1,29 @@ +--- ui/base/ui_base_features.cc.orig 2024-10-16 21:32:39 UTC ++++ ui/base/ui_base_features.cc +@@ -162,7 +162,7 @@ BASE_FEATURE(kWaylandTextInputV3, + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_OZONE) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // If this feature is enabled, users not specify --ozone-platform-hint switch + // will get --ozone-platform-hint=auto treatment. https://crbug.com/40250220. + COMPONENT_EXPORT(UI_BASE_FEATURES) +@@ -264,7 +264,7 @@ BASE_FEATURE(kExperimentalFlingAnimation, + "ExperimentalFlingAnimation", + // TODO(crbug.com/40118868): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if BUILDFLAG(IS_WIN) || \ ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ + !BUILDFLAG(IS_CHROMEOS_LACROS)) + base::FEATURE_ENABLED_BY_DEFAULT +@@ -366,7 +366,7 @@ BASE_FEATURE(kEyeDropper, + BASE_FEATURE(kEyeDropper, + "EyeDropper", + #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/devel/electron33/files/patch-ui_base_ui__base__features.h b/devel/electron33/files/patch-ui_base_ui__base__features.h new file mode 100644 index 000000000000..c6edb578acc0 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ui__base__features.h @@ -0,0 +1,11 @@ +--- ui/base/ui_base_features.h.orig 2024-10-16 21:32:39 UTC ++++ ui/base/ui_base_features.h +@@ -141,7 +141,7 @@ BASE_DECLARE_FEATURE(kWaylandTextInputV3); + BASE_DECLARE_FEATURE(kWaylandTextInputV3); + #endif // BUILDFLAG(IS_OZONE) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(UI_BASE_FEATURES) + BASE_DECLARE_FEATURE(kOverrideDefaultOzonePlatformHintToAuto); + #endif // BUILDFLAG(IS_LINUX) diff --git a/devel/electron33/files/patch-ui_base_ui__base__switches.cc b/devel/electron33/files/patch-ui_base_ui__base__switches.cc new file mode 100644 index 000000000000..094a939d6f66 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ui__base__switches.cc @@ -0,0 +1,18 @@ +--- ui/base/ui_base_switches.cc.orig 2024-08-14 20:56:04 UTC ++++ ui/base/ui_base_switches.cc +@@ -31,13 +31,13 @@ const char kEnableResourcesFileSharing[] = "enable-res + const char kEnableResourcesFileSharing[] = "enable-resources-file-sharing"; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Specifies system font family name. Improves determenism when rendering + // pages in headless mode. + const char kSystemFontFamily[] = "system-font-family"; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Specify the toolkit used to construct the Linux GUI. + const char kUiToolkitFlag[] = "ui-toolkit"; + // Disables GTK IME integration. diff --git a/devel/electron33/files/patch-ui_base_ui__base__switches.h b/devel/electron33/files/patch-ui_base_ui__base__switches.h new file mode 100644 index 000000000000..1fa64f51ee4b --- /dev/null +++ b/devel/electron33/files/patch-ui_base_ui__base__switches.h @@ -0,0 +1,16 @@ +--- ui/base/ui_base_switches.h.orig 2024-08-14 20:56:04 UTC ++++ ui/base/ui_base_switches.h +@@ -27,11 +27,11 @@ COMPONENT_EXPORT(UI_BASE) extern const char kEnableRes + COMPONENT_EXPORT(UI_BASE) extern const char kEnableResourcesFileSharing[]; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(UI_BASE) extern const char kSystemFontFamily[]; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + COMPONENT_EXPORT(UI_BASE) extern const char kUiToolkitFlag[]; + COMPONENT_EXPORT(UI_BASE) extern const char kDisableGtkIme[]; + #endif diff --git a/devel/electron33/files/patch-ui_base_webui_web__ui__util.cc b/devel/electron33/files/patch-ui_base_webui_web__ui__util.cc new file mode 100644 index 000000000000..cb46fc6042d5 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_webui_web__ui__util.cc @@ -0,0 +1,20 @@ +--- ui/base/webui/web_ui_util.cc.orig 2024-10-16 21:32:39 UTC ++++ ui/base/webui/web_ui_util.cc +@@ -44,7 +44,7 @@ std::string GetFontFamilyMd() { + constexpr float kMaxScaleFactor = 1000.0f; + + std::string GetFontFamilyMd() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return "Roboto, " + GetFontFamily(); + #else + return GetFontFamily(); +@@ -221,7 +221,7 @@ std::string GetFontFamily() { + + // TODO(crbug.com/40118868): 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 font_name = ui::ResourceBundle::GetSharedInstance() + .GetFont(ui::ResourceBundle::BaseFont) + .GetFontName(); diff --git a/devel/electron33/files/patch-ui_base_x_x11__cursor__factory.cc b/devel/electron33/files/patch-ui_base_x_x11__cursor__factory.cc new file mode 100644 index 000000000000..d6e46bf73bcf --- /dev/null +++ b/devel/electron33/files/patch-ui_base_x_x11__cursor__factory.cc @@ -0,0 +1,20 @@ +--- ui/base/x/x11_cursor_factory.cc.orig 2023-11-29 21:40:44 UTC ++++ ui/base/x/x11_cursor_factory.cc +@@ -13,7 +13,7 @@ + #include "ui/gfx/geometry/point.h" + #include "ui/gfx/x/connection.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -70,7 +70,7 @@ void X11CursorFactory::ObserveThemeChanges() { + } + + void X11CursorFactory::ObserveThemeChanges() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto* linux_ui = LinuxUi::instance(); + DCHECK(linux_ui); + cursor_theme_observation_.Observe(linux_ui); diff --git a/devel/electron33/files/patch-ui_base_x_x11__cursor__factory.h b/devel/electron33/files/patch-ui_base_x_x11__cursor__factory.h new file mode 100644 index 000000000000..423bdd6d0ae1 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_x_x11__cursor__factory.h @@ -0,0 +1,20 @@ +--- ui/base/x/x11_cursor_factory.h.orig 2023-11-29 21:40:44 UTC ++++ ui/base/x/x11_cursor_factory.h +@@ -20,7 +20,7 @@ class XCursorLoader; + class X11Cursor; + class XCursorLoader; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + class LinuxUi; + #endif + +@@ -62,7 +62,7 @@ class COMPONENT_EXPORT(UI_BASE_X) X11CursorFactory + // initializing `cursor_loader_` will modify `default_cursors_`. + std::unique_ptr<XCursorLoader> cursor_loader_; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::ScopedObservation<LinuxUi, CursorThemeManagerObserver> + cursor_theme_observation_{this}; + #endif diff --git a/devel/electron33/files/patch-ui_base_x_x11__cursor__loader.cc b/devel/electron33/files/patch-ui_base_x_x11__cursor__loader.cc new file mode 100644 index 000000000000..c94c28462705 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_x_x11__cursor__loader.cc @@ -0,0 +1,41 @@ +--- ui/base/x/x11_cursor_loader.cc.orig 2024-08-14 20:56:04 UTC ++++ ui/base/x/x11_cursor_loader.cc +@@ -34,7 +34,7 @@ + #include "ui/gfx/x/connection.h" + #include "ui/gfx/x/xproto.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -59,7 +59,11 @@ std::string CursorPathFromLibXcursor() { + void operator()(void* ptr) const { dlclose(ptr); } + }; + ++#if BUILDFLAG(IS_BSD) ++ std::unique_ptr<void, DlCloser> lib(dlopen("libXcursor.so", RTLD_LAZY)); ++#else + std::unique_ptr<void, DlCloser> lib(dlopen("libXcursor.so.1", RTLD_LAZY)); ++#endif + if (!lib) + return ""; + +@@ -170,7 +174,7 @@ scoped_refptr<base::RefCountedMemory> ReadCursorFile( + const std::string& rm_xcursor_theme) { + constexpr const char kDefaultTheme[] = "default"; + std::string themes[] = { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // The toolkit theme has the highest priority. + LinuxUi::instance() ? LinuxUi::instance()->GetCursorThemeName() + : std::string(), +@@ -359,7 +363,7 @@ uint32_t XCursorLoader::GetPreferredCursorSize() const + return size; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Let the toolkit have the next say. + auto* linux_ui = LinuxUi::instance(); + size = linux_ui ? linux_ui->GetCursorThemeSize() : 0; diff --git a/devel/electron33/files/patch-ui_base_x_x11__display__manager.cc b/devel/electron33/files/patch-ui_base_x_x11__display__manager.cc new file mode 100644 index 000000000000..0f2489516680 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_x_x11__display__manager.cc @@ -0,0 +1,20 @@ +--- ui/base/x/x11_display_manager.cc.orig 2024-04-15 20:34:29 UTC ++++ ui/base/x/x11_display_manager.cc +@@ -16,7 +16,7 @@ + #include "ui/gfx/x/randr.h" + #include "ui/gfx/x/xproto.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -92,7 +92,7 @@ void XDisplayManager::FetchDisplayList() { + ? display::Display::GetForcedDeviceScaleFactor() + : 1.0f}; + const auto* display_config = &empty_display_config; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (const auto* linux_ui = ui::LinuxUi::instance()) { + display_config = &linux_ui->display_config(); + } diff --git a/devel/electron33/files/patch-ui_base_x_x11__shm__image__pool.cc b/devel/electron33/files/patch-ui_base_x_x11__shm__image__pool.cc new file mode 100644 index 000000000000..a03691344c11 --- /dev/null +++ b/devel/electron33/files/patch-ui_base_x_x11__shm__image__pool.cc @@ -0,0 +1,71 @@ +--- ui/base/x/x11_shm_image_pool.cc.orig 2024-04-15 20:34:29 UTC ++++ ui/base/x/x11_shm_image_pool.cc +@@ -16,6 +16,7 @@ + #include "base/functional/callback.h" + #include "base/location.h" + #include "base/strings/string_util.h" ++#include "base/system/sys_info.h" + #include "build/build_config.h" + #include "build/chromeos_buildflags.h" + #include "net/base/url_util.h" +@@ -45,10 +46,14 @@ std::size_t MaxShmSegmentSizeImpl() { + 1.0f / (kShmResizeThreshold * kShmResizeThreshold); + + std::size_t MaxShmSegmentSizeImpl() { ++#if BUILDFLAG(IS_BSD) ++ return base::SysInfo::MaxSharedMemorySize(); ++#else + struct shminfo info; + if (shmctl(0, IPC_INFO, reinterpret_cast<struct shmid_ds*>(&info)) == -1) + return 0; + return info.shmmax; ++#endif + } + + std::size_t MaxShmSegmentSize() { +@@ -57,14 +62,19 @@ std::size_t MaxShmSegmentSize() { + } + + #if !BUILDFLAG(IS_CHROMEOS_ASH) ++#if !BUILDFLAG(IS_BSD) + bool IsRemoteHost(const std::string& name) { + if (name.empty()) + return false; + + return !net::HostStringIsLocalhost(name); + } ++#endif + + bool ShouldUseMitShm(x11::Connection* connection) { ++#if BUILDFLAG(IS_BSD) ++ return false; ++#else + // MIT-SHM may be available on remote connetions, but it will be unusable. Do + // a best-effort check to see if the host is remote to disable the SHM + // codepath. It may be possible in contrived cases for there to be a +@@ -93,6 +103,7 @@ bool ShouldUseMitShm(x11::Connection* connection) { + return false; + + return true; ++#endif + } + #endif + +@@ -183,7 +194,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size + shmctl(state.shmid, IPC_RMID, nullptr); + return false; + } +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Linux, a shmid can still be attached after IPC_RMID if otherwise + // kept alive. Detach before XShmAttach to prevent a memory leak in case + // the process dies. +@@ -202,7 +213,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size + return false; + state.shmseg = shmseg; + state.shmem_attached_to_server = true; +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + // The Linux-specific shmctl behavior above may not be portable, so we're + // forced to do IPC_RMID after the server has attached to the segment. + shmctl(state.shmid, IPC_RMID, nullptr); diff --git a/devel/electron33/files/patch-ui_color_color__id.h b/devel/electron33/files/patch-ui_color_color__id.h new file mode 100644 index 000000000000..bd58c578f58b --- /dev/null +++ b/devel/electron33/files/patch-ui_color_color__id.h @@ -0,0 +1,11 @@ +--- ui/color/color_id.h.orig 2024-10-28 21:05:17 UTC ++++ ui/color/color_id.h +@@ -627,7 +627,7 @@ + \ + E_CPONLY(kColorCrosSysPositive) \ + E_CPONLY(kColorCrosSysComplementVariant) +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #define PLATFORM_SPECIFIC_COLOR_IDS \ + E_CPONLY(kColorNativeButtonBorder)\ + E_CPONLY(kColorNativeHeaderButtonBorderActive) \ diff --git a/devel/electron33/files/patch-ui_color_color__provider__utils.cc b/devel/electron33/files/patch-ui_color_color__provider__utils.cc new file mode 100644 index 000000000000..9c4817ad6567 --- /dev/null +++ b/devel/electron33/files/patch-ui_color_color__provider__utils.cc @@ -0,0 +1,11 @@ +--- ui/color/color_provider_utils.cc.orig 2024-08-14 20:56:04 UTC ++++ ui/color/color_provider_utils.cc +@@ -187,7 +187,7 @@ std::string_view SystemThemeName(ui::SystemTheme syste + switch (system_theme) { + case ui::SystemTheme::kDefault: + return "kDefault"; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + case ui::SystemTheme::kGtk: + return "kGtk"; + case ui::SystemTheme::kQt: diff --git a/devel/electron33/files/patch-ui_color_system__theme.h b/devel/electron33/files/patch-ui_color_system__theme.h new file mode 100644 index 000000000000..e251684d8ee6 --- /dev/null +++ b/devel/electron33/files/patch-ui_color_system__theme.h @@ -0,0 +1,11 @@ +--- ui/color/system_theme.h.orig 2022-11-30 08:12:58 UTC ++++ ui/color/system_theme.h +@@ -15,7 +15,7 @@ namespace ui { + enum class SystemTheme { + // Classic theme, used in the default or users' chosen theme. + kDefault = 0, +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + kGtk = 1, + kQt = 2, + kMaxValue = kQt, diff --git a/devel/electron33/files/patch-ui_compositor_compositor.cc b/devel/electron33/files/patch-ui_compositor_compositor.cc new file mode 100644 index 000000000000..7374b89345cb --- /dev/null +++ b/devel/electron33/files/patch-ui_compositor_compositor.cc @@ -0,0 +1,11 @@ +--- ui/compositor/compositor.cc.orig 2024-10-28 21:05:17 UTC ++++ ui/compositor/compositor.cc +@@ -928,7 +928,7 @@ void Compositor::OnResume() { + obs.ResetIfActive(); + } + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + void Compositor::OnCompleteSwapWithNewSize(const gfx::Size& size) { + for (auto& observer : observer_list_) + observer.OnCompositingCompleteSwapWithNewSize(this, size); diff --git a/devel/electron33/files/patch-ui_compositor_compositor.h b/devel/electron33/files/patch-ui_compositor_compositor.h new file mode 100644 index 000000000000..cbc9b2ef2e89 --- /dev/null +++ b/devel/electron33/files/patch-ui_compositor_compositor.h @@ -0,0 +1,11 @@ +--- ui/compositor/compositor.h.orig 2024-10-28 21:05:17 UTC ++++ ui/compositor/compositor.h +@@ -471,7 +471,7 @@ class COMPOSITOR_EXPORT Compositor : public base::Powe + // base::PowerSuspendObserver: + void OnResume() override; + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + void OnCompleteSwapWithNewSize(const gfx::Size& size); + #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) + diff --git a/devel/electron33/files/patch-ui_compositor_compositor__observer.h b/devel/electron33/files/patch-ui_compositor_compositor__observer.h new file mode 100644 index 000000000000..9ddcea2f2d0a --- /dev/null +++ b/devel/electron33/files/patch-ui_compositor_compositor__observer.h @@ -0,0 +1,11 @@ +--- ui/compositor/compositor_observer.h.orig 2024-06-18 21:44:02 UTC ++++ ui/compositor/compositor_observer.h +@@ -52,7 +52,7 @@ class COMPOSITOR_EXPORT CompositorObserver { + // Called when a child of the compositor is resizing. + virtual void OnCompositingChildResizing(Compositor* compositor) {} + +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(IS_OZONE_X11) + // Called when a swap with new size is completed. + virtual void OnCompositingCompleteSwapWithNewSize(ui::Compositor* compositor, + const gfx::Size& size) {} diff --git a/devel/electron33/files/patch-ui_display_screen.cc b/devel/electron33/files/patch-ui_display_screen.cc new file mode 100644 index 000000000000..07760900c60e --- /dev/null +++ b/devel/electron33/files/patch-ui_display_screen.cc @@ -0,0 +1,11 @@ +--- ui/display/screen.cc.orig 2024-08-14 20:56:04 UTC ++++ ui/display/screen.cc +@@ -86,7 +86,7 @@ void Screen::SetDisplayForNewWindows(int64_t display_i + display_id_for_new_windows_ = display_id; + } + +-#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + Screen::ScreenSaverSuspender::~ScreenSaverSuspender() = default; + + std::unique_ptr<Screen::ScreenSaverSuspender> Screen::SuspendScreenSaver() { diff --git a/devel/electron33/files/patch-ui_display_screen.h b/devel/electron33/files/patch-ui_display_screen.h new file mode 100644 index 000000000000..3197358465fb --- /dev/null +++ b/devel/electron33/files/patch-ui_display_screen.h @@ -0,0 +1,20 @@ +--- ui/display/screen.h.orig 2024-08-14 20:56:04 UTC ++++ ui/display/screen.h +@@ -140,7 +140,7 @@ class DISPLAY_EXPORT Screen { + // (both of which may or may not be `nearest_id`). + display::ScreenInfos GetScreenInfosNearestDisplay(int64_t nearest_id) const; + +-#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Object which suspends the platform-specific screensaver for the duration of + // its existence. + class ScreenSaverSuspender { +@@ -248,7 +248,7 @@ class DISPLAY_EXPORT Screen { + int64_t display_id_for_new_windows_; + int64_t scoped_display_id_for_new_windows_ = display::kInvalidDisplayId; + +-#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + uint32_t screen_saver_suspension_count_ = 0; + #endif // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_LINUX) + }; diff --git a/devel/electron33/files/patch-ui_events_devices_x11_device__data__manager__x11.cc b/devel/electron33/files/patch-ui_events_devices_x11_device__data__manager__x11.cc new file mode 100644 index 000000000000..fbf0d85f82ca --- /dev/null +++ b/devel/electron33/files/patch-ui_events_devices_x11_device__data__manager__x11.cc @@ -0,0 +1,10 @@ +--- ui/events/devices/x11/device_data_manager_x11.cc.orig 2024-10-16 21:32:39 UTC ++++ ui/events/devices/x11/device_data_manager_x11.cc +@@ -849,6 +849,7 @@ void DeviceDataManagerX11::DisableDevice(x11::Input::D + } + + void DeviceDataManagerX11::DisableDevice(x11::Input::DeviceId deviceid) { ++ NOTIMPLEMENTED(); + blocked_devices_.set(static_cast<uint32_t>(deviceid), true); + // TODO(rsadam@): Support blocking touchscreen devices. + std::vector<KeyboardDevice> keyboards = GetKeyboardDevices(); diff --git a/devel/electron33/files/patch-ui_events_event.cc b/devel/electron33/files/patch-ui_events_event.cc new file mode 100644 index 000000000000..86622032b940 --- /dev/null +++ b/devel/electron33/files/patch-ui_events_event.cc @@ -0,0 +1,29 @@ +--- ui/events/event.cc.orig 2024-10-16 21:32:39 UTC ++++ ui/events/event.cc +@@ -366,7 +366,7 @@ MouseEvent::MouseEvent(const PlatformEvent& native_eve + MouseEvent::MouseEvent(const PlatformEvent& native_event) + : LocatedEvent(native_event), + changed_button_flags_(GetChangedMouseButtonFlagsFromNative(native_event)), +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + movement_(GetMouseMovementFromNative(native_event)), + #endif + pointer_details_(GetMousePointerDetailsFromNative(native_event)) { +@@ -622,7 +622,7 @@ std::unique_ptr<Event> MouseWheelEvent::Clone() const + return std::make_unique<MouseWheelEvent>(*this); + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // This value matches Windows, Fuchsia WHEEL_DELTA, and (roughly) Firefox on + // Linux. + // static +@@ -882,7 +882,7 @@ void KeyEvent::InitializeNative() { + if (synthesize_key_repeat_enabled_ && IsRepeated(GetLastKeyEvent())) + SetFlags(flags() | EF_IS_REPEAT); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + NormalizeFlags(); + #elif BUILDFLAG(IS_WIN) + // Only Windows has native character events. diff --git a/devel/electron33/files/patch-ui_events_event__switches.cc b/devel/electron33/files/patch-ui_events_event__switches.cc new file mode 100644 index 000000000000..b7a29bd7d5b7 --- /dev/null +++ b/devel/electron33/files/patch-ui_events_event__switches.cc @@ -0,0 +1,11 @@ +--- ui/events/event_switches.cc.orig 2022-06-17 14:20:10 UTC ++++ ui/events/event_switches.cc +@@ -21,7 +21,7 @@ const char kCompensateForUnstablePinchZoom[] = + // value is a floating point number that is interpreted as a distance in pixels. + const char kTouchSlopDistance[] = "touch-slop-distance"; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Tells chrome to interpret events from these devices as touch events. Only + // available with XInput 2 (i.e. X server 1.8 or above). The id's of the + // devices can be retrieved from 'xinput list'. diff --git a/devel/electron33/files/patch-ui_events_event__switches.h b/devel/electron33/files/patch-ui_events_event__switches.h new file mode 100644 index 000000000000..a805749948af --- /dev/null +++ b/devel/electron33/files/patch-ui_events_event__switches.h @@ -0,0 +1,11 @@ +--- ui/events/event_switches.h.orig 2022-06-17 14:20:10 UTC ++++ ui/events/event_switches.h +@@ -13,7 +13,7 @@ namespace switches { + EVENTS_BASE_EXPORT extern const char kCompensateForUnstablePinchZoom[]; + EVENTS_BASE_EXPORT extern const char kTouchSlopDistance[]; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + EVENTS_BASE_EXPORT extern const char kTouchDevices[]; + EVENTS_BASE_EXPORT extern const char kPenDevices[]; + #endif diff --git a/devel/electron33/files/patch-ui_events_keycodes_dom_keycode__converter.cc b/devel/electron33/files/patch-ui_events_keycodes_dom_keycode__converter.cc new file mode 100644 index 000000000000..e98563fb84a8 --- /dev/null +++ b/devel/electron33/files/patch-ui_events_keycodes_dom_keycode__converter.cc @@ -0,0 +1,38 @@ +--- ui/events/keycodes/dom/keycode_converter.cc.orig 2024-10-16 21:32:39 UTC ++++ ui/events/keycodes/dom/keycode_converter.cc +@@ -18,7 +18,7 @@ + #include "ui/events/keycodes/dom/dom_code.h" + #include "ui/events/keycodes/dom/dom_key.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FREEBSD) + #include <linux/input.h> + #endif + +@@ -31,7 +31,7 @@ namespace { + #if BUILDFLAG(IS_WIN) + #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \ + { usb, win, code } +-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \ + { usb, xkb, code } + #elif BUILDFLAG(IS_APPLE) +@@ -70,7 +70,7 @@ struct DomKeyMapEntry { + #undef DOM_KEY_UNI + #undef DOM_KEY_MAP_DECLARATION_END + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FREEBSD) + + // The offset between XKB Keycode and evdev code. + constexpr int kXkbKeycodeOffset = 8; +@@ -191,7 +191,7 @@ int KeycodeConverter::DomCodeToNativeKeycode(DomCode c + return UsbKeycodeToNativeKeycode(static_cast<uint32_t>(code)); + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FREEBSD) + // static + DomCode KeycodeConverter::XkbKeycodeToDomCode(uint32_t xkb_keycode) { + // Currently XKB keycode is the native keycode. diff --git a/devel/electron33/files/patch-ui_events_keycodes_dom_keycode__converter.h b/devel/electron33/files/patch-ui_events_keycodes_dom_keycode__converter.h new file mode 100644 index 000000000000..e778a43fb53e --- /dev/null +++ b/devel/electron33/files/patch-ui_events_keycodes_dom_keycode__converter.h @@ -0,0 +1,11 @@ +--- ui/events/keycodes/dom/keycode_converter.h.orig 2024-06-18 21:44:02 UTC ++++ ui/events/keycodes/dom/keycode_converter.h +@@ -64,7 +64,7 @@ class KeycodeConverter { + // Convert a DomCode into a native keycode. + static int DomCodeToNativeKeycode(DomCode code); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FREEBSD) + // Convert a XKB keycode into a DomCode. + static DomCode XkbKeycodeToDomCode(uint32_t xkb_keycode); + diff --git a/devel/electron33/files/patch-ui_gfx_BUILD.gn b/devel/electron33/files/patch-ui_gfx_BUILD.gn new file mode 100644 index 000000000000..c24773784fce --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_BUILD.gn @@ -0,0 +1,11 @@ +--- ui/gfx/BUILD.gn.orig 2024-08-30 11:29:36 UTC ++++ ui/gfx/BUILD.gn +@@ -665,7 +665,7 @@ source_set("memory_buffer_sources") { + deps += [ "//build/config/linux/libdrm" ] + } + +- if (is_linux || is_chromeos || is_android) { ++ if ((is_linux || is_chromeos || is_android) && !is_bsd) { + deps += [ "//third_party/libsync" ] + } + diff --git a/devel/electron33/files/patch-ui_gfx_canvas__skia.cc b/devel/electron33/files/patch-ui_gfx_canvas__skia.cc new file mode 100644 index 000000000000..08f7bc42fad9 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_canvas__skia.cc @@ -0,0 +1,11 @@ +--- ui/gfx/canvas_skia.cc.orig 2024-02-21 00:21:15 UTC ++++ ui/gfx/canvas_skia.cc +@@ -213,7 +213,7 @@ void Canvas::DrawStringRectWithFlags(const std::u16str + Range range = StripAcceleratorChars(flags, &adjusted_text); + bool elide_text = ((flags & NO_ELLIPSIS) == 0); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Linux, eliding really means fading the end of the string. But only + // for LTR text. RTL text is still elided (on the left) with "...". + if (elide_text) { diff --git a/devel/electron33/files/patch-ui_gfx_font__fallback__linux.cc b/devel/electron33/files/patch-ui_gfx_font__fallback__linux.cc new file mode 100644 index 000000000000..e90e1d51263d --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_font__fallback__linux.cc @@ -0,0 +1,11 @@ +--- ui/gfx/font_fallback_linux.cc.orig 2024-10-16 21:32:39 UTC ++++ ui/gfx/font_fallback_linux.cc +@@ -32,6 +32,8 @@ + #include "ui/gfx/linux/fontconfig_util.h" + #include "ui/gfx/platform_font.h" + ++#include <unistd.h> ++ + namespace gfx { + + namespace { diff --git a/devel/electron33/files/patch-ui_gfx_font__render__params.h b/devel/electron33/files/patch-ui_gfx_font__render__params.h new file mode 100644 index 000000000000..90e059e8716d --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_font__render__params.h @@ -0,0 +1,20 @@ +--- ui/gfx/font_render_params.h.orig 2024-04-15 20:34:30 UTC ++++ ui/gfx/font_render_params.h +@@ -115,7 +115,7 @@ GFX_EXPORT FontRenderParams GetFontRenderParams( + const FontRenderParamsQuery& query, + std::string* family_out); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + // Clears GetFontRenderParams()'s cache. Intended to be called by tests that are + // changing Fontconfig's configuration. + GFX_EXPORT void ClearFontRenderParamsCacheForTest(); +@@ -125,7 +125,7 @@ GFX_EXPORT float GetFontRenderParamsDeviceScaleFactor( + GFX_EXPORT float GetFontRenderParamsDeviceScaleFactor(); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + // Sets the device scale factor for FontRenderParams to decide + // if it should enable subpixel positioning. + GFX_EXPORT void SetFontRenderParamsDeviceScaleFactor( diff --git a/devel/electron33/files/patch-ui_gfx_font__render__params__linux.cc b/devel/electron33/files/patch-ui_gfx_font__render__params__linux.cc new file mode 100644 index 000000000000..5890f917fdbc --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_font__render__params__linux.cc @@ -0,0 +1,20 @@ +--- ui/gfx/font_render_params_linux.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/gfx/font_render_params_linux.cc +@@ -25,7 +25,7 @@ + #include "ui/gfx/linux/fontconfig_util.h" + #include "ui/gfx/switches.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -212,7 +212,7 @@ FontRenderParams GetFontRenderParams(const FontRenderP + + // Start with the delegate's settings, but let Fontconfig have the final say. + FontRenderParams params; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (auto* linux_ui = ui::LinuxUi::instance()) { + params = linux_ui->GetDefaultFontRenderParams(); + } diff --git a/devel/electron33/files/patch-ui_gfx_font__util.cc b/devel/electron33/files/patch-ui_gfx_font__util.cc new file mode 100644 index 000000000000..aaf2c05fc2ed --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_font__util.cc @@ -0,0 +1,20 @@ +--- ui/gfx/font_util.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/gfx/font_util.cc +@@ -6,7 +6,7 @@ + + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <fontconfig/fontconfig.h> + #include "ui/gfx/linux/fontconfig_util.h" + #endif +@@ -24,7 +24,7 @@ void InitializeFonts() { + // background (resources have not yet been granted to cast) since it prevents + // the long delay the user would have seen on first rendering. + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Early initialize FontConfig. + InitializeGlobalFontConfigAsync(); + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/devel/electron33/files/patch-ui_gfx_gpu__memory__buffer.cc b/devel/electron33/files/patch-ui_gfx_gpu__memory__buffer.cc new file mode 100644 index 000000000000..76a54db56a66 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_gpu__memory__buffer.cc @@ -0,0 +1,11 @@ +--- ui/gfx/gpu_memory_buffer.cc.orig 2024-06-18 21:44:02 UTC ++++ ui/gfx/gpu_memory_buffer.cc +@@ -55,7 +55,7 @@ GpuMemoryBufferHandle GpuMemoryBufferHandle::Clone() c + handle.region = region.Duplicate(); + handle.offset = offset; + handle.stride = stride; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + handle.native_pixmap_handle = CloneHandleForIPC(native_pixmap_handle); + #elif BUILDFLAG(IS_APPLE) + handle.io_surface = io_surface; diff --git a/devel/electron33/files/patch-ui_gfx_gpu__memory__buffer.h b/devel/electron33/files/patch-ui_gfx_gpu__memory__buffer.h new file mode 100644 index 000000000000..96b988f19165 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_gpu__memory__buffer.h @@ -0,0 +1,20 @@ +--- ui/gfx/gpu_memory_buffer.h.orig 2024-04-15 20:34:30 UTC ++++ ui/gfx/gpu_memory_buffer.h +@@ -15,7 +15,7 @@ + #include "ui/gfx/geometry/rect.h" + #include "ui/gfx/gfx_export.h" + +-#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "ui/gfx/native_pixmap_handle.h" + #elif BUILDFLAG(IS_APPLE) + #include "ui/gfx/mac/io_surface.h" +@@ -76,7 +76,7 @@ struct GFX_EXPORT GpuMemoryBufferHandle { + base::UnsafeSharedMemoryRegion region; + uint32_t offset = 0; + uint32_t stride = 0; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + NativePixmapHandle native_pixmap_handle; + #elif BUILDFLAG(IS_APPLE) + ScopedIOSurface io_surface; diff --git a/devel/electron33/files/patch-ui_gfx_linux_dmabuf__uapi.h b/devel/electron33/files/patch-ui_gfx_linux_dmabuf__uapi.h new file mode 100644 index 000000000000..e532335d2914 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_linux_dmabuf__uapi.h @@ -0,0 +1,36 @@ +--- ui/gfx/linux/dmabuf_uapi.h.orig 2023-10-19 19:59:21 UTC ++++ ui/gfx/linux/dmabuf_uapi.h +@@ -5,12 +5,11 @@ + #ifndef UI_GFX_LINUX_DMABUF_UAPI_H_ + #define UI_GFX_LINUX_DMABUF_UAPI_H_ + +-#include <linux/version.h> ++#include <sys/types.h> + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +-#include <linux/dma-buf.h> +-#else +-#include <linux/types.h> ++typedef int32_t __s32; ++typedef uint32_t __u32; ++typedef uint64_t __u64; + + struct dma_buf_sync { + __u64 flags; +@@ -26,9 +25,7 @@ constexpr __u64 DMA_BUF_SYNC_END = 1 << 2; + constexpr char DMA_BUF_BASE = 'b'; + constexpr unsigned long DMA_BUF_IOCTL_SYNC = + _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync); +-#endif + +-#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) + struct dma_buf_export_sync_file { + __u32 flags; + __s32 fd; +@@ -43,6 +40,5 @@ constexpr unsigned long DMA_BUF_IOCTL_EXPORT_SYNC_FILE + _IOWR(DMA_BUF_BASE, 2, struct dma_buf_export_sync_file); + constexpr unsigned long DMA_BUF_IOCTL_IMPORT_SYNC_FILE = + _IOW(DMA_BUF_BASE, 3, struct dma_buf_import_sync_file); +-#endif + + #endif // UI_GFX_LINUX_DMABUF_UAPI_H_ diff --git a/devel/electron33/files/patch-ui_gfx_linux_gbm__wrapper.cc b/devel/electron33/files/patch-ui_gfx_linux_gbm__wrapper.cc new file mode 100644 index 000000000000..63dd658f44fe --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_linux_gbm__wrapper.cc @@ -0,0 +1,11 @@ +--- ui/gfx/linux/gbm_wrapper.cc.orig 2024-10-16 21:32:39 UTC ++++ ui/gfx/linux/gbm_wrapper.cc +@@ -319,7 +319,7 @@ class Device final : public ui::GbmDevice { + // of 1x1 BOs which are destroyed before creating the final BO creation used + // to instantiate the returned GbmBuffer. + gfx::Size size_for_verification = +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + gfx::Size(1, 1); + #else + requested_size; diff --git a/devel/electron33/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc b/devel/electron33/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc new file mode 100644 index 000000000000..358546dbfc32 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc @@ -0,0 +1,20 @@ +--- ui/gfx/mojom/buffer_types_mojom_traits.cc.orig 2023-02-01 18:43:52 UTC ++++ ui/gfx/mojom/buffer_types_mojom_traits.cc +@@ -33,7 +33,7 @@ gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTra + return gfx::mojom::GpuMemoryBufferPlatformHandle::NewSharedMemoryHandle( + std::move(handle.region)); + case gfx::NATIVE_PIXMAP: +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) + return gfx::mojom::GpuMemoryBufferPlatformHandle::NewNativePixmapHandle( + std::move(handle.native_pixmap_handle)); + #else +@@ -115,7 +115,7 @@ bool StructTraits<gfx::mojom::GpuMemoryBufferHandleDat + out->type = gfx::SHARED_MEMORY_BUFFER; + out->region = std::move(platform_handle->get_shared_memory_handle()); + return true; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) + case gfx::mojom::GpuMemoryBufferPlatformHandleDataView::Tag:: + kNativePixmapHandle: + out->type = gfx::NATIVE_PIXMAP; diff --git a/devel/electron33/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc b/devel/electron33/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc new file mode 100644 index 000000000000..727ef6cd5c14 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.cc @@ -0,0 +1,34 @@ +--- ui/gfx/mojom/native_handle_types_mojom_traits.cc.orig 2023-02-01 18:43:52 UTC ++++ ui/gfx/mojom/native_handle_types_mojom_traits.cc +@@ -8,11 +8,11 @@ + + namespace mojo { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) + mojo::PlatformHandle StructTraits< + gfx::mojom::NativePixmapPlaneDataView, + gfx::NativePixmapPlane>::buffer_handle(gfx::NativePixmapPlane& plane) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return mojo::PlatformHandle(std::move(plane.fd)); + #elif BUILDFLAG(IS_FUCHSIA) + return mojo::PlatformHandle(std::move(plane.vmo)); +@@ -28,7 +28,7 @@ bool StructTraits< + out->size = data.size(); + + mojo::PlatformHandle handle = data.TakeBufferHandle(); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (!handle.is_fd()) + return false; + out->fd = handle.TakeFD(); +@@ -54,7 +54,7 @@ bool StructTraits< + gfx::mojom::NativePixmapHandleDataView, + gfx::NativePixmapHandle>::Read(gfx::mojom::NativePixmapHandleDataView data, + gfx::NativePixmapHandle* out) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + out->modifier = data.modifier(); + out->supports_zero_copy_webgpu_import = + data.supports_zero_copy_webgpu_import(); diff --git a/devel/electron33/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h b/devel/electron33/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h new file mode 100644 index 000000000000..357c5863b7bf --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_mojom_native__handle__types__mojom__traits.h @@ -0,0 +1,36 @@ +--- ui/gfx/mojom/native_handle_types_mojom_traits.h.orig 2024-04-15 20:34:30 UTC ++++ ui/gfx/mojom/native_handle_types_mojom_traits.h +@@ -16,7 +16,7 @@ + #include "mojo/public/cpp/system/platform_handle.h" + #include "ui/gfx/mojom/native_handle_types.mojom-shared.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) + #include "ui/gfx/native_pixmap_handle.h" + #endif + +@@ -26,7 +26,7 @@ namespace mojo { + + namespace mojo { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OZONE) || BUILDFLAG(IS_BSD) + template <> + struct COMPONENT_EXPORT(GFX_NATIVE_HANDLE_TYPES_SHARED_MOJOM_TRAITS) + StructTraits<gfx::mojom::NativePixmapPlaneDataView, +@@ -54,13 +54,13 @@ struct COMPONENT_EXPORT(GFX_NATIVE_HANDLE_TYPES_SHARED + return pixmap_handle.planes; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static uint64_t modifier(const gfx::NativePixmapHandle& pixmap_handle) { + return pixmap_handle.modifier; + } + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static bool supports_zero_copy_webgpu_import( + const gfx::NativePixmapHandle& pixmap_handle) { + return pixmap_handle.supports_zero_copy_webgpu_import; diff --git a/devel/electron33/files/patch-ui_gfx_native__pixmap__handle.cc b/devel/electron33/files/patch-ui_gfx_native__pixmap__handle.cc new file mode 100644 index 000000000000..e223aa32f5ad --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_native__pixmap__handle.cc @@ -0,0 +1,62 @@ +--- ui/gfx/native_pixmap_handle.cc.orig 2022-11-30 08:12:58 UTC ++++ ui/gfx/native_pixmap_handle.cc +@@ -11,7 +11,7 @@ + #include "ui/gfx/buffer_format_util.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 <drm_fourcc.h> + #include <unistd.h> + +@@ -23,9 +23,13 @@ + #include "base/fuchsia/fuchsia_logging.h" + #endif + ++#if BUILDFLAG(IS_BSD) ++#include <unistd.h> ++#endif ++ + namespace gfx { + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + static_assert(NativePixmapHandle::kNoModifier == DRM_FORMAT_MOD_INVALID, + "gfx::NativePixmapHandle::kNoModifier should be an alias for" + "DRM_FORMAT_MOD_INVALID"); +@@ -36,7 +40,7 @@ NativePixmapPlane::NativePixmapPlane() : stride(0), of + NativePixmapPlane::NativePixmapPlane(int stride, + int offset, + uint64_t size +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + , + base::ScopedFD fd + #elif BUILDFLAG(IS_FUCHSIA) +@@ -47,7 +51,7 @@ NativePixmapPlane::NativePixmapPlane(int stride, + : stride(stride), + offset(offset), + size(size) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + , + fd(std::move(fd)) + #elif BUILDFLAG(IS_FUCHSIA) +@@ -75,7 +79,7 @@ NativePixmapHandle& NativePixmapHandle::operator=(Nati + NativePixmapHandle CloneHandleForIPC(const NativePixmapHandle& handle) { + NativePixmapHandle clone; + for (auto& plane : handle.planes) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + DCHECK(plane.fd.is_valid()); + // Combining the HANDLE_EINTR and ScopedFD's constructor causes the compiler + // to emit some very strange assembly that tends to cause FD ownership +@@ -113,7 +117,7 @@ NativePixmapHandle CloneHandleForIPC(const NativePixma + #endif + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + clone.modifier = handle.modifier; + clone.supports_zero_copy_webgpu_import = + handle.supports_zero_copy_webgpu_import; diff --git a/devel/electron33/files/patch-ui_gfx_native__pixmap__handle.h b/devel/electron33/files/patch-ui_gfx_native__pixmap__handle.h new file mode 100644 index 000000000000..ac1a9db55c5a --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_native__pixmap__handle.h @@ -0,0 +1,38 @@ +--- ui/gfx/native_pixmap_handle.h.orig 2023-02-01 18:43:52 UTC ++++ ui/gfx/native_pixmap_handle.h +@@ -14,7 +14,7 @@ + #include "ui/gfx/buffer_types.h" + #include "ui/gfx/gfx_export.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "base/files/scoped_file.h" + #endif + +@@ -34,7 +34,7 @@ struct GFX_EXPORT NativePixmapPlane { + NativePixmapPlane(int stride, + int offset, + uint64_t size +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + , + base::ScopedFD fd + #elif BUILDFLAG(IS_FUCHSIA) +@@ -55,7 +55,7 @@ struct GFX_EXPORT NativePixmapPlane { + // This is necessary to map the buffers. + uint64_t size; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // File descriptor for the underlying memory object (usually dmabuf). + base::ScopedFD fd; + #elif BUILDFLAG(IS_FUCHSIA) +@@ -78,7 +78,7 @@ struct GFX_EXPORT NativePixmapHandle { + + std::vector<NativePixmapPlane> planes; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The modifier is retrieved from GBM library and passed to EGL driver. + // Generally it's platform specific, and we don't need to modify it in + // Chromium code. Also one per plane per entry. diff --git a/devel/electron33/files/patch-ui_gfx_native__widget__types.h b/devel/electron33/files/patch-ui_gfx_native__widget__types.h new file mode 100644 index 000000000000..f23d957b4aae --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_native__widget__types.h @@ -0,0 +1,20 @@ +--- ui/gfx/native_widget_types.h.orig 2024-08-14 20:56:05 UTC ++++ ui/gfx/native_widget_types.h +@@ -104,7 +104,7 @@ class SkBitmap; + + // TODO(crbug.com/40118868): 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 "C" { + struct _AtkObject; + using AtkObject = struct _AtkObject; +@@ -219,7 +219,7 @@ using NativeViewAccessible = struct objc_object*; + #endif + // TODO(crbug.com/40118868): 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) + // Linux doesn't have a native font type. + using NativeViewAccessible = AtkObject*; + #else diff --git a/devel/electron33/files/patch-ui_gfx_platform__font__skia.cc b/devel/electron33/files/patch-ui_gfx_platform__font__skia.cc new file mode 100644 index 000000000000..db6e61ee4ba0 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_platform__font__skia.cc @@ -0,0 +1,20 @@ +--- ui/gfx/platform_font_skia.cc.orig 2024-08-14 20:56:05 UTC ++++ ui/gfx/platform_font_skia.cc +@@ -29,7 +29,7 @@ + #include "ui/gfx/system_fonts_win.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -167,7 +167,7 @@ void PlatformFontSkia::EnsuresDefaultFontIsInitialized + weight = system_font.GetWeight(); + #endif // BUILDFLAG(IS_WIN) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // On Linux, LinuxUi is used to query the native toolkit (e.g. + // GTK) for the default UI font. + if (auto* linux_ui = ui::LinuxUi::instance()) { diff --git a/devel/electron33/files/patch-ui_gfx_render__text__api__fuzzer.cc b/devel/electron33/files/patch-ui_gfx_render__text__api__fuzzer.cc new file mode 100644 index 000000000000..ae9ccd8bf707 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_render__text__api__fuzzer.cc @@ -0,0 +1,20 @@ +--- ui/gfx/render_text_api_fuzzer.cc.orig 2022-08-31 12:19:35 UTC ++++ ui/gfx/render_text_api_fuzzer.cc +@@ -20,7 +20,7 @@ + #include "ui/gfx/font_util.h" + #include "ui/gfx/render_text.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "third_party/test_fonts/fontconfig/fontconfig_util_linux.h" + #endif + +@@ -47,7 +47,7 @@ struct Environment { + + CHECK(base::i18n::InitializeICU()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + test_fonts::SetUpFontconfig(); + #endif + gfx::InitializeFonts(); diff --git a/devel/electron33/files/patch-ui_gfx_render__text__fuzzer.cc b/devel/electron33/files/patch-ui_gfx_render__text__fuzzer.cc new file mode 100644 index 000000000000..c1c485c32de0 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_render__text__fuzzer.cc @@ -0,0 +1,20 @@ +--- ui/gfx/render_text_fuzzer.cc.orig 2024-06-18 21:44:02 UTC ++++ ui/gfx/render_text_fuzzer.cc +@@ -17,7 +17,7 @@ + #include "ui/gfx/canvas.h" + #include "ui/gfx/font_util.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "third_party/test_fonts/fontconfig/fontconfig_util_linux.h" + #endif + +@@ -40,7 +40,7 @@ struct Environment { + + CHECK(base::i18n::InitializeICU()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + test_fonts::SetUpFontconfig(); + #endif + gfx::InitializeFonts(); diff --git a/devel/electron33/files/patch-ui_gfx_switches.cc b/devel/electron33/files/patch-ui_gfx_switches.cc new file mode 100644 index 000000000000..8452b810f3b3 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_switches.cc @@ -0,0 +1,11 @@ +--- ui/gfx/switches.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/gfx/switches.cc +@@ -32,7 +32,7 @@ const char kHeadless[] = "headless"; + // Run in headless mode, i.e., without a UI or display server dependencies. + const char kHeadless[] = "headless"; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Which X11 display to connect to. Emulates the GTK+ "--display=" command line + // argument. In use only with Ozone/X11. + const char kX11Display[] = "display"; diff --git a/devel/electron33/files/patch-ui_gfx_switches.h b/devel/electron33/files/patch-ui_gfx_switches.h new file mode 100644 index 000000000000..111f73d3e424 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_switches.h @@ -0,0 +1,11 @@ +--- ui/gfx/switches.h.orig 2024-04-15 20:34:30 UTC ++++ ui/gfx/switches.h +@@ -19,7 +19,7 @@ GFX_SWITCHES_EXPORT extern const char kHeadless[]; + GFX_SWITCHES_EXPORT extern const char kForcePrefersNoReducedMotion[]; + GFX_SWITCHES_EXPORT extern const char kHeadless[]; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + GFX_SWITCHES_EXPORT extern const char kX11Display[]; + GFX_SWITCHES_EXPORT extern const char kNoXshm[]; + #endif diff --git a/devel/electron33/files/patch-ui_gfx_x_generated__protos_dri3.cc b/devel/electron33/files/patch-ui_gfx_x_generated__protos_dri3.cc new file mode 100644 index 000000000000..fc63019c0a74 --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_x_generated__protos_dri3.cc @@ -0,0 +1,11 @@ +--- ui/gfx/x/generated_protos/dri3.cc.orig 2024-02-21 00:21:15 UTC ++++ ui/gfx/x/generated_protos/dri3.cc +@@ -27,6 +27,8 @@ + #include <xcb/xcb.h> + #include <xcb/xcbext.h> + ++#include <unistd.h> ++ + #include "base/logging.h" + #include "base/posix/eintr_wrapper.h" + #include "ui/gfx/x/connection.h" diff --git a/devel/electron33/files/patch-ui_gfx_x_generated__protos_shm.cc b/devel/electron33/files/patch-ui_gfx_x_generated__protos_shm.cc new file mode 100644 index 000000000000..af2ba66ecc2f --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_x_generated__protos_shm.cc @@ -0,0 +1,11 @@ +--- ui/gfx/x/generated_protos/shm.cc.orig 2024-02-21 00:21:15 UTC ++++ ui/gfx/x/generated_protos/shm.cc +@@ -27,6 +27,8 @@ + #include <xcb/xcb.h> + #include <xcb/xcbext.h> + ++#include <unistd.h> ++ + #include "base/logging.h" + #include "base/posix/eintr_wrapper.h" + #include "ui/gfx/x/connection.h" diff --git a/devel/electron33/files/patch-ui_gfx_x_xlib__support.cc b/devel/electron33/files/patch-ui_gfx_x_xlib__support.cc new file mode 100644 index 000000000000..d47da5e2897e --- /dev/null +++ b/devel/electron33/files/patch-ui_gfx_x_xlib__support.cc @@ -0,0 +1,21 @@ +--- ui/gfx/x/xlib_support.cc.orig 2024-02-21 00:21:15 UTC ++++ ui/gfx/x/xlib_support.cc +@@ -39,10 +39,18 @@ void InitXlib() { + return; + } + ++#if BUILDFLAG(IS_BSD) ++ CHECK(xlib_loader->Load("libX11.so")); ++#else + CHECK(xlib_loader->Load("libX11.so.6")); ++#endif + + auto* xlib_xcb_loader = GetXlibXcbLoader(); ++#if BUILDFLAG(IS_BSD) ++ CHECK(xlib_xcb_loader->Load("libX11-xcb.so")); ++#else + CHECK(xlib_xcb_loader->Load("libX11-xcb.so.1")); ++#endif + + CHECK(xlib_loader->XInitThreads()); + diff --git a/devel/electron33/files/patch-ui_gl_BUILD.gn b/devel/electron33/files/patch-ui_gl_BUILD.gn new file mode 100644 index 000000000000..a577344d89b1 --- /dev/null +++ b/devel/electron33/files/patch-ui_gl_BUILD.gn @@ -0,0 +1,26 @@ +--- ui/gl/BUILD.gn.orig 2024-10-16 21:32:39 UTC ++++ ui/gl/BUILD.gn +@@ -168,7 +168,6 @@ component("gl") { + public_deps = [ + ":gl_enums", + "//base", +- "//third_party/mesa_headers", + "//ui/events/platform", + "//ui/gfx", + "//ui/gfx/geometry", +@@ -316,7 +315,6 @@ component("gl") { + data_deps += [ + "//third_party/angle:libEGL", + "//third_party/angle:libGLESv2", +- "//third_party/mesa_headers", + ] + if (enable_swiftshader) { + data_deps += [ +@@ -538,7 +536,6 @@ test("gl_unittests") { + + data_deps = [ + "//testing/buildbot/filters:gl_unittests_filters", +- "//third_party/mesa_headers", + ] + + if (is_win) { diff --git a/devel/electron33/files/patch-ui_gl_gl__context.cc b/devel/electron33/files/patch-ui_gl_gl__context.cc new file mode 100644 index 000000000000..1c7bc971c37d --- /dev/null +++ b/devel/electron33/files/patch-ui_gl_gl__context.cc @@ -0,0 +1,11 @@ +--- ui/gl/gl_context.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/gl/gl_context.cc +@@ -522,7 +522,7 @@ bool GLContext::MakeVirtuallyCurrent( + DCHECK(virtual_context->IsCurrent(surface)); + + if (switched_real_contexts || virtual_context != current_virtual_context_) { +-#if DCHECK_IS_ON() ++#if DCHECK_IS_ON() && !BUILDFLAG(IS_BSD) + GLenum error = glGetError(); + // Accepting a context loss error here enables using debug mode to work on + // context loss handling in virtual context mode. diff --git a/devel/electron33/files/patch-ui_gl_gl__fence.cc b/devel/electron33/files/patch-ui_gl_gl__fence.cc new file mode 100644 index 000000000000..0c335c0ec9fb --- /dev/null +++ b/devel/electron33/files/patch-ui_gl_gl__fence.cc @@ -0,0 +1,11 @@ +--- ui/gl/gl_fence.cc.orig 2024-08-14 20:56:05 UTC ++++ ui/gl/gl_fence.cc +@@ -17,7 +17,7 @@ + #include "ui/gl/gl_surface_egl.h" + #include "ui/gl/gl_version_info.h" + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #define USE_GL_FENCE_ANDROID_NATIVE_FENCE_SYNC + #include "ui/gl/gl_fence_android_native_fence_sync.h" + #endif diff --git a/devel/electron33/files/patch-ui_gl_gl__implementation.cc b/devel/electron33/files/patch-ui_gl_gl__implementation.cc new file mode 100644 index 000000000000..6e300f922048 --- /dev/null +++ b/devel/electron33/files/patch-ui_gl_gl__implementation.cc @@ -0,0 +1,11 @@ +--- ui/gl/gl_implementation.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/gl/gl_implementation.cc +@@ -253,7 +253,7 @@ GetRequestedGLImplementationFromCommandLine( + const base::CommandLine* command_line) { + bool overrideUseSoftwareGL = + command_line->HasSwitch(switches::kOverrideUseSoftwareGLForTests); +-#if BUILDFLAG(IS_LINUX) || \ ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) + if (std::getenv("RUNNING_UNDER_RR")) { + // https://rr-project.org/ is a Linux-only record-and-replay debugger that diff --git a/devel/electron33/files/patch-ui_gl_gl__switches.cc b/devel/electron33/files/patch-ui_gl_gl__switches.cc new file mode 100644 index 000000000000..827a036225c0 --- /dev/null +++ b/devel/electron33/files/patch-ui_gl_gl__switches.cc @@ -0,0 +1,29 @@ +--- ui/gl/gl_switches.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/gl/gl_switches.cc +@@ -11,7 +11,7 @@ + #include "base/android/build_info.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <vulkan/vulkan_core.h> + #include "third_party/angle/src/gpu_info_util/SystemInfo.h" // nogncheck + #endif +@@ -288,7 +288,7 @@ bool IsDefaultANGLEVulkan() { + base::android::SDK_VERSION_Q) + return false; + #endif // BUILDFLAG(IS_ANDROID) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + angle::SystemInfo system_info; + if (!angle::GetSystemInfoVulkan(&system_info)) + return false; +@@ -300,7 +300,7 @@ bool IsDefaultANGLEVulkan() { + + const auto& active_gpu = system_info.gpus[system_info.activeGPUIndex]; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Vulkan 1.1 is required. + if (active_gpu.driverApiVersion < VK_VERSION_1_1) + return false; diff --git a/devel/electron33/files/patch-ui_gl_sync__control__vsync__provider.cc b/devel/electron33/files/patch-ui_gl_sync__control__vsync__provider.cc new file mode 100644 index 000000000000..1f914f38781b --- /dev/null +++ b/devel/electron33/files/patch-ui_gl_sync__control__vsync__provider.cc @@ -0,0 +1,38 @@ +--- ui/gl/sync_control_vsync_provider.cc.orig 2024-08-14 20:56:05 UTC ++++ ui/gl/sync_control_vsync_provider.cc +@@ -11,7 +11,7 @@ + #include "base/trace_event/trace_event.h" + #include "build/build_config.h" + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // These constants define a reasonable range for a calculated refresh interval. + // Calculating refreshes out of this range will be considered a fatal error. + const int64_t kMinVsyncIntervalUs = base::Time::kMicrosecondsPerSecond / 400; +@@ -26,7 +26,7 @@ SyncControlVSyncProvider::SyncControlVSyncProvider() : + namespace gl { + + SyncControlVSyncProvider::SyncControlVSyncProvider() : gfx::VSyncProvider() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On platforms where we can't get an accurate reading on the refresh + // rate we fall back to the assumption that we're displaying 60 frames + // per second. +@@ -48,7 +48,7 @@ bool SyncControlVSyncProvider::GetVSyncParametersIfAva + base::TimeTicks* timebase_out, + base::TimeDelta* interval_out) { + TRACE_EVENT0("gpu", "SyncControlVSyncProvider::GetVSyncParameters"); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The actual clock used for the system time returned by + // eglGetSyncValuesCHROMIUM is unspecified. In practice, the clock used is + // likely to be either CLOCK_REALTIME or CLOCK_MONOTONIC, so we compare the +@@ -160,7 +160,7 @@ bool SyncControlVSyncProvider::SupportGetVSyncParamete + } + + bool SyncControlVSyncProvider::SupportGetVSyncParametersIfAvailable() const { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return true; + #else + return false; diff --git a/devel/electron33/files/patch-ui_gl_sync__control__vsync__provider.h b/devel/electron33/files/patch-ui_gl_sync__control__vsync__provider.h new file mode 100644 index 000000000000..376bf86f0f64 --- /dev/null +++ b/devel/electron33/files/patch-ui_gl_sync__control__vsync__provider.h @@ -0,0 +1,20 @@ +--- ui/gl/sync_control_vsync_provider.h.orig 2022-05-19 14:06:27 UTC ++++ ui/gl/sync_control_vsync_provider.h +@@ -31,7 +31,7 @@ class SyncControlVSyncProvider : public gfx::VSyncProv + bool SupportGetVSyncParametersIfAvailable() const override; + + static constexpr bool IsSupported() { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return true; + #else + return false; +@@ -46,7 +46,7 @@ class SyncControlVSyncProvider : public gfx::VSyncProv + virtual bool GetMscRate(int32_t* numerator, int32_t* denominator) = 0; + + private: +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::TimeTicks last_timebase_; + uint64_t last_media_stream_counter_ = 0; + base::TimeDelta last_good_interval_; diff --git a/devel/electron33/files/patch-ui_gtk_gtk__compat.cc b/devel/electron33/files/patch-ui_gtk_gtk__compat.cc new file mode 100644 index 000000000000..3d8f1d2f6137 --- /dev/null +++ b/devel/electron33/files/patch-ui_gtk_gtk__compat.cc @@ -0,0 +1,53 @@ +--- ui/gtk/gtk_compat.cc.orig 2024-05-18 09:02:32 UTC ++++ ui/gtk/gtk_compat.cc +@@ -62,22 +62,38 @@ void* GetLibGio() { + } + + void* GetLibGio() { ++#if BUILDFLAG(IS_BSD) ++ static void* libgio = DlOpen("libgio-2.0.so"); ++#else + static void* libgio = DlOpen("libgio-2.0.so.0"); ++#endif + return libgio; + } + + void* GetLibGdk3() { ++#if BUILDFLAG(IS_BSD) ++ static void* libgdk3 = DlOpen("libgdk-3.so"); ++#else + static void* libgdk3 = DlOpen("libgdk-3.so.0"); ++#endif + return libgdk3; + } + + void* GetLibGtk3(bool check = true) { ++#if BUILDFLAG(IS_BSD) ++ static void* libgtk3 = DlOpen("libgtk-3.so", check); ++#else + static void* libgtk3 = DlOpen("libgtk-3.so.0", check); ++#endif + return libgtk3; + } + + void* GetLibGtk4(bool check = true) { ++#if BUILDFLAG(IS_BSD) ++ static void* libgtk4 = DlOpen("libgtk-4.so", check); ++#else + static void* libgtk4 = DlOpen("libgtk-4.so.1", check); ++#endif + return libgtk4; + } + +@@ -130,7 +146,11 @@ void* GetLibGdkPixbuf() { + } // namespace + + void* GetLibGdkPixbuf() { ++#if BUILDFLAG(IS_BSD) ++ static void* libgdk_pixbuf = DlOpen("libgdk_pixbuf-2.0.so"); ++#else + static void* libgdk_pixbuf = DlOpen("libgdk_pixbuf-2.0.so.0"); ++#endif + return libgdk_pixbuf; + } + diff --git a/devel/electron33/files/patch-ui_gtk_printing_print__dialog__gtk.cc b/devel/electron33/files/patch-ui_gtk_printing_print__dialog__gtk.cc new file mode 100644 index 000000000000..02fdb564b0ed --- /dev/null +++ b/devel/electron33/files/patch-ui_gtk_printing_print__dialog__gtk.cc @@ -0,0 +1,11 @@ +--- ui/gtk/printing/print_dialog_gtk.cc.orig 2024-10-28 21:05:16 UTC ++++ ui/gtk/printing/print_dialog_gtk.cc +@@ -457,7 +457,7 @@ void PrintDialogGtk::ShowDialog( + GtkPrintCapabilities cap = static_cast<GtkPrintCapabilities>( + GTK_PRINT_CAPABILITY_GENERATE_PDF | GTK_PRINT_CAPABILITY_PAGE_SET | + GTK_PRINT_CAPABILITY_COPIES | GTK_PRINT_CAPABILITY_COLLATE | +- GTK_PRINT_CAPABILITY_REVERSE); ++ GTK_PRINT_CAPABILITY_REVERSE | GTK_PRINT_CAPABILITY_GENERATE_PS); + gtk_print_unix_dialog_set_manual_capabilities( + GTK_PRINT_UNIX_DIALOG(dialog_.get()), cap); + gtk_print_unix_dialog_set_embed_page_setup( diff --git a/devel/electron33/files/patch-ui_message__center_views_message__popup__view.cc b/devel/electron33/files/patch-ui_message__center_views_message__popup__view.cc new file mode 100644 index 000000000000..be7f266ee59d --- /dev/null +++ b/devel/electron33/files/patch-ui_message__center_views_message__popup__view.cc @@ -0,0 +1,11 @@ +--- ui/message_center/views/message_popup_view.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/message_center/views/message_popup_view.cc +@@ -144,7 +144,7 @@ std::unique_ptr<views::Widget> MessagePopupView::Show( + params.z_order = ui::ZOrderLevel::kFloatingWindow; + // TODO(crbug.com/40118868): 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) + // Make the widget explicitly activatable as TYPE_POPUP is not activatable by + // default but we need focus for the inline reply textarea. + params.activatable = views::Widget::InitParams::Activatable::kYes; diff --git a/devel/electron33/files/patch-ui_native__theme_native__theme.h b/devel/electron33/files/patch-ui_native__theme_native__theme.h new file mode 100644 index 000000000000..c2b92f5a9cad --- /dev/null +++ b/devel/electron33/files/patch-ui_native__theme_native__theme.h @@ -0,0 +1,11 @@ +--- ui/native_theme/native_theme.h.orig 2024-10-28 21:05:16 UTC ++++ ui/native_theme/native_theme.h +@@ -64,7 +64,7 @@ class NATIVE_THEME_EXPORT NativeTheme { + kCheckbox, + // TODO(crbug.com/40118868): 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) + kFrameTopArea, + #endif + kInnerSpinButton, diff --git a/devel/electron33/files/patch-ui_native__theme_native__theme__base.cc b/devel/electron33/files/patch-ui_native__theme_native__theme__base.cc new file mode 100644 index 000000000000..efa4e5022a1c --- /dev/null +++ b/devel/electron33/files/patch-ui_native__theme_native__theme__base.cc @@ -0,0 +1,11 @@ +--- ui/native_theme/native_theme_base.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/native_theme/native_theme_base.cc +@@ -241,7 +241,7 @@ void NativeThemeBase::Paint(cc::PaintCanvas* canvas, + break; + // TODO(crbug.com/40118868): 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 kFrameTopArea: + PaintFrameTopArea(canvas, state, rect, + absl::get<FrameTopAreaExtraParams>(extra), diff --git a/devel/electron33/files/patch-ui_native__theme_native__theme__features.cc b/devel/electron33/files/patch-ui_native__theme_native__theme__features.cc new file mode 100644 index 000000000000..95bfa419924a --- /dev/null +++ b/devel/electron33/files/patch-ui_native__theme_native__theme__features.cc @@ -0,0 +1,20 @@ +--- ui/native_theme/native_theme_features.cc.orig 2024-02-21 00:21:15 UTC ++++ ui/native_theme/native_theme_features.cc +@@ -54,7 +54,7 @@ bool IsFluentScrollbarEnabled() { + + bool IsFluentScrollbarEnabled() { + // Fluent scrollbars are only used for some OSes due to UI design guidelines. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled(features::kFluentScrollbar) || + IsFluentOverlayScrollbarEnabled(); + #else +@@ -63,7 +63,7 @@ bool IsFluentOverlayScrollbarEnabled() { + } + bool IsFluentOverlayScrollbarEnabled() { + // Fluent scrollbars are only used for some OSes due to UI design guidelines. +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return base::FeatureList::IsEnabled(features::kFluentOverlayScrollbar); + #else + return false; diff --git a/devel/electron33/files/patch-ui_ozone_common_egl__util.cc b/devel/electron33/files/patch-ui_ozone_common_egl__util.cc new file mode 100644 index 000000000000..d12b1989b22a --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_common_egl__util.cc @@ -0,0 +1,14 @@ +--- ui/ozone/common/egl_util.cc.orig 2022-07-22 17:30:31 UTC ++++ ui/ozone/common/egl_util.cc +@@ -26,9 +26,9 @@ const base::FilePath::CharType kDefaultGlesSoname[] = + FILE_PATH_LITERAL("libGLESv2.so"); + #else // BUILDFLAG(IS_FUCHSIA) + const base::FilePath::CharType kDefaultEglSoname[] = +- FILE_PATH_LITERAL("libEGL.so.1"); ++ FILE_PATH_LITERAL("libEGL.so"); + const base::FilePath::CharType kDefaultGlesSoname[] = +- FILE_PATH_LITERAL("libGLESv2.so.2"); ++ FILE_PATH_LITERAL("libGLESv2.so"); + #endif + const base::FilePath::CharType kAngleEglSoname[] = + FILE_PATH_LITERAL("libEGL.so"); diff --git a/devel/electron33/files/patch-ui_ozone_common_features.cc b/devel/electron33/files/patch-ui_ozone_common_features.cc new file mode 100644 index 000000000000..2d8e6f7e6e69 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_common_features.cc @@ -0,0 +1,20 @@ +--- ui/ozone/common/features.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/common/features.cc +@@ -30,7 +30,7 @@ BASE_FEATURE(kWaylandFractionalScaleV1, + // enabled. + BASE_FEATURE(kWaylandFractionalScaleV1, + "WaylandFractionalScaleV1", +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -42,7 +42,7 @@ BASE_FEATURE(kWaylandXdgToplevelDrag, + // protocol is supported. + BASE_FEATURE(kWaylandXdgToplevelDrag, + "WaylandXdgToplevelDrag", +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/devel/electron33/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc b/devel/electron33/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc new file mode 100644 index 000000000000..cb0098ccd156 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_headless_headless__surface__factory.cc @@ -0,0 +1,20 @@ +--- ui/ozone/platform/headless/headless_surface_factory.cc.orig 2024-08-14 20:56:05 UTC ++++ ui/ozone/platform/headless/headless_surface_factory.cc +@@ -34,7 +34,7 @@ + #include "ui/ozone/platform/headless/headless_window_manager.h" + #include "ui/ozone/public/surface_ozone_canvas.h" + +-#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA)) ++#if BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD)) + #include "ui/ozone/platform/headless/vulkan_implementation_headless.h" + #endif + +@@ -280,7 +280,7 @@ HeadlessSurfaceFactory::CreateVulkanImplementation( + HeadlessSurfaceFactory::CreateVulkanImplementation( + bool use_swiftshader, + bool allow_protected_memory) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) + return std::make_unique<VulkanImplementationHeadless>(use_swiftshader); + #else + return nullptr; diff --git a/devel/electron33/files/patch-ui_ozone_platform_headless_ozone__platform__headless.cc b/devel/electron33/files/patch-ui_ozone_platform_headless_ozone__platform__headless.cc new file mode 100644 index 000000000000..9c0fdcd1e3bb --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_headless_ozone__platform__headless.cc @@ -0,0 +1,11 @@ +--- ui/ozone/platform/headless/ozone_platform_headless.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/ozone/platform/headless/ozone_platform_headless.cc +@@ -103,7 +103,7 @@ class OzonePlatformHeadless : public OzonePlatform { + } + + // Desktop Linux, not CastOS. +-#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CASTOS) + const PlatformProperties& GetPlatformProperties() override { + static base::NoDestructor<OzonePlatform::PlatformProperties> properties; + static bool initialized = false; diff --git a/devel/electron33/files/patch-ui_ozone_platform_headless_vulkan__implementation__headless.cc b/devel/electron33/files/patch-ui_ozone_platform_headless_vulkan__implementation__headless.cc new file mode 100644 index 000000000000..1bdc359cce25 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_headless_vulkan__implementation__headless.cc @@ -0,0 +1,29 @@ +--- ui/ozone/platform/headless/vulkan_implementation_headless.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/ozone/platform/headless/vulkan_implementation_headless.cc +@@ -118,7 +118,7 @@ VulkanImplementationHeadless::GetExternalSemaphoreHand + + VkExternalSemaphoreHandleTypeFlagBits + VulkanImplementationHeadless::GetExternalSemaphoreHandleType() { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT; + #else + return VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT; +@@ -128,7 +128,7 @@ bool VulkanImplementationHeadless::CanImportGpuMemoryB + bool VulkanImplementationHeadless::CanImportGpuMemoryBuffer( + gpu::VulkanDeviceQueue* device_queue, + gfx::GpuMemoryBufferType memory_buffer_type) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const auto& enabled_extensions = device_queue->enabled_extensions(); + return gfx::HasExtension(enabled_extensions, + VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME) && +@@ -151,7 +151,7 @@ VulkanImplementationHeadless::CreateImageFromGpuMemory + VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_SAMPLED_BIT | + VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_TRANSFER_SRC_BIT; + auto tiling = VK_IMAGE_TILING_OPTIMAL; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (gmb_handle.native_pixmap_handle.modifier != + gfx::NativePixmapHandle::kNoModifier) { + tiling = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT; diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_common_wayland__util.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_common_wayland__util.cc new file mode 100644 index 000000000000..a373dfa6f2eb --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_common_wayland__util.cc @@ -0,0 +1,20 @@ +--- ui/ozone/platform/wayland/common/wayland_util.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/common/wayland_util.cc +@@ -347,7 +347,7 @@ base::TimeTicks EventMillisecondsToTimeTicks(uint32_t + } + + base::TimeTicks EventMillisecondsToTimeTicks(uint32_t milliseconds) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/40287874): `milliseconds` comes from Weston that + // uses timestamp from libinput, which is different from TimeTicks. + // Use EventTimeForNow(), for now. +@@ -389,7 +389,7 @@ void RecordConnectionMetrics(wl_display* display) { + } + + void RecordConnectionMetrics(wl_display* display) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + CHECK(display); + + // These values are logged to metrics so must not be changed. diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_emulate_wayland__input__emulate.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_emulate_wayland__input__emulate.cc new file mode 100644 index 000000000000..89e1e8d0224b --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_emulate_wayland__input__emulate.cc @@ -0,0 +1,11 @@ +--- ui/ozone/platform/wayland/emulate/wayland_input_emulate.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/ozone/platform/wayland/emulate/wayland_input_emulate.cc +@@ -284,7 +284,7 @@ void WaylandInputEmulate::EmulateUpdateDisplay(const s + } + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void WaylandInputEmulate::ForceUseScreenCoordinatesOnce() { + force_use_screen_coordinates_once_ = true; + } diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_emulate_wayland__input__emulate.h b/devel/electron33/files/patch-ui_ozone_platform_wayland_emulate_wayland__input__emulate.h new file mode 100644 index 000000000000..5784862d64bd --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_emulate_wayland__input__emulate.h @@ -0,0 +1,11 @@ +--- ui/ozone/platform/wayland/emulate/wayland_input_emulate.h.orig 2024-04-15 20:34:30 UTC ++++ ui/ozone/platform/wayland/emulate/wayland_input_emulate.h +@@ -68,7 +68,7 @@ class WaylandInputEmulate : public wl::WaylandProxy::D + uint32_t request_id); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void ForceUseScreenCoordinatesOnce(); + #endif + diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_gpu_vulkan__implementation__wayland.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_gpu_vulkan__implementation__wayland.cc new file mode 100644 index 000000000000..b238570624d8 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_gpu_vulkan__implementation__wayland.cc @@ -0,0 +1,14 @@ +--- ui/ozone/platform/wayland/gpu/vulkan_implementation_wayland.cc.orig 2022-03-25 21:59:56 UTC ++++ ui/ozone/platform/wayland/gpu/vulkan_implementation_wayland.cc +@@ -38,7 +38,11 @@ bool VulkanImplementationWayland::InitializeVulkanInst + + path = path.Append("libvk_swiftshader.so"); + } else { ++#if BUILDFLAG(IS_BSD) ++ path = base::FilePath("libvulkan.so"); ++#else + path = base::FilePath("libvulkan.so.1"); ++#endif + } + + return vulkan_instance_.Initialize(path, required_extensions, {}); diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__connection.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__connection.cc new file mode 100644 index 000000000000..76f5cfacd3d5 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__connection.cc @@ -0,0 +1,11 @@ +--- ui/ozone/platform/wayland/host/wayland_connection.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/host/wayland_connection.cc +@@ -541,7 +541,7 @@ bool WaylandConnection::ShouldUseOverlayDelegation() c + // isn't present on any non-exo Wayland compositors. + bool should_use_overlay_delegation = + IsWaylandOverlayDelegationEnabled() && !fractional_scale_manager_v1(); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Overlay delegation also requires a single-pixel-buffer protocol, which + // allows creation of non-backed solid color buffers. Even though only video + // overlays can be supported on Linux, these color buffers are still needed diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__input__method__context.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__input__method__context.cc new file mode 100644 index 000000000000..36e827e0dcdb --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__input__method__context.cc @@ -0,0 +1,11 @@ +--- ui/ozone/platform/wayland/host/wayland_input_method_context.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/host/wayland_input_method_context.cc +@@ -60,7 +60,7 @@ constexpr CharacterComposer::PreeditStringMode kPreedi + // Only enable the preedit string for sequence mode (i.e. when using dead keys + // or the Compose key) on Linux ozone/wayland (see b/220370007). + constexpr CharacterComposer::PreeditStringMode kPreeditStringMode = +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + CharacterComposer::PreeditStringMode::kAlwaysEnabled; + #else + CharacterComposer::PreeditStringMode::kHexModeOnly; diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__popup.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__popup.cc new file mode 100644 index 000000000000..fc391901e67f --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__popup.cc @@ -0,0 +1,11 @@ +--- ui/ozone/platform/wayland/host/wayland_popup.cc.orig 2024-06-18 21:44:02 UTC ++++ ui/ozone/platform/wayland/host/wayland_popup.cc +@@ -34,7 +34,7 @@ WaylandPopup::WaylandPopup(PlatformWindowDelegate* del + WaylandWindow* parent) + : WaylandWindow(delegate, connection) { + set_parent_window(parent); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/330384470): Whether the popup appear depends on whether + // anchor point is outside of the parent xdg_surface. On Mutter the popup will + // not show when outside. diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__screen.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__screen.cc new file mode 100644 index 000000000000..7257572dc593 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__screen.cc @@ -0,0 +1,29 @@ +--- ui/ozone/platform/wayland/host/wayland_screen.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/host/wayland_screen.cc +@@ -46,7 +46,7 @@ + #include "ui/ozone/platform/wayland/host/org_gnome_mutter_idle_monitor.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -133,7 +133,7 @@ WaylandScreen::WaylandScreen(WaylandConnection* connec + tablet_state_ = connection_->GetTabletState(); + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (auto* linux_ui = ui::LinuxUi::instance()) { + OnDeviceScaleFactorChanged(); + display_scale_factor_observer_.Observe(linux_ui); +@@ -606,7 +606,7 @@ bool WaylandScreen::VerifyOutputStateConsistentForTest + return true; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void WaylandScreen::OnDeviceScaleFactorChanged() { + if (const auto* linux_ui = ui::LinuxUi::instance()) { + const float new_font_scale = linux_ui->display_config().font_scale; diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__screen.h b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__screen.h new file mode 100644 index 000000000000..9197ce779d12 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__screen.h @@ -0,0 +1,38 @@ +--- ui/ozone/platform/wayland/host/wayland_screen.h.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/host/wayland_screen.h +@@ -24,7 +24,7 @@ + #include "ui/ozone/platform/wayland/host/wayland_output.h" + #include "ui/ozone/public/platform_screen.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "base/scoped_observation.h" + #include "ui/linux/device_scale_factor_observer.h" + #include "ui/linux/linux_ui.h" +@@ -44,7 +44,7 @@ class WaylandScreen : public PlatformScreen + + // A PlatformScreen implementation for Wayland. + class WaylandScreen : public PlatformScreen +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + , + public DeviceScaleFactorObserver + #endif +@@ -96,7 +96,7 @@ class WaylandScreen : public PlatformScreen + display::TabletState GetTabletState() const override; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // DeviceScaleFactorObserver: + void OnDeviceScaleFactorChanged() override; + #endif +@@ -158,7 +158,7 @@ class WaylandScreen : public PlatformScreen + display::TabletState tablet_state_; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + float font_scale_ = 1.0f; + + base::ScopedObservation<ui::LinuxUi, DeviceScaleFactorObserver> diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.cc new file mode 100644 index 000000000000..3469342ddef8 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.cc @@ -0,0 +1,11 @@ +--- ui/ozone/platform/wayland/host/wayland_toplevel_window.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/host/wayland_toplevel_window.cc +@@ -634,7 +634,7 @@ void WaylandToplevelWindow::HandleAuraToplevelConfigur + const bool did_active_change = is_active_ != window_states.is_activated; + is_active_ = window_states.is_activated; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // The tiled state affects the window geometry, so apply it here. + if (window_states.tiled_edges != tiled_state_) { + // This configure changes the decoration insets. We should adjust the diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.h b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.h new file mode 100644 index 000000000000..9be0b02e5b65 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__toplevel__window.h @@ -0,0 +1,11 @@ +--- ui/ozone/platform/wayland/host/wayland_toplevel_window.h.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/host/wayland_toplevel_window.h +@@ -261,7 +261,7 @@ class WaylandToplevelWindow : public WaylandWindow, + // The display ID to switch to in case the state is `kFullscreen`. + int64_t fullscreen_display_id_ = display::kInvalidDisplayId; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Contains the current state of the tiled edges. + WindowTiledEdges tiled_state_; + #endif diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__window.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__window.cc new file mode 100644 index 000000000000..96be05102313 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__window.cc @@ -0,0 +1,44 @@ +--- ui/ozone/platform/wayland/host/wayland_window.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/host/wayland_window.cc +@@ -318,7 +318,7 @@ void WaylandWindow::OnPointerFocusChanged(bool focused + // Whenever the window gets the pointer focus back, the cursor shape must be + // updated. Otherwise, it is invalidated upon wl_pointer::leave and is not + // restored by the Wayland compositor. +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (focused && async_cursor_) { + async_cursor_->AddCursorLoadedCallback(base::BindOnce( + &WaylandWindow::OnCursorLoaded, AsWeakPtr(), async_cursor_)); +@@ -584,7 +584,7 @@ void WaylandWindow::SetCursor(scoped_refptr<PlatformCu + void WaylandWindow::SetCursor(scoped_refptr<PlatformCursor> platform_cursor) { + DCHECK(platform_cursor); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto async_cursor = WaylandAsyncCursor::FromPlatformCursor(platform_cursor); + + if (async_cursor_ == async_cursor) { +@@ -795,7 +795,7 @@ std::string WaylandWindow::WindowStates::ToString() co + } else { + base::TrimString(states, " ", &states); + } +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + states += "; tiled_edges: "; + std::string tiled = ""; + if (tiled_edges.left) { +@@ -1283,12 +1283,12 @@ void WaylandWindow::UpdateCursorShape(scoped_refptr<Bi + cursor->bitmaps(), hotspot_in_dips, + std::ceil(cursor->cursor_image_scale_factor())); + } +-#if !BUILDFLAG(IS_LINUX) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) + cursor_ = cursor; + #endif + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void WaylandWindow::OnCursorLoaded(scoped_refptr<WaylandAsyncCursor> cursor, + scoped_refptr<BitmapCursor> bitmap_cursor) { + if (HasPointerFocus() && async_cursor_ == cursor && bitmap_cursor) { diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__window.h b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__window.h new file mode 100644 index 000000000000..b528591ed34c --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_wayland__window.h @@ -0,0 +1,38 @@ +--- ui/ozone/platform/wayland/host/wayland_window.h.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/host/wayland_window.h +@@ -41,7 +41,7 @@ + #include "ui/platform_window/platform_window_init_properties.h" + #include "ui/platform_window/wm/wm_drag_handler.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/ozone/platform/wayland/host/wayland_async_cursor.h" + #endif + +@@ -285,7 +285,7 @@ class WaylandWindow : public PlatformWindow, + bool is_snapped_secondary = false; + bool is_floated = false; + bool is_pip = false; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + WindowTiledEdges tiled_edges; + #endif + +@@ -569,7 +569,7 @@ class WaylandWindow : public PlatformWindow, + + void UpdateCursorShape(scoped_refptr<BitmapCursor> cursor); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void OnCursorLoaded(scoped_refptr<WaylandAsyncCursor> cursor, + scoped_refptr<BitmapCursor> bitmap_cursor); + #endif +@@ -638,7 +638,7 @@ class WaylandWindow : public PlatformWindow, + + wl::Object<zaura_surface> aura_surface_; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // The current asynchronously loaded cursor (Linux specific). + scoped_refptr<WaylandAsyncCursor> async_cursor_; + #else diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc new file mode 100644 index 000000000000..4c7e2c48a75c --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_xdg__toplevel__wrapper__impl.cc @@ -0,0 +1,11 @@ +--- ui/ozone/platform/wayland/host/xdg_toplevel_wrapper_impl.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/host/xdg_toplevel_wrapper_impl.cc +@@ -322,7 +322,7 @@ void XDGToplevelWrapperImpl::OnToplevelConfigure(void* + window_states.is_activated = + CheckIfWlArrayHasValue(states, XDG_TOPLEVEL_STATE_ACTIVATED); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (xdg_toplevel_get_version(toplevel) >= + XDG_TOPLEVEL_STATE_TILED_LEFT_SINCE_VERSION) { + // All four tiled states have the same since version, so it is enough to diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_host_zwp__text__input__wrapper__v1.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_zwp__text__input__wrapper__v1.cc new file mode 100644 index 000000000000..b1348a7c30c9 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_host_zwp__text__input__wrapper__v1.cc @@ -0,0 +1,21 @@ +--- ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc.orig 2024-08-14 20:56:05 UTC ++++ ui/ozone/platform/wayland/host/zwp_text_input_wrapper_v1.cc +@@ -256,6 +256,10 @@ void ZWPTextInputWrapperV1::SetSurroundingText( + // so if it exceeds 16 bits, it may be broken. + static constexpr size_t kSizeLimit = 60000; + if (HasAdvancedSurroundingTextSupport() && text.length() > kSizeLimit) { ++#if defined(__FreeBSD_version) && __FreeBSD_version < 1300048 ++ PLOG(ERROR) << "memfd is not supported"; ++ return; ++#else + base::ScopedFD memfd(memfd_create("surrounding_text", MFD_CLOEXEC)); + if (!memfd.get()) { + PLOG(ERROR) << "Failed to create memfd"; +@@ -268,6 +272,7 @@ void ZWPTextInputWrapperV1::SetSurroundingText( + zcr_extended_text_input_v1_set_large_surrounding_text( + extended_obj_.get(), memfd.get(), text.length(), + selection_range.start(), selection_range.end()); ++#endif + } else { + zwp_text_input_v1_set_surrounding_text(obj_.get(), text.c_str(), + selection_range.start(), diff --git a/devel/electron33/files/patch-ui_ozone_platform_wayland_ozone__platform__wayland.cc b/devel/electron33/files/patch-ui_ozone_platform_wayland_ozone__platform__wayland.cc new file mode 100644 index 000000000000..0fbd553f4b6d --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_wayland_ozone__platform__wayland.cc @@ -0,0 +1,54 @@ +--- ui/ozone/platform/wayland/ozone_platform_wayland.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/wayland/ozone_platform_wayland.cc +@@ -66,13 +66,13 @@ + #include "ui/events/ozone/layout/stub/stub_keyboard_layout_engine.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/ozone/platform/wayland/host/wayland_cursor_factory.h" + #else + #include "ui/ozone/common/bitmap_cursor_factory.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/ozone/platform/wayland/host/linux_ui_delegate_wayland.h" + #endif + +@@ -267,7 +267,7 @@ class OzonePlatformWayland : public OzonePlatform, + + buffer_manager_connector_ = std::make_unique<WaylandBufferManagerConnector>( + connection_->buffer_manager_host()); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + cursor_factory_ = std::make_unique<WaylandCursorFactory>(connection_.get()); + #else + cursor_factory_ = std::make_unique<BitmapCursorFactory>(); +@@ -277,7 +277,7 @@ class OzonePlatformWayland : public OzonePlatform, + + supported_buffer_formats_ = + connection_->buffer_manager_host()->GetSupportedBufferFormats(); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + linux_ui_delegate_ = + std::make_unique<LinuxUiDelegateWayland>(connection_.get()); + #endif +@@ -343,7 +343,7 @@ class OzonePlatformWayland : public OzonePlatform, + properties->supports_global_screen_coordinates = + kDefaultScreenCoordinateEnabled; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/40800718): Revisit (and maybe remove) once proper + // support, probably backed by org.freedesktop.portal.Screenshot.PickColor + // API is implemented. Note: this is restricted to Linux Desktop as Lacros +@@ -545,7 +545,7 @@ class OzonePlatformWayland : public OzonePlatform, + DrmRenderNodePathFinder path_finder_; + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::unique_ptr<LinuxUiDelegateWayland> linux_ui_delegate_; + #endif + }; diff --git a/devel/electron33/files/patch-ui_ozone_platform_x11_vulkan__implementation__x11.cc b/devel/electron33/files/patch-ui_ozone_platform_x11_vulkan__implementation__x11.cc new file mode 100644 index 000000000000..767d3cd847b8 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_x11_vulkan__implementation__x11.cc @@ -0,0 +1,14 @@ +--- ui/ozone/platform/x11/vulkan_implementation_x11.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/ozone/platform/x11/vulkan_implementation_x11.cc +@@ -59,7 +59,11 @@ bool VulkanImplementationX11::InitializeVulkanInstance + + path = path.Append("libvk_swiftshader.so"); + } else { ++#if BUILDFLAG(IS_BSD) ++ path = base::FilePath("libvulkan.so"); ++#else + path = base::FilePath("libvulkan.so.1"); ++#endif + } + + return vulkan_instance_.Initialize(path, required_extensions, {}); diff --git a/devel/electron33/files/patch-ui_ozone_platform_x11_x11__screen__ozone.cc b/devel/electron33/files/patch-ui_ozone_platform_x11_x11__screen__ozone.cc new file mode 100644 index 000000000000..3c2c35e9f370 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_x11_x11__screen__ozone.cc @@ -0,0 +1,29 @@ +--- ui/ozone/platform/x11/x11_screen_ozone.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/ozone/platform/x11/x11_screen_ozone.cc +@@ -22,7 +22,7 @@ + #include "ui/ozone/platform/x11/x11_window.h" + #include "ui/ozone/platform/x11/x11_window_manager.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -97,7 +97,7 @@ X11ScreenOzone::X11ScreenOzone() + window_manager_(X11WindowManager::GetInstance()), + x11_display_manager_(std::make_unique<XDisplayManager>(this)) { + DCHECK(window_manager_); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (auto* linux_ui = ui::LinuxUi::instance()) { + display_scale_factor_observer_.Observe(linux_ui); + } +@@ -260,7 +260,7 @@ void X11ScreenOzone::OnEvent(const x11::Event& xev) { + x11_display_manager_->OnEvent(xev); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void X11ScreenOzone::OnDeviceScaleFactorChanged() { + x11_display_manager_->DispatchDelayedDisplayListUpdate(); + } diff --git a/devel/electron33/files/patch-ui_ozone_platform_x11_x11__screen__ozone.h b/devel/electron33/files/patch-ui_ozone_platform_x11_x11__screen__ozone.h new file mode 100644 index 000000000000..510446329839 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_x11_x11__screen__ozone.h @@ -0,0 +1,38 @@ +--- ui/ozone/platform/x11/x11_screen_ozone.h.orig 2024-04-15 20:34:30 UTC ++++ ui/ozone/platform/x11/x11_screen_ozone.h +@@ -16,7 +16,7 @@ + #include "ui/gfx/x/event.h" + #include "ui/ozone/public/platform_screen.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/device_scale_factor_observer.h" + #include "ui/linux/linux_ui.h" + #endif +@@ -29,7 +29,7 @@ class X11ScreenOzone : public PlatformScreen, + class X11ScreenOzone : public PlatformScreen, + public x11::EventObserver, + public XDisplayManager::Delegate +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + , + public DeviceScaleFactorObserver + #endif +@@ -97,7 +97,7 @@ class X11ScreenOzone : public PlatformScreen, + // ui::XDisplayManager::Delegate: + void OnXDisplayListUpdated() override; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // DeviceScaleFactorObserver: + void OnDeviceScaleFactorChanged() override; + #endif +@@ -109,7 +109,7 @@ class X11ScreenOzone : public PlatformScreen, + // Indicates that |this| is initialized. + bool initialized_ = false; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + base::ScopedObservation<ui::LinuxUi, DeviceScaleFactorObserver> + display_scale_factor_observer_{this}; + #endif diff --git a/devel/electron33/files/patch-ui_ozone_platform_x11_x11__window.cc b/devel/electron33/files/patch-ui_ozone_platform_x11_x11__window.cc new file mode 100644 index 000000000000..9e2dc88b2008 --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_platform_x11_x11__window.cc @@ -0,0 +1,11 @@ +--- ui/ozone/platform/x11/x11_window.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/ozone/platform/x11/x11_window.cc +@@ -1504,7 +1504,7 @@ void X11Window::OnXWindowStateChanged() { + WindowTiledEdges tiled_state = GetTiledState(); + if (tiled_state != tiled_state_) { + tiled_state_ = tiled_state; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + platform_window_delegate_->OnWindowTiledStateChanged(tiled_state); + UpdateDecorationInsets(); + #endif diff --git a/devel/electron33/files/patch-ui_ozone_test_mock__platform__window__delegate.h b/devel/electron33/files/patch-ui_ozone_test_mock__platform__window__delegate.h new file mode 100644 index 000000000000..7e4efdabf0cf --- /dev/null +++ b/devel/electron33/files/patch-ui_ozone_test_mock__platform__window__delegate.h @@ -0,0 +1,11 @@ +--- ui/ozone/test/mock_platform_window_delegate.h.orig 2024-06-18 21:44:02 UTC ++++ ui/ozone/test/mock_platform_window_delegate.h +@@ -35,7 +35,7 @@ class MockPlatformWindowDelegate : public PlatformWind + MOCK_METHOD2(OnWindowStateChanged, + void(PlatformWindowState old_state, + PlatformWindowState new_state)); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + MOCK_METHOD1(OnWindowTiledStateChanged, + void(WindowTiledEdges new_tiled_edges)); + #endif diff --git a/devel/electron33/files/patch-ui_platform__window_platform__window__delegate.cc b/devel/electron33/files/patch-ui_platform__window_platform__window__delegate.cc new file mode 100644 index 000000000000..6c44f7b052e2 --- /dev/null +++ b/devel/electron33/files/patch-ui_platform__window_platform__window__delegate.cc @@ -0,0 +1,11 @@ +--- ui/platform_window/platform_window_delegate.cc.orig 2024-06-18 21:44:02 UTC ++++ ui/platform_window/platform_window_delegate.cc +@@ -61,7 +61,7 @@ gfx::Insets PlatformWindowDelegate::CalculateInsetsInD + return gfx::Insets(); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void PlatformWindowDelegate::OnWindowTiledStateChanged( + WindowTiledEdges new_tiled_edges) {} + #endif diff --git a/devel/electron33/files/patch-ui_platform__window_platform__window__delegate.h b/devel/electron33/files/patch-ui_platform__window_platform__window__delegate.h new file mode 100644 index 000000000000..bd38d3fc98ba --- /dev/null +++ b/devel/electron33/files/patch-ui_platform__window_platform__window__delegate.h @@ -0,0 +1,11 @@ +--- ui/platform_window/platform_window_delegate.h.orig 2024-08-14 20:56:05 UTC ++++ ui/platform_window/platform_window_delegate.h +@@ -181,7 +181,7 @@ class COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindow + virtual void OnWindowStateChanged(PlatformWindowState old_state, + PlatformWindowState new_state) = 0; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Notifies the delegate that the tiled state of the window edges has changed. + virtual void OnWindowTiledStateChanged(WindowTiledEdges new_tiled_edges); + #endif diff --git a/devel/electron33/files/patch-ui_platform__window_platform__window__init__properties.h b/devel/electron33/files/patch-ui_platform__window_platform__window__init__properties.h new file mode 100644 index 000000000000..97086039cf4f --- /dev/null +++ b/devel/electron33/files/patch-ui_platform__window_platform__window__init__properties.h @@ -0,0 +1,20 @@ +--- ui/platform_window/platform_window_init_properties.h.orig 2024-04-15 20:34:30 UTC ++++ ui/platform_window/platform_window_init_properties.h +@@ -56,7 +56,7 @@ class ScenicWindowDelegate; + class ScenicWindowDelegate; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + class X11ExtensionDelegate; + #endif + +@@ -121,7 +121,7 @@ struct COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindo + + PlatformWindowShadowType shadow_type = PlatformWindowShadowType::kDefault; + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool prefer_dark_theme = false; + raw_ptr<gfx::ImageSkia> icon = nullptr; + std::optional<SkColor> background_color; diff --git a/devel/electron33/files/patch-ui_qt_BUILD.gn b/devel/electron33/files/patch-ui_qt_BUILD.gn new file mode 100644 index 000000000000..dc74da2ddb95 --- /dev/null +++ b/devel/electron33/files/patch-ui_qt_BUILD.gn @@ -0,0 +1,11 @@ +--- ui/qt/BUILD.gn.orig 2024-02-21 00:21:16 UTC ++++ ui/qt/BUILD.gn +@@ -20,7 +20,7 @@ config("qt_internal_config") { + + # It's OK to depend on the system libstdc++ since it's a dependency of QT, so + # it will get loaded into the process anyway. +- libs = [ "stdc++" ] ++ # libs = [ "stdc++" ] + + configs = [ + "//build/config/linux:runtime_library", diff --git a/devel/electron33/files/patch-ui_shell__dialogs_select__file__dialog.h b/devel/electron33/files/patch-ui_shell__dialogs_select__file__dialog.h new file mode 100644 index 000000000000..27d62eff8b2b --- /dev/null +++ b/devel/electron33/files/patch-ui_shell__dialogs_select__file__dialog.h @@ -0,0 +1,11 @@ +--- ui/shell_dialogs/select_file_dialog.h.orig 2024-10-28 21:05:17 UTC ++++ ui/shell_dialogs/select_file_dialog.h +@@ -224,7 +224,7 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog + const GURL* caller = nullptr); + bool HasMultipleFileTypeChoices(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Set the label used for the file select button. + virtual void SetButtonLabel(const std::string& label) = 0; + diff --git a/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__bn.xtb b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__bn.xtb new file mode 100644 index 000000000000..1726e72f6580 --- /dev/null +++ b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__bn.xtb @@ -0,0 +1,11 @@ +--- ui/strings/translations/app_locale_settings_bn.xtb.orig 2022-09-24 10:57:32 UTC ++++ ui/strings/translations/app_locale_settings_bn.xtb +@@ -10,7 +10,7 @@ + <translation id="IDS_WEB_FONT_FAMILY">Vrinda</translation> + <translation id="IDS_WEB_FONT_FAMILY_XP">Vrinda</translation> + </if> +-<if expr="is_linux"> ++<if expr="is_posix"> + <translation id="IDS_WEB_FONT_FAMILY">Lohit Bengali</translation> + </if> + <if expr="is_chromeos"> diff --git a/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__ja.xtb b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__ja.xtb new file mode 100644 index 000000000000..36dfea3003d0 --- /dev/null +++ b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__ja.xtb @@ -0,0 +1,11 @@ +--- ui/strings/translations/app_locale_settings_ja.xtb.orig 2022-09-24 10:57:32 UTC ++++ ui/strings/translations/app_locale_settings_ja.xtb +@@ -12,7 +12,7 @@ + <if expr="is_ios"> + <translation id="IDS_WEB_FONT_FAMILY">Helvetica,Hiragino Kaku Gothic ProN,sans-serif</translation> + </if> +-<if expr="is_linux"> ++<if expr="is_posix"> + <translation id="IDS_WEB_FONT_FAMILY">VL PGothic,Sazanami Gothic,Kochi Gothic,sans-serif</translation> + </if> + <if expr="is_chromeos"> diff --git a/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__ko.xtb b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__ko.xtb new file mode 100644 index 000000000000..48faa3043711 --- /dev/null +++ b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__ko.xtb @@ -0,0 +1,11 @@ +--- ui/strings/translations/app_locale_settings_ko.xtb.orig 2022-09-24 10:57:32 UTC ++++ ui/strings/translations/app_locale_settings_ko.xtb +@@ -12,7 +12,7 @@ + <if expr="is_ios"> + <translation id="IDS_WEB_FONT_FAMILY">Helvetica,Apple SD Gothic Neo,AppleGothic,sans-serif</translation> + </if> +-<if expr="is_linux"> ++<if expr="is_posix"> + <translation id="IDS_WEB_FONT_FAMILY">Noto Sans CJK KR,NanumGothic,UnDotum,Baekmuk Gulim,sans-serif</translation> + </if> + <if expr="is_chromeos"> diff --git a/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__ml.xtb b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__ml.xtb new file mode 100644 index 000000000000..00647e1e4e74 --- /dev/null +++ b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__ml.xtb @@ -0,0 +1,11 @@ +--- ui/strings/translations/app_locale_settings_ml.xtb.orig 2022-09-24 10:57:32 UTC ++++ ui/strings/translations/app_locale_settings_ml.xtb +@@ -9,7 +9,7 @@ + <translation id="IDS_WEB_FONT_FAMILY">'Segoe UI',Arial,AnjaliOldLipi,Rachana,Kartika</translation> + <translation id="IDS_WEB_FONT_FAMILY_XP">Arial,AnjaliOldLipi,Rachana,Kartika</translation> + </if> +-<if expr="is_linux"> ++<if expr="is_posix"> + <translation id="IDS_WEB_FONT_FAMILY">Arial,AnjaliOldLipi,Rachana,Kartika,sans-serif</translation> + </if> + <if expr="is_chromeos"> diff --git a/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__th.xtb b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__th.xtb new file mode 100644 index 000000000000..0aed42526f65 --- /dev/null +++ b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__th.xtb @@ -0,0 +1,11 @@ +--- ui/strings/translations/app_locale_settings_th.xtb.orig 2022-09-24 10:57:32 UTC ++++ ui/strings/translations/app_locale_settings_th.xtb +@@ -6,7 +6,7 @@ + <translation id="IDS_WEB_FONT_FAMILY">Tahoma,sans-serif</translation> + <translation id="IDS_WEB_FONT_FAMILY_XP">Tahoma,sans-serif</translation> + </if> +-<if expr="is_linux"> ++<if expr="is_posix"> + <translation id="IDS_WEB_FONT_FAMILY">Norasi,Waree,Garuda,Loma,sans-serif</translation> + </if> + <if expr="is_chromeos"> diff --git a/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb new file mode 100644 index 000000000000..e721fbf1758d --- /dev/null +++ b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__zh-CN.xtb @@ -0,0 +1,11 @@ +--- ui/strings/translations/app_locale_settings_zh-CN.xtb.orig 2022-09-24 10:57:32 UTC ++++ ui/strings/translations/app_locale_settings_zh-CN.xtb +@@ -12,7 +12,7 @@ + <if expr="is_ios"> + <translation id="IDS_WEB_FONT_FAMILY">Helvetica,PingFang SC,STHeiti,sans-serif</translation> + </if> +-<if expr="is_linux"> ++<if expr="is_posix"> + <translation id="IDS_WEB_FONT_FAMILY">Noto Sans CJK SC, WenQuanYi Zen Hei, sans-serif</translation> + </if> + <if expr="is_chromeos"> diff --git a/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb new file mode 100644 index 000000000000..f86698d8a9e1 --- /dev/null +++ b/devel/electron33/files/patch-ui_strings_translations_app__locale__settings__zh-TW.xtb @@ -0,0 +1,11 @@ +--- ui/strings/translations/app_locale_settings_zh-TW.xtb.orig 2023-02-01 18:43:52 UTC ++++ ui/strings/translations/app_locale_settings_zh-TW.xtb +@@ -12,7 +12,7 @@ + <if expr="is_ios"> + <translation id="IDS_WEB_FONT_FAMILY">Helvetica,PingFang TC,Heiti TC,sans-serif</translation> + </if> +-<if expr="is_linux"> ++<if expr="is_posix"> + <translation id="IDS_WEB_FONT_FAMILY">Noto Sans CJK TC, WenQuanYi Zen Hei, sans-serif</translation> + </if> + <if expr="is_chromeos"> diff --git a/devel/electron33/files/patch-ui_strings_ui__strings.grd b/devel/electron33/files/patch-ui_strings_ui__strings.grd new file mode 100644 index 000000000000..516f09a756a4 --- /dev/null +++ b/devel/electron33/files/patch-ui_strings_ui__strings.grd @@ -0,0 +1,11 @@ +--- ui/strings/ui_strings.grd.orig 2024-11-11 11:20:24 UTC ++++ ui/strings/ui_strings.grd +@@ -764,7 +764,7 @@ need to be translated for each locale.--> + Win + </message> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_APP_SUPER_KEY" desc="Windows key on Windows keyboards, and Command key on Mac keyboards."> + Super + </message> diff --git a/devel/electron33/files/patch-ui_views_controls_prefix__selector.cc b/devel/electron33/files/patch-ui_views_controls_prefix__selector.cc new file mode 100644 index 000000000000..8184d9830e9d --- /dev/null +++ b/devel/electron33/files/patch-ui_views_controls_prefix__selector.cc @@ -0,0 +1,11 @@ +--- ui/views/controls/prefix_selector.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/views/controls/prefix_selector.cc +@@ -178,7 +178,7 @@ bool PrefixSelector::ShouldDoLearning() { + return false; + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool PrefixSelector::SetCompositionFromExistingText( + const gfx::Range& range, + const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) { diff --git a/devel/electron33/files/patch-ui_views_controls_prefix__selector.h b/devel/electron33/files/patch-ui_views_controls_prefix__selector.h new file mode 100644 index 000000000000..dd4307980d0c --- /dev/null +++ b/devel/electron33/files/patch-ui_views_controls_prefix__selector.h @@ -0,0 +1,11 @@ +--- ui/views/controls/prefix_selector.h.orig 2024-10-16 21:32:40 UTC ++++ ui/views/controls/prefix_selector.h +@@ -85,7 +85,7 @@ class VIEWS_EXPORT PrefixSelector : public ui::TextInp + 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/devel/electron33/files/patch-ui_views_controls_textfield_textfield.cc b/devel/electron33/files/patch-ui_views_controls_textfield_textfield.cc new file mode 100644 index 000000000000..7ca26f9d7943 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_controls_textfield_textfield.cc @@ -0,0 +1,64 @@ +--- ui/views/controls/textfield/textfield.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/views/controls/textfield/textfield.cc +@@ -85,7 +85,7 @@ + #include "base/win/win_util.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/base/ime/linux/text_edit_command_auralinux.h" + #include "ui/base/ime/text_input_flags.h" + #include "ui/linux/linux_ui.h" +@@ -183,7 +183,7 @@ bool IsControlKeyModifier(int flags) { + // Control-modified key combination, but we cannot extend it to other platforms + // as Control has different meanings and behaviors. + // https://crrev.com/2580483002/#msg46 +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + return flags & ui::EF_CONTROL_DOWN; + #else + return false; +@@ -761,7 +761,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event + if (!textfield) + return handled; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + auto* linux_ui = ui::LinuxUi::instance(); + std::vector<ui::TextEditCommandAuraLinux> commands; + if (!handled && linux_ui && +@@ -944,7 +944,7 @@ bool Textfield::SkipDefaultKeyEventProcessing(const ui + } + + bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Skip any accelerator handling that conflicts with custom keybindings. + auto* linux_ui = ui::LinuxUi::instance(); + std::vector<ui::TextEditCommandAuraLinux> commands; +@@ -1994,7 +1994,7 @@ bool Textfield::ShouldDoLearning() { + return false; + } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/41452689): Implement this method to support Korean IME + // reconversion feature on native text fields (e.g. find bar). + bool Textfield::SetCompositionFromExistingText( +@@ -2500,14 +2500,14 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( + #endif + return ui::TextEditCommand::DELETE_BACKWARD; + } +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Only erase by line break on Linux and ChromeOS. + if (shift) + return ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE; + #endif + return ui::TextEditCommand::DELETE_WORD_BACKWARD; + case ui::VKEY_DELETE: +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Only erase by line break on Linux and ChromeOS. + if (shift && control) + return ui::TextEditCommand::DELETE_TO_END_OF_LINE; diff --git a/devel/electron33/files/patch-ui_views_controls_textfield_textfield.h b/devel/electron33/files/patch-ui_views_controls_textfield_textfield.h new file mode 100644 index 000000000000..0cbe17d6e37e --- /dev/null +++ b/devel/electron33/files/patch-ui_views_controls_textfield_textfield.h @@ -0,0 +1,20 @@ +--- ui/views/controls/textfield/textfield.h.orig 2024-10-16 21:32:40 UTC ++++ ui/views/controls/textfield/textfield.h +@@ -47,7 +47,7 @@ + #include "ui/views/view_observer.h" + #include "ui/views/word_lookup_client.h" + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include <vector> + #endif + +@@ -463,7 +463,7 @@ class VIEWS_EXPORT Textfield : public View, + // Set whether the text should be used to improve typing suggestions. + void SetShouldDoLearning(bool value) { should_do_learning_ = value; } + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool SetCompositionFromExistingText( + const gfx::Range& range, + const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) override; diff --git a/devel/electron33/files/patch-ui_views_corewm_tooltip__aura.cc b/devel/electron33/files/patch-ui_views_corewm_tooltip__aura.cc new file mode 100644 index 000000000000..8f25c304bfd8 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_corewm_tooltip__aura.cc @@ -0,0 +1,11 @@ +--- ui/views/corewm/tooltip_aura.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/views/corewm/tooltip_aura.cc +@@ -37,7 +37,7 @@ bool CanUseTranslucentTooltipWidget() { + bool CanUseTranslucentTooltipWidget() { + // TODO(crbug.com/40118868): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#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) + return false; + #else + return true; diff --git a/devel/electron33/files/patch-ui_views_examples_widget__example.cc b/devel/electron33/files/patch-ui_views_examples_widget__example.cc new file mode 100644 index 000000000000..2b585129d811 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_examples_widget__example.cc @@ -0,0 +1,11 @@ +--- ui/views/examples/widget_example.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/views/examples/widget_example.cc +@@ -50,7 +50,7 @@ void WidgetExample::CreateExampleView(View* container) + modal_button->SetCallback( + base::BindRepeating(&WidgetExample::CreateDialogWidget, + base::Unretained(this), modal_button, true)); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Windows does not support TYPE_CONTROL top-level widgets. + LabelButton* control_button = BuildButton( + container, GetStringUTF16(IDS_WIDGET_CHILD_WIDGET_BUTTON_LABEL)); diff --git a/devel/electron33/files/patch-ui_views_focus_focus__manager.cc b/devel/electron33/files/patch-ui_views_focus_focus__manager.cc new file mode 100644 index 000000000000..ed5cc512e1b3 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_focus_focus__manager.cc @@ -0,0 +1,20 @@ +--- ui/views/focus/focus_manager.cc.orig 2024-08-14 20:56:06 UTC ++++ ui/views/focus/focus_manager.cc +@@ -585,7 +585,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi + + // TODO(crbug.com/40118868): 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) + // Processing an accelerator can delete things. Because we + // need these objects afterwards on Linux, save widget_ as weak pointer and + // save the close_on_deactivate property value of widget_delegate in a +@@ -602,7 +602,7 @@ bool FocusManager::RedirectAcceleratorToBubbleAnchorWi + + // TODO(crbug.com/40118868): 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) + // Need to manually close the bubble widget on Linux. On Linux when the + // bubble is shown, the main widget remains active. Because of that when + // focus is set to the main widget to process accelerator, the main widget diff --git a/devel/electron33/files/patch-ui_views_style_platform__style.cc b/devel/electron33/files/patch-ui_views_style_platform__style.cc new file mode 100644 index 000000000000..926f9c4a2609 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_style_platform__style.cc @@ -0,0 +1,29 @@ +--- ui/views/style/platform_style.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/views/style/platform_style.cc +@@ -17,7 +17,7 @@ + #include "ui/views/controls/focusable_border.h" + #include "ui/views/controls/scrollbar/scroll_bar_views.h" + +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/views/controls/scrollbar/overlay_scroll_bar.h" + #endif + +@@ -50,7 +50,7 @@ const bool PlatformStyle::kAdjustBubbleIfOffscreen = + // Linux clips bubble windows that extend outside their parent window + // bounds. + const bool PlatformStyle::kAdjustBubbleIfOffscreen = +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + false; + #else + true; +@@ -59,7 +59,7 @@ std::unique_ptr<ScrollBar> PlatformStyle::CreateScroll + // static + std::unique_ptr<ScrollBar> PlatformStyle::CreateScrollBar( + ScrollBar::Orientation orientation) { +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return std::make_unique<OverlayScrollBar>(orientation); + #else + return std::make_unique<ScrollBarViews>(orientation); diff --git a/devel/electron33/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc b/devel/electron33/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc new file mode 100644 index 000000000000..4823071ecca3 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_test_ui__controls__factory__desktop__aura__ozone.cc @@ -0,0 +1,11 @@ +--- ui/views/test/ui_controls_factory_desktop_aura_ozone.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/views/test/ui_controls_factory_desktop_aura_ozone.cc +@@ -296,7 +296,7 @@ void UpdateDisplaySync(const std::string& display_spec + } + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // static + void ForceUseScreenCoordinatesOnce() { + g_ozone_ui_controls_test_helper->ForceUseScreenCoordinatesOnce(); diff --git a/devel/electron33/files/patch-ui_views_views__delegate.cc b/devel/electron33/files/patch-ui_views_views__delegate.cc new file mode 100644 index 000000000000..5a24231acc6f --- /dev/null +++ b/devel/electron33/files/patch-ui_views_views__delegate.cc @@ -0,0 +1,11 @@ +--- ui/views/views_delegate.cc.orig 2022-02-28 16:54:41 UTC ++++ ui/views/views_delegate.cc +@@ -95,7 +95,7 @@ bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow + return false; + } + #elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + gfx::ImageSkia* ViewsDelegate::GetDefaultWindowIcon() const { + return nullptr; + } diff --git a/devel/electron33/files/patch-ui_views_views__delegate.h b/devel/electron33/files/patch-ui_views_views__delegate.h new file mode 100644 index 000000000000..a4b034b480e4 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_views__delegate.h @@ -0,0 +1,11 @@ +--- ui/views/views_delegate.h.orig 2024-02-21 00:21:16 UTC ++++ ui/views/views_delegate.h +@@ -146,7 +146,7 @@ class VIEWS_EXPORT ViewsDelegate { + // environment. + virtual bool IsWindowInMetro(gfx::NativeWindow window) const; + #elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \ +- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) ++ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) + virtual gfx::ImageSkia* GetDefaultWindowIcon() const; + #endif + diff --git a/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc b/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc new file mode 100644 index 000000000000..eb93f3a9d6e9 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.cc @@ -0,0 +1,11 @@ +--- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.cc +@@ -206,7 +206,7 @@ DragOperation DesktopDragDropClientOzone::StartDragAnd + return selected_operation_; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void DesktopDragDropClientOzone::UpdateDragImage(const gfx::ImageSkia& image, + const gfx::Vector2d& offset) { + DCHECK(drag_handler_); diff --git a/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h b/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h new file mode 100644 index 000000000000..4d734b89aa35 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__drag__drop__client__ozone.h @@ -0,0 +1,20 @@ +--- ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.h.orig 2024-10-16 21:32:40 UTC ++++ ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone.h +@@ -66,7 +66,7 @@ class VIEWS_EXPORT DesktopDragDropClientOzone + // The offset of |drag_widget_| relative to the mouse position. + gfx::Vector2d offset; + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // The last received drag location. The drag widget is moved asynchronously + // so its position is updated when the UI thread has time for that. When + // the first change to the location happens, a call to UpdateDragWidget() +@@ -87,7 +87,7 @@ class VIEWS_EXPORT DesktopDragDropClientOzone + const gfx::Point& root_location, + int allowed_operations, + ui::mojom::DragEventSource source) override; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + void UpdateDragImage(const gfx::ImageSkia& image, + const gfx::Vector2d& offset) override; + #endif diff --git a/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc new file mode 100644 index 000000000000..ef79ae530253 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc @@ -0,0 +1,29 @@ +--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc +@@ -48,7 +48,7 @@ + #include "ui/wm/core/window_util.h" + #include "ui/wm/public/window_move_client.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone_linux.h" + #endif + +@@ -358,7 +358,7 @@ DesktopWindowTreeHostPlatform::CreateDragDropClient() + DesktopWindowTreeHostPlatform::CreateDragDropClient() { + ui::WmDragHandler* drag_handler = ui::GetWmDragHandler(*(platform_window())); + std::unique_ptr<DesktopDragDropClientOzone> drag_drop_client = +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::make_unique<DesktopDragDropClientOzoneLinux>(window(), drag_handler); + #else + std::make_unique<DesktopDragDropClientOzone>(window(), drag_handler); +@@ -1175,7 +1175,7 @@ bool DesktopWindowTreeHostPlatform::RotateFocusForWidg + // DesktopWindowTreeHost: + + // Linux subclasses this host and adds some Linux specific bits. +-#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) ++#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) + // static + DesktopWindowTreeHost* DesktopWindowTreeHost::Create( + internal::NativeWidgetDelegate* native_widget_delegate, diff --git a/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc b/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc new file mode 100644 index 000000000000..9f0655b45255 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform__impl__interactive__uitest.cc @@ -0,0 +1,11 @@ +--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform_impl_interactive_uitest.cc.orig 2024-04-15 20:34:30 UTC ++++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform_impl_interactive_uitest.cc +@@ -23,7 +23,7 @@ + #include "ui/views/widget/widget_delegate.h" + #include "ui/views/window/native_frame_view.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h" + #include "ui/views/widget/desktop_aura/window_event_filter_linux.h" + using DesktopWindowTreeHostPlatformImpl = views::DesktopWindowTreeHostLinux; diff --git a/devel/electron33/files/patch-ui_views_widget_root__view.cc b/devel/electron33/files/patch-ui_views_widget_root__view.cc new file mode 100644 index 000000000000..e237b6c6980b --- /dev/null +++ b/devel/electron33/files/patch-ui_views_widget_root__view.cc @@ -0,0 +1,11 @@ +--- ui/views/widget/root_view.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/views/widget/root_view.cc +@@ -139,7 +139,7 @@ class AnnounceTextView : public View { + #if BUILDFLAG(IS_CHROMEOS) + // On ChromeOS, kAlert role can invoke an unnecessary event on reparenting. + GetViewAccessibility().SetRole(ax::mojom::Role::kStaticText); +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/40658933): Use live regions (do not use alerts). + // May require setting kLiveStatus, kContainerLiveStatus to "polite". + GetViewAccessibility().SetRole(ax::mojom::Role::kAlert); diff --git a/devel/electron33/files/patch-ui_views_widget_widget.cc b/devel/electron33/files/patch-ui_views_widget_widget.cc new file mode 100644 index 000000000000..efc5745161b0 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_widget_widget.cc @@ -0,0 +1,20 @@ +--- ui/views/widget/widget.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/views/widget/widget.cc +@@ -58,7 +58,7 @@ + #include "ui/views/window/custom_frame_view.h" + #include "ui/views/window/dialog_delegate.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "ui/linux/linux_ui.h" + #endif + +@@ -2203,7 +2203,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const + if (parent_) + return parent_->GetNativeTheme(); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (auto* linux_ui_theme = ui::LinuxUiTheme::GetForWindow(GetNativeWindow())) + return linux_ui_theme->GetNativeTheme(); + #endif diff --git a/devel/electron33/files/patch-ui_views_window_custom__frame__view.cc b/devel/electron33/files/patch-ui_views_window_custom__frame__view.cc new file mode 100644 index 000000000000..4a4fa707bcab --- /dev/null +++ b/devel/electron33/files/patch-ui_views_window_custom__frame__view.cc @@ -0,0 +1,11 @@ +--- ui/views/window/custom_frame_view.cc.orig 2024-08-14 20:56:06 UTC ++++ ui/views/window/custom_frame_view.cc +@@ -268,7 +268,7 @@ int CustomFrameView::CaptionButtonY() const { + // drawn flush with the screen edge, they still obey Fitts' Law. + // TODO(crbug.com/40118868): 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 FrameBorderThickness(); + #else + return frame_->IsMaximized() ? FrameBorderThickness() : kFrameShadowThickness; diff --git a/devel/electron33/files/patch-ui_views_window_dialog__delegate.cc b/devel/electron33/files/patch-ui_views_window_dialog__delegate.cc new file mode 100644 index 000000000000..1b12329f6ccb --- /dev/null +++ b/devel/electron33/files/patch-ui_views_window_dialog__delegate.cc @@ -0,0 +1,11 @@ +--- ui/views/window/dialog_delegate.cc.orig 2024-10-16 21:32:40 UTC ++++ ui/views/window/dialog_delegate.cc +@@ -105,7 +105,7 @@ bool DialogDelegate::CanSupportCustomFrame(gfx::Native + + // static + bool DialogDelegate::CanSupportCustomFrame(gfx::NativeView parent) { +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ + BUILDFLAG(ENABLE_DESKTOP_AURA) + // The new style doesn't support unparented dialogs on Linux desktop. + return parent != nullptr; diff --git a/devel/electron33/files/patch-ui_views_window_frame__background.cc b/devel/electron33/files/patch-ui_views_window_frame__background.cc new file mode 100644 index 000000000000..9766c76c32d0 --- /dev/null +++ b/devel/electron33/files/patch-ui_views_window_frame__background.cc @@ -0,0 +1,11 @@ +--- ui/views/window/frame_background.cc.orig 2023-10-19 19:59:22 UTC ++++ ui/views/window/frame_background.cc +@@ -110,7 +110,7 @@ void FrameBackground::PaintMaximized(gfx::Canvas* canv + int width) const { + // Fill the top with the frame color first so we have a constant background + // for areas not covered by the theme image. +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ + BUILDFLAG(ENABLE_DESKTOP_AURA) + ui::NativeTheme::FrameTopAreaExtraParams frame_top_area; + frame_top_area.use_custom_frame = use_custom_frame_; diff --git a/devel/electron33/files/patch-v8_BUILD.gn b/devel/electron33/files/patch-v8_BUILD.gn new file mode 100644 index 000000000000..b968875c5104 --- /dev/null +++ b/devel/electron33/files/patch-v8_BUILD.gn @@ -0,0 +1,65 @@ +--- v8/BUILD.gn.orig 2024-10-16 21:34:41 UTC ++++ v8/BUILD.gn +@@ -907,6 +907,8 @@ external_v8_defines = [ + "V8_TARGET_OS_MACOS", + "V8_TARGET_OS_WIN", + "V8_TARGET_OS_CHROMEOS", ++ "V8_TARGET_OS_OPENBSD", ++ "V8_TARGET_OS_FREEBSD", + ] + + enabled_external_v8_defines = [ +@@ -983,6 +985,12 @@ if (target_os == "android") { + } else if (target_os == "chromeos") { + enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] + enabled_external_v8_defines += [ "V8_TARGET_OS_CHROMEOS" ] ++} else if (target_os == "openbsd") { ++ enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] ++ enabled_external_v8_defines += [ "V8_TARGET_OS_OPENBSD" ] ++} else if (target_os == "freebsd") { ++ enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] ++ enabled_external_v8_defines += [ "V8_TARGET_OS_FREEBSD" ] + } + + disabled_external_v8_defines = external_v8_defines - enabled_external_v8_defines +@@ -2535,6 +2543,12 @@ template("run_mksnapshot") { + if (!v8_enable_builtins_profiling && v8_enable_builtins_reordering) { + args += [ "--reorder-builtins" ] + } ++ ++ if (v8_current_cpu == "x86") { ++ args -= [ ++ "--abort-on-bad-builtin-profile-data", ++ ] ++ } + } + + if (v8_enable_turboshaft_csa) { +@@ -6625,7 +6639,7 @@ v8_component("v8_libbase") { + } + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-linux.cc", +@@ -6636,6 +6650,18 @@ v8_component("v8_libbase") { + "dl", + "rt", + ] ++ } else if (is_openbsd) { ++ sources += [ ++ "src/base/debug/stack_trace_posix.cc", ++ "src/base/platform/platform-openbsd.cc", ++ ] ++ libs = [ "execinfo" ] ++ } else if (is_freebsd) { ++ sources += [ ++ "src/base/debug/stack_trace_posix.cc", ++ "src/base/platform/platform-freebsd.cc", ++ ] ++ libs = [ "execinfo" ] + } else if (current_os == "aix") { + sources += [ + "src/base/debug/stack_trace_posix.cc", diff --git a/devel/electron33/files/patch-v8_include_v8-internal.h b/devel/electron33/files/patch-v8_include_v8-internal.h new file mode 100644 index 000000000000..7f9a024448ed --- /dev/null +++ b/devel/electron33/files/patch-v8_include_v8-internal.h @@ -0,0 +1,11 @@ +--- v8/include/v8-internal.h.orig 2024-10-16 21:34:42 UTC ++++ v8/include/v8-internal.h +@@ -229,7 +229,7 @@ using SandboxedPointer_t = Address; + #ifdef V8_ENABLE_SANDBOX + + // Size of the sandbox, excluding the guard regions surrounding it. +-#if defined(V8_TARGET_OS_ANDROID) ++#if (defined(V8_TARGET_OS_ANDROID) || defined(V8_TARGET_OS_OPENBSD)) + // On Android, most 64-bit devices seem to be configured with only 39 bits of + // virtual address space for userspace. As such, limit the sandbox to 128GB (a + // quarter of the total available address space). diff --git a/devel/electron33/files/patch-v8_include_v8config.h b/devel/electron33/files/patch-v8_include_v8config.h new file mode 100644 index 000000000000..480cc713e804 --- /dev/null +++ b/devel/electron33/files/patch-v8_include_v8config.h @@ -0,0 +1,47 @@ +--- v8/include/v8config.h.orig 2024-08-14 20:58:07 UTC ++++ v8/include/v8config.h +@@ -201,6 +201,8 @@ path. Add it with -I<path> to the command line + && !defined(V8_TARGET_OS_FUCHSIA) \ + && !defined(V8_TARGET_OS_IOS) \ + && !defined(V8_TARGET_OS_LINUX) \ ++ && !defined(V8_TARGET_OS_OPENBSD) \ ++ && !defined(V8_TARGET_OS_FREEBSD) \ + && !defined(V8_TARGET_OS_MACOS) \ + && !defined(V8_TARGET_OS_WIN) \ + && !defined(V8_TARGET_OS_CHROMEOS) +@@ -213,6 +215,8 @@ path. Add it with -I<path> to the command line + || defined(V8_TARGET_OS_FUCHSIA) \ + || defined(V8_TARGET_OS_IOS) \ + || defined(V8_TARGET_OS_LINUX) \ ++ || defined(V8_TARGET_OS_OPENBSD) \ ++ || defined(V8_TARGET_OS_FREEBSD) \ + || defined(V8_TARGET_OS_MACOS) \ + || defined(V8_TARGET_OS_WIN) \ + || defined(V8_TARGET_OS_CHROMEOS) +@@ -236,6 +240,16 @@ path. Add it with -I<path> to the command line + # define V8_TARGET_OS_LINUX + #endif + ++#ifdef V8_OS_OPENBSD ++# define V8_TARGET_OS_OPENBSD ++# define V8_TARGET_OS_BSD ++#endif ++ ++#ifdef V8_OS_FREEBSD ++# define V8_TARGET_OS_OPENBSD ++# define V8_TARGET_OS_BSD ++#endif ++ + #ifdef V8_OS_MACOS + # define V8_TARGET_OS_MACOS + #endif +@@ -381,7 +395,8 @@ path. Add it with -I<path> to the command line + // preserve_most in clang >= 17 (see https://reviews.llvm.org/D143425). + #if (defined(_M_X64) || defined(__x86_64__) /* x64 (everywhere) */ \ + || ((defined(__AARCH64EL__) || defined(_M_ARM64)) /* arm64, but ... */ \ +- && !defined(_WIN32))) /* not on windows */ \ ++ && !defined(_WIN32) /* not on windows */ \ ++ && !defined(__OpenBSD__))) /* not on OpenBSD */ \ + && !defined(COMPONENT_BUILD) /* no component build */\ + && __clang_major__ >= 17 /* clang >= 17 */ + # define V8_HAS_ATTRIBUTE_PRESERVE_MOST (__has_attribute(preserve_most)) diff --git a/devel/electron33/files/patch-v8_src_api_api.cc b/devel/electron33/files/patch-v8_src_api_api.cc new file mode 100644 index 000000000000..cbde90e18450 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_api_api.cc @@ -0,0 +1,20 @@ +--- v8/src/api/api.cc.orig 2024-10-28 21:05:18 UTC ++++ v8/src/api/api.cc +@@ -149,7 +149,7 @@ + #include "src/wasm/wasm-serialization.h" + #endif // V8_ENABLE_WEBASSEMBLY + +-#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD ++#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD + #include <signal.h> + #include <unistd.h> + +@@ -6544,7 +6544,7 @@ bool v8::V8::Initialize(const int build_config) { + return true; + } + +-#if V8_OS_LINUX || V8_OS_DARWIN ++#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD + bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info, + void* context) { + #if V8_ENABLE_WEBASSEMBLY && V8_TRAP_HANDLER_SUPPORTED diff --git a/devel/electron33/files/patch-v8_src_base_atomicops.h b/devel/electron33/files/patch-v8_src_base_atomicops.h new file mode 100644 index 000000000000..09d81e53e794 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_base_atomicops.h @@ -0,0 +1,24 @@ +--- v8/src/base/atomicops.h.orig 2023-10-19 20:00:30 UTC ++++ v8/src/base/atomicops.h +@@ -57,10 +57,10 @@ using Atomic64 = SbAtomic64; + using Atomic8 = char; + using Atomic16 = int16_t; + using Atomic32 = int32_t; +-#if defined(V8_HOST_ARCH_64_BIT) ++#if defined(V8_HOST_ARCH_64_BIT) || defined(V8_OS_OPENBSD) + // We need to be able to go between Atomic64 and AtomicWord implicitly. This + // means Atomic64 and AtomicWord should be the same type on 64-bit. +-#if defined(__ILP32__) ++#if defined(__ILP32__) && !defined(V8_OS_OPENBSD) + using Atomic64 = int64_t; + #else + using Atomic64 = intptr_t; +@@ -266,7 +266,7 @@ inline Atomic32 SeqCst_Load(volatile const Atomic32* p + std::memory_order_seq_cst); + } + +-#if defined(V8_HOST_ARCH_64_BIT) ++#if defined(V8_HOST_ARCH_64_BIT) || defined(V8_OS_OPENBSD) + + inline Atomic64 Relaxed_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, Atomic64 new_value) { diff --git a/devel/electron33/files/patch-v8_src_base_platform_memory.h b/devel/electron33/files/patch-v8_src_base_platform_memory.h new file mode 100644 index 000000000000..d1815112f0cc --- /dev/null +++ b/devel/electron33/files/patch-v8_src_base_platform_memory.h @@ -0,0 +1,18 @@ +--- v8/src/base/platform/memory.h.orig 2024-10-16 21:34:43 UTC ++++ v8/src/base/platform/memory.h +@@ -21,13 +21,13 @@ + #include <malloc/malloc.h> + #elif V8_OS_OPENBSD + #include <sys/malloc.h> +-#elif V8_OS_ZOS ++#elif (V8_OS_ZOS || V8_OS_BSD) + #include <stdlib.h> + #else + #include <malloc.h> + #endif + +-#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_ZOS && !V8_OS_OPENBSD) || V8_OS_WIN ++#if (V8_OS_POSIX && !V8_OS_AIX && !V8_OS_SOLARIS && !V8_OS_ZOS && !V8_OS_BSD) || V8_OS_WIN + #define V8_HAS_MALLOC_USABLE_SIZE 1 + #endif + diff --git a/devel/electron33/files/patch-v8_src_base_platform_platform-freebsd.cc b/devel/electron33/files/patch-v8_src_base_platform_platform-freebsd.cc new file mode 100644 index 000000000000..5f462761158a --- /dev/null +++ b/devel/electron33/files/patch-v8_src_base_platform_platform-freebsd.cc @@ -0,0 +1,32 @@ +--- v8/src/base/platform/platform-freebsd.cc.orig 2022-02-07 13:39:41 UTC ++++ v8/src/base/platform/platform-freebsd.cc +@@ -43,14 +43,10 @@ TimezoneCache* OS::CreateTimezoneCache() { + return new PosixDefaultTimezoneCache(); + } + +-static unsigned StringToLong(char* buffer) { +- return static_cast<unsigned>(strtol(buffer, nullptr, 16)); +-} +- + std::vector<OS::SharedLibraryAddress> OS::GetSharedLibraryAddresses() { + std::vector<SharedLibraryAddress> result; + int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_VMMAP, getpid()}; +- size_t miblen = sizeof(mib) / sizeof(mib[0]); ++ unsigned int miblen = sizeof(mib) / sizeof(mib[0]); + size_t buffer_size; + if (sysctl(mib, miblen, nullptr, &buffer_size, nullptr, 0) == 0) { + // Overallocate the buffer by 1/3 to account for concurrent +@@ -82,8 +78,13 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib + lib_name = std::string(path); + } + result.push_back(SharedLibraryAddress( ++#if defined(__i386__) || defined(OS_FREEBSD) ++ lib_name, static_cast<uintptr_t>(map->kve_start), ++ static_cast<uintptr_t>(map->kve_end))); ++#else + lib_name, reinterpret_cast<uintptr_t>(map->kve_start), + reinterpret_cast<uintptr_t>(map->kve_end))); ++#endif + } + + start += ssize; diff --git a/devel/electron33/files/patch-v8_src_base_platform_platform-openbsd.cc b/devel/electron33/files/patch-v8_src_base_platform_platform-openbsd.cc new file mode 100644 index 000000000000..6261e6d3dc65 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_base_platform_platform-openbsd.cc @@ -0,0 +1,28 @@ +--- v8/src/base/platform/platform-openbsd.cc.orig 2024-08-14 20:58:07 UTC ++++ v8/src/base/platform/platform-openbsd.cc +@@ -6,6 +6,7 @@ + // POSIX-compatible parts, the implementation is in platform-posix.cc. + + #include <pthread.h> ++#include <pthread_np.h> + #include <semaphore.h> + #include <signal.h> + #include <stdlib.h> +@@ -121,6 +122,17 @@ void OS::AdjustSchedulingParams() {} + } + + void OS::AdjustSchedulingParams() {} ++ ++// static ++Stack::StackSlot Stack::ObtainCurrentThreadStackStart() { ++ stack_t ss; ++ void *base; ++ if (pthread_stackseg_np(pthread_self(), &ss) != 0) ++ return nullptr; ++ ++ base = (void*)((size_t) ss.ss_sp - ss.ss_size); ++ return reinterpret_cast<uint8_t*>(base) + ss.ss_size; ++} + + std::optional<OS::MemoryRange> OS::GetFirstFreeMemoryRangeWithin( + OS::Address boundary_start, OS::Address boundary_end, size_t minimum_size, diff --git a/devel/electron33/files/patch-v8_src_base_platform_platform-posix.cc b/devel/electron33/files/patch-v8_src_base_platform_platform-posix.cc new file mode 100644 index 000000000000..07c95a3773a2 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_base_platform_platform-posix.cc @@ -0,0 +1,53 @@ +--- v8/src/base/platform/platform-posix.cc.orig 2024-10-16 21:34:43 UTC ++++ v8/src/base/platform/platform-posix.cc +@@ -75,7 +75,7 @@ + #include <sys/syscall.h> + #endif + +-#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_OPENBSD || V8_OS_SOLARIS ++#if V8_OS_FREEBSD || V8_OS_DARWIN || V8_OS_BSD || V8_OS_SOLARIS + #define MAP_ANONYMOUS MAP_ANON + #endif + +@@ -314,8 +314,15 @@ void OS::SetRandomMmapSeed(int64_t seed) { + } + } + ++#if V8_OS_OPENBSD ++// Allow OpenBSD's mmap to select a random address on OpenBSD + // static + void* OS::GetRandomMmapAddr() { ++ return nullptr; ++} ++#else ++// static ++void* OS::GetRandomMmapAddr() { + uintptr_t raw_addr; + { + MutexGuard guard(rng_mutex.Pointer()); +@@ -416,6 +423,7 @@ void* OS::GetRandomMmapAddr() { + #endif + return reinterpret_cast<void*>(raw_addr); + } ++#endif + + // TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files. + #if !V8_OS_CYGWIN && !V8_OS_FUCHSIA +@@ -704,7 +712,7 @@ bool OS::HasLazyCommits() { + #if !V8_OS_ZOS + // static + bool OS::HasLazyCommits() { +-#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN ++#if V8_OS_AIX || V8_OS_LINUX || V8_OS_DARWIN || V8_OS_BSD + return true; + #else + // TODO(bbudge) Return true for all POSIX platforms. +@@ -1350,7 +1358,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void* + // keep this version in POSIX as most Linux-compatible derivatives will + // support it. MacOS and FreeBSD are different here. + #if !defined(V8_OS_FREEBSD) && !defined(V8_OS_DARWIN) && !defined(_AIX) && \ +- !defined(V8_OS_SOLARIS) ++ !defined(V8_OS_SOLARIS) && !defined(V8_OS_OPENBSD) + + namespace { + #if DEBUG diff --git a/devel/electron33/files/patch-v8_src_base_small-vector.h b/devel/electron33/files/patch-v8_src_base_small-vector.h new file mode 100644 index 000000000000..4472541804e6 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_base_small-vector.h @@ -0,0 +1,11 @@ +--- v8/src/base/small-vector.h.orig 2022-10-25 08:25:05 UTC ++++ v8/src/base/small-vector.h +@@ -22,7 +22,7 @@ template <typename T, size_t kSize, typename Allocator + class SmallVector { + // Currently only support trivially copyable and trivially destructible data + // types, as it uses memcpy to copy elements and never calls destructors. +- ASSERT_TRIVIALLY_COPYABLE(T); ++ // XXX FREEBSD ASSERT_TRIVIALLY_COPYABLE(T); + static_assert(std::is_trivially_destructible<T>::value); + + public: diff --git a/devel/electron33/files/patch-v8_src_base_sys-info.cc b/devel/electron33/files/patch-v8_src_base_sys-info.cc new file mode 100644 index 000000000000..6838c6308c66 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_base_sys-info.cc @@ -0,0 +1,11 @@ +--- v8/src/base/sys-info.cc.orig 2024-10-16 21:34:43 UTC ++++ v8/src/base/sys-info.cc +@@ -36,7 +36,7 @@ int SysInfo::NumberOfProcessors() { + // static + int SysInfo::NumberOfProcessors() { + #if V8_OS_OPENBSD +- int mib[2] = {CTL_HW, HW_NCPU}; ++ int mib[2] = {CTL_HW, HW_NCPUONLINE}; + int ncpu = 0; + size_t len = sizeof(ncpu); + if (sysctl(mib, arraysize(mib), &ncpu, &len, nullptr, 0) != 0) { diff --git a/devel/electron33/files/patch-v8_src_builtins_x64_builtins-x64.cc b/devel/electron33/files/patch-v8_src_builtins_x64_builtins-x64.cc new file mode 100644 index 000000000000..06a6f44a7098 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_builtins_x64_builtins-x64.cc @@ -0,0 +1,14 @@ +--- v8/src/builtins/x64/builtins-x64.cc.orig 2024-10-16 21:34:46 UTC ++++ v8/src/builtins/x64/builtins-x64.cc +@@ -2838,7 +2838,11 @@ void Generate_OSREntry(MacroAssembler* masm, Register + // Drop the return address on the stack and jump to the OSR entry + // point of the function. + __ Drop(1); ++#ifdef V8_ENABLE_CET_IBT ++ __ jmp(entry_address, /*notrack=*/true); ++#else + __ jmp(entry_address); ++#endif + } + + enum class OsrSourceTier { diff --git a/devel/electron33/files/patch-v8_src_diagnostics_perf-jit.cc b/devel/electron33/files/patch-v8_src_diagnostics_perf-jit.cc new file mode 100644 index 000000000000..8ff9f89da4d4 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_diagnostics_perf-jit.cc @@ -0,0 +1,11 @@ +--- v8/src/diagnostics/perf-jit.cc.orig 2023-10-19 20:00:39 UTC ++++ v8/src/diagnostics/perf-jit.cc +@@ -31,7 +31,7 @@ + #include "src/flags/flags.h" + + // Only compile the {LinuxPerfJitLogger} on Linux. +-#if V8_OS_LINUX ++#if defined(V8_OS_LINUX) || defined(V8_OS_BSD) + + #include <fcntl.h> + #include <sys/mman.h> diff --git a/devel/electron33/files/patch-v8_src_diagnostics_perf-jit.h b/devel/electron33/files/patch-v8_src_diagnostics_perf-jit.h new file mode 100644 index 000000000000..b5c06ad88b32 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_diagnostics_perf-jit.h @@ -0,0 +1,11 @@ +--- v8/src/diagnostics/perf-jit.h.orig 2022-06-17 14:20:10 UTC ++++ v8/src/diagnostics/perf-jit.h +@@ -31,7 +31,7 @@ + #include "include/v8config.h" + + // {LinuxPerfJitLogger} is only implemented on Linux. +-#if V8_OS_LINUX ++#if defined(V8_OS_LINUX) || defined(V8_OS_BSD) + + #include "src/logging/log.h" + diff --git a/devel/electron33/files/patch-v8_src_execution_isolate.cc b/devel/electron33/files/patch-v8_src_execution_isolate.cc new file mode 100644 index 000000000000..571dc3015e5a --- /dev/null +++ b/devel/electron33/files/patch-v8_src_execution_isolate.cc @@ -0,0 +1,27 @@ +--- v8/src/execution/isolate.cc.orig 2024-10-16 21:34:55 UTC ++++ v8/src/execution/isolate.cc +@@ -168,6 +168,10 @@ + #include "src/execution/simulator-base.h" + #endif + ++#if defined(V8_OS_OPENBSD) ++#include <sys/mman.h> ++#endif ++ + extern "C" const uint8_t v8_Default_embedded_blob_code_[]; + extern "C" uint32_t v8_Default_embedded_blob_code_size_; + extern "C" const uint8_t v8_Default_embedded_blob_data_[]; +@@ -4971,6 +4975,13 @@ void Isolate::InitializeDefaultEmbeddedBlob() { + uint32_t code_size = DefaultEmbeddedBlobCodeSize(); + const uint8_t* data = DefaultEmbeddedBlobData(); + uint32_t data_size = DefaultEmbeddedBlobDataSize(); ++ ++#if defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32) ++ if (code_size > 0) { ++ mprotect(reinterpret_cast<void *>(const_cast<uint8_t *>(code)), ++ code_size, PROT_READ | PROT_EXEC); ++ } ++#endif + + if (StickyEmbeddedBlobCode() != nullptr) { + base::MutexGuard guard(current_embedded_blob_refcount_mutex_.Pointer()); diff --git a/devel/electron33/files/patch-v8_src_flags_flags.cc b/devel/electron33/files/patch-v8_src_flags_flags.cc new file mode 100644 index 000000000000..8d2ab375e67b --- /dev/null +++ b/devel/electron33/files/patch-v8_src_flags_flags.cc @@ -0,0 +1,24 @@ +--- v8/src/flags/flags.cc.orig 2024-10-16 21:34:56 UTC ++++ v8/src/flags/flags.cc +@@ -16,6 +16,10 @@ + #include <set> + #include <sstream> + ++#if V8_OS_OPENBSD ++#include <sys/mman.h> ++#endif ++ + #include "src/base/functional.h" + #include "src/base/lazy-instance.h" + #include "src/base/platform/platform.h" +@@ -807,6 +811,10 @@ void FlagList::FreezeFlags() { + // Note that for string flags we only protect the pointer itself, but not the + // string storage. TODO(12887): Fix this. + base::OS::SetDataReadOnly(&v8_flags, sizeof(v8_flags)); ++#if V8_OS_OPENBSD ++ if (mimmutable(&v8_flags, sizeof(v8_flags)) == -1) ++ FATAL("unable to set immutability of v8_flags"); ++#endif + } + + // static diff --git a/devel/electron33/files/patch-v8_src_sandbox_sandbox.cc b/devel/electron33/files/patch-v8_src_sandbox_sandbox.cc new file mode 100644 index 000000000000..b00dd2179f09 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_sandbox_sandbox.cc @@ -0,0 +1,11 @@ +--- v8/src/sandbox/sandbox.cc.orig 2024-08-14 20:58:28 UTC ++++ v8/src/sandbox/sandbox.cc +@@ -48,7 +48,7 @@ static Address DetermineAddressSpaceLimit() { + } + #endif // V8_TARGET_ARCH_X64 + +-#if defined(V8_TARGET_ARCH_ARM64) && defined(V8_TARGET_OS_ANDROID) ++#if defined(V8_TARGET_ARCH_ARM64) && (defined(V8_TARGET_OS_ANDROID) || defined(V8_TARGET_OS_OPENBSD)) + // On Arm64 Android assume a 40-bit virtual address space (39 bits for + // userspace and kernel each) as that appears to be the most common + // configuration and there seems to be no easy way to retrieve the actual diff --git a/devel/electron33/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc b/devel/electron33/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc new file mode 100644 index 000000000000..c5130b064320 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.cc @@ -0,0 +1,11 @@ +--- v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc.orig 2024-08-14 20:58:28 UTC ++++ v8/src/snapshot/embedded/platform-embedded-file-writer-base.cc +@@ -148,6 +148,8 @@ EmbeddedTargetOs ToEmbeddedTargetOs(const char* s) { + return EmbeddedTargetOs::kStarboard; + } else if (string == "zos") { + return EmbeddedTargetOs::kZOS; ++ } else if (string == "openbsd") { ++ return EmbeddedTargetOs::kOpenBSD; + } else { + return EmbeddedTargetOs::kGeneric; + } diff --git a/devel/electron33/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h b/devel/electron33/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h new file mode 100644 index 000000000000..5967c700ee07 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-base.h @@ -0,0 +1,10 @@ +--- v8/src/snapshot/embedded/platform-embedded-file-writer-base.h.orig 2024-10-16 21:35:05 UTC ++++ v8/src/snapshot/embedded/platform-embedded-file-writer-base.h +@@ -36,6 +36,7 @@ enum class EmbeddedTargetOs { + kWin, + kStarboard, + kZOS, ++ kOpenBSD, + kGeneric, // Everything not covered above falls in here. + }; + diff --git a/devel/electron33/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc b/devel/electron33/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc new file mode 100644 index 000000000000..a00ffd2f1359 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_snapshot_embedded_platform-embedded-file-writer-generic.cc @@ -0,0 +1,42 @@ +--- v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc.orig 2023-08-10 01:51:23 UTC ++++ v8/src/snapshot/embedded/platform-embedded-file-writer-generic.cc +@@ -9,6 +9,10 @@ + + #include "src/objects/instruction-stream.h" + ++#if V8_OS_OPENBSD ++#include <sys/param.h> ++#endif ++ + namespace v8 { + namespace internal { + +@@ -35,6 +39,10 @@ const char* DirectiveAsString(DataDirective directive) + void PlatformEmbeddedFileWriterGeneric::SectionText() { + if (target_os_ == EmbeddedTargetOs::kChromeOS) { + fprintf(fp_, ".section .text.hot.embedded\n"); ++#if !defined(V8_TARGET_ARCH_IA32) ++ } else if (target_os_ == EmbeddedTargetOs::kOpenBSD) { ++ fprintf(fp_, ".section .openbsd.mutable,\"a\"\n"); ++#endif + } else { + fprintf(fp_, ".section .text\n"); + } +@@ -66,6 +74,8 @@ void PlatformEmbeddedFileWriterGeneric::AlignToCodeAli + // On these architectures and platforms, we remap the builtins, so need these + // to be aligned on a page boundary. + fprintf(fp_, ".balign 4096\n"); ++#elif defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32) ++ fprintf(fp_, ".balign %d\n", PAGE_SIZE); + #elif V8_TARGET_ARCH_X64 + // On x64 use 64-bytes code alignment to allow 64-bytes loop header alignment. + static_assert(64 >= kCodeAlignment); +@@ -86,6 +96,8 @@ void PlatformEmbeddedFileWriterGeneric::AlignToPageSiz + (V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM64) + // Since the builtins are remapped, need to pad until the next page boundary. + fprintf(fp_, ".balign 4096\n"); ++#elif defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32) ++ fprintf(fp_, ".balign %d\n", PAGE_SIZE); + #endif + } + diff --git a/devel/electron33/files/patch-v8_src_trap-handler_handler-inside-posix.cc b/devel/electron33/files/patch-v8_src_trap-handler_handler-inside-posix.cc new file mode 100644 index 000000000000..667aa78a93b5 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_trap-handler_handler-inside-posix.cc @@ -0,0 +1,26 @@ +--- v8/src/trap-handler/handler-inside-posix.cc.orig 2024-04-15 20:35:27 UTC ++++ v8/src/trap-handler/handler-inside-posix.cc +@@ -61,6 +61,8 @@ namespace trap_handler { + #define CONTEXT_REG(reg, REG) &uc->uc_mcontext->__ss.__##reg + #elif V8_OS_FREEBSD + #define CONTEXT_REG(reg, REG) &uc->uc_mcontext.mc_##reg ++#elif V8_OS_OPENBSD ++#define CONTEXT_REG(reg, REG) &uc->sc_##reg + #else + #error "Unsupported platform." + #endif +@@ -80,8 +82,12 @@ bool IsKernelGeneratedSignal(siginfo_t* info) { + // si_code at its default of 0 for signals that don’t originate in hardware. + // The other conditions are only relevant for Linux. + return info->si_code > 0 && info->si_code != SI_USER && +- info->si_code != SI_QUEUE && info->si_code != SI_TIMER && +- info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ; ++ info->si_code != SI_QUEUE && info->si_code != SI_TIMER ++#ifdef V8_OS_OPENBSD ++ ; ++#else ++ && info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ; ++#endif + } + + class UnmaskOobSignalScope { diff --git a/devel/electron33/files/patch-v8_src_trap-handler_handler-inside-posix.h b/devel/electron33/files/patch-v8_src_trap-handler_handler-inside-posix.h new file mode 100644 index 000000000000..df777a8a205b --- /dev/null +++ b/devel/electron33/files/patch-v8_src_trap-handler_handler-inside-posix.h @@ -0,0 +1,11 @@ +--- v8/src/trap-handler/handler-inside-posix.h.orig 2022-04-21 18:48:31 UTC ++++ v8/src/trap-handler/handler-inside-posix.h +@@ -13,7 +13,7 @@ namespace v8 { + namespace internal { + namespace trap_handler { + +-#if V8_OS_LINUX || V8_OS_FREEBSD ++#if V8_OS_LINUX || V8_OS_FREEBSD || V8_OS_OPENBSD + constexpr int kOobSignal = SIGSEGV; + #elif V8_OS_DARWIN + constexpr int kOobSignal = SIGBUS; diff --git a/devel/electron33/files/patch-v8_src_trap-handler_trap-handler.h b/devel/electron33/files/patch-v8_src_trap-handler_trap-handler.h new file mode 100644 index 000000000000..c2b9847df2a5 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_trap-handler_trap-handler.h @@ -0,0 +1,11 @@ +--- v8/src/trap-handler/trap-handler.h.orig 2023-05-25 00:46:26 UTC ++++ v8/src/trap-handler/trap-handler.h +@@ -20,7 +20,7 @@ namespace trap_handler { + // X64 on Linux, Windows, MacOS, FreeBSD. + #if V8_HOST_ARCH_X64 && V8_TARGET_ARCH_X64 && \ + ((V8_OS_LINUX && !V8_OS_ANDROID) || V8_OS_WIN || V8_OS_DARWIN || \ +- V8_OS_FREEBSD) ++ V8_OS_FREEBSD || V8_OS_OPENBSD) + #define V8_TRAP_HANDLER_SUPPORTED true + // Arm64 (non-simulator) on Mac and Linux. + #elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && \ diff --git a/devel/electron33/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h b/devel/electron33/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h new file mode 100644 index 000000000000..ff93d0001472 --- /dev/null +++ b/devel/electron33/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32-inl.h @@ -0,0 +1,128 @@ +--- v8/src/wasm/baseline/ia32/liftoff-assembler-ia32-inl.h.orig 2024-10-16 21:35:06 UTC ++++ v8/src/wasm/baseline/ia32/liftoff-assembler-ia32-inl.h +@@ -512,7 +512,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis + } + + void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr, +- Register offset_reg, uint32_t offset_imm, ++ Register offset_reg, uintptr_t offset_imm, + LoadType type, uint32_t* protected_load_pc, + bool /* is_load_mem */, bool /* i64_offset */, + bool needs_shift) { +@@ -592,7 +592,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist + } + + void LiftoffAssembler::Store(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister src, ++ uintptr_t offset_imm, LiftoffRegister src, + StoreType type, LiftoffRegList pinned, + uint32_t* protected_store_pc, + bool /* is_store_mem */, bool /* i64_offset */) { +@@ -671,7 +671,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, + } + + void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, Register src_addr, +- Register offset_reg, uint32_t offset_imm, ++ Register offset_reg, uintptr_t offset_imm, + LoadType type, LiftoffRegList /* pinned */, + bool /* i64_offset */) { + if (type.value() != LoadType::kI64Load) { +@@ -689,7 +689,7 @@ void LiftoffAssembler::AtomicStore(Register dst_addr, + } + + void LiftoffAssembler::AtomicStore(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister src, ++ uintptr_t offset_imm, LiftoffRegister src, + StoreType type, LiftoffRegList pinned, + bool /* i64_offset */) { + DCHECK_LE(offset_imm, std::numeric_limits<int32_t>::max()); +@@ -759,7 +759,7 @@ inline void AtomicAddOrSubOrExchange32(LiftoffAssemble + + inline void AtomicAddOrSubOrExchange32(LiftoffAssembler* lasm, Binop binop, + Register dst_addr, Register offset_reg, +- uint32_t offset_imm, ++ uintptr_t offset_imm, + LiftoffRegister value, + LiftoffRegister result, StoreType type) { + DCHECK_EQ(value, result); +@@ -827,7 +827,7 @@ inline void AtomicBinop32(LiftoffAssembler* lasm, Bino + } + + inline void AtomicBinop32(LiftoffAssembler* lasm, Binop op, Register dst_addr, +- Register offset_reg, uint32_t offset_imm, ++ Register offset_reg, uintptr_t offset_imm, + LiftoffRegister value, LiftoffRegister result, + StoreType type) { + DCHECK_EQ(value, result); +@@ -942,7 +942,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino + } + + inline void AtomicBinop64(LiftoffAssembler* lasm, Binop op, Register dst_addr, +- Register offset_reg, uint32_t offset_imm, ++ Register offset_reg, uintptr_t offset_imm, + LiftoffRegister value, LiftoffRegister result) { + // We need {ebx} here, which is the root register. As the root register it + // needs special treatment. As we use {ebx} directly in the code below, we +@@ -1038,7 +1038,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re + } // namespace liftoff + + void LiftoffAssembler::AtomicAdd(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister value, ++ uintptr_t offset_imm, LiftoffRegister value, + LiftoffRegister result, StoreType type, + bool /* i64_offset */) { + if (type.value() == StoreType::kI64Store) { +@@ -1052,7 +1052,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re + } + + void LiftoffAssembler::AtomicSub(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister value, ++ uintptr_t offset_imm, LiftoffRegister value, + LiftoffRegister result, StoreType type, + bool /* i64_offset */) { + if (type.value() == StoreType::kI64Store) { +@@ -1065,7 +1065,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re + } + + void LiftoffAssembler::AtomicAnd(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister value, ++ uintptr_t offset_imm, LiftoffRegister value, + LiftoffRegister result, StoreType type, + bool /* i64_offset */) { + if (type.value() == StoreType::kI64Store) { +@@ -1079,7 +1079,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg + } + + void LiftoffAssembler::AtomicOr(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister value, ++ uintptr_t offset_imm, LiftoffRegister value, + LiftoffRegister result, StoreType type, + bool /* i64_offset */) { + if (type.value() == StoreType::kI64Store) { +@@ -1093,7 +1093,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re + } + + void LiftoffAssembler::AtomicXor(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister value, ++ uintptr_t offset_imm, LiftoffRegister value, + LiftoffRegister result, StoreType type, + bool /* i64_offset */) { + if (type.value() == StoreType::kI64Store) { +@@ -1107,7 +1107,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add + } + + void LiftoffAssembler::AtomicExchange(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, ++ uintptr_t offset_imm, + LiftoffRegister value, + LiftoffRegister result, StoreType type, + bool /* i64_offset */) { +@@ -1122,7 +1122,7 @@ void LiftoffAssembler::AtomicCompareExchange( + } + + void LiftoffAssembler::AtomicCompareExchange( +- Register dst_addr, Register offset_reg, uint32_t offset_imm, ++ Register dst_addr, Register offset_reg, uintptr_t offset_imm, + LiftoffRegister expected, LiftoffRegister new_value, LiftoffRegister result, + StoreType type, bool /* i64_offset */) { + // We expect that the offset has already been added to {dst_addr}, and no diff --git a/devel/electron33/files/patch-v8_tools_run.py b/devel/electron33/files/patch-v8_tools_run.py new file mode 100644 index 000000000000..c9b15f1c1347 --- /dev/null +++ b/devel/electron33/files/patch-v8_tools_run.py @@ -0,0 +1,11 @@ +--- v8/tools/run.py.orig 2024-10-16 21:35:16 UTC ++++ v8/tools/run.py +@@ -21,7 +21,7 @@ if cmd and cmd[0] == '--redirect-stdout': + kwargs = dict(stdout=subprocess.PIPE) + cmd = cmd[2:] + +-process = subprocess.Popen(cmd, **kwargs) ++process = subprocess.Popen(cmd, env={"LD_LIBRARY_PATH":"${WRKSRC}/out/Release"}, **kwargs) + stdout, _ = process.communicate() + if stdout_file: + with stdout_file.open('w') as f: diff --git a/devel/electron33/files/yarn.lock b/devel/electron33/files/yarn.lock new file mode 100644 index 000000000000..17ec03099c6e --- /dev/null +++ b/devel/electron33/files/yarn.lock @@ -0,0 +1,8226 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@azure/abort-controller@^1.0.0": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@azure/abort-controller/-/abort-controller-1.0.4.tgz#fd3c4d46c8ed67aace42498c8e2270960250eafd" + integrity sha512-lNUmDRVGpanCsiUN3NWxFTdwmdFI53xwhkTFfHDGTYk46ca7Ind3nanJc+U6Zj9Tv+9nTCWRBscWEW1DyKOpTw== + dependencies: + tslib "^2.0.0" + +"@azure/abort-controller@^2.0.0", "@azure/abort-controller@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@azure/abort-controller/-/abort-controller-2.1.2.tgz#42fe0ccab23841d9905812c58f1082d27784566d" + integrity sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA== + dependencies: + tslib "^2.6.2" + +"@azure/core-asynciterator-polyfill@^1.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@azure/core-asynciterator-polyfill/-/core-asynciterator-polyfill-1.0.2.tgz#0dd3849fb8d97f062a39db0e5cadc9ffaf861fec" + integrity sha512-3rkP4LnnlWawl0LZptJOdXNrT/fHp2eQMadoasa6afspXdpGrtPZuAQc2PD0cpgyuoXtUWyC3tv7xfntjGS5Dw== + +"@azure/core-auth@^1.4.0", "@azure/core-auth@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.8.0.tgz#281b4a6d3309c3e7b15bcd967f01d4c79ae4a1d6" + integrity sha512-YvFMowkXzLbXNM11yZtVLhUCmuG0ex7JKOH366ipjmHBhL3vpDcPAeWF+jf0X+jVXwFqo3UhsWUq4kH0ZPdu/g== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-util" "^1.1.0" + tslib "^2.6.2" + +"@azure/core-client@^1.3.0", "@azure/core-client@^1.6.2": + version "1.9.2" + resolved "https://registry.yarnpkg.com/@azure/core-client/-/core-client-1.9.2.tgz#6fc69cee2816883ab6c5cdd653ee4f2ff9774f74" + integrity sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-auth" "^1.4.0" + "@azure/core-rest-pipeline" "^1.9.1" + "@azure/core-tracing" "^1.0.0" + "@azure/core-util" "^1.6.1" + "@azure/logger" "^1.0.0" + tslib "^2.6.2" + +"@azure/core-http-compat@^2.0.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@azure/core-http-compat/-/core-http-compat-2.1.2.tgz#d1585ada24ba750dc161d816169b33b35f762f0d" + integrity sha512-5MnV1yqzZwgNLLjlizsU3QqOeQChkIXw781Fwh1xdAqJR5AA32IUaq6xv1BICJvfbHoa+JYcaij2HFkhLbNTJQ== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-client" "^1.3.0" + "@azure/core-rest-pipeline" "^1.3.0" + +"@azure/core-lro@^2.2.0": + version "2.2.4" + resolved "https://registry.yarnpkg.com/@azure/core-lro/-/core-lro-2.2.4.tgz#42fbf4ae98093c59005206a4437ddcd057c57ca1" + integrity sha512-e1I2v2CZM0mQo8+RSix0x091Av493e4bnT22ds2fcQGslTHzM2oTbswkB65nP4iEpCxBrFxOSDPKExmTmjCVtQ== + dependencies: + "@azure/abort-controller" "^1.0.0" + "@azure/core-tracing" "1.0.0-preview.13" + "@azure/logger" "^1.0.0" + tslib "^2.2.0" + +"@azure/core-paging@^1.1.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@azure/core-paging/-/core-paging-1.2.1.tgz#1b884f563b6e49971e9a922da3c7a20931867b54" + integrity sha512-UtH5iMlYsvg+nQYIl4UHlvvSrsBjOlRF4fs0j7mxd3rWdAStrKYrh2durOpHs5C9yZbVhsVDaisoyaf/lL1EVA== + dependencies: + "@azure/core-asynciterator-polyfill" "^1.0.0" + tslib "^2.2.0" + +"@azure/core-rest-pipeline@^1.10.1", "@azure/core-rest-pipeline@^1.3.0", "@azure/core-rest-pipeline@^1.9.1": + version "1.17.0" + resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.17.0.tgz#55dafa1093553c549ed6d8dbca69aa505c7b3aa3" + integrity sha512-62Vv8nC+uPId3j86XJ0WI+sBf0jlqTqPUFCBNrGtlaUeQUIXWV/D8GE5A1d+Qx8H7OQojn2WguC8kChD6v0shA== + dependencies: + "@azure/abort-controller" "^2.0.0" + "@azure/core-auth" "^1.8.0" + "@azure/core-tracing" "^1.0.1" + "@azure/core-util" "^1.9.0" + "@azure/logger" "^1.0.0" + http-proxy-agent "^7.0.0" + https-proxy-agent "^7.0.0" + tslib "^2.6.2" + +"@azure/core-tracing@1.0.0-preview.13": + version "1.0.0-preview.13" + resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz#55883d40ae2042f6f1e12b17dd0c0d34c536d644" + integrity sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ== + dependencies: + "@opentelemetry/api" "^1.0.1" + tslib "^2.2.0" + +"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1", "@azure/core-tracing@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.1.2.tgz#065dab4e093fb61899988a1cdbc827d9ad90b4ee" + integrity sha512-dawW9ifvWAWmUm9/h+/UQ2jrdvjCJ7VJEuCJ6XVNudzcOwm53BFZH4Q845vjfgoUAM8ZxokvVNxNxAITc502YA== + dependencies: + tslib "^2.6.2" + +"@azure/core-util@^1.1.0", "@azure/core-util@^1.6.1", "@azure/core-util@^1.9.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.10.0.tgz#cf3163382d40343972848c914869864df5d44bdb" + integrity sha512-dqLWQsh9Nro1YQU+405POVtXnwrIVqPyfUzc4zXCbThTg7+vNNaiMkwbX9AMXKyoFYFClxmB3s25ZFr3+jZkww== + dependencies: + "@azure/abort-controller" "^2.0.0" + tslib "^2.6.2" + +"@azure/core-xml@^1.4.3": + version "1.4.3" + resolved "https://registry.yarnpkg.com/@azure/core-xml/-/core-xml-1.4.3.tgz#a74f37a0e584fee7e9adae19f51016d4b59e9ca2" + integrity sha512-D6G7FEmDiTctPKuWegX2WTrS1enKZwqYwdKTO6ZN6JMigcCehlT0/CYl+zWpI9vQ9frwwp7GQT3/owaEXgnOsA== + dependencies: + fast-xml-parser "^4.3.2" + tslib "^2.6.2" + +"@azure/logger@^1.0.0": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96" + integrity sha512-aK4s3Xxjrx3daZr3VylxejK3vG5ExXck5WOHDJ8in/k9AqlfIyFMMT1uG7u8mNjX+QRILTIn0/Xgschfh/dQ9g== + dependencies: + tslib "^2.2.0" + +"@azure/storage-blob@^12.25.0": + version "12.25.0" + resolved "https://registry.yarnpkg.com/@azure/storage-blob/-/storage-blob-12.25.0.tgz#fa9a1d2456cdf6526450a8b73059d2f2e9b1ec76" + integrity sha512-oodouhA3nCCIh843tMMbxty3WqfNT+Vgzj3Xo5jqR9UPnzq3d7mzLjlHAYz7lW+b4km3SIgz+NAgztvhm7Z6kQ== + dependencies: + "@azure/abort-controller" "^2.1.2" + "@azure/core-auth" "^1.4.0" + "@azure/core-client" "^1.6.2" + "@azure/core-http-compat" "^2.0.0" + "@azure/core-lro" "^2.2.0" + "@azure/core-paging" "^1.1.1" + "@azure/core-rest-pipeline" "^1.10.1" + "@azure/core-tracing" "^1.1.2" + "@azure/core-util" "^1.6.1" + "@azure/core-xml" "^1.4.3" + "@azure/logger" "^1.0.0" + events "^3.0.0" + tslib "^2.2.0" + +"@babel/code-frame@^7.0.0": + version "7.5.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" + integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== + dependencies: + "@babel/highlight" "^7.0.0" + +"@babel/helper-validator-identifier@^7.24.5": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" + integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== + +"@babel/highlight@^7.0.0": + version "7.5.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" + integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@dsanders11/vscode-markdown-languageservice@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@dsanders11/vscode-markdown-languageservice/-/vscode-markdown-languageservice-0.3.0.tgz#18a561711609651371961b66db4cb8473ab25564" + integrity sha512-aFNWtK23dNicyLczBwIKkGUSVuMoZMzUovlwqj/hVZ3zRIBlXWYunByDxI67Pf1maA0TbxPjVfRqBQFALWjVHg== + dependencies: + "@vscode/l10n" "^0.0.10" + picomatch "^2.3.1" + vscode-languageserver-textdocument "^1.0.5" + vscode-languageserver-types "^3.17.1" + vscode-uri "^3.0.3" + +"@electron/asar@^3.2.13": + version "3.2.13" + resolved "https://registry.yarnpkg.com/@electron/asar/-/asar-3.2.13.tgz#56565ea423ead184465adfa72663b2c70d9835f2" + integrity sha512-pY5z2qQSwbFzJsBdgfJIzXf5ElHTVMutC2dxh0FD60njknMu3n1NnTABOcQwbb5/v5soqE79m9UjaJryBf3epg== + dependencies: + "@types/glob" "^7.1.0" + commander "^5.0.0" + glob "^7.1.6" + minimatch "^3.0.4" + +"@electron/docs-parser@^1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@electron/docs-parser/-/docs-parser-1.2.3.tgz#183d73cfd585081545f632990063a910682ad41e" + integrity sha512-h79SKDWRX6t9iqk4S+XYaNDQRXCeUDXT3AGDwAp1CfRDemorg3fGBVt362+2eePUwZeEfyzC9RufTCaJX5eykg== + dependencies: + "@types/markdown-it" "^12.0.0" + chai "^4.2.0" + chalk "^3.0.0" + fs-extra "^8.1.0" + lodash.camelcase "^4.3.0" + markdown-it "^12.0.0" + minimist "^1.2.0" + ora "^4.0.3" + pretty-ms "^5.1.0" + +"@electron/fiddle-core@^1.3.4": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@electron/fiddle-core/-/fiddle-core-1.3.4.tgz#29141a97ed0ec7ed1a96ee8bdcaacb60e1a39622" + integrity sha512-jjkZ1TTuyui/ZsEbUbrTllL5SUe1wIt91WANQTpiAygThcceQKy1756PUwHSy0WRKFL0VIke+WU+ki01vEVpQg== + dependencies: + "@electron/get" "^2.0.0" + debug "^4.3.3" + env-paths "^2.2.1" + extract-zip "^2.0.1" + fs-extra "^10.0.0" + getos "^3.2.1" + node-fetch "^2.6.1" + rimraf "^4.4.1" + semver "^7.3.5" + simple-git "^3.5.0" + +"@electron/get@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@electron/get/-/get-2.0.2.tgz#ae2a967b22075e9c25aaf00d5941cd79c21efd7e" + integrity sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g== + dependencies: + debug "^4.1.1" + env-paths "^2.2.0" + fs-extra "^8.1.0" + got "^11.8.5" + progress "^2.0.3" + semver "^6.2.0" + sumchecker "^3.0.1" + optionalDependencies: + global-agent "^3.0.0" + +"@electron/github-app-auth@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@electron/github-app-auth/-/github-app-auth-2.2.1.tgz#ee43ee7495717ff1a459b60f486384a3f584e955" + integrity sha512-CRacgsDnkWIbvdo80XTq5+//CnVzWl1Hd5rVaj7MEZ1B44NwGbh2G9KxzWToOaCCCa09mYIKkHHqLAKUXEc7NA== + dependencies: + "@octokit/auth-app" "^4.0.13" + "@octokit/rest" "^19.0.11" + +"@electron/lint-roller@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@electron/lint-roller/-/lint-roller-2.4.0.tgz#67ab5911400ec1e6a842153acc59613a9522d233" + integrity sha512-U1FDBpNxVbu9TlL8O0F9mmaEimINtdr6RB6gGNVm1aBqOvLs579w0k4aqyYqDIV20HHcuWh/287sll6ou8Pfcw== + dependencies: + "@dsanders11/vscode-markdown-languageservice" "^0.3.0" + ajv "^8.16.0" + balanced-match "^2.0.0" + glob "^8.1.0" + hast-util-from-html "^2.0.1" + markdown-it "^13.0.1" + markdownlint-cli "^0.40.0" + mdast-util-from-markdown "^1.3.0" + minimist "^1.2.8" + rimraf "^4.4.1" + standard "^17.0.0" + unist-util-visit "^4.1.2" + vscode-languageserver "^8.1.0" + vscode-languageserver-textdocument "^1.0.8" + vscode-uri "^3.0.7" + yaml "^2.4.5" + +"@electron/typescript-definitions@^8.15.8": + version "8.15.8" + resolved "https://registry.yarnpkg.com/@electron/typescript-definitions/-/typescript-definitions-8.15.8.tgz#5468e739e06abc418e64374b929780f052467d10" + integrity sha512-AzN6DmAa1Yw0AfbfMPA9JGqBEYXlG0+FZ7Xx3m47mEM4LXAMg5BsBDmJxATBZVyVw0x/ExPRVeiwVVXezeOGYg== + dependencies: + "@types/node" "^11.13.7" + chalk "^2.4.2" + colors "^1.1.2" + debug "^4.1.1" + fs-extra "^7.0.1" + lodash "^4.17.11" + minimist "^1.2.0" + mkdirp "^0.5.1" + ora "^3.4.0" + pretty-ms "^5.0.0" + +"@eslint-community/eslint-utils@^4.1.2", "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.11.0", "@eslint-community/regexpp@^4.6.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.1.tgz#a547badfc719eb3e5f4b556325e542fbe9d7a18f" + integrity sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q== + +"@eslint-community/regexpp@^4.4.0": + version "4.5.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884" + integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ== + +"@eslint/eslintrc@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331" + integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.5.2" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.40.0": + version "8.40.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.40.0.tgz#3ba73359e11f5a7bd3e407f70b3528abfae69cec" + integrity sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA== + +"@eslint/js@8.57.1": + version "8.57.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" + integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== + +"@humanwhocodes/config-array@^0.11.8": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/config-array@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" + integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== + dependencies: + "@humanwhocodes/object-schema" "^2.0.3" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@humanwhocodes/object-schema@^2.0.3": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" + integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/gen-mapping@^0.3.5": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" + integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + dependencies: + "@jridgewell/set-array" "^1.2.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.24" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/set-array@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" + integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== + +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/source-map@^0.3.3": + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/sourcemap-codec@^1.4.14": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== + +"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": + version "0.3.25" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" + integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.14" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" + integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@kwsites/file-exists@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99" + integrity sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw== + dependencies: + debug "^4.1.1" + +"@kwsites/promise-deferred@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919" + integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw== + +"@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + +"@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + +"@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@octokit/auth-app@^4.0.13": + version "4.0.13" + resolved "https://registry.yarnpkg.com/@octokit/auth-app/-/auth-app-4.0.13.tgz#53323bee6bfefbb73ea544dd8e6a0144550e13e3" + integrity sha512-NBQkmR/Zsc+8fWcVIFrwDgNXS7f4XDrkd9LHdi9DPQw1NdGHLviLzRO2ZBwTtepnwHXW5VTrVU9eFGijMUqllg== + dependencies: + "@octokit/auth-oauth-app" "^5.0.0" + "@octokit/auth-oauth-user" "^2.0.0" + "@octokit/request" "^6.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + deprecation "^2.3.1" + lru-cache "^9.0.0" + universal-github-app-jwt "^1.1.1" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-app@^5.0.0": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-app/-/auth-oauth-app-5.0.5.tgz#be2a93d72835133b4866ac4721aa628849475525" + integrity sha512-UPX1su6XpseaeLVCi78s9droxpGtBWIgz9XhXAx9VXabksoF0MyI5vaa1zo1njyYt6VaAjFisC2A2Wchcu2WmQ== + dependencies: + "@octokit/auth-oauth-device" "^4.0.0" + "@octokit/auth-oauth-user" "^2.0.0" + "@octokit/request" "^6.0.0" + "@octokit/types" "^9.0.0" + "@types/btoa-lite" "^1.0.0" + btoa-lite "^1.0.0" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-device@^4.0.0": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-device/-/auth-oauth-device-4.0.3.tgz#00ce77233517e0d7d39e42a02652f64337d9df81" + integrity sha512-KPTx5nMntKjNZzzltO3X4T68v22rd7Cp/TcLJXQE2U8aXPcZ9LFuww9q9Q5WUNSu3jwi3lRwzfkPguRfz1R8Vg== + dependencies: + "@octokit/oauth-methods" "^2.0.0" + "@octokit/request" "^6.0.0" + "@octokit/types" "^8.0.0" + universal-user-agent "^6.0.0" + +"@octokit/auth-oauth-user@^2.0.0": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@octokit/auth-oauth-user/-/auth-oauth-user-2.0.4.tgz#88f060ec678d7d493695af8d827e115dd064e212" + integrity sha512-HrbDzTPqz6GcGSOUkR+wSeF3vEqsb9NMsmPja/qqqdiGmlk/Czkxctc3KeWYogHonp62Ml4kjz2VxKawrFsadQ== + dependencies: + "@octokit/auth-oauth-device" "^4.0.0" + "@octokit/oauth-methods" "^2.0.0" + "@octokit/request" "^6.0.0" + "@octokit/types" "^8.0.0" + btoa-lite "^1.0.0" + universal-user-agent "^6.0.0" + +"@octokit/auth-token@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.3.tgz#ce7e48a3166731f26068d7a7a7996b5da58cbe0c" + integrity sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA== + dependencies: + "@octokit/types" "^9.0.0" + +"@octokit/auth-token@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7" + integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== + +"@octokit/core@^4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.1.tgz#fee6341ad0ce60c29cc455e056cd5b500410a588" + integrity sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw== + dependencies: + "@octokit/auth-token" "^3.0.0" + "@octokit/graphql" "^5.0.0" + "@octokit/request" "^6.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/core@^5.0.2": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-5.2.0.tgz#ddbeaefc6b44a39834e1bb2e58a49a117672a7ea" + integrity sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg== + dependencies: + "@octokit/auth-token" "^4.0.0" + "@octokit/graphql" "^7.1.0" + "@octokit/request" "^8.3.1" + "@octokit/request-error" "^5.1.0" + "@octokit/types" "^13.0.0" + before-after-hook "^2.2.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^7.0.0": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.3.tgz#0b96035673a9e3bedf8bab8f7335de424a2147ed" + integrity sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw== + dependencies: + "@octokit/types" "^8.0.0" + is-plain-object "^5.0.0" + universal-user-agent "^6.0.0" + +"@octokit/endpoint@^9.0.1": + version "9.0.5" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.5.tgz#e6c0ee684e307614c02fc6ac12274c50da465c44" + integrity sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw== + dependencies: + "@octokit/types" "^13.1.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^5.0.0": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.5.tgz#a4cb3ea73f83b861893a6370ee82abb36e81afd2" + integrity sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ== + dependencies: + "@octokit/request" "^6.0.0" + "@octokit/types" "^9.0.0" + universal-user-agent "^6.0.0" + +"@octokit/graphql@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-7.1.0.tgz#9bc1c5de92f026648131f04101cab949eeffe4e0" + integrity sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ== + dependencies: + "@octokit/request" "^8.3.0" + "@octokit/types" "^13.0.0" + universal-user-agent "^6.0.0" + +"@octokit/oauth-authorization-url@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@octokit/oauth-authorization-url/-/oauth-authorization-url-5.0.0.tgz#029626ce87f3b31addb98cd0d2355c2381a1c5a1" + integrity sha512-y1WhN+ERDZTh0qZ4SR+zotgsQUE1ysKnvBt1hvDRB2WRzYtVKQjn97HEPzoehh66Fj9LwNdlZh+p6TJatT0zzg== + +"@octokit/oauth-methods@^2.0.0": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@octokit/oauth-methods/-/oauth-methods-2.0.4.tgz#6abd9593ca7f91fe5068375a363bd70abd5516dc" + integrity sha512-RDSa6XL+5waUVrYSmOlYROtPq0+cfwppP4VaQY/iIei3xlFb0expH6YNsxNrZktcLhJWSpm9uzeom+dQrXlS3A== + dependencies: + "@octokit/oauth-authorization-url" "^5.0.0" + "@octokit/request" "^6.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^8.0.0" + btoa-lite "^1.0.0" + +"@octokit/openapi-types@^14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-14.0.0.tgz#949c5019028c93f189abbc2fb42f333290f7134a" + integrity sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw== + +"@octokit/openapi-types@^16.0.0": + version "16.0.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-16.0.0.tgz#d92838a6cd9fb4639ca875ddb3437f1045cc625e" + integrity sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA== + +"@octokit/openapi-types@^17.2.0": + version "17.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-17.2.0.tgz#f1800b5f9652b8e1b85cc6dfb1e0dc888810bdb5" + integrity sha512-MazrFNx4plbLsGl+LFesMo96eIXkFgEtaKbnNpdh4aQ0VM10aoylFsTYP1AEjkeoRNZiiPe3T6Gl2Hr8dJWdlQ== + +"@octokit/openapi-types@^22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.2.0.tgz#75aa7dcd440821d99def6a60b5f014207ae4968e" + integrity sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg== + +"@octokit/plugin-paginate-rest@11.3.1": + version "11.3.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz#fe92d04b49f134165d6fbb716e765c2f313ad364" + integrity sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g== + dependencies: + "@octokit/types" "^13.5.0" + +"@octokit/plugin-paginate-rest@^6.1.2": + version "6.1.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz#f86456a7a1fe9e58fec6385a85cf1b34072341f8" + integrity sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ== + dependencies: + "@octokit/tsconfig" "^1.0.2" + "@octokit/types" "^9.2.3" + +"@octokit/plugin-request-log@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" + integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== + +"@octokit/plugin-request-log@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz#98a3ca96e0b107380664708111864cb96551f958" + integrity sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA== + +"@octokit/plugin-rest-endpoint-methods@13.2.2": + version "13.2.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz#af8e5dd2cddfea576f92ffaf9cb84659f302a638" + integrity sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA== + dependencies: + "@octokit/types" "^13.5.0" + +"@octokit/plugin-rest-endpoint-methods@^7.1.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.1.2.tgz#b77a8844601d3a394a02200cddb077f3ab841f38" + integrity sha512-R0oJ7j6f/AdqPLtB9qRXLO+wjI9pctUn8Ka8UGfGaFCcCv3Otx14CshQ89K4E88pmyYZS8p0rNTiprML/81jig== + dependencies: + "@octokit/types" "^9.2.3" + deprecation "^2.3.1" + +"@octokit/request-error@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.2.tgz#f74c0f163d19463b87528efe877216c41d6deb0a" + integrity sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg== + dependencies: + "@octokit/types" "^8.0.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request-error@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-5.1.0.tgz#ee4138538d08c81a60be3f320cd71063064a3b30" + integrity sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q== + dependencies: + "@octokit/types" "^13.1.0" + deprecation "^2.0.0" + once "^1.4.0" + +"@octokit/request@^6.0.0": + version "6.2.4" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.4.tgz#b00a7185865c72bdd432e63168b1e900953ded0c" + integrity sha512-at92SYQstwh7HH6+Kf3bFMnHrle7aIrC0r5rTP+Bb30118B6j1vI2/M4walh6qcQgfuLIKs8NUO5CytHTnUI3A== + dependencies: + "@octokit/endpoint" "^7.0.0" + "@octokit/request-error" "^3.0.0" + "@octokit/types" "^9.0.0" + is-plain-object "^5.0.0" + node-fetch "^2.6.7" + universal-user-agent "^6.0.0" + +"@octokit/request@^8.3.0", "@octokit/request@^8.3.1": + version "8.4.0" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-8.4.0.tgz#7f4b7b1daa3d1f48c0977ad8fffa2c18adef8974" + integrity sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw== + dependencies: + "@octokit/endpoint" "^9.0.1" + "@octokit/request-error" "^5.1.0" + "@octokit/types" "^13.1.0" + universal-user-agent "^6.0.0" + +"@octokit/rest@^19.0.11": + version "19.0.11" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.11.tgz#2ae01634fed4bd1fca5b642767205ed3fd36177c" + integrity sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw== + dependencies: + "@octokit/core" "^4.2.1" + "@octokit/plugin-paginate-rest" "^6.1.2" + "@octokit/plugin-request-log" "^1.0.4" + "@octokit/plugin-rest-endpoint-methods" "^7.1.2" + +"@octokit/rest@^20.0.2": + version "20.1.1" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-20.1.1.tgz#ec775864f53fb42037a954b9a40d4f5275b3dc95" + integrity sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw== + dependencies: + "@octokit/core" "^5.0.2" + "@octokit/plugin-paginate-rest" "11.3.1" + "@octokit/plugin-request-log" "^4.0.0" + "@octokit/plugin-rest-endpoint-methods" "13.2.2" + +"@octokit/tsconfig@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@octokit/tsconfig/-/tsconfig-1.0.2.tgz#59b024d6f3c0ed82f00d08ead5b3750469125af7" + integrity sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA== + +"@octokit/types@^13.0.0", "@octokit/types@^13.1.0", "@octokit/types@^13.5.0": + version "13.5.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.5.0.tgz#4796e56b7b267ebc7c921dcec262b3d5bfb18883" + integrity sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ== + dependencies: + "@octokit/openapi-types" "^22.2.0" + +"@octokit/types@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-8.0.0.tgz#93f0b865786c4153f0f6924da067fe0bb7426a9f" + integrity sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg== + dependencies: + "@octokit/openapi-types" "^14.0.0" + +"@octokit/types@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.0.0.tgz#6050db04ddf4188ec92d60e4da1a2ce0633ff635" + integrity sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw== + dependencies: + "@octokit/openapi-types" "^16.0.0" + +"@octokit/types@^9.2.3": + version "9.2.3" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.2.3.tgz#d0af522f394d74b585cefb7efd6197ca44d183a9" + integrity sha512-MMeLdHyFIALioycq+LFcA71v0S2xpQUX2cw6pPbHQjaibcHYwLnmK/kMZaWuGfGfjBJZ3wRUq+dOaWsvrPJVvA== + dependencies: + "@octokit/openapi-types" "^17.2.0" + +"@opentelemetry/api@^1.0.1": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.0.4.tgz#a167e46c10d05a07ab299fc518793b0cff8f6924" + integrity sha512-BuJuXRSJNQ3QoKA6GWWDyuLpOUck+9hAXNMCnrloc1aWVoy6Xq6t9PUV08aBZ4Lutqq2LEHM486bpZqoViScog== + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@primer/octicons@^10.0.0": + version "10.0.0" + resolved "https://registry.yarnpkg.com/@primer/octicons/-/octicons-10.0.0.tgz#81e94ed32545dfd3472c8625a5b345f3ea4c153d" + integrity sha512-iuQubq62zXZjPmaqrsfsCZUqIJgZhmA6W0tKzIKGRbkoLnff4TFFCL87hfIRATZ5qZPM4m8ioT8/bXI7WVa9WQ== + dependencies: + object-assign "^4.1.1" + +"@rtsao/scc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" + integrity sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g== + +"@sindresorhus/is@^4.0.0": + version "4.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" + integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== + +"@sindresorhus/merge-streams@^2.1.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz#719df7fb41766bc143369eaa0dd56d8dc87c9958" + integrity sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg== + +"@szmarczak/http-timer@^4.0.5": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" + integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== + dependencies: + defer-to-connect "^2.0.0" + +"@types/btoa-lite@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/btoa-lite/-/btoa-lite-1.0.0.tgz#e190a5a548e0b348adb0df9ac7fa5f1151c7cca4" + integrity sha512-wJsiX1tosQ+J5+bY5LrSahHxr2wT+uME5UDwdN1kg4frt40euqA+wzECkmq4t5QbveHiJepfdThgQrPw6KiSlg== + +"@types/cacheable-request@^6.0.1": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9" + integrity sha512-B3xVo+dlKM6nnKTcmm5ZtY/OL8bOAOd2Olee9M1zft65ox50OzjEHW91sDiU9j6cvW8Ejg1/Qkf4xd2kugApUA== + dependencies: + "@types/http-cache-semantics" "*" + "@types/keyv" "*" + "@types/node" "*" + "@types/responselike" "*" + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + +"@types/concat-stream@^1.0.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.1.tgz#24bcfc101ecf68e886aaedce60dfd74b632a1b74" + integrity sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA== + dependencies: + "@types/node" "*" + +"@types/debug@^4.0.0": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" + integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== + dependencies: + "@types/ms" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.4" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.4.5" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.5.tgz#acdfb7dd36b91cc5d812d7c093811a8f3d9b31e4" + integrity sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + +"@types/estree@^0.0.51": + version "0.0.51" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" + integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== + +"@types/estree@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/glob@^7.1.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/hast@^3.0.0": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" + integrity sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ== + dependencies: + "@types/unist" "*" + +"@types/http-cache-semantics@*": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" + integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + +"@types/is-empty@^1.0.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@types/is-empty/-/is-empty-1.2.0.tgz#16bc578060c9b0b6953339eea906c255a375bf86" + integrity sha512-brJKf2boFhUxTDxlpI7cstwiUtA2ovm38UzFTi9aZI6//ARncaV+Q5ALjCaJqXaMtdZk/oPTJnSutugsZR6h8A== + +"@types/js-yaml@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.2.tgz#4117a7a378593a218e9d6f0ef44ce6d5d9edf7fa" + integrity sha512-KbeHS/Y4R+k+5sWXEYzAZKuB1yQlZtEghuhRxrVRLaqhtoG5+26JwQsa4HyS3AWX8v1Uwukma5HheduUDskasA== + +"@types/json-buffer@~3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/json-buffer/-/json-buffer-3.0.0.tgz#85c1ff0f0948fc159810d4b5be35bf8c20875f64" + integrity sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ== + +"@types/json-schema@*", "@types/json-schema@^7.0.8": + version "7.0.11" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" + integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== + +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== + +"@types/jsonwebtoken@^9.0.0": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz#29b1369c4774200d6d6f63135bf3d1ba3ef997a4" + integrity sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw== + dependencies: + "@types/node" "*" + +"@types/keyv@*": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" + integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== + dependencies: + "@types/node" "*" + +"@types/linkify-it@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-2.1.0.tgz#ea3dd64c4805597311790b61e872cbd1ed2cd806" + integrity sha512-Q7DYAOi9O/+cLLhdaSvKdaumWyHbm7HAk/bFwwyTuU0arR5yyCeW5GOoqt4tJTpDRxhpx9Q8kQL6vMpuw9hDSw== + +"@types/markdown-it@^12.0.0": + version "12.2.3" + resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-12.2.3.tgz#0d6f6e5e413f8daaa26522904597be3d6cd93b51" + integrity sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ== + dependencies: + "@types/linkify-it" "*" + "@types/mdurl" "*" + +"@types/mdast@^3.0.0": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.7.tgz#cba63d0cc11eb1605cea5c0ad76e02684394166b" + integrity sha512-YwR7OK8aPmaBvMMUi+pZXBNoW2unbVbfok4YRqGMJBe1dpDlzpRkJrYEYmvjxgs5JhuQmKfDexrN98u941Zasg== + dependencies: + "@types/unist" "*" + +"@types/mdurl@*": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" + integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== + +"@types/minimatch@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/minimist@^1.2.5": + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== + +"@types/ms@*": + version "0.7.31" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" + integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + +"@types/node@*": + version "12.6.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.6.1.tgz#d5544f6de0aae03eefbb63d5120f6c8be0691946" + integrity sha512-rp7La3m845mSESCgsJePNL/JQyhkOJA6G4vcwvVgkDAwHhGdq5GCumxmPjEk1MZf+8p5ZQAUE7tqgQRQTXN7uQ== + +"@types/node@^11.13.7": + version "11.13.22" + resolved "https://registry.yarnpkg.com/@types/node/-/node-11.13.22.tgz#91ee88ebfa25072433497f6f3150f84fa8c3a91b" + integrity sha512-rOsaPRUGTOXbRBOKToy4cgZXY4Y+QSVhxcLwdEveozbk7yuudhWMpxxcaXqYizLMP3VY7OcWCFtx9lGFh5j5kg== + +"@types/node@^16.0.0": + version "16.4.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.4.13.tgz#7dfd9c14661edc65cccd43a29eb454174642370d" + integrity sha512-bLL69sKtd25w7p1nvg9pigE4gtKVpGTPojBFLMkGHXuUgap2sLqQt2qUnqmVCDfzGUL0DRNZP+1prIZJbMeAXg== + +"@types/node@^20.9.0": + version "20.9.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.9.0.tgz#bfcdc230583aeb891cf51e73cfdaacdd8deae298" + integrity sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw== + dependencies: + undici-types "~5.26.4" + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/repeat-string@^1.0.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@types/repeat-string/-/repeat-string-1.6.1.tgz#8bb5686e662ce1d962271b0b043623bf51404cdc" + integrity sha512-vdna8kjLGljgtPnYN6MBD2UwX62QE0EFLj9QlLXvg6dEu66NksXB900BNguBCMZZY2D9SSqncUskM23vT3uvWQ== + +"@types/responselike@*", "@types/responselike@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" + integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + dependencies: + "@types/node" "*" + +"@types/semver@^7.5.8": + version "7.5.8" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" + integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== + +"@types/stream-chain@*": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/stream-chain/-/stream-chain-2.0.0.tgz#aed7fc21ac3686bc721aebbbd971f5a857e567e4" + integrity sha512-O3IRJcZi4YddlS8jgasH87l+rdNmad9uPAMmMZCfRVhumbWMX6lkBWnIqr9kokO5sx8LHp8peQ1ELhMZHbR0Gg== + dependencies: + "@types/node" "*" + +"@types/stream-json@^1.7.7": + version "1.7.7" + resolved "https://registry.yarnpkg.com/@types/stream-json/-/stream-json-1.7.7.tgz#8660101e15ee52e9a2370727334269ad7ec6a759" + integrity sha512-hHG7cLQ09H/m9i0jzL6UJAeLLxIWej90ECn0svO4T8J0nGcl89xZDQ2ujT4WKlvg0GWkcxJbjIDzW/v7BYUM6Q== + dependencies: + "@types/node" "*" + "@types/stream-chain" "*" + +"@types/supports-color@^8.0.0": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/supports-color/-/supports-color-8.1.1.tgz#1b44b1b096479273adf7f93c75fc4ecc40a61ee4" + integrity sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw== + +"@types/temp@^0.9.4": + version "0.9.4" + resolved "https://registry.yarnpkg.com/@types/temp/-/temp-0.9.4.tgz#69bd4b0e8fc4d54db06bd1b613c19292d333350b" + integrity sha512-+VfWIwrlept2VBTj7Y2wQnI/Xfscy1u8Pyj/puYwss6V1IblXn1x7S0S9eFh6KyBolgLCm+rUFzhFAbdkR691g== + dependencies: + "@types/node" "*" + +"@types/text-table@^0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@types/text-table/-/text-table-0.2.2.tgz#774c90cfcfbc8b4b0ebb00fecbe861dc8b1e8e26" + integrity sha512-dGoI5Af7To0R2XE8wJuc6vwlavWARsCh3UKJPjWs1YEqGUqfgBI/j/4GX0yf19/DsDPPf0YAXWAp8psNeIehLg== + +"@types/unist@*", "@types/unist@^2.0.0": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" + integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== + +"@types/unist@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" + integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== + +"@types/unist@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20" + integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== + +"@types/webpack-env@^1.18.5": + version "1.18.5" + resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.5.tgz#eccda0b04fe024bed505881e2e532f9c119169bf" + integrity sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA== + +"@types/webpack@^5.28.5": + version "5.28.5" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-5.28.5.tgz#0e9d9a15efa09bbda2cef41356ca4ac2031ea9a2" + integrity sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw== + dependencies: + "@types/node" "*" + tapable "^2.2.0" + webpack "^5" + +"@types/yauzl@^2.9.1": + version "2.10.0" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" + integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== + dependencies: + "@types/node" "*" + +"@typescript-eslint/eslint-plugin@^8.7.0": + version "8.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.7.0.tgz#d0070f206daad26253bf00ca5b80f9b54f9e2dd0" + integrity sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "8.7.0" + "@typescript-eslint/type-utils" "8.7.0" + "@typescript-eslint/utils" "8.7.0" + "@typescript-eslint/visitor-keys" "8.7.0" + graphemer "^1.4.0" + ignore "^5.3.1" + natural-compare "^1.4.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/parser@^8.7.0": + version "8.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.7.0.tgz#a567b0890d13db72c7348e1d88442ea8ab4e9173" + integrity sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ== + dependencies: + "@typescript-eslint/scope-manager" "8.7.0" + "@typescript-eslint/types" "8.7.0" + "@typescript-eslint/typescript-estree" "8.7.0" + "@typescript-eslint/visitor-keys" "8.7.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@8.7.0": + version "8.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz#90ee7bf9bc982b9260b93347c01a8bc2b595e0b8" + integrity sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg== + dependencies: + "@typescript-eslint/types" "8.7.0" + "@typescript-eslint/visitor-keys" "8.7.0" + +"@typescript-eslint/type-utils@8.7.0": + version "8.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.7.0.tgz#d56b104183bdcffcc434a23d1ce26cde5e42df93" + integrity sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ== + dependencies: + "@typescript-eslint/typescript-estree" "8.7.0" + "@typescript-eslint/utils" "8.7.0" + debug "^4.3.4" + ts-api-utils "^1.3.0" + +"@typescript-eslint/types@8.7.0": + version "8.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.7.0.tgz#21d987201c07b69ce7ddc03451d7196e5445ad19" + integrity sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w== + +"@typescript-eslint/typescript-estree@8.7.0": + version "8.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz#6c7db6baa4380b937fa81466c546d052f362d0e8" + integrity sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg== + dependencies: + "@typescript-eslint/types" "8.7.0" + "@typescript-eslint/visitor-keys" "8.7.0" + debug "^4.3.4" + fast-glob "^3.3.2" + is-glob "^4.0.3" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" + +"@typescript-eslint/utils@8.7.0": + version "8.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.7.0.tgz#cef3f70708b5b5fd7ed8672fc14714472bd8a011" + integrity sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@typescript-eslint/scope-manager" "8.7.0" + "@typescript-eslint/types" "8.7.0" + "@typescript-eslint/typescript-estree" "8.7.0" + +"@typescript-eslint/visitor-keys@8.7.0": + version "8.7.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz#5e46f1777f9d69360a883c1a56ac3c511c9659a8" + integrity sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ== + dependencies: + "@typescript-eslint/types" "8.7.0" + eslint-visitor-keys "^3.4.3" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@vscode/l10n@^0.0.10": + version "0.0.10" + resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.10.tgz#9c513107c690c0dd16e3ec61e453743de15ebdb0" + integrity sha512-E1OCmDcDWa0Ya7vtSjp/XfHFGqYJfh+YPC1RkATU71fTac+j1JjCcB3qwSzmlKAighx2WxhLlfhS0RwAN++PFQ== + +"@webassemblyjs/ast@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + +"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" + integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== + +"@webassemblyjs/helper-buffer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" + integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== + +"@webassemblyjs/helper-numbers@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + +"@webassemblyjs/helper-wasm-section@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" + integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.12.1" + +"@webassemblyjs/ieee754@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/helper-wasm-section" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-opt" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + "@webassemblyjs/wast-printer" "1.11.1" + +"@webassemblyjs/wasm-edit@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" + integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-opt" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + "@webassemblyjs/wast-printer" "1.12.1" + +"@webassemblyjs/wasm-gen@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wasm-gen@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" + integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-buffer" "1.11.1" + "@webassemblyjs/wasm-gen" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + +"@webassemblyjs/wasm-opt@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" + integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-buffer" "1.12.1" + "@webassemblyjs/wasm-gen" "1.12.1" + "@webassemblyjs/wasm-parser" "1.12.1" + +"@webassemblyjs/wasm-parser@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/helper-wasm-bytecode" "1.11.1" + "@webassemblyjs/ieee754" "1.11.1" + "@webassemblyjs/leb128" "1.11.1" + "@webassemblyjs/utf8" "1.11.1" + +"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" + integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.1": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== + dependencies: + "@webassemblyjs/ast" "1.11.1" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.12.1": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" + integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== + dependencies: + "@webassemblyjs/ast" "1.12.1" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== + +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== + +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +acorn-import-assertions@^1.7.6: + version "1.8.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" + integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== + +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== + +acorn@^8.8.2, acorn@^8.9.0: + version "8.12.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248" + integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg== + +agent-base@^7.0.2, agent-base@^7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" + integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== + dependencies: + debug "^4.3.4" + +aggregate-error@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" + integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.16.0: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== + dependencies: + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + +ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-escapes@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" + integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + dependencies: + type-fest "^0.11.0" + +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + dependencies: + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" + +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.0.3.tgz#2fb624fe0e84bccab00afee3d0006ed310f22f09" + integrity sha512-c6IvoeBECQlMVuYUjSwimnhmztImpErfxJzWZhIQinIvQWoGOnB0dLIgifbPHQt5heS6mNlaZG16f06H3C8t1g== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-buffer-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" + integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== + dependencies: + call-bind "^1.0.5" + is-array-buffer "^3.0.4" + +array-includes@^3.1.5, array-includes@^3.1.6: + version "3.1.6" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" + integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + is-string "^1.0.7" + +array-includes@^3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" + integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.4" + is-string "^1.0.7" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +array.prototype.findlastindex@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" + integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-shim-unscopables "^1.0.2" + +array.prototype.flat@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" + integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" + integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" + integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.1.3" + +arraybuffer.prototype.slice@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" + integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.5" + define-properties "^1.2.1" + es-abstract "^1.22.3" + es-errors "^1.2.1" + get-intrinsic "^1.2.3" + is-array-buffer "^3.0.4" + is-shared-array-buffer "^1.0.2" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async@^3.2.0: + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +bail@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.1.tgz#d676736373a374058a935aec81b94c12ba815771" + integrity sha512-d5FoTAr2S5DSUPKl85WNm2yUwsINN8eidIdIwsOge2t33DaOfOdSmmsI11jMN3GmALCXaw+Y6HMVHDzePshFAA== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +balanced-match@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" + integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +before-after-hook@^2.2.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c" + integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" + integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + +boolean@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" + integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2, braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + +browserslist@^4.14.5: + version "4.21.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.2.tgz#59a400757465535954946a400b841ed37e2b4ecf" + integrity sha512-MonuOgAtUB46uP5CezYbRaYKBNt2LxP0yX+Pmj4LkcDFGkn9Cbpi83d9sCjwQDErXsIJSzY5oKGDbgOlF/LPAA== + dependencies: + caniuse-lite "^1.0.30001366" + electron-to-chromium "^1.4.188" + node-releases "^2.0.6" + update-browserslist-db "^1.0.4" + +browserslist@^4.21.10, browserslist@^4.23.3: + version "4.23.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" + integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== + dependencies: + caniuse-lite "^1.0.30001646" + electron-to-chromium "^1.5.4" + node-releases "^2.0.18" + update-browserslist-db "^1.1.0" + +btoa-lite@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" + integrity sha512-gvW7InbIyF8AicrqWoptdW08pUxuhq8BEgowNajy9RhiE86fmGAGl+bLKo6oB8QP0CkqHLowfN0oJdKC/J6LbA== + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-from@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + +builtins@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-4.0.0.tgz#a8345420de82068fdc4d6559d0456403a8fb1905" + integrity sha512-qC0E2Dxgou1IHhvJSLwGDSTvokbRovU5zZFuDY6oY8Y2lF3nGt5Ad8YZK7GMtqzY84Wu7pXTPeHQeHcXSXsRhw== + dependencies: + semver "^7.0.0" + +builtins@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-5.0.1.tgz#87f6db9ab0458be728564fa81d876d8d74552fa9" + integrity sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ== + dependencies: + semver "^7.0.0" + +cacheable-lookup@^5.0.3: + version "5.0.4" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" + integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== + +cacheable-request@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" + integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^4.0.0" + lowercase-keys "^2.0.0" + normalize-url "^6.0.1" + responselike "^2.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" + integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + set-function-length "^1.2.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-lite@^1.0.30001366: + version "1.0.30001367" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001367.tgz#2b97fe472e8fa29c78c5970615d7cd2ee414108a" + integrity sha512-XDgbeOHfifWV3GEES2B8rtsrADx4Jf+juKX2SICJcaUhjYBO3bR96kvEIHa15VU6ohtOhBZuPGGYGbXMRn0NCw== + +caniuse-lite@^1.0.30001646: + version "1.0.30001666" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001666.tgz#112d77e80f1762f62a1b71ba92164e0cb3f3dd13" + integrity sha512-gD14ICmoV5ZZM1OdzPWmpx+q4GyefaK06zi8hmfHV5xe4/2nOQX3+Dw5o+fSqOws2xVwL9j+anOPFwHzdEdV4g== + +chai@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" + integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.2" + deep-eql "^3.0.1" + get-func-name "^2.0.0" + pathval "^1.1.0" + type-detect "^4.0.5" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + +character-entities-legacy@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-2.0.0.tgz#57f4d00974c696e8f74e9f493e7fcb75b44d7ee7" + integrity sha512-YwaEtEvWLpFa6Wh3uVLrvirA/ahr9fki/NUd/Bd4OR6EdJ8D22hovYQEOUCBfQfcqnC4IAMGMsHXY1eXgL4ZZA== + +character-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.0.tgz#508355fcc8c73893e0909efc1a44d28da2b6fdf3" + integrity sha512-oHqMj3eAuJ77/P5PaIRcqk+C3hdfNwyCD2DAUcD5gyXkegAuF2USC40CEqPscDk4I8FRGMTojGJQkXDsN5QlJA== + +character-reference-invalid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.0.tgz#a0bdeb89c051fe7ed5d3158b2f06af06984f2813" + integrity sha512-pE3Z15lLRxDzWJy7bBHBopRwfI20sbrMVLQTC7xsPglCHf4Wv1e167OgYAFP78co2XlhojDyAqA+IAJse27//g== + +check-error@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= + +check-for-leaks@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/check-for-leaks/-/check-for-leaks-1.2.1.tgz#4ac108ee3f8e6b99f5ad36f6b98cba1d7f4816d0" + integrity sha512-9OdOSRZY6N0w5JCdJpqsC5MkD6EPGYpHmhtf4l5nl3DRETDZshP6C1EGN/vVhHDTY6AsOK3NhdFfrMe3NWZl7g== + dependencies: + anymatch "^3.0.2" + minimist "^1.2.0" + parse-gitignore "^0.4.0" + walk-sync "^0.3.2" + +chokidar@^3.0.0: + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" + integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== + dependencies: + tslib "^1.9.0" + +ci-info@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2" + integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== + +clean-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" + integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== + dependencies: + escape-string-regexp "^1.0.5" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-spinners@^2.0.0, cli-spinners@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77" + integrity sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ== + +cli-truncate@2.1.0, cli-truncate@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== + dependencies: + slice-ansi "^3.0.0" + string-width "^4.2.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +co@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" + integrity sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g= + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.14: + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== + +colors@^1.1.2: + version "1.3.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" + integrity sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg== + +comma-separated-tokens@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" + integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== + +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^5.0.0, commander@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@~12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-12.0.0.tgz#b929db6df8546080adfd004ab215ed48cf6f2592" + integrity sha512-MwVNWlYjDTtOjX5PiD7o5pK0UrFU/OYgcJfjjK4RaHZETNtjJqrZa9Y9ds88+A+f+d5lv+561eZ+yCKoS3gbAA== + +compress-brotli@^1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/compress-brotli/-/compress-brotli-1.3.8.tgz#0c0a60c97a989145314ec381e84e26682e7b38db" + integrity sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ== + dependencies: + "@types/json-buffer" "~3.0.0" + json-buffer "~3.0.1" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + +core-js-compat@^3.37.0: + version "3.38.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" + integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw== + dependencies: + browserslist "^4.23.3" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" + +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +data-view-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" + integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" + integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +data-view-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" + integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-data-view "^1.0.1" + +debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + +debug@^3.1.0, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +decode-named-character-reference@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" + integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== + dependencies: + character-entities "^2.0.0" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= + +deep-eql@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== + dependencies: + type-detect "^4.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +defer-to-connect@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" + integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== + +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +deprecation@^2.0.0, deprecation@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" + integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== + +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +devlop@^1.0.0, devlop@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== + dependencies: + dequal "^2.0.0" + +diff@^3.1.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" + integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== + +diff@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" + integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dotenv-safe@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/dotenv-safe/-/dotenv-safe-4.0.4.tgz#8b0e7ced8e70b1d3c5d874ef9420e406f39425b3" + integrity sha1-iw587Y5wsdPF2HTvlCDkBvOUJbM= + dependencies: + dotenv "^4.0.0" + +dotenv@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-4.0.0.tgz#864ef1379aced55ce6f95debecdce179f7a0cd1d" + integrity sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0= + +dugite@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/dugite/-/dugite-2.7.1.tgz#277275fd490bddf20180e124d119f84f708dfb32" + integrity sha512-X7v7JngMG6RGHKCKKF0fdqYC9Xcw0CDes43an6dQW2N2dYNd/OOLq3BFszCOyOObgKnrmNVvyggk3O4WGJMpcA== + dependencies: + progress "^2.0.3" + tar "^6.1.11" + +duplexer@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + +electron-to-chromium@^1.4.188: + version "1.4.195" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.195.tgz#139b2d95a42a3f17df217589723a1deac71d1473" + integrity sha512-vefjEh0sk871xNmR5whJf9TEngX+KTKS3hOHpjoMpauKkwlGwtMz1H8IaIjAT/GNnX0TbGwAdmVoXCAzXf+PPg== + +electron-to-chromium@^1.5.4: + version "1.5.31" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.31.tgz#b1478418769dec72ea70d9fdf147a81491857f10" + integrity sha512-QcDoBbQeYt0+3CWcK/rEbuHvwpbT/8SV9T3OSgs6cX1FlcUAkgrkqbg9zLnDrMM/rLamzQwal4LYFCiWk861Tg== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" + integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + tapable "^1.0.0" + +enhanced-resolve@^5.10.0: + version "5.12.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" + integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enhanced-resolve@^5.17.1: + version "5.17.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" + integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +ensure-posix-path@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ensure-posix-path/-/ensure-posix-path-1.1.1.tgz#3c62bdb19fa4681544289edb2b382adc029179ce" + integrity sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw== + +entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +entities@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== + +entities@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + +env-paths@^2.2.0, env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +envinfo@^7.7.3: + version "7.8.1" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" + integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== + +errno@^0.1.3: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.19.0, es-abstract@^1.20.4: + version "1.21.2" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" + integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== + dependencies: + array-buffer-byte-length "^1.0.0" + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.5" + get-intrinsic "^1.2.0" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.10" + is-weakref "^1.0.2" + object-inspect "^1.12.3" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.4.3" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.7" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.9" + +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: + version "1.23.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" + integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.2" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + +es-define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" + integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== + dependencies: + get-intrinsic "^1.2.4" + +es-errors@^1.2.1, es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-module-lexer@^0.9.0: + version "0.9.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" + integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== + +es-module-lexer@^1.2.1: + version "1.5.4" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.4.tgz#a8efec3a3da991e60efa6b633a7cad6ab8d26b78" + integrity sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw== + +es-object-atoms@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" + integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" + integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + dependencies: + get-intrinsic "^1.1.3" + has "^1.0.3" + has-tostringtag "^1.0.0" + +es-set-tostringtag@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" + integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== + dependencies: + get-intrinsic "^1.2.4" + has-tostringtag "^1.0.2" + hasown "^2.0.1" + +es-shim-unscopables@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" + integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + dependencies: + has "^1.0.3" + +es-shim-unscopables@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-error@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-compat-utils@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz#7fc92b776d185a70c4070d03fd26fde3d59652e4" + integrity sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q== + dependencies: + semver "^7.5.4" + +eslint-config-standard-jsx@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard-jsx/-/eslint-config-standard-jsx-11.0.0.tgz#70852d395731a96704a592be5b0bfaccfeded239" + integrity sha512-+1EV/R0JxEK1L0NGolAr8Iktm3Rgotx3BKwgaX+eAuSX8D952LULKtjgZD3F+e6SvibONnhLwoTi9DPxN5LvvQ== + +eslint-config-standard@17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz#fd5b6cf1dcf6ba8d29f200c461de2e19069888cf" + integrity sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg== + +eslint-config-standard@^17.1.0: + version "17.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz#40ffb8595d47a6b242e07cbfd49dc211ed128975" + integrity sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q== + +eslint-import-resolver-node@^0.3.7: + version "0.3.7" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" + integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== + dependencies: + debug "^3.2.7" + is-core-module "^2.11.0" + resolve "^1.22.1" + +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== + dependencies: + debug "^3.2.7" + is-core-module "^2.13.0" + resolve "^1.22.4" + +eslint-module-utils@^2.7.4: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== + dependencies: + debug "^3.2.7" + +eslint-module-utils@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.11.0.tgz#b99b211ca4318243f09661fae088f373ad5243c4" + integrity sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ== + dependencies: + debug "^3.2.7" + +eslint-plugin-es-x@^7.5.0: + version "7.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz#a207aa08da37a7923f2a9599e6d3eb73f3f92b74" + integrity sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ== + dependencies: + "@eslint-community/eslint-utils" "^4.1.2" + "@eslint-community/regexpp" "^4.11.0" + eslint-compat-utils "^0.5.1" + +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-es@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-4.1.0.tgz#f0822f0c18a535a97c3e714e89f88586a7641ec9" + integrity sha512-GILhQTnjYE2WorX5Jyi5i4dz5ALWxBIdQECVQavL6s7cI76IZTDWleTHkxz/QT3kvcs2QlGHvKLYsSlPOlPXnQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + +eslint-plugin-import@^2.26.0: + version "2.27.5" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" + integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + array.prototype.flatmap "^1.3.1" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.7" + eslint-module-utils "^2.7.4" + has "^1.0.3" + is-core-module "^2.11.0" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.values "^1.1.6" + resolve "^1.22.1" + semver "^6.3.0" + tsconfig-paths "^3.14.1" + +eslint-plugin-import@^2.30.0: + version "2.30.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz#21ceea0fc462657195989dd780e50c92fe95f449" + integrity sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw== + dependencies: + "@rtsao/scc" "^1.1.0" + array-includes "^3.1.8" + array.prototype.findlastindex "^1.2.5" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" + debug "^3.2.7" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.9.0" + hasown "^2.0.2" + is-core-module "^2.15.1" + is-glob "^4.0.3" + minimatch "^3.1.2" + object.fromentries "^2.0.8" + object.groupby "^1.0.3" + object.values "^1.2.0" + semver "^6.3.1" + tsconfig-paths "^3.15.0" + +eslint-plugin-mocha@^10.5.0: + version "10.5.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-10.5.0.tgz#0aca8d709e7cddef566e0dc252f6b02e307a2b7e" + integrity sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw== + dependencies: + eslint-utils "^3.0.0" + globals "^13.24.0" + rambda "^7.4.0" + +eslint-plugin-n@^15.1.0: + version "15.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-15.7.0.tgz#e29221d8f5174f84d18f2eb94765f2eeea033b90" + integrity sha512-jDex9s7D/Qial8AGVIHq4W7NswpUD5DPDL2RH8Lzd9EloWUuvUkHfv4FRLMipH5q2UtyurorBkPeNi1wVWNh3Q== + dependencies: + builtins "^5.0.1" + eslint-plugin-es "^4.1.0" + eslint-utils "^3.0.0" + ignore "^5.1.1" + is-core-module "^2.11.0" + minimatch "^3.1.2" + resolve "^1.22.1" + semver "^7.3.8" + +eslint-plugin-n@^16.6.2: + version "16.6.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz#6a60a1a376870064c906742272074d5d0b412b0b" + integrity sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + builtins "^5.0.1" + eslint-plugin-es-x "^7.5.0" + get-tsconfig "^4.7.0" + globals "^13.24.0" + ignore "^5.2.4" + is-builtin-module "^3.2.1" + is-core-module "^2.12.1" + minimatch "^3.1.2" + resolve "^1.22.2" + semver "^7.5.3" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + +eslint-plugin-promise@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.1.1.tgz#269a3e2772f62875661220631bd4dafcb4083816" + integrity sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig== + +eslint-plugin-promise@^6.6.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.6.0.tgz#acd3fd7d55cead7a10f92cf698f36c0aafcd717a" + integrity sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ== + +eslint-plugin-react@^7.28.0: + version "7.32.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" + integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.0" + string.prototype.matchall "^4.0.8" + +eslint-plugin-standard@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-5.0.0.tgz#c43f6925d669f177db46f095ea30be95476b1ee4" + integrity sha512-eSIXPc9wBM4BrniMzJRBm2uoVuXz2EPa+NXPk2+itrVt+r5SbKFERx/IgrK/HmfjddyKVz2f+j+7gBRvu19xLg== + +eslint-plugin-unicorn@^55.0.0: + version "55.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-55.0.0.tgz#e2aeb397914799895702480970e7d148df5bcc7b" + integrity sha512-n3AKiVpY2/uDcGrS3+QsYDkjPfaOrNrsfQxU9nt5nitd9KuvVXrfAvgCO9DYPSfap+Gqjw9EOrXIsBp5tlHZjA== + dependencies: + "@babel/helper-validator-identifier" "^7.24.5" + "@eslint-community/eslint-utils" "^4.4.0" + ci-info "^4.0.0" + clean-regexp "^1.0.0" + core-js-compat "^3.37.0" + esquery "^1.5.0" + globals "^15.7.0" + indent-string "^4.0.0" + is-builtin-module "^3.2.1" + jsesc "^3.0.2" + pluralize "^8.0.0" + read-pkg-up "^7.0.1" + regexp-tree "^0.1.27" + regjsparser "^0.10.0" + semver "^7.6.1" + strip-indent "^3.0.0" + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" + integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== + +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" + integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== + +eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +eslint@^8.13.0: + version "8.40.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.40.0.tgz#a564cd0099f38542c4e9a2f630fa45bf33bc42a4" + integrity sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.4.0" + "@eslint/eslintrc" "^2.0.3" + "@eslint/js" "8.40.0" + "@humanwhocodes/config-array" "^0.11.8" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.0" + eslint-visitor-keys "^3.4.1" + espree "^9.5.2" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + grapheme-splitter "^1.0.4" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-sdsl "^4.1.4" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.1" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + +eslint@^8.57.1: + version "8.57.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" + integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.57.1" + "@humanwhocodes/config-array" "^0.13.0" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.5.2: + version "9.5.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b" + integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw== + dependencies: + acorn "^8.8.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esquery@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" + integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" + integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== + +estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +events-to-array@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/events-to-array/-/events-to-array-1.1.2.tgz#2d41f563e1fe400ed4962fe1a4d5c6a7539df7f6" + integrity sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y= + +events@^3.0.0, events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.3.tgz#0a34dabbad6d66100bd6f2c576c8669403f317f2" + integrity sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A== + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fast-uri@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" + integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + +fast-xml-parser@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.5.0.tgz#2882b7d01a6825dfdf909638f2de0256351def37" + integrity sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg== + dependencies: + strnum "^1.0.5" + +fastest-levenshtein@^1.0.12: + version "1.0.14" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.14.tgz#9054384e4b7a78c88d01a4432dc18871af0ac859" + integrity sha512-tFfWHjnuUfKE186Tfgr+jtaFc0mZTApEgKDOeyN+FwOqRkO/zK/3h1AiRd8u8CY53owL3CUmGr/oI9p/RdyLTA== + +fastq@^1.6.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz#550e1f9f59bbc65fe185cb6a9b4d95357107f481" + integrity sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q== + dependencies: + reusify "^1.0.4" + +fault@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.0.tgz#ad2198a6e28e344dcda76a7b32406b1039f0b707" + integrity sha512-JsDj9LFcoC+4ChII1QpXPA7YIaY8zmqPYw7h9j5n7St7a0BBKfNnwEBAUQRBx70o2q4rs+BeSNHk8Exm6xE7fQ== + dependencies: + format "^0.2.0" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" + integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + +figures@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +folder-hash@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/folder-hash/-/folder-hash-2.1.2.tgz#7109f9cd0cbca271936d1b5544b156d6571e6cfd" + integrity sha512-PmMwEZyNN96EMshf7sek4OIB7ADNsHOJ7VIw7pO0PBI0BNfEsi7U8U56TBjjqqwQ0WuBv8se0HEfmbw5b/Rk+w== + dependencies: + debug "^3.1.0" + graceful-fs "~4.1.11" + minimatch "~3.0.4" + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +format@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" + integrity sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs= + +fs-extra@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" + integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.0" + functions-have-names "^1.2.2" + +function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functions-have-names@^1.2.2, functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +get-func-name@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" + integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz#b877b49a5c16aefac3655f2ed2ea5b684df8d203" + integrity sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg== + +get-stdin@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== + +get-stdin@~9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-9.0.0.tgz#3983ff82e03d56f1b2ea0d3e60325f39d703a575" + integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== + +get-stream@^5.0.0, get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +get-symbol-description@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" + integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== + dependencies: + call-bind "^1.0.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + +get-tsconfig@^4.7.0: + version "4.8.1" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.8.1.tgz#8995eb391ae6e1638d251118c7b56de7eb425471" + integrity sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg== + dependencies: + resolve-pkg-maps "^1.0.0" + +getos@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" + integrity sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q== + dependencies: + async "^3.2.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +glob@^9.2.0: + version "9.3.5" + resolved "https://registry.yarnpkg.com/glob/-/glob-9.3.5.tgz#ca2ed8ca452781a3009685607fdf025a899dfe21" + integrity sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q== + dependencies: + fs.realpath "^1.0.0" + minimatch "^8.0.2" + minipass "^4.2.4" + path-scurry "^1.6.1" + +glob@~10.3.12: + version "10.3.12" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b" + integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.6" + minimatch "^9.0.1" + minipass "^7.0.4" + path-scurry "^1.10.2" + +global-agent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-agent/-/global-agent-3.0.0.tgz#ae7cd31bd3583b93c5a16437a1afe27cc33a1ab6" + integrity sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q== + dependencies: + boolean "^3.0.1" + es6-error "^4.1.1" + matcher "^3.0.0" + roarr "^2.15.3" + semver "^7.3.2" + serialize-error "^7.0.1" + +globals@^13.19.0: + version "13.20.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globals@^13.24.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globals@^15.7.0: + version "15.9.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-15.9.0.tgz#e9de01771091ffbc37db5714dab484f9f69ff399" + integrity sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA== + +globalthis@^1.0.1, globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-14.0.1.tgz#a1b44841aa7f4c6d8af2bc39951109d77301959b" + integrity sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ== + dependencies: + "@sindresorhus/merge-streams" "^2.1.0" + fast-glob "^3.3.2" + ignore "^5.2.4" + path-type "^5.0.0" + slash "^5.1.0" + unicorn-magic "^0.1.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^11.8.5: + version "11.8.5" + resolved "https://registry.yarnpkg.com/got/-/got-11.8.5.tgz#ce77d045136de56e8f024bebb82ea349bc730046" + integrity sha512-o0Je4NvQObAuZPHLFoRSkdG2lTgtcynqymzg2Vupdx6PorhaT5MCbIyXG6d4D94kk8ZG57QeosgdiqfJWhEhlQ== + dependencies: + "@sindresorhus/is" "^4.0.0" + "@szmarczak/http-timer" "^4.0.5" + "@types/cacheable-request" "^6.0.1" + "@types/responselike" "^1.0.0" + cacheable-lookup "^5.0.3" + cacheable-request "^7.0.2" + decompress-response "^6.0.0" + http2-wrapper "^1.0.0-beta.5.2" + lowercase-keys "^2.0.0" + p-cancelable "^2.0.0" + responselike "^2.0.0" + +graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +graceful-fs@^4.2.11: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +graceful-fs@~4.1.11: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + +grapheme-splitter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" + integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-flag@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-5.0.1.tgz#5483db2ae02a472d1d0691462fc587d1843cd940" + integrity sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-proto@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" + integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +hast-util-from-html@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/hast-util-from-html/-/hast-util-from-html-2.0.1.tgz#9cd38ee81bf40b2607368b92a04b0905fa987488" + integrity sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g== + dependencies: + "@types/hast" "^3.0.0" + devlop "^1.1.0" + hast-util-from-parse5 "^8.0.0" + parse5 "^7.0.0" + vfile "^6.0.0" + vfile-message "^4.0.0" + +hast-util-from-parse5@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz#654a5676a41211e14ee80d1b1758c399a0327651" + integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ== + dependencies: + "@types/hast" "^3.0.0" + "@types/unist" "^3.0.0" + devlop "^1.0.0" + hastscript "^8.0.0" + property-information "^6.0.0" + vfile "^6.0.0" + vfile-location "^5.0.0" + web-namespaces "^2.0.0" + +hast-util-parse-selector@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz#352879fa86e25616036037dd8931fb5f34cb4a27" + integrity sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A== + dependencies: + "@types/hast" "^3.0.0" + +hastscript@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-8.0.0.tgz#4ef795ec8dee867101b9f23cc830d4baf4fd781a" + integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw== + dependencies: + "@types/hast" "^3.0.0" + comma-separated-tokens "^2.0.0" + hast-util-parse-selector "^4.0.0" + property-information "^6.0.0" + space-separated-tokens "^2.0.0" + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +http-cache-semantics@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-proxy-agent@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e" + integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== + dependencies: + agent-base "^7.1.0" + debug "^4.3.4" + +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + +https-proxy-agent@^7.0.0: + version "7.0.5" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" + integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== + dependencies: + agent-base "^7.0.2" + debug "4" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +husky@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9" + integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw== + +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.0.0, ignore@^5.1.1: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +ignore@^5.2.4, ignore@~5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +ignore@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + +import-fresh@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" + integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-fresh@^3.1.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +import-meta-resolve@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-1.1.1.tgz#244fd542fd1fae73550d4f8b3cde3bba1d7b2b18" + integrity sha512-JiTuIvVyPaUg11eTrNDx5bgQ/yMKMZffc7YSjvQeSMXy58DO2SQ8BtAf3xteZvmzvjYh14wnqNjL8XVeDy2o9A== + dependencies: + builtins "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@^1.3.5: + version "1.3.7" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" + integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== + +ini@~4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.2.tgz#7f646dbd9caea595e61f88ef60bfff8b01f8130a" + integrity sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw== + +internal-slot@^1.0.3, internal-slot@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" + integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== + dependencies: + get-intrinsic "^1.2.0" + has "^1.0.3" + side-channel "^1.0.4" + +internal-slot@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" + integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.0" + side-channel "^1.0.4" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== + +is-alphabetical@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.0.tgz#ef6e2caea57c63450fffc7abb6cbdafc5eb96e96" + integrity sha512-5OV8Toyq3oh4eq6sbWTYzlGdnMT/DPI5I0zxUBxjiigQsZycpkKF3kskkao3JyYGuYDHvhgJF+DrjMQp9SX86w== + +is-alphanumerical@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.0.tgz#0fbfeb6a72d21d91143b3d182bf6cf5909ee66f6" + integrity sha512-t+2GlJ+hO9yagJ+jU3+HSh80VKvz/3cG2cxbGGm4S0hjKuhWQXgPVUVOZz3tqZzMjhmphZ+1TIJTlRZRoe6GCQ== + dependencies: + is-alphabetical "^2.0.0" + is-decimal "^2.0.0" + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-array-buffer@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" + integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-builtin-module@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.11.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" + integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== + dependencies: + has "^1.0.3" + +is-core-module@^2.12.1, is-core-module@^2.13.0, is-core-module@^2.15.1: + version "2.15.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" + integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== + dependencies: + hasown "^2.0.2" + +is-core-module@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + dependencies: + has "^1.0.3" + +is-core-module@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== + dependencies: + has "^1.0.3" + +is-data-view@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" + integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== + dependencies: + is-typed-array "^1.1.13" + +is-date-object@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-decimal@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.0.tgz#db1140337809fd043a056ae40a9bd1cdc563034c" + integrity sha512-QfrfjQV0LjoWQ1K1XSoEZkTAzSa14RKVMa5zg3SdAfzEmQzRM4+tbSFWb78creCeA9rNBzaZal92opi1TwPWZw== + +is-empty@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-empty/-/is-empty-1.2.0.tgz#de9bb5b278738a05a0b09a57e1fb4d4a341a9f6b" + integrity sha1-3pu1snhzigWgsJpX4ftNSjQan2s= + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-hexadecimal@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.0.tgz#8e1ec9f48fe3eabd90161109856a23e0907a65d5" + integrity sha512-vGOtYkiaxwIiR0+Ng/zNId+ZZehGfINwTzdrDqc6iubbnQWhnPuYymOzOKUDqa2cSl59yHnEh2h6MvRLQsyNug== + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.0.0.tgz#06c0999fd7574edf5a906ba5644ad0feb3a84d22" + integrity sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-shared-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" + integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== + dependencies: + call-bind "^1.0.7" + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" + integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +is-typed-array@^1.1.13: + version "1.1.13" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" + integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== + dependencies: + which-typed-array "^1.1.14" + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +jackspeak@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +js-sdsl@^4.1.4: + version "4.4.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" + integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.1.0, js-yaml@^4.0.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.2.7: + version "3.13.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" + integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.1, json-buffer@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stringify-safe@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== + +json5@^1.0.1, json5@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.0.0, json5@^2.1.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonc-parser@3.2.1, jsonc-parser@~3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.0.1.tgz#98966cba214378c8c84b82e085907b40bf614179" + integrity sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg== + dependencies: + universalify "^1.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonpointer@5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" + integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== + +jsonwebtoken@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" + integrity sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw== + dependencies: + jws "^3.2.2" + lodash "^4.17.21" + ms "^2.1.1" + semver "^7.3.8" + +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.3.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" + integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== + dependencies: + array-includes "^3.1.5" + object.assign "^4.1.3" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + +keyv@^4.0.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.3.1.tgz#7970672f137d987945821b1a07b524ce5a4edd27" + integrity sha512-nwP7AQOxFzELXsNq3zCx/oh81zu4DHWwCE6W9RaeHb7OHO0JpmKS8n801ovVQC7PTsZDWtPA5j1QY+/WWtARYg== + dependencies: + compress-brotli "^1.3.8" + json-buffer "3.0.1" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^4.0.3: + version "4.1.5" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +libnpmconfig@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/libnpmconfig/-/libnpmconfig-1.2.1.tgz#c0c2f793a74e67d4825e5039e7a02a0044dfcbc0" + integrity sha512-9esX8rTQAHqarx6qeZqmGQKBNZR5OIbl/Ayr0qQDy3oXja2iFVQQI81R6GZ2a02bSNZ9p3YOGX1O6HHCb1X7kA== + dependencies: + figgy-pudding "^3.5.1" + find-up "^3.0.0" + ini "^1.3.5" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +linkify-it@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e" + integrity sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ== + dependencies: + uc.micro "^1.0.1" + +linkify-it@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec" + integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw== + dependencies: + uc.micro "^1.0.1" + +linkify-it@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421" + integrity sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ== + dependencies: + uc.micro "^2.0.0" + +lint-staged@^10.2.11: + version "10.2.11" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.11.tgz#713c80877f2dc8b609b05bc59020234e766c9720" + integrity sha512-LRRrSogzbixYaZItE2APaS4l2eJMjjf5MbclRZpLJtcQJShcvUzKXsNeZgsLIZ0H0+fg2tL4B59fU9wHIHtFIA== + dependencies: + chalk "^4.0.0" + cli-truncate "2.1.0" + commander "^5.1.0" + cosmiconfig "^6.0.0" + debug "^4.1.1" + dedent "^0.7.0" + enquirer "^2.3.5" + execa "^4.0.1" + listr2 "^2.1.0" + log-symbols "^4.0.0" + micromatch "^4.0.2" + normalize-path "^3.0.0" + please-upgrade-node "^3.2.0" + string-argv "0.3.1" + stringify-object "^3.3.0" + +listr2@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.2.0.tgz#cb88631258abc578c7fb64e590fe5742f28e4aac" + integrity sha512-Q8qbd7rgmEwDo1nSyHaWQeztfGsdL6rb4uh7BA+Q80AZiDET5rVntiU1+13mu2ZTDVaBVbvAD1Db11rnu3l9sg== + dependencies: + chalk "^4.0.0" + cli-truncate "^2.1.0" + figures "^3.2.0" + indent-string "^4.0.0" + log-update "^4.0.0" + p-map "^4.0.0" + rxjs "^6.5.5" + through "^2.3.8" + +load-json-file@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3" + integrity sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw== + dependencies: + graceful-fs "^4.1.15" + parse-json "^4.0.0" + pify "^4.0.1" + strip-bom "^3.0.0" + type-fest "^0.3.0" + +load-plugin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/load-plugin/-/load-plugin-4.0.1.tgz#9a239b0337064c9b8aac82b0c9f89b067db487c5" + integrity sha512-4kMi+mOSn/TR51pDo4tgxROHfBHXsrcyEYSGHcJ1o6TtRaP2PsRM5EwmYbj1uiLDvbfA/ohwuSWZJzqGiai8Dw== + dependencies: + import-meta-resolve "^1.0.0" + libnpmconfig "^1.0.0" + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^1.0.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== + dependencies: + chalk "^2.4.2" + +log-symbols@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" + +log-update@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== + dependencies: + ansi-escapes "^4.3.0" + cli-cursor "^3.1.0" + slice-ansi "^4.0.0" + wrap-ansi "^6.2.0" + +longest-streak@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.0.0.tgz#f127e2bded83caa6a35ac5f7a2f2b2f94b36f3dc" + integrity sha512-XhUjWR5CFaQ03JOP+iSDS9koy8T5jfoImCZ4XprElw3BXsSk4MpVYOLw/6LTDKZhO13PlAXnB5gS4MHQTpkSOw== + +loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^10.2.0: + version "10.2.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.2.tgz#48206bc114c1252940c41b25b41af5b545aca878" + integrity sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +lru-cache@^9.0.0, lru-cache@^9.1.1: + version "9.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-9.1.1.tgz#c58a93de58630b688de39ad04ef02ef26f1902f1" + integrity sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A== + +make-error@^1.1.1: + version "1.3.5" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" + integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== + +markdown-it@14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45" + integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg== + dependencies: + argparse "^2.0.1" + entities "^4.4.0" + linkify-it "^5.0.0" + mdurl "^2.0.0" + punycode.js "^2.3.1" + uc.micro "^2.1.0" + +markdown-it@^12.0.0: + version "12.3.2" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" + integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== + dependencies: + argparse "^2.0.1" + entities "~2.1.0" + linkify-it "^3.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +markdown-it@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-13.0.1.tgz#c6ecc431cacf1a5da531423fc6a42807814af430" + integrity sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q== + dependencies: + argparse "^2.0.1" + entities "~3.0.1" + linkify-it "^4.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +markdownlint-cli2-formatter-default@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.4.tgz#81e26b0a50409c0357c6f0d38d8246946b236fab" + integrity sha512-xm2rM0E+sWgjpPn1EesPXx5hIyrN2ddUnUwnbCsD/ONxYtw3PX6LydvdH6dciWAoFDpwzbHM1TO7uHfcMd6IYg== + +markdownlint-cli2@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/markdownlint-cli2/-/markdownlint-cli2-0.13.0.tgz#691cab01994295b4b8c87aa0485c0b1e0f792289" + integrity sha512-Pg4nF7HlopU97ZXtrcVISWp3bdsuc5M0zXyLp2/sJv2zEMlInrau0ZKK482fQURzVezJzWBpNmu4u6vGAhij+g== + dependencies: + globby "14.0.1" + js-yaml "4.1.0" + jsonc-parser "3.2.1" + markdownlint "0.34.0" + markdownlint-cli2-formatter-default "0.0.4" + micromatch "4.0.5" + +markdownlint-cli@^0.40.0: + version "0.40.0" + resolved "https://registry.yarnpkg.com/markdownlint-cli/-/markdownlint-cli-0.40.0.tgz#57678cabd543c654d2ea88f752e9ac058b31c207" + integrity sha512-JXhI3dRQcaqwiFYpPz6VJ7aKYheD53GmTz9y4D/d0F1MbZDGOp9pqKlbOfUX/pHP/iAoeiE4wYRmk8/kjLakxA== + dependencies: + commander "~12.0.0" + get-stdin "~9.0.0" + glob "~10.3.12" + ignore "~5.3.1" + js-yaml "^4.1.0" + jsonc-parser "~3.2.1" + jsonpointer "5.0.1" + markdownlint "~0.34.0" + minimatch "~9.0.4" + run-con "~1.3.2" + toml "~3.0.0" + +markdownlint-micromark@0.1.9: + version "0.1.9" + resolved "https://registry.yarnpkg.com/markdownlint-micromark/-/markdownlint-micromark-0.1.9.tgz#4876996b60d4dceb3a02f4eee2d3a366eb9569fa" + integrity sha512-5hVs/DzAFa8XqYosbEAEg6ok6MF2smDj89ztn9pKkCtdKHVdPQuGMH7frFfYL9mLkvfFe4pTyAMffLbjf3/EyA== + +markdownlint@0.34.0, markdownlint@~0.34.0: + version "0.34.0" + resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.34.0.tgz#bbc2047c952d1644269009a69ba227ed597b23fa" + integrity sha512-qwGyuyKwjkEMOJ10XN6OTKNOVYvOIi35RNvDLNxTof5s8UmyGHlCdpngRHoRGNvQVGuxO3BJ7uNSgdeX166WXw== + dependencies: + markdown-it "14.1.0" + markdownlint-micromark "0.1.9" + +matcher-collection@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/matcher-collection/-/matcher-collection-1.1.2.tgz#1076f506f10ca85897b53d14ef54f90a5c426838" + integrity sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g== + dependencies: + minimatch "^3.0.2" + +matcher@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca" + integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== + dependencies: + escape-string-regexp "^4.0.0" + +mdast-comment-marker@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/mdast-comment-marker/-/mdast-comment-marker-1.1.1.tgz#9c9c18e1ed57feafc1965d92b028f37c3c8da70d" + integrity sha512-TWZDaUtPLwKX1pzDIY48MkSUQRDwX/HqbTB4m3iYdL/zosi/Z6Xqfdv0C0hNVKvzrPjZENrpWDt4p4odeVO0Iw== + +mdast-util-from-markdown@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.0.0.tgz#c517313cd999ec2b8f6d447b438c5a9d500b89c9" + integrity sha512-uj2G60sb7z1PNOeElFwCC9b/Se/lFXuLhVKFOAY2EHz/VvgbupTQRNXPoZl7rGpXYL6BNZgcgaybrlSWbo7n/g== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + mdast-util-to-string "^3.0.0" + micromark "^3.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + parse-entities "^3.0.0" + unist-util-stringify-position "^3.0.0" + +mdast-util-from-markdown@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz#0214124154f26154a2b3f9d401155509be45e894" + integrity sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + decode-named-character-reference "^1.0.0" + mdast-util-to-string "^3.1.0" + micromark "^3.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-decode-string "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + unist-util-stringify-position "^3.0.0" + uvu "^0.5.0" + +mdast-util-heading-style@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/mdast-util-heading-style/-/mdast-util-heading-style-1.0.5.tgz#81b2e60d76754198687db0e8f044e42376db0426" + integrity sha512-8zQkb3IUwiwOdUw6jIhnwM6DPyib+mgzQuHAe7j2Hy1rIarU4VUxe472bp9oktqULW3xqZE+Kz6OD4Gi7IA3vw== + +mdast-util-to-markdown@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.1.1.tgz#545ccc4dcc6672614b84fd1064482320dd689b12" + integrity sha512-4puev/CxuxVdlsx5lVmuzgdqfjkkJJLS1Zm/MnejQ8I7BLeeBlbkwp6WOGJypEcN8g56LbVbhNmn84MvvcAvSQ== + dependencies: + "@types/mdast" "^3.0.0" + "@types/unist" "^2.0.0" + longest-streak "^3.0.0" + mdast-util-to-string "^3.0.0" + parse-entities "^3.0.0" + zwitch "^2.0.0" + +mdast-util-to-string@^1.0.2: + version "1.0.6" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz#7d85421021343b33de1552fc71cb8e5b4ae7536d" + integrity sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg== + +mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz#56c506d065fbf769515235e577b5a261552d56e9" + integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA== + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= + +mdurl@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0" + integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w== + +memory-fs@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromark-core-commonmark@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.0.tgz#b767fa7687c205c224175bf067796360a3830350" + integrity sha512-y9g7zymcKRBHM/aNBekstvs/Grpf+y4OEBULUTYvGZcusnp+JeOxmilJY4GMpo2/xY7iHQL9fjz5pD9pSAud9A== + dependencies: + micromark-factory-destination "^1.0.0" + micromark-factory-label "^1.0.0" + micromark-factory-space "^1.0.0" + micromark-factory-title "^1.0.0" + micromark-factory-whitespace "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-chunked "^1.0.0" + micromark-util-classify-character "^1.0.0" + micromark-util-html-tag-name "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-resolve-all "^1.0.0" + micromark-util-subtokenize "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + parse-entities "^3.0.0" + +micromark-factory-destination@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e" + integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-label@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.0.0.tgz#b316ec479b474232973ff13b49b576f84a6f2cbb" + integrity sha512-XWEucVZb+qBCe2jmlOnWr6sWSY6NHx+wtpgYFsm4G+dufOf6tTQRRo0bdO7XSlGPu5fyjpJenth6Ksnc5Mwfww== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-space@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz#cebff49968f2b9616c0fcb239e96685cb9497633" + integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-title@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.0.0.tgz#708f7a8044f34a898c0efdb4f55e4da66b537273" + integrity sha512-flvC7Gx0dWVWorXuBl09Cr3wB5FTuYec8pMGVySIp2ZlqTcIjN/lFohZcP0EG//krTptm34kozHk7aK/CleCfA== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-factory-whitespace@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz#e991e043ad376c1ba52f4e49858ce0794678621c" + integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A== + dependencies: + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-character@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz#d97c54d5742a0d9611a68ca0cd4124331f264d86" + integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg== + dependencies: + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-chunked@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz#5b40d83f3d53b84c4c6bce30ed4257e9a4c79d06" + integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g== + dependencies: + micromark-util-symbol "^1.0.0" + +micromark-util-classify-character@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz#cbd7b447cb79ee6997dd274a46fc4eb806460a20" + integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-combine-extensions@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz#91418e1e74fb893e3628b8d496085639124ff3d5" + integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-decode-numeric-character-reference@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz#dcc85f13b5bd93ff8d2868c3dba28039d490b946" + integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w== + dependencies: + micromark-util-symbol "^1.0.0" + +micromark-util-decode-string@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz#942252ab7a76dec2dbf089cc32505ee2bc3acf02" + integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q== + dependencies: + decode-named-character-reference "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-symbol "^1.0.0" + +micromark-util-encode@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.0.0.tgz#c409ecf751a28aa9564b599db35640fccec4c068" + integrity sha512-cJpFVM768h6zkd8qJ1LNRrITfY4gwFt+tziPcIf71Ui8yFzY9wG3snZQqiWVq93PG4Sw6YOtcNiKJfVIs9qfGg== + +micromark-util-html-tag-name@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz#75737e92fef50af0c6212bd309bc5cb8dbd489ed" + integrity sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g== + +micromark-util-normalize-identifier@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz#4a3539cb8db954bbec5203952bfe8cedadae7828" + integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg== + dependencies: + micromark-util-symbol "^1.0.0" + +micromark-util-resolve-all@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz#a7c363f49a0162e931960c44f3127ab58f031d88" + integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw== + dependencies: + micromark-util-types "^1.0.0" + +micromark-util-sanitize-uri@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz#27dc875397cd15102274c6c6da5585d34d4f12b2" + integrity sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg== + dependencies: + micromark-util-character "^1.0.0" + micromark-util-encode "^1.0.0" + micromark-util-symbol "^1.0.0" + +micromark-util-subtokenize@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.0.tgz#6f006fa719af92776c75a264daaede0fb3943c6a" + integrity sha512-EsnG2qscmcN5XhkqQBZni/4oQbLFjz9yk3ZM/P8a3YUjwV6+6On2wehr1ALx0MxK3+XXXLTzuBKHDFeDFYRdgQ== + dependencies: + micromark-util-chunked "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + +micromark-util-symbol@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.0.0.tgz#91cdbcc9b2a827c0129a177d36241bcd3ccaa34d" + integrity sha512-NZA01jHRNCt4KlOROn8/bGi6vvpEmlXld7EHcRH+aYWUfL3Wc8JLUNNlqUMKa0hhz6GrpUWsHtzPmKof57v0gQ== + +micromark-util-types@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.0.0.tgz#0ebdfaea3fa7c15fc82b1e06ea1ef0152d0fb2f0" + integrity sha512-psf1WAaP1B77WpW4mBGDkTr+3RsPuDAgsvlP47GJzbH1jmjH8xjOx7Z6kp84L8oqHmy5pYO3Ev46odosZV+3AA== + +micromark@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.0.3.tgz#4c9f76fce8ba68eddf8730bb4fee2041d699d5b7" + integrity sha512-fWuHx+JKV4zA8WfCFor2DWP9XmsZkIiyWRGofr7P7IGfpRIlb7/C5wwusGsNyr1D8HI5arghZDG1Ikc0FBwS5Q== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + micromark-core-commonmark "^1.0.0" + micromark-factory-space "^1.0.0" + micromark-util-character "^1.0.0" + micromark-util-chunked "^1.0.0" + micromark-util-combine-extensions "^1.0.0" + micromark-util-decode-numeric-character-reference "^1.0.0" + micromark-util-encode "^1.0.0" + micromark-util-normalize-identifier "^1.0.0" + micromark-util-resolve-all "^1.0.0" + micromark-util-sanitize-uri "^1.0.0" + micromark-util-subtokenize "^1.0.0" + micromark-util-symbol "^1.0.0" + micromark-util-types "^1.0.0" + parse-entities "^3.0.0" + +micromatch@4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + +minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.4: + version "3.0.8" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1" + integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.0.5, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022" + integrity sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^8.0.2: + version "8.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229" + integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.1, minimatch@~9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + +minimatch@^9.0.4: + version "9.0.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.0.0, minimist@^1.2.5, minimist@^1.2.6, minimist@~1.2.0: + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== + +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a" + integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ== + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +"minipass@^5.0.0 || ^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-6.0.2.tgz#542844b6c4ce95b202c0995b0a471f1229de4c81" + integrity sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: + version "7.1.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.0.tgz#b545f84af94e567386770159302ca113469c80b8" + integrity sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^0.5.1: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mri@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== + +ms@^2.1.1, ms@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + +nan@nodejs/nan#e14bdcd1f72d62bca1d541b66da43130384ec213: + version "2.18.0" + resolved "https://codeload.github.com/nodejs/nan/tar.gz/e14bdcd1f72d62bca1d541b66da43130384ec213" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-fetch@^2.6.1: + version "2.6.8" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e" + integrity sha512-RZ6dBYuj8dRSfxpUSu+NsdF1dpPpluJxwOp+6IoDp/sH2QNDSvurYsAa+F1WxY2RjA1iP93xhcsUoYbF2XBqVg== + dependencies: + whatwg-url "^5.0.0" + +node-fetch@^2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" + +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + +node-releases@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +null-loader@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-4.0.1.tgz#8e63bd3a2dd3c64236a4679428632edd0a6dbc6a" + integrity sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-inspect@^1.12.3, object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-inspect@^1.13.1: + version "1.13.2" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" + integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.3, object.assign@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.assign@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" + integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.fromentries@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" + integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.fromentries@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.8.tgz#f7195d8a9b97bd95cbc1999ea939ecd1a2b00c65" + integrity sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + +object.groupby@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" + integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + +object.hasown@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" + integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + dependencies: + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.values@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" + integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +object.values@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" + integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +optionator@^0.9.3: + version "0.9.4" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" + integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.5" + +ora@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" + integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== + dependencies: + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-spinners "^2.0.0" + log-symbols "^2.2.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + +ora@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.3.tgz#752a1b7b4be4825546a7a3d59256fa523b6b6d05" + integrity sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg== + dependencies: + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + mute-stream "0.0.8" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +p-cancelable@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" + integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== + +p-limit@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" + integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== + dependencies: + p-try "^2.0.0" + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-entities@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-3.0.0.tgz#9ed6d6569b6cfc95ade058d683ddef239dad60dc" + integrity sha512-AJlcIFDNPEP33KyJLguv0xJc83BNvjxwpuUIcetyXUsLpVXAUCePJ5kIoYtEN2R1ac0cYaRu/vk9dVFkewHQhQ== + dependencies: + character-entities "^2.0.0" + character-entities-legacy "^2.0.0" + character-reference-invalid "^2.0.0" + is-alphanumerical "^2.0.0" + is-decimal "^2.0.0" + is-hexadecimal "^2.0.0" + +parse-gitignore@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/parse-gitignore/-/parse-gitignore-0.4.0.tgz#abf702e4b900524fff7902b683862857b63f93fe" + integrity sha1-q/cC5LkAUk//eQK2g4YoV7Y/k/4= + dependencies: + array-unique "^0.3.2" + is-glob "^3.1.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + +parse-ms@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" + integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== + +parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6, path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.10.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7" + integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA== + dependencies: + lru-cache "^10.2.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-scurry@^1.6.1: + version "1.9.2" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.9.2.tgz#90f9d296ac5e37e608028e28a447b11d385b3f63" + integrity sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg== + dependencies: + lru-cache "^9.1.1" + minipass "^5.0.0 || ^6.0.2" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +path-type@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-5.0.0.tgz#14b01ed7aea7ddf9c7c3f46181d4d04f9c785bb8" + integrity sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg== + +pathval@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picocolors@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== + +picomatch@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" + integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== + +picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pkg-conf@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-3.1.0.tgz#d9f9c75ea1bae0e77938cde045b276dac7cc69ae" + integrity sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ== + dependencies: + find-up "^3.0.0" + load-json-file "^5.2.0" + +pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +please-upgrade-node@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" + integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== + dependencies: + semver-compare "^1.0.0" + +pluralize@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" + integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== + +possible-typed-array-names@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" + integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== + +pre-flight@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pre-flight/-/pre-flight-2.0.0.tgz#5e7c09aa49dbaeb28b21cc5c7d49b0ad1ee63a78" + integrity sha512-uqrCBHAzVogOyI/79jsxbveioqA9GUK5MBbrwifEHlCFhi3BkEkDYxFEzNxxfkUBl43Gnqkniw1ZKGaTf/YvAA== + dependencies: + chalk "^5.3.0" + semver "^7.6.3" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +pretty-ms@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-5.0.0.tgz#6133a8f55804b208e4728f6aa7bf01085e951e24" + integrity sha512-94VRYjL9k33RzfKiGokPBPpsmloBYSf5Ri+Pq19zlsEcUKFob+admeXr5eFDRuPjFmEOcjJvPGdillYOJyvZ7Q== + dependencies: + parse-ms "^2.1.0" + +pretty-ms@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-5.1.0.tgz#b906bdd1ec9e9799995c372e2b1c34f073f95384" + integrity sha512-4gaK1skD2gwscCfkswYQRmddUb2GJZtzDGRjHWadVHtK/DIKFufa12MvES6/xu1tVbUYeia5bmLcwJtZJQUqnw== + dependencies: + parse-ms "^2.1.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +process@^0.11.10, process@~0.11.0: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +progress@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +property-information@^6.0.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" + integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode.js@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7" + integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA== + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +qs@^6.12.3: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== + dependencies: + side-channel "^1.0.6" + +quick-lru@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" + integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== + +rambda@^7.4.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/rambda/-/rambda-7.5.0.tgz#1865044c59bc0b16f63026c6e5a97e4b1bbe98fe" + integrity sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +react-is@^16.13.1: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@^2, readable-stream@^2.0.1, readable-stream@~2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.2: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== + dependencies: + resolve "^1.20.0" + +regexp-tree@^0.1.27: + version "0.1.27" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" + integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== + +regexp.prototype.flags@^1.4.3: + version "1.5.0" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" + integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + functions-have-names "^1.2.3" + +regexp.prototype.flags@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" + integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + dependencies: + call-bind "^1.0.6" + define-properties "^1.2.1" + es-errors "^1.3.0" + set-function-name "^2.0.1" + +regexpp@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" + integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== + +regjsparser@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.10.0.tgz#b1ed26051736b436f22fdec1c8f72635f9f44892" + integrity sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== + dependencies: + jsesc "~0.5.0" + +remark-cli@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/remark-cli/-/remark-cli-10.0.0.tgz#3b0e20f2ad3909f35c7a6fb3f721c82f6ff5beac" + integrity sha512-Yc5kLsJ5vgiQJl6xMLLJHqPac6OSAC5DOqKQrtmzJxSdJby2Jgr+OpIAkWQYwvbNHEspNagyoQnuwK2UCWg73g== + dependencies: + remark "^14.0.0" + unified-args "^9.0.0" + +remark-lint-blockquote-indentation@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-2.0.1.tgz#27347959acf42a6c3e401488d8210e973576b254" + integrity sha512-uJ9az/Ms9AapnkWpLSCJfawBfnBI2Tn1yUsPNqIFv6YM98ymetItUMyP6ng9NFPqDvTQBbiarulkgoEo0wcafQ== + dependencies: + mdast-util-to-string "^1.0.2" + pluralize "^8.0.0" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-code-block-style@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-code-block-style/-/remark-lint-code-block-style-2.0.1.tgz#448b0f2660acfcdfff2138d125ff5b1c1279c0cb" + integrity sha512-eRhmnColmSxJhO61GHZkvO67SpHDshVxs2j3+Zoc5Y1a4zQT2133ZAij04XKaBFfsVLjhbY/+YOWxgvtjx2nmA== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-definition-case@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-definition-case/-/remark-lint-definition-case-2.0.1.tgz#10340eb2f87acff41140d52ad7e5b40b47e6690a" + integrity sha512-M+XlThtQwEJLQnQb5Gi6xZdkw92rGp7m2ux58WMw/Qlcg02WgHR/O0OcHPe5VO5hMJrtI+cGG5T0svsCgRZd3w== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-definition-spacing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-definition-spacing/-/remark-lint-definition-spacing-2.0.1.tgz#97f01bf9bf77a7bdf8013b124b7157dd90b07c64" + integrity sha512-xK9DOQO5MudITD189VyUiMHBIKltW1oc55L7Fti3i9DedXoBG7Phm+V9Mm7IdWzCVkquZVgVk63xQdqzSQRrSQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-emphasis-marker@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-2.0.1.tgz#1d5ca2070d4798d16c23120726158157796dc317" + integrity sha512-7mpbAUrSnHiWRyGkbXRL5kfSKY9Cs8cdob7Fw+Z02/pufXMF4yRWaegJ5NTUu1RE+SKlF44wtWWjvcIoyY6/aw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-fenced-code-flag@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-2.0.1.tgz#2cb3ddb1157082c45760c7d01ca08e13376aaf62" + integrity sha512-+COnWHlS/h02FMxoZWxNlZW3Y8M0cQQpmx3aNCbG7xkyMyCKsMLg9EmRvYHHIbxQCuF3JT0WWx5AySqlc7d+NA== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-fenced-code-marker@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-2.0.1.tgz#7bbeb0fb45b0818a3c8a2d232cf0c723ade58ecf" + integrity sha512-lujpjm04enn3ma6lITlttadld6eQ1OWAEcT3qZzvFHp+zPraC0yr0eXlvtDN/0UH8mrln/QmGiZp3i8IdbucZg== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-file-extension@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-file-extension/-/remark-lint-file-extension-1.0.3.tgz#a7fc78fbf041e513c618b2cca0f2160ee37daa13" + integrity sha512-P5gzsxKmuAVPN7Kq1W0f8Ss0cFKfu+OlezYJWXf+5qOa+9Y5GqHEUOobPnsmNFZrVMiM7JoqJN2C9ZjrUx3N6Q== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-final-definition@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/remark-lint-final-definition/-/remark-lint-final-definition-2.1.0.tgz#b6e654c01ebcb1afc936d7b9cd74db8ec273e0bb" + integrity sha512-83K7n2icOHPfBzbR5Mr1o7cu8gOjD8FwJkFx/ly+rW+8SHfjCj4D3WOFGQ1xVdmHjfomBDXXDSNo2oiacADVXQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-hard-break-spaces@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-2.0.1.tgz#2149b55cda17604562d040c525a2a0d26aeb0f0f" + integrity sha512-Qfn/BMQFamHhtbfLrL8Co/dbYJFLRL4PGVXZ5wumkUO5f9FkZC2RsV+MD9lisvGTkJK0ZEJrVVeaPbUIFM0OAw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-heading-increment@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-heading-increment/-/remark-lint-heading-increment-2.0.1.tgz#b578f251508a05d79bc2d1ae941e0620e23bf1d3" + integrity sha512-bYDRmv/lk3nuWXs2VSD1B4FneGT6v7a74FuVmb305hyEMmFSnneJvVgnOJxyKlbNlz12pq1IQ6MhlJBda/SFtQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^2.0.0" + +remark-lint-heading-style@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-heading-style/-/remark-lint-heading-style-2.0.1.tgz#8216fca67d97bbbeec8a19b6c71bfefc16549f72" + integrity sha512-IrFLNs0M5Vbn9qg51AYhGUfzgLAcDOjh2hFGMz3mx664dV6zLcNZOPSdJBBJq3JQR4gKpoXcNwN1+FFaIATj+A== + dependencies: + mdast-util-heading-style "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^2.0.0" + +remark-lint-link-title-style@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-link-title-style/-/remark-lint-link-title-style-2.0.1.tgz#51a595c69fcfa73a245a030dfaa3504938a1173a" + integrity sha512-+Q7Ew8qpOQzjqbDF6sUHmn9mKgje+m2Ho8Xz7cEnGIRaKJgtJzkn/dZqQM/az0gn3zaN6rOuwTwqw4EsT5EsIg== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + vfile-location "^3.0.0" + +remark-lint-list-item-content-indent@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-2.0.1.tgz#96387459440dcd61e522ab02bff138b32bfaa63a" + integrity sha512-OzUMqavxyptAdG7vWvBSMc9mLW9ZlTjbW4XGayzczd3KIr6Uwp3NEFXKx6MLtYIM/vwBqMrPQUrObOC7A2uBpQ== + dependencies: + pluralize "^8.0.0" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-list-item-indent@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-list-item-indent/-/remark-lint-list-item-indent-2.0.1.tgz#c6472514e17bc02136ca87936260407ada90bf8d" + integrity sha512-4IKbA9GA14Q9PzKSQI6KEHU/UGO36CSQEjaDIhmb9UOhyhuzz4vWhnSIsxyI73n9nl9GGRAMNUSGzr4pQUFwTA== + dependencies: + pluralize "^8.0.0" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-list-item-spacing@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-3.0.0.tgz#14c18fe8c0f19231edb5cf94abda748bb773110b" + integrity sha512-SRUVonwdN3GOSFb6oIYs4IfJxIVR+rD0nynkX66qEO49/qDDT1PPvkndis6Nyew5+t+2V/Db9vqllL6SWbnEtw== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-maximum-heading-length@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-2.0.1.tgz#56f240707a75b59bce3384ccc9da94548affa98f" + integrity sha512-1CjJ71YDqEpoOjUnc4wrwZV8ZGXWUIYRYeGoarAy3QKHepJL9M+zkdbOxZDfhc3tjVoDW/LWcgsW+DEpczgiMA== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^2.0.0" + +remark-lint-maximum-line-length@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-2.0.3.tgz#d0d15410637d61b031a83d7c78022ec46d6c858a" + integrity sha512-zyWHBFh1oPAy+gkaVFXiTHYP2WwriIeBtaarDqkweytw0+qmuikjVMJTWbQ3+XfYBreD7KKDM9SI79nkp0/IZQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-no-auto-link-without-protocol@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-no-auto-link-without-protocol/-/remark-lint-no-auto-link-without-protocol-2.0.1.tgz#f75e5c24adb42385593e0d75ca39987edb70b6c4" + integrity sha512-TFcXxzucsfBb/5uMqGF1rQA+WJJqm1ZlYQXyvJEXigEZ8EAxsxZGPb/gOQARHl/y0vymAuYxMTaChavPKaBqpQ== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-no-blockquote-without-marker@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-4.0.0.tgz#856fb64dd038fa8fc27928163caa24a30ff4d790" + integrity sha512-Y59fMqdygRVFLk1gpx2Qhhaw5IKOR9T38Wf7pjR07bEFBGUNfcoNVIFMd1TCJfCPQxUyJzzSqfZz/KT7KdUuiQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.0.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + vfile-location "^3.0.0" + +remark-lint-no-consecutive-blank-lines@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-3.0.0.tgz#c8fe11095b8f031a1406da273722bd4a9174bf41" + integrity sha512-kmzLlOLrapBKEngwYFTdCZDmeOaze6adFPB7G0EdymD9V1mpAlnneINuOshRLEDKK5fAhXKiZXxdGIaMPkiXrA== + dependencies: + pluralize "^8.0.0" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-no-duplicate-headings@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-2.0.1.tgz#4a4b70e029155ebcfc03d8b2358c427b69a87576" + integrity sha512-F6AP0FJcHIlkmq0pHX0J5EGvLA9LfhuYTvnNO8y3kvflHeRjFkDyt2foz/taXR8OcLQR51n/jIJiwrrSMbiauw== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-stringify-position "^2.0.0" + unist-util-visit "^2.0.0" + +remark-lint-no-emphasis-as-heading@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-2.0.1.tgz#fcc064133fe00745943c334080fed822f72711ea" + integrity sha512-z86+yWtVivtuGIxIC4g9RuATbgZgOgyLcnaleonJ7/HdGTYssjJNyqCJweaWSLoaI0akBQdDwmtJahW5iuX3/g== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^2.0.0" + +remark-lint-no-file-name-articles@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-1.0.3.tgz#c712d06a24e24b0c4c3666cf3084a0052a2c2c17" + integrity sha512-YZDJDKUWZEmhrO6tHB0u0K0K2qJKxyg/kryr14OaRMvWLS62RgMn97sXPZ38XOSN7mOcCnl0k7/bClghJXx0sg== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-no-file-name-consecutive-dashes@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-1.0.3.tgz#6a96ddf60e18dcdb004533733f3ccbfd8ab076ae" + integrity sha512-7f4vyXn/ca5lAguWWC3eu5hi8oZ7etX7aQlnTSgQZeslnJCbVJm6V6prFJKAzrqbBzMicUXr5pZLBDoXyTvHHw== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-no-file-name-irregular-characters@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-irregular-characters/-/remark-lint-no-file-name-irregular-characters-1.0.3.tgz#6dcd8b51e00e10094585918cb8e7fc999df776c3" + integrity sha512-b4xIy1Yi8qZpM2vnMN+6gEujagPGxUBAs1judv6xJQngkl5d5zT8VQZsYsTGHku4NWHjjh3b7vK5mr0/yp4JSg== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-no-file-name-mixed-case@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-mixed-case/-/remark-lint-no-file-name-mixed-case-1.0.3.tgz#0ebe5eedd0191507d27ad6ac5eed1778cb33c2de" + integrity sha512-d7rJ4c8CzDbEbGafw2lllOY8k7pvnsO77t8cV4PHFylwQ3hmCdTHLuDvK87G3DaWCeKclp0PMyamfOgJWKMkPA== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-no-file-name-outer-dashes@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-1.0.4.tgz#c6e22a5cc64df4e12fc31712a927e8039854a666" + integrity sha512-+bZvvme2Bm3Vp5L2iKuvGHYVmHKrTkkRt8JqJPGepuhvBvT4Q7+CgfKyMtC/hIjyl+IcuJQ2H0qPRzdicjy1wQ== + dependencies: + unified-lint-rule "^1.0.0" + +remark-lint-no-heading-punctuation@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-2.0.1.tgz#face59f9a95c8aa278a8ee0c728bc44cd53ea9ed" + integrity sha512-lY/eF6GbMeGu4cSuxfGHyvaQQBIq/6T/o+HvAR5UfxSTxmxZFwbZneAI2lbeR1zPcqOU87NsZ5ZZzWVwdLpPBw== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^2.0.0" + +remark-lint-no-inline-padding@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-3.0.0.tgz#14c2722bcddc648297a54298107a922171faf6eb" + integrity sha512-3s9uW3Yux9RFC0xV81MQX3bsYs+UY7nPnRuMxeIxgcVwxQ4E/mTJd9QjXUwBhU9kdPtJ5AalngdmOW2Tgar8Cg== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^2.0.0" + +remark-lint-no-literal-urls@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-2.0.1.tgz#731908f9866c1880e6024dcee1269fb0f40335d6" + integrity sha512-IDdKtWOMuKVQIlb1CnsgBoyoTcXU3LppelDFAIZePbRPySVHklTtuK57kacgU5grc7gPM04bZV96eliGrRU7Iw== + dependencies: + mdast-util-to-string "^1.0.2" + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-no-multiple-toplevel-headings@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-2.0.1.tgz#3ff2b505adf720f4ff2ad2b1021f8cfd50ad8635" + integrity sha512-VKSItR6c+u3OsE5pUiSmNusERNyQS9Nnji26ezoQ1uvy06k3RypIjmzQqJ/hCkSiF+hoyC3ibtrrGT8gorzCmQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-stringify-position "^2.0.0" + unist-util-visit "^2.0.0" + +remark-lint-no-shell-dollars@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-2.0.2.tgz#b2c6c3ed95e5615f8e5f031c7d271a18dc17618e" + integrity sha512-zhkHZOuyaD3r/TUUkkVqW0OxsR9fnSrAnHIF63nfJoAAUezPOu8D1NBsni6rX8H2DqGbPYkoeWrNsTwiKP0yow== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^2.0.0" + +remark-lint-no-shortcut-reference-image@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-2.0.1.tgz#d174d12a57e8307caf6232f61a795bc1d64afeaa" + integrity sha512-2jcZBdnN6ecP7u87gkOVFrvICLXIU5OsdWbo160FvS/2v3qqqwF2e/n/e7D9Jd+KTq1mR1gEVVuTqkWWuh3cig== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^2.0.0" + +remark-lint-no-shortcut-reference-link@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-2.0.1.tgz#8f963f81036e45cfb7061b3639e9c6952308bc94" + integrity sha512-pTZbslG412rrwwGQkIboA8wpBvcjmGFmvugIA+UQR+GfFysKtJ5OZMPGJ98/9CYWjw9Z5m0/EktplZ5TjFjqwA== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-visit "^2.0.0" + +remark-lint-no-table-indentation@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-3.0.0.tgz#f3c3fc24375069ec8e510f43050600fb22436731" + integrity sha512-+l7GovI6T+3LhnTtz/SmSRyOb6Fxy6tmaObKHrwb/GAebI/4MhFS1LVo3vbiP/RpPYtyQoFbbuXI55hqBG4ibQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + vfile-location "^3.0.0" + +remark-lint-ordered-list-marker-style@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-2.0.1.tgz#183c31967e6f2ae8ef00effad03633f7fd00ffaa" + integrity sha512-Cnpw1Dn9CHn+wBjlyf4qhPciiJroFOEGmyfX008sQ8uGoPZsoBVIJx76usnHklojSONbpjEDcJCjnOvfAcWW1A== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-ordered-list-marker-value@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-2.0.1.tgz#0de343de2efb41f01eae9f0f7e7d30fe43db5595" + integrity sha512-blt9rS7OKxZ2NW8tqojELeyNEwPhhTJGVa+YpUkdEH+KnrdcD7Nzhnj6zfLWOx6jFNZk3jpq5nvLFAPteHaNKg== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-rule-style@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-rule-style/-/remark-lint-rule-style-2.0.1.tgz#f59bd82e75d3eaabd0eee1c8c0f5513372eb553c" + integrity sha512-hz4Ff9UdlYmtO6Czz99WJavCjqCer7Cav4VopXt+yVIikObw96G5bAuLYcVS7hvMUGqC9ZuM02/Y/iq9n8pkAg== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-strong-marker@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-strong-marker/-/remark-lint-strong-marker-2.0.1.tgz#1ad8f190c6ac0f8138b638965ccf3bcd18f6d4e4" + integrity sha512-8X2IsW1jZ5FmW9PLfQjkL0OVy/J3xdXLcZrG1GTeQKQ91BrPFyEZqUM2oM6Y4S6LGtxWer+neZkPZNroZoRPBQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-table-cell-padding@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-3.0.0.tgz#a769ba1999984ff5f90294fb6ccb8aead7e8a12f" + integrity sha512-sEKrbyFZPZpxI39R8/r+CwUrin9YtyRwVn0SQkNQEZWZcIpylK+bvoKIldvLIXQPob+ZxklL0GPVRzotQMwuWQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-table-pipe-alignment@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-2.0.1.tgz#12b7e4c54473d69c9866cb33439c718d09cffcc5" + integrity sha512-O89U7bp0ja6uQkT2uQrNB76GaPvFabrHiUGhqEUnld21yEdyj7rgS57kn84lZNSuuvN1Oor6bDyCwWQGzzpoOQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-table-pipes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remark-lint-table-pipes/-/remark-lint-table-pipes-3.0.0.tgz#b30b055d594cae782667eec91c6c5b35928ab259" + integrity sha512-QPokSazEdl0Y8ayUV9UB0Ggn3Jos/RAQwIo0z1KDGnJlGDiF80Jc6iU9RgDNUOjlpQffSLIfSVxH5VVYF/K3uQ== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint-unordered-list-marker-style@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-2.0.1.tgz#e64692aa9594dbe7e945ae76ab2218949cd92477" + integrity sha512-8KIDJNDtgbymEvl3LkrXgdxPMTOndcux3BHhNGB2lU4UnxSpYeHsxcDgirbgU6dqCAfQfvMjPvfYk19QTF9WZA== + dependencies: + unified-lint-rule "^1.0.0" + unist-util-generated "^1.1.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +remark-lint@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/remark-lint/-/remark-lint-8.0.0.tgz#6e40894f4a39eaea31fc4dd45abfaba948bf9a09" + integrity sha512-ESI8qJQ/TIRjABDnqoFsTiZntu+FRifZ5fJ77yX63eIDijl/arvmDvT+tAf75/Nm5BFL4R2JFUtkHRGVjzYUsg== + dependencies: + remark-message-control "^6.0.0" + +remark-message-control@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/remark-message-control/-/remark-message-control-6.0.0.tgz#955b054b38c197c9f2e35b1d88a4912949db7fc5" + integrity sha512-k9bt7BYc3G7YBdmeAhvd3VavrPa/XlKWR3CyHjr4sLO9xJyly8WHHT3Sp+8HPR8lEUv+/sZaffL7IjMLV0f6BA== + dependencies: + mdast-comment-marker "^1.0.0" + unified-message-control "^3.0.0" + +remark-parse@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.0.tgz#65e2b2b34d8581d36b97f12a2926bb2126961cb4" + integrity sha512-07ei47p2Xl7Bqbn9H2VYQYirnAFJPwdMuypdozWsSbnmrkgA2e2sZLZdnDNrrsxR4onmIzH/J6KXqKxCuqHtPQ== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-from-markdown "^1.0.0" + unified "^10.0.0" + +remark-preset-lint-markdown-style-guide@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-4.0.0.tgz#976b6ffd7f37aa90868e081a69241fcde3a297d4" + integrity sha512-gczDlfZ28Fz0IN/oddy0AH4CiTu9S8d3pJWUsrnwFiafjhJjPGobGE1OD3bksi53md1Bp4K0fzo99YYfvB4Sjw== + dependencies: + remark-lint "^8.0.0" + remark-lint-blockquote-indentation "^2.0.0" + remark-lint-code-block-style "^2.0.0" + remark-lint-definition-case "^2.0.0" + remark-lint-definition-spacing "^2.0.0" + remark-lint-emphasis-marker "^2.0.0" + remark-lint-fenced-code-flag "^2.0.0" + remark-lint-fenced-code-marker "^2.0.0" + remark-lint-file-extension "^1.0.0" + remark-lint-final-definition "^2.0.0" + remark-lint-hard-break-spaces "^2.0.0" + remark-lint-heading-increment "^2.0.0" + remark-lint-heading-style "^2.0.0" + remark-lint-link-title-style "^2.0.0" + remark-lint-list-item-content-indent "^2.0.0" + remark-lint-list-item-indent "^2.0.0" + remark-lint-list-item-spacing "^3.0.0" + remark-lint-maximum-heading-length "^2.0.0" + remark-lint-maximum-line-length "^2.0.0" + remark-lint-no-auto-link-without-protocol "^2.0.0" + remark-lint-no-blockquote-without-marker "^4.0.0" + remark-lint-no-consecutive-blank-lines "^3.0.0" + remark-lint-no-duplicate-headings "^2.0.0" + remark-lint-no-emphasis-as-heading "^2.0.0" + remark-lint-no-file-name-articles "^1.0.0" + remark-lint-no-file-name-consecutive-dashes "^1.0.0" + remark-lint-no-file-name-irregular-characters "^1.0.0" + remark-lint-no-file-name-mixed-case "^1.0.0" + remark-lint-no-file-name-outer-dashes "^1.0.0" + remark-lint-no-heading-punctuation "^2.0.0" + remark-lint-no-inline-padding "^3.0.0" + remark-lint-no-literal-urls "^2.0.0" + remark-lint-no-multiple-toplevel-headings "^2.0.0" + remark-lint-no-shell-dollars "^2.0.0" + remark-lint-no-shortcut-reference-image "^2.0.0" + remark-lint-no-shortcut-reference-link "^2.0.0" + remark-lint-no-table-indentation "^3.0.0" + remark-lint-ordered-list-marker-style "^2.0.0" + remark-lint-ordered-list-marker-value "^2.0.0" + remark-lint-rule-style "^2.0.0" + remark-lint-strong-marker "^2.0.0" + remark-lint-table-cell-padding "^3.0.0" + remark-lint-table-pipe-alignment "^2.0.0" + remark-lint-table-pipes "^3.0.0" + remark-lint-unordered-list-marker-style "^2.0.0" + +remark-stringify@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-10.0.0.tgz#7f23659d92b2d5da489e3c858656d7bbe045f161" + integrity sha512-3LAQqJ/qiUxkWc7fUcVuB7RtIT38rvmxfmJG8z1TiE/D8zi3JGQ2tTcTJu9Tptdpb7gFwU0whRi5q1FbFOb9yA== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-markdown "^1.0.0" + unified "^10.0.0" + +remark@^14.0.0: + version "14.0.1" + resolved "https://registry.yarnpkg.com/remark/-/remark-14.0.1.tgz#a97280d4f2a3010a7d81e6c292a310dcd5554d80" + integrity sha512-7zLG3u8EUjOGuaAS9gUNJPD2j+SqDqAFHv2g6WMpE5CU9rZ6e3IKDM12KHZ3x+YNje+NMAuN55yx8S5msGSx7Q== + dependencies: + "@types/mdast" "^3.0.0" + remark-parse "^10.0.0" + remark-stringify "^10.0.0" + unified "^10.0.0" + +repeat-string@^1.0.0: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +resolve-alpn@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" + integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== + +resolve@^1.1.6: + version "1.21.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" + integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== + dependencies: + is-core-module "^2.8.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^1.10.0, resolve@^1.22.1: + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== + dependencies: + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^1.10.1: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + +resolve@^1.20.0, resolve@^1.22.2, resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.4: + version "2.0.0-next.4" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" + integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + dependencies: + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" + integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== + dependencies: + lowercase-keys "^2.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rimraf@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.4.1.tgz#bd33364f67021c5b79e93d7f4fa0568c7c21b755" + integrity sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og== + dependencies: + glob "^9.2.0" + +rimraf@~2.6.2: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +roarr@^2.15.3: + version "2.15.4" + resolved "https://registry.yarnpkg.com/roarr/-/roarr-2.15.4.tgz#f5fe795b7b838ccfe35dc608e0282b9eba2e7afd" + integrity sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== + dependencies: + boolean "^3.0.1" + detect-node "^2.0.4" + globalthis "^1.0.1" + json-stringify-safe "^5.0.1" + semver-compare "^1.0.0" + sprintf-js "^1.1.2" + +run-con@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/run-con/-/run-con-1.3.2.tgz#755860a10ce326a96b509485fcea50b4d03754e8" + integrity sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg== + dependencies: + deep-extend "^0.6.0" + ini "~4.1.0" + minimist "^1.2.8" + strip-json-comments "~3.1.1" + +run-parallel@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz#c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679" + integrity sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q== + +rxjs@^6.5.5: + version "6.6.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84" + integrity sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg== + dependencies: + tslib "^1.9.0" + +sade@^1.7.3: + version "1.8.1" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" + integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== + dependencies: + mri "^1.1.0" + +safe-array-concat@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" + integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== + dependencies: + call-bind "^1.0.7" + get-intrinsic "^1.2.4" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-regex-test@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" + integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.3" + is-regex "^1.1.4" + +safe-regex-test@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" + integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== + dependencies: + call-bind "^1.0.6" + es-errors "^1.3.0" + is-regex "^1.1.4" + +schema-utils@^3.0.0, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^3.1.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" + integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + +"semver@2 || 3 || 4 || 5": + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.1.0, semver@^6.2.0, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.0.0, semver@^7.3.2, semver@^7.3.5, semver@^7.3.8: + version "7.5.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.2.tgz#5b851e66d1be07c1cdaf37dfc856f543325a2beb" + integrity sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ== + dependencies: + lru-cache "^6.0.0" + +semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.1, semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== + +serialize-error@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-7.0.1.tgz#f1360b0447f61ffb483ec4157c737fab7d778e18" + integrity sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== + dependencies: + type-fest "^0.13.1" + +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +set-function-length@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + +set-function-name@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shelljs@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +shx@^0.3.4: + version "0.3.4" + resolved "https://registry.yarnpkg.com/shx/-/shx-0.3.4.tgz#74289230b4b663979167f94e1935901406e40f02" + integrity sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== + dependencies: + minimist "^1.2.3" + shelljs "^0.8.5" + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +side-channel@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" + integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + get-intrinsic "^1.2.4" + object-inspect "^1.13.1" + +signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +simple-git@^3.5.0: + version "3.16.0" + resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-3.16.0.tgz#421773e24680f5716999cc4a1d60127b4b6a9dec" + integrity sha512-zuWYsOLEhbJRWVxpjdiXl6eyAyGo/KzVW+KFhhw9MqEEJttcq+32jTWSGyxTdf9e/YCohxRE+9xpWFj9FdiJNw== + dependencies: + "@kwsites/file-exists" "^1.1.1" + "@kwsites/promise-deferred" "^1.1.1" + debug "^4.3.4" + +slash@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-5.1.0.tgz#be3adddcdf09ac38eebe8dcdc7b1a57a75b095ce" + integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg== + +slice-ansi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +sliced@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" + integrity sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E= + +source-map-support@^0.5.6: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +space-separated-tokens@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" + integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.13" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + +sprintf-js@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" + integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +standard-engine@^15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/standard-engine/-/standard-engine-15.0.0.tgz#e37ca2e1a589ef85431043a3e87cb9ce95a4ca4e" + integrity sha512-4xwUhJNo1g/L2cleysUqUv7/btn7GEbYJvmgKrQ2vd/8pkTmN8cpqAZg+BT8Z1hNeEH787iWUdOpL8fmApLtxA== + dependencies: + get-stdin "^8.0.0" + minimist "^1.2.6" + pkg-conf "^3.1.0" + xdg-basedir "^4.0.0" + +standard@^17.0.0: + version "17.0.0" + resolved "https://registry.yarnpkg.com/standard/-/standard-17.0.0.tgz#85718ecd04dc4133908434660788708cca855aa1" + integrity sha512-GlCM9nzbLUkr+TYR5I2WQoIah4wHA2lMauqbyPLV/oI5gJxqhHzhjl9EG2N0lr/nRqI3KCbCvm/W3smxvLaChA== + dependencies: + eslint "^8.13.0" + eslint-config-standard "17.0.0" + eslint-config-standard-jsx "^11.0.0" + eslint-plugin-import "^2.26.0" + eslint-plugin-n "^15.1.0" + eslint-plugin-promise "^6.0.0" + eslint-plugin-react "^7.28.0" + standard-engine "^15.0.0" + +stream-chain@^2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09" + integrity sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA== + +stream-json@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/stream-json/-/stream-json-1.8.0.tgz#53f486b2e3b4496c506131f8d7260ba42def151c" + integrity sha512-HZfXngYHUAr1exT4fxlbc1IOce1RYxp2ldeaf97LYCOPSoOqY/1Psp7iGvpb+6JIOgkra9zDYnPX01hGAHzEPw== + dependencies: + stream-chain "^2.2.5" + +string-argv@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string-width@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.0.0.tgz#19191f152f937b96f4ec54ba0986a5656660c5a2" + integrity sha512-zwXcRmLUdiWhMPrHz6EXITuyTgcEnUqDzspTkCLhQovxywWz6NP9VHgqfVg20V/1mUg0B95AKbXxNT+ALRmqCw== + dependencies: + emoji-regex "^9.2.2" + is-fullwidth-code-point "^4.0.0" + strip-ansi "^7.0.0" + +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.matchall@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" + integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + get-intrinsic "^1.1.3" + has-symbols "^1.0.3" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.4.3" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" + integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trim@^1.2.9: + version "1.2.9" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" + integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.0" + es-object-atoms "^1.0.0" + +string.prototype.trimend@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" + integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimend@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" + integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" + integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + es-abstract "^1.20.4" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^7.0.0, strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + +strip-json-comments@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" + integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== + +strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + +sumchecker@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/sumchecker/-/sumchecker-3.0.1.tgz#6377e996795abb0b6d348e9b3e1dfb24345a8e42" + integrity sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== + dependencies: + debug "^4.1.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.0.2.tgz#50f082888e4b0a4e2ccd2d0b4f9ef4efcd332485" + integrity sha512-ii6tc8ImGFrgMPYq7RVAMKkhPo9vk8uA+D3oKbJq/3Pk2YSMv1+9dUAesa9UxMbxBTvxwKTQffBahNVNxEvM8Q== + dependencies: + has-flag "^5.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tap-parser@~1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tap-parser/-/tap-parser-1.2.2.tgz#5e2f6970611f079c7cf857de1dc7aa1b480de7a5" + integrity sha1-Xi9pcGEfB5x8+FfeHceqG0gN56U= + dependencies: + events-to-array "^1.0.1" + inherits "~2.0.1" + js-yaml "^3.2.7" + optionalDependencies: + readable-stream "^2" + +tap-xunit@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/tap-xunit/-/tap-xunit-2.4.1.tgz#9823797b676ae5017f4e380bd70abb893b8e120e" + integrity sha512-qcZStDtjjYjMKAo7QNiCtOW256g3tuSyCSe5kNJniG1Q2oeOExJq4vm8CwboHZURpkXAHvtqMl4TVL7mcbMVVA== + dependencies: + duplexer "~0.1.1" + minimist "~1.2.0" + tap-parser "~1.2.2" + through2 "~2.0.0" + xmlbuilder "~4.2.0" + xtend "~4.0.0" + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tar@^6.1.11: + version "6.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp@^0.9.4: + version "0.9.4" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.9.4.tgz#cd20a8580cb63635d0e4e9d4bd989d44286e7620" + integrity sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA== + dependencies: + mkdirp "^0.5.1" + rimraf "~2.6.2" + +terser-webpack-plugin@^5.1.3: + version "5.3.3" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.3.tgz#8033db876dd5875487213e87c627bca323e5ed90" + integrity sha512-Fx60G5HNYknNTNQnzQ1VePRuu89ZVYWfjRAeT5rITuCY/1b08s49e5kSQwHDirKZWuoKOBRFS98EUUoZ9kLEwQ== + dependencies: + "@jridgewell/trace-mapping" "^0.3.7" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + terser "^5.7.2" + +terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.26.0: + version "5.34.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.34.1.tgz#af40386bdbe54af0d063e0670afd55c3105abeb6" + integrity sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +terser@^5.7.2: + version "5.14.2" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.14.2.tgz#9ac9f22b06994d736174f4091aa368db896f1c10" + integrity sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +through2@~2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.8: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +timers-browserify@1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d" + integrity sha1-ycWLV1voQHN1y14kYtrO50NZ9B0= + dependencies: + process "~0.11.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-vfile@^7.0.0: + version "7.2.1" + resolved "https://registry.yarnpkg.com/to-vfile/-/to-vfile-7.2.1.tgz#fe42892024f724177ba81076f98ee74b0888c293" + integrity sha512-biljADNq2n+AZn/zX+/87zStnIqctKr/q5OaOD8+qSKINokUGPbWBShvxa1iLUgHz6dGGjVnQPNoFRtVBzMkVg== + dependencies: + is-buffer "^2.0.0" + vfile "^5.0.0" + +toml@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" + integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + +trough@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.0.2.tgz#94a3aa9d5ce379fc561f6244905b3f36b7458d96" + integrity sha512-FnHq5sTMxC0sk957wHDzRnemFnNBvt/gSY99HzK8F7UP5WAbvP70yX5bd7CjEQkN+TjdxwI7g7lJ6podqrG2/w== + +ts-api-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.3.0.tgz#4b490e27129f1e8e686b45cc4ab63714dc60eea1" + integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ== + +ts-loader@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.2.tgz#ee73ca9350f745799396fff8578ba29b1e95616b" + integrity sha512-oYT7wOTUawYXQ8XIDsRhziyW0KUEV38jISYlE+9adP6tDtG+O5GkRe4QKQXrHVH4mJJ88DysvEtvGP65wMLlhg== + dependencies: + chalk "^2.3.0" + enhanced-resolve "^4.0.0" + loader-utils "^1.0.2" + micromatch "^4.0.0" + semver "^6.0.0" + +ts-node@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-6.2.0.tgz#65a0ae2acce319ea4fd7ac8d7c9f1f90c5da6baf" + integrity sha512-ZNT+OEGfUNVMGkpIaDJJ44Zq3Yr0bkU/ugN1PHbU+/01Z7UV1fsELRiTx1KuQNvQ1A3pGh3y25iYF6jXgxV21A== + dependencies: + arrify "^1.0.0" + buffer-from "^1.1.0" + diff "^3.1.0" + make-error "^1.1.1" + minimist "^1.2.0" + mkdirp "^0.5.1" + source-map-support "^0.5.6" + yn "^2.0.0" + +tsconfig-paths@^3.14.1: + version "3.14.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" + integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tsconfig-paths@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" + integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.2" + minimist "^1.2.6" + strip-bom "^3.0.0" + +tslib@^1.9.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + +tslib@^2.0.0, tslib@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + +tslib@^2.6.2: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@^4.0.0, type-detect@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +type-fest@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" + integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" + integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typed-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" + integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== + dependencies: + call-bind "^1.0.7" + es-errors "^1.3.0" + is-typed-array "^1.1.13" + +typed-array-byte-length@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" + integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-byte-offset@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" + integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typed-array-length@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" + integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-proto "^1.0.3" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +typescript@^5.6.2: + version "5.6.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.2.tgz#d1de67b6bef77c41823f822df8f0b3bcff60a5a0" + integrity sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw== + +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + +uc.micro@^2.0.0, uc.micro@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee" + integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A== + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicorn-magic@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/unicorn-magic/-/unicorn-magic-0.1.0.tgz#1bb9a51c823aaf9d73a8bfcd3d1a23dde94b0ce4" + integrity sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ== + +unified-args@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/unified-args/-/unified-args-9.0.2.tgz#0c14f555e73ee29c23f9a567942e29069f56e5a2" + integrity sha512-qSqryjoqfJSII4E4Z2Jx7MhXX2MuUIn6DsrlmL8UnWFdGtrWvEtvm7Rx5fKT5TPUz7q/Fb4oxwIHLCttvAuRLQ== + dependencies: + "@types/text-table" "^0.2.0" + camelcase "^6.0.0" + chalk "^4.0.0" + chokidar "^3.0.0" + fault "^2.0.0" + json5 "^2.0.0" + minimist "^1.0.0" + text-table "^0.2.0" + unified-engine "^9.0.0" + +unified-engine@^9.0.0: + version "9.0.3" + resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-9.0.3.tgz#c1d57e67d94f234296cbfa9364f43e0696dae016" + integrity sha512-SgzREcCM2IpUy3JMFUcPRZQ2Py6IwvJ2KIrg2AiI7LnGge6E6OPFWpcabHrEXG0IvO2OI3afiD9DOcQvvZfXDQ== + dependencies: + "@types/concat-stream" "^1.0.0" + "@types/debug" "^4.0.0" + "@types/is-empty" "^1.0.0" + "@types/js-yaml" "^4.0.0" + "@types/node" "^16.0.0" + "@types/unist" "^2.0.0" + concat-stream "^2.0.0" + debug "^4.0.0" + fault "^2.0.0" + glob "^7.0.0" + ignore "^5.0.0" + is-buffer "^2.0.0" + is-empty "^1.0.0" + is-plain-obj "^4.0.0" + js-yaml "^4.0.0" + load-plugin "^4.0.0" + parse-json "^5.0.0" + to-vfile "^7.0.0" + trough "^2.0.0" + unist-util-inspect "^7.0.0" + vfile-message "^3.0.0" + vfile-reporter "^7.0.0" + vfile-statistics "^2.0.0" + +unified-lint-rule@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unified-lint-rule/-/unified-lint-rule-1.0.4.tgz#be432d316db7ad801166041727b023ba18963e24" + integrity sha512-q9wY6S+d38xRAuWQVOMjBQYi7zGyKkY23ciNafB8JFVmDroyKjtytXHCg94JnhBCXrNqpfojo3+8D+gmF4zxJQ== + dependencies: + wrapped "^1.0.1" + +unified-message-control@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/unified-message-control/-/unified-message-control-3.0.3.tgz#d08c4564092a507668de71451a33c0d80e734bbd" + integrity sha512-oY5z2n8ugjpNHXOmcgrw0pQeJzavHS0VjPBP21tOcm7rc2C+5Q+kW9j5+gqtf8vfW/8sabbsK5+P+9QPwwEHDA== + dependencies: + unist-util-visit "^2.0.0" + vfile-location "^3.0.0" + +unified@^10.0.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.0.tgz#4e65eb38fc2448b1c5ee573a472340f52b9346fe" + integrity sha512-4U3ru/BRXYYhKbwXV6lU6bufLikoAavTwev89H5UxY8enDFaAT2VXmIXYNm6hb5oHPng/EXr77PVyDFcptbk5g== + dependencies: + "@types/unist" "^2.0.0" + bail "^2.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^5.0.0" + +unist-util-generated@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" + integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== + +unist-util-generated@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.4.tgz#2261c033d9fc23fae41872cdb7663746e972c1a7" + integrity sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww== + +unist-util-inspect@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/unist-util-inspect/-/unist-util-inspect-7.0.0.tgz#98426f0219e24d011a27e32539be0693d9eb973e" + integrity sha512-2Utgv78I7PUu461Y9cdo+IUiiKSKpDV5CE/XD6vTj849a3xlpDAScvSJ6cQmtFBGgAmCn2wR7jLuXhpg1XLlJw== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-is@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" + integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== + +unist-util-is@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.1.1.tgz#e8aece0b102fa9bc097b0fef8f870c496d4a6236" + integrity sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ== + +unist-util-position@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.3.tgz#fff942b879538b242096c148153826664b1ca373" + integrity sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw== + +unist-util-stringify-position@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz#de2a2bc8d3febfa606652673a91455b6a36fb9f3" + integrity sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA== + dependencies: + "@types/unist" "^2.0.2" + +unist-util-stringify-position@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.0.tgz#d517d2883d74d0daa0b565adc3d10a02b4a8cde9" + integrity sha512-SdfAl8fsDclywZpfMDTVDxA2V7LjtRDTOFd44wUJamgl6OlVngsqWjxvermMYf60elWHbxhuRCZml7AnuXCaSA== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-stringify-position@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" + integrity sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ== + dependencies: + "@types/unist" "^3.0.0" + +unist-util-visit-parents@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6" + integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^4.0.0" + +unist-util-visit-parents@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz#868f353e6fce6bf8fa875b251b0f4fec3be709bb" + integrity sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + +unist-util-visit@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" + integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^4.0.0" + unist-util-visit-parents "^3.0.0" + +unist-util-visit@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" + integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents "^5.1.1" + +universal-github-app-jwt@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/universal-github-app-jwt/-/universal-github-app-jwt-1.1.1.tgz#d57cee49020662a95ca750a057e758a1a7190e6e" + integrity sha512-G33RTLrIBMFmlDV4u4CBF7dh71eWwykck4XgaxaIVeZKOYZRAAxvcGMRFTUclVY6xoUPQvO4Ne5wKGxYm/Yy9w== + dependencies: + "@types/jsonwebtoken" "^9.0.0" + jsonwebtoken "^9.0.0" + +universal-user-agent@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" + integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +universalify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" + integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +update-browserslist-db@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz#be06a5eedd62f107b7c19eb5bcefb194411abf38" + integrity sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +update-browserslist-db@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url@^0.11.4: + version "0.11.4" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.4.tgz#adca77b3562d56b72746e76b330b7f27b6721f3c" + integrity sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg== + dependencies: + punycode "^1.4.1" + qs "^6.12.3" + +util-deprecate@^1.0.1, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +uvu@^0.5.0: + version "0.5.6" + resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" + integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== + dependencies: + dequal "^2.0.0" + diff "^5.0.0" + kleur "^4.0.3" + sade "^1.7.3" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vfile-location@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" + integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== + +vfile-location@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3" + integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg== + dependencies: + "@types/unist" "^3.0.0" + vfile "^6.0.0" + +vfile-message@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.0.1.tgz#b9bcf87cb5525e61777e0c6df07e816a577588a3" + integrity sha512-gYmSHcZZUEtYpTmaWaFJwsuUD70/rTY4v09COp8TGtOkix6gGxb/a8iTQByIY9ciTk9GwAwIXd/J9OPfM4Bvaw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^3.0.0" + +vfile-message@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" + integrity sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw== + dependencies: + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + +vfile-reporter@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-7.0.1.tgz#759bfebb995f3dc8c644284cb88ac4b310ebd168" + integrity sha512-pof+cQSJCUNmHG6zoBOJfErb6syIWHWM14CwKjsugCixxl4CZdrgzgxwLBW8lIB6czkzX0Agnnhj33YpKyLvmA== + dependencies: + "@types/repeat-string" "^1.0.0" + "@types/supports-color" "^8.0.0" + repeat-string "^1.0.0" + string-width "^5.0.0" + supports-color "^9.0.0" + unist-util-stringify-position "^3.0.0" + vfile-sort "^3.0.0" + vfile-statistics "^2.0.0" + +vfile-sort@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-3.0.0.tgz#ee13d3eaac0446200a2047a3b45d78fad6b106e6" + integrity sha512-fJNctnuMi3l4ikTVcKpxTbzHeCgvDhnI44amA3NVDvA6rTC6oKCFpCVyT5n2fFMr3ebfr+WVQZedOCd73rzSxg== + dependencies: + vfile-message "^3.0.0" + +vfile-statistics@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-2.0.0.tgz#f04ee3e3c666809a3c10c06021becd41ea9c8037" + integrity sha512-foOWtcnJhKN9M2+20AOTlWi2dxNfAoeNIoxD5GXcO182UJyId4QrXa41fWrgcfV3FWTjdEDy3I4cpLVcQscIMA== + dependencies: + vfile-message "^3.0.0" + +vfile@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.0.2.tgz#57773d1d91478b027632c23afab58ec3590344f0" + integrity sha512-5cV+K7tX83MT3bievROc+7AvHv0GXDB0zqbrTjbOe+HRbkzvY4EP+wS3IR77kUBCoWFMdG9py18t0sesPtQ1Rw== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message "^3.0.0" + +vfile@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.2.tgz#ef49548ea3d270097a67011921411130ceae7deb" + integrity sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg== + dependencies: + "@types/unist" "^3.0.0" + unist-util-stringify-position "^4.0.0" + vfile-message "^4.0.0" + +vscode-jsonrpc@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.1.0.tgz#cb9989c65e219e18533cc38e767611272d274c94" + integrity sha512-6TDy/abTQk+zDGYazgbIPc+4JoXdwC8NHU9Pbn4UJP1fehUyZmM4RHp5IthX7A6L5KS30PRui+j+tbbMMMafdw== + +vscode-languageserver-protocol@3.17.3: + version "3.17.3" + resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.3.tgz#6d0d54da093f0c0ee3060b81612cce0f11060d57" + integrity sha512-924/h0AqsMtA5yK22GgMtCYiMdCOtWTSGgUOkgEDX+wk2b0x4sAfLiO4NxBxqbiVtz7K7/1/RgVrVI0NClZwqA== + dependencies: + vscode-jsonrpc "8.1.0" + vscode-languageserver-types "3.17.3" + +vscode-languageserver-textdocument@^1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.7.tgz#16df468d5c2606103c90554ae05f9f3d335b771b" + integrity sha512-bFJH7UQxlXT8kKeyiyu41r22jCZXG8kuuVVA33OEJn1diWOZK5n8zBSPZFHVBOu8kXZ6h0LIRhf5UnCo61J4Hg== + +vscode-languageserver-textdocument@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz#9eae94509cbd945ea44bca8dcfe4bb0c15bb3ac0" + integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q== + +vscode-languageserver-types@3.17.3: + version "3.17.3" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64" + integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA== + +vscode-languageserver-types@^3.17.1: + version "3.17.2" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz#b2c2e7de405ad3d73a883e91989b850170ffc4f2" + integrity sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA== + +vscode-languageserver@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.1.0.tgz#5024253718915d84576ce6662dd46a791498d827" + integrity sha512-eUt8f1z2N2IEUDBsKaNapkz7jl5QpskN2Y0G01T/ItMxBxw1fJwvtySGB9QMecatne8jFIWJGWI61dWjyTLQsw== + dependencies: + vscode-languageserver-protocol "3.17.3" + +vscode-uri@^3.0.3: + version "3.0.6" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.6.tgz#5e6e2e1a4170543af30151b561a41f71db1d6f91" + integrity sha512-fmL7V1eiDBFRRnu+gfRWTzyPpNIHJTc4mWnFkwBUmO9U3KPgJAmTx7oxi2bl/Rh6HLdU7+4C9wlj0k2E4AdKFQ== + +vscode-uri@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.7.tgz#6d19fef387ee6b46c479e5fb00870e15e58c1eb8" + integrity sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA== + +walk-sync@^0.3.2: + version "0.3.4" + resolved "https://registry.yarnpkg.com/walk-sync/-/walk-sync-0.3.4.tgz#cf78486cc567d3a96b5b2237c6108017a5ffb9a4" + integrity sha512-ttGcuHA/OBnN2pcM6johpYlEms7XpO5/fyKIr48541xXedan4roO8cS1Q2S/zbbjGH/BarYDAMeS2Mi9HE5Tig== + dependencies: + ensure-posix-path "^1.0.0" + matcher-collection "^1.0.0" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +watchpack@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" + integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +web-namespaces@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" + integrity sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ== + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + +webpack-cli@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" + colorette "^2.0.14" + commander "^10.0.1" + cross-spawn "^7.0.3" + envinfo "^7.7.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^3.1.1" + rechoir "^0.8.0" + webpack-merge "^5.7.3" + +webpack-merge@^5.7.3: + version "5.8.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5: + version "5.76.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.0.tgz#f9fb9fb8c4a7dbdcd0d56a98e56b8a942ee2692c" + integrity sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^0.0.51" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.7.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.10.0" + es-module-lexer "^0.9.0" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +webpack@^5.94.0: + version "5.95.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.95.0.tgz#8fd8c454fa60dad186fbe36c400a55848307b4c0" + integrity sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q== + dependencies: + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" + acorn "^8.7.1" + acorn-import-attributes "^1.9.5" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.17.1" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-typed-array@^1.1.14, which-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" + integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.2" + +which-typed-array@^1.1.9: + version "1.1.9" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" + integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + is-typed-array "^1.1.10" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + +word-wrap@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" + integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== + +word-wrap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + +wrapped@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wrapped/-/wrapped-1.0.1.tgz#c783d9d807b273e9b01e851680a938c87c907242" + integrity sha1-x4PZ2Aeyc+mwHoUWgKk4yHyQckI= + dependencies: + co "3.1.0" + sliced "^1.0.1" + +wrapper-webpack-plugin@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/wrapper-webpack-plugin/-/wrapper-webpack-plugin-2.2.2.tgz#a950b7fbc39ca103e468a7c06c225cb1e337ad3b" + integrity sha512-twLGZw0b2AEnz3LmsM/uCFRzGxE+XUlUPlJkCuHY3sI+uGO4dTJsgYee3ufWJaynAZYkpgQSKMSr49n9Yxalzg== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + +xmlbuilder@~4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.2.1.tgz#aa58a3041a066f90eaa16c2f5389ff19f3f461a5" + integrity sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU= + dependencies: + lodash "^4.0.0" + +xtend@~4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.7.2: + version "1.10.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" + integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + +yaml@^2.4.5: + version "2.4.5" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.5.tgz#60630b206dd6d84df97003d33fc1ddf6296cca5e" + integrity sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg== + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yn@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" + integrity sha1-5a2ryKz0CPY4X8dklWhMiOavaJo= + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zwitch@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.2.tgz#91f8d0e901ffa3d66599756dde7f57b17c95dce1" + integrity sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA== diff --git a/devel/electron33/pkg-descr b/devel/electron33/pkg-descr new file mode 100644 index 000000000000..c91da5b3cd13 --- /dev/null +++ b/devel/electron33/pkg-descr @@ -0,0 +1,8 @@ +Build cross platform desktop apps with JavaScript, HTML, and CSS. + +It's easier than you think. + +If you can build a website, you can build a desktop app. Electron is a +framework for creating native applications with web technologies like +JavaScript, HTML, and CSS. It takes care of the hard parts so you can +focus on the core of your application. diff --git a/devel/electron33/pkg-plist b/devel/electron33/pkg-plist new file mode 100644 index 000000000000..720256dbf1a5 --- /dev/null +++ b/devel/electron33/pkg-plist @@ -0,0 +1,211 @@ +bin/electron%%ELECTRON_VER_MAJOR%% +%%DATADIR%%/LICENSE +%%DATADIR%%/LICENSES.chromium.html +%%DATADIR%%/chrome_100_percent.pak +%%DATADIR%%/chrome_200_percent.pak +%%DRIVER%%%%DATADIR%%/chromedriver +%%DATADIR%%/electron +%%DATADIR%%/gen/electron/buildflags/buildflags.h +%%DATADIR%%/gen/v8/embedded.S +%%DATADIR%%/libEGL.so +%%DATADIR%%/libGLESv2.so +%%DATADIR%%/libffmpeg.so +%%NOT_AARCH64%%%%DATADIR%%/libvk_swiftshader.so +%%DATADIR%%/libvulkan.so +%%DATADIR%%/locales/af.pak +%%DATADIR%%/locales/am.pak +%%DATADIR%%/locales/ar.pak +%%DATADIR%%/locales/bg.pak +%%DATADIR%%/locales/bn.pak +%%DATADIR%%/locales/ca.pak +%%DATADIR%%/locales/cs.pak +%%DATADIR%%/locales/da.pak +%%DATADIR%%/locales/de.pak +%%DATADIR%%/locales/el.pak +%%DATADIR%%/locales/en-GB.pak +%%DATADIR%%/locales/en-US.pak +%%DATADIR%%/locales/es-419.pak +%%DATADIR%%/locales/es.pak +%%DATADIR%%/locales/et.pak +%%DATADIR%%/locales/fa.pak +%%DATADIR%%/locales/fi.pak +%%DATADIR%%/locales/fil.pak +%%DATADIR%%/locales/fr.pak +%%DATADIR%%/locales/gu.pak +%%DATADIR%%/locales/he.pak +%%DATADIR%%/locales/hi.pak +%%DATADIR%%/locales/hr.pak +%%DATADIR%%/locales/hu.pak +%%DATADIR%%/locales/id.pak +%%DATADIR%%/locales/it.pak +%%DATADIR%%/locales/ja.pak +%%DATADIR%%/locales/kn.pak +%%DATADIR%%/locales/ko.pak +%%DATADIR%%/locales/lt.pak +%%DATADIR%%/locales/lv.pak +%%DATADIR%%/locales/ml.pak +%%DATADIR%%/locales/mr.pak +%%DATADIR%%/locales/ms.pak +%%DATADIR%%/locales/nb.pak +%%DATADIR%%/locales/nl.pak +%%DATADIR%%/locales/pl.pak +%%DATADIR%%/locales/pt-BR.pak +%%DATADIR%%/locales/pt-PT.pak +%%DATADIR%%/locales/ro.pak +%%DATADIR%%/locales/ru.pak +%%DATADIR%%/locales/sk.pak +%%DATADIR%%/locales/sl.pak +%%DATADIR%%/locales/sr.pak +%%DATADIR%%/locales/sv.pak +%%DATADIR%%/locales/sw.pak +%%DATADIR%%/locales/ta.pak +%%DATADIR%%/locales/te.pak +%%DATADIR%%/locales/th.pak +%%DATADIR%%/locales/tr.pak +%%DATADIR%%/locales/uk.pak +%%DATADIR%%/locales/ur.pak +%%DATADIR%%/locales/vi.pak +%%DATADIR%%/locales/zh-CN.pak +%%DATADIR%%/locales/zh-TW.pak +%%DATADIR%%/mksnapshot +%%DATADIR%%/node_headers/include/node/common.gypi +%%DATADIR%%/node_headers/include/node/config.gypi +%%DATADIR%%/node_headers/include/node/cppgc/allocation.h +%%DATADIR%%/node_headers/include/node/cppgc/common.h +%%DATADIR%%/node_headers/include/node/cppgc/cross-thread-persistent.h +%%DATADIR%%/node_headers/include/node/cppgc/custom-space.h +%%DATADIR%%/node_headers/include/node/cppgc/default-platform.h +%%DATADIR%%/node_headers/include/node/cppgc/ephemeron-pair.h +%%DATADIR%%/node_headers/include/node/cppgc/explicit-management.h +%%DATADIR%%/node_headers/include/node/cppgc/garbage-collected.h +%%DATADIR%%/node_headers/include/node/cppgc/heap-consistency.h +%%DATADIR%%/node_headers/include/node/cppgc/heap-handle.h +%%DATADIR%%/node_headers/include/node/cppgc/heap-state.h +%%DATADIR%%/node_headers/include/node/cppgc/heap-statistics.h +%%DATADIR%%/node_headers/include/node/cppgc/heap.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/api-constants.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/atomic-entry-flag.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/base-page-handle.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/caged-heap-local-data.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/caged-heap.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/compiler-specific.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/finalizer-trait.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/gc-info.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/logging.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/member-storage.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/name-trait.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/persistent-node.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/pointer-policies.h +%%DATADIR%%/node_headers/include/node/cppgc/internal/write-barrier.h +%%DATADIR%%/node_headers/include/node/cppgc/liveness-broker.h +%%DATADIR%%/node_headers/include/node/cppgc/macros.h +%%DATADIR%%/node_headers/include/node/cppgc/member.h +%%DATADIR%%/node_headers/include/node/cppgc/name-provider.h +%%DATADIR%%/node_headers/include/node/cppgc/object-size-trait.h +%%DATADIR%%/node_headers/include/node/cppgc/persistent.h +%%DATADIR%%/node_headers/include/node/cppgc/platform.h +%%DATADIR%%/node_headers/include/node/cppgc/prefinalizer.h +%%DATADIR%%/node_headers/include/node/cppgc/process-heap-statistics.h +%%DATADIR%%/node_headers/include/node/cppgc/sentinel-pointer.h +%%DATADIR%%/node_headers/include/node/cppgc/source-location.h +%%DATADIR%%/node_headers/include/node/cppgc/testing.h +%%DATADIR%%/node_headers/include/node/cppgc/trace-trait.h +%%DATADIR%%/node_headers/include/node/cppgc/type-traits.h +%%DATADIR%%/node_headers/include/node/cppgc/visitor.h +%%DATADIR%%/node_headers/include/node/js_native_api.h +%%DATADIR%%/node_headers/include/node/js_native_api_types.h +%%DATADIR%%/node_headers/include/node/libplatform/libplatform-export.h +%%DATADIR%%/node_headers/include/node/libplatform/libplatform.h +%%DATADIR%%/node_headers/include/node/libplatform/v8-tracing.h +%%DATADIR%%/node_headers/include/node/node.h +%%DATADIR%%/node_headers/include/node/node_api.h +%%DATADIR%%/node_headers/include/node/node_api_types.h +%%DATADIR%%/node_headers/include/node/node_buffer.h +%%DATADIR%%/node_headers/include/node/node_object_wrap.h +%%DATADIR%%/node_headers/include/node/node_version.h +%%DATADIR%%/node_headers/include/node/uv.h +%%DATADIR%%/node_headers/include/node/uv/aix.h +%%DATADIR%%/node_headers/include/node/uv/bsd.h +%%DATADIR%%/node_headers/include/node/uv/darwin.h +%%DATADIR%%/node_headers/include/node/uv/errno.h +%%DATADIR%%/node_headers/include/node/uv/linux.h +%%DATADIR%%/node_headers/include/node/uv/os390.h +%%DATADIR%%/node_headers/include/node/uv/posix.h +%%DATADIR%%/node_headers/include/node/uv/sunos.h +%%DATADIR%%/node_headers/include/node/uv/threadpool.h +%%DATADIR%%/node_headers/include/node/uv/tree.h +%%DATADIR%%/node_headers/include/node/uv/unix.h +%%DATADIR%%/node_headers/include/node/uv/version.h +%%DATADIR%%/node_headers/include/node/uv/win.h +%%DATADIR%%/node_headers/include/node/v8-array-buffer.h +%%DATADIR%%/node_headers/include/node/v8-callbacks.h +%%DATADIR%%/node_headers/include/node/v8-container.h +%%DATADIR%%/node_headers/include/node/v8-context.h +%%DATADIR%%/node_headers/include/node/v8-cppgc.h +%%DATADIR%%/node_headers/include/node/v8-data.h +%%DATADIR%%/node_headers/include/node/v8-date.h +%%DATADIR%%/node_headers/include/node/v8-debug.h +%%DATADIR%%/node_headers/include/node/v8-embedder-heap.h +%%DATADIR%%/node_headers/include/node/v8-embedder-state-scope.h +%%DATADIR%%/node_headers/include/node/v8-exception.h +%%DATADIR%%/node_headers/include/node/v8-extension.h +%%DATADIR%%/node_headers/include/node/v8-external.h +%%DATADIR%%/node_headers/include/node/v8-forward.h +%%DATADIR%%/node_headers/include/node/v8-function-callback.h +%%DATADIR%%/node_headers/include/node/v8-function.h +%%DATADIR%%/node_headers/include/node/v8-handle-base.h +%%DATADIR%%/node_headers/include/node/v8-initialization.h +%%DATADIR%%/node_headers/include/node/v8-internal.h +%%DATADIR%%/node_headers/include/node/v8-isolate.h +%%DATADIR%%/node_headers/include/node/v8-json.h +%%DATADIR%%/node_headers/include/node/v8-local-handle.h +%%DATADIR%%/node_headers/include/node/v8-locker.h +%%DATADIR%%/node_headers/include/node/v8-maybe.h +%%DATADIR%%/node_headers/include/node/v8-memory-span.h +%%DATADIR%%/node_headers/include/node/v8-message.h +%%DATADIR%%/node_headers/include/node/v8-microtask-queue.h +%%DATADIR%%/node_headers/include/node/v8-microtask.h +%%DATADIR%%/node_headers/include/node/v8-object.h +%%DATADIR%%/node_headers/include/node/v8-persistent-handle.h +%%DATADIR%%/node_headers/include/node/v8-platform.h +%%DATADIR%%/node_headers/include/node/v8-primitive-object.h +%%DATADIR%%/node_headers/include/node/v8-primitive.h +%%DATADIR%%/node_headers/include/node/v8-profiler.h +%%DATADIR%%/node_headers/include/node/v8-promise.h +%%DATADIR%%/node_headers/include/node/v8-proxy.h +%%DATADIR%%/node_headers/include/node/v8-regexp.h +%%DATADIR%%/node_headers/include/node/v8-sandbox.h +%%DATADIR%%/node_headers/include/node/v8-script.h +%%DATADIR%%/node_headers/include/node/v8-snapshot.h +%%DATADIR%%/node_headers/include/node/v8-source-location.h +%%DATADIR%%/node_headers/include/node/v8-statistics.h +%%DATADIR%%/node_headers/include/node/v8-template.h +%%DATADIR%%/node_headers/include/node/v8-traced-handle.h +%%DATADIR%%/node_headers/include/node/v8-typed-array.h +%%DATADIR%%/node_headers/include/node/v8-unwinder.h +%%DATADIR%%/node_headers/include/node/v8-value-serializer.h +%%DATADIR%%/node_headers/include/node/v8-value.h +%%DATADIR%%/node_headers/include/node/v8-version.h +%%DATADIR%%/node_headers/include/node/v8-wasm.h +%%DATADIR%%/node_headers/include/node/v8-weak-callback-info.h +%%DATADIR%%/node_headers/include/node/v8.h +%%DATADIR%%/node_headers/include/node/v8config.h +%%DATADIR%%/node_headers/include/node/zconf.h +%%DATADIR%%/node_headers/include/node/zlib.h +%%DIST%%%%DATADIR%%/releases/SHASUMS256.txt +%%DIST%%%%AARCH64%%%%DATADIR%%/releases/chromedriver-v%%ELECTRON_VER%%-freebsd-arm64.zip +%%DIST%%%%AARCH64%%%%DATADIR%%/releases/electron-v%%ELECTRON_VER%%-freebsd-arm64.zip +%%DIST%%%%AARCH64%%%%DATADIR%%/releases/mksnapshot-v%%ELECTRON_VER%%-freebsd-arm64.zip +%%DIST%%%%AMD64%%%%DATADIR%%/releases/chromedriver-v%%ELECTRON_VER%%-freebsd-x64.zip +%%DIST%%%%AMD64%%%%DATADIR%%/releases/electron-v%%ELECTRON_VER%%-freebsd-x64.zip +%%DIST%%%%AMD64%%%%DATADIR%%/releases/mksnapshot-v%%ELECTRON_VER%%-freebsd-x64.zip +%%DIST%%%%I386%%%%DATADIR%%/releases/chromedriver-v%%ELECTRON_VER%%-freebsd-ia32.zip +%%DIST%%%%I386%%%%DATADIR%%/releases/electron-v%%ELECTRON_VER%%-freebsd-ia32.zip +%%DIST%%%%I386%%%%DATADIR%%/releases/mksnapshot-v%%ELECTRON_VER%%-freebsd-ia32.zip +%%DATADIR%%/resources.pak +%%DATADIR%%/resources/default_app.asar +%%DATADIR%%/snapshot_blob.bin +%%DATADIR%%/v8_context_snapshot.bin +%%DATADIR%%/v8_context_snapshot_generator +%%DATADIR%%/version +%%DATADIR%%/vk_swiftshader_icd.json diff --git a/devel/fatal/Makefile b/devel/fatal/Makefile index fdb604e677a3..339f077e89d1 100644 --- a/devel/fatal/Makefile +++ b/devel/fatal/Makefile @@ -1,6 +1,6 @@ PORTNAME= fatal DISTVERSIONPREFIX= v -DISTVERSION= 2024.11.04.00 +DISTVERSION= 2024.11.11.00 CATEGORIES= devel MAINTAINER= yuri@FreeBSD.org diff --git a/devel/fatal/distinfo b/devel/fatal/distinfo index 1c43c07b2162..31ff0ebb2f28 100644 --- a/devel/fatal/distinfo +++ b/devel/fatal/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1730783725 -SHA256 (facebook-fatal-v2024.11.04.00_GH0.tar.gz) = c286335edc0ced2e6883b3e094311d72eb8c390317bf6c954bfd5f4e575a6629 -SIZE (facebook-fatal-v2024.11.04.00_GH0.tar.gz) = 656321 +TIMESTAMP = 1731384954 +SHA256 (facebook-fatal-v2024.11.11.00_GH0.tar.gz) = 84ffdff63da489c9771568c6830d410a553720300ad1da68a0b7b730229c4695 +SIZE (facebook-fatal-v2024.11.11.00_GH0.tar.gz) = 656326 diff --git a/devel/fbthrift/Makefile b/devel/fbthrift/Makefile index d7c826cdf51c..91d32e07e1e8 100644 --- a/devel/fbthrift/Makefile +++ b/devel/fbthrift/Makefile @@ -1,6 +1,6 @@ PORTNAME= fbthrift DISTVERSIONPREFIX= v -DISTVERSION= 2024.11.04.00 +DISTVERSION= 2024.11.11.00 CATEGORIES= devel MAINTAINER= yuri@FreeBSD.org diff --git a/devel/fbthrift/distinfo b/devel/fbthrift/distinfo index d3de1a9bec84..70c514103bc3 100644 --- a/devel/fbthrift/distinfo +++ b/devel/fbthrift/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1730783722 -SHA256 (facebook-fbthrift-v2024.11.04.00_GH0.tar.gz) = 489a1fa8c8655828d379e6ea5026c8638c0240969402423f68276dfdde8cf1e4 -SIZE (facebook-fbthrift-v2024.11.04.00_GH0.tar.gz) = 15541383 +TIMESTAMP = 1731384951 +SHA256 (facebook-fbthrift-v2024.11.11.00_GH0.tar.gz) = 512417c0b7810a1ed5b3efa08d420a575c1a52d94b086fbf9ce67af1d5875fd2 +SIZE (facebook-fbthrift-v2024.11.11.00_GH0.tar.gz) = 15604139 diff --git a/devel/fbthrift/pkg-plist b/devel/fbthrift/pkg-plist index c946b6accd82..43b54673f712 100644 --- a/devel/fbthrift/pkg-plist +++ b/devel/fbthrift/pkg-plist @@ -433,7 +433,6 @@ include/thrift/lib/cpp2/server/ExecutorToThreadManagerAdaptor.h include/thrift/lib/cpp2/server/IOUringUtil.h include/thrift/lib/cpp2/server/IOWorkerContext.h include/thrift/lib/cpp2/server/IResourcePoolAcceptor.h -include/thrift/lib/cpp2/server/InternalPriorityRequestPile.h include/thrift/lib/cpp2/server/LegacyHeaderRoutingHandler.h include/thrift/lib/cpp2/server/LoggingEvent.h include/thrift/lib/cpp2/server/LoggingEventHelper.h diff --git a/devel/folly/Makefile b/devel/folly/Makefile index 7115788cf7b3..38d697dd5061 100644 --- a/devel/folly/Makefile +++ b/devel/folly/Makefile @@ -1,8 +1,11 @@ PORTNAME= folly DISTVERSIONPREFIX= v -DISTVERSION= 2024.11.04.00 +DISTVERSION= 2024.11.11.00 CATEGORIES= devel +PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ +PATCHFILES= 7e1b61737d4a73f41253afec054113fb7adc754a.patch:-p1 # https://github.com/facebook/folly/pull/2338 + MAINTAINER= yuri@FreeBSD.org COMMENT= C++ library developed and used at Facebook WWW= https://github.com/facebook/folly diff --git a/devel/folly/distinfo b/devel/folly/distinfo index 19a3187706e0..3d6fc8f7eecc 100644 --- a/devel/folly/distinfo +++ b/devel/folly/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1730783709 -SHA256 (facebook-folly-v2024.11.04.00_GH0.tar.gz) = b91e72b7e1f93772d03dc3938141046f9c66241ceb2e2d01a81630bdcff9b2a1 -SIZE (facebook-folly-v2024.11.04.00_GH0.tar.gz) = 4188454 +TIMESTAMP = 1731397158 +SHA256 (facebook-folly-v2024.11.11.00_GH0.tar.gz) = 31851a6fe10fff79c92191a7ac5946b1f7726c45dabeb59b1a02ffbb6a030ddb +SIZE (facebook-folly-v2024.11.11.00_GH0.tar.gz) = 4191440 +SHA256 (7e1b61737d4a73f41253afec054113fb7adc754a.patch) = 41782aa2cdef89470d73ee60a2b664047681d944b81c5859338d3dca3eb1d7c1 +SIZE (7e1b61737d4a73f41253afec054113fb7adc754a.patch) = 1141 diff --git a/devel/folly/pkg-plist b/devel/folly/pkg-plist index 35e30ba193d8..b6e59e82ff58 100644 --- a/devel/folly/pkg-plist +++ b/devel/folly/pkg-plist @@ -418,7 +418,6 @@ include/folly/experimental/EliasFanoCoding.h include/folly/experimental/EventCount.h include/folly/experimental/FlatCombiningPriorityQueue.h include/folly/experimental/FunctionScheduler.h -include/folly/experimental/LockFreeRingBuffer.h include/folly/experimental/RelaxedConcurrentPriorityQueue.h include/folly/experimental/SingletonRelaxedCounter.h include/folly/experimental/TestUtil.h diff --git a/devel/gitaly/distinfo b/devel/gitaly/distinfo index 6d9ab627505b..7d19ec25739e 100644 --- a/devel/gitaly/distinfo +++ b/devel/gitaly/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1729682978 -SHA256 (go/devel_gitaly/gitaly-v17.5.1/go.mod) = 96bcca1d000fb7de35b2db6de7667587874f26aaf3dda58c16b77fe17c3d8d26 -SIZE (go/devel_gitaly/gitaly-v17.5.1/go.mod) = 12053 -SHA256 (go/devel_gitaly/gitaly-v17.5.1/gitaly-v17.5.1.tar.bz2) = 39d7c494df574eb9c34312d1063242d38e788dd88fc67325a07c97d38ae9d1fe -SIZE (go/devel_gitaly/gitaly-v17.5.1/gitaly-v17.5.1.tar.bz2) = 4334556 -SHA256 (go/devel_gitaly/gitaly-v17.5.1/git-v2.47.0.tar.bz2) = bda955065ff46d04f980a25858b45352e49de18f04d8dd319b6a681c55ee4529 -SIZE (go/devel_gitaly/gitaly-v17.5.1/git-v2.47.0.tar.bz2) = 8892022 +TIMESTAMP = 1731505544 +SHA256 (go/devel_gitaly/gitaly-v17.5.2/go.mod) = 3357833cf725a4e9c07d7c7d6100daf11ef82104b2940d27cae1e27e8e8ff1aa +SIZE (go/devel_gitaly/gitaly-v17.5.2/go.mod) = 12083 +SHA256 (go/devel_gitaly/gitaly-v17.5.2/gitaly-v17.5.2.tar.bz2) = 6014557ddd82bfae705ace491e1ce1a3f670dc13a785469d828643d9ccbdbaf7 +SIZE (go/devel_gitaly/gitaly-v17.5.2/gitaly-v17.5.2.tar.bz2) = 4334601 +SHA256 (go/devel_gitaly/gitaly-v17.5.2/git-v2.47.0.tar.bz2) = bda955065ff46d04f980a25858b45352e49de18f04d8dd319b6a681c55ee4529 +SIZE (go/devel_gitaly/gitaly-v17.5.2/git-v2.47.0.tar.bz2) = 8892022 diff --git a/devel/glaze/Makefile b/devel/glaze/Makefile index 9bedac3abfb5..901910885f73 100644 --- a/devel/glaze/Makefile +++ b/devel/glaze/Makefile @@ -1,6 +1,6 @@ PORTNAME= glaze DISTVERSIONPREFIX= v -DISTVERSION= 3.6.0 +DISTVERSION= 4.0.1 CATEGORIES= devel textproc MAINTAINER= yuri@FreeBSD.org @@ -15,12 +15,13 @@ BROKEN_FreeBSD_15= clang crashes, see https://bugs.freebsd.org/bugzilla/show_bug BUILD_DEPENDS= ${LOCALBASE}/include/asio.hpp:net/asio #TEST_DEPENDS= ut>0:devel/ut # the old version 0.3.0 is used -USES= cmake:testing compiler:c++11-lang eigen:3 localbase +USES= cmake:testing compiler:c++23-lang eigen:3 localbase USE_GITHUB= yes GH_ACCOUNT= stephenberry CMAKE_OFF= BUILD_TESTING \ + glaze_ENABLE_AVX2 \ glaze_DEVELOPER_MODE CMAKE_ARGS= -DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS CMAKE_TESTING_ON= BUILD_TESTING glaze_DEVELOPER_MODE diff --git a/devel/glaze/distinfo b/devel/glaze/distinfo index 6ad29692bff5..1f239885597f 100644 --- a/devel/glaze/distinfo +++ b/devel/glaze/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1727410400 -SHA256 (stephenberry-glaze-v3.6.0_GH0.tar.gz) = d394fed35440bd1cb1a2aec059b967acc43fc04764ecb0915ba24b9f5a9ca0a3 -SIZE (stephenberry-glaze-v3.6.0_GH0.tar.gz) = 496533 +TIMESTAMP = 1731562328 +SHA256 (stephenberry-glaze-v4.0.1_GH0.tar.gz) = 0026aca33201ee6d3a820fb5926f36ba8c838bfd3120e2e179b0eee62b5bd231 +SIZE (stephenberry-glaze-v4.0.1_GH0.tar.gz) = 506325 diff --git a/devel/glaze/pkg-plist b/devel/glaze/pkg-plist index 8cf3e6e04519..379d268053eb 100644 --- a/devel/glaze/pkg-plist +++ b/devel/glaze/pkg-plist @@ -95,10 +95,15 @@ include/glaze/mustache/stencilcount.hpp include/glaze/record/recorder.hpp include/glaze/reflection/get_name.hpp include/glaze/reflection/to_tuple.hpp -include/glaze/rpc/repe.hpp +include/glaze/rpc/repe/header.hpp +include/glaze/rpc/repe/registry.hpp +include/glaze/thread/async_map.hpp +include/glaze/thread/async_string.hpp +include/glaze/thread/atomic.hpp include/glaze/thread/threadpool.hpp include/glaze/trace/trace.hpp include/glaze/tuplet/tuple.hpp +include/glaze/util/atoi.hpp include/glaze/util/bit_array.hpp include/glaze/util/compare.hpp include/glaze/util/convert.hpp @@ -113,11 +118,11 @@ include/glaze/util/hash_map.hpp include/glaze/util/help.hpp include/glaze/util/inline.hpp include/glaze/util/itoa.hpp +include/glaze/util/memory_pool.hpp include/glaze/util/murmur.hpp include/glaze/util/parse.hpp include/glaze/util/primes_64.hpp include/glaze/util/progress_bar.hpp -include/glaze/util/stoui64.hpp include/glaze/util/string_literal.hpp include/glaze/util/tuple.hpp include/glaze/util/type_traits.hpp diff --git a/devel/hyprutils/Makefile b/devel/hyprutils/Makefile index 0cffa02348cc..8a796013f2b5 100644 --- a/devel/hyprutils/Makefile +++ b/devel/hyprutils/Makefile @@ -1,11 +1,8 @@ PORTNAME= hyprutils DISTVERSIONPREFIX= v -DISTVERSION= 0.2.4 +DISTVERSION= 0.2.5 CATEGORIES= devel -PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES+= d504d45114ad.patch:-p1 # https://github.com/hyprwm/hyprutils/pull/16 - MAINTAINER= jbeich@FreeBSD.org COMMENT= Hyprland utilities library used across the ecosystem WWW= https://github.com/hyprwm/hyprutils diff --git a/devel/hyprutils/distinfo b/devel/hyprutils/distinfo index e5db0de2da11..351030acbb99 100644 --- a/devel/hyprutils/distinfo +++ b/devel/hyprutils/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1731163338 -SHA256 (hyprwm-hyprutils-v0.2.4_GH0.tar.gz) = ce8455a7bb74e2266910f9a3c1fcbcc9fa4317ca057ba6e8fbf79ec95c8ef699 -SIZE (hyprwm-hyprutils-v0.2.4_GH0.tar.gz) = 23619 -SHA256 (d504d45114ad.patch) = e2bb129b9efe94769a19c7311318934f6f96301b1ac02f39e85533ad2fb6838f -SIZE (d504d45114ad.patch) = 873 +TIMESTAMP = 1731414315 +SHA256 (hyprwm-hyprutils-v0.2.5_GH0.tar.gz) = 19737eca82d9a4c4b4108864960d7f460ad670c1fd95a87a90640153c91dc818 +SIZE (hyprwm-hyprutils-v0.2.5_GH0.tar.gz) = 23919 diff --git a/devel/libchdr/Makefile b/devel/libchdr/Makefile new file mode 100644 index 000000000000..a5ca39c65376 --- /dev/null +++ b/devel/libchdr/Makefile @@ -0,0 +1,26 @@ +PORTNAME= libchdr +DISTVERSION= g20241111 +CATEGORIES= devel + +MAINTAINER= bsdcode@disroot.org +COMMENT= Standalone library for reading MAME CHDv1-v5 formats +WWW= https://github.com/rtissera/libchdr + +LICENSE= BSD3CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE.txt + +LIB_DEPENDS= libzstd.so:archivers/zstd + +USES= cmake pathfix pkgconfig +USE_GITHUB= yes +GH_ACCOUNT= rtissera +GH_TAGNAME= b3974651d869c2f804e9879b063c23280d2ae617 +USE_LDCONFIG= yes + +CMAKE_ARGS= -DBUILD_LTO=${defined(WITH_LTO):?ON:OFF} +CMAKE_ON= INSTALL_STATIC_LIBS WITH_SYSTEM_ZLIB WITH_SYSTEM_ZSTD + +post-install: + ${RLN} ${STAGEDIR}${PREFIX}/lib/libchdr-static.a ${STAGEDIR}${PREFIX}/lib/libchdr.a + +.include <bsd.port.mk> diff --git a/devel/libchdr/distinfo b/devel/libchdr/distinfo new file mode 100644 index 000000000000..129e3d7d1f45 --- /dev/null +++ b/devel/libchdr/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1731325563 +SHA256 (rtissera-libchdr-g20241111-b3974651d869c2f804e9879b063c23280d2ae617_GH0.tar.gz) = e17270412aaa7158073ec6d8e6287f80a64354ba2b4edbd5786f2d8571f9e787 +SIZE (rtissera-libchdr-g20241111-b3974651d869c2f804e9879b063c23280d2ae617_GH0.tar.gz) = 4222329 diff --git a/devel/libchdr/files/patch-CMakeLists.txt b/devel/libchdr/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..80417eff28fc --- /dev/null +++ b/devel/libchdr/files/patch-CMakeLists.txt @@ -0,0 +1,26 @@ +--- CMakeLists.txt.orig 2024-11-12 19:29:11 UTC ++++ CMakeLists.txt +@@ -51,8 +51,12 @@ if (WITH_SYSTEM_ZSTD) + + # zstd + if (WITH_SYSTEM_ZSTD) +- find_package(zstd REQUIRED) +- list(APPEND PLATFORM_LIBS zstd::libzstd_shared) ++ # find_package(zstd) fails on i386 because of a known problem with the ++ # provided cmake module. Use pkg_check_modules instead. ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(zstd REQUIRED libzstd) ++ list(APPEND CHDR_INCLUDES ${zstd_INCLUDE_DIRS}) ++ list(APPEND PLATFORM_LIBS ${zstd_LINK_LIBRARIES}) + else() + option(ZSTD_BUILD_SHARED "BUILD SHARED LIBRARIES" OFF) + option(ZSTD_BUILD_PROGRAMS "BUILD PROGRAMS" OFF) +@@ -83,7 +87,7 @@ if (INSTALL_STATIC_LIBS) + endif() + + if (INSTALL_STATIC_LIBS) +- install(TARGETS chdr-static ${CHDR_LIBS} ++ install(TARGETS chdr-static + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ) + endif() diff --git a/devel/libchdr/pkg-descr b/devel/libchdr/pkg-descr new file mode 100644 index 000000000000..b3e772f746ae --- /dev/null +++ b/devel/libchdr/pkg-descr @@ -0,0 +1,5 @@ +libchdr is a standalone library for reading MAME's CHDv1-v5 formats. + +The code is based off of MAME's old C codebase which read up to CHDv4 with +OS-dependent features removed, and CHDv5 support backported from MAME's current +C++ codebase. diff --git a/devel/libchdr/pkg-plist b/devel/libchdr/pkg-plist new file mode 100644 index 000000000000..49bdddd8b05e --- /dev/null +++ b/devel/libchdr/pkg-plist @@ -0,0 +1,13 @@ +include/libchdr/bitstream.h +include/libchdr/cdrom.h +include/libchdr/chd.h +include/libchdr/chdconfig.h +include/libchdr/coretypes.h +include/libchdr/flac.h +include/libchdr/huffman.h +lib/libchdr-static.a +lib/libchdr.a +lib/libchdr.so +lib/libchdr.so.0 +lib/libchdr.so.0.2 +libdata/pkgconfig/libchdr.pc diff --git a/devel/librashader/Makefile b/devel/librashader/Makefile index 7a9c2e349d9d..d09bf6ce58bb 100644 --- a/devel/librashader/Makefile +++ b/devel/librashader/Makefile @@ -1,7 +1,6 @@ PORTNAME= librashader DISTVERSIONPREFIX= v -DISTVERSION= 0.4.5 -PORTREVISION= 1 +DISTVERSION= 0.5.1 CATEGORIES= devel MAINTAINER= bsdcode@disroot.org @@ -21,30 +20,22 @@ GH_ACCOUNT= SnowflakePowered GH_TAGNAME= ${DISTNAME} USE_LDCONFIG= yes -CARGO_BUILD= no -CARGO_INSTALL= no +CARGO_FEATURES= --no-default-features runtime-opengl runtime-vulkan \ + stable +CARGO_BUILD_ARGS= --package librashader-capi CARGO_TEST= no -CARGO_TARGET_DIR= ${WRKSRC}/target -OPTIONS_DEFINE= DEBUG DOCS EXAMPLES +OPTIONS_DEFINE= DOCS EXAMPLES -DEBUG_VARS= _PROFILE=debug -DEBUG_VARS_OFF= _PROFILE=release - -# https://github.com/SnowflakePowered/librashader#versioning -# grep '#define LIBRASHADER_CURRENT_ABI' ${WRKSRC}/include/librashader.h | cut -d' ' -f3 -_ABI= 1 - -_OUT= ${CARGO_TARGET_DIR}/${_PROFILE} +# required ABI bump is always mentioned in the release notes +_ABI= 2 post-patch: ${REINPLACE_CMD} 's|/usr/local|${PREFIX}|g' \ ${WRKSRC}/pkg/librashader.pc -do-build: - ${CARGO_CARGO_RUN} run -p librashader-build-script -- --profile \ - ${_PROFILE} --stable - patchelf --set-soname librashader.so.${_ABI} ${_OUT}/librashader.so +post-build: + patchelf --set-soname librashader.so.${_ABI} ${CARGO_TARGET_DIR}/*/liblibrashader_capi.so do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/include/librashader @@ -52,24 +43,24 @@ do-install: ${STAGEDIR}${PREFIX}/include/librashader ${INSTALL_DATA} ${WRKSRC}/include/librashader.h \ ${STAGEDIR}${PREFIX}/include/librashader - ${INSTALL_DATA} ${_OUT}/librashader.a \ - ${STAGEDIR}${PREFIX}/lib - ${INSTALL_LIB} ${_OUT}/librashader.so \ + ${INSTALL_DATA} ${CARGO_TARGET_DIR}/*/liblibrashader_capi.a \ + ${STAGEDIR}${PREFIX}/lib/librashader.a + ${INSTALL_LIB} ${CARGO_TARGET_DIR}/*/liblibrashader_capi.so \ ${STAGEDIR}${PREFIX}/lib/librashader.so.${_ABI} - ${LN} -s librashader.so.${_ABI} ${STAGEDIR}${PREFIX}/lib/librashader.so + ${RLN} ${STAGEDIR}${PREFIX}/lib/librashader.so.${_ABI} ${STAGEDIR}${PREFIX}/lib/librashader.so ${INSTALL_DATA} ${WRKSRC}/pkg/librashader.pc \ ${STAGEDIR}${PREFIX}/libdata/pkgconfig post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/BROKEN_SHADERS.md \ - ${STAGEDIR}${DOCSDIR} - ${INSTALL_DATA} ${WRKSRC}/README.md \ + ${WRKSRC}/MIGRATION-ABI2.md \ + ${WRKSRC}/README.md \ ${STAGEDIR}${DOCSDIR} post-install-EXAMPLES-on: ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${INSTALL_DATA} ${WRKSRC}/include/README.md \ - ${STAGEDIR}${EXAMPLESDIR}/README.md + ${STAGEDIR}${EXAMPLESDIR} .include <bsd.port.mk> diff --git a/devel/librashader/Makefile.crates b/devel/librashader/Makefile.crates index 13fb58b74445..0a2aeb708d9e 100644 --- a/devel/librashader/Makefile.crates +++ b/devel/librashader/Makefile.crates @@ -1,6 +1,5 @@ -CARGO_CRATES= ab_glyph-0.2.28 \ +CARGO_CRATES= ab_glyph-0.2.29 \ ab_glyph_rasterizer-0.1.8 \ - adler-1.0.2 \ adler2-2.0.0 \ ahash-0.7.8 \ ahash-0.8.11 \ @@ -9,6 +8,12 @@ CARGO_CRATES= ab_glyph-0.2.28 \ android-activity-0.5.2 \ android-properties-0.2.2 \ android_system_properties-0.1.5 \ + anstream-0.3.2 \ + anstyle-1.0.8 \ + anstyle-parse-0.2.5 \ + anstyle-query-1.1.1 \ + anstyle-wincon-1.0.2 \ + anyhow-1.0.89 \ arc-swap-1.7.1 \ array-concat-0.5.3 \ array-init-2.1.0 \ @@ -17,12 +22,12 @@ CARGO_CRATES= ab_glyph-0.2.28 \ as-raw-xcb-connection-1.0.1 \ ash-0.38.0+1.3.281 \ ash-window-0.13.0 \ - async-trait-0.1.82 \ + async-trait-0.1.83 \ atomic-waker-1.1.2 \ - atty-0.2.14 \ auto_ops-0.3.0 \ - autocfg-1.3.0 \ + autocfg-1.4.0 \ base64-0.13.1 \ + base64-0.22.1 \ bincode-2.0.0-rc.3 \ bincode_derive-2.0.0-rc.3 \ bit-set-0.6.0 \ @@ -43,25 +48,25 @@ CARGO_CRATES= ab_glyph-0.2.28 \ bytemuck_derive-1.7.1 \ byteorder-1.5.0 \ byteorder-lite-0.1.0 \ - bytes-1.7.1 \ + bytes-1.7.2 \ calloop-0.12.4 \ calloop-wayland-source-0.2.0 \ carlog-0.1.0 \ - cbindgen-0.26.0 \ - cc-1.1.18 \ + cbindgen-0.27.0 \ + cc-1.1.28 \ cesu8-1.1.0 \ cfg-if-1.0.0 \ cfg_aliases-0.1.1 \ - clap-3.2.25 \ - clap-4.1.0 \ - clap_derive-4.1.0 \ - clap_lex-0.2.4 \ - clap_lex-0.3.3 \ + clap-4.3.0 \ + clap_builder-4.3.0 \ + clap_derive-4.3.0 \ + clap_lex-0.5.1 \ cmake-0.1.51 \ cocoa-0.25.0 \ cocoa-foundation-0.1.2 \ codespan-reporting-0.11.1 \ color_quant-1.1.0 \ + colorchoice-1.0.2 \ colored-2.1.0 \ com-0.6.0 \ com_macros-0.6.0 \ @@ -81,11 +86,11 @@ CARGO_CRATES= ab_glyph-0.2.28 \ crossbeam-deque-0.8.5 \ crossbeam-epoch-0.9.18 \ crossbeam-utils-0.8.20 \ + crunchy-0.2.2 \ crypto-common-0.1.6 \ - cty-0.2.2 \ cursor-icon-1.1.0 \ d3d12-22.0.0 \ - d3d12-descriptor-heap-0.1.2 \ + d3d12-descriptor-heap-0.2.0 \ data-encoding-2.6.0 \ digest-0.10.7 \ dirs-next-1.0.2 \ @@ -101,9 +106,10 @@ CARGO_CRATES= ab_glyph-0.2.28 \ equivalent-1.0.1 \ errno-0.3.9 \ fastrand-2.1.1 \ - fdeflate-0.3.4 \ + fdeflate-0.3.5 \ fixedbitset-0.4.2 \ - flate2-1.0.33 \ + flate2-1.0.34 \ + fnv-1.0.7 \ foreign-types-0.5.0 \ foreign-types-macros-0.2.3 \ foreign-types-shared-0.3.1 \ @@ -114,15 +120,14 @@ CARGO_CRATES= ab_glyph-0.2.28 \ getrandom-0.2.15 \ gfx-maths-0.2.9 \ gif-0.13.1 \ - gl-0.14.0 \ gl_generator-0.14.0 \ - glfw-0.47.0 \ - glfw-0.49.1 \ - glfw-sys-4.0.0+3.3.5 \ + glfw-0.58.0 \ + glfw-sys-5.0.0+3.3.9 \ glob-0.3.1 \ glow-0.13.1 \ - glslang-0.4.0 \ - glslang-sys-0.4.0 \ + glow-0.14.1 \ + glslang-0.6.0 \ + glslang-sys-0.6.1+46ef757 \ glutin_wgl_sys-0.6.0 \ gpu-alloc-0.6.0 \ gpu-alloc-types-0.3.0 \ @@ -130,21 +135,23 @@ CARGO_CRATES= ab_glyph-0.2.28 \ gpu-allocator-0.27.0 \ gpu-descriptor-0.3.0 \ gpu-descriptor-types-0.2.0 \ + half-2.4.1 \ halfbrown-0.2.5 \ hashbrown-0.12.3 \ hashbrown-0.14.5 \ + hashbrown-0.15.0 \ hassle-rs-0.11.0 \ heck-0.4.1 \ - hermit-abi-0.1.19 \ hermit-abi-0.4.0 \ hexf-parse-0.2.1 \ humantime-2.1.0 \ icrate-0.0.4 \ image-0.25.2 \ + image-compare-0.4.1 \ image-webp-0.1.3 \ - indexmap-1.9.3 \ - indexmap-2.5.0 \ + indexmap-2.6.0 \ is-terminal-0.4.13 \ + itertools-0.12.1 \ itoa-1.0.11 \ jni-0.21.1 \ jni-sys-0.3.0 \ @@ -155,8 +162,9 @@ CARGO_CRATES= ab_glyph-0.2.28 \ khronos-egl-6.0.0 \ khronos_api-3.1.0 \ lazy_static-1.5.0 \ - libc-0.2.158 \ + libc-0.2.159 \ libloading-0.8.5 \ + libm-0.2.8 \ libredox-0.0.2 \ libredox-0.1.3 \ linked-hash-map-0.5.6 \ @@ -166,12 +174,10 @@ CARGO_CRATES= ab_glyph-0.2.28 \ log-0.4.22 \ mach-siegbert-vogt-dxcsa-0.1.3 \ malloc_buf-0.0.6 \ - matches-0.1.10 \ memchr-2.7.4 \ memmap2-0.9.5 \ metal-0.29.0 \ minimal-lexical-0.2.1 \ - miniz_oxide-0.7.4 \ miniz_oxide-0.8.0 \ naga-22.1.0 \ ndk-0.8.0 \ @@ -202,58 +208,56 @@ CARGO_CRATES= ab_glyph-0.2.28 \ objc2-metal-0.2.2 \ objc2-metal-kit-0.2.2 \ objc2-quartz-core-0.2.2 \ - once_cell-1.20.0 \ + once_cell-1.20.2 \ orbclient-0.3.47 \ + ordered-float-4.3.0 \ ordered-multimap-0.4.3 \ - os_str_bytes-6.6.1 \ - owned_ttf_parser-0.24.0 \ + owned_ttf_parser-0.25.0 \ parking_lot-0.12.3 \ parking_lot_core-0.9.10 \ paste-1.0.15 \ pathdiff-0.2.1 \ percent-encoding-2.3.1 \ persy-1.5.1 \ - pest-2.7.12 \ - pest_derive-2.7.12 \ - pest_generator-2.7.12 \ - pest_meta-2.7.12 \ + pest-2.7.13 \ + pest_derive-2.7.13 \ + pest_generator-2.7.13 \ + pest_meta-2.7.13 \ petgraph-0.6.5 \ pin-project-lite-0.2.14 \ - pkg-config-0.3.30 \ + pkg-config-0.3.31 \ platform-dirs-0.3.0 \ - png-0.17.13 \ + png-0.17.14 \ polling-3.7.3 \ pollster-0.3.0 \ pp-rs-0.2.1 \ ppv-lite86-0.2.20 \ presser-0.3.1 \ proc-macro-crate-3.2.0 \ - proc-macro-error-1.0.4 \ - proc-macro-error-attr-1.0.4 \ proc-macro2-1.0.86 \ profiling-1.0.15 \ quick-error-2.0.1 \ - quick-xml-0.36.1 \ + quick-xml-0.36.2 \ quote-1.0.37 \ radium-0.7.0 \ rand-0.8.5 \ rand_chacha-0.3.1 \ rand_core-0.6.4 \ range-alloc-0.1.3 \ - raw-window-handle-0.4.3 \ - raw-window-handle-0.5.2 \ raw-window-handle-0.6.2 \ raw-window-metal-0.4.0 \ rayon-1.10.0 \ rayon-core-1.12.1 \ redox_syscall-0.3.5 \ redox_syscall-0.4.1 \ - redox_syscall-0.5.4 \ + redox_syscall-0.5.7 \ redox_users-0.4.6 \ - regex-1.10.6 \ - regex-automata-0.4.7 \ - regex-syntax-0.8.4 \ + regex-1.11.0 \ + regex-automata-0.4.8 \ + regex-syntax-0.8.5 \ renderdoc-sys-1.1.0 \ + rmp-0.8.14 \ + rmp-serde-1.3.0 \ ron-0.7.1 \ rspirv-0.12.0+sdk-1.3.268.0 \ rust-ini-0.18.0 \ @@ -266,8 +270,10 @@ CARGO_CRATES= ab_glyph-0.2.28 \ scopeguard-1.2.0 \ sctk-adwaita-0.8.3 \ serde-1.0.210 \ + serde_bytes-0.11.15 \ serde_derive-1.0.210 \ serde_json-1.0.128 \ + serde_spanned-0.6.8 \ sha2-0.10.8 \ shlex-1.3.0 \ simd-adler32-0.3.7 \ @@ -277,40 +283,46 @@ CARGO_CRATES= ab_glyph-0.2.28 \ smartstring-1.0.1 \ smithay-client-toolkit-0.18.1 \ smol_str-0.2.2 \ + spirq-1.2.2 \ spirv-0.3.0+sdk-1.3.268.0 \ - spirv-cross-sys-0.4.0 \ - spirv-cross2-0.4.2 \ + spirv-cross-sys-0.4.2+b28b355 \ + spirv-cross2-0.4.6 \ spirv-cross2-derive-0.1.0 \ spirv-to-dxil-0.4.7 \ spirv-to-dxil-sys-0.4.7 \ + spq-core-1.0.5 \ + spq-spvasm-0.1.4 \ sptr-0.3.2 \ + stable_deref_trait-1.2.0 \ static_assertions-1.1.0 \ strict-num-0.1.1 \ strsim-0.10.0 \ syn-1.0.109 \ - syn-2.0.77 \ + syn-2.0.79 \ tap-1.0.1 \ - tempfile-3.12.0 \ + tempfile-3.13.0 \ termcolor-1.4.1 \ - textwrap-0.16.1 \ - thiserror-1.0.63 \ - thiserror-impl-1.0.63 \ + thiserror-1.0.64 \ + thiserror-impl-1.0.64 \ tiff-0.9.1 \ tiny-skia-0.11.4 \ tiny-skia-path-0.11.4 \ toml-0.5.11 \ + toml-0.8.19 \ toml_datetime-0.6.8 \ - toml_edit-0.22.20 \ + toml_edit-0.22.22 \ tracing-0.1.40 \ tracing-core-0.1.32 \ - ttf-parser-0.24.1 \ + triomphe-0.1.13 \ + ttf-parser-0.25.0 \ typenum-1.17.0 \ - ucd-trie-0.1.6 \ + ucd-trie-0.1.7 \ unicode-ident-1.0.13 \ unicode-segmentation-1.12.0 \ - unicode-width-0.1.13 \ - unicode-xid-0.2.5 \ + unicode-width-0.1.14 \ + unicode-xid-0.2.6 \ unsigned-varint-0.8.0 \ + utf8parse-0.2.2 \ vec_extract_if_polyfill-0.1.0 \ version_check-0.9.5 \ virtue-0.0.13 \ @@ -381,7 +393,7 @@ CARGO_CRATES= ab_glyph-0.2.28 \ windows_x86_64_msvc-0.48.5 \ windows_x86_64_msvc-0.52.6 \ winit-0.29.15 \ - winnow-0.6.18 \ + winnow-0.6.20 \ wyz-0.5.1 \ x11-dl-2.21.0 \ x11rb-0.13.1 \ diff --git a/devel/librashader/distinfo b/devel/librashader/distinfo index a7146d32f9d5..2c8fb537724d 100644 --- a/devel/librashader/distinfo +++ b/devel/librashader/distinfo @@ -1,10 +1,8 @@ -TIMESTAMP = 1727007948 -SHA256 (rust/crates/ab_glyph-0.2.28.crate) = 79faae4620f45232f599d9bc7b290f88247a0834162c4495ab2f02d60004adfb -SIZE (rust/crates/ab_glyph-0.2.28.crate) = 19965 +TIMESTAMP = 1728289308 +SHA256 (rust/crates/ab_glyph-0.2.29.crate) = ec3672c180e71eeaaac3a541fbbc5f5ad4def8b747c595ad30d674e43049f7b0 +SIZE (rust/crates/ab_glyph-0.2.29.crate) = 20011 SHA256 (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046 SIZE (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = 11010 -SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe -SIZE (rust/crates/adler-1.0.2.crate) = 12778 SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627 SIZE (rust/crates/adler2-2.0.0.crate) = 13529 SHA256 (rust/crates/ahash-0.7.8.crate) = 891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9 @@ -21,6 +19,18 @@ SHA256 (rust/crates/android-properties-0.2.2.crate) = fc7eb209b1518d6bb87b283c20 SIZE (rust/crates/android-properties-0.2.2.crate) = 4563 SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311 SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243 +SHA256 (rust/crates/anstream-0.3.2.crate) = 0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163 +SIZE (rust/crates/anstream-0.3.2.crate) = 19504 +SHA256 (rust/crates/anstyle-1.0.8.crate) = 1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1 +SIZE (rust/crates/anstyle-1.0.8.crate) = 15771 +SHA256 (rust/crates/anstyle-parse-0.2.5.crate) = eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb +SIZE (rust/crates/anstyle-parse-0.2.5.crate) = 22680 +SHA256 (rust/crates/anstyle-query-1.1.1.crate) = 6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a +SIZE (rust/crates/anstyle-query-1.1.1.crate) = 9891 +SHA256 (rust/crates/anstyle-wincon-1.0.2.crate) = c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c +SIZE (rust/crates/anstyle-wincon-1.0.2.crate) = 11712 +SHA256 (rust/crates/anyhow-1.0.89.crate) = 86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6 +SIZE (rust/crates/anyhow-1.0.89.crate) = 47078 SHA256 (rust/crates/arc-swap-1.7.1.crate) = 69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457 SIZE (rust/crates/arc-swap-1.7.1.crate) = 68512 SHA256 (rust/crates/array-concat-0.5.3.crate) = 68b4d2c47ea522f4135657904891e533727daca3d2d852f29f5e4cc50960c77c @@ -37,18 +47,18 @@ SHA256 (rust/crates/ash-0.38.0+1.3.281.crate) = 0bb44936d800fea8f016d7f2311c6a4f SIZE (rust/crates/ash-0.38.0+1.3.281.crate) = 457775 SHA256 (rust/crates/ash-window-0.13.0.crate) = 52bca67b61cb81e5553babde81b8211f713cb6db79766f80168f3e5f40ea6c82 SIZE (rust/crates/ash-window-0.13.0.crate) = 20250 -SHA256 (rust/crates/async-trait-0.1.82.crate) = a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1 -SIZE (rust/crates/async-trait-0.1.82.crate) = 28997 +SHA256 (rust/crates/async-trait-0.1.83.crate) = 721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd +SIZE (rust/crates/async-trait-0.1.83.crate) = 29054 SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0 SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422 -SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8 -SIZE (rust/crates/atty-0.2.14.crate) = 5470 SHA256 (rust/crates/auto_ops-0.3.0.crate) = 7460f7dd8e100147b82a63afca1a20eb6c231ee36b90ba7272e14951cb58af59 SIZE (rust/crates/auto_ops-0.3.0.crate) = 9343 -SHA256 (rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 -SIZE (rust/crates/autocfg-1.3.0.crate) = 16524 +SHA256 (rust/crates/autocfg-1.4.0.crate) = ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26 +SIZE (rust/crates/autocfg-1.4.0.crate) = 17712 SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8 SIZE (rust/crates/base64-0.13.1.crate) = 61002 +SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6 +SIZE (rust/crates/base64-0.22.1.crate) = 81597 SHA256 (rust/crates/bincode-2.0.0-rc.3.crate) = f11ea1a0346b94ef188834a65c068a03aec181c94896d481d7a0a40d85b0ce95 SIZE (rust/crates/bincode-2.0.0-rc.3.crate) = 57746 SHA256 (rust/crates/bincode_derive-2.0.0-rc.3.crate) = 7e30759b3b99a1b802a7a3aa21c85c3ded5c28e1c83170d82d70f08bbf7f3e4c @@ -89,34 +99,32 @@ SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353 SIZE (rust/crates/byteorder-1.5.0.crate) = 23288 SHA256 (rust/crates/byteorder-lite-0.1.0.crate) = 8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495 SIZE (rust/crates/byteorder-lite-0.1.0.crate) = 15909 -SHA256 (rust/crates/bytes-1.7.1.crate) = 8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50 -SIZE (rust/crates/bytes-1.7.1.crate) = 63623 +SHA256 (rust/crates/bytes-1.7.2.crate) = 428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3 +SIZE (rust/crates/bytes-1.7.2.crate) = 64287 SHA256 (rust/crates/calloop-0.12.4.crate) = fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298 SIZE (rust/crates/calloop-0.12.4.crate) = 69583 SHA256 (rust/crates/calloop-wayland-source-0.2.0.crate) = 0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02 SIZE (rust/crates/calloop-wayland-source-0.2.0.crate) = 11304 SHA256 (rust/crates/carlog-0.1.0.crate) = 95faf7476605bbef1fdf740eaa3f7f2b97b70fbed0aada1ee0c040cff66c84cf SIZE (rust/crates/carlog-0.1.0.crate) = 4103 -SHA256 (rust/crates/cbindgen-0.26.0.crate) = da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49 -SIZE (rust/crates/cbindgen-0.26.0.crate) = 206157 -SHA256 (rust/crates/cc-1.1.18.crate) = b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476 -SIZE (rust/crates/cc-1.1.18.crate) = 83315 +SHA256 (rust/crates/cbindgen-0.27.0.crate) = 3fce8dd7fcfcbf3a0a87d8f515194b49d6135acab73e18bd380d1d93bb1a15eb +SIZE (rust/crates/cbindgen-0.27.0.crate) = 215957 +SHA256 (rust/crates/cc-1.1.28.crate) = 2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1 +SIZE (rust/crates/cc-1.1.28.crate) = 84424 SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c SIZE (rust/crates/cesu8-1.1.0.crate) = 10555 SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 SHA256 (rust/crates/cfg_aliases-0.1.1.crate) = fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e SIZE (rust/crates/cfg_aliases-0.1.1.crate) = 6009 -SHA256 (rust/crates/clap-3.2.25.crate) = 4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123 -SIZE (rust/crates/clap-3.2.25.crate) = 219403 -SHA256 (rust/crates/clap-4.1.0.crate) = aa91278560fc226a5d9d736cc21e485ff9aad47d26b8ffe1f54cba868b684b9f -SIZE (rust/crates/clap-4.1.0.crate) = 206950 -SHA256 (rust/crates/clap_derive-4.1.0.crate) = 684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8 -SIZE (rust/crates/clap_derive-4.1.0.crate) = 27897 -SHA256 (rust/crates/clap_lex-0.2.4.crate) = 2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5 -SIZE (rust/crates/clap_lex-0.2.4.crate) = 9652 -SHA256 (rust/crates/clap_lex-0.3.3.crate) = 033f6b7a4acb1f358c742aaca805c939ee73b4c6209ae4318ec7aca81c42e646 -SIZE (rust/crates/clap_lex-0.3.3.crate) = 9648 +SHA256 (rust/crates/clap-4.3.0.crate) = 93aae7a4192245f70fe75dd9157fc7b4a5bf53e88d30bd4396f7d8f9284d5acc +SIZE (rust/crates/clap-4.3.0.crate) = 54034 +SHA256 (rust/crates/clap_builder-4.3.0.crate) = 4f423e341edefb78c9caba2d9c7f7687d0e72e89df3ce3394554754393ac3990 +SIZE (rust/crates/clap_builder-4.3.0.crate) = 162227 +SHA256 (rust/crates/clap_derive-4.3.0.crate) = 191d9573962933b4027f932c600cd252ce27a8ad5979418fe78e43c07996f27b +SIZE (rust/crates/clap_derive-4.3.0.crate) = 28954 +SHA256 (rust/crates/clap_lex-0.5.1.crate) = cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961 +SIZE (rust/crates/clap_lex-0.5.1.crate) = 11793 SHA256 (rust/crates/cmake-0.1.51.crate) = fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a SIZE (rust/crates/cmake-0.1.51.crate) = 17566 SHA256 (rust/crates/cocoa-0.25.0.crate) = f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c @@ -127,6 +135,8 @@ SHA256 (rust/crates/codespan-reporting-0.11.1.crate) = 3538270d33cc669650c4b0938 SIZE (rust/crates/codespan-reporting-0.11.1.crate) = 48963 SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b SIZE (rust/crates/color_quant-1.1.0.crate) = 6649 +SHA256 (rust/crates/colorchoice-1.0.2.crate) = d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0 +SIZE (rust/crates/colorchoice-1.0.2.crate) = 7924 SHA256 (rust/crates/colored-2.1.0.crate) = cbf2150cce219b664a8a70df7a1f933836724b503f8a413af9365b4dcc4d90b8 SIZE (rust/crates/colored-2.1.0.crate) = 23348 SHA256 (rust/crates/com-0.6.0.crate) = 7e17887fd17353b65b1b2ef1c526c83e26cd72e74f598a8dc1bee13a48f3d9f6 @@ -165,16 +175,16 @@ SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1 SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875 SHA256 (rust/crates/crossbeam-utils-0.8.20.crate) = 22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80 SIZE (rust/crates/crossbeam-utils-0.8.20.crate) = 42487 +SHA256 (rust/crates/crunchy-0.2.2.crate) = 7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7 +SIZE (rust/crates/crunchy-0.2.2.crate) = 2995 SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3 SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760 -SHA256 (rust/crates/cty-0.2.2.crate) = b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35 -SIZE (rust/crates/cty-0.2.2.crate) = 7230 SHA256 (rust/crates/cursor-icon-1.1.0.crate) = 96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991 SIZE (rust/crates/cursor-icon-1.1.0.crate) = 11453 SHA256 (rust/crates/d3d12-22.0.0.crate) = bdbd1f579714e3c809ebd822c81ef148b1ceaeb3d535352afc73fd0c4c6a0017 SIZE (rust/crates/d3d12-22.0.0.crate) = 16716 -SHA256 (rust/crates/d3d12-descriptor-heap-0.1.2.crate) = 825c5ff0f3af86b775d1e842a11fb42ee5eac1acec44ff46572a756219be3ff5 -SIZE (rust/crates/d3d12-descriptor-heap-0.1.2.crate) = 8789 +SHA256 (rust/crates/d3d12-descriptor-heap-0.2.0.crate) = c0c31f7c86252e0198223a23394da4fc5ba5d381734a8c12551c94accc3ead7b +SIZE (rust/crates/d3d12-descriptor-heap-0.2.0.crate) = 9879 SHA256 (rust/crates/data-encoding-2.6.0.crate) = e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2 SIZE (rust/crates/data-encoding-2.6.0.crate) = 20769 SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292 @@ -205,12 +215,14 @@ SHA256 (rust/crates/errno-0.3.9.crate) = 534c5cf6194dfab3db3242765c03bbe257cf92f SIZE (rust/crates/errno-0.3.9.crate) = 10690 SHA256 (rust/crates/fastrand-2.1.1.crate) = e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6 SIZE (rust/crates/fastrand-2.1.1.crate) = 14983 -SHA256 (rust/crates/fdeflate-0.3.4.crate) = 4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645 -SIZE (rust/crates/fdeflate-0.3.4.crate) = 25001 +SHA256 (rust/crates/fdeflate-0.3.5.crate) = d8090f921a24b04994d9929e204f50b498a33ea6ba559ffaa05e04f7ee7fb5ab +SIZE (rust/crates/fdeflate-0.3.5.crate) = 26834 SHA256 (rust/crates/fixedbitset-0.4.2.crate) = 0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80 SIZE (rust/crates/fixedbitset-0.4.2.crate) = 15954 -SHA256 (rust/crates/flate2-1.0.33.crate) = 324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253 -SIZE (rust/crates/flate2-1.0.33.crate) = 108838 +SHA256 (rust/crates/flate2-1.0.34.crate) = a1b589b4dc103969ad3cf85c950899926ec64300a1a46d76c03a6072957036f0 +SIZE (rust/crates/flate2-1.0.34.crate) = 109174 +SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1 +SIZE (rust/crates/fnv-1.0.7.crate) = 11266 SHA256 (rust/crates/foreign-types-0.5.0.crate) = d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965 SIZE (rust/crates/foreign-types-0.5.0.crate) = 7824 SHA256 (rust/crates/foreign-types-macros-0.2.3.crate) = 1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742 @@ -231,24 +243,22 @@ SHA256 (rust/crates/gfx-maths-0.2.9.crate) = 757bba517b41d90e60e23f8b810a50a73e7 SIZE (rust/crates/gfx-maths-0.2.9.crate) = 9968 SHA256 (rust/crates/gif-0.13.1.crate) = 3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2 SIZE (rust/crates/gif-0.13.1.crate) = 36408 -SHA256 (rust/crates/gl-0.14.0.crate) = a94edab108827d67608095e269cf862e60d920f144a5026d3dbcfd8b877fb404 -SIZE (rust/crates/gl-0.14.0.crate) = 10806 SHA256 (rust/crates/gl_generator-0.14.0.crate) = 1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d SIZE (rust/crates/gl_generator-0.14.0.crate) = 22330 -SHA256 (rust/crates/glfw-0.47.0.crate) = c2c532509718cb34e0c449ec5ef74529c1af3a33b664e6b8ddfe29252f86f936 -SIZE (rust/crates/glfw-0.47.0.crate) = 127838 -SHA256 (rust/crates/glfw-0.49.1.crate) = c70971598fc996224a36fe95256e90335242c00da647f7b0a0b125136613c54b -SIZE (rust/crates/glfw-0.49.1.crate) = 127874 -SHA256 (rust/crates/glfw-sys-4.0.0+3.3.5.crate) = 5abed6d39a50226676aab893d6b4ad154da7e93fcdfed90d7696758a1b477ed1 -SIZE (rust/crates/glfw-sys-4.0.0+3.3.5.crate) = 768998 +SHA256 (rust/crates/glfw-0.58.0.crate) = d1cad81f99085cabd6a4a99403335bc3f3d00d6cf4467e478f13c393ced9259d +SIZE (rust/crates/glfw-0.58.0.crate) = 135739 +SHA256 (rust/crates/glfw-sys-5.0.0+3.3.9.crate) = 1dfc32d45fb58ff38b112696907963a7d671e9cf742b16f882062169a053cf88 +SIZE (rust/crates/glfw-sys-5.0.0+3.3.9.crate) = 813010 SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b SIZE (rust/crates/glob-0.3.1.crate) = 18880 SHA256 (rust/crates/glow-0.13.1.crate) = bd348e04c43b32574f2de31c8bb397d96c9fcfa1371bd4ca6d8bdc464ab121b1 SIZE (rust/crates/glow-0.13.1.crate) = 150940 -SHA256 (rust/crates/glslang-0.4.0.crate) = 2619e3eeccf510123b2a38e129dbb4f6c5259a28d58b1e462ff00397176f00dc -SIZE (rust/crates/glslang-0.4.0.crate) = 11704 -SHA256 (rust/crates/glslang-sys-0.4.0.crate) = f487792c51b944793232a9928eb9bdb36fe5eff8e868a151b86a8b5168efc724 -SIZE (rust/crates/glslang-sys-0.4.0.crate) = 3687117 +SHA256 (rust/crates/glow-0.14.1.crate) = 2f4a888dbe8181a7535853469c21c67ca9a1cea9460b16808fc018ea9e55d248 +SIZE (rust/crates/glow-0.14.1.crate) = 153713 +SHA256 (rust/crates/glslang-0.6.0.crate) = ca195de172c94a69ab142424542f421cf8f7f14555ebbd82c6e8089a8cb318f7 +SIZE (rust/crates/glslang-0.6.0.crate) = 12704 +SHA256 (rust/crates/glslang-sys-0.6.1+46ef757.crate) = ad4a20351d34b8185981fe9e00c2934f061b59f54705dc497e7ae9cbecec0a07 +SIZE (rust/crates/glslang-sys-0.6.1+46ef757.crate) = 3701655 SHA256 (rust/crates/glutin_wgl_sys-0.6.0.crate) = 0a4e1951bbd9434a81aa496fe59ccc2235af3820d27b85f9314e279609211e2c SIZE (rust/crates/glutin_wgl_sys-0.6.0.crate) = 5472 SHA256 (rust/crates/gpu-alloc-0.6.0.crate) = fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171 @@ -263,18 +273,20 @@ SHA256 (rust/crates/gpu-descriptor-0.3.0.crate) = 9c08c1f623a8d0b722b8b99f821eb0 SIZE (rust/crates/gpu-descriptor-0.3.0.crate) = 6727 SHA256 (rust/crates/gpu-descriptor-types-0.2.0.crate) = fdf242682df893b86f33a73828fb09ca4b2d3bb6cc95249707fc684d27484b91 SIZE (rust/crates/gpu-descriptor-types-0.2.0.crate) = 2169 +SHA256 (rust/crates/half-2.4.1.crate) = 6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888 +SIZE (rust/crates/half-2.4.1.crate) = 50892 SHA256 (rust/crates/halfbrown-0.2.5.crate) = 8588661a8607108a5ca69cab034063441a0413a0b041c13618a7dd348021ef6f SIZE (rust/crates/halfbrown-0.2.5.crate) = 29010 SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888 SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968 SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1 SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498 +SHA256 (rust/crates/hashbrown-0.15.0.crate) = 1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb +SIZE (rust/crates/hashbrown-0.15.0.crate) = 136460 SHA256 (rust/crates/hassle-rs-0.11.0.crate) = af2a7e73e1f34c48da31fb668a907f250794837e08faa144fd24f0b8b741e890 SIZE (rust/crates/hassle-rs-0.11.0.crate) = 27178 SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8 SIZE (rust/crates/heck-0.4.1.crate) = 11567 -SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33 -SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979 SHA256 (rust/crates/hermit-abi-0.4.0.crate) = fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc SIZE (rust/crates/hermit-abi-0.4.0.crate) = 16310 SHA256 (rust/crates/hexf-parse-0.2.1.crate) = dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df @@ -285,14 +297,16 @@ SHA256 (rust/crates/icrate-0.0.4.crate) = 99d3aaff8a54577104bafdf686ff18565c3b69 SIZE (rust/crates/icrate-0.0.4.crate) = 1040120 SHA256 (rust/crates/image-0.25.2.crate) = 99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10 SIZE (rust/crates/image-0.25.2.crate) = 225656 +SHA256 (rust/crates/image-compare-0.4.1.crate) = 96cd73af13ae2e7220a1c02fe7d6bb53be50612ba7fabbb5c88e7753645f1f3c +SIZE (rust/crates/image-compare-0.4.1.crate) = 16263 SHA256 (rust/crates/image-webp-0.1.3.crate) = f79afb8cbee2ef20f59ccd477a218c12a93943d075b492015ecb1bb81f8ee904 SIZE (rust/crates/image-webp-0.1.3.crate) = 50444 -SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99 -SIZE (rust/crates/indexmap-1.9.3.crate) = 54653 -SHA256 (rust/crates/indexmap-2.5.0.crate) = 68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5 -SIZE (rust/crates/indexmap-2.5.0.crate) = 85919 +SHA256 (rust/crates/indexmap-2.6.0.crate) = 707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da +SIZE (rust/crates/indexmap-2.6.0.crate) = 85204 SHA256 (rust/crates/is-terminal-0.4.13.crate) = 261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b SIZE (rust/crates/is-terminal-0.4.13.crate) = 7665 +SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569 +SIZE (rust/crates/itertools-0.12.1.crate) = 137761 SHA256 (rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b SIZE (rust/crates/itoa-1.0.11.crate) = 10563 SHA256 (rust/crates/jni-0.21.1.crate) = 1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97 @@ -313,10 +327,12 @@ SHA256 (rust/crates/khronos_api-3.1.0.crate) = e2db585e1d738fc771bf08a151420d3ed SIZE (rust/crates/khronos_api-3.1.0.crate) = 599718 SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025 -SHA256 (rust/crates/libc-0.2.158.crate) = d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439 -SIZE (rust/crates/libc-0.2.158.crate) = 751340 +SHA256 (rust/crates/libc-0.2.159.crate) = 561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5 +SIZE (rust/crates/libc-0.2.159.crate) = 755366 SHA256 (rust/crates/libloading-0.8.5.crate) = 4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4 SIZE (rust/crates/libloading-0.8.5.crate) = 28902 +SHA256 (rust/crates/libm-0.2.8.crate) = 4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058 +SIZE (rust/crates/libm-0.2.8.crate) = 113450 SHA256 (rust/crates/libredox-0.0.2.crate) = 3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607 SIZE (rust/crates/libredox-0.0.2.crate) = 4538 SHA256 (rust/crates/libredox-0.1.3.crate) = c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d @@ -335,8 +351,6 @@ SHA256 (rust/crates/mach-siegbert-vogt-dxcsa-0.1.3.crate) = 7d3e62358869047ad84e SIZE (rust/crates/mach-siegbert-vogt-dxcsa-0.1.3.crate) = 82383 SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239 -SHA256 (rust/crates/matches-0.1.10.crate) = 2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5 -SIZE (rust/crates/matches-0.1.10.crate) = 2592 SHA256 (rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3 SIZE (rust/crates/memchr-2.7.4.crate) = 96670 SHA256 (rust/crates/memmap2-0.9.5.crate) = fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f @@ -345,8 +359,6 @@ SHA256 (rust/crates/metal-0.29.0.crate) = 7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce SIZE (rust/crates/metal-0.29.0.crate) = 3033188 SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841 -SHA256 (rust/crates/miniz_oxide-0.7.4.crate) = b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08 -SIZE (rust/crates/miniz_oxide-0.7.4.crate) = 56119 SHA256 (rust/crates/miniz_oxide-0.8.0.crate) = e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1 SIZE (rust/crates/miniz_oxide-0.8.0.crate) = 56343 SHA256 (rust/crates/naga-22.1.0.crate) = 8bd5a652b6faf21496f2cfd88fc49989c8db0825d1f6746b1a71a6ede24a63ad @@ -407,16 +419,16 @@ SHA256 (rust/crates/objc2-metal-kit-0.2.2.crate) = 5e9ec2524854019d1ff69d0a3222c SIZE (rust/crates/objc2-metal-kit-0.2.2.crate) = 6408 SHA256 (rust/crates/objc2-quartz-core-0.2.2.crate) = e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a SIZE (rust/crates/objc2-quartz-core-0.2.2.crate) = 21306 -SHA256 (rust/crates/once_cell-1.20.0.crate) = 33ea5043e58958ee56f3e15a90aee535795cd7dfd319846288d93c5b57d85cbe -SIZE (rust/crates/once_cell-1.20.0.crate) = 33258 +SHA256 (rust/crates/once_cell-1.20.2.crate) = 1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775 +SIZE (rust/crates/once_cell-1.20.2.crate) = 33394 SHA256 (rust/crates/orbclient-0.3.47.crate) = 52f0d54bde9774d3a51dcf281a5def240c71996bc6ca05d2c847ec8b2b216166 SIZE (rust/crates/orbclient-0.3.47.crate) = 1324509 +SHA256 (rust/crates/ordered-float-4.3.0.crate) = 44d501f1a72f71d3c063a6bbc8f7271fa73aa09fe5d6283b6571e2ed176a2537 +SIZE (rust/crates/ordered-float-4.3.0.crate) = 21550 SHA256 (rust/crates/ordered-multimap-0.4.3.crate) = ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a SIZE (rust/crates/ordered-multimap-0.4.3.crate) = 19599 -SHA256 (rust/crates/os_str_bytes-6.6.1.crate) = e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1 -SIZE (rust/crates/os_str_bytes-6.6.1.crate) = 27643 -SHA256 (rust/crates/owned_ttf_parser-0.24.0.crate) = 490d3a563d3122bf7c911a59b0add9389e5ec0f5f0c3ac6b91ff235a0e6a7f90 -SIZE (rust/crates/owned_ttf_parser-0.24.0.crate) = 151052 +SHA256 (rust/crates/owned_ttf_parser-0.25.0.crate) = 22ec719bbf3b2a81c109a4e20b1f129b5566b7dce654bc3872f6a05abf82b2c4 +SIZE (rust/crates/owned_ttf_parser-0.25.0.crate) = 151164 SHA256 (rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27 SIZE (rust/crates/parking_lot-0.12.3.crate) = 41860 SHA256 (rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8 @@ -429,24 +441,24 @@ SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235 SHA256 (rust/crates/persy-1.5.1.crate) = c8fd841022a015200c1f4ccefe3c5f6af01b0591534d2f2d6b59bc2cb0c4c429 SIZE (rust/crates/persy-1.5.1.crate) = 146581 -SHA256 (rust/crates/pest-2.7.12.crate) = 9c73c26c01b8c87956cea613c907c9d6ecffd8d18a2a5908e5de0adfaa185cea -SIZE (rust/crates/pest-2.7.12.crate) = 123871 -SHA256 (rust/crates/pest_derive-2.7.12.crate) = 664d22978e2815783adbdd2c588b455b1bd625299ce36b2a99881ac9627e6d8d -SIZE (rust/crates/pest_derive-2.7.12.crate) = 38753 -SHA256 (rust/crates/pest_generator-2.7.12.crate) = a2d5487022d5d33f4c30d91c22afa240ce2a644e87fe08caad974d4eab6badbe -SIZE (rust/crates/pest_generator-2.7.12.crate) = 18416 -SHA256 (rust/crates/pest_meta-2.7.12.crate) = 0091754bbd0ea592c4deb3a122ce8ecbb0753b738aa82bc055fcc2eccc8d8174 -SIZE (rust/crates/pest_meta-2.7.12.crate) = 42077 +SHA256 (rust/crates/pest-2.7.13.crate) = fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9 +SIZE (rust/crates/pest-2.7.13.crate) = 126601 +SHA256 (rust/crates/pest_derive-2.7.13.crate) = 4d3a6e3394ec80feb3b6393c725571754c6188490265c61aaf260810d6b95aa0 +SIZE (rust/crates/pest_derive-2.7.13.crate) = 38735 +SHA256 (rust/crates/pest_generator-2.7.13.crate) = 94429506bde1ca69d1b5601962c73f4172ab4726571a59ea95931218cb0e930e +SIZE (rust/crates/pest_generator-2.7.13.crate) = 18416 +SHA256 (rust/crates/pest_meta-2.7.13.crate) = ac8a071862e93690b6e34e9a5fb8e33ff3734473ac0245b27232222c4906a33f +SIZE (rust/crates/pest_meta-2.7.13.crate) = 42079 SHA256 (rust/crates/petgraph-0.6.5.crate) = b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db SIZE (rust/crates/petgraph-0.6.5.crate) = 710970 SHA256 (rust/crates/pin-project-lite-0.2.14.crate) = bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02 SIZE (rust/crates/pin-project-lite-0.2.14.crate) = 28817 -SHA256 (rust/crates/pkg-config-0.3.30.crate) = d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec -SIZE (rust/crates/pkg-config-0.3.30.crate) = 20613 +SHA256 (rust/crates/pkg-config-0.3.31.crate) = 953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2 +SIZE (rust/crates/pkg-config-0.3.31.crate) = 20880 SHA256 (rust/crates/platform-dirs-0.3.0.crate) = e188d043c1a692985f78b5464853a263f1a27e5bd6322bad3a4078ee3c998a38 SIZE (rust/crates/platform-dirs-0.3.0.crate) = 6744 -SHA256 (rust/crates/png-0.17.13.crate) = 06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1 -SIZE (rust/crates/png-0.17.13.crate) = 103176 +SHA256 (rust/crates/png-0.17.14.crate) = 52f9d46a34a05a6a57566bc2bfae066ef07585a6e3fa30fbbdff5936380623f0 +SIZE (rust/crates/png-0.17.14.crate) = 108098 SHA256 (rust/crates/polling-3.7.3.crate) = cc2790cd301dec6cd3b7a025e4815cf825724a51c98dccfe6a3e55f05ffb6511 SIZE (rust/crates/polling-3.7.3.crate) = 58276 SHA256 (rust/crates/pollster-0.3.0.crate) = 22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2 @@ -459,18 +471,14 @@ SHA256 (rust/crates/presser-0.3.1.crate) = e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b SIZE (rust/crates/presser-0.3.1.crate) = 20946 SHA256 (rust/crates/proc-macro-crate-3.2.0.crate) = 8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b SIZE (rust/crates/proc-macro-crate-3.2.0.crate) = 11164 -SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c -SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293 -SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869 -SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971 SHA256 (rust/crates/proc-macro2-1.0.86.crate) = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 SIZE (rust/crates/proc-macro2-1.0.86.crate) = 48958 SHA256 (rust/crates/profiling-1.0.15.crate) = 43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58 SIZE (rust/crates/profiling-1.0.15.crate) = 14255 SHA256 (rust/crates/quick-error-2.0.1.crate) = a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3 SIZE (rust/crates/quick-error-2.0.1.crate) = 14265 -SHA256 (rust/crates/quick-xml-0.36.1.crate) = 96a05e2e8efddfa51a84ca47cec303fac86c8541b686d37cac5efc0e094417bc -SIZE (rust/crates/quick-xml-0.36.1.crate) = 185352 +SHA256 (rust/crates/quick-xml-0.36.2.crate) = f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe +SIZE (rust/crates/quick-xml-0.36.2.crate) = 185201 SHA256 (rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af SIZE (rust/crates/quote-1.0.37.crate) = 28558 SHA256 (rust/crates/radium-0.7.0.crate) = dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09 @@ -483,10 +491,6 @@ SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9ba SIZE (rust/crates/rand_core-0.6.4.crate) = 22666 SHA256 (rust/crates/range-alloc-0.1.3.crate) = 9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab SIZE (rust/crates/range-alloc-0.1.3.crate) = 7664 -SHA256 (rust/crates/raw-window-handle-0.4.3.crate) = b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41 -SIZE (rust/crates/raw-window-handle-0.4.3.crate) = 10636 -SHA256 (rust/crates/raw-window-handle-0.5.2.crate) = f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9 -SIZE (rust/crates/raw-window-handle-0.5.2.crate) = 17063 SHA256 (rust/crates/raw-window-handle-0.6.2.crate) = 20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539 SIZE (rust/crates/raw-window-handle-0.6.2.crate) = 20234 SHA256 (rust/crates/raw-window-metal-0.4.0.crate) = 76e8caa82e31bb98fee12fa8f051c94a6aa36b07cddb03f0d4fc558988360ff1 @@ -499,18 +503,22 @@ SHA256 (rust/crates/redox_syscall-0.3.5.crate) = 567664f262709473930a4bf9e51bf2e SIZE (rust/crates/redox_syscall-0.3.5.crate) = 23404 SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858 -SHA256 (rust/crates/redox_syscall-0.5.4.crate) = 0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853 -SIZE (rust/crates/redox_syscall-0.5.4.crate) = 25977 +SHA256 (rust/crates/redox_syscall-0.5.7.crate) = 9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f +SIZE (rust/crates/redox_syscall-0.5.7.crate) = 26249 SHA256 (rust/crates/redox_users-0.4.6.crate) = ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43 SIZE (rust/crates/redox_users-0.4.6.crate) = 15585 -SHA256 (rust/crates/regex-1.10.6.crate) = 4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619 -SIZE (rust/crates/regex-1.10.6.crate) = 253894 -SHA256 (rust/crates/regex-automata-0.4.7.crate) = 38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df -SIZE (rust/crates/regex-automata-0.4.7.crate) = 617582 -SHA256 (rust/crates/regex-syntax-0.8.4.crate) = 7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b -SIZE (rust/crates/regex-syntax-0.8.4.crate) = 347577 +SHA256 (rust/crates/regex-1.11.0.crate) = 38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8 +SIZE (rust/crates/regex-1.11.0.crate) = 254059 +SHA256 (rust/crates/regex-automata-0.4.8.crate) = 368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3 +SIZE (rust/crates/regex-automata-0.4.8.crate) = 617784 +SHA256 (rust/crates/regex-syntax-0.8.5.crate) = 2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c +SIZE (rust/crates/regex-syntax-0.8.5.crate) = 357541 SHA256 (rust/crates/renderdoc-sys-1.1.0.crate) = 19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832 SIZE (rust/crates/renderdoc-sys-1.1.0.crate) = 10366 +SHA256 (rust/crates/rmp-0.8.14.crate) = 228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4 +SIZE (rust/crates/rmp-0.8.14.crate) = 29687 +SHA256 (rust/crates/rmp-serde-1.3.0.crate) = 52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db +SIZE (rust/crates/rmp-serde-1.3.0.crate) = 33025 SHA256 (rust/crates/ron-0.7.1.crate) = 88073939a61e5b7680558e6be56b419e208420c2adb92be54921fa6b72283f1a SIZE (rust/crates/ron-0.7.1.crate) = 53572 SHA256 (rust/crates/rspirv-0.12.0+sdk-1.3.268.0.crate) = 69cf3a93856b6e5946537278df0d3075596371b1950ccff012f02b0f7eafec8d @@ -535,10 +543,14 @@ SHA256 (rust/crates/sctk-adwaita-0.8.3.crate) = 70b31447ca297092c5a9916fc3b95520 SIZE (rust/crates/sctk-adwaita-0.8.3.crate) = 53184 SHA256 (rust/crates/serde-1.0.210.crate) = c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a SIZE (rust/crates/serde-1.0.210.crate) = 78338 +SHA256 (rust/crates/serde_bytes-0.11.15.crate) = 387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a +SIZE (rust/crates/serde_bytes-0.11.15.crate) = 12191 SHA256 (rust/crates/serde_derive-1.0.210.crate) = 243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f SIZE (rust/crates/serde_derive-1.0.210.crate) = 56020 SHA256 (rust/crates/serde_json-1.0.128.crate) = 6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8 SIZE (rust/crates/serde_json-1.0.128.crate) = 149520 +SHA256 (rust/crates/serde_spanned-0.6.8.crate) = 87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1 +SIZE (rust/crates/serde_spanned-0.6.8.crate) = 9330 SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8 SIZE (rust/crates/sha2-0.10.8.crate) = 26357 SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64 @@ -557,20 +569,28 @@ SHA256 (rust/crates/smithay-client-toolkit-0.18.1.crate) = 922fd3eeab3bd820d7653 SIZE (rust/crates/smithay-client-toolkit-0.18.1.crate) = 129920 SHA256 (rust/crates/smol_str-0.2.2.crate) = dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead SIZE (rust/crates/smol_str-0.2.2.crate) = 15840 +SHA256 (rust/crates/spirq-1.2.2.crate) = c5ab05ab7b72dbb729fe1831a7e4b717b0d18f552c8b2dc9fb06b85878a017a6 +SIZE (rust/crates/spirq-1.2.2.crate) = 27182 SHA256 (rust/crates/spirv-0.3.0+sdk-1.3.268.0.crate) = eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844 SIZE (rust/crates/spirv-0.3.0+sdk-1.3.268.0.crate) = 30802 -SHA256 (rust/crates/spirv-cross-sys-0.4.0.crate) = 3aaad7cc693a12f8da9fd481ac938fdd0fc1b2e73b9f710eb723d3e7f5607f0a -SIZE (rust/crates/spirv-cross-sys-0.4.0.crate) = 1831816 -SHA256 (rust/crates/spirv-cross2-0.4.2.crate) = ca2c78dd7b37f600f6254e95c435b81f5f0201b96d26e263646999f7a3669c19 -SIZE (rust/crates/spirv-cross2-0.4.2.crate) = 60810 +SHA256 (rust/crates/spirv-cross-sys-0.4.2+b28b355.crate) = afbc0e8a0eca01334612a66c775b5b0e6f9dcad69dafdcd674a973c3d1c2011c +SIZE (rust/crates/spirv-cross-sys-0.4.2+b28b355.crate) = 1845698 +SHA256 (rust/crates/spirv-cross2-0.4.6.crate) = 7c248b63ebea5a3153214091875d63cc0bacbe4743c13e20dc54bd73ba847972 +SIZE (rust/crates/spirv-cross2-0.4.6.crate) = 61782 SHA256 (rust/crates/spirv-cross2-derive-0.1.0.crate) = 18017a288e6ce64dd5d56510166baeabb01849483555c031f573c091b6934a64 SIZE (rust/crates/spirv-cross2-derive-0.1.0.crate) = 2460 SHA256 (rust/crates/spirv-to-dxil-0.4.7.crate) = 5a3fb4188c288f0bcf2d6e18a74647a6346ce974c7751ca075de89e4949d4b0e SIZE (rust/crates/spirv-to-dxil-0.4.7.crate) = 14330 SHA256 (rust/crates/spirv-to-dxil-sys-0.4.7.crate) = 037a06e11f21b121d2aff4575185e1f61486908d1202f91d55997b05fdc51140 SIZE (rust/crates/spirv-to-dxil-sys-0.4.7.crate) = 9834227 +SHA256 (rust/crates/spq-core-1.0.5.crate) = 605fb8ae60065f7a9d21d1ae1e89f7a5ff93ca7755df88ada937ac06ba0a0a43 +SIZE (rust/crates/spq-core-1.0.5.crate) = 17514 +SHA256 (rust/crates/spq-spvasm-0.1.4.crate) = e703e41f4ae2b3081129430559e5a0a0420a4de624c050a6d58b76e9b632b742 +SIZE (rust/crates/spq-spvasm-0.1.4.crate) = 68189 SHA256 (rust/crates/sptr-0.3.2.crate) = 3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a SIZE (rust/crates/sptr-0.3.2.crate) = 14598 +SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3 +SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054 SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480 SHA256 (rust/crates/strict-num-0.1.1.crate) = 6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731 @@ -579,20 +599,18 @@ SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f0 SIZE (rust/crates/strsim-0.10.0.crate) = 11355 SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237 SIZE (rust/crates/syn-1.0.109.crate) = 237611 -SHA256 (rust/crates/syn-2.0.77.crate) = 9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed -SIZE (rust/crates/syn-2.0.77.crate) = 268784 +SHA256 (rust/crates/syn-2.0.79.crate) = 89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590 +SIZE (rust/crates/syn-2.0.79.crate) = 268981 SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 SIZE (rust/crates/tap-1.0.1.crate) = 11316 -SHA256 (rust/crates/tempfile-3.12.0.crate) = 04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64 -SIZE (rust/crates/tempfile-3.12.0.crate) = 34423 +SHA256 (rust/crates/tempfile-3.13.0.crate) = f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b +SIZE (rust/crates/tempfile-3.13.0.crate) = 34910 SHA256 (rust/crates/termcolor-1.4.1.crate) = 06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755 SIZE (rust/crates/termcolor-1.4.1.crate) = 18773 -SHA256 (rust/crates/textwrap-0.16.1.crate) = 23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9 -SIZE (rust/crates/textwrap-0.16.1.crate) = 56012 -SHA256 (rust/crates/thiserror-1.0.63.crate) = c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724 -SIZE (rust/crates/thiserror-1.0.63.crate) = 21537 -SHA256 (rust/crates/thiserror-impl-1.0.63.crate) = a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261 -SIZE (rust/crates/thiserror-impl-1.0.63.crate) = 16047 +SHA256 (rust/crates/thiserror-1.0.64.crate) = d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84 +SIZE (rust/crates/thiserror-1.0.64.crate) = 21574 +SHA256 (rust/crates/thiserror-impl-1.0.64.crate) = 08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3 +SIZE (rust/crates/thiserror-impl-1.0.64.crate) = 16073 SHA256 (rust/crates/tiff-0.9.1.crate) = ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e SIZE (rust/crates/tiff-0.9.1.crate) = 1423953 SHA256 (rust/crates/tiny-skia-0.11.4.crate) = 83d13394d44dae3207b52a326c0c85a8bf87f1541f23b0d143811088497b09ab @@ -601,30 +619,36 @@ SHA256 (rust/crates/tiny-skia-path-0.11.4.crate) = 9c9e7fc0c2e86a30b117d0462aa26 SIZE (rust/crates/tiny-skia-path-0.11.4.crate) = 47764 SHA256 (rust/crates/toml-0.5.11.crate) = f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234 SIZE (rust/crates/toml-0.5.11.crate) = 54910 +SHA256 (rust/crates/toml-0.8.19.crate) = a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e +SIZE (rust/crates/toml-0.8.19.crate) = 50974 SHA256 (rust/crates/toml_datetime-0.6.8.crate) = 0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41 SIZE (rust/crates/toml_datetime-0.6.8.crate) = 12028 -SHA256 (rust/crates/toml_edit-0.22.20.crate) = 583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d -SIZE (rust/crates/toml_edit-0.22.20.crate) = 106726 +SHA256 (rust/crates/toml_edit-0.22.22.crate) = 4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5 +SIZE (rust/crates/toml_edit-0.22.22.crate) = 106387 SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef SIZE (rust/crates/tracing-0.1.40.crate) = 79459 SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54 SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221 -SHA256 (rust/crates/ttf-parser-0.24.1.crate) = 5be21190ff5d38e8b4a2d3b6a3ae57f612cc39c96e83cedeaf7abc338a8bac4a -SIZE (rust/crates/ttf-parser-0.24.1.crate) = 197588 +SHA256 (rust/crates/triomphe-0.1.13.crate) = e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369 +SIZE (rust/crates/triomphe-0.1.13.crate) = 29568 +SHA256 (rust/crates/ttf-parser-0.25.0.crate) = 5902c5d130972a0000f60860bfbf46f7ca3db5391eddfedd1b8728bd9dc96c0e +SIZE (rust/crates/ttf-parser-0.25.0.crate) = 200787 SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825 SIZE (rust/crates/typenum-1.17.0.crate) = 42849 -SHA256 (rust/crates/ucd-trie-0.1.6.crate) = ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9 -SIZE (rust/crates/ucd-trie-0.1.6.crate) = 45790 +SHA256 (rust/crates/ucd-trie-0.1.7.crate) = 2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971 +SIZE (rust/crates/ucd-trie-0.1.7.crate) = 46795 SHA256 (rust/crates/unicode-ident-1.0.13.crate) = e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe SIZE (rust/crates/unicode-ident-1.0.13.crate) = 43279 SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493 SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323 -SHA256 (rust/crates/unicode-width-0.1.13.crate) = 0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d -SIZE (rust/crates/unicode-width-0.1.13.crate) = 457228 -SHA256 (rust/crates/unicode-xid-0.2.5.crate) = 229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a -SIZE (rust/crates/unicode-xid-0.2.5.crate) = 15530 +SHA256 (rust/crates/unicode-width-0.1.14.crate) = 7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af +SIZE (rust/crates/unicode-width-0.1.14.crate) = 271615 +SHA256 (rust/crates/unicode-xid-0.2.6.crate) = ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853 +SIZE (rust/crates/unicode-xid-0.2.6.crate) = 15744 SHA256 (rust/crates/unsigned-varint-0.8.0.crate) = eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06 SIZE (rust/crates/unsigned-varint-0.8.0.crate) = 15955 +SHA256 (rust/crates/utf8parse-0.2.2.crate) = 06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821 +SIZE (rust/crates/utf8parse-0.2.2.crate) = 13499 SHA256 (rust/crates/vec_extract_if_polyfill-0.1.0.crate) = 40c9cb5fb67c2692310b6eb3fce7dd4b6e4c9a75be4f2f46b27f0b2b7799759c SIZE (rust/crates/vec_extract_if_polyfill-0.1.0.crate) = 3610 SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a @@ -765,8 +789,8 @@ SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270 SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564 SHA256 (rust/crates/winit-0.29.15.crate) = 0d59ad965a635657faf09c8f062badd885748428933dad8e8bdd64064d92e5ca SIZE (rust/crates/winit-0.29.15.crate) = 588797 -SHA256 (rust/crates/winnow-0.6.18.crate) = 68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f -SIZE (rust/crates/winnow-0.6.18.crate) = 163357 +SHA256 (rust/crates/winnow-0.6.20.crate) = 36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b +SIZE (rust/crates/winnow-0.6.20.crate) = 163617 SHA256 (rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed SIZE (rust/crates/wyz-0.5.1.crate) = 18790 SHA256 (rust/crates/x11-dl-2.21.0.crate) = 38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f @@ -795,5 +819,5 @@ SHA256 (rust/crates/zune-core-0.4.12.crate) = 3f423a2c17029964870cfaabb1f13dfab7 SIZE (rust/crates/zune-core-0.4.12.crate) = 17355 SHA256 (rust/crates/zune-jpeg-0.4.13.crate) = 16099418600b4d8f028622f73ff6e3deaabdff330fb9a2a131dea781ee8b0768 SIZE (rust/crates/zune-jpeg-0.4.13.crate) = 62999 -SHA256 (SnowflakePowered-librashader-v0.4.5-librashader-v0.4.5_GH0.tar.gz) = aae6bc8ede894811ba97ce926b823aa6f48033dc845210dac2472405b25e3464 -SIZE (SnowflakePowered-librashader-v0.4.5-librashader-v0.4.5_GH0.tar.gz) = 2895519 +SHA256 (SnowflakePowered-librashader-v0.5.1-librashader-v0.5.1_GH0.tar.gz) = b1e4ae21123fa2476b42a866a6930e30a0743bce28a9a4c6891894ced2dcff40 +SIZE (SnowflakePowered-librashader-v0.5.1-librashader-v0.5.1_GH0.tar.gz) = 2945763 diff --git a/devel/librashader/pkg-plist b/devel/librashader/pkg-plist index 7a014cbd33f7..d5a88eb18efc 100644 --- a/devel/librashader/pkg-plist +++ b/devel/librashader/pkg-plist @@ -2,8 +2,9 @@ include/librashader/librashader.h include/librashader/librashader_ld.h lib/librashader.a lib/librashader.so -lib/librashader.so.1 +lib/librashader.so.2 libdata/pkgconfig/librashader.pc %%PORTDOCS%%%%DOCSDIR%%/BROKEN_SHADERS.md +%%PORTDOCS%%%%DOCSDIR%%/MIGRATION-ABI2.md %%PORTDOCS%%%%DOCSDIR%%/README.md %%PORTEXAMPLES%%%%EXAMPLESDIR%%/README.md diff --git a/devel/linux-rl9-dbus-libs/Makefile b/devel/linux-rl9-dbus-libs/Makefile index c5b3e38a075c..096d34ac0f8c 100644 --- a/devel/linux-rl9-dbus-libs/Makefile +++ b/devel/linux-rl9-dbus-libs/Makefile @@ -1,7 +1,7 @@ PORTNAME= dbus PORTVERSION= 1.12.20 DISTVERSIONSUFFIX= -8.el9 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel linux PKGNAMESUFFIX= -libs @@ -15,6 +15,8 @@ USES= cpe linux:rl9 USE_LDCONFIG= yes USE_LINUX= expat systemd-libs USE_LINUX_RPM= yes +WANT_LINUX32= yes + CPE_VENDOR= freedesktop LIB_DISTNAMES= ${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSIONFULL} \ @@ -23,7 +25,7 @@ SRC_DISTFILES= ${PORTNAME}-${DISTVERSIONFULL}${SRC_SUFX}:SOURCE \ ${PORTNAME}-glib-0.110-13.el9${SRC_SUFX}:SOURCE CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION} OPTIONS_DEFINE= DOCS diff --git a/devel/linux-rl9-dbus-libs/distinfo b/devel/linux-rl9-dbus-libs/distinfo index c35f091c8e41..5909102bcda4 100644 --- a/devel/linux-rl9-dbus-libs/distinfo +++ b/devel/linux-rl9-dbus-libs/distinfo @@ -1,10 +1,14 @@ -TIMESTAMP = 1707735295 +TIMESTAMP = 1731431765 SHA256 (rocky/d/dbus-glib-0.110-13.el9.aarch64.rpm) = 286d71dc7a6accdf1bd11129e87bcc5fd5cef3d6841aecae78bcba8c1f73bdf8 SIZE (rocky/d/dbus-glib-0.110-13.el9.aarch64.rpm) = 122885 +SHA256 (rocky/d/dbus-glib-0.110-13.el9.i686.rpm) = f9aa849366180eba292a8140215a4ff9b1e84e3f582ab8b84d70a528dad31fd4 +SIZE (rocky/d/dbus-glib-0.110-13.el9.i686.rpm) = 132981 SHA256 (rocky/d/dbus-glib-0.110-13.el9.x86_64.rpm) = bdbbb3f7e140ae24a17c4d3d2ae0d565e716bbfeb169f008547d730f83cf4071 SIZE (rocky/d/dbus-glib-0.110-13.el9.x86_64.rpm) = 124442 SHA256 (rocky/d/dbus-libs-1.12.20-8.el9.aarch64.rpm) = 472aefc4bb2db327841c9c8fa3bc30f56dc5e00b0e77fac9c179e39ba7ad0146 SIZE (rocky/d/dbus-libs-1.12.20-8.el9.aarch64.rpm) = 152278 +SHA256 (rocky/d/dbus-libs-1.12.20-8.el9.i686.rpm) = 9dbc066872137050cf2fcee679533254ccefa83ca67c91a417ff2c5020926ca6 +SIZE (rocky/d/dbus-libs-1.12.20-8.el9.i686.rpm) = 167920 SHA256 (rocky/d/dbus-libs-1.12.20-8.el9.x86_64.rpm) = ab81c1e16482f333aa285db120051b099b56661d4620f0f1af05f8e69126e97b SIZE (rocky/d/dbus-libs-1.12.20-8.el9.x86_64.rpm) = 154570 SHA256 (rocky/d/dbus-1.12.20-8.el9.src.rpm) = e2dbe4b0f2e1cf97f08e865ba60094d8cfa5e23f9f851b59bcb77c60ad62d0bf diff --git a/devel/linux-rl9-dbus-libs/pkg-plist.amd64 b/devel/linux-rl9-dbus-libs/pkg-plist.amd64 index 5dce66be6051..d6be2d8129a2 100644 --- a/devel/linux-rl9-dbus-libs/pkg-plist.amd64 +++ b/devel/linux-rl9-dbus-libs/pkg-plist.amd64 @@ -1,7 +1,14 @@ usr/bin/dbus-binding-tool +usr/lib/.build-id/7e/a2f9bff7702cdb0e3c98a3448ffc61e1047e56 +usr/lib/.build-id/a9/0cce255da51dc1cf07f647d81fa9a4424ae53a usr/lib/.build-id/ab/e4f3e031e68c502e53a1f739bfb8a4d1a706a8 +usr/lib/.build-id/d5/54feaa04efb1824a5e89bcc6a6650bff704e78 usr/lib/.build-id/da/d1f98a135c11a1bb890df74d05637ddbf03bbb usr/lib/.build-id/fa/8c3406cd7881a5d4afe43594283a93752e5565 +usr/lib/libdbus-1.so.3 +usr/lib/libdbus-1.so.3.19.13 +usr/lib/libdbus-glib-1.so.2 +usr/lib/libdbus-glib-1.so.2.3.4 usr/lib64/libdbus-1.so.3 usr/lib64/libdbus-1.so.3.19.13 usr/lib64/libdbus-glib-1.so.2 diff --git a/devel/linux-rl9-devtools/Makefile b/devel/linux-rl9-devtools/Makefile index 328aacc1e48a..4cdd9db7ed30 100644 --- a/devel/linux-rl9-devtools/Makefile +++ b/devel/linux-rl9-devtools/Makefile @@ -1,6 +1,6 @@ PORTNAME= devtools PORTVERSION= ${LINUX_DIST_VER} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel MAINTAINER= emulation@FreeBSD.org @@ -13,6 +13,7 @@ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX= libgfortran USE_LINUX_RPM= yes +WANT_LINUX32= yes ONLY_FOR_ARCHS= aarch64 amd64 diff --git a/devel/linux-rl9-devtools/distinfo b/devel/linux-rl9-devtools/distinfo index cffbc2c496b2..e9df0064a456 100644 --- a/devel/linux-rl9-devtools/distinfo +++ b/devel/linux-rl9-devtools/distinfo @@ -1,10 +1,12 @@ -TIMESTAMP = 1730329965 +TIMESTAMP = 1731417070 SHA256 (rocky/b/binutils-2.35.2-43.el9.aarch64.rpm) = a1267003c61347a14bc9e4caf24f3e0f3a398826ed78ec97e0ccdf61bbf041c7 SIZE (rocky/b/binutils-2.35.2-43.el9.aarch64.rpm) = 4978119 SHA256 (rocky/b/binutils-2.35.2-43.el9.x86_64.rpm) = b76d3f540b6c7c6c9451ec1c5caca6169f9b712f731ac29e7f1ca539c5845a3a SIZE (rocky/b/binutils-2.35.2-43.el9.x86_64.rpm) = 4744524 SHA256 (rocky/b/binutils-devel-2.35.2-43.el9.aarch64.rpm) = c91b365b4babcdc408fb0c85b710b2aeb710216456b228dd167824d2298e49da SIZE (rocky/b/binutils-devel-2.35.2-43.el9.aarch64.rpm) = 5125561 +SHA256 (rocky/b/binutils-devel-2.35.2-43.el9.i686.rpm) = 29bd93cefbf941bd843c8795492c428e8cb4c5aea04991db7d9764e359b68499 +SIZE (rocky/b/binutils-devel-2.35.2-43.el9.i686.rpm) = 3864166 SHA256 (rocky/b/binutils-devel-2.35.2-43.el9.x86_64.rpm) = 30c3d2ea6f97022de5ff831b228e7814807055254f41cca39fd5fb190dd8b107 SIZE (rocky/b/binutils-devel-2.35.2-43.el9.x86_64.rpm) = 4055278 SHA256 (rocky/c/cpp-11.4.1-3.el9.aarch64.rpm) = 8a6c9312e8cd4e4b8af532facf2c824626bf12bc09098832adf73a8e327fdd58 @@ -25,6 +27,8 @@ SHA256 (rocky/g/gcc-gfortran-11.4.1-3.el9.x86_64.rpm) = dbee18a4d3d12f717bfff4df SIZE (rocky/g/gcc-gfortran-11.4.1-3.el9.x86_64.rpm) = 13213071 SHA256 (rocky/g/glibc-devel-2.34-100.el9_4.4.aarch64.rpm) = 15c44a0983ef528474ff5f48997dd7030b727b5805458f41f366c50bd2b76993 SIZE (rocky/g/glibc-devel-2.34-100.el9_4.4.aarch64.rpm) = 448914 +SHA256 (rocky/g/glibc-devel-2.34-100.el9_4.4.i686.rpm) = 21d8d58700be77c4293ba2f131c6439e7c1a3af676c40c0d6d3702b889dcbfa0 +SIZE (rocky/g/glibc-devel-2.34-100.el9_4.4.i686.rpm) = 29951 SHA256 (rocky/g/glibc-devel-2.34-100.el9_4.4.x86_64.rpm) = b6e6d5d30da16bb5f1d863daa4b861a03f6fe96f519a4238580f1331df43ddc4 SIZE (rocky/g/glibc-devel-2.34-100.el9_4.4.x86_64.rpm) = 29511 SHA256 (rocky/g/glibc-headers-2.34-100.el9_4.4.x86_64.rpm) = afd1d1d82cb42390c76c0d38dd62cdcb520c660cfb7ab0a79d71d99fb5f5086b @@ -35,18 +39,26 @@ SHA256 (rocky/k/kernel-headers-5.14.0-427.40.1.el9_4.x86_64.rpm) = 8d750fa408ae7 SIZE (rocky/k/kernel-headers-5.14.0-427.40.1.el9_4.x86_64.rpm) = 6344017 SHA256 (rocky/l/libatomic-11.4.1-3.el9.aarch64.rpm) = 106c434658881d6bab022d4395cedbc2ba44c1730bdfead3b5590fc6789a8cef SIZE (rocky/l/libatomic-11.4.1-3.el9.aarch64.rpm) = 35915 +SHA256 (rocky/l/libatomic-11.4.1-3.el9.i686.rpm) = 585a7a3ea2da6b4be8762c4d9002a766036ff13c2ccdbcbaa806f8d13f69edb6 +SIZE (rocky/l/libatomic-11.4.1-3.el9.i686.rpm) = 33009 SHA256 (rocky/l/libatomic-11.4.1-3.el9.x86_64.rpm) = 31916e42763c30174ed94369f72a2d4afe5cdad9fbc94cf4f764ec2940b3f46a SIZE (rocky/l/libatomic-11.4.1-3.el9.x86_64.rpm) = 33442 SHA256 (rocky/l/libgomp-11.4.1-3.el9.aarch64.rpm) = a7a0006cb91113e8ae337fbdc603b011b37f09dd21394b6a3114ab7b5a3ce98c SIZE (rocky/l/libgomp-11.4.1-3.el9.aarch64.rpm) = 272059 +SHA256 (rocky/l/libgomp-11.4.1-3.el9.i686.rpm) = 1c71415d2e33f6bd17c14aba58af3d8f47255dfe6cf9d86270f298285bbaf404 +SIZE (rocky/l/libgomp-11.4.1-3.el9.i686.rpm) = 281674 SHA256 (rocky/l/libgomp-11.4.1-3.el9.x86_64.rpm) = bd505bdee6c737dda9315aad85a6e0068cd709110cbb24848b391911001e3924 SIZE (rocky/l/libgomp-11.4.1-3.el9.x86_64.rpm) = 273900 SHA256 (rocky/l/libmpc-1.2.1-4.el9.aarch64.rpm) = 5426e7bb9676b4cab08fe1e0a23a48a8cd49ba883f54b7434245f1a9dd2cd8c6 SIZE (rocky/l/libmpc-1.2.1-4.el9.aarch64.rpm) = 63826 +SHA256 (rocky/l/libmpc-1.2.1-4.el9.i686.rpm) = 5e871c25709599583289e64d0c96d0409187afdd12554741b2fe76e69b1781e5 +SIZE (rocky/l/libmpc-1.2.1-4.el9.i686.rpm) = 68255 SHA256 (rocky/l/libmpc-1.2.1-4.el9.x86_64.rpm) = c4def74fc686113748590ce9bc8591092947be804650ef56aa161e049660273e SIZE (rocky/l/libmpc-1.2.1-4.el9.x86_64.rpm) = 62755 SHA256 (rocky/l/libstdc++-devel-11.4.1-3.el9.aarch64.rpm) = b715ef21055422762bc3cbaa3b17be7cbdf0b03c6805bc773a9414c2c52c313d SIZE (rocky/l/libstdc++-devel-11.4.1-3.el9.aarch64.rpm) = 2336346 +SHA256 (rocky/l/libstdc++-devel-11.4.1-3.el9.i686.rpm) = afe2fcca9a5e6fd8a1ce48e7ef600a088f85ada5745dcf5c2d76b2dfa6bbd92b +SIZE (rocky/l/libstdc++-devel-11.4.1-3.el9.i686.rpm) = 2353245 SHA256 (rocky/l/libstdc++-devel-11.4.1-3.el9.x86_64.rpm) = 8cdf0dbc08b88670e85087cf6c577e2b1e8cce4a4ad56053f4475955a4ee681c SIZE (rocky/l/libstdc++-devel-11.4.1-3.el9.x86_64.rpm) = 2336664 SHA256 (rocky/m/mpfr-4.1.0-7.el9.aarch64.rpm) = 41ce16a26c839c36cd84a836361ecd3ca4bc966bddc945af8cb70886331511ee diff --git a/devel/linux-rl9-devtools/pkg-plist.amd64 b/devel/linux-rl9-devtools/pkg-plist.amd64 index 522488e1e13e..9f07e5b64043 100644 --- a/devel/linux-rl9-devtools/pkg-plist.amd64 +++ b/devel/linux-rl9-devtools/pkg-plist.amd64 @@ -958,6 +958,29 @@ usr/include/c++/11/forward_list usr/include/c++/11/fstream usr/include/c++/11/functional usr/include/c++/11/future +usr/include/c++/11/i686-redhat-linux/bits/atomic_word.h +usr/include/c++/11/i686-redhat-linux/bits/basic_file.h +usr/include/c++/11/i686-redhat-linux/bits/c++allocator.h +usr/include/c++/11/i686-redhat-linux/bits/c++config.h +usr/include/c++/11/i686-redhat-linux/bits/c++io.h +usr/include/c++/11/i686-redhat-linux/bits/c++locale.h +usr/include/c++/11/i686-redhat-linux/bits/cpu_defines.h +usr/include/c++/11/i686-redhat-linux/bits/ctype_base.h +usr/include/c++/11/i686-redhat-linux/bits/ctype_inline.h +usr/include/c++/11/i686-redhat-linux/bits/cxxabi_tweaks.h +usr/include/c++/11/i686-redhat-linux/bits/error_constants.h +usr/include/c++/11/i686-redhat-linux/bits/extc++.h +usr/include/c++/11/i686-redhat-linux/bits/gthr-default.h +usr/include/c++/11/i686-redhat-linux/bits/gthr-posix.h +usr/include/c++/11/i686-redhat-linux/bits/gthr-single.h +usr/include/c++/11/i686-redhat-linux/bits/gthr.h +usr/include/c++/11/i686-redhat-linux/bits/messages_members.h +usr/include/c++/11/i686-redhat-linux/bits/opt_random.h +usr/include/c++/11/i686-redhat-linux/bits/os_defines.h +usr/include/c++/11/i686-redhat-linux/bits/stdc++.h +usr/include/c++/11/i686-redhat-linux/bits/stdtr1c++.h +usr/include/c++/11/i686-redhat-linux/bits/time_members.h +usr/include/c++/11/i686-redhat-linux/ext/opt_random.h usr/include/c++/11/initializer_list usr/include/c++/11/iomanip usr/include/c++/11/ios @@ -1250,9 +1273,11 @@ usr/include/gconv.h usr/include/getopt.h usr/include/glob.h usr/include/gnu-versions.h +usr/include/gnu/lib-names-32.h usr/include/gnu/lib-names-64.h usr/include/gnu/lib-names.h usr/include/gnu/libc-version.h +usr/include/gnu/stubs-32.h usr/include/gnu/stubs-64.h usr/include/gnu/stubs.h usr/include/grp.h @@ -2365,6 +2390,7 @@ usr/lib/.build-id/79/ee2592960cd5375e043f984fd032ea93152225 usr/lib/.build-id/7a/09fbbb02bdb49cd02065286ad56a0f71abff8b usr/lib/.build-id/81/c14da0daf36e17da85414561e4ad78da2a66ac usr/lib/.build-id/81/c14da0daf36e17da85414561e4ad78da2a66ac.1 +usr/lib/.build-id/88/2aff222a01591dad18f9424172fd09e68b6ff1 usr/lib/.build-id/8c/ee3aa2725004d96efed557a3988b8778608889 usr/lib/.build-id/8c/ee3aa2725004d96efed557a3988b8778608889.1 usr/lib/.build-id/8c/ee3aa2725004d96efed557a3988b8778608889.2 @@ -2412,6 +2438,7 @@ usr/lib/.build-id/d4/f18d7193c01adbddf5932d771a30a7aa61cc43 usr/lib/.build-id/d8/4113a8da46bcdf03bb8e75d03615c661d8682f usr/lib/.build-id/da/7e2c34c2a603854cbee7b24593fd5120a6a6a0 usr/lib/.build-id/db/28e67c223ff715525c86ad82a8e03b9980fa80 +usr/lib/.build-id/df/da27a6afa67df395c2383dbecdc6378f3f79bb usr/lib/.build-id/e2/956c68de56fce4fbbad58fa69ffcb011b4344e usr/lib/.build-id/e3/3297dfcbd322e9005b69f538c132c5ffd79cc0 usr/lib/.build-id/e4/8b931eb9df9c57538ebb41f9d7dc44ad522594 @@ -2425,7 +2452,15 @@ usr/lib/.build-id/f9/0f5b28865a805ac4263932f05e698510628b04.1 usr/lib/.build-id/f9/0f5b28865a805ac4263932f05e698510628b04.2 usr/lib/.build-id/f9/0f5b28865a805ac4263932f05e698510628b04.3 usr/lib/.build-id/fa/67ed88db8115d7540dc2555e94fcbb6eab2c0b +usr/lib/.build-id/fb/9908812833f069f32f280a0fc981a4e7d3eedd +usr/lib/Mcrt1.o +usr/lib/Scrt1.o usr/lib/cpp +usr/lib/crt1.o +usr/lib/crti.o +usr/lib/crtn.o +usr/lib/gcc/i686-redhat-linux/11/libstdc++.so +usr/lib/gcc/i686-redhat-linux/11/libstdc++fs.a usr/lib/gcc/x86_64-redhat-linux/11/32/crtbegin.o usr/lib/gcc/x86_64-redhat-linux/11/32/crtbeginS.o usr/lib/gcc/x86_64-redhat-linux/11/32/crtbeginT.o @@ -2638,6 +2673,38 @@ usr/lib/gcc/x86_64-redhat-linux/11/libtsan.so usr/lib/gcc/x86_64-redhat-linux/11/libtsan_preinit.o usr/lib/gcc/x86_64-redhat-linux/11/libubsan.so usr/lib/gcc/x86_64-redhat-linux/11/rpmver +usr/lib/gcrt1.o +usr/lib/grcrt1.o +usr/lib/libBrokenLocale.so +usr/lib/libanl.a +usr/lib/libanl.so +usr/lib/libatomic.so.1 +usr/lib/libatomic.so.1.2.0 +usr/lib/libbfd.a +usr/lib/libbfd.la +usr/lib/libbfd.so +usr/lib/libc.so +usr/lib/libc_nonshared.a +usr/lib/libctf-nobfd.a +usr/lib/libctf.a +usr/lib/libdl.a +usr/lib/libg.a +usr/lib/libgomp.so.1 +usr/lib/libgomp.so.1.0.0 +usr/lib/libiberty.a +usr/lib/libm.so +usr/lib/libmcheck.a +usr/lib/libmpc.so.3 +usr/lib/libmpc.so.3.2.1 +usr/lib/libopcodes.a +usr/lib/libopcodes.la +usr/lib/libopcodes.so +usr/lib/libpthread.a +usr/lib/libresolv.so +usr/lib/librt.a +usr/lib/libthread_db.so +usr/lib/libutil.a +usr/lib/rcrt1.o usr/lib64/Mcrt1.o usr/lib64/Scrt1.o usr/lib64/bfd-plugins/liblto_plugin.so diff --git a/devel/linux-rl9-elfutils-libelf/Makefile b/devel/linux-rl9-elfutils-libelf/Makefile index 8abdaf86ad40..f7f598edadc6 100644 --- a/devel/linux-rl9-elfutils-libelf/Makefile +++ b/devel/linux-rl9-elfutils-libelf/Makefile @@ -1,6 +1,7 @@ PORTNAME= elfutils PORTVERSION= 0.190 DISTVERSIONSUFFIX= -2.el9 +PORTREVISION= 1 CATEGORIES= devel linux PKGNAMESUFFIX= -libelf @@ -12,6 +13,7 @@ USES= cpe linux:rl9 CPE_VENDOR= ${PORTNAME}_project USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes LIB_DISTNAMES= ${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSIONFULL} diff --git a/devel/linux-rl9-elfutils-libelf/distinfo b/devel/linux-rl9-elfutils-libelf/distinfo index bb3aa9a0075e..2e46f9cb0f15 100644 --- a/devel/linux-rl9-elfutils-libelf/distinfo +++ b/devel/linux-rl9-elfutils-libelf/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1717444002 +TIMESTAMP = 1731421011 SHA256 (rocky/e/elfutils-libelf-0.190-2.el9.aarch64.rpm) = b88d5548658c5d69cf0452c4f10789f8d338cf891ea1051ac8495475cc1d8890 SIZE (rocky/e/elfutils-libelf-0.190-2.el9.aarch64.rpm) = 195278 +SHA256 (rocky/e/elfutils-libelf-0.190-2.el9.i686.rpm) = 458e1fb8eca4becc5fdebb98812d46f4feddab268452429ea29593582579988e +SIZE (rocky/e/elfutils-libelf-0.190-2.el9.i686.rpm) = 204083 SHA256 (rocky/e/elfutils-libelf-0.190-2.el9.x86_64.rpm) = 1486dd1b3506e0685298e2d94da55583156ab35e1b66ff6b92c7a9a4323f416e SIZE (rocky/e/elfutils-libelf-0.190-2.el9.x86_64.rpm) = 195753 SHA256 (rocky/e/elfutils-0.190-2.el9.src.rpm) = 2a4a63b0249848a319ee5ffa06288a519c49d3c07dbb6b90fe7f772acaad3634 diff --git a/devel/linux-rl9-elfutils-libelf/pkg-plist.amd64 b/devel/linux-rl9-elfutils-libelf/pkg-plist.amd64 index e702ed378802..b8e68e8fad20 100644 --- a/devel/linux-rl9-elfutils-libelf/pkg-plist.amd64 +++ b/devel/linux-rl9-elfutils-libelf/pkg-plist.amd64 @@ -1,4 +1,7 @@ usr/lib/.build-id/93/8ad3a10aca8cb74c39a81a49ba10bdc2097b8f +usr/lib/.build-id/ad/9a2a78ace9d63b72d21ba71edd95b1396dff56 +usr/lib/libelf-%%LIBVERSION%%.so +usr/lib/libelf.so.1 usr/lib64/libelf-%%LIBVERSION%%.so usr/lib64/libelf.so.1 usr/share/licenses/elfutils-libelf/COPYING-GPLV2 diff --git a/devel/linux-rl9-elfutils-libs/Makefile b/devel/linux-rl9-elfutils-libs/Makefile index 1ba7ee15475a..b700d2a047f9 100644 --- a/devel/linux-rl9-elfutils-libs/Makefile +++ b/devel/linux-rl9-elfutils-libs/Makefile @@ -1,6 +1,7 @@ PORTNAME= elfutils PORTVERSION= 0.190 DISTVERSIONSUFFIX= -2.el9 +PORTREVISION= 1 CATEGORIES= devel linux PKGNAMESUFFIX= -libs @@ -13,6 +14,7 @@ CPE_VENDOR= ${PORTNAME}_project USE_LDCONFIG= yes USE_LINUX= elfutils-libelf USE_LINUX_RPM= yes +WANT_LINUX32= yes LIB_DISTNAMES= ${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSIONFULL} diff --git a/devel/linux-rl9-elfutils-libs/distinfo b/devel/linux-rl9-elfutils-libs/distinfo index b0f5a19b1acf..95c83d3659b9 100644 --- a/devel/linux-rl9-elfutils-libs/distinfo +++ b/devel/linux-rl9-elfutils-libs/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1717444505 +TIMESTAMP = 1731421313 SHA256 (rocky/e/elfutils-libs-0.190-2.el9.aarch64.rpm) = 04b08a832b2711f7166d8c15be84af6f406f52681e48dfe08ea8265aada8acf6 SIZE (rocky/e/elfutils-libs-0.190-2.el9.aarch64.rpm) = 259180 +SHA256 (rocky/e/elfutils-libs-0.190-2.el9.i686.rpm) = 22f317e2499cf1a1789b56b6c3cf9686a036f778169c1ea1b7f3397f12e71b87 +SIZE (rocky/e/elfutils-libs-0.190-2.el9.i686.rpm) = 293460 SHA256 (rocky/e/elfutils-libs-0.190-2.el9.x86_64.rpm) = 21afd9d42bc164bda66cbf3c5d388dd86c3fb7800385eaab3c1ff7bd45c556aa SIZE (rocky/e/elfutils-libs-0.190-2.el9.x86_64.rpm) = 260398 SHA256 (rocky/e/elfutils-0.190-2.el9.src.rpm) = 2a4a63b0249848a319ee5ffa06288a519c49d3c07dbb6b90fe7f772acaad3634 diff --git a/devel/linux-rl9-elfutils-libs/pkg-plist.amd64 b/devel/linux-rl9-elfutils-libs/pkg-plist.amd64 index b0cfb751b347..578cf1cec21d 100644 --- a/devel/linux-rl9-elfutils-libs/pkg-plist.amd64 +++ b/devel/linux-rl9-elfutils-libs/pkg-plist.amd64 @@ -1,5 +1,11 @@ +usr/lib/.build-id/59/d0866d2dfeb067897c2c22a0f0c3646afb9913 usr/lib/.build-id/d0/8821b1f6ea2bc790045b988efa22835e987162 +usr/lib/.build-id/d0/e012925e0b33c4593ec2cdda141797065bdcd2 usr/lib/.build-id/f1/bf810edca5c9cefde4c23d362d2e6e33cbe2f7 +usr/lib/libasm-%%LIBVERSION%%.so +usr/lib/libasm.so.1 +usr/lib/libdw-%%LIBVERSION%%.so +usr/lib/libdw.so.1 usr/lib64/libasm-%%LIBVERSION%%.so usr/lib64/libasm.so.1 usr/lib64/libdw-%%LIBVERSION%%.so diff --git a/devel/linux-rl9-icu/Makefile b/devel/linux-rl9-icu/Makefile index 2aa4ba1b26b6..fd369a510e77 100644 --- a/devel/linux-rl9-icu/Makefile +++ b/devel/linux-rl9-icu/Makefile @@ -1,6 +1,7 @@ PORTNAME= icu PORTVERSION= 67.1 DISTVERSIONSUFFIX= -9.el9 +PORTREVISION= 1 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -12,12 +13,13 @@ CPE_VENDOR= ${PORTNAME}-project CPE_PRODUCT= international_components_for_unicode USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes BIN_DISTNAMES= ${PORTNAME}-${DISTVERSIONFULL} LIB_DISTNAMES= lib${PORTNAME}-${DISTVERSIONFULL} SRC_DISTFILES= ${PORTNAME}-${DISTVERSIONFULL}${SRC_SUFX}:SOURCE -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/lib${PORTNAME}-${PORTVERSION} OPTIONS_DEFINE= DOCS diff --git a/devel/linux-rl9-icu/distinfo b/devel/linux-rl9-icu/distinfo index e80d12dcc468..f58cbaf41603 100644 --- a/devel/linux-rl9-icu/distinfo +++ b/devel/linux-rl9-icu/distinfo @@ -1,10 +1,12 @@ -TIMESTAMP = 1707748760 +TIMESTAMP = 1731421643 SHA256 (rocky/i/icu-67.1-9.el9.aarch64.rpm) = aa01fcb0f8a13c6ae3ea6d352ab371ae60a30b950361b9b31fc817e6a21a5256 SIZE (rocky/i/icu-67.1-9.el9.aarch64.rpm) = 225157 SHA256 (rocky/i/icu-67.1-9.el9.x86_64.rpm) = e3caf7726874774401126f4828b39f73d8067a9dcaa2d1568df08189604ab644 SIZE (rocky/i/icu-67.1-9.el9.x86_64.rpm) = 230028 SHA256 (rocky/l/libicu-67.1-9.el9.aarch64.rpm) = 360fc8ba49687c886b2c044681878becf96349b9f5442fd6f787a1f3fb9ff90a SIZE (rocky/l/libicu-67.1-9.el9.aarch64.rpm) = 9934126 +SHA256 (rocky/l/libicu-67.1-9.el9.i686.rpm) = aa10c41670d7ca86470b89b65771d98e44adb3ab9bec9779bc8d5e9d2a14b380 +SIZE (rocky/l/libicu-67.1-9.el9.i686.rpm) = 10191439 SHA256 (rocky/l/libicu-67.1-9.el9.x86_64.rpm) = 380c7e0d8f802c5cde277376773d295cbbb2f8ec045f18fcb4ab452bff794a26 SIZE (rocky/l/libicu-67.1-9.el9.x86_64.rpm) = 10044344 SHA256 (rocky/i/icu-67.1-9.el9.src.rpm) = abbf21f245ed6f3bb21509048c0dfd0bf5d69f731a01cb42e5cee46db59b15c4 diff --git a/devel/linux-rl9-icu/pkg-plist.amd64 b/devel/linux-rl9-icu/pkg-plist.amd64 index 0c98c260c39b..79a8a9740e14 100644 --- a/devel/linux-rl9-icu/pkg-plist.amd64 +++ b/devel/linux-rl9-icu/pkg-plist.amd64 @@ -8,10 +8,12 @@ usr/bin/makeconv usr/bin/pkgdata usr/bin/uconv usr/lib/.build-id/0b/219e9d759bc558d1154e8e6a72ffc80254e620 +usr/lib/.build-id/22/be18705c3156d87201ffb43030a0e19d1477c0 usr/lib/.build-id/2d/a903765bcfcc1e9f1459212df87ace635347a6 usr/lib/.build-id/3a/8c86b59102c63a35125edbb4d53d5468556f6a usr/lib/.build-id/3d/df6ccf893e099283e1cf4e411ab9df992277d8 usr/lib/.build-id/3f/cfcfa0fc7264d304b2b773e63721cb52694fb2 +usr/lib/.build-id/49/98735eeade6bdce30fd0cded2d706257b9e3d9 usr/lib/.build-id/51/b477b4b401c36296389c3b025adc72ff6e5b24 usr/lib/.build-id/54/11ba56f6e334192e29e58285a23aae94d8545b usr/lib/.build-id/5d/31d81a5881815a8811b9e0ac38a83a2ec79edb @@ -19,15 +21,31 @@ usr/lib/.build-id/60/8df451d74ff16a28ae1271bb24c7b22c5765dc usr/lib/.build-id/67/3454769dc18a40faf5e038131111f8d98c3eb0 usr/lib/.build-id/73/b0e31ff8ee67c452e4725d4562011afbde14b7 usr/lib/.build-id/79/653be0c5543d662f491457e3bf7d5b02274375 +usr/lib/.build-id/79/e87a3e2d2434c9d1796f2562518bd04533a85b usr/lib/.build-id/81/b0fb262ea0b90d2bb0987cceb1b0061fd1bad1 usr/lib/.build-id/99/32215c742033627ba4840b879432be9dd20bd6 usr/lib/.build-id/c5/56036fb8af0b352541ba3b6a7ecebfcc91500a +usr/lib/.build-id/cc/6a18ae6aca3deb507db158172adbf53e255441 usr/lib/.build-id/ce/7999f6175624333fb79fb78c193408612ee0ff usr/lib/.build-id/d5/36c4d04b428e1835e98be01dacc833ba707573 usr/lib/.build-id/e1/bec57a2f33fb6cbf5ce702e7f0b338b9a8effd usr/lib/.build-id/e3/a740bd04378541412cf7b2d165867a34396e2b usr/lib/.build-id/e9/cad068967445acdd0d3b2f42a4f6116c778257 usr/lib/.build-id/f2/7a22f614628bb3d8ee35425a8141eb1e09e124 +usr/lib/.build-id/f8/005181d8ac865963b91c8311d63c4dceed5d65 +usr/lib/.build-id/f9/b918c6639fa2f518801fa35961213f8d8fc426 +usr/lib/libicudata.so.67 +usr/lib/libicudata.so.%%LIBVERSION%% +usr/lib/libicui18n.so.67 +usr/lib/libicui18n.so.%%LIBVERSION%% +usr/lib/libicuio.so.67 +usr/lib/libicuio.so.%%LIBVERSION%% +usr/lib/libicutest.so.67 +usr/lib/libicutest.so.%%LIBVERSION%% +usr/lib/libicutu.so.67 +usr/lib/libicutu.so.%%LIBVERSION%% +usr/lib/libicuuc.so.67 +usr/lib/libicuuc.so.%%LIBVERSION%% usr/lib64/libicudata.so.%%LIBVERSION_R%% usr/lib64/libicudata.so.%%LIBVERSION%% usr/lib64/libicui18n.so.%%LIBVERSION_R%% diff --git a/devel/linux-rl9-libevent/Makefile b/devel/linux-rl9-libevent/Makefile index fd39bd3bf445..e060a6678c7c 100644 --- a/devel/linux-rl9-libevent/Makefile +++ b/devel/linux-rl9-libevent/Makefile @@ -1,7 +1,7 @@ PORTNAME= libevent PORTVERSION= 2.1.12 DISTVERSIONSUFFIX= -8.el9_4 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel MAINTAINER= emulation@FreeBSD.org @@ -13,9 +13,10 @@ LICENSE= BSD3CLAUSE USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/${PORTNAME}${PKGNAMESUFFIX} OPTIONS_DEFINE= DOCS diff --git a/devel/linux-rl9-libevent/distinfo b/devel/linux-rl9-libevent/distinfo index 4ae763321c95..a1e8029c5936 100644 --- a/devel/linux-rl9-libevent/distinfo +++ b/devel/linux-rl9-libevent/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1727467427 +TIMESTAMP = 1731431934 SHA256 (rocky/l/libevent-2.1.12-8.el9_4.aarch64.rpm) = fe1ff772f0ac2fecf5828e0d02ec9672a46e784dc8a2c1c065a8264f43a74954 SIZE (rocky/l/libevent-2.1.12-8.el9_4.aarch64.rpm) = 259023 +SHA256 (rocky/l/libevent-2.1.12-8.el9_4.i686.rpm) = 7298589a77f47436f43fbe0bcb85bbad51d02035603cf903b7db81ba1903a26c +SIZE (rocky/l/libevent-2.1.12-8.el9_4.i686.rpm) = 284282 SHA256 (rocky/l/libevent-2.1.12-8.el9_4.x86_64.rpm) = 0de19e8f460c88b3ec808eb5a5a2776930659c593b582664635bdfd1f3fd0a7b SIZE (rocky/l/libevent-2.1.12-8.el9_4.x86_64.rpm) = 267780 SHA256 (rocky/l/libevent-2.1.12-8.el9_4.src.rpm) = 52807ad2e0249e6564a05111e92127f24fd83e6a1e210d19260d040eab07ff18 diff --git a/devel/linux-rl9-libevent/pkg-plist.amd64 b/devel/linux-rl9-libevent/pkg-plist.amd64 index 366ce6ec1b08..af5fc8cdaac9 100644 --- a/devel/linux-rl9-libevent/pkg-plist.amd64 +++ b/devel/linux-rl9-libevent/pkg-plist.amd64 @@ -3,6 +3,21 @@ usr/lib/.build-id/16/cee243fdce95e18affadb10a67510e2880d3de usr/lib/.build-id/6c/1576dc5f58c677eb0cd43b1aa3bb8d71ac75fc usr/lib/.build-id/64/816153822a146af7610553e3c1444de334d260 usr/lib/.build-id/9c/4f6e0ca1b234612d0ba7b19a24c085f0dce103 +usr/lib/.build-id/22/88f1727c142528925148fc8b3694b8ea5b867c +usr/lib/.build-id/38/ffa2cdf800991d768393a0cfe69ba77498e4d1 +usr/lib/.build-id/6f/43a9911b22424dcff8ae632a791b251c05d39b +usr/lib/.build-id/83/a748273f0bc52c0dfaaad3ad355e39a7079451 +usr/lib/.build-id/bc/e80e41b2848fdab5c316abd5af88d6d951da76 +usr/lib/libevent-2.1.so.7 +usr/lib/libevent-2.1.so.7.0.1 +usr/lib/libevent_core-2.1.so.7 +usr/lib/libevent_core-2.1.so.7.0.1 +usr/lib/libevent_extra-2.1.so.7 +usr/lib/libevent_extra-2.1.so.7.0.1 +usr/lib/libevent_openssl-2.1.so.7 +usr/lib/libevent_openssl-2.1.so.7.0.1 +usr/lib/libevent_pthreads-2.1.so.7 +usr/lib/libevent_pthreads-2.1.so.7.0.1 usr/lib64/libevent-2.1.so.7 usr/lib64/libevent-2.1.so.7.0.1 usr/lib64/libevent_core-2.1.so.7 diff --git a/devel/linux-rl9-libgfortran/Makefile b/devel/linux-rl9-libgfortran/Makefile index 86416c65c3ca..764888727ad8 100644 --- a/devel/linux-rl9-libgfortran/Makefile +++ b/devel/linux-rl9-libgfortran/Makefile @@ -1,7 +1,7 @@ PORTNAME= libgfortran PORTVERSION= 11.4.1 DISTVERSIONSUFFIX= -3.el9 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -12,6 +12,7 @@ USES= cpe linux:rl9 CPE_VENDOR= gnu USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes SRC_DISTFILES= gcc-${DISTVERSIONFULL}${SRC_SUFX}:SOURCE diff --git a/devel/linux-rl9-libgfortran/distinfo b/devel/linux-rl9-libgfortran/distinfo index 24a8b223a071..d0d1be77207f 100644 --- a/devel/linux-rl9-libgfortran/distinfo +++ b/devel/linux-rl9-libgfortran/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1717438485 +TIMESTAMP = 1731417205 SHA256 (rocky/l/libgfortran-11.4.1-3.el9.aarch64.rpm) = 0deac61858d76e98ebf7050732d7a4ba8aa233b401c8dd3e1434a8a22e8d7d81 SIZE (rocky/l/libgfortran-11.4.1-3.el9.aarch64.rpm) = 444989 +SHA256 (rocky/l/libgfortran-11.4.1-3.el9.i686.rpm) = 79e2d60f33eee71517d999c5baeab79f1642338df390ef9a4b0c795d9bac9f53 +SIZE (rocky/l/libgfortran-11.4.1-3.el9.i686.rpm) = 789238 SHA256 (rocky/l/libgfortran-11.4.1-3.el9.x86_64.rpm) = 07159a69786e696c08b2b8fcccac397f4a6143ccb503356636435b414e964157 SIZE (rocky/l/libgfortran-11.4.1-3.el9.x86_64.rpm) = 821179 SHA256 (rocky/g/gcc-11.4.1-3.el9.src.rpm) = 03749677127f24d0c858bfd8bfcbddbcec71d50f6597ad1639dae731c1c3e63d diff --git a/devel/linux-rl9-libgfortran/pkg-plist.amd64 b/devel/linux-rl9-libgfortran/pkg-plist.amd64 index 2a5a69995184..ff5e18c303c5 100644 --- a/devel/linux-rl9-libgfortran/pkg-plist.amd64 +++ b/devel/linux-rl9-libgfortran/pkg-plist.amd64 @@ -1,3 +1,6 @@ usr/lib/.build-id/5c/74225a0cc01d0b27cfee0c200bf7c4efa25a7b +usr/lib/.build-id/f8/e4b80ddcc9428b2c87c21b21db623ce7259cb8 +usr/lib/libgfortran.so.5 +usr/lib/libgfortran.so.5.0.0 usr/lib64/libgfortran.so.5 usr/lib64/libgfortran.so.5.0.0 diff --git a/devel/linux-rl9-libpciaccess/Makefile b/devel/linux-rl9-libpciaccess/Makefile index 7604c43d4d55..bf37929677dd 100644 --- a/devel/linux-rl9-libpciaccess/Makefile +++ b/devel/linux-rl9-libpciaccess/Makefile @@ -1,6 +1,7 @@ PORTNAME= libpciaccess PORTVERSION= 0.16 DISTVERSIONSUFFIX= -6.el9 +PORTREVISION= 1 CATEGORIES= devel MAINTAINER= emulation@FreeBSD.org @@ -10,9 +11,10 @@ WWW= https://www.freedesktop.org/wiki/Software/xlibs/ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr OPTIONS_DEFINE= DOCS diff --git a/devel/linux-rl9-libpciaccess/distinfo b/devel/linux-rl9-libpciaccess/distinfo index 24200c212a69..e1f1a480038f 100644 --- a/devel/linux-rl9-libpciaccess/distinfo +++ b/devel/linux-rl9-libpciaccess/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1686559027 +TIMESTAMP = 1731431982 SHA256 (rocky/l/libpciaccess-0.16-6.el9.aarch64.rpm) = 3ace1f67e1f9aaf1d2a55278587e12c593eb852510e08d16d6c690e079e02020 SIZE (rocky/l/libpciaccess-0.16-6.el9.aarch64.rpm) = 26643 +SHA256 (rocky/l/libpciaccess-0.16-6.el9.i686.rpm) = f6af26f607a8130d43741e765eb44713cafe7b78406bbeee0605718a66374bbe +SIZE (rocky/l/libpciaccess-0.16-6.el9.i686.rpm) = 29594 SHA256 (rocky/l/libpciaccess-0.16-6.el9.x86_64.rpm) = 7d7bdd6f7a02204a1f10cf69cc71019cb408d5ed86dd8d0581aa5a226fae0865 SIZE (rocky/l/libpciaccess-0.16-6.el9.x86_64.rpm) = 27181 SHA256 (rocky/l/libpciaccess-0.16-6.el9.src.rpm) = 528647fc9606e70b186956041435dba1c9f679a44e3db1eeee4262cb59e15740 diff --git a/devel/linux-rl9-libpciaccess/pkg-plist.amd64 b/devel/linux-rl9-libpciaccess/pkg-plist.amd64 index 9d36fd101bdb..48a7b4e5e7cc 100644 --- a/devel/linux-rl9-libpciaccess/pkg-plist.amd64 +++ b/devel/linux-rl9-libpciaccess/pkg-plist.amd64 @@ -1,4 +1,7 @@ +usr/lib/.build-id/30/15f6b4ed027551badd6f5c1f9770d7fa5b1086 usr/lib/.build-id/f2/544fa0a4d8367567c3d7ee1415912fc58a4aaf +usr/lib/libpciaccess.so.0 +usr/lib/libpciaccess.so.0.11.1 usr/lib64/libpciaccess.so.0 usr/lib64/libpciaccess.so.0.11.1 %%PORTDOCS%%usr/share/doc/libpciaccess/AUTHORS diff --git a/devel/linux-rl9-libsigc++20/Makefile b/devel/linux-rl9-libsigc++20/Makefile index 4f18b8ceb04a..d0d89698e980 100644 --- a/devel/linux-rl9-libsigc++20/Makefile +++ b/devel/linux-rl9-libsigc++20/Makefile @@ -1,6 +1,7 @@ PORTNAME= libsigc++20 PORTVERSION= 2.10.7 DISTVERSIONSUFFIX= -2.el9 +PORTREVISION= 1 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -10,9 +11,10 @@ WWW= http://libsigc.sourceforge.net/ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/${PORTNAME}${PKGNAMESUFFIX} OPTIONS_DEFINE= DOCS diff --git a/devel/linux-rl9-libsigc++20/distinfo b/devel/linux-rl9-libsigc++20/distinfo index 139fb836dc72..8ef539f89932 100644 --- a/devel/linux-rl9-libsigc++20/distinfo +++ b/devel/linux-rl9-libsigc++20/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1707309419 +TIMESTAMP = 1731432085 SHA256 (rocky/l/libsigc++20-2.10.7-2.el9.aarch64.rpm) = 23df51556ad0ef4da4601e70d83c669624f0851d3582e72457fa80ab75573477 SIZE (rocky/l/libsigc++20-2.10.7-2.el9.aarch64.rpm) = 38646 +SHA256 (rocky/l/libsigc++20-2.10.7-2.el9.i686.rpm) = 10184fb9e994cbc01712fb5f39814eca6832ac0116120d2470337a67b69f7ea9 +SIZE (rocky/l/libsigc++20-2.10.7-2.el9.i686.rpm) = 40570 SHA256 (rocky/l/libsigc++20-2.10.7-2.el9.x86_64.rpm) = 7c7327a10e3efd22b91835e0565427fbf1f60939224196aa1b4273ed5befe8eb SIZE (rocky/l/libsigc++20-2.10.7-2.el9.x86_64.rpm) = 39411 SHA256 (rocky/l/libsigc++20-2.10.7-2.el9.src.rpm) = ac37c3d42426f0ba25315cf9bd55e669c7fa840ff785110f3eb7816b4417a952 diff --git a/devel/linux-rl9-libsigc++20/pkg-plist.amd64 b/devel/linux-rl9-libsigc++20/pkg-plist.amd64 index f572d55b134b..16d7ac557d2c 100644 --- a/devel/linux-rl9-libsigc++20/pkg-plist.amd64 +++ b/devel/linux-rl9-libsigc++20/pkg-plist.amd64 @@ -1,4 +1,7 @@ +usr/lib/.build-id/4a/c0b633412592e2bfce7bcd434bb8bd2464ba48 usr/lib/.build-id/4a/db2a5a1c3fdec4f90ff0bc7ca3005fdba8877f +usr/lib/libsigc-2.0.so.0 +usr/lib/libsigc-2.0.so.0.0.0 usr/lib64/libsigc-2.0.so.0 usr/lib64/libsigc-2.0.so.0.0.0 %%PORTDOCS%%%%DOCSDIR%%/AUTHORS diff --git a/devel/linux-rl9-libsigsegv/Makefile b/devel/linux-rl9-libsigsegv/Makefile index cfd0e43d7c35..82327e075e3f 100644 --- a/devel/linux-rl9-libsigsegv/Makefile +++ b/devel/linux-rl9-libsigsegv/Makefile @@ -1,6 +1,7 @@ PORTNAME= libsigsegv PORTVERSION= 2.13 DISTVERSIONSUFFIX= -4.el9 +PORTREVISION= 1 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -10,9 +11,10 @@ WWW= https://www.gnu.org/software/libsigsegv/ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/${PORTNAME}${PKGNAMESUFFIX} OPTIONS_DEFINE= DOCS diff --git a/devel/linux-rl9-libsigsegv/distinfo b/devel/linux-rl9-libsigsegv/distinfo index 63e4cc68a46e..d5baeaca3716 100644 --- a/devel/linux-rl9-libsigsegv/distinfo +++ b/devel/linux-rl9-libsigsegv/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1707310038 +TIMESTAMP = 1731425658 SHA256 (rocky/l/libsigsegv-2.13-4.el9.aarch64.rpm) = 1935c944375f3bf40913bbda2cd87bbaf25a475be51c1662c24f54eb04da584b SIZE (rocky/l/libsigsegv-2.13-4.el9.aarch64.rpm) = 27124 +SHA256 (rocky/l/libsigsegv-2.13-4.el9.i686.rpm) = 312f6e760effbf2019985c86212d9ee73051b524918281ff7b0f229f6736da6a +SIZE (rocky/l/libsigsegv-2.13-4.el9.i686.rpm) = 27681 SHA256 (rocky/l/libsigsegv-2.13-4.el9.x86_64.rpm) = a80701bd3f67994493b1a14e043d9212032c86fd24374c309cf2b7006900f4da SIZE (rocky/l/libsigsegv-2.13-4.el9.x86_64.rpm) = 27135 SHA256 (rocky/l/libsigsegv-2.13-4.el9.src.rpm) = 36dc113c8837b27c3c12b021e05786b69c2014519ed4c9f5354436cd80e8b1a4 diff --git a/devel/linux-rl9-libsigsegv/pkg-plist.amd64 b/devel/linux-rl9-libsigsegv/pkg-plist.amd64 index d1ac907911e4..b5597569868c 100644 --- a/devel/linux-rl9-libsigsegv/pkg-plist.amd64 +++ b/devel/linux-rl9-libsigsegv/pkg-plist.amd64 @@ -1,4 +1,7 @@ usr/lib/.build-id/dc/6c919a45d4cdcc1e9aa671ba513dfc1350d776 +usr/lib/.build-id/ef/55a1e1729fd6ac859ca7c25898e3314e1cb69c +usr/lib/libsigsegv.so.2 +usr/lib/libsigsegv.so.2.0.6 usr/lib64/libsigsegv.so.2 usr/lib64/libsigsegv.so.2.0.6 %%PORTDOCS%%%%DOCSDIR%%/AUTHORS diff --git a/devel/linux-rl9-libsoup/Makefile b/devel/linux-rl9-libsoup/Makefile index 42f68d2ce0ae..6bca829ead81 100644 --- a/devel/linux-rl9-libsoup/Makefile +++ b/devel/linux-rl9-libsoup/Makefile @@ -1,6 +1,7 @@ PORTNAME= libsoup PORTVERSION= 2.72.0 DISTVERSIONSUFFIX= -8.el9 +PORTREVISION= 1 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -13,9 +14,10 @@ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX= libgcrypt libpsl USE_LINUX_RPM= yes +WANT_LINUX32= yes CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/${PORTNAME}${PKGNAMESUFFIX} OPTIONS_DEFINE= DOCS NLS diff --git a/devel/linux-rl9-libsoup/distinfo b/devel/linux-rl9-libsoup/distinfo index 54d99108ac6d..3050aab5dd00 100644 --- a/devel/linux-rl9-libsoup/distinfo +++ b/devel/linux-rl9-libsoup/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1707760205 +TIMESTAMP = 1731432310 SHA256 (rocky/l/libsoup-2.72.0-8.el9.aarch64.rpm) = 4d7861eecdfed54107faa0e3a55c774788e4d76fb6484e36124bc0bdb4bddb50 SIZE (rocky/l/libsoup-2.72.0-8.el9.aarch64.rpm) = 391691 +SHA256 (rocky/l/libsoup-2.72.0-8.el9.i686.rpm) = 62f74b93cf517bb5c22fa32070a96db967c7cc8841cad28033fffadb4be36ec4 +SIZE (rocky/l/libsoup-2.72.0-8.el9.i686.rpm) = 420619 SHA256 (rocky/l/libsoup-2.72.0-8.el9.x86_64.rpm) = 29de6bc5022554f6554629c453fd8f021248c5a134a2147310c8facb967caef1 SIZE (rocky/l/libsoup-2.72.0-8.el9.x86_64.rpm) = 398649 SHA256 (rocky/l/libsoup-2.72.0-8.el9.src.rpm) = 633469a52bdbadb25e83afd0997b1c1566aba0f69f68aecb4ba16a15178e449f diff --git a/devel/linux-rl9-libsoup/pkg-plist.amd64 b/devel/linux-rl9-libsoup/pkg-plist.amd64 index 8dad4339d6ad..816e4fa3bfa8 100644 --- a/devel/linux-rl9-libsoup/pkg-plist.amd64 +++ b/devel/linux-rl9-libsoup/pkg-plist.amd64 @@ -1,5 +1,13 @@ +usr/lib/.build-id/a9/94a2e0af7fc4dd8f68e3e08636d9bdf598a4f0 usr/lib/.build-id/db/e2e561ef459af2d09a3a74cc341705d5f2603f usr/lib/.build-id/eb/82e6ca85cbf269753bd029aa423b6e838901f2 +usr/lib/.build-id/f7/795a2ee549163b0563d85f9c84e4c3fe73d3f3 +usr/lib/girepository-1.0/Soup-2.4.typelib +usr/lib/girepository-1.0/SoupGNOME-2.4.typelib +usr/lib/libsoup-2.4.so.1 +usr/lib/libsoup-2.4.so.1.11.0 +usr/lib/libsoup-gnome-2.4.so.1 +usr/lib/libsoup-gnome-2.4.so.1.11.0 usr/lib64/girepository-1.0/Soup-2.4.typelib usr/lib64/girepository-1.0/SoupGNOME-2.4.typelib usr/lib64/libsoup-2.4.so.1 diff --git a/devel/linux-rl9-libthai/Makefile b/devel/linux-rl9-libthai/Makefile index d8ceb098beea..693e258d7282 100644 --- a/devel/linux-rl9-libthai/Makefile +++ b/devel/linux-rl9-libthai/Makefile @@ -1,6 +1,7 @@ PORTNAME= libthai PORTVERSION= 0.1.28 DISTVERSIONSUFFIX= -8.el9 +PORTREVISION= 1 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -10,9 +11,10 @@ WWW= https://linux.thai.net/projects/libthai/ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr OPTIONS_DEFINE= DOCS diff --git a/devel/linux-rl9-libthai/distinfo b/devel/linux-rl9-libthai/distinfo index 17e632f5b351..274d32abbac2 100644 --- a/devel/linux-rl9-libthai/distinfo +++ b/devel/linux-rl9-libthai/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1686567889 +TIMESTAMP = 1731425674 SHA256 (rocky/l/libthai-0.1.28-8.el9.aarch64.rpm) = 83bfaa01d68a8b2196300f2a2674904bee18f22e8977c5b51416e614d6bca94e SIZE (rocky/l/libthai-0.1.28-8.el9.aarch64.rpm) = 211307 +SHA256 (rocky/l/libthai-0.1.28-8.el9.i686.rpm) = 6197202ec079801b0424e9a92e178c93feed8e3fd309c48d878b73cd6975d6f4 +SIZE (rocky/l/libthai-0.1.28-8.el9.i686.rpm) = 214199 SHA256 (rocky/l/libthai-0.1.28-8.el9.x86_64.rpm) = 06babaa62e1fd04f0b7bfebaa55d9d3beb215f1543356be6b25ee7d0cb0a948b SIZE (rocky/l/libthai-0.1.28-8.el9.x86_64.rpm) = 212655 SHA256 (rocky/l/libthai-0.1.28-8.el9.src.rpm) = 7dbbd3786100addc8b2be4c26c6e6b7a283728724d1522a2ebdae2dd81e92e2d diff --git a/devel/linux-rl9-libthai/pkg-plist.amd64 b/devel/linux-rl9-libthai/pkg-plist.amd64 index e36f162ea39f..19f35ff3e9f8 100644 --- a/devel/linux-rl9-libthai/pkg-plist.amd64 +++ b/devel/linux-rl9-libthai/pkg-plist.amd64 @@ -1,4 +1,7 @@ +usr/lib/.build-id/01/e46fd31ba51f28260d0d758842acb5ae0844d5 usr/lib/.build-id/52/f685e39fcdb3b99887c5c196baa9c4bcacc670 +usr/lib/libthai.so.0 +usr/lib/libthai.so.0.3.1 usr/lib64/libthai.so.0 usr/lib64/libthai.so.0.3.1 %%PORTDOCS%%usr/share/doc/libthai/AUTHORS diff --git a/devel/linux-rl9-libtool-ltdl/Makefile b/devel/linux-rl9-libtool-ltdl/Makefile index 0cd3cd6048b1..4ecd9a440161 100644 --- a/devel/linux-rl9-libtool-ltdl/Makefile +++ b/devel/linux-rl9-libtool-ltdl/Makefile @@ -1,6 +1,7 @@ PORTNAME= libtool-ltdl PORTVERSION= 2.4.6 DISTVERSIONSUFFIX= -45.el9 +PORTREVISION= 1 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -12,11 +13,12 @@ LICENSE= LGPL21+ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes SRC_DISTFILES= ${DISTNAME:S/-ltdl//}${SRC_SUFX}:SOURCE CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../libltdl/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/libltdl/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION} OPTIONS_DEFINE= DOCS diff --git a/devel/linux-rl9-libtool-ltdl/distinfo b/devel/linux-rl9-libtool-ltdl/distinfo index 443cbf752c67..1bd0ad67681e 100644 --- a/devel/linux-rl9-libtool-ltdl/distinfo +++ b/devel/linux-rl9-libtool-ltdl/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1715700576 +TIMESTAMP = 1731425439 SHA256 (rocky/l/libtool-ltdl-2.4.6-45.el9.aarch64.rpm) = f8e9312323e57320b38db0f50ba49fd78fdd7f55f38c625753c034d3af7f2570 SIZE (rocky/l/libtool-ltdl-2.4.6-45.el9.aarch64.rpm) = 36386 +SHA256 (rocky/l/libtool-ltdl-2.4.6-45.el9.i686.rpm) = ad1a7003fcea82d251ed54e61f22668f5eb2bd73449caea99af6b2ca4eed7539 +SIZE (rocky/l/libtool-ltdl-2.4.6-45.el9.i686.rpm) = 38795 SHA256 (rocky/l/libtool-ltdl-2.4.6-45.el9.x86_64.rpm) = 39031cdd1458c857211736b88cef8c9eb60ef7802cc2e9155f0dd8cadc2eeb8a SIZE (rocky/l/libtool-ltdl-2.4.6-45.el9.x86_64.rpm) = 36880 SHA256 (rocky/l/libtool-2.4.6-45.el9.src.rpm) = 122e8832c15a7c199ebfbabaadddcdef7be65bf23433ae7a7dea11061c679418 diff --git a/devel/linux-rl9-libtool-ltdl/pkg-plist.amd64 b/devel/linux-rl9-libtool-ltdl/pkg-plist.amd64 index e6885727c86a..b18d86d14ce3 100644 --- a/devel/linux-rl9-libtool-ltdl/pkg-plist.amd64 +++ b/devel/linux-rl9-libtool-ltdl/pkg-plist.amd64 @@ -1,4 +1,7 @@ +usr/lib/.build-id/0a/27f8b9ae0ff8d928de2171858c41f9ce2bab05 usr/lib/.build-id/d5/a2d8bc853edaa6953f6a06225974005e220a9a +usr/lib/libltdl.so.7 +usr/lib/libltdl.so.7.3.1 usr/lib64/libltdl.so.7 usr/lib64/libltdl.so.7.3.1 usr/share/licenses/libtool-ltdl/COPYING.LIB diff --git a/devel/linux-rl9-libunistring/Makefile b/devel/linux-rl9-libunistring/Makefile index a50a652b3b1e..c6108cfce69d 100644 --- a/devel/linux-rl9-libunistring/Makefile +++ b/devel/linux-rl9-libunistring/Makefile @@ -1,6 +1,7 @@ PORTNAME= libunistring PORTVERSION= 0.9.10 DISTVERSIONSUFFIX= -15.el9 +PORTREVISION= 1 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -10,9 +11,10 @@ WWW= https://www.gnu.org/software/libunistring/ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/${PORTNAME}${PKGNAMESUFFIX} OPTIONS_DEFINE= DOCS diff --git a/devel/linux-rl9-libunistring/distinfo b/devel/linux-rl9-libunistring/distinfo index 8e2734701857..0abad6a03a0a 100644 --- a/devel/linux-rl9-libunistring/distinfo +++ b/devel/linux-rl9-libunistring/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1688992113 +TIMESTAMP = 1731425292 SHA256 (rocky/l/libunistring-0.9.10-15.el9.aarch64.rpm) = 640263402602c1f5a77a2ecde6b73cfd71e6bb574619f6ead58fdf61c0f4f63e SIZE (rocky/l/libunistring-0.9.10-15.el9.aarch64.rpm) = 498368 +SHA256 (rocky/l/libunistring-0.9.10-15.el9.i686.rpm) = bf11f42137900620f5c6f2464d675752688675ff649143147bd771ed581c99e3 +SIZE (rocky/l/libunistring-0.9.10-15.el9.i686.rpm) = 510707 SHA256 (rocky/l/libunistring-0.9.10-15.el9.x86_64.rpm) = 7e8b90a282ec310de6766619056296bdf666f3040f22cff211cd52710b39ece5 SIZE (rocky/l/libunistring-0.9.10-15.el9.x86_64.rpm) = 506614 SHA256 (rocky/l/libunistring-0.9.10-15.el9.src.rpm) = 36875af891173348e6a925f2503ceed9bde3d53d7ce71cf7d95d45b6d052ee37 diff --git a/devel/linux-rl9-libunistring/pkg-plist.amd64 b/devel/linux-rl9-libunistring/pkg-plist.amd64 index e3661da74fd2..3c96bec5c692 100644 --- a/devel/linux-rl9-libunistring/pkg-plist.amd64 +++ b/devel/linux-rl9-libunistring/pkg-plist.amd64 @@ -1,4 +1,7 @@ +usr/lib/.build-id/49/8dfc466329273abb8b1b26a9cacaf0b8c6059f usr/lib/.build-id/d2/5fb2f51087fc4e0d02ac2bd00f6ea2aa394971 +usr/lib/libunistring.so.2 +usr/lib/libunistring.so.2.1.0 usr/lib64/libunistring.so.2 usr/lib64/libunistring.so.2.1.0 %%PORTDOCS%%%%DOCSDIR%%/AUTHORS diff --git a/devel/linux-rl9-llvm/Makefile b/devel/linux-rl9-llvm/Makefile index 90726a2e3f36..773c3af0ec77 100644 --- a/devel/linux-rl9-llvm/Makefile +++ b/devel/linux-rl9-llvm/Makefile @@ -1,6 +1,7 @@ PORTNAME= llvm PORTVERSION= 17.0.6 DISTVERSIONSUFFIX= -5.el9 +PORTREVISION= 1 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -13,13 +14,14 @@ USES= cpe linux:rl9 USE_LDCONFIG= yes USE_LINUX= elfutils-libelf python3 USE_LINUX_RPM= yes +WANT_LINUX32=yes -LIB_DISTNAMES= ${PORTNAME}-${DISTVERSIONFULL} \ - ${PORTNAME}-devel-${DISTVERSIONFULL} \ +BIN_DISTNAMES= ${PORTNAME}-${DISTVERSIONFULL} +LIB_DISTNAMES= ${PORTNAME}-devel-${DISTVERSIONFULL} \ ${PORTNAME}-libs-${DISTVERSIONFULL} \ ${PORTNAME}-static-${DISTVERSIONFULL} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION} post-install: diff --git a/devel/linux-rl9-llvm/distinfo b/devel/linux-rl9-llvm/distinfo index 3293a530364d..0028537dd1f9 100644 --- a/devel/linux-rl9-llvm/distinfo +++ b/devel/linux-rl9-llvm/distinfo @@ -1,18 +1,24 @@ -TIMESTAMP = 1717454464 +TIMESTAMP = 1731432416 SHA256 (rocky/l/llvm-17.0.6-5.el9.aarch64.rpm) = 82a729f541db68bfeafcb642f56372ef05075d9acfba16fba27d21bd92c63c86 SIZE (rocky/l/llvm-17.0.6-5.el9.aarch64.rpm) = 22617618 SHA256 (rocky/l/llvm-17.0.6-5.el9.x86_64.rpm) = 9adfa2f8fed034ad959e4aff79818f00356de07357431bc4f2d5b6a259640303 SIZE (rocky/l/llvm-17.0.6-5.el9.x86_64.rpm) = 23574936 SHA256 (rocky/l/llvm-devel-17.0.6-5.el9.aarch64.rpm) = 66ce160e25676b64625fff43f89b402e9bcde3300ecec7ff40a034003844ebde SIZE (rocky/l/llvm-devel-17.0.6-5.el9.aarch64.rpm) = 3788295 +SHA256 (rocky/l/llvm-devel-17.0.6-5.el9.i686.rpm) = 8283d531e4433f76d9e3bbfb62fcaa1076a59c465befd72d0f4e075bd97a8bc6 +SIZE (rocky/l/llvm-devel-17.0.6-5.el9.i686.rpm) = 3794181 SHA256 (rocky/l/llvm-devel-17.0.6-5.el9.x86_64.rpm) = 0957a8de19ef0bb0be275270c71ba3d28869a4ec70e944611fbf4ccc63eeb582 SIZE (rocky/l/llvm-devel-17.0.6-5.el9.x86_64.rpm) = 3789934 SHA256 (rocky/l/llvm-libs-17.0.6-5.el9.aarch64.rpm) = 10fb94c111031514f9bdd9ea8ab1a5ed298c05f2d0402c538fa67464efa87209 SIZE (rocky/l/llvm-libs-17.0.6-5.el9.aarch64.rpm) = 24170951 +SHA256 (rocky/l/llvm-libs-17.0.6-5.el9.i686.rpm) = bd9a18299c4b2d2a5047942a3d4bba1f2957f955066e531048a61455e238618f +SIZE (rocky/l/llvm-libs-17.0.6-5.el9.i686.rpm) = 25706848 SHA256 (rocky/l/llvm-libs-17.0.6-5.el9.x86_64.rpm) = 503fb2dce8082db9d661e51da17bca8043e4dae2a3705480a3e3b01b0db68867 SIZE (rocky/l/llvm-libs-17.0.6-5.el9.x86_64.rpm) = 25731502 SHA256 (rocky/l/llvm-static-17.0.6-5.el9.aarch64.rpm) = f7582eebc759291eb8eb835f5ef9a89527fb9e8a6740ebcf19df68783fa3ec6d SIZE (rocky/l/llvm-static-17.0.6-5.el9.aarch64.rpm) = 31566560 +SHA256 (rocky/l/llvm-static-17.0.6-5.el9.i686.rpm) = 0b8b8333ad33cee8fb072f6ad32599c36b007e768ba81c82368c62a805712999 +SIZE (rocky/l/llvm-static-17.0.6-5.el9.i686.rpm) = 35813540 SHA256 (rocky/l/llvm-static-17.0.6-5.el9.x86_64.rpm) = cf33714e38f03bb93c89a2cde6420260c3df96513b918c6c93ef6186c038b305 SIZE (rocky/l/llvm-static-17.0.6-5.el9.x86_64.rpm) = 32766674 SHA256 (rocky/l/llvm-17.0.6-5.el9.src.rpm) = 20aed92ba1c027c74df0adef741eef476fc00412926221e2e37b9c97d84defc1 diff --git a/devel/linux-rl9-llvm/pkg-plist.amd64 b/devel/linux-rl9-llvm/pkg-plist.amd64 index 37a82b425893..2042da9ffad8 100644 --- a/devel/linux-rl9-llvm/pkg-plist.amd64 +++ b/devel/linux-rl9-llvm/pkg-plist.amd64 @@ -13,7 +13,9 @@ usr/bin/llvm-bitcode-strip usr/bin/llvm-c-test usr/bin/llvm-cat usr/bin/llvm-cfi-verify +usr/bin/llvm-config-17-32 usr/bin/llvm-config-17-64 +usr/bin/llvm-config-32 usr/bin/llvm-config-64 usr/bin/llvm-cov usr/bin/llvm-cvtres @@ -92,8 +94,10 @@ usr/lib/.build-id/27/02fa23b2c768665decd340488b3cca94ae0ff5 usr/lib/.build-id/2b/30105fd2bebaea15e4b225eeda22a3e6fd5adf usr/lib/.build-id/2c/a8d9acf6d8c4a6139e50fb2b9fa2463a0614c5 usr/lib/.build-id/2e/41afb05740f3374ff5938d16cea0261a609938 +usr/lib/.build-id/2f/b21ddedb6dd07b99ebc5a3b7076a16dfb1d76d usr/lib/.build-id/31/313707cae010bfdec0a37d3e13454bb85ada7b usr/lib/.build-id/35/e82f169421b32c5385c9d69e80c086a1add2b5 +usr/lib/.build-id/36/bf4b3f7b0187c57fa9303845e0b6e99dde79dd usr/lib/.build-id/37/5fbe45df8e1df64da90570ffebda536a89c691 usr/lib/.build-id/37/bdb3caf5d1f6b3125a06c6b31ed32f12d4ad3f usr/lib/.build-id/38/6692f0d681d1b77d56359329b5abf19c0f807b @@ -107,6 +111,7 @@ usr/lib/.build-id/41/ebb0c18868d367381de1fead3ffe7a500ecc8b usr/lib/.build-id/43/6f5ed462e52a24e31078eebd02663abddfc65a usr/lib/.build-id/43/967108c845944b3617c6dcf54ec7950f6356f4 usr/lib/.build-id/4a/479107c8cdcae1dfe15830e775f0da1efcc1d4 +usr/lib/.build-id/4a/f7e17856717f8b9b677a08b541e9b5bb43205b usr/lib/.build-id/4b/38b1fc2520be71af9f5dd0fa4050a21cda947f usr/lib/.build-id/4c/5b3a6685d24bba3a6cf0e26493f31c10c49b7f usr/lib/.build-id/57/60350d2be465be1ac579ba0cf938fdd86e0b6c @@ -149,6 +154,7 @@ usr/lib/.build-id/c1/93b4d41e535147fd298cc441e42225bf2c405a usr/lib/.build-id/c3/834310f5603cceb7555667eeded7e644ed464a usr/lib/.build-id/c7/e958cbb81b37c5b89333dcf788ec86e751702d usr/lib/.build-id/cc/6e7e194a0121e49765d233fb51ca8ea3e1d680 +usr/lib/.build-id/cd/756ea51b3dd2e00e59b940db09f08b1372bbc5 usr/lib/.build-id/cd/c38caecc6a55ab767b512a03e851daffe277bb usr/lib/.build-id/cd/f09b67190afedf5f5d96842d9beb0858524793 usr/lib/.build-id/cf/e44fcb1ee94e45911937ba4ec0097665e671ea @@ -157,6 +163,7 @@ usr/lib/.build-id/dd/a4f127946f76f5f65353b7623004289cababc7 usr/lib/.build-id/df/533f7b6ac2c74751d744491dab26f527d77571 usr/lib/.build-id/e0/a94999f888c4a63ed7b9cd56b2ee086ef40854 usr/lib/.build-id/e1/8fdcaf659a3ac462bd23c95cca64d7bc506b85 +usr/lib/.build-id/e3/ef87868c6d6c2a053e14af1d6e1e2b7a7bd470 usr/lib/.build-id/ea/f886ccdcdc46fc54eb255df484aff2f8f4243c usr/lib/.build-id/ee/6e886c91e3317c2c6b2e3f5770df54a1057e11 usr/lib/.build-id/f0/3da08f5bda8ef855a8f7e32771e2b09c738c5f @@ -167,6 +174,199 @@ usr/lib/.build-id/f5/00f41d8c065960e7520c744ad8e1e35530b892 usr/lib/.build-id/fd/3264afdeff9b977f7f3e3446fe13b3db088fee usr/lib/.build-id/fd/331c6144710b74c3848b1735c3377bd939dc80 usr/lib/.build-id/ff/a00309587a34c5f9cfc66958c90b0a29cce454 +usr/lib/LLVMgold.so +usr/lib/bfd-plugins/LLVMgold.so +usr/lib/cmake/llvm/AddLLVM.cmake +usr/lib/cmake/llvm/AddOCaml.cmake +usr/lib/cmake/llvm/AddSphinxTarget.cmake +usr/lib/cmake/llvm/CheckAtomic.cmake +usr/lib/cmake/llvm/CheckCompilerVersion.cmake +usr/lib/cmake/llvm/CheckProblematicConfigurations.cmake +usr/lib/cmake/llvm/ChooseMSVCCRT.cmake +usr/lib/cmake/llvm/CoverageReport.cmake +usr/lib/cmake/llvm/CrossCompile.cmake +usr/lib/cmake/llvm/DetermineGCCCompatible.cmake +usr/lib/cmake/llvm/FindFFI.cmake +usr/lib/cmake/llvm/FindLibEdit.cmake +usr/lib/cmake/llvm/FindLibpfm.cmake +usr/lib/cmake/llvm/FindOCaml.cmake +usr/lib/cmake/llvm/FindSphinx.cmake +usr/lib/cmake/llvm/FindTerminfo.cmake +usr/lib/cmake/llvm/FindZ3.cmake +usr/lib/cmake/llvm/Findzstd.cmake +usr/lib/cmake/llvm/GenerateVersionFromVCS.cmake +usr/lib/cmake/llvm/GetErrcMessages.cmake +usr/lib/cmake/llvm/GetLibraryName.cmake +usr/lib/cmake/llvm/HandleLLVMOptions.cmake +usr/lib/cmake/llvm/HandleLLVMStdlib.cmake +usr/lib/cmake/llvm/LLVM-Build.cmake +usr/lib/cmake/llvm/LLVM-Config.cmake +usr/lib/cmake/llvm/LLVMCheckLinkerFlag.cmake +usr/lib/cmake/llvm/LLVMConfig.cmake +usr/lib/cmake/llvm/LLVMConfigExtensions.cmake +usr/lib/cmake/llvm/LLVMConfigVersion.cmake +usr/lib/cmake/llvm/LLVMDistributionSupport.cmake +usr/lib/cmake/llvm/LLVMExports-relwithdebinfo.cmake +usr/lib/cmake/llvm/LLVMExports.cmake +usr/lib/cmake/llvm/LLVMExternalProjectUtils.cmake +usr/lib/cmake/llvm/LLVMInstallSymlink.cmake +usr/lib/cmake/llvm/LLVMProcessSources.cmake +usr/lib/cmake/llvm/SetTargetTriple.cmake +usr/lib/cmake/llvm/TableGen.cmake +usr/lib/cmake/llvm/TensorFlowCompile.cmake +usr/lib/cmake/llvm/UseLibtool.cmake +usr/lib/cmake/llvm/VersionFromVCS.cmake +usr/lib/cmake/llvm/llvm-driver-template.cpp.in +usr/lib/libLLVM-17.0.6.so +usr/lib/libLLVM-17.so +usr/lib/libLLVM.so +usr/lib/libLLVMAArch64AsmParser.a +usr/lib/libLLVMAArch64CodeGen.a +usr/lib/libLLVMAArch64Desc.a +usr/lib/libLLVMAArch64Disassembler.a +usr/lib/libLLVMAArch64Info.a +usr/lib/libLLVMAArch64Utils.a +usr/lib/libLLVMAMDGPUAsmParser.a +usr/lib/libLLVMAMDGPUCodeGen.a +usr/lib/libLLVMAMDGPUDesc.a +usr/lib/libLLVMAMDGPUDisassembler.a +usr/lib/libLLVMAMDGPUInfo.a +usr/lib/libLLVMAMDGPUTargetMCA.a +usr/lib/libLLVMAMDGPUUtils.a +usr/lib/libLLVMARMAsmParser.a +usr/lib/libLLVMARMCodeGen.a +usr/lib/libLLVMARMDesc.a +usr/lib/libLLVMARMDisassembler.a +usr/lib/libLLVMARMInfo.a +usr/lib/libLLVMARMUtils.a +usr/lib/libLLVMAggressiveInstCombine.a +usr/lib/libLLVMAnalysis.a +usr/lib/libLLVMAsmParser.a +usr/lib/libLLVMAsmPrinter.a +usr/lib/libLLVMBPFAsmParser.a +usr/lib/libLLVMBPFCodeGen.a +usr/lib/libLLVMBPFDesc.a +usr/lib/libLLVMBPFDisassembler.a +usr/lib/libLLVMBPFInfo.a +usr/lib/libLLVMBinaryFormat.a +usr/lib/libLLVMBitReader.a +usr/lib/libLLVMBitWriter.a +usr/lib/libLLVMBitstreamReader.a +usr/lib/libLLVMCFGuard.a +usr/lib/libLLVMCFIVerify.a +usr/lib/libLLVMCodeGen.a +usr/lib/libLLVMCodeGenTypes.a +usr/lib/libLLVMCore.a +usr/lib/libLLVMCoroutines.a +usr/lib/libLLVMCoverage.a +usr/lib/libLLVMDWARFLinker.a +usr/lib/libLLVMDWARFLinkerParallel.a +usr/lib/libLLVMDWP.a +usr/lib/libLLVMDebugInfoBTF.a +usr/lib/libLLVMDebugInfoCodeView.a +usr/lib/libLLVMDebugInfoDWARF.a +usr/lib/libLLVMDebugInfoGSYM.a +usr/lib/libLLVMDebugInfoLogicalView.a +usr/lib/libLLVMDebugInfoMSF.a +usr/lib/libLLVMDebugInfoPDB.a +usr/lib/libLLVMDebuginfod.a +usr/lib/libLLVMDemangle.a +usr/lib/libLLVMDiff.a +usr/lib/libLLVMDlltoolDriver.a +usr/lib/libLLVMExecutionEngine.a +usr/lib/libLLVMExegesis.a +usr/lib/libLLVMExegesisAArch64.a +usr/lib/libLLVMExegesisMips.a +usr/lib/libLLVMExegesisPowerPC.a +usr/lib/libLLVMExegesisX86.a +usr/lib/libLLVMExtensions.a +usr/lib/libLLVMFileCheck.a +usr/lib/libLLVMFrontendHLSL.a +usr/lib/libLLVMFrontendOpenACC.a +usr/lib/libLLVMFrontendOpenMP.a +usr/lib/libLLVMFuzzMutate.a +usr/lib/libLLVMFuzzerCLI.a +usr/lib/libLLVMGlobalISel.a +usr/lib/libLLVMIRPrinter.a +usr/lib/libLLVMIRReader.a +usr/lib/libLLVMInstCombine.a +usr/lib/libLLVMInstrumentation.a +usr/lib/libLLVMInterfaceStub.a +usr/lib/libLLVMInterpreter.a +usr/lib/libLLVMJITLink.a +usr/lib/libLLVMLTO.a +usr/lib/libLLVMLibDriver.a +usr/lib/libLLVMLineEditor.a +usr/lib/libLLVMLinker.a +usr/lib/libLLVMMC.a +usr/lib/libLLVMMCA.a +usr/lib/libLLVMMCDisassembler.a +usr/lib/libLLVMMCJIT.a +usr/lib/libLLVMMCParser.a +usr/lib/libLLVMMIRParser.a +usr/lib/libLLVMMipsAsmParser.a +usr/lib/libLLVMMipsCodeGen.a +usr/lib/libLLVMMipsDesc.a +usr/lib/libLLVMMipsDisassembler.a +usr/lib/libLLVMMipsInfo.a +usr/lib/libLLVMNVPTXCodeGen.a +usr/lib/libLLVMNVPTXDesc.a +usr/lib/libLLVMNVPTXInfo.a +usr/lib/libLLVMObjCARCOpts.a +usr/lib/libLLVMObjCopy.a +usr/lib/libLLVMObject.a +usr/lib/libLLVMObjectYAML.a +usr/lib/libLLVMOption.a +usr/lib/libLLVMOrcJIT.a +usr/lib/libLLVMOrcShared.a +usr/lib/libLLVMOrcTargetProcess.a +usr/lib/libLLVMPasses.a +usr/lib/libLLVMPerfJITEvents.a +usr/lib/libLLVMPowerPCAsmParser.a +usr/lib/libLLVMPowerPCCodeGen.a +usr/lib/libLLVMPowerPCDesc.a +usr/lib/libLLVMPowerPCDisassembler.a +usr/lib/libLLVMPowerPCInfo.a +usr/lib/libLLVMProfileData.a +usr/lib/libLLVMRemarks.a +usr/lib/libLLVMRuntimeDyld.a +usr/lib/libLLVMScalarOpts.a +usr/lib/libLLVMSelectionDAG.a +usr/lib/libLLVMSupport.a +usr/lib/libLLVMSymbolize.a +usr/lib/libLLVMSystemZAsmParser.a +usr/lib/libLLVMSystemZCodeGen.a +usr/lib/libLLVMSystemZDesc.a +usr/lib/libLLVMSystemZDisassembler.a +usr/lib/libLLVMSystemZInfo.a +usr/lib/libLLVMTableGen.a +usr/lib/libLLVMTableGenCommon.a +usr/lib/libLLVMTableGenGlobalISel.a +usr/lib/libLLVMTarget.a +usr/lib/libLLVMTargetParser.a +usr/lib/libLLVMTextAPI.a +usr/lib/libLLVMTransformUtils.a +usr/lib/libLLVMVectorize.a +usr/lib/libLLVMWebAssemblyAsmParser.a +usr/lib/libLLVMWebAssemblyCodeGen.a +usr/lib/libLLVMWebAssemblyDesc.a +usr/lib/libLLVMWebAssemblyDisassembler.a +usr/lib/libLLVMWebAssemblyInfo.a +usr/lib/libLLVMWebAssemblyUtils.a +usr/lib/libLLVMWindowsDriver.a +usr/lib/libLLVMWindowsManifest.a +usr/lib/libLLVMX86AsmParser.a +usr/lib/libLLVMX86CodeGen.a +usr/lib/libLLVMX86Desc.a +usr/lib/libLLVMX86Disassembler.a +usr/lib/libLLVMX86Info.a +usr/lib/libLLVMX86TargetMCA.a +usr/lib/libLLVMXRay.a +usr/lib/libLLVMipo.a +usr/lib/libLTO.so +usr/lib/libLTO.so.17 +usr/lib/libRemarks.so +usr/lib/libRemarks.so.17 usr/lib64/LLVMgold.so usr/lib64/bfd-plugins/LLVMgold.so usr/lib64/libLLVM-17.0.6.so @@ -335,6 +535,7 @@ usr/share/man/man1/llvm-addr2line.1.gz usr/share/man/man1/llvm-ar.1.gz usr/share/man/man1/llvm-as.1.gz usr/share/man/man1/llvm-bcanalyzer.1.gz +usr/share/man/man1/llvm-config-32.1.gz usr/share/man/man1/llvm-config-64.1.gz usr/share/man/man1/llvm-config.1.gz usr/share/man/man1/llvm-cov.1.gz diff --git a/devel/linux-rl9-nspr/Makefile b/devel/linux-rl9-nspr/Makefile index a6b9d2bce269..86d24ae782c2 100644 --- a/devel/linux-rl9-nspr/Makefile +++ b/devel/linux-rl9-nspr/Makefile @@ -1,7 +1,7 @@ PORTNAME= nspr PORTVERSION= 4.35.0 DISTVERSIONSUFFIX= -14.el9_4 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -11,10 +11,11 @@ WWW= https://developer.mozilla.org/docs/Mozilla/Projects/NSPR USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX_RPM= yes +WANT_LINUX32= yes SRC_DISTFILES= nss-3.101.0-7.el9_4${SRC_SUFX}:SOURCE CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr .include <bsd.port.mk> diff --git a/devel/linux-rl9-nspr/distinfo b/devel/linux-rl9-nspr/distinfo index db7bfa417789..b57bfdbb065e 100644 --- a/devel/linux-rl9-nspr/distinfo +++ b/devel/linux-rl9-nspr/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1727471272 +TIMESTAMP = 1731424017 SHA256 (rocky/n/nspr-4.35.0-14.el9_4.aarch64.rpm) = 11ad2b002cb59ffc330cec4d2d99672e3633346cd7d8eeacb48c20b8abaa3823 SIZE (rocky/n/nspr-4.35.0-14.el9_4.aarch64.rpm) = 133081 +SHA256 (rocky/n/nspr-4.35.0-14.el9_4.i686.rpm) = e6e4d8c8d1a67be5d789475269692b7c1a03fd5ee62cb5784599568550f193ac +SIZE (rocky/n/nspr-4.35.0-14.el9_4.i686.rpm) = 147355 SHA256 (rocky/n/nspr-4.35.0-14.el9_4.x86_64.rpm) = fce32babfcf598a75e01e80786626dd4d616d16a60f0bdf360112f94ba729601 SIZE (rocky/n/nspr-4.35.0-14.el9_4.x86_64.rpm) = 136309 SHA256 (rocky/n/nss-3.101.0-7.el9_4.src.rpm) = f44f2ba712fed7b0093cbf5afbd339f60f40f90672ab9ccbf3157e04cc7b7d07 diff --git a/devel/linux-rl9-nspr/pkg-plist.amd64 b/devel/linux-rl9-nspr/pkg-plist.amd64 index a121a388f492..0d49198d80f2 100644 --- a/devel/linux-rl9-nspr/pkg-plist.amd64 +++ b/devel/linux-rl9-nspr/pkg-plist.amd64 @@ -1,6 +1,12 @@ +usr/lib/.build-id/36/f0af381c4d3055526438cb00677f823532fad5 +usr/lib/.build-id/76/f37dcb3b0d30dd49b8204ef483c825822ac2e4 +usr/lib/.build-id/ac/bb3a7d1448e3882cedfed4b0773c356a8a671a usr/lib/.build-id/bc/26c8a4063fa296aed91b25ff13e2cfc965b779 usr/lib/.build-id/c8/57f23da9dfc4e86051e5554bd47ef171f5e3f9 -usr/lib/.build-id/76/f37dcb3b0d30dd49b8204ef483c825822ac2e4 +usr/lib/.build-id/df/342b4a241d798eedae4bd19a5eac3c9143d435 +usr/lib/libnspr4.so +usr/lib/libplc4.so +usr/lib/libplds4.so usr/lib64/libnspr4.so usr/lib64/libplc4.so usr/lib64/libplds4.so diff --git a/devel/linux-rl9-ocl-icd/Makefile b/devel/linux-rl9-ocl-icd/Makefile index 64419221dcf5..d7197e79e5fb 100644 --- a/devel/linux-rl9-ocl-icd/Makefile +++ b/devel/linux-rl9-ocl-icd/Makefile @@ -1,6 +1,7 @@ PORTNAME= ocl-icd PORTVERSION= 2.2.13 DISTVERSIONSUFFIX= -4.el9 +PORTREVISION= 1 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -13,9 +14,10 @@ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX= libgcrypt libpsl USE_LINUX_RPM= yes +WANT_LINUX32= yes CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/${PORTNAME}${PKGNAMESUFFIX} OPTIONS_DEFINE= DOCS NLS diff --git a/devel/linux-rl9-ocl-icd/distinfo b/devel/linux-rl9-ocl-icd/distinfo index 6200525dd3c6..06d597df3e47 100644 --- a/devel/linux-rl9-ocl-icd/distinfo +++ b/devel/linux-rl9-ocl-icd/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1707764780 +TIMESTAMP = 1731432725 SHA256 (rocky/o/ocl-icd-2.2.13-4.el9.aarch64.rpm) = 1dd895e79583b23e964fee7442812b9d8da03b33ca495d4f319c40025b4bbe7f SIZE (rocky/o/ocl-icd-2.2.13-4.el9.aarch64.rpm) = 47289 +SHA256 (rocky/o/ocl-icd-2.2.13-4.el9.i686.rpm) = 81c3e18424d366ca07070a35d1cb084a2c113b7a4df846413b1b82177f25b761 +SIZE (rocky/o/ocl-icd-2.2.13-4.el9.i686.rpm) = 46401 SHA256 (rocky/o/ocl-icd-2.2.13-4.el9.x86_64.rpm) = 89c3df8be01178f6b06eca5c2025ef11e4983c50afdcf83c66454441aef9f6b0 SIZE (rocky/o/ocl-icd-2.2.13-4.el9.x86_64.rpm) = 51828 SHA256 (rocky/o/ocl-icd-2.2.13-4.el9.src.rpm) = a4c8a3eef7aa50573091b18d36486251980960b853f38c419808232672e7d95e diff --git a/devel/linux-rl9-ocl-icd/pkg-plist.amd64 b/devel/linux-rl9-ocl-icd/pkg-plist.amd64 index 504eb0300750..c6af306a579a 100644 --- a/devel/linux-rl9-ocl-icd/pkg-plist.amd64 +++ b/devel/linux-rl9-ocl-icd/pkg-plist.amd64 @@ -1,4 +1,7 @@ +usr/lib/.build-id/dc/fb6306862b86cc2a405dadc86ecd282c1e04b2 usr/lib/.build-id/ee/66d05b18954424d7bb014b36b27fcfae810906 +usr/lib/libOpenCL.so.1 +usr/lib/libOpenCL.so.1.0.0 usr/lib64/libOpenCL.so.1 usr/lib64/libOpenCL.so.1.0.0 %%PORTDOCS%%%%DOCSDIR%%/NEWS diff --git a/devel/linux-rl9-orc/Makefile b/devel/linux-rl9-orc/Makefile index 10850ce54ab9..515ae137e852 100644 --- a/devel/linux-rl9-orc/Makefile +++ b/devel/linux-rl9-orc/Makefile @@ -1,7 +1,7 @@ PORTNAME= orc PORTVERSION= 0.4.31 DISTVERSIONSUFFIX= -7.el9_4 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel linux MAINTAINER= emulation@FreeBSD.org @@ -15,12 +15,13 @@ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX= libgcrypt libpsl USE_LINUX_RPM= yes +WANT_LINUX32= yes BIN_DISTNAMES= ${PORTNAME}-${DISTVERSIONFULL} \ ${PORTNAME}-compiler-${DISTVERSIONFULL} CONFLICTS= linux-c7-${PORTNAME} -DESCR= ${.CURDIR}/../${PORTNAME}/pkg-descr +DESCR= ${PORTSDIR}/${PKGCATEGORY}/${PORTNAME}/pkg-descr DOCSDIR= ${PREFIX}/usr/share/doc/${PORTNAME}${PKGNAMESUFFIX} OPTIONS_DEFINE= DOCS NLS diff --git a/devel/linux-rl9-orc/distinfo b/devel/linux-rl9-orc/distinfo index df0dbb3f3714..0c8385c5d262 100644 --- a/devel/linux-rl9-orc/distinfo +++ b/devel/linux-rl9-orc/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1727471432 +TIMESTAMP = 1731433108 SHA256 (rocky/o/orc-0.4.31-7.el9_4.aarch64.rpm) = 3789d3d8da9927b5c50c5554337a22c8b79e1b4953a473818daef6cc90aaac41 SIZE (rocky/o/orc-0.4.31-7.el9_4.aarch64.rpm) = 180669 +SHA256 (rocky/o/orc-0.4.31-7.el9_4.i686.rpm) = 02b6226ed6675ec42d59532b967b4735a2e3b314f84b7d5f5d96e8768f9195a4 +SIZE (rocky/o/orc-0.4.31-7.el9_4.i686.rpm) = 198117 SHA256 (rocky/o/orc-0.4.31-7.el9_4.x86_64.rpm) = 7f63ee701c9beb9840b71e4df89d0d84dafd1d6e29697bf6b53d8b07c61f966f SIZE (rocky/o/orc-0.4.31-7.el9_4.x86_64.rpm) = 186588 SHA256 (rocky/o/orc-compiler-0.4.31-7.el9_4.aarch64.rpm) = 018e932cdb22fca46a97538d530423c2905d33f8243120dec6731ea9d249f477 diff --git a/devel/linux-rl9-orc/pkg-plist.amd64 b/devel/linux-rl9-orc/pkg-plist.amd64 index f75333c24a44..aaebff22c991 100644 --- a/devel/linux-rl9-orc/pkg-plist.amd64 +++ b/devel/linux-rl9-orc/pkg-plist.amd64 @@ -1,9 +1,16 @@ usr/bin/orc-bugreport usr/bin/orcc -usr/lib/.build-id/a3/b4252a6575fc18af2c11b34d322bf9e90051ea +usr/lib/.build-id/36/54accbe61729113b0661be638cde18627f869c +usr/lib/.build-id/41/2b9bb966862789d964c891a5d3cc971c1818c6 +usr/lib/.build-id/71/93278b6c96d34bb6706acb372a895f76b03220 usr/lib/.build-id/9a/d4aa773566d6bfd60e103138a3185085466021 +usr/lib/.build-id/a3/b4252a6575fc18af2c11b34d322bf9e90051ea usr/lib/.build-id/a6/f2868a20db1211b0b76dc7e91f0fb18e148c61 -usr/lib/.build-id/36/54accbe61729113b0661be638cde18627f869c +usr/lib/.build-id/cd/ea449555eeb00b630720687e0a1b7200c5a99a +usr/lib/liborc-0.4.so.0 +usr/lib/liborc-0.4.so.0.31.0 +usr/lib/liborc-test-0.4.so.0 +usr/lib/liborc-test-0.4.so.0.31.0 usr/lib64/liborc-0.4.so.0 usr/lib64/liborc-0.4.so.0.31.0 usr/lib64/liborc-test-0.4.so.0 diff --git a/devel/linux-rl9-qt5-qtbase/Makefile b/devel/linux-rl9-qt5-qtbase/Makefile index 6586b486d87b..0ff0615f97a7 100644 --- a/devel/linux-rl9-qt5-qtbase/Makefile +++ b/devel/linux-rl9-qt5-qtbase/Makefile @@ -1,6 +1,7 @@ PORTNAME= qt5 PORTVERSION= 5.15.9 DISTVERSIONSUFFIX= -10.el9_4 +PORTREVISION= 1 CATEGORIES= devel linux PKGNAMESUFFIX= -qtbase @@ -14,6 +15,7 @@ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX= cups-libs dbuslibs dri jpeg libxml2 png tiff xorglibs USE_LINUX_RPM= yes +WANT_LINUX32= yes BIN_DISTNAMES= ${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSIONFULL} LIB_DISTNAMES= ${PORTNAME}${PKGNAMESUFFIX}-gui-${DISTVERSIONFULL} \ diff --git a/devel/linux-rl9-qt5-qtbase/distinfo b/devel/linux-rl9-qt5-qtbase/distinfo index 53d3f5817179..c977758f0281 100644 --- a/devel/linux-rl9-qt5-qtbase/distinfo +++ b/devel/linux-rl9-qt5-qtbase/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1730274626 +TIMESTAMP = 1731450138 SHA256 (rocky/q/qt5-qtbase-5.15.9-10.el9_4.aarch64.rpm) = 74372662c6f8475e757642b3941c30aef4691e99f1dc281493a2c70f1c4e4d2e SIZE (rocky/q/qt5-qtbase-5.15.9-10.el9_4.aarch64.rpm) = 3626663 SHA256 (rocky/q/qt5-qtbase-5.15.9-10.el9_4.x86_64.rpm) = 417f1b8d14840782eea6d725164b250561667ed09c17187f9a6681645dd069d0 @@ -7,18 +7,26 @@ SHA256 (rocky/q/qt5-qtbase-common-5.15.9-10.el9_4.noarch.rpm) = 0a00886aeb716a38 SIZE (rocky/q/qt5-qtbase-common-5.15.9-10.el9_4.noarch.rpm) = 8626 SHA256 (rocky/q/qt5-qtbase-gui-5.15.9-10.el9_4.aarch64.rpm) = 33a13157ac11184a958711c29b0eae0d5f5c6c4fc2cbc104efd74a6f2a99ce66 SIZE (rocky/q/qt5-qtbase-gui-5.15.9-10.el9_4.aarch64.rpm) = 6538266 +SHA256 (rocky/q/qt5-qtbase-gui-5.15.9-10.el9_4.i686.rpm) = f5110b017cfa360ac3e3051cf64e1213de4f6d80958be403211731a71a137827 +SIZE (rocky/q/qt5-qtbase-gui-5.15.9-10.el9_4.i686.rpm) = 7426646 SHA256 (rocky/q/qt5-qtbase-gui-5.15.9-10.el9_4.x86_64.rpm) = 4b2e4d7cafa6cc9762b6c890c774ca8fa1474fdffcb3513a316278e8cc29aaac SIZE (rocky/q/qt5-qtbase-gui-5.15.9-10.el9_4.x86_64.rpm) = 6634187 SHA256 (rocky/q/qt5-qtbase-mysql-5.15.9-10.el9_4.aarch64.rpm) = dc6ef422b33be9f9e95626f7bdb1daa6b289b77ea859349139b663aa3299015d SIZE (rocky/q/qt5-qtbase-mysql-5.15.9-10.el9_4.aarch64.rpm) = 38847 +SHA256 (rocky/q/qt5-qtbase-mysql-5.15.9-10.el9_4.i686.rpm) = 5e8a9d6a677033b0d4b0f5bf85f11d54af70a68d3b02ae04c98cc28fc3b6c393 +SIZE (rocky/q/qt5-qtbase-mysql-5.15.9-10.el9_4.i686.rpm) = 42563 SHA256 (rocky/q/qt5-qtbase-mysql-5.15.9-10.el9_4.x86_64.rpm) = cd76e2cd4dee064a5aa2d06d2073acad270ed958f5ff18f2168093d04e0724bd SIZE (rocky/q/qt5-qtbase-mysql-5.15.9-10.el9_4.x86_64.rpm) = 39098 SHA256 (rocky/q/qt5-qtbase-odbc-5.15.9-10.el9_4.aarch64.rpm) = 958023c202336f3dd79ecb76d784e49b3600154ee1ffd13f99fbc6d8fd6fceed SIZE (rocky/q/qt5-qtbase-odbc-5.15.9-10.el9_4.aarch64.rpm) = 50010 +SHA256 (rocky/q/qt5-qtbase-odbc-5.15.9-10.el9_4.i686.rpm) = 1570e6e4baf8836e8f3ee2658e8d1079101382cffd9c30c4cbf26ba96e1c14dc +SIZE (rocky/q/qt5-qtbase-odbc-5.15.9-10.el9_4.i686.rpm) = 56248 SHA256 (rocky/q/qt5-qtbase-odbc-5.15.9-10.el9_4.x86_64.rpm) = fd900c26bc4bc21df0f7c085a8b6735819b121d39946750f2adb0d7af47ec494 SIZE (rocky/q/qt5-qtbase-odbc-5.15.9-10.el9_4.x86_64.rpm) = 50252 SHA256 (rocky/q/qt5-qtbase-postgresql-5.15.9-10.el9_4.aarch64.rpm) = 1a3d49253e8a3e3b7d49602e07ee670a5c6e844c02d19dbd298f1a1de8f68fca SIZE (rocky/q/qt5-qtbase-postgresql-5.15.9-10.el9_4.aarch64.rpm) = 43574 +SHA256 (rocky/q/qt5-qtbase-postgresql-5.15.9-10.el9_4.i686.rpm) = 26fe4b5289d50332f582fa01cff77062acfb547f1e99c3032a85e93bd314a42f +SIZE (rocky/q/qt5-qtbase-postgresql-5.15.9-10.el9_4.i686.rpm) = 48086 SHA256 (rocky/q/qt5-qtbase-postgresql-5.15.9-10.el9_4.x86_64.rpm) = 0ad991f8fd5fe689d6aa197ec704f90554206bb99fe49598baad5f1a77a1f938 SIZE (rocky/q/qt5-qtbase-postgresql-5.15.9-10.el9_4.x86_64.rpm) = 43956 SHA256 (rocky/q/qt5-qtbase-5.15.9-10.el9_4.src.rpm) = 807ca36ef92d7bddb6e786750d6a037712a5d2bec01c2f2271c71c7971c42a0f diff --git a/devel/linux-rl9-qt5-qtbase/pkg-plist.amd64 b/devel/linux-rl9-qt5-qtbase/pkg-plist.amd64 index afcfdf3b00cf..fa3559f05ccb 100644 --- a/devel/linux-rl9-qt5-qtbase/pkg-plist.amd64 +++ b/devel/linux-rl9-qt5-qtbase/pkg-plist.amd64 @@ -1,53 +1,171 @@ etc/X11/xinit/xinitrc.d/10-qt5-check-opengl2.sh etc/xdg/qtchooser/5-64.conf usr/lib/.build-id/00/6ed027db327f827de94ac5b120b68178cc02e8 +usr/lib/.build-id/01/ec524f385ea1c2786d5981d0160384aa84256e usr/lib/.build-id/03/56fb94303d3efbcab624a45c755d53e3ffd34a usr/lib/.build-id/07/df77b55158e74042aa38d14abdc620a3cba341 +usr/lib/.build-id/10/69f2787ef2e19b8ba82f388bb0bce9d332c36f +usr/lib/.build-id/12/14b562f3a59fd3e3416892a754a28094ecce4f usr/lib/.build-id/13/3d098ed4fe87817fdc3dc8cc4cef72f7a7790c usr/lib/.build-id/16/a8c0d36307eb16a2dbfd40f2f41b2e12dfb494 +usr/lib/.build-id/1a/473868c6ba8f32310f03ca62af2f26110dd6ac usr/lib/.build-id/1d/47b50a81405c551628089619e9d5457e3d90cb usr/lib/.build-id/21/e7b66f7156a6d1101cf364370363e46184f8c6 +usr/lib/.build-id/25/1f47f3706e4469f17fb06dbbf2e0106b359963 +usr/lib/.build-id/2e/0d1da0eb5b08bf31b6257e60de897b788a213b usr/lib/.build-id/2e/cbde321a71ab77658644e914a371640228fc76 usr/lib/.build-id/35/a84cb8188a0dac6192579442c554a82dc7e864 usr/lib/.build-id/35/d1ef2b7da0379043b49aafbf9b522aa8b2ca6d +usr/lib/.build-id/3b/798a2516881557d37b7896d8f4b503270cd3c4 +usr/lib/.build-id/3f/2f6589291fc0ddf028ef916240ab4747659c48 +usr/lib/.build-id/3f/d37d0482d6372e9126c3449d051a6929f5ef5c usr/lib/.build-id/40/4a5cc9450360f458f7967ae8f158d6238a5cad usr/lib/.build-id/49/e8a0823ebc43533c9b7c423f68b8e5458c3d39 +usr/lib/.build-id/4a/26c78ae29f739a8f0142ab93e1a0b89265e81e usr/lib/.build-id/4f/783091a1e3ee588783e21c80bb5d918894d70c usr/lib/.build-id/4f/8d76f3a89f7cb1eda13c50ee153b92dcf24420 +usr/lib/.build-id/50/dfa572c8c308f855e0a4577e8e6dec86d34234 +usr/lib/.build-id/56/95dd09f3212f477b72d0e8dfcb9eabedc3325d usr/lib/.build-id/57/3343e0324fa85a841b2b12d6995992c9249da1 +usr/lib/.build-id/59/2d56e00c324102903b77124e8af470c04c4833 usr/lib/.build-id/5a/9b3788ac240549ad87318b61c14c35e779172b usr/lib/.build-id/5c/be191bdb1479bcff6f47019deae43a3110b725 usr/lib/.build-id/61/3b48ffd78b0477ac5f963a6536c8eba14ce8cf +usr/lib/.build-id/63/61ceb1ab5bd8001780581bf31f24d55c719464 usr/lib/.build-id/66/8d665b4d0e420e3655fa3a02f95cbc32a06cd3 usr/lib/.build-id/66/ccdcc7082a750276114858bde65b916aeb7792 +usr/lib/.build-id/6c/674db523e90c36c9a832c5789f9c1d2e6fcf5b usr/lib/.build-id/6d/714719f828d2e829bf57a3a6a60e22bcb27e13 +usr/lib/.build-id/6f/82c5c6e82e06468523dd878118f3f430e46a7c +usr/lib/.build-id/76/2d7734b83d36ff5824f67f10a9699739edc3b2 +usr/lib/.build-id/78/e654877efc8b0ee7573891aca7f91c2184ee22 +usr/lib/.build-id/7a/ddf1ac1abcc13087fbbe30cc18110481b33571 usr/lib/.build-id/87/1b01b9d092e07b3363d20bd2a3a472bbce2d0d usr/lib/.build-id/8a/1043ca842a3c0c0401f22777b67e251b0b3220 usr/lib/.build-id/8b/0f30d684764fd0af00075dc5ae875de3ebfef1 +usr/lib/.build-id/8b/e7f5eb534ee9c60ef3c4484dc94ce8f15386ec +usr/lib/.build-id/8d/cffd6365d7eeb91095fc14c40fcec45d14523a +usr/lib/.build-id/90/f1f83613593dd3e8d652e337385017752f4cc7 usr/lib/.build-id/95/2752ff7b28c86db1d4a42ee56453b654fa4a05 usr/lib/.build-id/98/38cda746fcd73b604cf61d1cae3d66bacfc3ce +usr/lib/.build-id/9c/17278573ce92a11213e6b257c005985b1e3f72 usr/lib/.build-id/9e/d335188d9a62d8c640e10bbd916b767d000c42 +usr/lib/.build-id/a5/4ea6b3021baa17aef9d10dd5691bf81fc651d6 usr/lib/.build-id/a9/cb18a9d4b999a11cac6ed79d0e838946cd3bc1 +usr/lib/.build-id/ae/7a187ba6fb004da9686bcec24d60f330c51eb5 usr/lib/.build-id/ae/7a787ef0bf1d986e500a4d69e26c68e432e66a +usr/lib/.build-id/b1/739b1239d2986d868777b655ac8759261687b9 +usr/lib/.build-id/b6/2dcb688f7a3417be922690ef4ab7036b6bab56 usr/lib/.build-id/b6/665cd00626592b21840892b4edaee74ccc17b2 usr/lib/.build-id/bc/0a81c156d8e5bfec49a6591ed0598c5f98a127 usr/lib/.build-id/bc/fe8d1e45ef31443b5e9ca1d42bec97f9e4b523 +usr/lib/.build-id/bd/3f66ea5f22529c6cf298c7052a92013cba49a7 usr/lib/.build-id/be/2524eca048425afb37564437710c79ee4ebe29 usr/lib/.build-id/be/3cfcc2ef59fb311211338c8fdd55a5e69ad6df +usr/lib/.build-id/c1/2dcdf0294e074cc1432216e0682bffd6496827 usr/lib/.build-id/c3/892e308eee025399842115d1a266559479fcce usr/lib/.build-id/c4/18155f98ec7bf1b2b4912f171fac07d7858b35 usr/lib/.build-id/c4/c836b3fbe37ddc4413b75412ab48fc83438080 +usr/lib/.build-id/c5/c1d63d1b139eb2c96b084081c03af351631ce9 usr/lib/.build-id/c8/2483792a4cf278866c11cdbd809e834b2bd945 usr/lib/.build-id/c8/d2c64af076be38a399b2586130bfec9e02110b usr/lib/.build-id/c9/2cdc6b516d08aa2979bd0344eeaff32ebd3a86 usr/lib/.build-id/cb/332a7207c0b8daa56016f8a485c697e15abcfa +usr/lib/.build-id/cd/4cb3d52a60603d2f2e8668e722b1bb628974f9 +usr/lib/.build-id/ce/82b932bd7f5f533ba91482d089ef018bc910ce +usr/lib/.build-id/cf/e36c5448aeb39eb5dd6208e775c1656dd61a4f usr/lib/.build-id/d0/9b71adf4d4dbac4e065c2e4b1108ed667cafd2 +usr/lib/.build-id/d5/1e3c8f3eb356a32c6caafe0fca6d04f8da07bb usr/lib/.build-id/d8/dc3ad9a00e024a2a27f31d710629c3b7ff624f +usr/lib/.build-id/d9/80e41793478cbc80b630277fe22fe2beda764c usr/lib/.build-id/da/18f24c7dc60586c8d57547446d1ba7f7edb63e +usr/lib/.build-id/e1/d47db5aa4c745fa28ea7c8d2ed1d1ac2548f45 usr/lib/.build-id/e6/6f445671c92423c87984770a342dafeadddc41 usr/lib/.build-id/e9/7db79fd017087f5379007f3e2776ae77227af9 usr/lib/.build-id/eb/073e73027d26b4c5ed2ebdfc2fc8d5cc86472a +usr/lib/.build-id/f1/0c530d331b72ae1314580089e64a25889522e1 usr/lib/.build-id/f2/80eeba326b08af4d6a55b21999a531a58251ed +usr/lib/cmake/Qt5Gui/Qt5Gui_QComposePlatformInputContextPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QEglFSEmulatorIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QEglFSIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QEglFSKmsEglDeviceIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QEglFSKmsGbmIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QEglFSX11IntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QEvdevKeyboardPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QEvdevMousePlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QEvdevTabletPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QEvdevTouchScreenPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QGifPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QGtk3ThemePlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QICOPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QIbusPlatformInputContextPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QJpegPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QLibInputPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QLinuxFbIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QMinimalEglIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QOffscreenIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QTuioTouchPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QVncIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QXcbEglIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QXcbGlxIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QXcbIntegrationPlugin.cmake +usr/lib/cmake/Qt5Gui/Qt5Gui_QXdgDesktopPortalThemePlugin.cmake +usr/lib/cmake/Qt5PrintSupport/Qt5PrintSupport_QCupsPrinterSupportPlugin.cmake +usr/lib/cmake/Qt5Sql/Qt5Sql_QMYSQLDriverPlugin.cmake +usr/lib/cmake/Qt5Sql/Qt5Sql_QODBCDriverPlugin.cmake +usr/lib/cmake/Qt5Sql/Qt5Sql_QPSQLDriverPlugin.cmake +usr/lib/libQt5EglFSDeviceIntegration.so.5 +usr/lib/libQt5EglFSDeviceIntegration.so.5.15 +usr/lib/libQt5EglFSDeviceIntegration.so.5.15.9 +usr/lib/libQt5EglFsKmsSupport.so.5 +usr/lib/libQt5EglFsKmsSupport.so.5.15 +usr/lib/libQt5EglFsKmsSupport.so.5.15.9 +usr/lib/libQt5Gui.so.5 +usr/lib/libQt5Gui.so.5.15 +usr/lib/libQt5Gui.so.5.15.9 +usr/lib/libQt5OpenGL.so.5 +usr/lib/libQt5OpenGL.so.5.15 +usr/lib/libQt5OpenGL.so.5.15.9 +usr/lib/libQt5PrintSupport.so.5 +usr/lib/libQt5PrintSupport.so.5.15 +usr/lib/libQt5PrintSupport.so.5.15.9 +usr/lib/libQt5Widgets.so.5 +usr/lib/libQt5Widgets.so.5.15 +usr/lib/libQt5Widgets.so.5.15.9 +usr/lib/libQt5XcbQpa.so.5 +usr/lib/libQt5XcbQpa.so.5.15 +usr/lib/libQt5XcbQpa.so.5.15.9 +usr/lib/qt5/plugins/egldeviceintegrations/libqeglfs-emu-integration.so +usr/lib/qt5/plugins/egldeviceintegrations/libqeglfs-kms-egldevice-integration.so +usr/lib/qt5/plugins/egldeviceintegrations/libqeglfs-kms-integration.so +usr/lib/qt5/plugins/egldeviceintegrations/libqeglfs-x11-integration.so +usr/lib/qt5/plugins/generic/libqevdevkeyboardplugin.so +usr/lib/qt5/plugins/generic/libqevdevmouseplugin.so +usr/lib/qt5/plugins/generic/libqevdevtabletplugin.so +usr/lib/qt5/plugins/generic/libqevdevtouchplugin.so +usr/lib/qt5/plugins/generic/libqlibinputplugin.so +usr/lib/qt5/plugins/generic/libqtuiotouchplugin.so +usr/lib/qt5/plugins/imageformats/libqgif.so +usr/lib/qt5/plugins/imageformats/libqico.so +usr/lib/qt5/plugins/imageformats/libqjpeg.so +usr/lib/qt5/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so +usr/lib/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so +usr/lib/qt5/plugins/platforms/libqeglfs.so +usr/lib/qt5/plugins/platforms/libqlinuxfb.so +usr/lib/qt5/plugins/platforms/libqminimal.so +usr/lib/qt5/plugins/platforms/libqminimalegl.so +usr/lib/qt5/plugins/platforms/libqoffscreen.so +usr/lib/qt5/plugins/platforms/libqvnc.so +usr/lib/qt5/plugins/platforms/libqxcb.so +usr/lib/qt5/plugins/platformthemes/libqgtk3.so +usr/lib/qt5/plugins/platformthemes/libqxdgdesktopportal.so +usr/lib/qt5/plugins/printsupport/libcupsprintersupport.so +usr/lib/qt5/plugins/sqldrivers/libqsqlmysql.so +usr/lib/qt5/plugins/sqldrivers/libqsqlodbc.so +usr/lib/qt5/plugins/sqldrivers/libqsqlpsql.so +usr/lib/qt5/plugins/xcbglintegrations/libqxcb-egl-integration.so +usr/lib/qt5/plugins/xcbglintegrations/libqxcb-glx-integration.so usr/lib/rpm/macros.d/macros.qt5-qtbase usr/lib64/cmake/Qt5Gui/Qt5Gui_QComposePlatformInputContextPlugin.cmake usr/lib64/cmake/Qt5Gui/Qt5Gui_QEglFSEmulatorIntegrationPlugin.cmake diff --git a/devel/linux-rl9-qt5-qtdeclarative/Makefile b/devel/linux-rl9-qt5-qtdeclarative/Makefile index df541acdc8d9..e52101be7bf4 100644 --- a/devel/linux-rl9-qt5-qtdeclarative/Makefile +++ b/devel/linux-rl9-qt5-qtdeclarative/Makefile @@ -1,6 +1,7 @@ PORTNAME= qt5 PORTVERSION= 5.15.9 DISTVERSIONSUFFIX= -3.el9 +PORTREVISION= 1 CATEGORIES= devel linux PKGNAMESUFFIX= -qtdeclarative @@ -14,6 +15,7 @@ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX= cups-libs dbuslibs dri jpeg libxml2 png qtbase tiff xorglibs webp USE_LINUX_RPM= yes +WANT_LINUX32= yes LIB_DISTNAMES= ${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSIONFULL} SRC_DISTFILES= ${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSIONFULL}${SRC_SUFX}:SOURCE diff --git a/devel/linux-rl9-qt5-qtdeclarative/distinfo b/devel/linux-rl9-qt5-qtdeclarative/distinfo index dfc64f8b1e71..75b25ba07fda 100644 --- a/devel/linux-rl9-qt5-qtdeclarative/distinfo +++ b/devel/linux-rl9-qt5-qtdeclarative/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1730967502 +TIMESTAMP = 1731450247 SHA256 (rocky/q/qt5-qtdeclarative-5.15.9-3.el9.aarch64.rpm) = be34ade5f2f4937a3565356943a4d1c0663e85f7871fcf3d95245958fe47e725 SIZE (rocky/q/qt5-qtdeclarative-5.15.9-3.el9.aarch64.rpm) = 4402969 +SHA256 (rocky/q/qt5-qtdeclarative-5.15.9-3.el9.i686.rpm) = e47bed9573df464918ae9c7f76ff4940c627102f5d05d4855d8afdfaed4795a0 +SIZE (rocky/q/qt5-qtdeclarative-5.15.9-3.el9.i686.rpm) = 4905798 SHA256 (rocky/q/qt5-qtdeclarative-5.15.9-3.el9.x86_64.rpm) = 6adbdb856aba077fc2008fde26e0f7f278eed0f3e3e2492d0f2f074bab9e2ff8 SIZE (rocky/q/qt5-qtdeclarative-5.15.9-3.el9.x86_64.rpm) = 4418962 SHA256 (rocky/q/qt5-qtdeclarative-5.15.9-3.el9.src.rpm) = e29b6d33f3f86c5e458867614226c64c86de4ed72e39788a6810abd9d6586ee7 diff --git a/devel/linux-rl9-qt5-qtdeclarative/pkg-plist.amd64 b/devel/linux-rl9-qt5-qtdeclarative/pkg-plist.amd64 index 35af2f01597d..3eff0675155e 100644 --- a/devel/linux-rl9-qt5-qtdeclarative/pkg-plist.amd64 +++ b/devel/linux-rl9-qt5-qtdeclarative/pkg-plist.amd64 @@ -1,39 +1,167 @@ +usr/lib/.build-id/05/3fe5570d6a1b71a85625f5f2d4cb3b32ead70f +usr/lib/.build-id/06/da8dd28c546b9fbb4b643ee1715bd7b4787536 +usr/lib/.build-id/0b/c8bf150cb4d6ec59affcb1248aa211bd9fa873 +usr/lib/.build-id/0c/b44e485eaa8de3fb816f6ebf39ad99ca6c91de usr/lib/.build-id/0d/120ba61900aabc2a1eb7dff6cbc551eed9db2f +usr/lib/.build-id/15/2eaff5f29f76edd7c46727b406d26fa8ceda7a +usr/lib/.build-id/1a/0fe02185d6145a184a3556c3624cc5ec735b04 +usr/lib/.build-id/1e/beba439e9b11197e97d9ffe616cea17cb87bc4 usr/lib/.build-id/21/63c5beed1e62bb5a67a91e3b666f4018157f72 usr/lib/.build-id/24/e12a5fc45484691d7841ebf24b6e21d625bc08 +usr/lib/.build-id/26/87b786063e1becff49546146b26d9880176f26 usr/lib/.build-id/28/9db30e398ea8ba9072e5750dec170d5563badb +usr/lib/.build-id/29/8f35207b8b30c518b61da38350f65f7d144e9d usr/lib/.build-id/2c/2412224b77848b0ba883ff3f65d79529297feb usr/lib/.build-id/2e/5477740fed7777c622f3045f43d0c45dac383b usr/lib/.build-id/30/feca519290a860aa823c6957f9e40d5a3a7c4d usr/lib/.build-id/33/47da126eae8a0e13fda8f28fbd2001409d18c2 +usr/lib/.build-id/38/774d052d63b86c91ee20374d834bf98ea7c4e4 usr/lib/.build-id/38/ef10a650784ed99b4d0b2907c5363452eaaa0d +usr/lib/.build-id/3a/34f67e41570230a00f97224f63b02b7ec84538 usr/lib/.build-id/3b/6ad1b1406fb03ea0115994a7a462673121890c usr/lib/.build-id/3f/835ef056a1934b377b22a307cc1bb71edb7cb0 usr/lib/.build-id/4a/56cc148b64e0e902448a9a482b68f0d9f94a6e +usr/lib/.build-id/4b/bb4005f6cea9f25878dafa357b8dc3b66bfb76 usr/lib/.build-id/4c/4d9c7cf0e161ff92ea4cb7e006aa580b8cd050 usr/lib/.build-id/4f/0375bb374b1f4ac86094d06622c038fbd21bb6 usr/lib/.build-id/50/71878cae4c91afda1b5a338f567da8b052c990 usr/lib/.build-id/5b/a4aeb8aad554a67375b910df75cfb47e4f3020 +usr/lib/.build-id/5c/02b0b4309e59f88a7be6317381e56ac976d2eb +usr/lib/.build-id/5d/7588e2f50859dc3d616d31ecc4ccd7a0140858 +usr/lib/.build-id/60/5831588f2ba0b158b9cef9d03e1e89c58166e5 usr/lib/.build-id/60/7021b0df8a7a275328d9356efbf5ac9a7780a6 +usr/lib/.build-id/66/e847211c843afb84c30b8aa36331e88723a294 +usr/lib/.build-id/68/855015c61e28ace4fb30fba84927d7599a38d6 usr/lib/.build-id/69/e059668f531dc9493c585af2ca1d51d6c2e5bb usr/lib/.build-id/6c/bd7081dd64322f88c6458ec83d81485f3f37e8 +usr/lib/.build-id/72/cb5ef72a0d5bd8d6633d55f6dd793b26b5830f +usr/lib/.build-id/83/20a5daa1c8f709ee1c0a98e4ee0f90cb205f4c usr/lib/.build-id/85/2cd130608f777606c04eb65bdce4ef6067c38e +usr/lib/.build-id/85/63a51daba158313b2c6053de96027a29fc2bfa +usr/lib/.build-id/88/f6a80ea52e16221a99cab4feb7737918557e93 +usr/lib/.build-id/8a/54330377a29d20468cd25f9b137ec9d9deb929 usr/lib/.build-id/8a/d635c4f2c81d5ea89c11bd41859db1c4ba4e37 +usr/lib/.build-id/8e/a04dab5f08c465702c43afcb3267c1c58b75c5 +usr/lib/.build-id/92/d513d0b606fe1be6824790c78c7fdb781c02ef usr/lib/.build-id/95/d2b133b917f9444d9a23389f522341e485563a +usr/lib/.build-id/97/7111e1ea7d71d0202359f9a192e447930c71dd usr/lib/.build-id/9e/b790f21dae5ca5f2e9d25b944fe2b1a001f4dc usr/lib/.build-id/a3/c6f4e8d99102b2eb52107df4731a2fc192aff2 usr/lib/.build-id/a4/c676b4768161151351639a22d69939edb91cfe +usr/lib/.build-id/a7/dba9d59689fc473d3b2a660449136ab5ee78f2 +usr/lib/.build-id/ae/32f8ce99d5f963384d5a57cd6f01c8c0f098a4 +usr/lib/.build-id/b3/2dd907116a04363a76c2efd14ef01e95aefdbf +usr/lib/.build-id/b7/1b334d167bb1defd2aaf82a6a851833fcbc8dc +usr/lib/.build-id/b7/895a842522afb46f11be1a5e38bdba3708543f usr/lib/.build-id/ba/bed055c6411f7a84c35dfd446157096741fb1b +usr/lib/.build-id/bc/05f5c9f4a523f48e4d62b69f2ce042f347c7c6 usr/lib/.build-id/bd/732b74266c0d89a6f95326b41cc3faf1f12806 usr/lib/.build-id/c1/ab068f517de0f5349cfbed2a5fb2619dee74ae usr/lib/.build-id/c1/c1189e52e66eeb4327b318afd2852a47c3a32a usr/lib/.build-id/c9/4b8a62b1a8166ce65b03d07b6d072f3b889e89 usr/lib/.build-id/ce/d4a4a11c96b07f967b5aa515a3701589727c94 +usr/lib/.build-id/d2/4ca48b70664b4189c20eab2f965c96e3678495 +usr/lib/.build-id/e2/1335a54cc2ac78358501378f441252aed1c058 usr/lib/.build-id/f0/908b3910b886d7b63e63f0b0d0fc9771d09ae7 +usr/lib/.build-id/f3/7a1d8b5ce582152557c0919ee2c740b610c173 usr/lib/.build-id/f6/39c550b09314a7ea70c5a7ef99e2ca733b36f1 usr/lib/.build-id/f9/051347eb046453793f01b07c7a9c2cc32876cd +usr/lib/.build-id/fb/32bf16c4e7aa1700e28ea63588e04b082370b9 usr/lib/.build-id/fd/08347985012d6291a78b8d1e6d47382c904791 usr/lib/.build-id/fd/808ec273bfc82fd0782968ee897f1f0fa0f2ee +usr/lib/.build-id/fe/a0a81cd8f3273ae36f33fcbc74e3e67db79dde +usr/lib/libQt5Qml.so.5 +usr/lib/libQt5Qml.so.5.15 +usr/lib/libQt5Qml.so.5.15.9 +usr/lib/libQt5QmlModels.so.5 +usr/lib/libQt5QmlModels.so.5.15 +usr/lib/libQt5QmlModels.so.5.15.9 +usr/lib/libQt5QmlWorkerScript.so.5 +usr/lib/libQt5QmlWorkerScript.so.5.15 +usr/lib/libQt5QmlWorkerScript.so.5.15.9 +usr/lib/libQt5Quick.so.5 +usr/lib/libQt5Quick.so.5.15 +usr/lib/libQt5Quick.so.5.15.9 +usr/lib/libQt5QuickParticles.so.5 +usr/lib/libQt5QuickParticles.so.5.15 +usr/lib/libQt5QuickParticles.so.5.15.9 +usr/lib/libQt5QuickShapes.so.5 +usr/lib/libQt5QuickShapes.so.5.15 +usr/lib/libQt5QuickShapes.so.5.15.9 +usr/lib/libQt5QuickTest.so.5 +usr/lib/libQt5QuickTest.so.5.15 +usr/lib/libQt5QuickTest.so.5.15.9 +usr/lib/libQt5QuickWidgets.so.5 +usr/lib/libQt5QuickWidgets.so.5.15 +usr/lib/libQt5QuickWidgets.so.5.15.9 +usr/lib/qt5/plugins/qmltooling/libqmldbg_debugger.so +usr/lib/qt5/plugins/qmltooling/libqmldbg_inspector.so +usr/lib/qt5/plugins/qmltooling/libqmldbg_local.so +usr/lib/qt5/plugins/qmltooling/libqmldbg_messages.so +usr/lib/qt5/plugins/qmltooling/libqmldbg_native.so +usr/lib/qt5/plugins/qmltooling/libqmldbg_nativedebugger.so +usr/lib/qt5/plugins/qmltooling/libqmldbg_preview.so +usr/lib/qt5/plugins/qmltooling/libqmldbg_profiler.so +usr/lib/qt5/plugins/qmltooling/libqmldbg_quickprofiler.so +usr/lib/qt5/plugins/qmltooling/libqmldbg_server.so +usr/lib/qt5/plugins/qmltooling/libqmldbg_tcp.so +usr/lib/qt5/qml/Qt/labs/animation/liblabsanimationplugin.so +usr/lib/qt5/qml/Qt/labs/animation/plugins.qmltypes +usr/lib/qt5/qml/Qt/labs/animation/qmldir +usr/lib/qt5/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so +usr/lib/qt5/qml/Qt/labs/folderlistmodel/plugins.qmltypes +usr/lib/qt5/qml/Qt/labs/folderlistmodel/qmldir +usr/lib/qt5/qml/Qt/labs/qmlmodels/liblabsmodelsplugin.so +usr/lib/qt5/qml/Qt/labs/qmlmodels/plugins.qmltypes +usr/lib/qt5/qml/Qt/labs/qmlmodels/qmldir +usr/lib/qt5/qml/Qt/labs/settings/libqmlsettingsplugin.so +usr/lib/qt5/qml/Qt/labs/settings/plugins.qmltypes +usr/lib/qt5/qml/Qt/labs/settings/qmldir +usr/lib/qt5/qml/Qt/labs/sharedimage/libsharedimageplugin.so +usr/lib/qt5/qml/Qt/labs/sharedimage/plugins.qmltypes +usr/lib/qt5/qml/Qt/labs/sharedimage/qmldir +usr/lib/qt5/qml/Qt/labs/wavefrontmesh/libqmlwavefrontmeshplugin.so +usr/lib/qt5/qml/Qt/labs/wavefrontmesh/plugins.qmltypes +usr/lib/qt5/qml/Qt/labs/wavefrontmesh/qmldir +usr/lib/qt5/qml/Qt/test/qtestroot/plugins.qmltypes +usr/lib/qt5/qml/Qt/test/qtestroot/qmldir +usr/lib/qt5/qml/QtQml/Models.2/libmodelsplugin.so +usr/lib/qt5/qml/QtQml/Models.2/plugins.qmltypes +usr/lib/qt5/qml/QtQml/Models.2/qmldir +usr/lib/qt5/qml/QtQml/StateMachine/libqtqmlstatemachine.so +usr/lib/qt5/qml/QtQml/StateMachine/plugins.qmltypes +usr/lib/qt5/qml/QtQml/StateMachine/qmldir +usr/lib/qt5/qml/QtQml/WorkerScript.2/libworkerscriptplugin.so +usr/lib/qt5/qml/QtQml/WorkerScript.2/plugins.qmltypes +usr/lib/qt5/qml/QtQml/WorkerScript.2/qmldir +usr/lib/qt5/qml/QtQml/libqmlplugin.so +usr/lib/qt5/qml/QtQml/plugins.qmltypes +usr/lib/qt5/qml/QtQml/qmldir +usr/lib/qt5/qml/QtQuick.2/libqtquick2plugin.so +usr/lib/qt5/qml/QtQuick.2/plugins.qmltypes +usr/lib/qt5/qml/QtQuick.2/qmldir +usr/lib/qt5/qml/QtQuick/Layouts/libqquicklayoutsplugin.so +usr/lib/qt5/qml/QtQuick/Layouts/plugins.qmltypes +usr/lib/qt5/qml/QtQuick/Layouts/qmldir +usr/lib/qt5/qml/QtQuick/LocalStorage/libqmllocalstorageplugin.so +usr/lib/qt5/qml/QtQuick/LocalStorage/plugins.qmltypes +usr/lib/qt5/qml/QtQuick/LocalStorage/qmldir +usr/lib/qt5/qml/QtQuick/Particles.2/libparticlesplugin.so +usr/lib/qt5/qml/QtQuick/Particles.2/plugins.qmltypes +usr/lib/qt5/qml/QtQuick/Particles.2/qmldir +usr/lib/qt5/qml/QtQuick/Shapes/libqmlshapesplugin.so +usr/lib/qt5/qml/QtQuick/Shapes/plugins.qmltypes +usr/lib/qt5/qml/QtQuick/Shapes/qmldir +usr/lib/qt5/qml/QtQuick/Window.2/libwindowplugin.so +usr/lib/qt5/qml/QtQuick/Window.2/plugins.qmltypes +usr/lib/qt5/qml/QtQuick/Window.2/qmldir +usr/lib/qt5/qml/QtTest/SignalSpy.qml +usr/lib/qt5/qml/QtTest/TestCase.qml +usr/lib/qt5/qml/QtTest/libqmltestplugin.so +usr/lib/qt5/qml/QtTest/plugins.qmltypes +usr/lib/qt5/qml/QtTest/qmldir +usr/lib/qt5/qml/QtTest/testlogger.js +usr/lib/qt5/qml/builtins.qmltypes usr/lib64/libQt5Qml.so.5 usr/lib64/libQt5Qml.so.5.15 usr/lib64/libQt5Qml.so.5.15.9 diff --git a/devel/linux-rl9-qt5-qtscript/Makefile b/devel/linux-rl9-qt5-qtscript/Makefile index 3fe4ff8ffc5d..fc9937386325 100644 --- a/devel/linux-rl9-qt5-qtscript/Makefile +++ b/devel/linux-rl9-qt5-qtscript/Makefile @@ -1,6 +1,7 @@ PORTNAME= qt5 PORTVERSION= 5.15.9 DISTVERSIONSUFFIX= -1.el9 +PORTREVISION= 1 CATEGORIES= devel linux PKGNAMESUFFIX= -qtscript @@ -14,6 +15,7 @@ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX= cups-libs dbuslibs dri jpeg libxml2 png qtbase tiff xorglibs webp USE_LINUX_RPM= yes +WANT_LINUX32= yes LIB_DISTNAMES= ${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSIONFULL} SRC_DISTFILES= ${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSIONFULL}${SRC_SUFX}:SOURCE diff --git a/devel/linux-rl9-qt5-qtscript/distinfo b/devel/linux-rl9-qt5-qtscript/distinfo index 664c7707a407..7802a0b4a8c4 100644 --- a/devel/linux-rl9-qt5-qtscript/distinfo +++ b/devel/linux-rl9-qt5-qtscript/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1730965391 +TIMESTAMP = 1731450385 SHA256 (rocky/q/qt5-qtscript-5.15.9-1.el9.aarch64.rpm) = 92fb8c2dc45ea6530252f6e20df3911f6c026d431d2a1c72f4607811dea3aac5 SIZE (rocky/q/qt5-qtscript-5.15.9-1.el9.aarch64.rpm) = 918272 +SHA256 (rocky/q/qt5-qtscript-5.15.9-1.el9.i686.rpm) = 7de312951063664f22898076e8f3c8f5ece53ad98dd695083c507394a68ad6e4 +SIZE (rocky/q/qt5-qtscript-5.15.9-1.el9.i686.rpm) = 1188082 SHA256 (rocky/q/qt5-qtscript-5.15.9-1.el9.x86_64.rpm) = 919d4d84e80c96696ff55184b14191199e403fd3775d5705676ae4c28cbb11e6 SIZE (rocky/q/qt5-qtscript-5.15.9-1.el9.x86_64.rpm) = 1053351 SHA256 (rocky/q/qt5-qtscript-5.15.9-1.el9.src.rpm) = 00a5a8d04e3cc98ddfe9a343e91a38ae485b5442b5650d8f8a0fa26150857043 diff --git a/devel/linux-rl9-qt5-qtscript/pkg-plist.amd64 b/devel/linux-rl9-qt5-qtscript/pkg-plist.amd64 index 6a140769414a..b40bd5426fab 100644 --- a/devel/linux-rl9-qt5-qtscript/pkg-plist.amd64 +++ b/devel/linux-rl9-qt5-qtscript/pkg-plist.amd64 @@ -1,5 +1,13 @@ usr/lib/.build-id/5f/62a0257050dba6a14d99c3e12484a3d3833ff9 +usr/lib/.build-id/71/35490e30fee5fedd24981eb917a963228a301e usr/lib/.build-id/85/173a40add29d561a6dee19c7af73df32bc2981 +usr/lib/.build-id/ae/394e6605ec3d1fa52142662da4966569356271 +usr/lib/libQt5Script.so.5 +usr/lib/libQt5Script.so.5.15 +usr/lib/libQt5Script.so.5.15.9 +usr/lib/libQt5ScriptTools.so.5 +usr/lib/libQt5ScriptTools.so.5.15 +usr/lib/libQt5ScriptTools.so.5.15.9 usr/lib64/libQt5Script.so.5 usr/lib64/libQt5Script.so.5.15 usr/lib64/libQt5Script.so.5.15.9 diff --git a/devel/linux-rl9-qt5-qttools/Makefile b/devel/linux-rl9-qt5-qttools/Makefile index 67c48064a933..af9b9278c398 100644 --- a/devel/linux-rl9-qt5-qttools/Makefile +++ b/devel/linux-rl9-qt5-qttools/Makefile @@ -1,6 +1,7 @@ PORTNAME= qt5 PORTVERSION= 5.15.9 DISTVERSIONSUFFIX= -4.el9 +PORTREVISION= 1 CATEGORIES= devel linux PKGNAMESUFFIX= -qttools @@ -14,6 +15,7 @@ USES= linux:rl9 USE_LDCONFIG= yes USE_LINUX= cups-libs dbuslibs dri jpeg libxml2 png qtbase tiff xorglibs webp USE_LINUX_RPM= yes +WANT_LINUX32= yes BIN_DISTNAMES= ${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSIONFULL} LIB_DISTNAMES= ${PORTNAME}${PKGNAMESUFFIX}-libs-designer-${DISTVERSIONFULL} \ diff --git a/devel/linux-rl9-qt5-qttools/distinfo b/devel/linux-rl9-qt5-qttools/distinfo index 6a109b04479b..d1de365d6615 100644 --- a/devel/linux-rl9-qt5-qttools/distinfo +++ b/devel/linux-rl9-qt5-qttools/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1730880793 +TIMESTAMP = 1731450475 SHA256 (rocky/q/qt5-qttools-5.15.9-4.el9.aarch64.rpm) = de5d03dd376e7b3140480ec7533e52d4e62366c09b36a6ac0b70cea8ba7fc6f3 SIZE (rocky/q/qt5-qttools-5.15.9-4.el9.aarch64.rpm) = 40155 SHA256 (rocky/q/qt5-qttools-5.15.9-4.el9.x86_64.rpm) = 5729efb66548af4d1e6bb8ab14dbb3529bdacb67cf14c2b6152ff579ed509a0e @@ -7,14 +7,20 @@ SHA256 (rocky/q/qt5-qttools-common-5.15.9-4.el9.noarch.rpm) = 8ac7a1fe2094d82e4d SIZE (rocky/q/qt5-qttools-common-5.15.9-4.el9.noarch.rpm) = 10589 SHA256 (rocky/q/qt5-qttools-libs-designer-5.15.9-4.el9.aarch64.rpm) = b3403ca3256ef883f71a5c60981f4d2cecd452efe90a68ecc9042aa7b266810e SIZE (rocky/q/qt5-qttools-libs-designer-5.15.9-4.el9.aarch64.rpm) = 2829512 +SHA256 (rocky/q/qt5-qttools-libs-designer-5.15.9-4.el9.i686.rpm) = dc74385bc96c25950f47f3322e51600c86474ef8f2fa6458e27c12d28ce73232 +SIZE (rocky/q/qt5-qttools-libs-designer-5.15.9-4.el9.i686.rpm) = 2948938 SHA256 (rocky/q/qt5-qttools-libs-designer-5.15.9-4.el9.x86_64.rpm) = f874420a0c3bdef15cbec568315600eedd4e19b03008dff302acbb78110cd0fd SIZE (rocky/q/qt5-qttools-libs-designer-5.15.9-4.el9.x86_64.rpm) = 2829667 SHA256 (rocky/q/qt5-qttools-libs-designercomponents-5.15.9-4.el9.aarch64.rpm) = e6f1a5ff001ce02907b6f5f0ba88c1479b73ac7d62b5420ca37a3aff7426b9f6 SIZE (rocky/q/qt5-qttools-libs-designercomponents-5.15.9-4.el9.aarch64.rpm) = 805922 +SHA256 (rocky/q/qt5-qttools-libs-designercomponents-5.15.9-4.el9.i686.rpm) = a48e203216813159c5e81c80b4917a4704681ad078e68ccc4defdb52172f0156 +SIZE (rocky/q/qt5-qttools-libs-designercomponents-5.15.9-4.el9.i686.rpm) = 880857 SHA256 (rocky/q/qt5-qttools-libs-designercomponents-5.15.9-4.el9.x86_64.rpm) = 2551004ea778b9c6f00e14a0f4f3843d46a6dd65a2c30e0ef7173153cccfe160 SIZE (rocky/q/qt5-qttools-libs-designercomponents-5.15.9-4.el9.x86_64.rpm) = 802308 SHA256 (rocky/q/qt5-qttools-libs-help-5.15.9-4.el9.aarch64.rpm) = 76d089f7d58e59e06a4f37de22681c08ae2d6a5cc9db89ea81d4aceb88bde236 SIZE (rocky/q/qt5-qttools-libs-help-5.15.9-4.el9.aarch64.rpm) = 159239 +SHA256 (rocky/q/qt5-qttools-libs-help-5.15.9-4.el9.i686.rpm) = bb120188dd9d5b06d52cccd0a60266dcd591cbec6484f2ce759c3f3fd588b0b5 +SIZE (rocky/q/qt5-qttools-libs-help-5.15.9-4.el9.i686.rpm) = 178872 SHA256 (rocky/q/qt5-qttools-libs-help-5.15.9-4.el9.x86_64.rpm) = 1b41d0632874d0814eb8620a37ac2d56d788a9584582bc3a3ffdbec836d4b2df SIZE (rocky/q/qt5-qttools-libs-help-5.15.9-4.el9.x86_64.rpm) = 158600 SHA256 (rocky/q/qt5-qttools-5.15.9-4.el9.src.rpm) = 343ac98333b7b4aad350bcefbac00b828684b8e6b565d8b9b205fe3846c04efd diff --git a/devel/linux-rl9-qt5-qttools/pkg-plist.amd64 b/devel/linux-rl9-qt5-qttools/pkg-plist.amd64 index 14dd1d149f96..b115a266286d 100644 --- a/devel/linux-rl9-qt5-qttools/pkg-plist.amd64 +++ b/devel/linux-rl9-qt5-qttools/pkg-plist.amd64 @@ -1,12 +1,24 @@ usr/bin/qdbus-qt5 usr/bin/qtpaths +usr/lib/.build-id/4b/8fcd752f332ae4c2e46b9b54d44106f0678da7 usr/lib/.build-id/55/b92dc9de089306dff23708b330861a8873d2f3 usr/lib/.build-id/67/e73c7cc782478fc90ef75c46b802871a2b724f usr/lib/.build-id/67/e73c7cc782478fc90ef75c46b802871a2b724f.1 usr/lib/.build-id/6e/bb50efdb6545d12ba3fe795584caa8b80e3135 +usr/lib/.build-id/87/4ac0ad09414f55022d1d40dc570d87b6ed21ab usr/lib/.build-id/9c/c962cf9e92f3d8eabb4da19f579ccb594d043e usr/lib/.build-id/a7/5e31cf131a5d38fea7079c6d94cd5502ed26cf usr/lib/.build-id/a7/5e31cf131a5d38fea7079c6d94cd5502ed26cf.1 +usr/lib/.build-id/e4/e568a6c43bd42645322c1398c9b1acb25fffa8 +usr/lib/libQt5Designer.so.5 +usr/lib/libQt5Designer.so.5.15 +usr/lib/libQt5Designer.so.5.15.9 +usr/lib/libQt5DesignerComponents.so.5 +usr/lib/libQt5DesignerComponents.so.5.15 +usr/lib/libQt5DesignerComponents.so.5.15.9 +usr/lib/libQt5Help.so.5 +usr/lib/libQt5Help.so.5.15 +usr/lib/libQt5Help.so.5.15.9 usr/lib64/libQt5Designer.so.5 usr/lib64/libQt5Designer.so.5.15 usr/lib64/libQt5Designer.so.5.15.9 @@ -20,4 +32,5 @@ usr/lib64/qt5/bin/qdbus usr/lib64/qt5/bin/qdbus-qt5 usr/lib64/qt5/bin/qtpaths usr/share/licenses/qt5-qttools-common/LICENSE.LGPL3 +@dir usr/lib/cmake/Qt5Designer @dir usr/lib64/cmake/Qt5Designer diff --git a/devel/linux-rl9-qt5/Makefile b/devel/linux-rl9-qt5/Makefile index 9b5f2da44731..f77617a72694 100644 --- a/devel/linux-rl9-qt5/Makefile +++ b/devel/linux-rl9-qt5/Makefile @@ -1,6 +1,7 @@ PORTNAME= qt5 PORTVERSION= 5.15.9 CATEGORIES= devel linux +PKGNAMEPREFIX= linux-${linux_ARGS}- MAINTAINER= emulation@FreeBSD.org COMMENT= Cross-platform application and UI framework, metaport (Rocky Linux ${LINUX_DIST_VER}) @@ -10,8 +11,8 @@ LICENSE= BSD2CLAUSE USES= linux:rl9 metaport USE_LINUX= qt3d qtbase qtconnectivity qtdeclarative qtgraphicaleffects \ - qtimageformats qtquickcontrols qtscript qtsensors \ - qtserialbus qtserialport qtsvg qttools qtwayland \ + qtimageformats qtmultimedia qtquickcontrols qtscript qtsensors \ + qtserialbus qtserialport qtsvg qttools qtwayland \ qtwebchannel qtwebsockets qtx11extras qtxmlpatterns DESCR= ${PORTSDIR}/devel/${PORTNAME}/pkg-descr diff --git a/devel/linux-rl9-systemd-libs/Makefile b/devel/linux-rl9-systemd-libs/Makefile index 3c4a3e5f8f07..756c81a57526 100644 --- a/devel/linux-rl9-systemd-libs/Makefile +++ b/devel/linux-rl9-systemd-libs/Makefile @@ -1,7 +1,7 @@ PORTNAME= systemd PORTVERSION= 252 DISTVERSIONSUFFIX= -32.el9_4.7 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= devel linux PKGNAMESUFFIX= -libs @@ -16,6 +16,7 @@ CPE_VENDOR= systemd_project USE_LDCONFIG= yes USE_LINUX= elfutils-libs libgcrypt libgpg-error lz4 nss USE_LINUX_RPM= yes +WANT_LINUX32= yes LIB_DISTNAMES= ${PORTNAME}${PKGNAMESUFFIX}-${DISTVERSIONFULL} diff --git a/devel/linux-rl9-systemd-libs/distinfo b/devel/linux-rl9-systemd-libs/distinfo index d6f9f9aa9b84..169e3b103f34 100644 --- a/devel/linux-rl9-systemd-libs/distinfo +++ b/devel/linux-rl9-systemd-libs/distinfo @@ -1,6 +1,8 @@ -TIMESTAMP = 1727471531 +TIMESTAMP = 1731420954 SHA256 (rocky/s/systemd-libs-252-32.el9_4.7.aarch64.rpm) = 4b631b98980b38558b99a5431aca9a0c4b1135db0f6f973b1f5e27b39038f0fd SIZE (rocky/s/systemd-libs-252-32.el9_4.7.aarch64.rpm) = 638346 +SHA256 (rocky/s/systemd-libs-252-32.el9_4.7.i686.rpm) = 9c6d1c63084dd3a8cfa9b28de2ca8b350ea6bada00d549e5dfece14837d77c9d +SIZE (rocky/s/systemd-libs-252-32.el9_4.7.i686.rpm) = 702963 SHA256 (rocky/s/systemd-libs-252-32.el9_4.7.x86_64.rpm) = 55399541df553a5ce2eb5294ab2a7122cba6003b39fc5a99a25ebef3dfab5532 SIZE (rocky/s/systemd-libs-252-32.el9_4.7.x86_64.rpm) = 672117 SHA256 (rocky/s/systemd-252-32.el9_4.7.src.rpm) = 307694cf5f1b1af3158587dae418b8650575844400040eea746e7716f01aca72 diff --git a/devel/linux-rl9-systemd-libs/pkg-plist.amd64 b/devel/linux-rl9-systemd-libs/pkg-plist.amd64 index e68a8dbaf4c2..e9358e3558e7 100644 --- a/devel/linux-rl9-systemd-libs/pkg-plist.amd64 +++ b/devel/linux-rl9-systemd-libs/pkg-plist.amd64 @@ -1,8 +1,20 @@ -usr/lib/.build-id/85/ad73fd1a4e1106f7a3fafeddce0e4107307c5d -usr/lib/.build-id/0e/bba20b3303dd4b86a2f18dd6398ded2eca3277 usr/lib/.build-id/06/f4db9c4bed5ed569862829c82fc05432a27069 -usr/lib/.build-id/b1/c8be382998d3072f9a680f959845f4a018b217 +usr/lib/.build-id/0e/bba20b3303dd4b86a2f18dd6398ded2eca3277 +usr/lib/.build-id/12/7c37b75a03239b2d8a4cd87072795b538d03ec +usr/lib/.build-id/1b/3404bb3d3c5448665b5209e2f360370d4959a3 usr/lib/.build-id/6d/1e90f2b7a6da3f577475e2847566c541910a6b +usr/lib/.build-id/84/bf48bf6168c94cc666739dd1a404fc91a26098 +usr/lib/.build-id/85/ad73fd1a4e1106f7a3fafeddce0e4107307c5d +usr/lib/.build-id/8d/c417d4d5c260673500d3abf1e793129653837b +usr/lib/.build-id/b1/c8be382998d3072f9a680f959845f4a018b217 +usr/lib/.build-id/e5/899b339953645e209bc59eb8f653def74d413d +usr/lib/libnss_myhostname.so.2 +usr/lib/libnss_resolve.so.2 +usr/lib/libnss_systemd.so.2 +usr/lib/libsystemd.so.0 +usr/lib/libsystemd.so.0.35.0 +usr/lib/libudev.so.1 +usr/lib/libudev.so.1.7.5 usr/lib64/libnss_myhostname.so.2 usr/lib64/libnss_resolve.so.2 usr/lib64/libnss_systemd.so.2 diff --git a/devel/llvm-devel/Makefile b/devel/llvm-devel/Makefile index 56b6197e47d6..934da79b35c0 100644 --- a/devel/llvm-devel/Makefile +++ b/devel/llvm-devel/Makefile @@ -162,7 +162,7 @@ LLDB_BUILD_DEPENDS= \ LLDB_DESC= Install lldb, the LLVM debugger LLDB_IMPLIES= CLANG LLDB_PLIST_SUB= PYTHON_ABIVER=${PYTHON_ABIVER} -LLDB_USES= lua:53 libedit +LLDB_USES= lua:54 libedit LLDB_USE= GNOME=libxml2 LLDB_VARS= _USES_PYTHON=python MLIR_DESC= Multi-Level Intermediate Representation diff --git a/devel/llvm-devel/Makefile.snapshot b/devel/llvm-devel/Makefile.snapshot index 8db11d4708ef..d27e069b5b1c 100644 --- a/devel/llvm-devel/Makefile.snapshot +++ b/devel/llvm-devel/Makefile.snapshot @@ -4,6 +4,6 @@ # LLVM_MAJOR= 20 LLVM_RELEASE= ${LLVM_MAJOR}.0.0 -SNAPDATE= 20241105 +SNAPDATE= 20241114 -LLVM_PROJECT_COMMIT= 6d7e51de5ec46c1fcc7a7e80135f561a88a1296b +LLVM_PROJECT_COMMIT= c9719ad5cd7e0fa65b52333f28aa62c05052d989 diff --git a/devel/llvm-devel/distinfo b/devel/llvm-devel/distinfo index 89ece63f31d4..3a11002567b2 100644 --- a/devel/llvm-devel/distinfo +++ b/devel/llvm-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1730844194 -SHA256 (llvm-llvm-project-20.0.d20241105-6d7e51de5ec46c1fcc7a7e80135f561a88a1296b_GH0.tar.gz) = 3739ce6bd1c6d0c9717c0b4ae5c3a274d5f5dfb3eff7aff7dea8d67250a1029c -SIZE (llvm-llvm-project-20.0.d20241105-6d7e51de5ec46c1fcc7a7e80135f561a88a1296b_GH0.tar.gz) = 222302824 +TIMESTAMP = 1731607044 +SHA256 (llvm-llvm-project-20.0.d20241114-c9719ad5cd7e0fa65b52333f28aa62c05052d989_GH0.tar.gz) = 4f09a2ea9bb5016a894c1d84f691047e3eae13aac6d0c37ae14b8e7635071462 +SIZE (llvm-llvm-project-20.0.d20241114-c9719ad5cd7e0fa65b52333f28aa62c05052d989_GH0.tar.gz) = 222717195 diff --git a/devel/llvm-devel/files/patch-lld_ELF_Driver.cpp b/devel/llvm-devel/files/patch-lld_ELF_Driver.cpp new file mode 100644 index 000000000000..73d52b4d7ccd --- /dev/null +++ b/devel/llvm-devel/files/patch-lld_ELF_Driver.cpp @@ -0,0 +1,13 @@ +--- lld/ELF/Driver.cpp.orig ++++ lld/ELF/Driver.cpp +@@ -1723,6 +1723,10 @@ + << arg->getValue() << "'"; + parallel::strategy = hardware_concurrency(threads); + ctx.arg.thinLTOJobs = v; ++ } else if (sizeof(size_t) < 8) { ++ // On 32-bit systems, cap the number of threads at 1. ++ Log(ctx) << "set maximum concurrency to 1, specify --threads= to change"; ++ parallel::strategy = hardware_concurrency(1); + } else if (parallel::strategy.compute_thread_count() > 16) { + Log(ctx) << "set maximum concurrency to 16, specify --threads= to change"; + parallel::strategy = hardware_concurrency(16); diff --git a/devel/llvm-devel/pkg-plist b/devel/llvm-devel/pkg-plist index 25a7c393ed03..c0b01fd6d4dc 100644 --- a/devel/llvm-devel/pkg-plist +++ b/devel/llvm-devel/pkg-plist @@ -2675,6 +2675,7 @@ llvm-devel/include/llvm/Analysis/InstructionPrecedenceTracking.h llvm-devel/include/llvm/Analysis/InstructionSimplify.h llvm-devel/include/llvm/Analysis/InteractiveModelRunner.h llvm-devel/include/llvm/Analysis/IteratedDominanceFrontier.h +llvm-devel/include/llvm/Analysis/LastRunTrackingAnalysis.h llvm-devel/include/llvm/Analysis/LazyBlockFrequencyInfo.h llvm-devel/include/llvm/Analysis/LazyBranchProbabilityInfo.h llvm-devel/include/llvm/Analysis/LazyCallGraph.h @@ -2903,6 +2904,7 @@ llvm-devel/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h llvm-devel/include/llvm/CodeGen/GlobalISel/RegBankSelect.h llvm-devel/include/llvm/CodeGen/GlobalISel/Utils.h llvm-devel/include/llvm/CodeGen/GlobalMerge.h +llvm-devel/include/llvm/CodeGen/GlobalMergeFunctions.h llvm-devel/include/llvm/CodeGen/HardwareLoops.h llvm-devel/include/llvm/CodeGen/ISDOpcodes.h llvm-devel/include/llvm/CodeGen/IndirectBrExpand.h @@ -3410,11 +3412,13 @@ llvm-devel/include/llvm/ExecutionEngine/JITSymbol.h llvm-devel/include/llvm/ExecutionEngine/MCJIT.h llvm-devel/include/llvm/ExecutionEngine/OProfileWrapper.h llvm-devel/include/llvm/ExecutionEngine/ObjectCache.h +llvm-devel/include/llvm/ExecutionEngine/Orc/AbsoluteSymbols.h llvm-devel/include/llvm/ExecutionEngine/Orc/COFFPlatform.h llvm-devel/include/llvm/ExecutionEngine/Orc/COFFVCRuntimeSupport.h llvm-devel/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h llvm-devel/include/llvm/ExecutionEngine/Orc/CompileUtils.h llvm-devel/include/llvm/ExecutionEngine/Orc/Core.h +llvm-devel/include/llvm/ExecutionEngine/Orc/CoreContainers.h llvm-devel/include/llvm/ExecutionEngine/Orc/DebugObjectManagerPlugin.h llvm-devel/include/llvm/ExecutionEngine/Orc/DebugUtils.h llvm-devel/include/llvm/ExecutionEngine/Orc/Debugging/DebugInfoSupport.h @@ -3450,6 +3454,7 @@ llvm-devel/include/llvm/ExecutionEngine/Orc/MachOBuilder.h llvm-devel/include/llvm/ExecutionEngine/Orc/MachOPlatform.h llvm-devel/include/llvm/ExecutionEngine/Orc/Mangling.h llvm-devel/include/llvm/ExecutionEngine/Orc/MapperJITLinkMemoryManager.h +llvm-devel/include/llvm/ExecutionEngine/Orc/MaterializationUnit.h llvm-devel/include/llvm/ExecutionEngine/Orc/MemoryMapper.h llvm-devel/include/llvm/ExecutionEngine/Orc/ObjectFileInterface.h llvm-devel/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h @@ -4415,7 +4420,6 @@ llvm-devel/include/llvm/Transforms/Scalar/Sink.h llvm-devel/include/llvm/Transforms/Scalar/SpeculativeExecution.h llvm-devel/include/llvm/Transforms/Scalar/StraightLineStrengthReduce.h llvm-devel/include/llvm/Transforms/Scalar/StructurizeCFG.h -llvm-devel/include/llvm/Transforms/Scalar/TLSVariableHoist.h llvm-devel/include/llvm/Transforms/Scalar/TailRecursionElimination.h llvm-devel/include/llvm/Transforms/Scalar/WarnMissedTransforms.h llvm-devel/include/llvm/Transforms/Utils.h @@ -6374,11 +6378,20 @@ llvm-devel/include/llvm/XRay/YAMLXRayRecord.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/adcintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/adxintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/altivec.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amdgpuintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/ammintrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxavx512intrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxbf16transposeintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxcomplexintrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxcomplextransposeintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxfp16intrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxfp16transposeintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxfp8intrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxintrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxmovrsintrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxmovrstransposeintrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxtf32intrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxtf32transposeintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/amxtransposeintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/arm64intr.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/arm_acle.h @@ -6467,6 +6480,7 @@ llvm-devel/include/llvm/XRay/YAMLXRayRecord.h %%COMPILER_RT%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/fuzzer/FuzzedDataProvider.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/fxsrintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/gfniintrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/gpuintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/hexagon_circ_brev_intrinsics.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/hexagon_protos.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/hexagon_types.h @@ -6504,9 +6518,11 @@ llvm-devel/include/llvm/XRay/YAMLXRayRecord.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/movdirintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/movrs_avx10_2_512intrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/movrs_avx10_2intrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/movrsintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/msa.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/mwaitxintrin.h %%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/nmmintrin.h +%%CLANG%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/nvptxintrin.h %%OPENMP%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/omp-tools.h %%OPENMP%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/omp.h %%OPENMP%%llvm-devel/lib/clang/%%LLVM_MAJOR%%/include/ompt-multiplex.h @@ -7395,7 +7411,7 @@ llvm-devel/lib/libRemarks.so.%%LLVM_MAJOR_MINOR%%git %%CLANG%%llvm-devel/lib/libscanbuild/resources/selectable.js %%CLANG%%llvm-devel/lib/libscanbuild/resources/sorttable.js %%CLANG%%llvm-devel/lib/libscanbuild/shell.py -%%LLDB%%llvm-devel/lib/lua/5.3/lldb.so +%%LLDB%%llvm-devel/lib/lua/5.4/lldb.so %%MLIR%%llvm-devel/lib/objects-Release/obj.MLIRCAPIAMDGPU/AMDGPU.cpp.o %%MLIR%%llvm-devel/lib/objects-Release/obj.MLIRCAPIArith/Arith.cpp.o %%MLIR%%llvm-devel/lib/objects-Release/obj.MLIRCAPIAsync/Async.cpp.o diff --git a/devel/marisa-trie/Makefile b/devel/marisa-trie/Makefile index 5c18034776bd..260bab44d51a 100644 --- a/devel/marisa-trie/Makefile +++ b/devel/marisa-trie/Makefile @@ -5,7 +5,7 @@ PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= devel -MAINTAINER= iblis@hs.ntnu.edu.tw +MAINTAINER= ports@FreeBSD.org COMMENT= MARISA: Matching Algorithm with Recursively Implemented StorAge WWW= https://github.com/s-yata/marisa-trie diff --git a/devel/npth/Makefile b/devel/npth/Makefile index 02bd9e23e567..cb1c4956abb5 100644 --- a/devel/npth/Makefile +++ b/devel/npth/Makefile @@ -1,5 +1,5 @@ PORTNAME= npth -PORTVERSION= 1.7 +PORTVERSION= 1.8 CATEGORIES= devel MASTER_SITES= GNUPG diff --git a/devel/npth/distinfo b/devel/npth/distinfo index e5b55a5b594d..569a3134c874 100644 --- a/devel/npth/distinfo +++ b/devel/npth/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1713855412 -SHA256 (npth-1.7.tar.bz2) = 8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05 -SIZE (npth-1.7.tar.bz2) = 313213 +TIMESTAMP = 1731552681 +SHA256 (npth-1.8.tar.bz2) = 8bd24b4f23a3065d6e5b26e98aba9ce783ea4fd781069c1b35d149694e90ca3e +SIZE (npth-1.8.tar.bz2) = 317739 diff --git a/devel/npth/pkg-plist b/devel/npth/pkg-plist index 8a10a339ae15..b79715e820c6 100644 --- a/devel/npth/pkg-plist +++ b/devel/npth/pkg-plist @@ -1,6 +1,6 @@ include/npth.h lib/libnpth.so lib/libnpth.so.0 -lib/libnpth.so.0.2.0 +lib/libnpth.so.0.3.0 libdata/pkgconfig/npth.pc share/aclocal/npth.m4 diff --git a/devel/ocaml-opam/Makefile b/devel/ocaml-opam/Makefile index e8b861e2b1d5..2d53465b00cf 100644 --- a/devel/ocaml-opam/Makefile +++ b/devel/ocaml-opam/Makefile @@ -1,5 +1,5 @@ PORTNAME= opam -DISTVERSION= 2.2.1 +DISTVERSION= 2.3.0 CATEGORIES= devel MASTER_SITES= https://github.com/ocaml/opam/releases/download/${DISTVERSION}/ PKGNAMEPREFIX= ocaml- diff --git a/devel/ocaml-opam/distinfo b/devel/ocaml-opam/distinfo index 607fab395275..f7e4667c310e 100644 --- a/devel/ocaml-opam/distinfo +++ b/devel/ocaml-opam/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1729018045 -SHA256 (opam-full-2.2.1.tar.gz) = 07ad3887f61e0bc61a0923faae16fcc141285ece5b248a9e2cd4f902523cc121 -SIZE (opam-full-2.2.1.tar.gz) = 12775920 +TIMESTAMP = 1731589800 +SHA256 (opam-full-2.3.0.tar.gz) = 506ba76865dc315b67df9aa89e7abd5c1a897a7f0a92d7b2694974fdc532b346 +SIZE (opam-full-2.3.0.tar.gz) = 12860518 diff --git a/devel/osc/Makefile b/devel/osc/Makefile index 7d76bb3ec961..602223322c11 100644 --- a/devel/osc/Makefile +++ b/devel/osc/Makefile @@ -1,5 +1,5 @@ PORTNAME= osc -PORTVERSION= 1.10.0 +PORTVERSION= 1.10.1 CATEGORIES= devel MAINTAINER= amdmi3@FreeBSD.org diff --git a/devel/osc/distinfo b/devel/osc/distinfo index c3dc4a68c174..27562e28bb2c 100644 --- a/devel/osc/distinfo +++ b/devel/osc/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1731078089 -SHA256 (openSUSE-osc-1.10.0_GH0.tar.gz) = aa0bdace3390d594d0332b4e747e2b7fba31343b3385f8d973ddae4ca9c39c5a -SIZE (openSUSE-osc-1.10.0_GH0.tar.gz) = 408957 +TIMESTAMP = 1731608540 +SHA256 (openSUSE-osc-1.10.1_GH0.tar.gz) = 20ee481f7ed9b3355cbdee5f590819b491e9c08992f3f7da0d96ca4495bc68db +SIZE (openSUSE-osc-1.10.1_GH0.tar.gz) = 409029 diff --git a/devel/py-b2/Makefile b/devel/py-b2/Makefile new file mode 100644 index 000000000000..3b24a0f771ac --- /dev/null +++ b/devel/py-b2/Makefile @@ -0,0 +1,41 @@ +PORTNAME= b2 +DISTVERSIONPREFIX= v +DISTVERSION= 4.2.0 +CATEGORIES= devel +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= leres@FreeBSD.org +COMMENT= Command Line Interface for Backblaze's B2 storage service +WWW= https://www.backblaze.com/b2/docs/quick_command_line.html + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pdm-backend>=0:devel/py-pdm-backend@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tabulate==0.9.0:devel/py-tabulate@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}argcomplete>=2:devel/py-argcomplete@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}arrow>=1.0.2:devel/py-arrow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}b2sdk>=2.5.0:devel/py-b2sdk@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}docutils>=0.18.1:textproc/py-docutils@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}idna>=3.4:dns/py-idna@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=3.4:devel/py-importlib-metadata@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}phx-class-registry>=4.0:devel/py-phx-class-registry@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}platformdirs>=3.11.0:devel/py-platformdirs@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}rst2ansi==0.1.5:textproc/py-rst2ansi@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tabulate==0.9.0:devel/py-tabulate@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tqdm>=4.65.0:misc/py-tqdm@${PY_FLAVOR} + +USES= python +USE_PYTHON= autoplist concurrent optsuffix pep517 + +CONFLICTS_INSTALL= boost_build + +NO_ARCH= yes + +USE_GITHUB= yes +GH_ACCOUNT= Backblaze +GH_PROJECT= B2_Command_Line_Tool + +MAKE_ENV= PDM_BUILD_SCM_VERSION=${DISTVERSION} + +.include <bsd.port.mk> diff --git a/devel/py-b2/distinfo b/devel/py-b2/distinfo new file mode 100644 index 000000000000..dd1efd8b74b7 --- /dev/null +++ b/devel/py-b2/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1731546986 +SHA256 (Backblaze-B2_Command_Line_Tool-v4.2.0_GH0.tar.gz) = b242101f8484931e49b0e4dcd08a60521ddd100ae10df00eb6bdc35d8c810d8c +SIZE (Backblaze-B2_Command_Line_Tool-v4.2.0_GH0.tar.gz) = 209209 diff --git a/devel/b2/pkg-descr b/devel/py-b2/pkg-descr index 8ec03faf1467..8ec03faf1467 100644 --- a/devel/b2/pkg-descr +++ b/devel/py-b2/pkg-descr diff --git a/devel/py-beartype/Makefile b/devel/py-beartype/Makefile index b08a94593e05..507b506e506a 100644 --- a/devel/py-beartype/Makefile +++ b/devel/py-beartype/Makefile @@ -1,5 +1,5 @@ PORTNAME= beartype -DISTVERSION= 0.18.5 +DISTVERSION= 0.19.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -11,8 +11,7 @@ WWW= https://beartype.readthedocs.io/en/latest/ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS= ${PY_SETUPTOOLS} \ - ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR} +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR} RUN_DEPENDS= ${PYNUMPY} TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyright>0:devel/py-pyright@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}pytorch>0:misc/py-pytorch@${PY_FLAVOR} diff --git a/devel/py-beartype/distinfo b/devel/py-beartype/distinfo index 9364a5d80a2f..e5974af8f082 100644 --- a/devel/py-beartype/distinfo +++ b/devel/py-beartype/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1713765921 -SHA256 (beartype-0.18.5.tar.gz) = 264ddc2f1da9ec94ff639141fbe33d22e12a9f75aa863b83b7046ffff1381927 -SIZE (beartype-0.18.5.tar.gz) = 1193506 +TIMESTAMP = 1731388526 +SHA256 (beartype-0.19.0.tar.gz) = de42dfc1ba5c3710fde6c3002e3bd2cad236ed4d2aabe876345ab0b4234a6573 +SIZE (beartype-0.19.0.tar.gz) = 1294480 diff --git a/devel/py-dulwich/Makefile b/devel/py-dulwich/Makefile index b120fffa07b5..6b2c80520b4f 100644 --- a/devel/py-dulwich/Makefile +++ b/devel/py-dulwich/Makefile @@ -4,7 +4,7 @@ CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} -MAINTAINER= marco.broeder@posteo.eu +MAINTAINER= ports@FreeBSD.org COMMENT= Python implementation of the Git file formats and protocols WWW= https://www.dulwich.io/ diff --git a/devel/py-grpcio-tools/Makefile b/devel/py-grpcio-tools/Makefile index 544903706e38..a021e7679972 100644 --- a/devel/py-grpcio-tools/Makefile +++ b/devel/py-grpcio-tools/Makefile @@ -1,5 +1,5 @@ PORTNAME= grpcio-tools -PORTVERSION= 1.67.0 +PORTVERSION= 1.67.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/devel/py-grpcio-tools/distinfo b/devel/py-grpcio-tools/distinfo index 7d3ab82042d1..32b294383c93 100644 --- a/devel/py-grpcio-tools/distinfo +++ b/devel/py-grpcio-tools/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1729329360 -SHA256 (grpcio_tools-1.67.0.tar.gz) = 181b3d4e61b83142c182ec366f3079b0023509743986e54c9465ca38cac255f8 -SIZE (grpcio_tools-1.67.0.tar.gz) = 5159163 +TIMESTAMP = 1731570718 +SHA256 (grpcio_tools-1.67.1.tar.gz) = d9657f5ddc62b52f58904e6054b7d8a8909ed08a1e28b734be3a707087bcf004 +SIZE (grpcio_tools-1.67.1.tar.gz) = 5159073 diff --git a/devel/py-grpcio/Makefile b/devel/py-grpcio/Makefile index 7c7ad206b4a6..3dc950a89bf6 100644 --- a/devel/py-grpcio/Makefile +++ b/devel/py-grpcio/Makefile @@ -1,5 +1,5 @@ PORTNAME= grpcio -PORTVERSION= 1.67.0 +PORTVERSION= 1.67.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/devel/py-grpcio/distinfo b/devel/py-grpcio/distinfo index 3b6fc8e44426..657f2f1fd8ca 100644 --- a/devel/py-grpcio/distinfo +++ b/devel/py-grpcio/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1729329008 -SHA256 (grpcio-1.67.0.tar.gz) = e090b2553e0da1c875449c8e75073dd4415dd71c9bde6a406240fdf4c0ee467c -SIZE (grpcio-1.67.0.tar.gz) = 12569330 +TIMESTAMP = 1731570416 +SHA256 (grpcio-1.67.1.tar.gz) = 3dc2ed4cabea4dc14d5e708c2b426205956077cc5de419b4d4079315017e9732 +SIZE (grpcio-1.67.1.tar.gz) = 12580022 diff --git a/devel/py-hg-evolve/Makefile b/devel/py-hg-evolve/Makefile index 0b76740d8c95..9b44b93f352a 100644 --- a/devel/py-hg-evolve/Makefile +++ b/devel/py-hg-evolve/Makefile @@ -1,5 +1,5 @@ PORTNAME= hg-evolve -DISTVERSION= 11.1.4 +DISTVERSION= 11.1.5 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/devel/py-hg-evolve/distinfo b/devel/py-hg-evolve/distinfo index 667c5cf44f17..07e7673ef991 100644 --- a/devel/py-hg-evolve/distinfo +++ b/devel/py-hg-evolve/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1719746289 -SHA256 (hg-evolve-11.1.4.tar.gz) = 629876836e787d29cf55f8269267914aa966b147c780ffb0a8dd061cb215ff07 -SIZE (hg-evolve-11.1.4.tar.gz) = 861472 +TIMESTAMP = 1731282220 +SHA256 (hg-evolve-11.1.5.tar.gz) = 3669d2405b31085049b00240154cc180baa3b13771a1685cd48f5b77433848d2 +SIZE (hg-evolve-11.1.5.tar.gz) = 863227 diff --git a/devel/py-oci/Makefile b/devel/py-oci/Makefile index 9a2a04c580d9..3869ed8d4bb6 100644 --- a/devel/py-oci/Makefile +++ b/devel/py-oci/Makefile @@ -1,5 +1,5 @@ PORTNAME= oci -DISTVERSION= 2.136.0 +DISTVERSION= 2.138.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/devel/py-oci/distinfo b/devel/py-oci/distinfo index 73a2a3b11d81..02caf358e48d 100644 --- a/devel/py-oci/distinfo +++ b/devel/py-oci/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1728979181 -SHA256 (oci-2.136.0.tar.gz) = 644b01351aaedd9fcfe38127ffbf66f8cbf359c4bad6c3ee36eba90f87423090 -SIZE (oci-2.136.0.tar.gz) = 13735496 +TIMESTAMP = 1731398223 +SHA256 (oci-2.138.1.tar.gz) = f7f27be6b0dc5f56a567b5340a6f4c96d3a484c15418a1c3b47aed1c4be979c9 +SIZE (oci-2.138.1.tar.gz) = 13916020 diff --git a/devel/py-p4python/Makefile b/devel/py-p4python/Makefile index 03019acca10c..b59f5a593e60 100644 --- a/devel/py-p4python/Makefile +++ b/devel/py-p4python/Makefile @@ -1,5 +1,5 @@ PORTNAME= p4python -PORTVERSION= 2023.2.2581979 +PORTVERSION= 2024.1.2645203 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/devel/py-p4python/distinfo b/devel/py-p4python/distinfo index 4ac439d32e87..ffe1424b6723 100644 --- a/devel/py-p4python/distinfo +++ b/devel/py-p4python/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1712788251 -SHA256 (p4python-2023.2.2581979.tar.gz) = cffcfb882b8f3fc38d4c14fce40dbb7d93474581970b89beb67e9caecf337719 -SIZE (p4python-2023.2.2581979.tar.gz) = 83513 +TIMESTAMP = 1731550319 +SHA256 (p4python-2024.1.2645203.tar.gz) = 49be8597c6469d8ecfd087a779874722a3fd08e6d93277a5ecea37a9b272527f +SIZE (p4python-2024.1.2645203.tar.gz) = 85474 diff --git a/devel/py-phx-class-registry/Makefile b/devel/py-phx-class-registry/Makefile index abcedfc64df0..753a27cf7177 100644 --- a/devel/py-phx-class-registry/Makefile +++ b/devel/py-phx-class-registry/Makefile @@ -1,7 +1,6 @@ PORTNAME= phx-class-registry -DISTVERSION= 3.0.5 +DISTVERSION= 5.1.1 CATEGORIES= devel python -MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= PopularMoment@protonmail.com @@ -9,7 +8,7 @@ COMMENT= Factory+Registry pattern for Python classes WWW= https://github.com/todofixthis/class-registry/ LICENSE= MIT -LICENSE_FILE= ${WRKSRC}/LICENSE +LICENSE_FILE= ${WRKSRC}/LICENCE.txt RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>=1.13:devel/py-six@${PY_FLAVOR} @@ -18,6 +17,10 @@ TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}nose>0:devel/py-nose@${PY_FLAVOR} USES= python USE_PYTHON= distutils autoplist concurrent +USE_GITHUB= yes +GH_ACCOUNT= todofixthis +GH_PROJECT= class-registry + NO_ARCH= yes do-test: diff --git a/devel/py-phx-class-registry/distinfo b/devel/py-phx-class-registry/distinfo index cc6c82d88e1a..12f3114fc5a2 100644 --- a/devel/py-phx-class-registry/distinfo +++ b/devel/py-phx-class-registry/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1619313963 -SHA256 (phx-class-registry-3.0.5.tar.gz) = f11462ac410a8cda38c2b6a83b51a2390c7d9528baef591cb5b551b11aba2a92 -SIZE (phx-class-registry-3.0.5.tar.gz) = 15758 +TIMESTAMP = 1730072991 +SHA256 (todofixthis-class-registry-5.1.1_GH0.tar.gz) = c8fdc6562788dc01251ea52b78880efcc8f1bb7f688ab8c3b3aa6db46cac57ab +SIZE (todofixthis-class-registry-5.1.1_GH0.tar.gz) = 59446 diff --git a/devel/py-pyTooling/Makefile b/devel/py-pyTooling/Makefile index f6ed9aad2d40..d6d7f54f7bbd 100644 --- a/devel/py-pyTooling/Makefile +++ b/devel/py-pyTooling/Makefile @@ -1,6 +1,6 @@ PORTNAME= pyTooling DISTVERSIONPREFIX= v -DISTVERSION= 8.0.1 +DISTVERSION= 8.0.2 CATEGORIES= devel #MASTER_SITES= PYPI # requirements.txt is missing PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -37,6 +37,6 @@ NO_ARCH= yes TEST_WRKSRC= ${WRKSRC} -# tests as of 8.0.1: 7 failed, 829 passed, 17 skipped, 6 xfailed in 18.51s +# tests as of 8.0.2: 6 failed, 830 passed, 17 skipped, 6 xfailed in 18.53s .include <bsd.port.mk> diff --git a/devel/py-pyTooling/distinfo b/devel/py-pyTooling/distinfo index 8a041f5b3b8d..31bffb6a4c56 100644 --- a/devel/py-pyTooling/distinfo +++ b/devel/py-pyTooling/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1731315335 -SHA256 (pyTooling-pyTooling-v8.0.1_GH0.tar.gz) = c3863671c39a25e978d15adac50f7134581e3bfc3cb7c4f35e81ce3ce9142af3 -SIZE (pyTooling-pyTooling-v8.0.1_GH0.tar.gz) = 712579 +TIMESTAMP = 1731471718 +SHA256 (pyTooling-pyTooling-v8.0.2_GH0.tar.gz) = 4753c4222a200bb8229722698c6d6df8a0f2627e77d09f00e6f69fcd674cd488 +SIZE (pyTooling-pyTooling-v8.0.2_GH0.tar.gz) = 712708 diff --git a/devel/py-pyTooling/files/patch-pyproject.toml b/devel/py-pyTooling/files/patch-pyproject.toml index 8871c763103a..83e8224384b7 100644 --- a/devel/py-pyTooling/files/patch-pyproject.toml +++ b/devel/py-pyTooling/files/patch-pyproject.toml @@ -1,9 +1,9 @@ ---- pyproject.toml.orig 2024-11-10 11:31:03 UTC +--- pyproject.toml.orig 2024-11-12 05:52:20 UTC +++ pyproject.toml @@ -1,7 +1,7 @@ requires = [ [build-system] requires = [ -- "setuptools ~= 75.3", +- "setuptools ~= 75.4", - "wheel ~= 0.45", + "setuptools", + "wheel", diff --git a/devel/py-simsimd/Makefile b/devel/py-simsimd/Makefile index 162224386949..548eaceef5df 100644 --- a/devel/py-simsimd/Makefile +++ b/devel/py-simsimd/Makefile @@ -1,5 +1,5 @@ PORTNAME= simsimd -DISTVERSION= 6.0.3 +DISTVERSION= 6.0.4 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/devel/py-simsimd/distinfo b/devel/py-simsimd/distinfo index c4ec7c44f9d3..3868a2d30974 100644 --- a/devel/py-simsimd/distinfo +++ b/devel/py-simsimd/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1731265315 -SHA256 (simsimd-6.0.3.tar.gz) = 4cf9cda2076c277951fb866b317747e11cc81a9fb4f2af5c98c048ce0f53fee8 -SIZE (simsimd-6.0.3.tar.gz) = 156200 +TIMESTAMP = 1731471761 +SHA256 (simsimd-6.0.4.tar.gz) = 380d1a2ded222e2d9ceb3b110f18a016d6878db6c6c9b6127e4376151dc38b8b +SIZE (simsimd-6.0.4.tar.gz) = 156217 diff --git a/devel/py-snakeviz/Makefile b/devel/py-snakeviz/Makefile index 105d747533bc..c753699c21bd 100644 --- a/devel/py-snakeviz/Makefile +++ b/devel/py-snakeviz/Makefile @@ -1,5 +1,5 @@ PORTNAME= snakeviz -PORTVERSION= 2.2.0 +PORTVERSION= 2.2.2 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -12,9 +12,11 @@ LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE.txt RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tornado>=2.0:www/py-tornado@${PY_FLAVOR} +TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ipython>=0:devel/ipython@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} USES= python -USE_PYTHON= autoplist distutils +USE_PYTHON= autoplist distutils pytest NO_ARCH= yes diff --git a/devel/py-snakeviz/distinfo b/devel/py-snakeviz/distinfo index 437817eba2fc..bb3d1d3ac7f9 100644 --- a/devel/py-snakeviz/distinfo +++ b/devel/py-snakeviz/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1682347589 -SHA256 (snakeviz-2.2.0.tar.gz) = 7bfd00be7ae147eb4a170a471578e1cd3f41f803238958b6b8efcf2c698a6aa9 -SIZE (snakeviz-2.2.0.tar.gz) = 181033 +TIMESTAMP = 1731608740 +SHA256 (snakeviz-2.2.2.tar.gz) = 08028c6f8e34a032ff14757a38424770abb8662fb2818985aeea0d9bc13a7d83 +SIZE (snakeviz-2.2.2.tar.gz) = 182039 diff --git a/devel/py-sysctl/Makefile b/devel/py-sysctl/Makefile index 64745dc5dcad..d0001d4678db 100644 --- a/devel/py-sysctl/Makefile +++ b/devel/py-sysctl/Makefile @@ -3,7 +3,7 @@ PORTVERSION= 0.3.3.20210928 CATEGORIES= devel python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} -MAINTAINER= freqlabs@FreeBSD.org +MAINTAINER= ports@FreeBSD.org COMMENT= Wrapper for the sysctl system functions WWW= https://github.com/truenas/py-sysctl diff --git a/devel/py-tabulate/Makefile b/devel/py-tabulate/Makefile index 1058a210092b..f1f2b6dfb98a 100644 --- a/devel/py-tabulate/Makefile +++ b/devel/py-tabulate/Makefile @@ -1,5 +1,5 @@ PORTNAME= tabulate -PORTVERSION= 0.8.9 +PORTVERSION= 0.9.0 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -11,8 +11,12 @@ WWW= https://github.com/astanin/python-tabulate LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=3.4.3.2:devel/py-setuptools-scm@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}setuptools>=61.2.0:devel/py-setuptools@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR} + USES= python -USE_PYTHON= autoplist concurrent distutils +USE_PYTHON= autoplist concurrent pep517 NO_ARCH= yes .include <bsd.port.mk> diff --git a/devel/py-tabulate/distinfo b/devel/py-tabulate/distinfo index 568c10fff2a0..f1ee22b26aad 100644 --- a/devel/py-tabulate/distinfo +++ b/devel/py-tabulate/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1651946753 -SHA256 (tabulate-0.8.9.tar.gz) = eb1d13f25760052e8931f2ef80aaf6045a6cceb47514db8beab24cded16f13a7 -SIZE (tabulate-0.8.9.tar.gz) = 53482 +TIMESTAMP = 1731530593 +SHA256 (tabulate-0.9.0.tar.gz) = 0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c +SIZE (tabulate-0.9.0.tar.gz) = 81090 diff --git a/devel/py-websockets/Makefile b/devel/py-websockets/Makefile index b91317e89a73..69061536baaf 100644 --- a/devel/py-websockets/Makefile +++ b/devel/py-websockets/Makefile @@ -1,5 +1,5 @@ PORTNAME= websockets -PORTVERSION= 14.0 +PORTVERSION= 14.1 CATEGORIES= devel python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/devel/py-websockets/distinfo b/devel/py-websockets/distinfo index f64784e66d5b..dfd36f2d0c3e 100644 --- a/devel/py-websockets/distinfo +++ b/devel/py-websockets/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1731269763 -SHA256 (websockets-14.0.tar.gz) = be90aa6dab180fed523c0c10a6729ad16c9ba79067402d01a4d8aa7ce48d4084 -SIZE (websockets-14.0.tar.gz) = 162207 +TIMESTAMP = 1731566772 +SHA256 (websockets-14.1.tar.gz) = 398b10c77d471c0aab20a845e7a60076b6390bfdaac7a6d2edb0d2c59d75e8d8 +SIZE (websockets-14.1.tar.gz) = 162840 diff --git a/devel/quill/Makefile b/devel/quill/Makefile index 10205ab759d7..47a3492b547e 100644 --- a/devel/quill/Makefile +++ b/devel/quill/Makefile @@ -1,6 +1,6 @@ PORTNAME= quill DISTVERSIONPREFIX= v -DISTVERSION= 7.3.0 +DISTVERSION= 7.5.0 CATEGORIES= devel PKGNAMESUFFIX= -logging-library diff --git a/devel/quill/distinfo b/devel/quill/distinfo index 1f75c9f1f4ae..f219365a7728 100644 --- a/devel/quill/distinfo +++ b/devel/quill/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1727682249 -SHA256 (odygrd-quill-v7.3.0_GH0.tar.gz) = 2c8fda7dbf6a095c04a3bbfa00646349e31065f34e8260c1364c6560578ca802 -SIZE (odygrd-quill-v7.3.0_GH0.tar.gz) = 2773946 +TIMESTAMP = 1731471842 +SHA256 (odygrd-quill-v7.5.0_GH0.tar.gz) = 18846d7c50f2ffe753661b204004fac2df9143e59cf150ecbe77315bc0b232c4 +SIZE (odygrd-quill-v7.5.0_GH0.tar.gz) = 2778707 diff --git a/devel/quill/pkg-plist b/devel/quill/pkg-plist index 8490c8e8ae52..3f8d1ecc5394 100644 --- a/devel/quill/pkg-plist +++ b/devel/quill/pkg-plist @@ -18,9 +18,11 @@ include/quill/backend/PatternFormatter.h include/quill/backend/RdtscClock.h include/quill/backend/SignalHandler.h include/quill/backend/StringFromTime.h +include/quill/backend/ThreadUtilities.h include/quill/backend/TimestampFormatter.h include/quill/backend/TransitEvent.h include/quill/backend/TransitEventBuffer.h +include/quill/backend/Utf8Conv.h include/quill/bundled/fmt/args.h include/quill/bundled/fmt/base.h include/quill/bundled/fmt/chrono.h @@ -53,10 +55,8 @@ include/quill/core/Rdtsc.h include/quill/core/SinkManager.h include/quill/core/Spinlock.h include/quill/core/ThreadContextManager.h -include/quill/core/ThreadUtilities.h include/quill/core/TimeUtilities.h include/quill/core/UnboundedSPSCQueue.h -include/quill/core/Utf8Conv.h include/quill/filters/Filter.h include/quill/sinks/ConsoleSink.h include/quill/sinks/FileSink.h diff --git a/devel/sonarqube-community/Makefile b/devel/sonarqube-community/Makefile index 521966547351..ea8c960c1347 100644 --- a/devel/sonarqube-community/Makefile +++ b/devel/sonarqube-community/Makefile @@ -1,6 +1,6 @@ PORTNAME= sonarqube DISTVERSION= 10.7.0.96327 -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= devel security www java MASTER_SITES= https://binaries.sonarsource.com/Distribution/sonarqube/:m_core \ https://binaries.sonarsource.com/Distribution/sonar-csharp-plugin/:m_csharp \ @@ -54,11 +54,11 @@ TEMP_DIR= ${DBBASE_DIR}/temp # If you want to update plugins, simply update the version number below, # and run "make makesum". -SONARCSHARP_VER= 9.32.0.97167 -SONARJAVA_VER= 8.4.0.37032 +SONARCSHARP_VER= 10.1.0.102936 +SONARJAVA_VER= 8.5.0.37199 SONARJAVASCRIPT_VER= 10.16.0.27621 SONARPHP_VER= 3.38.0.12239 -SONARPYTHON_VER= 4.22.0.16914 +SONARPYTHON_VER= 4.23.0.17664 SONARVBNET_VER= ${SONARCSHARP_VER} USERS= sonarqube diff --git a/devel/sonarqube-community/distinfo b/devel/sonarqube-community/distinfo index f573ed844deb..d31356af6b5e 100644 --- a/devel/sonarqube-community/distinfo +++ b/devel/sonarqube-community/distinfo @@ -1,15 +1,15 @@ -TIMESTAMP = 1727531813 +TIMESTAMP = 1731499767 SHA256 (sonarqube-10.7.0.96327.zip) = 4a5e5f0d7581e287cff4f02f7588dae499e2aa81fce37b88612acadfb4ba4518 SIZE (sonarqube-10.7.0.96327.zip) = 759175712 -SHA256 (sonar-csharp-plugin-9.32.0.97167.jar) = 155c42919db208e205577e3d72530860b7bd41ddafa6728ee38acc59c3d0f603 -SIZE (sonar-csharp-plugin-9.32.0.97167.jar) = 5597394 -SHA256 (sonar-java-plugin-8.4.0.37032.jar) = 133a32ee4b13ee53ea22e0837ace9085790eb465dc91d3e76f2584bb870d1832 -SIZE (sonar-java-plugin-8.4.0.37032.jar) = 19214570 +SHA256 (sonar-csharp-plugin-10.1.0.102936.jar) = d5bd51d0665a5c3b36f6c6379ed768ad8192f0bdcd928a839db8aa0e9cc62733 +SIZE (sonar-csharp-plugin-10.1.0.102936.jar) = 5418661 +SHA256 (sonar-java-plugin-8.5.0.37199.jar) = a256c1616c5183184d6995b88caddb343fcd52f2e6c62d5759a3798e35e0e490 +SIZE (sonar-java-plugin-8.5.0.37199.jar) = 19336960 SHA256 (sonar-javascript-plugin-10.16.0.27621.jar) = 14f404808a0d80f909f8d413b35700449f61dd00428354e3867b6c514cda92e4 SIZE (sonar-javascript-plugin-10.16.0.27621.jar) = 25939937 SHA256 (sonar-php-plugin-3.38.0.12239.jar) = e4825499699f8c1e564e00a212b52e0ec91ffee1ada78cdd2a8a0f8689efc03d SIZE (sonar-php-plugin-3.38.0.12239.jar) = 4784768 -SHA256 (sonar-python-plugin-4.22.0.16914.jar) = 22bde982659a27943e0510755bd0dcde4bfe630f884735632765f03485ef1085 -SIZE (sonar-python-plugin-4.22.0.16914.jar) = 16801149 -SHA256 (sonar-vbnet-plugin-9.32.0.97167.jar) = b0a5e2634d426a76086402825eb4f7f567512f7d6df11380b4fb0d01c8f8b079 -SIZE (sonar-vbnet-plugin-9.32.0.97167.jar) = 4727507 +SHA256 (sonar-python-plugin-4.23.0.17664.jar) = 2e748da2bbd8551f4182885a4d3d93bff618575014110d3fdaba132efd4e9692 +SIZE (sonar-python-plugin-4.23.0.17664.jar) = 16901615 +SHA256 (sonar-vbnet-plugin-10.1.0.102936.jar) = 6bfc98ae3dec0111b6f27e5931fc79b8345cebadb6d867eec3f59168d4607fa5 +SIZE (sonar-vbnet-plugin-10.1.0.102936.jar) = 4615080 diff --git a/devel/spark/Makefile b/devel/spark/Makefile index 1125b159cc79..9ba2f4bd2765 100644 --- a/devel/spark/Makefile +++ b/devel/spark/Makefile @@ -15,7 +15,7 @@ LICENSE= APACHE20 BROKEN_armv6= fails to build: maven-assembly-plugin: Failed to retrieve numeric file attributes BROKEN_armv7= fails to build: maven-assembly-plugin: Failed to retrieve numeric file attributes -ROKEN_i386= not enough memory on this architecture to build the port +BROKEN_i386= not enough memory on this architecture to build the port BUILD_DEPENDS= ${LOCALBASE}/lib/libsnappyjava.so:archivers/snappy-java \ bash:shells/bash \ diff --git a/devel/spdlog/Makefile b/devel/spdlog/Makefile index 17ebd333d933..888beae61980 100644 --- a/devel/spdlog/Makefile +++ b/devel/spdlog/Makefile @@ -1,6 +1,6 @@ PORTNAME= spdlog DISTVERSIONPREFIX= v -DISTVERSION= 1.14.1 +DISTVERSION= 1.15.0 PORTREVISION= 0 CATEGORIES= devel diff --git a/devel/spdlog/distinfo b/devel/spdlog/distinfo index d337a9e4be6d..6bd964b2fb08 100644 --- a/devel/spdlog/distinfo +++ b/devel/spdlog/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1714490415 -SHA256 (gabime-spdlog-v1.14.1_GH0.tar.gz) = 1586508029a7d0670dfcb2d97575dcdc242d3868a259742b69f100801ab4e16b -SIZE (gabime-spdlog-v1.14.1_GH0.tar.gz) = 270896 +TIMESTAMP = 1731569192 +SHA256 (gabime-spdlog-v1.15.0_GH0.tar.gz) = 9962648c9b4f1a7bbc76fd8d9172555bad1871fdb14ff4f842ef87949682caa5 +SIZE (gabime-spdlog-v1.15.0_GH0.tar.gz) = 276012 diff --git a/devel/spdlog/pkg-plist b/devel/spdlog/pkg-plist index a5d8469783c1..88312b21f67f 100644 --- a/devel/spdlog/pkg-plist +++ b/devel/spdlog/pkg-plist @@ -93,6 +93,6 @@ lib/cmake/spdlog/spdlogConfigTargets-%%CMAKE_BUILD_TYPE%%.cmake lib/cmake/spdlog/spdlogConfigTargets.cmake lib/cmake/spdlog/spdlogConfigVersion.cmake lib/libspdlog.so -lib/libspdlog.so.1.14 +lib/libspdlog.so.1.15 lib/libspdlog.so.%%SOVERSION%% libdata/pkgconfig/spdlog.pc diff --git a/devel/stringzilla/Makefile b/devel/stringzilla/Makefile index 75729e1807ad..2cbdd2a64e67 100644 --- a/devel/stringzilla/Makefile +++ b/devel/stringzilla/Makefile @@ -1,6 +1,6 @@ PORTNAME= stringzilla DISTVERSIONPREFIX= v -DISTVERSION= 3.10.9 +DISTVERSION= 3.10.10 CATEGORIES= devel python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} diff --git a/devel/stringzilla/distinfo b/devel/stringzilla/distinfo index cf86188ac08f..475fe8a23859 100644 --- a/devel/stringzilla/distinfo +++ b/devel/stringzilla/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1731219892 -SHA256 (ashvardanian-StringZilla-v3.10.9_GH0.tar.gz) = 4ad0bf97628176f689aa87030a696ff0e8e20db0b8909b0b1688b06303886342 -SIZE (ashvardanian-StringZilla-v3.10.9_GH0.tar.gz) = 255306 +TIMESTAMP = 1731471961 +SHA256 (ashvardanian-StringZilla-v3.10.10_GH0.tar.gz) = 7d6098f660395e0b49f4b4a48f41d12a3067981f2cead52aee626bf40912f253 +SIZE (ashvardanian-StringZilla-v3.10.10_GH0.tar.gz) = 255307 diff --git a/devel/stringzilla/pkg-plist b/devel/stringzilla/pkg-plist index e16924b1afa4..bba907f956fd 100644 --- a/devel/stringzilla/pkg-plist +++ b/devel/stringzilla/pkg-plist @@ -4,7 +4,7 @@ include/stringzilla/stringzilla.h include/stringzilla/stringzilla.hpp lib/libstringzilla_shared.so lib/libstringzilla_shared.so.1 -lib/libstringzilla_shared.so.3.10.9 +lib/libstringzilla_shared.so.3.10.10 lib/libstringzillite.so lib/libstringzillite.so.1 -lib/libstringzillite.so.3.10.9 +lib/libstringzillite.so.3.10.10 diff --git a/devel/valgrind-devel/Makefile b/devel/valgrind-devel/Makefile index 4f0161aa4a19..1c451b30a540 100644 --- a/devel/valgrind-devel/Makefile +++ b/devel/valgrind-devel/Makefile @@ -1,11 +1,11 @@ PORTNAME= valgrind -PORTVERSION= 3.24.0.g20240913 +PORTVERSION= 3.25.0.g20241104 DISTVERSIONPREFIX= freebsd- PORTEPOCH= 1 CATEGORIES= devel -MASTER_SITES= https://snapshots.sourceware.org/valgrind/trunk/2024-09-13_07-46_1726213561/ +MASTER_SITES= https://snapshots.sourceware.org/valgrind/trunk/2024-11-04_12-31_1730723461/ PKGNAMESUFFIX= -devel -DISTNAME= ${PORTNAME}-3.24.0.GIT +DISTNAME= ${PORTNAME}-3.25.0.GIT MAINTAINER= pjfloyd@wanadoo.fr COMMENT= Memory debugging and profiling tool diff --git a/devel/valgrind-devel/distinfo b/devel/valgrind-devel/distinfo index effb2329f526..e70191b0006c 100644 --- a/devel/valgrind-devel/distinfo +++ b/devel/valgrind-devel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1726252486 -SHA256 (valgrind-3.24.0.GIT.tar.bz2) = f70996a51d1fe973114b0f03fd0be758a2c1151daa18549354ba4a41ae9ec2bd -SIZE (valgrind-3.24.0.GIT.tar.bz2) = 16310675 +TIMESTAMP = 1730743792 +SHA256 (valgrind-3.25.0.GIT.tar.bz2) = 8548a5fb23c4adda3e3f657ccee66cb3115368d37e705aacb6964e8665c76105 +SIZE (valgrind-3.25.0.GIT.tar.bz2) = 16418481 diff --git a/devel/valgrind/Makefile b/devel/valgrind/Makefile index 19d16c566325..60b1929d2d66 100644 --- a/devel/valgrind/Makefile +++ b/devel/valgrind/Makefile @@ -1,5 +1,5 @@ PORTNAME= valgrind -PORTVERSION= 3.23.0 +DISTVERSION= 3.24.0 PORTEPOCH= 1 CATEGORIES= devel MASTER_SITES= SOURCEWARE/valgrind diff --git a/devel/valgrind/distinfo b/devel/valgrind/distinfo index 4478f19100ce..6ebf98d9c58a 100644 --- a/devel/valgrind/distinfo +++ b/devel/valgrind/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1714154358 -SHA256 (valgrind-3.23.0.tar.bz2) = c5c34a3380457b9b75606df890102e7df2c702b9420c2ebef9540f8b5d56264d -SIZE (valgrind-3.23.0.tar.bz2) = 16550038 +TIMESTAMP = 1730444324 +SHA256 (valgrind-3.24.0.tar.bz2) = 71aee202bdef1ae73898ccf7e9c315134fa7db6c246063afc503aef702ec03bd +SIZE (valgrind-3.24.0.tar.bz2) = 16632387 diff --git a/devel/wasmer/Makefile b/devel/wasmer/Makefile index acc85350c059..04c07858a40c 100644 --- a/devel/wasmer/Makefile +++ b/devel/wasmer/Makefile @@ -1,7 +1,6 @@ PORTNAME= wasmer DISTVERSIONPREFIX= v -DISTVERSION= 5.0.0 -PORTREVISION= 1 +DISTVERSION= 5.0.1 CATEGORIES= devel MAINTAINER= kjozic@gmail.com diff --git a/devel/wasmer/Makefile.crates b/devel/wasmer/Makefile.crates index 9944e7edbf01..0b58dc24b4ff 100644 --- a/devel/wasmer/Makefile.crates +++ b/devel/wasmer/Makefile.crates @@ -167,6 +167,8 @@ CARGO_CRATES= addr2line-0.24.2 \ enum-ordinalize-derive-4.3.1 \ enumset-1.1.5 \ enumset_derive-0.10.0 \ + env_filter-0.1.2 \ + env_logger-0.11.5 \ equivalent-1.0.1 \ erased-serde-0.3.31 \ errno-0.3.9 \ @@ -636,7 +638,7 @@ CARGO_CRATES= addr2line-0.24.2 \ wcgi-0.2.0 \ wcgi-host-0.2.0 \ web-sys-0.3.72 \ - webc-7.0.0-rc.1 \ + webc-7.0.0-rc.2 \ webpki-roots-0.26.6 \ weedle2-5.0.0 \ weezl-0.1.8 \ diff --git a/devel/wasmer/distinfo b/devel/wasmer/distinfo index 6c6b0612d95f..c04d6de3d817 100644 --- a/devel/wasmer/distinfo +++ b/devel/wasmer/distinfo @@ -1,4 +1,4 @@ -TIMESTAMP = 1730305290 +TIMESTAMP = 1731426012 SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1 SIZE (rust/crates/addr2line-0.24.2.crate) = 39015 SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627 @@ -337,6 +337,10 @@ SHA256 (rust/crates/enumset-1.1.5.crate) = d07a4b049558765cef5f0c1a273c3fc57084d SIZE (rust/crates/enumset-1.1.5.crate) = 26442 SHA256 (rust/crates/enumset_derive-0.10.0.crate) = 59c3b24c345d8c314966bdc1832f6c2635bfcce8e7cf363bd115987bba2ee242 SIZE (rust/crates/enumset_derive-0.10.0.crate) = 13211 +SHA256 (rust/crates/env_filter-0.1.2.crate) = 4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab +SIZE (rust/crates/env_filter-0.1.2.crate) = 13327 +SHA256 (rust/crates/env_logger-0.11.5.crate) = e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d +SIZE (rust/crates/env_logger-0.11.5.crate) = 30683 SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5 SIZE (rust/crates/equivalent-1.0.1.crate) = 6615 SHA256 (rust/crates/erased-serde-0.3.31.crate) = 6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c @@ -1275,8 +1279,8 @@ SHA256 (rust/crates/wcgi-host-0.2.0.crate) = 1cfc134be64da186b33675e0154827ba8eb SIZE (rust/crates/wcgi-host-0.2.0.crate) = 6142 SHA256 (rust/crates/web-sys-0.3.72.crate) = f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112 SIZE (rust/crates/web-sys-0.3.72.crate) = 629190 -SHA256 (rust/crates/webc-7.0.0-rc.1.crate) = 56c452dd6074574080dea17d228caa5efc24f1e29650895c61333b0900734c20 -SIZE (rust/crates/webc-7.0.0-rc.1.crate) = 466045 +SHA256 (rust/crates/webc-7.0.0-rc.2.crate) = e6893cbe58d5b97a0daa2dd77055d621db1c8b94fe0f2bbd719c8de747226ea6 +SIZE (rust/crates/webc-7.0.0-rc.2.crate) = 466052 SHA256 (rust/crates/webpki-roots-0.26.6.crate) = 841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958 SIZE (rust/crates/webpki-roots-0.26.6.crate) = 255384 SHA256 (rust/crates/weedle2-5.0.0.crate) = 998d2c24ec099a87daf9467808859f9d82b61f1d9c9701251aea037f514eae0e @@ -1371,5 +1375,5 @@ SHA256 (rust/crates/zstd-safe-7.2.1.crate) = 54a3ab4db68cea366acc5c897c7b4d4d1b8 SIZE (rust/crates/zstd-safe-7.2.1.crate) = 21122 SHA256 (rust/crates/zstd-sys-2.0.13+zstd.1.5.6.crate) = 38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa SIZE (rust/crates/zstd-sys-2.0.13+zstd.1.5.6.crate) = 749090 -SHA256 (wasmerio-wasmer-v5.0.0_GH0.tar.gz) = ad957e7aecf5b2d3813dcb04285625d640a284fcc648d81a3eabca3f0f7eca4e -SIZE (wasmerio-wasmer-v5.0.0_GH0.tar.gz) = 113725091 +SHA256 (wasmerio-wasmer-v5.0.1_GH0.tar.gz) = 36e4efd576b6efec908b40b987a34f0a1bfe62fe94f81f717f535019ffb27e27 +SIZE (wasmerio-wasmer-v5.0.1_GH0.tar.gz) = 113724076 diff --git a/devel/xbyak/Makefile b/devel/xbyak/Makefile index cda86994afcd..9853ebc69fe7 100644 --- a/devel/xbyak/Makefile +++ b/devel/xbyak/Makefile @@ -1,6 +1,6 @@ PORTNAME= xbyak DISTVERSIONPREFIX= v -DISTVERSION= 7.20.1 +DISTVERSION= 7.22 CATEGORIES= devel MAINTAINER= yuri@FreeBSD.org diff --git a/devel/xbyak/distinfo b/devel/xbyak/distinfo index 366db69876aa..19e82221c5e5 100644 --- a/devel/xbyak/distinfo +++ b/devel/xbyak/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1730261954 -SHA256 (herumi-xbyak-v7.20.1_GH0.tar.gz) = 8ec16c8296e2d5de00368a95c0c367a4c6a594a5167e62c676259215b0032799 -SIZE (herumi-xbyak-v7.20.1_GH0.tar.gz) = 291849 +TIMESTAMP = 1731472007 +SHA256 (herumi-xbyak-v7.22_GH0.tar.gz) = b227960bce3642b786a4aba33ce93d97abf5a40006190fed2f1eff15889fe456 +SIZE (herumi-xbyak-v7.22_GH0.tar.gz) = 292491 |