diff --git a/devel/electron42/Makefile b/devel/electron42/Makefile index e366ba47cce3..1aff5693f6fe 100644 --- a/devel/electron42/Makefile +++ b/devel/electron42/Makefile @@ -1,470 +1,470 @@ 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}-lite${EXTRACT_SUFX}:chromium \ pulseaudio-${PULSEV}.tar.gz:pulseaudio 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 BROKEN_i386= fetch fails: node process stalls during fetch phase and eats up all CPUs ONLY_FOR_ARCHS= aarch64 amd64 i386 FETCH_DEPENDS= git:devel/git \ npm${NODEJS_SUFFIX}>0:www/npm${NODEJS_SUFFIX} PATCH_DEPENDS= git:devel/git \ jq:textproc/jq BUILD_DEPENDS= esbuild:devel/esbuild \ gperf:devel/gperf \ bindgen:devel/rust-bindgen-cli \ yasm:devel/yasm \ ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri \ ${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 \ 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} \ sentry-cli:devel/sentry-cli USES= bison cargo compiler:c++17-lang cpe display:test electron:env \ gettext-tools gl gmake gnome iconv:wchar_t jpeg \ localbase:ldflags ninja nodejs:24,build pkgconfig \ python:build,test qt:5 shebangfix tar:xz xorg CPE_VENDOR= electronjs USE_GITHUB= nodefault GH_TUPLE= electron:electron:${DISTVERSIONFULL}:electron \ 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 \ rollup:rollup:v${ROLLUP_VER}:rollup \ evanw:esbuild:v${ESBUILD_VER}:esbuild USE_GL= gbm gl glesv2 USE_GNOME= atk cairo gdkpixbuf gtk30 libxml2 libxslt pango USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \ xrender xscrnsaver xtst USE_QT= buildtools:build core:build widgets:build USE_ELECTRON= npm:yarn4 prefetch extract NPM_EXTRACT_WRKSRC= ${WRKDIR}/${PORTNAME}-${ELECTRON_VER} SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper buildtools/linux64/clang-format # rollup CARGO_CARGOTOML= ${WRKSRC}/rollup/rust/Cargo.toml CARGO_CARGOLOCK= ${WRKSRC}/rollup/rust/Cargo.lock CARGO_BUILD= no CARGO_INSTALL= no CARGO_TEST= no CARGO_TARGET_DIR= ${WRKSRC}/rollup/rust/target 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} BUNDLE_LIBS= yes TARGET_ORDER_OVERRIDE= 750:cargo-extract WRKSRC= ${WRKDIR}/src GN_ARGS+= clang_use_chrome_plugins=false \ enable_backup_ref_ptr_support=false \ enable_hangout_services_extension=true \ enable_remoting=false \ fatal_linker_warnings=false \ icu_use_data_file=false \ is_clang=true \ moc_qt5_path="${QT_TOOLDIR}/moc" \ optimize_webui=true \ toolkit_views=true \ treat_warnings_as_errors=false \ use_allocator_shim=false \ use_aura=true \ use_custom_libcxx=true \ use_custom_libunwind=true \ use_lld=true \ use_partition_alloc=true \ use_partition_alloc_as_malloc=false \ use_qt5=true \ use_sysroot=false \ use_system_freetype=false \ use_system_harfbuzz=true \ use_system_libffi=true \ use_system_libjpeg=true \ use_udev=false \ 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_MAKE_ENV= ELECTRON_OUT_DIR=Debug DEBUG_MAKE_ENV_OFF= ELECTRON_OUT_DIR=Release 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_USES= gssapi:heimdal HEIMDAL_BASE_USES= gssapi:base 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_USES= gssapi:mit PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire PIPEWIRE_VARS= GN_ARGS+=rtc_use_pipewire=true \ GN_ARGS+=rtc_link_pipewire=true PIPEWIRE_VARS_OFF= GN_ARGS+=rtc_use_pipewire=false \ GN_ARGS+=rtc_link_pipewire=false PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true \ PINCLUDES="-I${WRKDIR}/pulseaudio-${PULSEV}/src -DPA_MAJOR=${PULSEMV}" PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= GN_ARGS+=use_sndio=true SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false # See ${WRKSRC}/electron/DEPS for CHROMIUM_VER -CHROMIUM_VER= 148.0.7778.97 +CHROMIUM_VER= 148.0.7778.180 # See ${WRKSRC}/electron/DEPS for NODE_VER NODE_VER= 24.15.0 # See ${WRKSRC}/electron/DEPS for NAN_VER NAN_VER= 675cefebca42410733da8a454c8d9391fcebfbc2 # 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= 2a8e2123a3931038179ee06105c9e6ec336b12ea # See ${WRKSRC}/electron/DEPS for ENGFLOW_RECLIENT_CONFIGS_VER ENGFLOW_RECLIENT_CONFIGS_VER= 955335c30a752e9ef7bff375baab5e0819b6c00d # See ${WRKSRC}/third_party/devtools-frontend/src/node_modules/rollup/package.json ROLLUP_VER= 4.22.4 # Keep in sync with devel/esbuild ESBUILD_VER= 0.28.0 .include "Makefile.version" .include .if ${PORT_OPTIONS:MHEIMDAL_BASE} && !exists(/usr/lib/libkrb5.so) IGNORE= you have selected HEIMDAL_BASE but do not have Heimdal installed in base .endif LLVM_DEFAULT= 22 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \ ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \ ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} 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 MAKE_ENV+= RUSTC_BOOTSTRAP=1 GN_ARGS+= enable_rust=true \ rust_sysroot_absolute="${LOCALBASE}" TEST_ENV+= ${MAKE_ENV} \ ELECTRON_OUT_DIR=${BUILDTYPE} \ LOCAL_GIT_DIRECTORY=${LOCALBASE} \ DISABLE_CRASH_REPORTER_TESTS=1 \ SENTRYCLI_SKIP_DOWNLOAD=1 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} post-extract: # Move extracted sources to appropriate locations ${MV} ${WRKDIR}/chromium-${CHROMIUM_VER} \ ${WRKSRC} ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER} \ ${WRKSRC}/electron ${MV} ${WRKDIR}/${GH_PROJECT_nan}-${NAN_VER} \ ${WRKSRC}/third_party/nan ${MV} ${WRKDIR}/${GH_PROJECT_node}-${NODE_VER} \ ${WRKSRC}/third_party/electron_node ${MV} ${WRKDIR}/${GH_PROJECT_squirrel_mac}-${SQUIRREL_MAC_VER} \ ${WRKSRC}/third_party/squirrel.mac @${MKDIR} ${WRKSRC}/third_party/squirrel.mac/vendor ${MV} ${WRKDIR}/${GH_PROJECT_reactiveobjc}-${REACTIVEOBJC_VER} \ ${WRKSRC}/third_party/squirrel.mac/vendor/ReactiveObjC ${MV} ${WRKDIR}/${GH_PROJECT_mantle}-${MANTLE_VER} \ ${WRKSRC}/third_party/squirrel.mac/vendor/Mantle ${MV} ${WRKDIR}/${GH_PROJECT_reclient_configs}-${ENGFLOW_RECLIENT_CONFIGS_VER} \ ${WRKSRC}/third_party/engflow-reclient-configs ${MV} ${WRKDIR}/${GH_PROJECT_rollup}-${ROLLUP_VER} \ ${WRKSRC}/rollup ${MV} ${WRKDIR}/${GH_PROJECT_esbuild}-${ESBUILD_VER} \ ${WRKSRC}/esbuild 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 harfbuzz libdrm libpng \ libusb libwebp libxml libxslt openh264 opus || ${FALSE} # Chromium uses an unreleased version of FFmpeg, so configure it cd ${WRKSRC}/media/ffmpeg && \ ${PYTHON_CMD} scripts/build_ffmpeg.py freebsd ${FFMPEG_TARGET} \ --config-only --branding=${FFMPEG_BRAND} cd ${FFMPEG_BDIR} && ${GMAKE} ffversion.h ${MKDIR} ${FFMPEG_CDIR} .for _e in config.h config.asm config_components.asm config_components.h libavcodec libavformat libavutil -${CP} -pR ${FFMPEG_BDIR}/${_e} ${FFMPEG_CDIR} .endfor touch ${WRKDIR}/pulseaudio-${PULSEV}/src/pulse/version.h @${REINPLACE_CMD} -e 's|$${LOCALBASE}|${LOCALBASE}|;s|$${MODCLANG_VERSION}|${LLVM_DEFAULT}|' \ ${WRKSRC}/build/config/rust.gni \ ${WRKSRC}/build/linux/strip_binary.gni \ ${WRKSRC}/build/rust/rust_bindgen.gni \ ${WRKSRC}/build/rust/rust_bindgen_generator.gni do-configure: cd ${WRKSRC}/esbuild && \ ${LOCALBASE}/bin/node scripts/esbuild.js \ ${LOCALBASE}/bin/esbuild --neutral && \ ${RM} -r ${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild && \ ${LN} -sf ${WRKSRC}/esbuild/npm/esbuild \ ${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild \ # 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}' # Make GN available to python scripts called during build ${LN} -sf ${WRKSRC}/out/${BUILDTYPE}/gn ${WRKDIR}/.bin # Setup nodejs dependency @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node # Setup rustc dependency @${MKDIR} ${WRKSRC}/third_party/rust-toolchain/bin ${LN} -sf ${LOCALBASE}/bin/rustc ${WRKSRC}/third_party/rust-toolchain/bin/rustc # Setup esbuild dependency ${LN} -sf ${LOCALBASE}/bin/esbuild ${WRKSRC}/third_party/devtools-frontend/src/third_party/esbuild/esbuild # Setup gperf dependency ${LN} -sf ${LOCALBASE}/bin/gperf ${WRKSRC}/third_party/gperf/cipd/bin/gperf # Setup buildtools/freebsd @${MKDIR} ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/out/${BUILDTYPE}/gn ${WRKSRC}/buildtools/freebsd ${LN} -sf /usr/bin/strip ${WRKSRC}/buildtools/freebsd/strip pre-build: @${CARGO_CARGO_RUN} build \ --manifest-path ${CARGO_CARGOTOML} \ --verbose \ --verbose \ ${CARGO_BUILD_ARGS} (cd ${WRKSRC}/third_party/devtools-frontend/src/node_modules/@rollup && \ ${MKDIR} rollup-freebsd && \ ${CP} ${CARGO_TARGET_DIR}/*/libbindings_napi.so \ rollup-freebsd/rollup.freebsd.node && \ ${ECHO_CMD} '{ "main": "./rollup.freebsd.node" }' \ > rollup-freebsd/package.json) 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 pre-test: ${CP} ${LOCALBASE}/bin/sentry-cli \ ${WRKSRC}/electron/node_modules/@sentry/cli do-test: cd ${WRKSRC}/electron && \ ${SETENV} ${TEST_ENV} yarn run test -- --ci .include diff --git a/devel/electron42/Makefile.version b/devel/electron42/Makefile.version index 7e407be2d7ad..a4a0a2d82ce0 100644 --- a/devel/electron42/Makefile.version +++ b/devel/electron42/Makefile.version @@ -1,2 +1,2 @@ -ELECTRON_VER= 42.2.0 +ELECTRON_VER= 42.3.0 ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//} diff --git a/devel/electron42/distinfo b/devel/electron42/distinfo index 32a7986e877d..fa4b0dc5ce62 100644 --- a/devel/electron42/distinfo +++ b/devel/electron42/distinfo @@ -1,359 +1,359 @@ -TIMESTAMP = 1779536636 -SHA256 (electron/chromium-148.0.7778.97-lite.tar.xz) = 11aa0656b1e66f57191638f2a19ded5e87198979e96c58717dc66282ad3664b3 -SIZE (electron/chromium-148.0.7778.97-lite.tar.xz) = 1593051356 +TIMESTAMP = 1780030430 +SHA256 (electron/chromium-148.0.7778.180-lite.tar.xz) = 739ef940601549d1a3ab0c81954e0cd4ef296bb631d22826e8c27abdb9d89b2b +SIZE (electron/chromium-148.0.7778.180-lite.tar.xz) = 1591971560 SHA256 (electron/pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (electron/pulseaudio-16.1.tar.gz) = 2763111 SHA256 (electron/rust/crates/Inflector-0.11.4.crate) = fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3 SIZE (electron/rust/crates/Inflector-0.11.4.crate) = 17438 SHA256 (electron/rust/crates/ahash-0.8.11.crate) = e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011 SIZE (electron/rust/crates/ahash-0.8.11.crate) = 43607 SHA256 (electron/rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916 SIZE (electron/rust/crates/aho-corasick-1.1.3.crate) = 183311 SHA256 (electron/rust/crates/allocator-api2-0.2.18.crate) = 5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f SIZE (electron/rust/crates/allocator-api2-0.2.18.crate) = 62504 SHA256 (electron/rust/crates/anyhow-1.0.89.crate) = 86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6 SIZE (electron/rust/crates/anyhow-1.0.89.crate) = 47078 SHA256 (electron/rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50 SIZE (electron/rust/crates/arrayvec-0.7.6.crate) = 31237 SHA256 (electron/rust/crates/ast_node-0.10.0.crate) = 9f8486443b68ecc17b8b45c6161b0194142f74622ed8dade227480a20291fc91 SIZE (electron/rust/crates/ast_node-0.10.0.crate) = 8073 SHA256 (electron/rust/crates/autocfg-1.3.0.crate) = 0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0 SIZE (electron/rust/crates/autocfg-1.3.0.crate) = 16524 SHA256 (electron/rust/crates/base-encode-0.3.1.crate) = a17bd29f7c70f32e9387f4d4acfa5ea7b7749ef784fb78cf382df97069337b8c SIZE (electron/rust/crates/base-encode-0.3.1.crate) = 3630 SHA256 (electron/rust/crates/base64-0.21.7.crate) = 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567 SIZE (electron/rust/crates/base64-0.21.7.crate) = 82576 SHA256 (electron/rust/crates/base64-simd-0.7.0.crate) = 781dd20c3aff0bd194fe7d2a977dd92f21c173891f3a03b677359e5fa457e5d5 SIZE (electron/rust/crates/base64-simd-0.7.0.crate) = 9966 SHA256 (electron/rust/crates/better_scoped_tls-0.1.1.crate) = 794edcc9b3fb07bb4aecaa11f093fd45663b4feadb782d68303a2268bc2701de SIZE (electron/rust/crates/better_scoped_tls-0.1.1.crate) = 1874 SHA256 (electron/rust/crates/bitflags-2.6.0.crate) = b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de SIZE (electron/rust/crates/bitflags-2.6.0.crate) = 45357 SHA256 (electron/rust/crates/bitvec-1.0.1.crate) = 1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c SIZE (electron/rust/crates/bitvec-1.0.1.crate) = 224375 SHA256 (electron/rust/crates/bumpalo-3.16.0.crate) = 79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c SIZE (electron/rust/crates/bumpalo-3.16.0.crate) = 85677 SHA256 (electron/rust/crates/cc-1.1.21.crate) = 07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0 SIZE (electron/rust/crates/cc-1.1.21.crate) = 83463 SHA256 (electron/rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd SIZE (electron/rust/crates/cfg-if-1.0.0.crate) = 7934 SHA256 (electron/rust/crates/convert_case-0.6.0.crate) = ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca SIZE (electron/rust/crates/convert_case-0.6.0.crate) = 18675 SHA256 (electron/rust/crates/ctor-0.2.8.crate) = edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f SIZE (electron/rust/crates/ctor-0.2.8.crate) = 11053 SHA256 (electron/rust/crates/cty-0.2.2.crate) = b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35 SIZE (electron/rust/crates/cty-0.2.2.crate) = 7230 SHA256 (electron/rust/crates/dashmap-5.5.3.crate) = 978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856 SIZE (electron/rust/crates/dashmap-5.5.3.crate) = 24061 SHA256 (electron/rust/crates/data-encoding-2.6.0.crate) = e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2 SIZE (electron/rust/crates/data-encoding-2.6.0.crate) = 20769 SHA256 (electron/rust/crates/debugid-0.8.0.crate) = bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d SIZE (electron/rust/crates/debugid-0.8.0.crate) = 12757 SHA256 (electron/rust/crates/either-1.13.0.crate) = 60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0 SIZE (electron/rust/crates/either-1.13.0.crate) = 19169 SHA256 (electron/rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5 SIZE (electron/rust/crates/equivalent-1.0.1.crate) = 6615 SHA256 (electron/rust/crates/fixedbitset-0.4.2.crate) = 0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80 SIZE (electron/rust/crates/fixedbitset-0.4.2.crate) = 15954 SHA256 (electron/rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456 SIZE (electron/rust/crates/form_urlencoded-1.2.1.crate) = 8969 SHA256 (electron/rust/crates/from_variant-0.1.9.crate) = 32016f1242eb82af5474752d00fd8ebcd9004bd69b462b1c91de833972d08ed4 SIZE (electron/rust/crates/from_variant-0.1.9.crate) = 1617 SHA256 (electron/rust/crates/funty-2.0.0.crate) = e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c SIZE (electron/rust/crates/funty-2.0.0.crate) = 13160 SHA256 (electron/rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7 SIZE (electron/rust/crates/getrandom-0.2.15.crate) = 37163 SHA256 (electron/rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1 SIZE (electron/rust/crates/hashbrown-0.14.5.crate) = 141498 SHA256 (electron/rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024 SIZE (electron/rust/crates/hermit-abi-0.3.9.crate) = 16165 SHA256 (electron/rust/crates/hstr-0.2.12.crate) = dae404c0c5d4e95d4858876ab02eecd6a196bb8caa42050dfa809938833fc412 SIZE (electron/rust/crates/hstr-0.2.12.crate) = 22307 SHA256 (electron/rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6 SIZE (electron/rust/crates/idna-0.5.0.crate) = 271940 SHA256 (electron/rust/crates/if_chain-1.0.2.crate) = cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed SIZE (electron/rust/crates/if_chain-1.0.2.crate) = 8062 SHA256 (electron/rust/crates/indexmap-2.5.0.crate) = 68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5 SIZE (electron/rust/crates/indexmap-2.5.0.crate) = 85919 SHA256 (electron/rust/crates/is-macro-0.3.6.crate) = 2069faacbe981460232f880d26bf3c7634e322d49053aa48c27e3ae642f728f1 SIZE (electron/rust/crates/is-macro-0.3.6.crate) = 9068 SHA256 (electron/rust/crates/itoa-1.0.11.crate) = 49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b SIZE (electron/rust/crates/itoa-1.0.11.crate) = 10563 SHA256 (electron/rust/crates/js-sys-0.3.70.crate) = 1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a SIZE (electron/rust/crates/js-sys-0.3.70.crate) = 53863 SHA256 (electron/rust/crates/libc-0.2.158.crate) = d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439 SIZE (electron/rust/crates/libc-0.2.158.crate) = 751340 SHA256 (electron/rust/crates/libloading-0.8.5.crate) = 4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4 SIZE (electron/rust/crates/libloading-0.8.5.crate) = 28902 SHA256 (electron/rust/crates/lock_api-0.4.12.crate) = 07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17 SIZE (electron/rust/crates/lock_api-0.4.12.crate) = 27591 SHA256 (electron/rust/crates/log-0.4.22.crate) = a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24 SIZE (electron/rust/crates/log-0.4.22.crate) = 44027 SHA256 (electron/rust/crates/memchr-2.7.4.crate) = 78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3 SIZE (electron/rust/crates/memchr-2.7.4.crate) = 96670 SHA256 (electron/rust/crates/mimalloc-rust-0.2.1.crate) = 5eb726c8298efb4010b2c46d8050e4be36cf807b9d9e98cb112f830914fc9bbe SIZE (electron/rust/crates/mimalloc-rust-0.2.1.crate) = 5327 SHA256 (electron/rust/crates/mimalloc-rust-sys-1.7.9-source.crate) = 6413e13241a9809f291568133eca6694572cf528c1a6175502d090adce5dd5db SIZE (electron/rust/crates/mimalloc-rust-sys-1.7.9-source.crate) = 134952 SHA256 (electron/rust/crates/napi-2.16.11.crate) = 53575dfa17f208dd1ce3a2da2da4659aae393b256a472f2738a8586a6c4107fd SIZE (electron/rust/crates/napi-2.16.11.crate) = 85909 SHA256 (electron/rust/crates/napi-build-2.1.3.crate) = e1c0f5d67ee408a4685b61f5ab7e58605c8ae3f2b4189f0127d804ff13d5560a SIZE (electron/rust/crates/napi-build-2.1.3.crate) = 2096 SHA256 (electron/rust/crates/napi-derive-2.16.12.crate) = 17435f7a00bfdab20b0c27d9c56f58f6499e418252253081bfff448099da31d1 SIZE (electron/rust/crates/napi-derive-2.16.12.crate) = 17184 SHA256 (electron/rust/crates/napi-derive-backend-1.0.74.crate) = 967c485e00f0bf3b1bdbe510a38a4606919cf1d34d9a37ad41f25a81aa077abe SIZE (electron/rust/crates/napi-derive-backend-1.0.74.crate) = 21755 SHA256 (electron/rust/crates/napi-sys-2.4.0.crate) = 427802e8ec3a734331fec1035594a210ce1ff4dc5bc1950530920ab717964ea3 SIZE (electron/rust/crates/napi-sys-2.4.0.crate) = 6582 SHA256 (electron/rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086 SIZE (electron/rust/crates/new_debug_unreachable-1.0.6.crate) = 2582 SHA256 (electron/rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9 SIZE (electron/rust/crates/num-bigint-0.4.6.crate) = 102801 SHA256 (electron/rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f SIZE (electron/rust/crates/num-integer-0.1.46.crate) = 22331 SHA256 (electron/rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 SIZE (electron/rust/crates/num-traits-0.2.19.crate) = 51631 SHA256 (electron/rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43 SIZE (electron/rust/crates/num_cpus-1.16.0.crate) = 15713 SHA256 (electron/rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92 SIZE (electron/rust/crates/once_cell-1.19.0.crate) = 33046 SHA256 (electron/rust/crates/outref-0.1.0.crate) = 7f222829ae9293e33a9f5e9f440c6760a3d450a64affe1846486b140db81c1f4 SIZE (electron/rust/crates/outref-0.1.0.crate) = 3067 SHA256 (electron/rust/crates/parking_lot-0.12.3.crate) = f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27 SIZE (electron/rust/crates/parking_lot-0.12.3.crate) = 41860 SHA256 (electron/rust/crates/parking_lot_core-0.9.10.crate) = 1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8 SIZE (electron/rust/crates/parking_lot_core-0.9.10.crate) = 32406 SHA256 (electron/rust/crates/pathdiff-0.2.1.crate) = 8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd SIZE (electron/rust/crates/pathdiff-0.2.1.crate) = 7142 SHA256 (electron/rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e SIZE (electron/rust/crates/percent-encoding-2.3.1.crate) = 10235 SHA256 (electron/rust/crates/petgraph-0.6.5.crate) = b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db SIZE (electron/rust/crates/petgraph-0.6.5.crate) = 710970 SHA256 (electron/rust/crates/phf-0.11.2.crate) = ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc SIZE (electron/rust/crates/phf-0.11.2.crate) = 21569 SHA256 (electron/rust/crates/phf_generator-0.11.2.crate) = 48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0 SIZE (electron/rust/crates/phf_generator-0.11.2.crate) = 14190 SHA256 (electron/rust/crates/phf_macros-0.11.2.crate) = 3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b SIZE (electron/rust/crates/phf_macros-0.11.2.crate) = 4748 SHA256 (electron/rust/crates/phf_shared-0.11.2.crate) = 90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b SIZE (electron/rust/crates/phf_shared-0.11.2.crate) = 14284 SHA256 (electron/rust/crates/pin-project-lite-0.2.14.crate) = bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02 SIZE (electron/rust/crates/pin-project-lite-0.2.14.crate) = 28817 SHA256 (electron/rust/crates/proc-macro2-1.0.86.crate) = 5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77 SIZE (electron/rust/crates/proc-macro2-1.0.86.crate) = 48958 SHA256 (electron/rust/crates/psm-0.1.23.crate) = aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205 SIZE (electron/rust/crates/psm-0.1.23.crate) = 23318 SHA256 (electron/rust/crates/ptr_meta-0.1.4.crate) = 0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1 SIZE (electron/rust/crates/ptr_meta-0.1.4.crate) = 5754 SHA256 (electron/rust/crates/ptr_meta_derive-0.1.4.crate) = 16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac SIZE (electron/rust/crates/ptr_meta_derive-0.1.4.crate) = 2302 SHA256 (electron/rust/crates/quote-1.0.37.crate) = b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af SIZE (electron/rust/crates/quote-1.0.37.crate) = 28558 SHA256 (electron/rust/crates/radium-0.7.0.crate) = dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09 SIZE (electron/rust/crates/radium-0.7.0.crate) = 10906 SHA256 (electron/rust/crates/radix_fmt-1.0.0.crate) = ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426 SIZE (electron/rust/crates/radix_fmt-1.0.0.crate) = 8743 SHA256 (electron/rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 SIZE (electron/rust/crates/rand-0.8.5.crate) = 87113 SHA256 (electron/rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c SIZE (electron/rust/crates/rand_core-0.6.4.crate) = 22666 SHA256 (electron/rust/crates/redox_syscall-0.5.4.crate) = 0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853 SIZE (electron/rust/crates/redox_syscall-0.5.4.crate) = 25977 SHA256 (electron/rust/crates/regex-1.10.6.crate) = 4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619 SIZE (electron/rust/crates/regex-1.10.6.crate) = 253894 SHA256 (electron/rust/crates/regex-automata-0.4.7.crate) = 38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df SIZE (electron/rust/crates/regex-automata-0.4.7.crate) = 617582 SHA256 (electron/rust/crates/regex-syntax-0.8.4.crate) = 7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b SIZE (electron/rust/crates/regex-syntax-0.8.4.crate) = 347577 SHA256 (electron/rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2 SIZE (electron/rust/crates/rustc-hash-1.1.0.crate) = 9331 SHA256 (electron/rust/crates/rustc_version-0.2.3.crate) = 138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a SIZE (electron/rust/crates/rustc_version-0.2.3.crate) = 10210 SHA256 (electron/rust/crates/ryu-1.0.18.crate) = f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f SIZE (electron/rust/crates/ryu-1.0.18.crate) = 47713 SHA256 (electron/rust/crates/ryu-js-1.0.1.crate) = ad97d4ce1560a5e27cec89519dc8300d1aa6035b099821261c651486a19e44d5 SIZE (electron/rust/crates/ryu-js-1.0.1.crate) = 74220 SHA256 (electron/rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294 SIZE (electron/rust/crates/scoped-tls-1.0.1.crate) = 8202 SHA256 (electron/rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 SIZE (electron/rust/crates/scopeguard-1.2.0.crate) = 11619 SHA256 (electron/rust/crates/semver-0.9.0.crate) = 1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403 SIZE (electron/rust/crates/semver-0.9.0.crate) = 17344 SHA256 (electron/rust/crates/semver-1.0.23.crate) = 61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b SIZE (electron/rust/crates/semver-1.0.23.crate) = 30622 SHA256 (electron/rust/crates/semver-parser-0.7.0.crate) = 388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3 SIZE (electron/rust/crates/semver-parser-0.7.0.crate) = 10268 SHA256 (electron/rust/crates/serde-1.0.210.crate) = c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a SIZE (electron/rust/crates/serde-1.0.210.crate) = 78338 SHA256 (electron/rust/crates/serde_derive-1.0.210.crate) = 243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f SIZE (electron/rust/crates/serde_derive-1.0.210.crate) = 56020 SHA256 (electron/rust/crates/serde_json-1.0.128.crate) = 6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8 SIZE (electron/rust/crates/serde_json-1.0.128.crate) = 149520 SHA256 (electron/rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64 SIZE (electron/rust/crates/shlex-1.3.0.crate) = 18713 SHA256 (electron/rust/crates/simd-abstraction-0.7.1.crate) = 9cadb29c57caadc51ff8346233b5cec1d240b68ce55cf1afc764818791876987 SIZE (electron/rust/crates/simd-abstraction-0.7.1.crate) = 9170 SHA256 (electron/rust/crates/siphasher-0.3.11.crate) = 38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d SIZE (electron/rust/crates/siphasher-0.3.11.crate) = 10442 SHA256 (electron/rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67 SIZE (electron/rust/crates/smallvec-1.13.2.crate) = 35216 SHA256 (electron/rust/crates/smartstring-1.0.1.crate) = 3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29 SIZE (electron/rust/crates/smartstring-1.0.1.crate) = 29555 SHA256 (electron/rust/crates/sourcemap-9.0.0.crate) = dab08a862c70980b8e23698b507e272317ae52a608a164a844111f5372374f1f SIZE (electron/rust/crates/sourcemap-9.0.0.crate) = 43857 SHA256 (electron/rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3 SIZE (electron/rust/crates/stable_deref_trait-1.2.0.crate) = 8054 SHA256 (electron/rust/crates/stacker-0.1.17.crate) = 799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b SIZE (electron/rust/crates/stacker-0.1.17.crate) = 14699 SHA256 (electron/rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f SIZE (electron/rust/crates/static_assertions-1.1.0.crate) = 18480 SHA256 (electron/rust/crates/string_enum-0.4.4.crate) = 05e383308aebc257e7d7920224fa055c632478d92744eca77f99be8fa1545b90 SIZE (electron/rust/crates/string_enum-0.4.4.crate) = 3861 SHA256 (electron/rust/crates/swc_allocator-0.1.8.crate) = adc8bd3075d1c6964010333fae9ddcd91ad422a4f8eb8b3206a9b2b6afb4209e SIZE (electron/rust/crates/swc_allocator-0.1.8.crate) = 12576 SHA256 (electron/rust/crates/swc_atoms-0.7.0.crate) = 8ff4ad2795eabc349fb7ac1bdccb2625858a8be5545703ef31d5b5dc7a9f37f4 SIZE (electron/rust/crates/swc_atoms-0.7.0.crate) = 3503 SHA256 (electron/rust/crates/swc_cached-0.3.20.crate) = 83406221c501860fce9c27444f44125eafe9e598b8b81be7563d7036784cd05c SIZE (electron/rust/crates/swc_cached-0.3.20.crate) = 1958 SHA256 (electron/rust/crates/swc_common-0.39.0.crate) = 04012755fd21334086b5ee2467a6236afea869d0aff3bdf8b20dc07ee5f676c6 SIZE (electron/rust/crates/swc_common-0.39.0.crate) = 80673 SHA256 (electron/rust/crates/swc_compiler_base-0.22.0.crate) = 72452f40c7bc9c133b060cbc73f032d0c5ce87843d301e4ef33faa09008b83be SIZE (electron/rust/crates/swc_compiler_base-0.22.0.crate) = 5051 SHA256 (electron/rust/crates/swc_config-0.1.15.crate) = 4740e53eaf68b101203c1df0937d5161a29f3c13bceed0836ddfe245b72dd000 SIZE (electron/rust/crates/swc_config-0.1.15.crate) = 4839 SHA256 (electron/rust/crates/swc_config_macro-0.1.4.crate) = 7c5f56139042c1a95b54f5ca48baa0e0172d369bcc9d3d473dad1de36bae8399 SIZE (electron/rust/crates/swc_config_macro-0.1.4.crate) = 1717 SHA256 (electron/rust/crates/swc_ecma_ast-0.120.0.crate) = bb7f7d4a08f9a413b27506903a5a893a51bd0df6c8b91203fbb76aa217472ed6 SIZE (electron/rust/crates/swc_ecma_ast-0.120.0.crate) = 34640 SHA256 (electron/rust/crates/swc_ecma_codegen-0.157.0.crate) = 78ce83228e9304008f2df1d21e0e88d70232c438337f5faad27024974e2d3a09 SIZE (electron/rust/crates/swc_ecma_codegen-0.157.0.crate) = 52829 SHA256 (electron/rust/crates/swc_ecma_codegen_macros-0.7.7.crate) = 859fabde36db38634f3fad548dd5e3410c1aebba1b67a3c63e67018fa57a0bca SIZE (electron/rust/crates/swc_ecma_codegen_macros-0.7.7.crate) = 2945 SHA256 (electron/rust/crates/swc_ecma_minifier-0.207.0.crate) = 15739c02dff0b2b3fe10146b0105b7842b7f71e9340f226b6f1862db15a680f6 SIZE (electron/rust/crates/swc_ecma_minifier-0.207.0.crate) = 225454 SHA256 (electron/rust/crates/swc_ecma_parser-0.151.0.crate) = 3c23f8288f6a38f84a1b82896917eac3adf92e37dee19cbc1c42cebab7b48590 SIZE (electron/rust/crates/swc_ecma_parser-0.151.0.crate) = 150827 SHA256 (electron/rust/crates/swc_ecma_transforms_base-0.148.0.crate) = 0231922ee5391a452ea47f7bf6ffde401fd7ceb201b8ac6343c885758e33551e SIZE (electron/rust/crates/swc_ecma_transforms_base-0.148.0.crate) = 72533 SHA256 (electron/rust/crates/swc_ecma_transforms_macros-0.5.5.crate) = 500a1dadad1e0e41e417d633b3d6d5de677c9e0d3159b94ba3348436cdb15aab SIZE (electron/rust/crates/swc_ecma_transforms_macros-0.5.5.crate) = 3827 SHA256 (electron/rust/crates/swc_ecma_transforms_optimization-0.211.0.crate) = 5966e6e631795b350441fcfea34dd00d6ad637d182033697f606c82a74d64894 SIZE (electron/rust/crates/swc_ecma_transforms_optimization-0.211.0.crate) = 61838 SHA256 (electron/rust/crates/swc_ecma_usage_analyzer-0.32.0.crate) = ae003379b4b3f0ef1b149014a9bac0db7261ebd8b8abe03e51be3fd2b0134fe4 SIZE (electron/rust/crates/swc_ecma_usage_analyzer-0.32.0.crate) = 11954 SHA256 (electron/rust/crates/swc_ecma_utils-0.136.0.crate) = df9b03b44d3342bcf4e3f8a4c05605e07c642b537198a5534314c433a3767fe5 SIZE (electron/rust/crates/swc_ecma_utils-0.136.0.crate) = 32888 SHA256 (electron/rust/crates/swc_ecma_visit-0.106.0.crate) = f4ee9335a4ad1a78587d5cb0d75a8c718a53d40eaf37475e3eda9c4ed1741da0 SIZE (electron/rust/crates/swc_ecma_visit-0.106.0.crate) = 318891 SHA256 (electron/rust/crates/swc_eq_ignore_macros-0.1.4.crate) = 63db0adcff29d220c3d151c5b25c0eabe7e32dd936212b84cdaa1392e3130497 SIZE (electron/rust/crates/swc_eq_ignore_macros-0.1.4.crate) = 2741 SHA256 (electron/rust/crates/swc_fast_graph-0.27.0.crate) = accc67d03a5b88d5d8fc4ba051738075ba0e12194d1dc26f9f88a776026fe938 SIZE (electron/rust/crates/swc_fast_graph-0.27.0.crate) = 7100 SHA256 (electron/rust/crates/swc_macros_common-0.3.13.crate) = f486687bfb7b5c560868f69ed2d458b880cebc9babebcb67e49f31b55c5bf847 SIZE (electron/rust/crates/swc_macros_common-0.3.13.crate) = 6666 SHA256 (electron/rust/crates/swc_timer-0.27.0.crate) = f53899e4ab3f9ce3db83b4c845f8a27f37bf700b233febbc9a6da749651c2fbb SIZE (electron/rust/crates/swc_timer-0.27.0.crate) = 1680 SHA256 (electron/rust/crates/swc_visit-0.6.2.crate) = 1ceb044142ba2719ef9eb3b6b454fce61ab849eb696c34d190f04651955c613d SIZE (electron/rust/crates/swc_visit-0.6.2.crate) = 5188 SHA256 (electron/rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237 SIZE (electron/rust/crates/syn-1.0.109.crate) = 237611 SHA256 (electron/rust/crates/syn-2.0.77.crate) = 9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed SIZE (electron/rust/crates/syn-2.0.77.crate) = 268784 SHA256 (electron/rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 SIZE (electron/rust/crates/tap-1.0.1.crate) = 11316 SHA256 (electron/rust/crates/tinyvec-1.8.0.crate) = 445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938 SIZE (electron/rust/crates/tinyvec-1.8.0.crate) = 46796 SHA256 (electron/rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 SIZE (electron/rust/crates/tinyvec_macros-0.1.1.crate) = 5865 SHA256 (electron/rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef SIZE (electron/rust/crates/tracing-0.1.40.crate) = 79459 SHA256 (electron/rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7 SIZE (electron/rust/crates/tracing-attributes-0.1.27.crate) = 32241 SHA256 (electron/rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54 SIZE (electron/rust/crates/tracing-core-0.1.32.crate) = 61221 SHA256 (electron/rust/crates/triomphe-0.1.13.crate) = e6631e42e10b40c0690bf92f404ebcfe6e1fdb480391d15f17cc8e96eeed5369 SIZE (electron/rust/crates/triomphe-0.1.13.crate) = 29568 SHA256 (electron/rust/crates/typed-arena-2.0.2.crate) = 6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a SIZE (electron/rust/crates/typed-arena-2.0.2.crate) = 11848 SHA256 (electron/rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75 SIZE (electron/rust/crates/unicode-bidi-0.3.15.crate) = 56811 SHA256 (electron/rust/crates/unicode-id-0.3.5.crate) = 10103c57044730945224467c09f71a4db0071c123a0648cc3e818913bde6b561 SIZE (electron/rust/crates/unicode-id-0.3.5.crate) = 16807 SHA256 (electron/rust/crates/unicode-id-start-1.3.0.crate) = 97e2a3c5fc9de285c0e805d98eba666adb4b2d9e1049ce44821ff7707cc34e91 SIZE (electron/rust/crates/unicode-id-start-1.3.0.crate) = 43825 SHA256 (electron/rust/crates/unicode-ident-1.0.13.crate) = e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe SIZE (electron/rust/crates/unicode-ident-1.0.13.crate) = 43279 SHA256 (electron/rust/crates/unicode-normalization-0.1.24.crate) = 5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956 SIZE (electron/rust/crates/unicode-normalization-0.1.24.crate) = 126536 SHA256 (electron/rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493 SIZE (electron/rust/crates/unicode-segmentation-1.12.0.crate) = 106323 SHA256 (electron/rust/crates/unicode-width-0.1.14.crate) = 7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af SIZE (electron/rust/crates/unicode-width-0.1.14.crate) = 271615 SHA256 (electron/rust/crates/url-2.5.2.crate) = 22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c SIZE (electron/rust/crates/url-2.5.2.crate) = 79704 SHA256 (electron/rust/crates/uuid-1.10.0.crate) = 81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314 SIZE (electron/rust/crates/uuid-1.10.0.crate) = 47648 SHA256 (electron/rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a SIZE (electron/rust/crates/version_check-0.9.5.crate) = 15554 SHA256 (electron/rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423 SIZE (electron/rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131 SHA256 (electron/rust/crates/wasm-bindgen-0.2.93.crate) = a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5 SIZE (electron/rust/crates/wasm-bindgen-0.2.93.crate) = 43769 SHA256 (electron/rust/crates/wasm-bindgen-backend-0.2.93.crate) = 9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b SIZE (electron/rust/crates/wasm-bindgen-backend-0.2.93.crate) = 30344 SHA256 (electron/rust/crates/wasm-bindgen-macro-0.2.93.crate) = 585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf SIZE (electron/rust/crates/wasm-bindgen-macro-0.2.93.crate) = 6822 SHA256 (electron/rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836 SIZE (electron/rust/crates/wasm-bindgen-macro-support-0.2.93.crate) = 20642 SHA256 (electron/rust/crates/wasm-bindgen-shared-0.2.93.crate) = c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484 SIZE (electron/rust/crates/wasm-bindgen-shared-0.2.93.crate) = 7527 SHA256 (electron/rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b SIZE (electron/rust/crates/windows-sys-0.59.0.crate) = 2387323 SHA256 (electron/rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973 SIZE (electron/rust/crates/windows-targets-0.52.6.crate) = 6403 SHA256 (electron/rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3 SIZE (electron/rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718 SHA256 (electron/rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469 SIZE (electron/rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615 SHA256 (electron/rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b SIZE (electron/rust/crates/windows_i686_gnu-0.52.6.crate) = 880402 SHA256 (electron/rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66 SIZE (electron/rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940 SHA256 (electron/rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66 SIZE (electron/rust/crates/windows_i686_msvc-0.52.6.crate) = 901163 SHA256 (electron/rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78 SIZE (electron/rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363 SHA256 (electron/rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d SIZE (electron/rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707 SHA256 (electron/rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec SIZE (electron/rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564 SHA256 (electron/rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed SIZE (electron/rust/crates/wyz-0.5.1.crate) = 18790 SHA256 (electron/rust/crates/xxhash-rust-0.8.12.crate) = 6a5cbf750400958819fb6178eaa83bee5cd9c29a26a40cc241df8c70fdd46984 SIZE (electron/rust/crates/xxhash-rust-0.8.12.crate) = 21329 SHA256 (electron/rust/crates/zerocopy-0.7.35.crate) = 1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0 SIZE (electron/rust/crates/zerocopy-0.7.35.crate) = 152645 SHA256 (electron/rust/crates/zerocopy-derive-0.7.35.crate) = fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e SIZE (electron/rust/crates/zerocopy-derive-0.7.35.crate) = 37829 SHA256 (electron/yarn-4.12.0.tgz) = bd58d06826ce9542c4cd904fe10bab7bc718ea2cc39a45d9fbd15f2edb45761c SIZE (electron/yarn-4.12.0.tgz) = 1056794 -SHA256 (electron/electron42-42.2.0-node-modules.tar.xz) = e102aed0f760c44a06cc3ff83b021ad0948b1ef5ffa275fe305d1e720ada9d31 -SIZE (electron/electron42-42.2.0-node-modules.tar.xz) = 71041981 -SHA256 (electron/electron-electron-v42.2.0_GH0.tar.gz) = 2402119da6dbb964ecb1d441dbefcf07ef0e1379bb301c0e0591e27e6899cb6a -SIZE (electron/electron-electron-v42.2.0_GH0.tar.gz) = 18787426 +SHA256 (electron/electron42-42.3.0-node-modules.tar.xz) = e102aed0f760c44a06cc3ff83b021ad0948b1ef5ffa275fe305d1e720ada9d31 +SIZE (electron/electron42-42.3.0-node-modules.tar.xz) = 71041981 +SHA256 (electron/electron-electron-v42.3.0_GH0.tar.gz) = 3820ec73357209c53a7a56ca3ac58ed10a587f6fe2f9bf576ab6c3ef703f4512 +SIZE (electron/electron-electron-v42.3.0_GH0.tar.gz) = 18782866 SHA256 (electron/nodejs-node-v24.15.0_GH0.tar.gz) = 5cfb169b21878f50876e0c6a77db1a5e40d733960232682bebb5e267246a2e80 SIZE (electron/nodejs-node-v24.15.0_GH0.tar.gz) = 126716937 SHA256 (electron/nodejs-nan-675cefebca42410733da8a454c8d9391fcebfbc2_GH0.tar.gz) = 3983c68f19ed75dd37dc228eab385093ae2533132730f253f0c3d19ff10788e3 SIZE (electron/nodejs-nan-675cefebca42410733da8a454c8d9391fcebfbc2_GH0.tar.gz) = 111323 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-2a8e2123a3931038179ee06105c9e6ec336b12ea_GH0.tar.gz) = 9a6d683612d72c3d15e26a46451866ac01989665c0e2b74c61d28a78b6820f19 SIZE (electron/Mantle-Mantle-2a8e2123a3931038179ee06105c9e6ec336b12ea_GH0.tar.gz) = 81605 SHA256 (electron/EngFlow-reclient-configs-955335c30a752e9ef7bff375baab5e0819b6c00d_GH0.tar.gz) = c148f76220fc41a89ffeaf370c2cc175577be184688b12aa6fec5f8ac6c714c4 SIZE (electron/EngFlow-reclient-configs-955335c30a752e9ef7bff375baab5e0819b6c00d_GH0.tar.gz) = 13014 SHA256 (electron/rollup-rollup-v4.22.4_GH0.tar.gz) = a7e5c09f00fe50adabe27fef8455510f156cf73fee8aef1faf3804b653988e4c SIZE (electron/rollup-rollup-v4.22.4_GH0.tar.gz) = 1732642 SHA256 (electron/evanw-esbuild-v0.28.0_GH0.tar.gz) = 7aae83b197db3fd695e6f378d30fd6cbddeb93e4b1057b2c41d36ecb1dfebbc2 SIZE (electron/evanw-esbuild-v0.28.0_GH0.tar.gz) = 1993306 diff --git a/devel/electron42/files/patch-chrome_browser_about__flags.cc b/devel/electron42/files/patch-chrome_browser_about__flags.cc index 50c4b860f119..af5fc675c348 100644 --- a/devel/electron42/files/patch-chrome_browser_about__flags.cc +++ b/devel/electron42/files/patch-chrome_browser_about__flags.cc @@ -1,572 +1,572 @@ ---- chrome/browser/about_flags.cc.orig 2026-04-28 21:06:17 UTC +--- chrome/browser/about_flags.cc.orig 2026-05-18 23:17:45 UTC +++ chrome/browser/about_flags.cc @@ -340,13 +340,13 @@ #include "components/stylus_handwriting/win/features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/allocator/buildflags.h" #include "ui/ozone/public/ozone_switches.h" #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/data_protection/data_protection_features.h" #include "chrome/browser/enterprise/profile_management/profile_management_features.h" #include "chrome/browser/enterprise/webstore/features.h" @@ -355,7 +355,7 @@ // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/glic/suggestions/contextual_cueing_features.h" // nogncheck #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) @@ -368,7 +368,7 @@ #include "components/enterprise/platform_auth/platform_auth_features.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 "components/enterprise/browser/reporting/reporting_features.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -@@ -880,6 +880,23 @@ const FeatureEntry::FeatureVariation +@@ -893,6 +893,23 @@ const FeatureEntry::FeatureVariation "identity request to Android OS", 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, nullptr}, + {"using sndio by default if available", + kAudioBackendSndio, nullptr}, + {"using ALSA by default if available", + kAudioBackendAlsa, nullptr}}; +#endif + const FeatureEntry::FeatureParam kMBIModeLegacy[] = {{"mode", "legacy"}}; const FeatureEntry::FeatureParam kMBIModeEnabledPerRenderProcessHost[] = { {"mode", "per_render_process_host"}}; -@@ -1272,7 +1289,7 @@ const FeatureEntry::FeatureVariation +@@ -1285,7 +1302,7 @@ const FeatureEntry::FeatureVariation }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // A limited number of combinations of the rich autocompletion params. const FeatureEntry::FeatureParam kOmniboxRichAutocompletionAggressive1[] = { -@@ -3260,7 +3277,7 @@ const FeatureEntry::FeatureVariation kAndroidThemeReso +@@ -3273,7 +3290,7 @@ const FeatureEntry::FeatureVariation kAndroidThemeReso #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOn[] = {{"link_capturing_state", "on_by_default"}}; const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOff[] = -@@ -3286,7 +3303,7 @@ const flags_ui::FeatureEntry::FeatureVariation +@@ -3299,7 +3316,7 @@ const flags_ui::FeatureEntry::FeatureVariation #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) const char kReplaceSyncPromosWithSignInPromosDesktopFeatures[] = "ReplaceSyncPromosWithSignInPromos," "IPH_SignInBenefits," -@@ -3488,7 +3505,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent +@@ -3501,7 +3518,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kContextualCueingEnabledNoEngagementCap[] = { {"BackoffTime", "0h"}, {"BackoffMultiplierBase", "0.0"}, -@@ -4235,7 +4252,7 @@ const FeatureEntry::FeatureVariation +@@ -4266,7 +4283,7 @@ const FeatureEntry::FeatureVariation }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kNtpCustomizeChromeAutoOpenOnEveryNTP[] = { {"max_customize_chrome_auto_shown_count", "5"}, {"max_customize_chrome_auto_shown_session_count", "5"}}; -@@ -4313,7 +4330,7 @@ const FeatureEntry::FeatureVariation +@@ -4344,7 +4361,7 @@ const FeatureEntry::FeatureVariation #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kProjectsPanelWithoutThreadsVariation[] = { {"include_threads_in_projects_panel", "false"}}; const FeatureEntry::FeatureParam kProjectsPanelWithThreadsVariation[] = { -@@ -4349,7 +4366,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa +@@ -4380,7 +4397,7 @@ const FeatureEntry::FeatureVariation kSeamlessSigninVa kSeamlessSigninCompactSignin, nullptr}}; #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kProfilePickerTextVariation1[] = { {"profile-picker-variation", "keep-work-and-life-separate"}}; const FeatureEntry::FeatureParam kProfilePickerTextVariation2[] = { -@@ -5435,7 +5452,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5466,7 +5483,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableProcessIsolationUiDescription, kOsWin, FEATURE_VALUE_TYPE(features::kProcessIsolationSettings)}, #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"enable-iwa-key-distribution-component", flag_descriptions::kEnableIwaKeyDistributionComponentName, flag_descriptions::kEnableIwaKeyDistributionComponentDescription, -@@ -5639,7 +5656,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5670,7 +5687,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kUseSCContentSharingPicker)}, #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"pulseaudio-loopback-for-cast", flag_descriptions::kPulseaudioLoopbackForCastName, flag_descriptions::kPulseaudioLoopbackForCastDescription, kOsLinux, -@@ -5654,6 +5671,16 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5685,6 +5702,16 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWaylandSessionManagementName, flag_descriptions::kWaylandSessionManagementDescription, kOsLinux, FEATURE_VALUE_TYPE(features::kWaylandSessionManagement)}, + +#if BUILDFLAG(IS_BSD) + {"audio-backend", + flag_descriptions::kAudioBackendName, + flag_descriptions::kAudioBackendDescription, kOsLinux, + FEATURE_WITH_PARAMS_VALUE_TYPE( + media::kAudioBackend, + kAudioBackendVariations, + "AudioBackend")}, +#endif #endif // BUILDFLAG(IS_LINUX) #if BUILDFLAG(ENABLE_VR) -@@ -6117,7 +6144,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6148,7 +6175,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kFillOnAccountSelectDescription, kOsAll, FEATURE_VALUE_TYPE(password_manager::features::kFillOnAccountSelect)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"first-run-desktop-choice-screen-refresh", flag_descriptions::kFirstRunDesktopChoiceScreenRefreshName, flag_descriptions::kFirstRunDesktopChoiceScreenRefreshDescription, -@@ -6436,7 +6463,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6467,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) {"contextual-search-box-uses-contextual-search-provider", flag_descriptions::kContextualSearchBoxUsesContextualSearchProviderName, flag_descriptions:: -@@ -6850,7 +6877,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6880,7 +6907,7 @@ const FeatureEntry kFeatureEntries[] = { kNumSrpZpsRelatedSearches, "PowerTools")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"history-embeddings", flag_descriptions::kHistoryEmbeddingsName, flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop, FEATURE_VALUE_TYPE(history_embeddings::kHistoryEmbeddings)}, -@@ -7032,7 +7059,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7063,7 +7090,7 @@ const FeatureEntry kFeatureEntries[] = { "NtpRealboxNext")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"ntp-customize-chrome-auto-open", flag_descriptions::kNtpCustomizeChromeAutoOpenName, flag_descriptions::kNtpCustomizeChromeAutoOpenDescription, kOsDesktop, -@@ -7275,7 +7302,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7306,7 +7333,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_PRINTING) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"cups-ipp-printing-backend", flag_descriptions::kCupsIppPrintingBackendName, flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop, -@@ -7498,7 +7525,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7529,7 +7556,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-input-protection", flag_descriptions::kEnableInputProtectionName, flag_descriptions::kEnableInputProtectionDescription, kOsDesktop, FEATURE_VALUE_TYPE(views::features::kEnableInputProtection)}, -@@ -8086,7 +8113,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8117,7 +8144,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(ash::features::kGesturePropertiesDBusService)}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-network-service-sandbox", flag_descriptions::kEnableNetworkServiceSandboxName, flag_descriptions::kEnableNetworkServiceSandboxDescription, -@@ -8557,7 +8584,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8588,7 +8615,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kGlobalVaapiLockDescription, kOsCrOS | kOsLinux, FEATURE_VALUE_TYPE(media::kGlobalVaapiLock)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { "ui-debug-tools", flag_descriptions::kUIDebugToolsName, -@@ -8997,7 +9024,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9028,7 +9055,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"auto-picture-in-picture-for-video-playback", flag_descriptions::kAutoPictureInPictureForVideoPlaybackName, flag_descriptions::kAutoPictureInPictureForVideoPlaybackDescription, -@@ -9185,7 +9212,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9216,7 +9243,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kReduceTransferSizeUpdatedIPCDescription, kOsAll, FEATURE_VALUE_TYPE(network::features::kReduceTransferSizeUpdatedIPC)}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"reduce-user-agent-data-linux-platform-version", flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionName, flag_descriptions::kReduceUserAgentDataLinuxPlatformVersionDescription, -@@ -9667,7 +9694,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9698,7 +9725,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kRcapsDynamicProfileCountryDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kDynamicProfileCountry)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"enable-generic-oidc-auth-profile-management", flag_descriptions::kEnableGenericOidcAuthProfileManagementName, flag_descriptions::kEnableGenericOidcAuthProfileManagementDescription, -@@ -9677,7 +9704,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9708,7 +9735,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, -@@ -10066,7 +10093,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10097,7 +10124,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kResponsiveIframesDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kResponsiveIframes)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"replace-sync-promos-with-sign-in-promos-desktop", flag_descriptions::kReplaceSyncPromosWithSignInPromosName, flag_descriptions::kReplaceSyncPromosWithSignInPromosDescription, -@@ -10438,7 +10465,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10469,7 +10496,7 @@ const FeatureEntry kFeatureEntries[] = { segmentation_platform::features::kSegmentationSurveyPage)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later", flag_descriptions::kAutofillEnableBuyNowPayLaterName, flag_descriptions::kAutofillEnableBuyNowPayLaterDescription, -@@ -10504,7 +10531,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10535,7 +10562,7 @@ const FeatureEntry kFeatureEntries[] = { password_manager::features::kPasswordFormGroupedAffiliations)}, #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) {"contextual-cueing", flag_descriptions::kContextualCueingName, flag_descriptions::kContextualCueingDescription, kOsDesktop | kOsAndroid, FEATURE_WITH_PARAMS_VALUE_TYPE(glic::kContextualCueing, -@@ -10906,7 +10933,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10944,7 +10971,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(ui::kUseNewEtc1Encoder)}, #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"automatic-usb-detach", flag_descriptions::kAutomaticUsbDetachName, flag_descriptions::kAutomaticUsbDetachDescription, kOsAndroid | kOsLinux, FEATURE_VALUE_TYPE(features::kAutomaticUsbDetach)}, -@@ -10929,7 +10956,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10967,7 +10994,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction", flag_descriptions::kAutofillEnableAmountExtractionName, flag_descriptions::kAutofillEnableAmountExtractionDescription, -@@ -11088,7 +11115,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11126,7 +11153,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE( feature_engagement::kIPHAutofillCreditCardBenefitFeature)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"chrome-web-store-navigation-throttle", flag_descriptions::kChromeWebStoreNavigationThrottleName, flag_descriptions::kChromeWebStoreNavigationThrottleDescription, -@@ -11141,7 +11168,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11179,7 +11206,7 @@ const FeatureEntry kFeatureEntries[] = { supervised_user::kSupervisedUserUseUrlFilteringService)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction-testing", flag_descriptions::kAutofillEnableAmountExtractionTestingName, flag_descriptions::kAutofillEnableAmountExtractionTestingDescription, -@@ -11151,7 +11178,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11189,7 +11216,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"root-scrollbar-follows-browser-theme", flag_descriptions::kRootScrollbarFollowsTheme, flag_descriptions::kRootScrollbarFollowsThemeDescription, -@@ -11390,7 +11417,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11428,7 +11455,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"tab-group-home", tabs::flag_descriptions::kTabGroupHomeName, tabs::flag_descriptions::kTabGroupHomeDescription, kOsDesktop, FEATURE_VALUE_TYPE(tabs::kTabGroupHome)}, -@@ -11440,7 +11467,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11478,7 +11505,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-site-search-allow-user-override-policy", flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyName, flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyDescription, -@@ -11531,7 +11558,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11569,7 +11596,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-klarna", flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaName, flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaDescription, -@@ -11580,7 +11607,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11618,7 +11645,7 @@ const FeatureEntry kFeatureEntries[] = { #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) {"autofill-enable-buy-now-pay-later-for-externally-linked", flag_descriptions::kAutofillEnableBuyNowPayLaterForExternallyLinkedName, flag_descriptions:: -@@ -11989,7 +12016,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12027,7 +12054,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-suggestion-ui-improvements", flag_descriptions::kContextualSuggestionsUiImprovementsName, flag_descriptions::kContextualSuggestionsUiImprovementsDescription, -@@ -12081,7 +12108,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12119,7 +12146,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kCryptographyComplianceCnsa)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-reinvocation-affordance", flag_descriptions::kLensSearchReinvocationAffordanceName, flag_descriptions::kLensSearchReinvocationAffordanceDescription, -@@ -12139,7 +12166,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12177,7 +12204,7 @@ const FeatureEntry kFeatureEntries[] = { STRING_VALUE_TYPE(variations::switches::kVariationsSeedCorpus, "")}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"passkey-unlock-manager", flag_descriptions::kPasskeyUnlockManagerName, flag_descriptions::kPasskeyUnlockManagerDescription, kOsDesktop, FEATURE_VALUE_TYPE(device::kPasskeyUnlockManager)}, -@@ -12184,7 +12211,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12222,7 +12249,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kHandleMdmErrorsForDasherAccountsDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kHandleMdmErrorsForDasherAccounts)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"disable-u18-feedback-desktop", flag_descriptions::kDisableU18FeedbackDesktopName, flag_descriptions::kDisableU18FeedbackDesktopDescription, -@@ -12192,7 +12219,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12230,7 +12257,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kDisableU18FeedbackDesktop)}, #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) {"profile-creation-decline-signin-cta-experiment", flag_descriptions::kProfileCreationDeclineSigninCTAExperimentName, flag_descriptions::kProfileCreationDeclineSigninCTAExperimentDescription, -@@ -12200,7 +12227,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12238,7 +12265,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kProfileCreationDeclineSigninCTAExperiment)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-friction-reduction-experiment-prefill-name-requirement", flag_descriptions:: kProfileCreationFrictionReductionExperimentPrefillNameRequirementName, -@@ -12212,7 +12239,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12250,7 +12277,7 @@ const FeatureEntry kFeatureEntries[] = { kProfileCreationFrictionReductionExperimentPrefillNameRequirement)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-friction-reduction-experiment-remove-signin-step", flag_descriptions:: kProfileCreationFrictionReductionExperimentRemoveSigninStepName, -@@ -12224,7 +12251,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12262,7 +12289,7 @@ const FeatureEntry kFeatureEntries[] = { kProfileCreationFrictionReductionExperimentRemoveSigninStep)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-friction-reduction-experiment-skip-customize-profile", flag_descriptions:: kProfileCreationFrictionReductionExperimentSkipCustomizeProfileName, -@@ -12242,7 +12269,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12280,7 +12307,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kSearchSettingsUpdate)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"show-profile-picker-to-all-users-experiment", flag_descriptions::kShowProfilePickerToAllUsersExperimentName, flag_descriptions::kShowProfilePickerToAllUsersExperimentDescription, -@@ -12250,7 +12277,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12288,7 +12315,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kShowProfilePickerToAllUsersExperiment)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"open-all-profiles-from-profile-picker-experiment", flag_descriptions::kOpenAllProfilesFromProfilePickerExperimentName, flag_descriptions::kOpenAllProfilesFromProfilePickerExperimentDescription, -@@ -12265,7 +12292,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12303,7 +12330,7 @@ const FeatureEntry kFeatureEntries[] = { enterprise_signals::features::kProfileSignalsReportingEnabled)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"projects-panel", flag_descriptions::kProjectsPanelName, flag_descriptions::kProjectsPanelDescription, kOsDesktop, FEATURE_WITH_PARAMS_VALUE_TYPE(tab_groups::kProjectsPanel, -@@ -12309,7 +12336,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12347,7 +12374,7 @@ const FeatureEntry kFeatureEntries[] = { "AndroidDesktopZoomScaling")}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-picker-text-variations", flag_descriptions::kProfilePickerTextVariationsName, flag_descriptions::kProfilePickerTextVariationsDescription, -@@ -12320,7 +12347,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12358,7 +12385,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-optimization-filter", flag_descriptions::kLensOverlayOptimizationFilterName, flag_descriptions::kLensOverlayOptimizationFilterDescription, kOsDesktop, -@@ -12343,7 +12370,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12381,7 +12408,7 @@ const FeatureEntry kFeatureEntries[] = { MULTI_VALUE_TYPE(kConnectionAllowlistsChoices)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-with-readability-enabled", flag_descriptions::kReadAnythingWithReadabilityName, flag_descriptions::kReadAnythingWithReadabilityDescription, kOsDesktop, -@@ -12351,7 +12378,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12389,7 +12416,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-omnibox-chip", flag_descriptions::kReadAnythingOmniboxChipName, flag_descriptions::kReadAnythingOmniboxChipDescription, kOsDesktop, -@@ -12380,7 +12407,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12418,7 +12445,7 @@ const FeatureEntry kFeatureEntries[] = { autofill::features::kAutofillDisableBnplCountryCheckForTesting)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"infobar-prioritization", flag_descriptions::kInfobarPrioritizationName, flag_descriptions::kInfobarPrioritizationDescription, kOsDesktop, FEATURE_VALUE_TYPE(infobars::features::kInfobarPrioritization)}, -@@ -12391,7 +12418,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12429,7 +12456,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kInfobarRefresh)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-immersive-reading-mode", flag_descriptions::kReadAnythingImmersiveReadingModeName, flag_descriptions::kReadAnythingImmersiveReadingModeDescription, -@@ -12404,7 +12431,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12442,7 +12469,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-non-blocking-privacy-notice", flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeName, flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeDescription, -@@ -12469,7 +12496,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12507,7 +12534,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-your-saved-info-settings-page", flag_descriptions::kYourSavedInfoSettingsPageName, flag_descriptions::kYourSavedInfoSettingsPageDescription, kOsDesktop, -@@ -12630,7 +12657,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12668,7 +12695,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(autofill::features::kAutofillAiWithDataSchema)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-line-focus", flag_descriptions::kReadAnythingLineFocusName, flag_descriptions::kReadAnythingLineFocusDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kReadAnythingLineFocus)}, -@@ -12654,7 +12681,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12692,7 +12719,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(payments::android::kDeduplicateNativePaymentApps)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"password-upload-ui-update", flag_descriptions::kPasswordUploadUiUpdateName, flag_descriptions::kPasswordUploadUiUpdateDescription, -@@ -12691,7 +12718,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12729,7 +12756,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(chrome::android::kAlwaysDrawCompositedToolbarHairline)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"saas-usage-reporting", flag_descriptions::kSaasUsageReportingName, flag_descriptions::kSaasUsageReportingDescription, kOsLinux | kOsMac | kOsWin, diff --git a/devel/electron42/files/patch-chrome_browser_flag__descriptions.h b/devel/electron42/files/patch-chrome_browser_flag__descriptions.h index 812a00e65dcf..a12df4e890ac 100644 --- a/devel/electron42/files/patch-chrome_browser_flag__descriptions.h +++ b/devel/electron42/files/patch-chrome_browser_flag__descriptions.h @@ -1,21 +1,21 @@ ---- chrome/browser/flag_descriptions.h.orig 2026-04-28 21:06:17 UTC +--- chrome/browser/flag_descriptions.h.orig 2026-05-18 23:17:45 UTC +++ chrome/browser/flag_descriptions.h -@@ -8453,6 +8453,18 @@ inline constexpr char kAndroidEntraSsoDescription[] = +@@ -8465,6 +8465,18 @@ inline constexpr char kAndroidEntraSsoDescription[] = "Enables native support for Entra SSO on Android provided by selected " "Authentication Brokers."; +#if BUILDFLAG(IS_BSD) +inline constexpr char kAudioBackendName[] = + "Audio Backend"; +inline constexpr 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 + // ============================================================================ // Don't just add flags to the end, put them in the alphabetical order. // ============================================================================ diff --git a/devel/electron42/files/patch-chrome_browser_glic_host_glic__page__handler.cc b/devel/electron42/files/patch-chrome_browser_glic_host_glic__page__handler.cc index f3333bc4d6c4..0f682b5ccaa3 100644 --- a/devel/electron42/files/patch-chrome_browser_glic_host_glic__page__handler.cc +++ b/devel/electron42/files/patch-chrome_browser_glic_host_glic__page__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/glic/host/glic_page_handler.cc.orig 2026-04-28 21:06:17 UTC +--- chrome/browser/glic/host/glic_page_handler.cc.orig 2026-05-18 23:17:45 UTC +++ chrome/browser/glic/host/glic_page_handler.cc -@@ -194,7 +194,7 @@ constexpr mojom::Platform kPlatform = mojom::Platform: +@@ -195,7 +195,7 @@ constexpr mojom::Platform kPlatform = mojom::Platform: constexpr mojom::Platform kPlatform = mojom::Platform::kMacOS; #elif BUILDFLAG(IS_WIN) constexpr mojom::Platform kPlatform = mojom::Platform::kWindows; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr mojom::Platform kPlatform = mojom::Platform::kLinux; #elif BUILDFLAG(IS_CHROMEOS) constexpr mojom::Platform kPlatform = mojom::Platform::kChromeOS; diff --git a/devel/electron42/files/patch-chrome_browser_glic_public_features.cc b/devel/electron42/files/patch-chrome_browser_glic_public_features.cc index 868884ccabc6..ceccf6475d45 100644 --- a/devel/electron42/files/patch-chrome_browser_glic_public_features.cc +++ b/devel/electron42/files/patch-chrome_browser_glic_public_features.cc @@ -1,11 +1,11 @@ ---- chrome/browser/glic/public/features.cc.orig 2026-04-28 21:06:17 UTC +--- chrome/browser/glic/public/features.cc.orig 2026-05-18 23:17:45 UTC +++ chrome/browser/glic/public/features.cc -@@ -44,7 +44,7 @@ BASE_FEATURE(kGlicLiveMode, +@@ -46,7 +46,7 @@ BASE_FEATURE(kGlicLiveMode, BASE_FEATURE(kGlicCreateTabAdjacent, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kGlicLiveMode, -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_DISABLED_BY_DEFAULT #else base::FEATURE_ENABLED_BY_DEFAULT diff --git a/devel/electron42/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/devel/electron42/files/patch-chrome_browser_ui_views_frame_browser__view.cc index 87d8cdf47670..fdc3660fdff1 100644 --- a/devel/electron42/files/patch-chrome_browser_ui_views_frame_browser__view.cc +++ b/devel/electron42/files/patch-chrome_browser_ui_views_frame_browser__view.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/browser_view.cc.orig 2026-04-28 21:06:17 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2026-05-18 23:17:45 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -2471,7 +2471,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra +@@ -2472,7 +2472,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra } void BrowserView::TabDraggingStatusChanged(bool is_dragging) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) UpdateFastResizeForContentViews(is_dragging); if (!is_dragging) { -@@ -5978,7 +5978,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn +@@ -5994,7 +5994,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn } void BrowserView::MaybeShowSupervisedUserProfileSignInIPH() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ShouldShowAvatarToolbarIPH()) { return; } -@@ -5988,7 +5988,7 @@ void BrowserView::MaybeShowSignInBenefitsIPH() { +@@ -6004,7 +6004,7 @@ void BrowserView::MaybeShowSignInBenefitsIPH() { } void BrowserView::MaybeShowSignInBenefitsIPH() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ShouldShowAvatarToolbarIPH()) { return; } diff --git a/devel/electron42/files/patch-chrome_common_pref__names.h b/devel/electron42/files/patch-chrome_common_pref__names.h index 6023cc6081fa..a877234edde4 100644 --- a/devel/electron42/files/patch-chrome_common_pref__names.h +++ b/devel/electron42/files/patch-chrome_common_pref__names.h @@ -1,101 +1,101 @@ ---- chrome/common/pref_names.h.orig 2026-04-28 21:06:17 UTC +--- chrome/common/pref_names.h.orig 2026-05-18 23:17:45 UTC +++ chrome/common/pref_names.h @@ -874,7 +874,7 @@ inline constexpr char kAllowedDomainsForApps[] = inline constexpr char kAllowedDomainsForApps[] = "settings.allowed_domains_for_apps"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux specific preference on whether we should match the system theme. inline constexpr char kSystemTheme[] = "extensions.theme.system_theme"; #endif @@ -1050,7 +1050,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"; -@@ -1640,7 +1640,7 @@ inline constexpr char kPinInfoBarTimesShown[] = +@@ -1646,7 +1646,7 @@ inline constexpr char kPinInfoBarTimesShown[] = "browser.pin_infobar_times_shown"; #endif // BUILDFLAG(IS_WIN) || 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) // How many times the session restore infobar has been shown. inline constexpr char kSessionRestoreInfoBarTimesShown[] = -@@ -1687,7 +1687,7 @@ inline constexpr char kDownloadDirUpgraded[] = "downlo +@@ -1693,7 +1693,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 -@@ -2147,7 +2147,7 @@ inline constexpr char kMediaCdmOriginData[] = "media.c +@@ -2153,7 +2153,7 @@ 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[] = -@@ -2161,7 +2161,7 @@ inline constexpr char kNetworkServiceFailedLaunchMajor +@@ -2167,7 +2167,7 @@ inline constexpr char kNetworkServiceFailedLaunchMajor inline constexpr char kNetworkServiceFailedLaunchMajorVersion[] = "net.network_service_failed_launch_major_version"; -#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"; -@@ -2258,7 +2258,7 @@ inline constexpr char kIsolatedWebAppPendingInitializa +@@ -2264,7 +2264,7 @@ inline constexpr char kIsolatedWebAppPendingInitializa inline constexpr char kIsolatedWebAppPendingInitializationCount[] = "profile.isolated_web_app.install.pending_initialization_count"; -#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[] = -@@ -2643,7 +2643,7 @@ inline constexpr char kDeviceAllowEnterpriseRemoteAcce +@@ -2649,7 +2649,7 @@ inline constexpr char kDeviceAllowEnterpriseRemoteAcce #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 -@@ -3121,7 +3121,7 @@ inline constexpr char kSandboxExternalProtocolBlocked[ +@@ -3127,7 +3127,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[] = -@@ -3314,7 +3314,7 @@ inline constexpr char kLensDesktopNTPSearchEnabled[] = +@@ -3320,7 +3320,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 -@@ -3411,7 +3411,7 @@ inline constexpr char kPrintingOAuth2AuthorizationServ +@@ -3417,7 +3417,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/electron42/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc b/devel/electron42/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc index 24b83c6ea193..3ab77ac0892b 100644 --- a/devel/electron42/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc +++ b/devel/electron42/files/patch-components_media__router_common_providers_cast_channel_cast__message__util.cc @@ -1,11 +1,11 @@ ---- components/media_router/common/providers/cast/channel/cast_message_util.cc.orig 2026-04-28 21:06:17 UTC +--- components/media_router/common/providers/cast/channel/cast_message_util.cc.orig 2026-05-18 23:17:45 UTC +++ components/media_router/common/providers/cast/channel/cast_message_util.cc -@@ -156,7 +156,7 @@ int GetVirtualConnectPlatformValue() { +@@ -167,7 +167,7 @@ int GetVirtualConnectPlatformValue() { return 4; #elif BUILDFLAG(IS_CHROMEOS) return 5; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return 6; #else return 0; diff --git a/devel/electron42/files/patch-content_public_common_content__features.cc b/devel/electron42/files/patch-content_public_common_content__features.cc index 5036e26d5da2..2409f055ab80 100644 --- a/devel/electron42/files/patch-content_public_common_content__features.cc +++ b/devel/electron42/files/patch-content_public_common_content__features.cc @@ -1,45 +1,45 @@ ---- content/public/common/content_features.cc.orig 2026-04-28 21:06:17 UTC +--- content/public/common/content_features.cc.orig 2026-05-18 23:17:45 UTC +++ content/public/common/content_features.cc @@ -140,7 +140,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess, // Runs the audio service in a separate process. BASE_FEATURE(kAudioServiceOutOfProcess, -#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 @@ -150,7 +150,7 @@ BASE_FEATURE(kAudioServiceSandbox, // Enables the audio-service sandbox. This feature has an effect only when the // kAudioServiceOutOfProcess feature is enabled. BASE_FEATURE(kAudioServiceSandbox, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -1152,10 +1152,10 @@ BASE_FEATURE(kWebAssemblyTrapHandler, +@@ -1159,10 +1159,10 @@ BASE_FEATURE(kWebAssemblyTrapHandler, // Enable WebAssembly trap handler. BASE_FEATURE(kWebAssemblyTrapHandler, -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ BUILDFLAG(IS_MAC)) && \ defined(ARCH_CPU_X86_64)) || \ - ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) && \ + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) && \ defined(ARCH_CPU_ARM64)) base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -1216,7 +1216,11 @@ BASE_FEATURE(kWebUIInProcessResourceLoadingV2, +@@ -1223,7 +1223,11 @@ BASE_FEATURE(kWebUIInProcessResourceLoadingV2, // 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 // Apply `PrefetchPriority::kHighest` for Webview Prefetch API. BASE_FEATURE(kWebViewPrefetchHighestPrefetchPriority, diff --git a/devel/electron42/files/patch-electron_shell_browser_api_electron__api__app.cc b/devel/electron42/files/patch-electron_shell_browser_api_electron__api__app.cc index 84aa5d33ff60..c63e4476eb89 100644 --- a/devel/electron42/files/patch-electron_shell_browser_api_electron__api__app.cc +++ b/devel/electron42/files/patch-electron_shell_browser_api_electron__api__app.cc @@ -1,74 +1,65 @@ ---- electron/shell/browser/api/electron_api_app.cc.orig 2026-05-14 22:13:14 UTC +--- electron/shell/browser/api/electron_api_app.cc.orig 2026-05-26 16:24:13 UTC +++ electron/shell/browser/api/electron_api_app.cc -@@ -106,7 +106,7 @@ +@@ -108,7 +108,7 @@ #include "ui/base/resource/resource_bundle.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 -@@ -434,7 +434,7 @@ bool NotificationCallbackWrapper( +@@ -436,7 +436,7 @@ bool NotificationCallbackWrapper( base::CommandLine cmd, const base::FilePath& cwd, const std::vector 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. -@@ -619,7 +619,7 @@ void App::OnFinishLaunching(base::DictValue launch_inf +@@ -621,7 +621,7 @@ void App::OnFinishLaunching(base::DictValue launch_inf } void App::OnFinishLaunching(base::DictValue 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()); -@@ -968,7 +968,7 @@ void App::SetDesktopName(const std::string& desktop_na +@@ -970,7 +970,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 -@@ -1070,7 +1070,7 @@ bool App::RequestSingleInstanceLock(gin::Arguments* ar +@@ -1072,7 +1072,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. -@@ -1457,7 +1457,7 @@ std::vector App::GetAppMetrics +@@ -1459,7 +1459,7 @@ std::vector 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); -@@ -1905,7 +1905,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)) @@ -1965,7 +1965,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/electron42/files/patch-electron_shell_browser_api_electron__api__screen.cc b/devel/electron42/files/patch-electron_shell_browser_api_electron__api__screen.cc index 8633d0d91c6f..5eceb9f20a23 100644 --- a/devel/electron42/files/patch-electron_shell_browser_api_electron__api__screen.cc +++ b/devel/electron42/files/patch-electron_shell_browser_api_electron__api__screen.cc @@ -1,47 +1,47 @@ ---- electron/shell/browser/api/electron_api_screen.cc.orig 2026-05-08 13:54:01 UTC +--- electron/shell/browser/api/electron_api_screen.cc.orig 2026-05-26 16:24:13 UTC +++ electron/shell/browser/api/electron_api_screen.cc -@@ -28,7 +28,7 @@ +@@ -29,7 +29,7 @@ #include "ui/display/win/screen_win.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "shell/browser/linux/x11_util.h" #endif -@@ -90,7 +90,7 @@ gfx::Point Screen::GetCursorScreenPoint(v8::Isolate* i +@@ -91,7 +91,7 @@ gfx::Point Screen::GetCursorScreenPoint(v8::Isolate* i } gfx::Point Screen::GetCursorScreenPoint(v8::Isolate* isolate) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (x11_util::IsWayland()) return {}; #endif -@@ -164,7 +164,7 @@ gfx::PointF Screen::ScreenToDIPPoint(const gfx::PointF +@@ -165,7 +165,7 @@ gfx::PointF Screen::ScreenToDIPPoint(const gfx::PointF gfx::PointF Screen::ScreenToDIPPoint(const gfx::PointF& point_px) { #if BUILDFLAG(IS_WIN) return display::win::GetScreenWin()->ScreenToDIPPoint(point_px); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (x11_util::IsX11()) { gfx::Point pt_px = gfx::ToFlooredPoint(point_px); display::Display display = GetDisplayNearestPoint(pt_px); -@@ -183,7 +183,7 @@ gfx::Point Screen::DIPToScreenPoint(const gfx::Point& +@@ -184,7 +184,7 @@ gfx::Point Screen::DIPToScreenPoint(const gfx::Point& gfx::Point Screen::DIPToScreenPoint(const gfx::Point& point_dip) { #if BUILDFLAG(IS_WIN) return display::win::GetScreenWin()->DIPToScreenPoint(point_dip); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (x11_util::IsX11()) { display::Display display = GetDisplayNearestPoint(point_dip); gfx::Rect bounds_dip = display.bounds(); -@@ -225,7 +225,7 @@ gin::ObjectTemplateBuilder Screen::GetObjectTemplateBu +@@ -226,7 +226,7 @@ gin::ObjectTemplateBuilder Screen::GetObjectTemplateBu .SetMethod("getPrimaryDisplay", &Screen::GetPrimaryDisplay) .SetMethod("getAllDisplays", &Screen::GetAllDisplays) .SetMethod("getDisplayNearestPoint", &Screen::GetDisplayNearestPoint) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) .SetMethod("screenToDipPoint", &Screen::ScreenToDIPPoint) .SetMethod("dipToScreenPoint", &Screen::DIPToScreenPoint) #endif diff --git a/devel/electron42/files/patch-electron_shell_browser_browser.h b/devel/electron42/files/patch-electron_shell_browser_browser.h index e0f924a0c52a..ff27b71532cd 100644 --- a/devel/electron42/files/patch-electron_shell_browser_browser.h +++ b/devel/electron42/files/patch-electron_shell_browser_browser.h @@ -1,24 +1,15 @@ ---- electron/shell/browser/browser.h.orig 2026-05-08 13:54:01 UTC +--- electron/shell/browser/browser.h.orig 2026-05-26 16:24:13 UTC +++ electron/shell/browser/browser.h -@@ -155,7 +155,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 GetApplicationInfoForProtocol(v8::Isolate* isolate, - const GURL& url); -@@ -286,10 +286,10 @@ class Browser : private WindowListObserver { +@@ -284,10 +284,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/electron42/files/patch-electron_shell_browser_browser__linux.cc b/devel/electron42/files/patch-electron_shell_browser_browser__linux.cc index 559292bd551b..dd0aaec05c49 100644 --- a/devel/electron42/files/patch-electron_shell_browser_browser__linux.cc +++ b/devel/electron42/files/patch-electron_shell_browser_browser__linux.cc @@ -1,20 +1,20 @@ ---- electron/shell/browser/browser_linux.cc.orig 2026-05-19 01:17:05 UTC +--- electron/shell/browser/browser_linux.cc.orig 2026-05-26 16:24:13 UTC +++ electron/shell/browser/browser_linux.cc @@ -7,7 +7,7 @@ #include #include - + #include -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include #endif -@@ -25,7 +25,7 @@ - #include "shell/common/gin_converters/login_item_settings_converter.h" - #include "shell/common/thread_restrictions.h" +@@ -37,7 +37,7 @@ + #include "ui/gtk/gtk_compat.h" // nogncheck + #include "ui/gtk/gtk_util.h" // nogncheck -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "shell/browser/linux/unity_service.h" #endif diff --git a/devel/electron42/files/patch-electron_shell_browser_native__window__views.cc b/devel/electron42/files/patch-electron_shell_browser_native__window__views.cc index 2b51b9af8453..ac06069a2ff5 100644 --- a/devel/electron42/files/patch-electron_shell_browser_native__window__views.cc +++ b/devel/electron42/files/patch-electron_shell_browser_native__window__views.cc @@ -1,209 +1,209 @@ ---- electron/shell/browser/native_window_views.cc.orig 2026-05-08 13:54:01 UTC +--- electron/shell/browser/native_window_views.cc.orig 2026-05-26 16:24:13 UTC +++ electron/shell/browser/native_window_views.cc @@ -58,7 +58,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/notimplemented.h" #include "shell/browser/browser.h" #include "shell/browser/linux/unity_service.h" @@ -292,7 +292,7 @@ NativeWindowViews::NativeWindowViews(const int32_t bas params.parent = parent->GetNativeWindow(); params.native_widget = new ElectronDesktopNativeWidgetAura{this, widget()}; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set the WM_CLASS and XDG App ID to the same value // for best compatibility with both X11 and Wayland. const auto app_id = platform_util::GetXdgAppId(); @@ -322,7 +322,7 @@ NativeWindowViews::NativeWindowViews(const int32_t bas 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. if (options.ValueOrDefault(options::kDarkTheme, false)) SetGTKDarkThemeEnabled(true); @@ -443,7 +443,7 @@ NativeWindowViews::NativeWindowViews(const int32_t bas if (window) window->AddPreTargetHandler(this); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // The initial params.bounds was applied before the frame view existed, so // non-client insets weren't accounted for and bounds need to be set again. if (!GetRestoredFrameBorderInsets().IsEmpty()) @@ -518,7 +518,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 (x11_util::IsX11()) { const std::string color = use_dark_theme ? "dark" : "light"; auto* connection = x11::Connection::Get(); @@ -579,7 +579,7 @@ void NativeWindowViews::Show() { NotifyWindowShow(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (global_menu_bar_) global_menu_bar_->OnWindowMapped(); @@ -595,7 +595,7 @@ void NativeWindowViews::ShowInactive() { NotifyWindowShow(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (global_menu_bar_) global_menu_bar_->OnWindowMapped(); @@ -614,7 +614,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 @@ -645,7 +645,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 (x11_util::IsX11()) return !event_disabler_.get(); NOTIMPLEMENTED(); @@ -870,7 +870,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 (!CanResize()) { @@ -925,7 +925,7 @@ void NativeWindowViews::SetContentSizeConstraints( // of this to determine whether native widget has initialized. if (widget() && widget()->widget_delegate()) widget()->OnSizeConstraintsChanged(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (resizable_) old_size_constraints_ = GetSizeConstraints(); #endif @@ -1140,7 +1140,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 } @@ -1180,7 +1180,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::Get()->GetDisplayNearestWindow(GetNativeWindow()); gfx::Rect window_bounds_in_screen = display.work_area(); @@ -1284,7 +1284,7 @@ void NativeWindowViews::SetBackgroundColor(SkColor bac InvalidateRect(GetAcceleratedWidget(), nullptr, 1); #endif SkColor compositor_color = background_color; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Widget background needs to stay transparent for CSD shadow regions. LinuxFrameLayout* frame_layout = GetLinuxFrameLayout(); const bool uses_csd = @@ -1406,7 +1406,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(); @@ -1462,7 +1462,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 (x11_util::IsX11()) { auto* connection = x11::Connection::Get(); connection->SetProperty( @@ -1524,7 +1524,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); } @@ -1650,7 +1650,7 @@ content::DesktopMediaID NativeWindowViews::GetDesktopM #if BUILDFLAG(IS_WIN) window_handle = reinterpret_cast(accelerated_widget); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) window_handle = static_cast(accelerated_widget); #endif aura::WindowTreeHost* const host = @@ -1780,7 +1780,7 @@ void NativeWindowViews::SetIcon(HICON window_icon, HIC SendMessage(hwnd, WM_SETICON, ICON_BIG, reinterpret_cast(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()); @@ -1901,7 +1901,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 } -@@ -1943,7 +1943,7 @@ std::unique_ptr NativeWindowViews::C +@@ -1935,7 +1935,7 @@ std::unique_ptr NativeWindowViews::C #endif } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) LinuxFrameLayout* NativeWindowViews::GetLinuxFrameLayout() { auto* ncv = widget()->non_client_view(); if (!ncv) -@@ -1963,7 +1963,7 @@ void NativeWindowViews::HandleKeyboardEvent( +@@ -1955,7 +1955,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) -@@ -1982,7 +1982,7 @@ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* e +@@ -1974,7 +1974,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/electron42/files/patch-electron_shell_browser_ui_views_frameless__view.cc b/devel/electron42/files/patch-electron_shell_browser_ui_views_frameless__view.cc index fafd484865c0..6f61a519984b 100644 --- a/devel/electron42/files/patch-electron_shell_browser_ui_views_frameless__view.cc +++ b/devel/electron42/files/patch-electron_shell_browser_ui_views_frameless__view.cc @@ -1,11 +1,11 @@ ---- electron/shell/browser/ui/views/frameless_view.cc.orig 2026-03-17 08:46:52 UTC +--- electron/shell/browser/ui/views/frameless_view.cc.orig 2026-05-26 16:24:13 UTC +++ electron/shell/browser/ui/views/frameless_view.cc -@@ -123,7 +123,7 @@ gfx::Size FramelessView::GetMaximumSize() const { +@@ -119,7 +119,7 @@ gfx::Size FramelessView::GetMaximumSize() const { return window_->GetMaximumSize(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) LinuxFrameLayout* FramelessView::GetLinuxFrameLayout() const { return nullptr; } diff --git a/devel/electron42/files/patch-electron_shell_browser_ui_views_frameless__view.h b/devel/electron42/files/patch-electron_shell_browser_ui_views_frameless__view.h index cc8e0789535f..2d2a8aae157c 100644 --- a/devel/electron42/files/patch-electron_shell_browser_ui_views_frameless__view.h +++ b/devel/electron42/files/patch-electron_shell_browser_ui_views_frameless__view.h @@ -1,20 +1,20 @@ ---- electron/shell/browser/ui/views/frameless_view.h.orig 2026-03-17 08:46:52 UTC +--- electron/shell/browser/ui/views/frameless_view.h.orig 2026-05-26 16:24:13 UTC +++ electron/shell/browser/ui/views/frameless_view.h @@ -10,7 +10,7 @@ #include "ui/gfx/geometry/insets.h" #include "ui/views/window/non_client_view.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "shell/browser/ui/views/linux_frame_layout.h" #endif -@@ -46,7 +46,7 @@ class FramelessView : public views::FrameView { +@@ -44,7 +44,7 @@ class FramelessView : public views::FrameView { // bounds of the view, used for CSD and resize targets on some platforms. virtual gfx::Insets RestoredFrameBorderInsets() const; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) virtual LinuxFrameLayout* GetLinuxFrameLayout() const; #endif diff --git a/devel/electron42/files/patch-electron_spec_api-app-spec.ts b/devel/electron42/files/patch-electron_spec_api-app-spec.ts index 19013af4ec2e..7c24abb87228 100644 --- a/devel/electron42/files/patch-electron_spec_api-app-spec.ts +++ b/devel/electron42/files/patch-electron_spec_api-app-spec.ts @@ -1,151 +1,178 @@ ---- electron/spec/api-app-spec.ts.orig 2026-05-19 01:17:05 UTC +--- electron/spec/api-app-spec.ts.orig 2026-05-26 16:24:13 UTC +++ electron/spec/api-app-spec.ts -@@ -146,11 +146,11 @@ describe('app module', () => { +@@ -136,11 +136,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'); -@@ -229,7 +229,7 @@ describe('app module', () => { +@@ -219,7 +219,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]); -@@ -400,7 +400,7 @@ describe('app module', () => { +@@ -390,7 +390,7 @@ describe('app module', () => { }); // GitHub Actions macOS-13 runners used for x64 seem to have a problem with this test. - ifdescribe(process.platform !== 'linux' && !isMacOSx64)('app.{add|get|clear}RecentDocument(s)', () => { + ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd' && !isMacOSx64)('app.{add|get|clear}RecentDocument(s)', () => { const tempFiles = [ path.join(fixturesPath, 'foo.txt'), path.join(fixturesPath, 'bar.txt'), -@@ -529,7 +529,7 @@ describe('app module', () => { +@@ -519,7 +519,7 @@ describe('app module', () => { // let w = null // before(function () { - // if (process.platform !== 'linux') { + // if (process.platform !== 'linux' && process.platform !== 'freebsd') { // this.skip() // } // }) -@@ -642,7 +642,7 @@ describe('app module', () => { +@@ -632,7 +632,7 @@ describe('app module', () => { describe('app.badgeCount', () => { const platformIsNotSupported = - process.platform === 'win32' || (process.platform === 'linux' && !app.isUnityRunning()); + process.platform === 'win32' || (process.platform === 'linux' && !app.isUnityRunning()) || process.platform === 'freebsd'; const expectedBadgeCount = 42; -@@ -689,7 +689,7 @@ describe('app module', () => { +@@ -679,7 +679,7 @@ describe('app module', () => { }); ifdescribe( - process.platform !== 'linux' && !process.mas && (process.platform !== 'darwin' || process.arch === 'arm64') + 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'; -@@ -1106,7 +1106,7 @@ describe('app module', () => { +@@ -1096,7 +1096,7 @@ describe('app module', () => { }); }); - ifdescribe(process.platform !== 'linux')('accessibility support functionality', () => { + ifdescribe(process.platform !== 'linux' && process.platform !== 'freebsd')('accessibility support functionality', () => { it('is mutable', () => { const values = [false, true, false]; const setters: Array<(arg: boolean) => void> = [ -@@ -1376,7 +1376,7 @@ describe('app module', () => { +@@ -1366,7 +1366,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 () { -@@ -1519,7 +1519,7 @@ describe('app module', () => { +@@ -1509,7 +1509,7 @@ describe('app module', () => { describe('getApplicationNameForProtocol()', () => { // TODO: Linux CI doesn't have registered http & https handlers - ifit(!(process.env.CI && process.platform === 'linux') && !isWayland)( + ifit(!(process.env.CI && (process.platform === 'linux' || process.platform === 'freebsd')) && !isWayland)( 'returns application names for common protocols', function () { // We can't expect particular app names here, but these protocols should -@@ -1536,7 +1536,7 @@ describe('app module', () => { +@@ -1526,7 +1526,7 @@ describe('app module', () => { expect(app.getApplicationNameForProtocol('bogus-protocol://')).to.equal(''); }); - ifdescribe(process.platform === 'linux')('on Linux with mocked XDG dirs', () => { + ifdescribe(process.platform === 'linux' || process.platform === 'freebsd')('on Linux with mocked XDG dirs', () => { - const fixtureApp = path.join(fixturesPath, 'api', 'protocol-name'); const desktopFileId = 'mock-browser.desktop'; const mockDisplayName = 'Mock Browser'; -@@ -1623,7 +1623,7 @@ describe('app module', () => { + const mockScheme = 'mockproto'; +@@ -1576,7 +1576,7 @@ describe('app module', () => { + let xdgBinDir: string; + + before(() => { +- if (process.platform !== 'linux') { ++ if (process.platform !== 'linux' && process.platform !== 'freebsd') { + return; + } + +@@ -1593,7 +1593,7 @@ describe('app module', () => { + }); + + after(() => { +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + fs.rmSync(xdgDir, { recursive: true, force: true }); + } + }); +@@ -1605,7 +1605,7 @@ describe('app module', () => { + }); + + it('returns resolved promise with appPath, displayName and icon', async function () { +- if (process.platform === 'linux') { ++ if (process.platform === 'linux' || process.platform === 'freebsd') { + const appInfo = await spawnProtocolInfoWithXdgMock(`${mockScheme}://`, xdgDataHome, xdgConfigHome); + expect(appInfo.name).to.equal(mockDisplayName); + expect(appInfo.path).to.equal('/usr/bin/true'); +@@ -1619,7 +1619,7 @@ describe('app module', () => { + expect(appInfo.icon).not.to.be.undefined(); }); - }); -- 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://')).to.eventually.be.rejectedWith( - 'Unable to retrieve installation path to app' -@@ -1644,7 +1644,7 @@ describe('app module', () => { +- ifit(process.platform === 'linux')('resolves an executable name via PATH', async () => { ++ ifit(process.platform === 'linux' || process.platform === 'freebsd')('resolves an executable name via PATH', async () => { + const pathLookupExecutable = 'mock-browser'; + const pathLookupExecutablePath = path.join(xdgBinDir, pathLookupExecutable); + const pathLookupDisplayName = 'Mock Browser PATH'; +@@ -1653,7 +1653,7 @@ describe('app module', () => { }); }); - ifdescribe(process.platform === 'linux')('default protocol client APIs with mocked XDG settings', () => { + ifdescribe(process.platform === 'linux' || process.platform === 'freebsd')('default protocol client APIs with mocked XDG settings', () => { const protocol = 'electron-test-linux'; const desktopFileId = 'electron-test.desktop'; const protocolMimeType = `x-scheme-handler/${protocol}`; -@@ -1783,7 +1783,7 @@ describe('app module', () => { +@@ -1792,7 +1792,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, -@@ -1865,7 +1865,7 @@ describe('app module', () => { +@@ -1874,7 +1874,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'); } -@@ -1934,7 +1934,7 @@ describe('app module', () => { +@@ -1943,7 +1943,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'); -@@ -1958,7 +1958,7 @@ describe('app module', () => { +@@ -1967,7 +1967,7 @@ describe('app module', () => { }); }); - ifdescribe(!(process.platform === 'linux' && (process.arch === 'arm64' || process.arch === 'arm')))( + ifdescribe(!((process.platform === 'linux' || process.platform === 'freebsd') && (process.arch === 'arm64' || process.arch === 'arm')))( 'sandbox options', () => { let appProcess: cp.ChildProcess = null as any; diff --git a/devel/electron42/files/patch-electron_spec_api-utility-process-spec.ts b/devel/electron42/files/patch-electron_spec_api-utility-process-spec.ts index f6c7c1b64660..8346cbd495bf 100644 --- a/devel/electron42/files/patch-electron_spec_api-utility-process-spec.ts +++ b/devel/electron42/files/patch-electron_spec_api-utility-process-spec.ts @@ -1,20 +1,20 @@ ---- electron/spec/api-utility-process-spec.ts.orig 2026-05-07 20:19:20 UTC +--- electron/spec/api-utility-process-spec.ts.orig 2026-05-26 16:24:13 UTC +++ electron/spec/api-utility-process-spec.ts -@@ -566,7 +566,7 @@ describe('utilityProcess module', () => { +@@ -567,7 +567,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'); -@@ -603,7 +603,7 @@ describe('utilityProcess module', () => { +@@ -604,7 +604,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/electron42/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc b/devel/electron42/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc index 6ac7454ab91e..a3ec42aa65fd 100644 --- a/devel/electron42/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc +++ b/devel/electron42/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc.orig 2026-04-28 21:06:17 UTC +--- third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc.orig 2026-05-18 23:17:45 UTC +++ third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc -@@ -1472,7 +1472,7 @@ std::unique_ptr CanvasResourceProvider::CreateShare +@@ -1478,7 +1478,7 @@ std::unique_ptr CanvasResourceProvider::CreateShare gpu::SHARED_IMAGE_USAGE_CONCURRENT_READ_WRITE); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // WebGpu preferred canvas on linux is RGBA and interop (vk on gl) is // dependent on canvas copies being RGBA (not BGRA). should_force_bgra8_to_rgba = true; diff --git a/devel/electron42/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/devel/electron42/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc index a487d4c28518..4ded11ac8e55 100644 --- a/devel/electron42/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc +++ b/devel/electron42/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc @@ -1,29 +1,29 @@ ---- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2026-04-28 21:06:17 UTC +--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2026-05-18 23:17:45 UTC +++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc @@ -51,7 +51,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 @@ -357,7 +357,7 @@ DesktopWindowTreeHostPlatform::CreateDragDropClient() DesktopWindowTreeHostPlatform::CreateDragDropClient() { ui::WmDragHandler* drag_handler = ui::GetWmDragHandler(*(platform_window())); std::unique_ptr drag_drop_client = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::make_unique(window(), drag_handler); #else std::make_unique(window(), drag_handler); -@@ -1231,7 +1231,7 @@ bool DesktopWindowTreeHostPlatform::RotateFocusForWidg +@@ -1239,7 +1239,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,