diff options
author | Rene Ladan <rene@FreeBSD.org> | 2024-06-15 16:20:35 +0000 |
---|---|---|
committer | Rene Ladan <rene@FreeBSD.org> | 2024-06-15 16:20:35 +0000 |
commit | 5f807f7a30d22a62f2be4e76a573fdc707f1f0ac (patch) | |
tree | d6c8eced610142a5d33c6a7822b18b17a09f1b63 | |
parent | 03b36d9464fb75cd105552e4f479a6acf93f366f (diff) |
devel/electron25: Remove expired port
2024-02-29 devel/electron25: EOLed upstream, switch to newer version
1292 files changed, 1 insertions, 42222 deletions
@@ -3313,3 +3313,4 @@ www/apt-cacher-ng||2024-06-15|Has expired: Outdated and unsupported version, cur audio/taglookup||2024-06-15|Has expired: Obsolete, depends on legacy service that is defunct once again www/vieb||2024-06-15|Has expired: Outdated and depends on expired (and blacklisted) devel/electron25 textproc/obsidian||2024-06-15|Has expired: Outdated and depends on expired (and blacklisted) devel/electron25 +devel/electron25||2024-06-15|Has expired: EOLed upstream, switch to newer version diff --git a/devel/Makefile b/devel/Makefile index e8eb0849aedc..78e75e39b390 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -623,7 +623,6 @@ SUBDIR += efl SUBDIR += egypt SUBDIR += eiffelstudio - SUBDIR += electron25 SUBDIR += electron27 SUBDIR += electron28 SUBDIR += electron29 diff --git a/devel/electron25/Makefile b/devel/electron25/Makefile deleted file mode 100644 index 507a89a53689..000000000000 --- a/devel/electron25/Makefile +++ /dev/null @@ -1,435 +0,0 @@ -PORTNAME= electron -DISTVERSIONPREFIX= v -DISTVERSION= ${ELECTRON_VER:S/-beta./.b/} -PORTREVISION= 3 -CATEGORIES= devel -MASTER_SITES= https://github.com/tagattie/FreeBSD-Electron/releases/download/v25.5.0/:chromium \ - https://commondatastorage.googleapis.com/chromium-nodejs/:chromium_node \ - https://commondatastorage.googleapis.com/chromium-fonts/:chromium_testfonts -PKGNAMESUFFIX= ${ELECTRON_VER_MAJOR} -DISTFILES= chromium-${CHROMIUM_VER}${EXTRACT_SUFX}:chromium \ - ${CHROMIUM_NODE_MODULES_HASH}:chromium_node \ - ${CHROMIUM_TEST_FONTS_HASH}:chromium_testfonts \ - electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX}:prefetch -DIST_SUBDIR= ${PORTNAME} - -MAINTAINER= tagattie@FreeBSD.org -COMMENT= Build cross-platform desktop apps with JavaScript, HTML, and CSS -WWW= https://electronjs.org/ - -LICENSE= BSD3CLAUSE LGPL21 MPL11 MIT -LICENSE_COMB= multi -LICENSE_FILE= ${WRKSRC}/electron/LICENSE - -DEPRECATED= EOLed upstream, switch to newer version -EXPIRATION_DATE= 2024-02-29 - -ONLY_FOR_ARCHS= aarch64 amd64 i386 - -FETCH_DEPENDS= yarn-node18>0:www/yarn-node18 -EXTRACT_DEPENDS=yarn-node18>0:www/yarn-node18 -PATCH_DEPENDS= git:devel/git -BUILD_DEPENDS= gperf:devel/gperf \ - yasm:devel/yasm \ - ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri \ - ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ - node18>0:www/node18 \ - npm-node18>0:www/npm-node18 -LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core \ - libatspi.so:accessibility/at-spi2-core \ - libsnappy.so:archivers/snappy \ - libFLAC.so:audio/flac \ - libopus.so:audio/opus \ - libdbus-1.so:devel/dbus \ - libicuuc.so:devel/icu \ - libepoll-shim.so:devel/libepoll-shim \ - libevent.so:devel/libevent \ - libffi.so:devel/libffi \ - libnotify.so:devel/libnotify \ - libpci.so:devel/libpci \ - libnspr4.so:devel/nspr \ - libre2.so:devel/re2 \ - libdrm.so:graphics/libdrm \ - libpng.so:graphics/png \ - libwayland-client.so:graphics/wayland \ - libwebp.so:graphics/webp \ - libdav1d.so:multimedia/dav1d \ - libva.so:multimedia/libva \ - libopenh264.so:multimedia/openh264 \ - libfreetype.so:print/freetype2 \ - libharfbuzz.so:print/harfbuzz \ - libsecret-1.so:security/libsecret \ - libnss3.so:security/nss \ - libexpat.so:textproc/expat2 \ - libxkbcommon.so:x11/libxkbcommon \ - libxshmfence.so:x11/libxshmfence \ - libfontconfig.so:x11-fonts/fontconfig -RUN_DEPENDS= xdg-open:devel/xdg-utils -TEST_DEPENDS= git:devel/git \ - ${PYTHON_PKGNAMEPREFIX}python-dbusmock>0:devel/py-python-dbusmock@${PY_FLAVOR} \ - npm-node18>0:www/npm-node18 - -USES= bison compiler:c++17-lang cpe gettext-tools gl gmake gnome \ - iconv:wchar_t jpeg localbase:ldflags ninja pkgconfig \ - python:build,test shebangfix tar:xz xorg - -CPE_VENDOR= electronjs -USE_GITHUB= yes -GH_TAGNAME= ${DISTVERSIONPREFIX}${ELECTRON_VER} -GH_TUPLE= nodejs:node:v${NODE_VER}:node \ - nodejs:nan:${NAN_VER}:nan \ - Squirrel:Squirrel.Mac:${SQUIRREL_MAC_VER}:squirrel_mac \ - ReactiveCocoa:ReactiveObjC:${REACTIVEOBJC_VER}:reactiveobjc \ - Mantle:Mantle:${MANTLE_VER}:mantle -USE_GL= gbm gl glesv2 -USE_GNOME= atk cairo gdkpixbuf2 gtk30 libxml2 libxslt pango -USE_LDCONFIG= ${DATADIR} -USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \ - xrender xscrnsaver xtst - -SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper buildtools/linux64/clang-format - -MAKE_ARGS= -C out/${BUILDTYPE} -MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ - CPLUS_INCLUDE_PATH=${LOCALBASE}/include -ALL_TARGET= electron third_party/electron_node:headers -POST_BUILD_TARGETS= licenses version -POST_BUILD_DIST_TARGETS=electron_dist_zip electron_chromedriver_zip \ - electron_mksnapshot_zip - -DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX} -BINARY_ALIAS= python3=${PYTHON_CMD} - -NO_WRKSUBDIR= yes -WRKSRC_SUBDIR= src - -GN_ARGS+= clang_use_chrome_plugins=false \ - enable_backup_ref_ptr_support=false \ - enable_hangout_services_extension=true \ - enable_nacl=false \ - enable_remoting=false \ - fatal_linker_warnings=false \ - icu_use_data_file=false \ - is_clang=true \ - optimize_webui=true \ - toolkit_views=true \ - treat_warnings_as_errors=false \ - use_allocator_shim=false \ - use_aura=true \ - use_custom_libcxx=false \ - use_gnome_keyring=false \ - use_lld=true \ - use_partition_alloc=true \ - use_partition_alloc_as_malloc=false \ - use_sysroot=false \ - use_system_freetype=false \ - use_system_harfbuzz=true \ - use_system_libffi=true \ - use_system_libjpeg=true \ - use_udev=false \ - chrome_pgo_phase=0 \ - extra_cxxflags="${CXXFLAGS}" \ - extra_ldflags="${LDFLAGS}" \ - ffmpeg_branding="${FFMPEG_BRAND}" - -# TODO: investigate building with these options: -# use_system_minigbm -GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles - -PLIST_SUB= ELECTRON_VER=${ELECTRON_VER} \ - ELECTRON_VER_MAJOR=${ELECTRON_VER_MAJOR} - -OPTIONS_DEFINE= CODECS CUPS DEBUG DIST DRIVER KERBEROS LTO -OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS SNDIO -OPTIONS_EXCLUDE_aarch64=LTO -OPTIONS_GROUP= AUDIO -OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO -OPTIONS_RADIO= KERBEROS -OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT -OPTIONS_SUB= yes -CODECS_DESC= Compile and enable patented codecs like H.264 -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) - -ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib -ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ - alsa-lib>=1.1.1_1:audio/alsa-lib -ALSA_VARS= GN_ARGS+=use_alsa=true -ALSA_VARS_OFF= GN_ARGS+=use_alsa=false - -CODECS_VARS= GN_ARGS+=proprietary_codecs=true \ - FFMPEG_BRAND="Chrome" -CODECS_VARS_OFF= GN_ARGS+=proprietary_codecs=false \ - FFMPEG_BRAND="Chromium" - -CUPS_LIB_DEPENDS= libcups.so:print/cups -CUPS_VARS= GN_ARGS+=use_cups=true -CUPS_VARS_OFF= GN_ARGS+=use_cups=false - -DEBUG_BUILD_DEPENDS= esbuild:devel/esbuild -DEBUG_VARS= BUILDTYPE=Debug \ - GN_FILE=testing.gn \ - GN_ARGS+=is_debug=true \ - GN_ARGS+=is_component_build=false \ - GN_ARGS+=symbol_level=1 \ - GN_BOOTSTRAP_FLAGS+=--debug \ - WANTSPACE="21 GB" -DEBUG_VARS_OFF= BUILDTYPE=Release \ - GN_FILE=release.gn \ - GN_ARGS+=blink_symbol_level=0 \ - GN_ARGS+=is_debug=false \ - GN_ARGS+=is_official_build=true \ - GN_ARGS+=symbol_level=0 \ - WANTSPACE="14 GB" - -DIST_IMPLIES= DRIVER -DRIVER_MAKE_ARGS= chromedriver - -HEIMDAL_LIB_DEPENDS= libkrb5.so.26:security/heimdal -KERBEROS_VARS= GN_ARGS+=use_kerberos=true -KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false - -LTO_VARS= GN_ARGS+=use_thin_lto=true \ - GN_ARGS+=thin_lto_enable_optimizations=true \ - WANTSPACE="14 GB" -LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false - -MIT_LIB_DEPENDS= libkrb5.so.3:security/krb5 -PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio -PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true -PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false - -# With SNDIO=on we exclude audio_manager_linux from the build (see -# media/audio/BUILD.gn) and use audio_manager_openbsd which does not -# support falling back to ALSA or PulseAudio. -SNDIO_PREVENTS= ALSA PULSEAUDIO -SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio -SNDIO_VARS= GN_ARGS+=use_sndio=true -SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false - -# See ${WRKSRC}/electron/DEPS for CHROMIUM_VER -CHROMIUM_VER= 114.0.5735.289 -# See ${WRKSRC}/third_party/node/node_modules.tar.gz.sha1 for CHROMIUM_NODE_MODULES_HASH -CHROMIUM_NODE_MODULES_HASH= de0af8ec3401004cd1a420ab25892880330464c8 -# See ${WRKSRC}/third_party/test_fonts/test_fonts.tar.gz.sha1 for CHROMIUM_TEST_FONTS_HASH -CHROMIUM_TEST_FONTS_HASH= 336e775eec536b2d785cc80eff6ac39051931286 -# See ${WRKSRC}/electron/DEPS for NODE_VER -NODE_VER= 18.15.0 -# See ${WRKSRC}/electron/DEPS for NAN_VER -NAN_VER= 16fa32231e2ccd89d2804b3f765319128b20c4ac -# See ${WRKSRC}/electron/DEPS for SQUIRREL_MAC_VER -SQUIRREL_MAC_VER= 0e5d146ba13101a1302d59ea6e6e0b3cace4ae38 -# See ${WRKSRC}/electron/DEPS for REACTIVEOBJC_VER -REACTIVEOBJC_VER= 74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76 -# See ${WRKSRC}/electron/DEPS for MANTLE_VER -MANTLE_VER= 78d3966b3c331292ea29ec38661b25df0a245948 - -YARN_TIMESTAMP= 1701939428 - -.include "Makefile.version" -.include <bsd.port.pre.mk> - -.if ${PORT_OPTIONS:MHEIMDAL_BASE} && !exists(/usr/lib/libkrb5.so) -IGNORE= you have selected HEIMDAL_BASE but do not have Heimdal installed in base -.endif - -.if ${COMPILER_VERSION} < 150 -LLVM_DEFAULT= 15 -BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} -BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ - cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ - c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \ - ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ - nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \ - ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} -.else -BINARY_ALIAS+= ar=/usr/bin/llvm-ar \ - nm=/usr/bin/llvm-nm -.endif - -.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 - -pre-everything:: - @${ECHO_MSG} - @${ECHO_MSG} "To build electron, you should have around 2GB of memory" - @${ECHO_MSG} "and around ${WANTSPACE} of free disk space." - @${ECHO_MSG} - -pre-fetch: - @${MKDIR} ${DISTDIR}/${DIST_SUBDIR} - if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX} ]; \ - then ${MKDIR} ${WRKDIR}; \ - ${ECHO_CMD} 'yarn-offline-mirror "./yarn-offline-cache"' >> \ - ${WRKDIR}/.yarnrc; \ - ${CP} ${FILESDIR}/package.json ${FILESDIR}/yarn.lock ${WRKDIR}; \ - cd ${WRKDIR} && ${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache \ - yarn --frozen-lockfile --ignore-scripts; \ - ${MTREE_CMD} -cbnSp yarn-offline-cache | ${MTREE_CMD} -C | ${SED} \ - -e 's:time=[0-9.]*:time=${YARN_TIMESTAMP}.000000000:' \ - -e 's:\([gu]id\)=[0-9]*:\1=0:g' \ - -e 's:mode=\([0-9]\)7[0-9][0-9]:mode=\1755:' \ - -e 's:mode=\([0-9]\)6[0-9][0-9]:mode=\1644:' \ - -e 's:flags=.*:flags=none:' \ - -e 's:^\.:./yarn-offline-cache:' > yarn-offline-cache.mtree; \ - ${TAR} cJf ${DISTDIR}/${DIST_SUBDIR}/electron-yarn-cache-${ELECTRON_VER}${EXTRACT_SUFX} \ - @yarn-offline-cache.mtree; \ - ${RM} -r ${WRKDIR}; \ - fi - -post-extract: -# Move extracted sources to appropriate locations - ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_VER} ${WRKSRC} - ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${PORTNAME}-${ELECTRON_VER} ${WRKSRC}/electron - ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_nan}-${NAN_VER} \ - ${WRKSRC}/third_party/nan - ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_node}-${NODE_VER} \ - ${WRKSRC}/third_party/electron_node - ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_squirrel_mac}-${SQUIRREL_MAC_VER} \ - ${WRKSRC}/third_party/squirrel.mac - ${MKDIR} ${WRKSRC}/third_party/squirrel.mac/vendor - ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_reactiveobjc}-${REACTIVEOBJC_VER} \ - ${WRKSRC}/third_party/squirrel.mac/vendor/ReactiveObjC - ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_mantle}-${MANTLE_VER} \ - ${WRKSRC}/third_party/squirrel.mac/vendor/Mantle - ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/node_modules ${WRKSRC}/third_party/node - ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/test_fonts ${WRKSRC}/third_party/test_fonts -# Install node modules for electron - ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/yarn-offline-cache ${WRKDIR} - ${ECHO_CMD} 'yarn-offline-mirror "../../../yarn-offline-cache"' >> ${WRKSRC}/electron/.yarnrc - ${MV} ${WRKSRC}/electron/package.json ${WRKSRC}/electron/package.json.bak - ${CP} ${FILESDIR}/package.json ${WRKSRC}/electron - cd ${WRKSRC}/electron && \ - ${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache yarn --frozen-lockfile --offline - -pre-patch: - ${SH} ${FILESDIR}/apply-electron-patches.sh ${WRKSRC} - # ${FIND} ${WRKSRC} -type f -name '*.orig' -print -delete - # ${FIND} ${WRKSRC} -type f -name '*~' -print -delete - -pre-configure: - # We used to remove bundled libraries to be sure that chromium uses - # system libraries and not shipped ones. - # cd ${WRKSRC} && ${PYTHON_CMD} \ - #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] - cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ - ./build/linux/unbundle/replace_gn_files.py --system-libraries \ - dav1d flac fontconfig freetype harfbuzz-ng icu libdrm libevent \ - libpng libusb libwebp libxml libxslt openh264 opus snappy || ${FALSE} - # Chromium uses an unreleased version of FFmpeg, so configure it - cd ${WRKSRC}/third_party/ffmpeg && \ - ${PYTHON_CMD} chromium/scripts/build_ffmpeg.py freebsd ${FFMPEG_TARGET} \ - --config-only --branding=${FFMPEG_BRAND} - cd ${FFMPEG_BDIR} && ${GMAKE} ffversion.h - ${MKDIR} ${FFMPEG_CDIR} -.for _e in config.h config.asm config_components.h libavcodec libavformat libavutil - -${CP} -pR ${FFMPEG_BDIR}/${_e} ${FFMPEG_CDIR} -.endfor - -do-configure: - # GN generator bootstrapping and generating ninja files - cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \ - READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ - ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} - cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn gen out/${BUILDTYPE} \ - --args='import("//electron/build/args/${GN_FILE}") ${GN_ARGS}' - - # Setup nodejs dependency - @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin - ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node - - # Setup buildtools/freebsd - @${MKDIR} ${WRKSRC}/buildtools/freebsd - ${LN} -sf ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd - ${LN} -sf ${WRKSRC}/out/${BUILDTYPE}/gn ${WRKSRC}/buildtools/freebsd - ${LN} -sf /usr/bin/strip ${WRKSRC}/buildtools/freebsd/strip - -post-build: - cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \ - ${MAKE_CMD} ${MAKE_ARGS} ${POST_BUILD_TARGETS} - -post-build-DIST-on: - cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} \ - ${MAKE_CMD} ${MAKE_ARGS} ${POST_BUILD_DIST_TARGETS} - cd ${WRKSRC}/out/${BUILDTYPE} && \ - ${CP} chromedriver.zip chromedriver-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \ - ${CP} dist.zip electron-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \ - ${CP} mksnapshot.zip mksnapshot-v${ELECTRON_VER}-freebsd-${ARCH:S/amd64/x64/:S/i386/ia32/}.zip && \ - ${SHA256} -r *-v${ELECTRON_VER}-freebsd-*.zip | ${SED} -e 's/ / */' > SHASUMS256.txt - -do-install: - ${MKDIR} ${STAGEDIR}${DATADIR} -.for f in electron mksnapshot v8_context_snapshot_generator - ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} -.endfor -.for f in libEGL.so libGLESv2.so libffmpeg.so libvk_swiftshader.so - ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} -.endfor - ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 ${STAGEDIR}${DATADIR}/libvulkan.so -.for f in LICENSE LICENSES.chromium.html snapshot_blob.bin v8_context_snapshot.bin version vk_swiftshader_icd.json - ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} -.endfor -.for f in chrome_100_percent.pak chrome_200_percent.pak resources.pak - ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} -.endfor - ${MKDIR} ${STAGEDIR}${DATADIR}/locales - ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/locales/*.pak ${STAGEDIR}${DATADIR}/locales - ${MKDIR} ${STAGEDIR}${DATADIR}/resources -.for f in default_app.asar - ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/resources/${f} ${STAGEDIR}${DATADIR}/resources -.endfor - cd ${WRKSRC}/out/${BUILDTYPE}/gen && ${COPYTREE_SHARE} node_headers ${STAGEDIR}${DATADIR} - cd ${WRKSRC}/out/${BUILDTYPE} && ${COPYTREE_SHARE} gen/electron/buildflags ${STAGEDIR}${DATADIR} - cd ${WRKSRC}/out/${BUILDTYPE} && ${COPYTREE_SHARE} gen/v8/embedded.S ${STAGEDIR}${DATADIR} - ${RLN} ${STAGEDIR}${DATADIR}/electron ${STAGEDIR}${PREFIX}/bin/electron${PKGNAMESUFFIX} - -post-install-DIST-on: - ${MKDIR} ${STAGEDIR}${DATADIR}/releases - ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/SHASUMS256.txt ${STAGEDIR}${DATADIR}/releases - ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*-v${ELECTRON_VER}-freebsd-*.zip ${STAGEDIR}${DATADIR}/releases - -post-install-DRIVER-on: - ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver.unstripped \ - ${STAGEDIR}${DATADIR}/chromedriver - -do-test: -# Note 1: "npm install" will run before actual tests are executed -# Note 2: Xvfb or something similar is necessary for headless testing - cd ${WRKSRC}/electron && \ - ${SETENV} ${TEST_ENV} ELECTRON_OUT_DIR=${BUILDTYPE} LOCAL_GIT_DIRECTORY=${LOCALBASE} \ - npm run test -- --ci - -.include <bsd.port.post.mk> diff --git a/devel/electron25/Makefile.version b/devel/electron25/Makefile.version deleted file mode 100644 index 62a8db4fb49b..000000000000 --- a/devel/electron25/Makefile.version +++ /dev/null @@ -1,2 +0,0 @@ -ELECTRON_VER= 25.9.8 -ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//} diff --git a/devel/electron25/distinfo b/devel/electron25/distinfo deleted file mode 100644 index 418a4c09e2ad..000000000000 --- a/devel/electron25/distinfo +++ /dev/null @@ -1,21 +0,0 @@ -TIMESTAMP = 1701944991 -SHA256 (electron/chromium-114.0.5735.289.tar.xz) = 12dee4e585dab6e7dc2117f4ee40484a947ac7a6b5a33c87dfae7cbf8b8799b0 -SIZE (electron/chromium-114.0.5735.289.tar.xz) = 1413670648 -SHA256 (electron/de0af8ec3401004cd1a420ab25892880330464c8) = 401097f07b4feb3e03ce7c2412e978b32aea5334f4fbaf26f873e60e8bb92647 -SIZE (electron/de0af8ec3401004cd1a420ab25892880330464c8) = 8880520 -SHA256 (electron/336e775eec536b2d785cc80eff6ac39051931286) = a2ca2962daf482a8f943163541e1c73ba4b2694fabcd2510981f2db4eda493c8 -SIZE (electron/336e775eec536b2d785cc80eff6ac39051931286) = 32624734 -SHA256 (electron/electron-yarn-cache-25.9.8.tar.xz) = 60369f9fa9712c603ae6d5941a1af23a8164c01f21b996146b4f2ceaf4f7be8a -SIZE (electron/electron-yarn-cache-25.9.8.tar.xz) = 41289468 -SHA256 (electron/electron-electron-v25.9.8_GH0.tar.gz) = 6e1f3bf52b4ed364ca301bea5927df1c51592373cfd66926e3205b7244e6c717 -SIZE (electron/electron-electron-v25.9.8_GH0.tar.gz) = 11386767 -SHA256 (electron/nodejs-node-v18.15.0_GH0.tar.gz) = 33c4b5b77c98398a3c0d99a146f602d164e014ff3a5713697beef1a971faf573 -SIZE (electron/nodejs-node-v18.15.0_GH0.tar.gz) = 111925667 -SHA256 (electron/nodejs-nan-16fa32231e2ccd89d2804b3f765319128b20c4ac_GH0.tar.gz) = 3807ae6a1e451a29f068540472f100f9718d457c60ac62f2f8469d1d57475d39 -SIZE (electron/nodejs-nan-16fa32231e2ccd89d2804b3f765319128b20c4ac_GH0.tar.gz) = 179355 -SHA256 (electron/Squirrel-Squirrel.Mac-0e5d146ba13101a1302d59ea6e6e0b3cace4ae38_GH0.tar.gz) = f4ebb40a8d85dbb7ef02aa0571b2f8e22182c6d73b6992484a53c90047779d01 -SIZE (electron/Squirrel-Squirrel.Mac-0e5d146ba13101a1302d59ea6e6e0b3cace4ae38_GH0.tar.gz) = 2112918 -SHA256 (electron/ReactiveCocoa-ReactiveObjC-74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76_GH0.tar.gz) = 88e65f116c7a06fccedb43970fba63080a57a4e5dc29147d2cdfe1ee58dd0546 -SIZE (electron/ReactiveCocoa-ReactiveObjC-74ab5baccc6f7202c8ac69a8d1e152c29dc1ea76_GH0.tar.gz) = 1136238 -SHA256 (electron/Mantle-Mantle-78d3966b3c331292ea29ec38661b25df0a245948_GH0.tar.gz) = a365df6d83e0be3cc000b70bd39734d80c28f0d9983ebe44698337a2ca464bb1 -SIZE (electron/Mantle-Mantle-78d3966b3c331292ea29ec38661b25df0a245948_GH0.tar.gz) = 62962 diff --git a/devel/electron25/files/apply-electron-patches.sh b/devel/electron25/files/apply-electron-patches.sh deleted file mode 100644 index 9d974b536054..000000000000 --- a/devel/electron25/files/apply-electron-patches.sh +++ /dev/null @@ -1,26 +0,0 @@ -#! /bin/sh - -PATH=/bin:/usr/bin:/usr/local/bin - -GIT_CMD="git" -PATCH_CMD="${GIT_CMD} apply" -#PATCH_FLAGS="--numstat --check" # for debugging -PATCH_FLAGS="--verbose --reject" - -WRKSRC=$1 -PATCH_CONF=${WRKSRC}/electron/patches/config.json - -${GIT_CMD} status "${WRKSRC}" > /dev/null 2>&1 && IS_GIT_REPO=1 - -PATCHD_REPOD_PAIRS=$(sed -e '1d; $d; /^$/d; s/[",]//g; s/: */:/' "${PATCH_CONF}") -for prp in ${PATCHD_REPOD_PAIRS}; do - pd=$(echo "${prp}" | awk -F: '{print $1}' | sed -e 's/src/./') - rd=$(echo "${prp}" | awk -F: '{print $2}' | sed -e 's/src/./') - (cd "${WRKSRC}/${rd}" && \ - if [ -n "${IS_GIT_REPO}" ]; then - PATCH_FLAGS="${PATCH_FLAGS} --directory=$(${GIT_CMD} rev-parse --show-prefix)" - fi && \ - while read -r p; do - ${PATCH_CMD} ${PATCH_FLAGS} "${WRKSRC}/${pd}/${p}" - done < "${WRKSRC}/${pd}/.patches") -done diff --git a/devel/electron25/files/package.json b/devel/electron25/files/package.json deleted file mode 100644 index ba5b6e58c0a2..000000000000 --- a/devel/electron25/files/package.json +++ /dev/null @@ -1,155 +0,0 @@ -{ - "name": "electron", - "version": "0.0.0-development", - "repository": "https://github.com/electron/electron", - "description": "Build cross platform desktop apps with JavaScript, HTML, and CSS", - "devDependencies": { - "@azure/storage-blob": "^12.9.0", - "@electron/asar": "^3.2.1", - "@electron/docs-parser": "^1.1.0", - "@electron/fiddle-core": "^1.0.4", - "@electron/github-app-auth": "^2.0.0", - "@electron/lint-roller": "^1.5.0", - "@electron/typescript-definitions": "^8.14.0", - "@octokit/rest": "^19.0.7", - "@primer/octicons": "^10.0.0", - "@types/basic-auth": "^1.1.3", - "@types/busboy": "^1.5.0", - "@types/chai": "^4.2.12", - "@types/chai-as-promised": "^7.1.3", - "@types/dirty-chai": "^2.0.2", - "@types/express": "^4.17.13", - "@types/fs-extra": "^9.0.1", - "@types/klaw": "^3.0.1", - "@types/minimist": "^1.2.0", - "@types/mocha": "^7.0.2", - "@types/node": "^18.11.18", - "@types/semver": "^7.3.3", - "@types/send": "^0.14.5", - "@types/split": "^1.0.0", - "@types/stream-json": "^1.5.1", - "@types/temp": "^0.8.34", - "@types/uuid": "^3.4.6", - "@types/w3c-web-serial": "^1.0.3", - "@types/webpack": "^5.28.0", - "@types/webpack-env": "^1.17.0", - "@typescript-eslint/eslint-plugin": "^4.4.1", - "@typescript-eslint/parser": "^4.4.1", - "aws-sdk": "^2.814.0", - "buffer": "^6.0.3", - "check-for-leaks": "^1.2.1", - "colors": "1.4.0", - "dotenv-safe": "^4.0.4", - "dugite": "^2.3.0", - "eslint": "^7.4.0", - "eslint-config-standard": "^14.1.1", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-mocha": "^7.0.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-standard": "^4.0.1", - "eslint-plugin-typescript": "^0.14.0", - "events": "^3.2.0", - "express": "^4.16.4", - "folder-hash": "^2.1.1", - "fs-extra": "^9.0.1", - "got": "^11.8.5", - "husky": "^8.0.1", - "klaw": "^3.0.0", - "lint": "^1.1.2", - "lint-staged": "^10.2.11", - "minimist": "^1.2.6", - "null-loader": "^4.0.0", - "pre-flight": "^1.1.0", - "process": "^0.11.10", - "remark-cli": "^10.0.0", - "remark-preset-lint-markdown-style-guide": "^4.0.0", - "semver": "^5.6.0", - "shx": "^0.3.2", - "stream-json": "^1.7.1", - "tap-xunit": "^2.4.1", - "temp": "^0.8.3", - "timers-browserify": "1.4.2", - "ts-loader": "^8.0.2", - "ts-node": "6.2.0", - "typescript": "^4.5.5", - "webpack": "^5.76.0", - "webpack-cli": "^4.10.0", - "wrapper-webpack-plugin": "^2.2.0" - }, - "private": true, - "scripts": { - "asar": "asar", - "generate-version-json": "node script/generate-version-json.js", - "lint": "node ./script/lint.js && npm run lint:docs", - "lint:js": "node ./script/lint.js --js", - "lint:clang-format": "python3 script/run-clang-format.py -r -c shell/ || (echo \"\\nCode not formatted correctly.\" && exit 1)", - "lint:clang-tidy": "ts-node ./script/run-clang-tidy.ts", - "lint:cpp": "node ./script/lint.js --cc", - "lint:objc": "node ./script/lint.js --objc", - "lint:py": "node ./script/lint.js --py", - "lint:gn": "node ./script/lint.js --gn", - "lint:docs": "remark docs -qf && npm run lint:js-in-markdown && npm run create-typescript-definitions && npm run lint:ts-check-js-in-markdown && npm run lint:docs-fiddles && npm run lint:docs-relative-links && npm run lint:markdownlint", - "lint:docs-fiddles": "standard \"docs/fiddles/**/*.js\"", - "lint:docs-relative-links": "electron-lint-markdown-links --root docs \"**/*.md\"", - "lint:markdownlint": "electron-markdownlint \"*.md\" \"docs/**/*.md\"", - "lint:ts-check-js-in-markdown": "electron-lint-markdown-ts-check --root docs \"**/*.md\" --ignore \"breaking-changes.md\"", - "lint:js-in-markdown": "electron-lint-markdown-standard --root docs \"**/*.md\"", - "create-api-json": "node script/create-api-json.js", - "create-typescript-definitions": "npm run create-api-json && electron-typescript-definitions --api=electron-api.json && node spec/ts-smoke/runner.js", - "gn-typescript-definitions": "npm run create-typescript-definitions && shx cp electron.d.ts", - "pre-flight": "pre-flight", - "gn-check": "node ./script/gn-check.js", - "gn-format": "python3 script/run-gn-format.py", - "precommit": "lint-staged", - "preinstall": "node -e 'process.exit(0)'", - "prepack": "check-for-leaks", - "repl": "node ./script/start.js --interactive", - "start": "node ./script/start.js", - "test": "node ./script/spec-runner.js", - "tsc": "tsc", - "webpack": "webpack" - }, - "license": "MIT", - "author": "Electron Community", - "keywords": [ - "electron" - ], - "lint-staged": { - "*.{js,ts}": [ - "node script/lint.js --js --fix --only --" - ], - "*.{js,ts,d.ts}": [ - "ts-node script/gen-filenames.ts" - ], - "*.{cc,mm,c,h}": [ - "python3 script/run-clang-format.py -r -c --fix" - ], - "*.md": [ - "npm run lint:docs" - ], - "*.{gn,gni}": [ - "npm run gn-check", - "npm run gn-format" - ], - "*.py": [ - "node script/lint.js --py --fix --only --" - ], - "docs/api/**/*.md": [ - "ts-node script/gen-filenames.ts", - "electron-markdownlint --config .markdownlint.autofix.json --fix", - "git add filenames.auto.gni" - ], - "{*.patch,.patches}": [ - "node script/lint.js --patches --only --", - "ts-node script/check-patch-diff.ts" - ], - "DEPS": [ - "node script/gen-hunspell-filenames.js", - "node script/gen-libc++-filenames.js" - ] - }, - "resolutions": { - "nan": "nodejs/nan#16fa32231e2ccd89d2804b3f765319128b20c4ac" - } -} diff --git a/devel/electron25/files/patch-BUILD.gn b/devel/electron25/files/patch-BUILD.gn deleted file mode 100644 index ea18ac1d9b76..000000000000 --- a/devel/electron25/files/patch-BUILD.gn +++ /dev/null @@ -1,89 +0,0 @@ ---- BUILD.gn.orig 2023-06-07 04:52:04 UTC -+++ BUILD.gn -@@ -61,7 +61,7 @@ declare_args() { - root_extra_deps = [] - } - --if (is_official_build) { -+if (is_official_build && !is_bsd) { - # An official (maximally optimized!) component (optimized for build times) - # build doesn't make sense and usually doesn't work. - assert(!is_component_build) -@@ -95,7 +95,6 @@ group("gn_all") { - "//codelabs", - "//components:components_unittests", - "//components/gwp_asan:gwp_asan_unittests", -- "//infra/orchestrator:orchestrator_all", - "//net:net_unittests", - "//sandbox:sandbox_unittests", - "//services:services_unittests", -@@ -419,7 +418,7 @@ group("gn_all") { - } - } - -- if (is_linux || is_chromeos || is_android) { -+ if ((is_linux && !is_bsd) || is_chromeos || is_android) { - deps += [ - "//third_party/breakpad:breakpad_unittests", - "//third_party/breakpad:core-2-minidump", -@@ -619,6 +618,15 @@ group("gn_all") { - } - } - -+ if (is_bsd) { -+ deps -= [ -+ "//third_party/breakpad:dump_syms($host_toolchain)", -+ "//third_party/breakpad:microdump_stackwalk($host_toolchain)", -+ "//third_party/breakpad:minidump_dump($host_toolchain)", -+ "//third_party/breakpad:minidump_stackwalk($host_toolchain)", -+ ] -+ } -+ - if (is_mac) { - deps += [ - "//third_party/breakpad:dump_syms", -@@ -666,7 +674,7 @@ group("gn_all") { - host_os == "win") { - deps += [ "//chrome/test/mini_installer:mini_installer_tests" ] - } -- } else if (!is_android && !is_ios && !is_fuchsia) { -+ } else if (!is_android && !is_ios && !is_fuchsia && !is_bsd) { - deps += [ "//third_party/breakpad:symupload($host_toolchain)" ] - } - -@@ -1099,7 +1107,7 @@ if (!is_ios && !is_cronet_build) { - ] - } - -- if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && !is_castos) { -+ if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && !is_castos && !is_bsd) { - # WPT Webdriver tests runner - # chrome/test/chromedriver/test/run_webdriver_tests.py - script_test("webdriver_wpt_tests") { -@@ -1199,7 +1207,7 @@ if (!is_ios && !is_cronet_build) { - data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ] - } - -- if (!is_win && !is_android) { -+ if (!is_win && !is_android && !is_bsd) { - data_deps += - [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] - } -@@ -1208,7 +1216,7 @@ if (!is_ios && !is_cronet_build) { - data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] - } - -- if (is_linux || is_chromeos) { -+ if ((is_linux && !is_bsd) || is_chromeos) { - data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] - } - -@@ -1675,7 +1683,7 @@ group("chromium_builder_perf") { - data_deps += [ "//chrome/test:performance_browser_tests" ] - } - -- if (!is_win) { -+ if (!is_win && !is_bsd) { - data_deps += - [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] - } diff --git a/devel/electron25/files/patch-apps_ui_views_app__window__frame__view.cc b/devel/electron25/files/patch-apps_ui_views_app__window__frame__view.cc deleted file mode 100644 index 2ac2dff2a8b1..000000000000 --- a/devel/electron25/files/patch-apps_ui_views_app__window__frame__view.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- apps/ui/views/app_window_frame_view.cc.orig 2022-07-22 17:30:31 UTC -+++ apps/ui/views/app_window_frame_view.cc -@@ -137,7 +137,7 @@ gfx::Rect AppWindowFrameView::GetWindowBoundsForClient - gfx::Rect window_bounds = client_bounds; - // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is - // complete. --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) - // Get the difference between the widget's client area bounds and window - // bounds, and grow |window_bounds| by that amount. - gfx::Insets native_frame_insets = diff --git a/devel/electron25/files/patch-ash_display_mirror__window__controller.cc b/devel/electron25/files/patch-ash_display_mirror__window__controller.cc deleted file mode 100644 index fc638013e5c6..000000000000 --- a/devel/electron25/files/patch-ash_display_mirror__window__controller.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- ash/display/mirror_window_controller.cc.orig 2023-05-25 00:41:36 UTC -+++ ash/display/mirror_window_controller.cc -@@ -296,7 +296,11 @@ void MirrorWindowController::UpdateWindow( - if (!base::Contains(display_info_list, iter->first, - &display::ManagedDisplayInfo::id)) { - CloseAndDeleteHost(iter->second, true); -+#if defined(__llvm__) -+ mirroring_host_info_map_.erase(iter++); -+#else - iter = mirroring_host_info_map_.erase(iter); -+#endif - } else { - ++iter; - } diff --git a/devel/electron25/files/patch-base_BUILD.gn b/devel/electron25/files/patch-base_BUILD.gn deleted file mode 100644 index fc807deb55b5..000000000000 --- a/devel/electron25/files/patch-base_BUILD.gn +++ /dev/null @@ -1,143 +0,0 @@ ---- base/BUILD.gn.orig 2023-06-07 04:52:06 UTC -+++ base/BUILD.gn -@@ -197,7 +197,7 @@ buildflag_header("ios_cronet_buildflags") { - flags = [ "CRONET_BUILD=$is_cronet_build" ] - } - --enable_message_pump_epoll = is_linux || is_chromeos || is_android -+enable_message_pump_epoll = (is_linux || is_chromeos || is_android) && !is_bsd - buildflag_header("message_pump_buildflags") { - header = "message_pump_buildflags.h" - header_dir = "base/message_loop" -@@ -1101,11 +1101,23 @@ component("base") { - # Needed for <atomic> if using newer C++ library than sysroot, except if - # building inside the cros_sdk environment - use host_toolchain as a - # more robust check for this. -- if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) && -+ if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos && !is_bsd)) && - host_toolchain != "//build/toolchain/cros:host") { - libs += [ "atomic" ] - } - -+ # *BSD needs libkvm -+ if (is_bsd) { -+ libs += [ "kvm" ] -+ } -+ -+ if (is_freebsd) { -+ libs += [ -+ "execinfo", -+ "util", -+ ] -+ } -+ - if (use_allocator_shim) { - sources += [ - "allocator/partition_allocator/shim/allocator_shim.cc", -@@ -1133,7 +1145,7 @@ component("base") { - ] - configs += [ "//base/allocator:mac_no_default_new_delete_symbols" ] - } -- if (is_chromeos || is_linux) { -+ if (is_chromeos || (is_linux && !is_bsd)) { - sources += [ - "allocator/partition_allocator/shim/allocator_shim_override_cpp_symbols.h", - "allocator/partition_allocator/shim/allocator_shim_override_glibc_weak_symbols.h", -@@ -1174,7 +1186,7 @@ component("base") { - - # Allow more direct string conversions on platforms with native utf8 - # strings -- if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia) { -+ if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia || is_bsd) { - defines += [ "SYSTEM_NATIVE_UTF8" ] - } - -@@ -2128,6 +2140,43 @@ component("base") { - } - } - -+ if (is_bsd) { -+ sources -= [ -+ "files/file_path_watcher_inotify.cc", -+ "files/scoped_file_linux.cc", -+ "process/process_linux.cc", -+ "system/sys_info_linux.cc", -+ "process/process_iterator_linux.cc", -+ "process/process_metrics_linux.cc", -+ "process/process_handle_linux.cc", -+ "profiler/stack_copier_signal.cc", -+ "profiler/stack_copier_signal.h", -+ "profiler/thread_delegate_posix.cc", -+ "profiler/thread_delegate_posix.h", -+ ] -+ sources += [ -+ "files/file_path_watcher_kqueue.cc", -+ "files/file_path_watcher_kqueue.h", -+ "files/file_path_watcher_bsd.cc", -+ ] -+ } -+ -+ if (is_openbsd) { -+ sources += [ -+ "process/process_handle_openbsd.cc", -+ "process/process_iterator_openbsd.cc", -+ "process/process_metrics_openbsd.cc", -+ "system/sys_info_openbsd.cc", -+ ] -+ } else if (is_freebsd) { -+ sources += [ -+ "process/process_handle_freebsd.cc", -+ "process/process_iterator_freebsd.cc", -+ "process/process_metrics_freebsd.cc", -+ "system/sys_info_freebsd.cc", -+ ] -+ } -+ - # iOS - if (is_ios) { - sources += [ -@@ -2237,7 +2286,7 @@ component("base") { - } - - if (dep_libevent) { -- deps += [ "//third_party/libevent" ] -+ public_deps += [ "//third_party/libevent" ] - } - - if (use_libevent) { -@@ -3560,7 +3609,7 @@ test("base_unittests") { - ] - } - -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ - "debug/proc_maps_linux_unittest.cc", - "files/scoped_file_linux_unittest.cc", -@@ -3609,7 +3658,7 @@ test("base_unittests") { - "posix/file_descriptor_shuffle_unittest.cc", - "posix/unix_domain_socket_unittest.cc", - ] -- if (!is_nacl && !is_apple) { -+ if (!is_nacl && !is_apple && !is_bsd) { - sources += [ - "profiler/stack_base_address_posix_unittest.cc", - "profiler/stack_copier_signal_unittest.cc", -@@ -3620,7 +3669,7 @@ test("base_unittests") { - - # Allow more direct string conversions on platforms with native utf8 - # strings -- if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia) { -+ if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia || is_bsd) { - defines += [ "SYSTEM_NATIVE_UTF8" ] - } - -@@ -3844,7 +3893,7 @@ test("base_unittests") { - } - } - -- if (is_fuchsia || is_linux || is_chromeos) { -+ if ((is_fuchsia || is_linux || is_chromeos) && !is_bsd) { - sources += [ - "debug/elf_reader_unittest.cc", - "debug/test_elf_image_builder.cc", diff --git a/devel/electron25/files/patch-base_allocator_dispatcher_tls.h b/devel/electron25/files/patch-base_allocator_dispatcher_tls.h deleted file mode 100644 index af07258d0339..000000000000 --- a/devel/electron25/files/patch-base_allocator_dispatcher_tls.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/allocator/dispatcher/tls.h.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/dispatcher/tls.h -@@ -50,7 +50,7 @@ struct BASE_EXPORT MMapAllocator { - partition_alloc::PartitionPageSize(); - #elif BUILDFLAG(IS_APPLE) - constexpr static size_t AllocationChunkSize = 16384; --#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) -+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) - constexpr static size_t AllocationChunkSize = 16384; - #else - constexpr static size_t AllocationChunkSize = 4096; diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_address__space__randomization.h b/devel/electron25/files/patch-base_allocator_partition__allocator_address__space__randomization.h deleted file mode 100644 index 457142f41246..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_address__space__randomization.h +++ /dev/null @@ -1,20 +0,0 @@ ---- base/allocator/partition_allocator/address_space_randomization.h.orig 2023-03-30 00:33:38 UTC -+++ base/allocator/partition_allocator/address_space_randomization.h -@@ -38,7 +38,7 @@ AslrMask(uintptr_t bits) { - - #if defined(ARCH_CPU_64_BITS) - -- #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) -+ #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !defined(OS_BSD) - - // We shouldn't allocate system pages at all for sanitizer builds. However, - // we do, and if random hint addresses interfere with address ranges -@@ -124,7 +124,7 @@ AslrMask(uintptr_t bits) { - return AslrAddress(0x20000000ULL); - } - -- #elif BUILDFLAG(IS_LINUX) -+ #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - - // Linux on arm64 can use 39, 42, 48, or 52-bit user space, depending on - // page size and number of levels of translation pages used. We use diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_page__allocator.h b/devel/electron25/files/patch-base_allocator_partition__allocator_page__allocator.h deleted file mode 100644 index 66223b510dc4..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_page__allocator.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/allocator/partition_allocator/page_allocator.h.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/partition_allocator/page_allocator.h -@@ -238,7 +238,7 @@ void DecommitAndZeroSystemPages(void* address, size_t - // recommitted. Do not assume that this will not change over time. - constexpr PA_COMPONENT_EXPORT( - PARTITION_ALLOC) bool DecommittedMemoryIsAlwaysZeroed() { --#if BUILDFLAG(IS_APPLE) -+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) - return false; - #else - return true; diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_page__allocator__constants.h b/devel/electron25/files/patch-base_allocator_partition__allocator_page__allocator__constants.h deleted file mode 100644 index 9072438fbbbb..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_page__allocator__constants.h +++ /dev/null @@ -1,38 +0,0 @@ ---- base/allocator/partition_allocator/page_allocator_constants.h.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/partition_allocator/page_allocator_constants.h -@@ -25,7 +25,7 @@ - // elimination. - #define PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR __attribute__((const)) - --#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) -+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) - // This should work for all POSIX (if needed), but currently all other - // supported OS/architecture combinations use either hard-coded values - // (such as x86) or have means to determine these values without needing -@@ -81,7 +81,7 @@ PageAllocationGranularityShift() { - return 14; // 16kB - #elif BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS) - return static_cast<size_t>(vm_page_shift); --#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) -+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) - // arm64 supports 4kb (shift = 12), 16kb (shift = 14), and 64kb (shift = 16) - // page sizes. Retrieve from or initialize cache. - size_t shift = page_characteristics.shift.load(std::memory_order_relaxed); -@@ -102,7 +102,7 @@ PageAllocationGranularity() { - // This is literally equivalent to |1 << PageAllocationGranularityShift()| - // below, but was separated out for IS_APPLE to avoid << on a non-constexpr. - return vm_page_size; --#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) -+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) - // arm64 supports 4kb, 16kb, and 64kb page sizes. Retrieve from or - // initialize cache. - size_t size = page_characteristics.size.load(std::memory_order_relaxed); -@@ -141,7 +141,7 @@ SystemPageShift() { - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t - SystemPageSize() { - #if (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ -- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) -+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)) - // This is literally equivalent to |1 << SystemPageShift()| below, but was - // separated out for 64-bit IS_APPLE and arm64 on Linux to avoid << on a - // non-constexpr. diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h b/devel/electron25/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h deleted file mode 100644 index 4b515f53f3c5..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h +++ /dev/null @@ -1,16 +0,0 @@ ---- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/partition_allocator/page_allocator_internals_posix.h -@@ -387,8 +387,12 @@ bool TryRecommitSystemPagesInternal( - - void DiscardSystemPagesInternal(uintptr_t address, size_t length) { - void* ptr = reinterpret_cast<void*>(address); --#if BUILDFLAG(IS_APPLE) -+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) -+#if BUILDFLAG(IS_BSD) -+ int ret = madvise(ptr, length, MADV_FREE); -+#else - int ret = madvise(ptr, length, MADV_FREE_REUSABLE); -+#endif - if (ret) { - // MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED. - ret = madvise(ptr, length, MADV_DONTNEED); diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__address__space.cc b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__address__space.cc deleted file mode 100644 index cde3ea98822e..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__address__space.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/allocator/partition_allocator/partition_address_space.cc.orig 2023-03-30 00:33:38 UTC -+++ base/allocator/partition_allocator/partition_address_space.cc -@@ -417,7 +417,7 @@ void PartitionAddressSpace::UninitPkeyPoolForTesting() - } - #endif - --#if BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) - - PageCharacteristics page_characteristics; - diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc.gni deleted file mode 100644 index add0910f5ef4..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc.gni +++ /dev/null @@ -1,11 +0,0 @@ ---- base/allocator/partition_allocator/partition_alloc.gni.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/partition_allocator/partition_alloc.gni -@@ -305,7 +305,7 @@ assert(!use_asan_backup_ref_ptr || use_hookable_raw_pt - "AsanBackupRefPtr requires RawPtrHookableImpl") - - declare_args() { -- enable_pkeys = is_linux && target_cpu == "x64" -+ enable_pkeys = (is_linux && !is_bsd) && target_cpu == "x64" - } - assert(!enable_pkeys || (is_linux && target_cpu == "x64"), - "Pkeys are only supported on x64 linux") diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_compiler__specific.h b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_compiler__specific.h deleted file mode 100644 index fc45f5ddb156..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_compiler__specific.h +++ /dev/null @@ -1,32 +0,0 @@ ---- base/allocator/partition_allocator/partition_alloc_base/compiler_specific.h.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/partition_allocator/partition_alloc_base/compiler_specific.h -@@ -24,9 +24,9 @@ - // Annotate a function indicating it should not be inlined. - // Use like: - // NOINLINE void DoStuff() { ... } --#if defined(__clang__) && PA_HAS_ATTRIBUTE(noinline) -+#if defined(__clang__) && (__clang_major__ >= 15) && PA_HAS_ATTRIBUTE(noinline) - #define PA_NOINLINE [[clang::noinline]] --#elif defined(COMPILER_GCC) && PA_HAS_ATTRIBUTE(noinline) -+#elif (defined(COMPILER_GCC) || defined(__clang__)) && PA_HAS_ATTRIBUTE(noinline) - #define PA_NOINLINE __attribute__((noinline)) - #elif defined(COMPILER_MSVC) - #define PA_NOINLINE __declspec(noinline) -@@ -34,7 +34,7 @@ - #define PA_NOINLINE - #endif - --#if defined(__clang__) && defined(NDEBUG) && PA_HAS_ATTRIBUTE(always_inline) -+#if defined(__clang__) && (__clang_major__ >= 15) && defined(NDEBUG) && PA_HAS_ATTRIBUTE(always_inline) - #define PA_ALWAYS_INLINE [[clang::always_inline]] inline - #elif defined(COMPILER_GCC) && defined(NDEBUG) && \ - PA_HAS_ATTRIBUTE(always_inline) -@@ -53,7 +53,7 @@ - // prevent code folding, see NO_CODE_FOLDING() in base/debug/alias.h. - // Use like: - // void NOT_TAIL_CALLED FooBar(); --#if defined(__clang__) && PA_HAS_ATTRIBUTE(not_tail_called) -+#if defined(__clang__) && (__clang_major__ >= 15) && PA_HAS_ATTRIBUTE(not_tail_called) - #define PA_NOT_TAIL_CALLED [[clang::not_tail_called]] - #else - #define PA_NOT_TAIL_CALLED diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc deleted file mode 100644 index 5b35ab100616..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_rand__util__posix.cc +++ /dev/null @@ -1,13 +0,0 @@ ---- base/allocator/partition_allocator/partition_alloc_base/rand_util_posix.cc.orig 2022-07-22 17:30:31 UTC -+++ base/allocator/partition_allocator/partition_alloc_base/rand_util_posix.cc -@@ -86,6 +86,10 @@ void RandBytes(void* output, size_t output_length) { - if (getentropy(output, output_length) == 0) { - return; - } -+#elif BUILDFLAG(IS_BSD) -+ if (getentropy(output, output_length) == 0) { -+ return; -+ } - #endif - - // If the OS-specific mechanisms didn't work, fall through to reading from diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h deleted file mode 100644 index dfe57178caab..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__internal__posix.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h.orig 2022-07-22 17:30:31 UTC -+++ base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h -@@ -10,7 +10,7 @@ - - namespace partition_alloc::internal::base::internal { - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Current thread id is cached in thread local storage for performance reasons. - // In some rare cases it's important to invalidate that cache explicitly (e.g. - // after going through clone() syscall which does not call pthread_atfork() diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc deleted file mode 100644 index 16c4bd4b3273..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__base_threading_platform__thread__posix.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_posix.cc.orig 2022-07-22 17:30:31 UTC -+++ base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_posix.cc -@@ -17,7 +17,7 @@ - #include "base/allocator/partition_allocator/partition_alloc_base/threading/platform_thread_internal_posix.h" - #include "build/build_config.h" - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include <sys/syscall.h> - #include <atomic> - #endif diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__config.h b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__config.h deleted file mode 100644 index c7b9ee73df7f..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__config.h +++ /dev/null @@ -1,29 +0,0 @@ ---- base/allocator/partition_allocator/partition_alloc_config.h.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/partition_allocator/partition_alloc_config.h -@@ -104,7 +104,7 @@ static_assert(sizeof(void*) != 8, ""); - // POSIX is not only UNIX, e.g. macOS and other OSes. We do use Linux-specific - // features such as futex(2). - #define PA_CONFIG_HAS_LINUX_KERNEL() \ -- (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) -+ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) - - // On some platforms, we implement locking by spinning in userspace, then going - // into the kernel only if there is contention. This requires platform support, -@@ -232,7 +232,7 @@ constexpr bool kUseLazyCommit = false; - // On these platforms, lock all the partitions before fork(), and unlock after. - // This may be required on more platforms in the future. - #define PA_CONFIG_HAS_ATFORK_HANDLER() \ -- (BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) -+ (BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) - - // PartitionAlloc uses PartitionRootEnumerator to acquire all - // PartitionRoots at BeforeFork and to release at AfterFork. -@@ -277,7 +277,7 @@ constexpr bool kUseLazyCommit = false; - // Also enabled on ARM64 macOS, as the 16kiB pages on this platform lead to - // larger slot spans. - #define PA_CONFIG_PREFER_SMALLER_SLOT_SPANS() \ -- (BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64))) -+ (BUILDFLAG(IS_LINUX) || (BUILDFLAG(IS_MAC) && defined(ARCH_CPU_ARM64)) || BUILDFLAG(IS_BSD)) - - // Enable shadow metadata. - // diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h deleted file mode 100644 index d9ef1b301197..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h +++ /dev/null @@ -1,20 +0,0 @@ ---- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/partition_allocator/partition_alloc_constants.h -@@ -92,7 +92,7 @@ PartitionPageShift() { - return 18; // 256 KiB - } - #elif (BUILDFLAG(IS_APPLE) && defined(ARCH_CPU_64_BITS)) || \ -- (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) -+ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)) - PA_ALWAYS_INLINE PAGE_ALLOCATOR_CONSTANTS_DECLARE_CONSTEXPR size_t - PartitionPageShift() { - return PageAllocationGranularityShift() + 2; -@@ -293,7 +293,7 @@ constexpr size_t kNumPools = kMaxPoolHandle - 1; - // When pointer compression is enabled, we cannot use large pools (at most - // 8GB for each of the glued pools). - #if BUILDFLAG(HAS_64_BIT_POINTERS) --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || PA_CONFIG(POINTER_COMPRESSION) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || PA_CONFIG(POINTER_COMPRESSION) || BUILDFLAG(IS_BSD) - constexpr size_t kPoolMaxSize = 8 * kGiB; - #else - constexpr size_t kPoolMaxSize = 16 * kGiB; diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h deleted file mode 100644 index bc734828f3f1..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__alloc__forward.h +++ /dev/null @@ -1,16 +0,0 @@ ---- base/allocator/partition_allocator/partition_alloc_forward.h.orig 2023-03-30 00:33:38 UTC -+++ base/allocator/partition_allocator/partition_alloc_forward.h -@@ -27,9 +27,13 @@ namespace internal { - // the second one 16. We could technically return something different for - // malloc() and operator new(), but this would complicate things, and most of - // our allocations are presumably coming from operator new() anyway. -+#if defined(__i386__) && defined(OS_FREEBSD) -+constexpr size_t kAlignment = 8; -+#else - constexpr size_t kAlignment = - std::max(alignof(max_align_t), - static_cast<size_t>(__STDCPP_DEFAULT_NEW_ALIGNMENT__)); -+#endif - static_assert(kAlignment <= 16, - "PartitionAlloc doesn't support a fundamental alignment larger " - "than 16 bytes."); diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__page.h b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__page.h deleted file mode 100644 index 294dc911b7a8..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__page.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/allocator/partition_allocator/partition_page.h.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/partition_allocator/partition_page.h -@@ -141,7 +141,7 @@ struct SlotSpanMetadata { - // PartitionPageSize() is 4 times the OS page size. - static constexpr size_t kMaxSlotsPerSlotSpan = - 4 * (1 << 14) / kSmallestBucket; --#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) -+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) - // System page size can be 4, 16, or 64 kiB on Linux on arm64. 64 kiB is - // currently (kMaxSlotsPerSlotSpanBits == 13) not supported by the code, - // so we use the 16 kiB maximum (64 kiB will crash). diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__root.cc b/devel/electron25/files/patch-base_allocator_partition__allocator_partition__root.cc deleted file mode 100644 index 53ba172f4fa6..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_partition__root.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- base/allocator/partition_allocator/partition_root.cc.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/partition_allocator/partition_root.cc -@@ -46,7 +46,7 @@ - #include "wow64apiset.h" - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include <pthread.h> - #endif - -@@ -287,7 +287,7 @@ void PartitionAllocMallocInitOnce() { - return; - } - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // When fork() is called, only the current thread continues to execute in the - // child process. If the lock is held, but *not* by this thread when fork() is - // called, we have a deadlock. -@@ -381,7 +381,7 @@ static size_t PartitionPurgeSlotSpan( - constexpr size_t kMaxSlotCount = - (PartitionPageSize() * kMaxPartitionPagesPerRegularSlotSpan) / - MinPurgeableSlotSize(); --#elif BUILDFLAG(IS_APPLE) || (BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64)) -+#elif BUILDFLAG(IS_APPLE) || ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64)) - // It's better for slot_usage to be stack-allocated and fixed-size, which - // demands that its size be constexpr. On IS_APPLE and Linux on arm64, - // PartitionPageSize() is always SystemPageSize() << 2, so regardless of -@@ -853,7 +853,7 @@ void PartitionRoot<thread_safe>::Init(PartitionOptions - // apple OSes. - PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) || - (internal::SystemPageSize() == (size_t{1} << 14))); --#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) -+#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) - // Check runtime pagesize. Though the code is currently the same, it is - // not merged with the IS_APPLE case above as a 1 << 16 case needs to be - // added here in the future, to allow 64 kiB pagesize. That is only diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_spinning__mutex.cc b/devel/electron25/files/patch-base_allocator_partition__allocator_spinning__mutex.cc deleted file mode 100644 index 09690748a0cd..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_spinning__mutex.cc +++ /dev/null @@ -1,53 +0,0 @@ ---- base/allocator/partition_allocator/spinning_mutex.cc.orig 2023-05-25 00:41:37 UTC -+++ base/allocator/partition_allocator/spinning_mutex.cc -@@ -18,7 +18,16 @@ - - #if PA_CONFIG(HAS_LINUX_KERNEL) - #include <errno.h> -+#if defined(OS_OPENBSD) -+#include <sys/time.h> -+#include <sys/futex.h> -+#elif defined(OS_FREEBSD) -+#include <sys/types.h> -+#include <sys/thr.h> -+#include <sys/umtx.h> -+#else - #include <linux/futex.h> -+#endif - #include <sys/syscall.h> - #include <unistd.h> - #endif // PA_CONFIG(HAS_LINUX_KERNEL) -@@ -108,8 +117,16 @@ void SpinningMutex::FutexWait() { - // |kLockedContended| anymore. Note that even without spurious wakeups, the - // value of |state_| is not guaranteed when this returns, as another thread - // may get the lock before we get to run. -+#if defined(OS_FREEBSD) -+ int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE, -+ kLockedContended, nullptr, nullptr); -+#elif defined(OS_OPENBSD) -+ int err = futex(reinterpret_cast<volatile unsigned int *>(&state_), FUTEX_WAIT | FUTEX_PRIVATE_FLAG, -+ kLockedContended, nullptr, nullptr); -+#else - int err = syscall(SYS_futex, &state_, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, - kLockedContended, nullptr, nullptr, 0); -+#endif - - if (err) { - // These are programming error, check them. -@@ -121,8 +138,16 @@ void SpinningMutex::FutexWait() { - - void SpinningMutex::FutexWake() { - int saved_errno = errno; -+#if defined(OS_FREEBSD) -+ long retval = _umtx_op(&state_, UMTX_OP_WAKE_PRIVATE, -+ 1 /* wake up a single waiter */, nullptr, nullptr); -+#elif defined(OS_OPENBSD) -+ long retval = futex(reinterpret_cast<volatile unsigned int *>(&state_), FUTEX_WAKE | FUTEX_PRIVATE_FLAG, -+ 1 /* wake up a single waiter */, nullptr, nullptr); -+#else - long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, - 1 /* wake up a single waiter */, nullptr, nullptr, 0); -+#endif - PA_CHECK(retval != -1); - errno = saved_errno; - } diff --git a/devel/electron25/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc b/devel/electron25/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc deleted file mode 100644 index d951e60a7e20..000000000000 --- a/devel/electron25/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc +++ /dev/null @@ -1,50 +0,0 @@ ---- base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2023-03-30 00:33:38 UTC -+++ base/allocator/partition_allocator/starscan/stack/stack.cc -@@ -18,6 +18,10 @@ - #include <pthread.h> - #endif - -+#if defined(OS_BSD) -+#include <pthread_np.h> -+#endif -+ - #if defined(LIBC_GLIBC) - extern "C" void* __libc_stack_end; - #endif -@@ -48,6 +52,36 @@ void* GetStackTop() { - - void* GetStackTop() { - return pthread_get_stackaddr_np(pthread_self()); -+} -+ -+#elif defined(OS_OPENBSD) -+ -+void* GetStackTop() { -+ stack_t ss; -+ if (pthread_stackseg_np(pthread_self(), &ss) != 0) -+ return nullptr; -+ return reinterpret_cast<uint8_t*>(ss.ss_sp); -+} -+ -+#elif defined(OS_FREEBSD) -+ -+void* GetStackTop() { -+ pthread_attr_t attr; -+ int error = pthread_attr_init(&attr); -+ if (error) { -+ return nullptr; -+ } -+ error = pthread_attr_get_np(pthread_self(), &attr); -+ if (!error) { -+ void* base; -+ size_t size; -+ error = pthread_attr_getstack(&attr, &base, &size); -+ PA_CHECK(!error); -+ pthread_attr_destroy(&attr); -+ return reinterpret_cast<uint8_t*>(base) + size; -+ } -+ pthread_attr_destroy(&attr); -+ return nullptr; - } - - #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) diff --git a/devel/electron25/files/patch-base_atomicops.h b/devel/electron25/files/patch-base_atomicops.h deleted file mode 100644 index 7c186aff0e5b..000000000000 --- a/devel/electron25/files/patch-base_atomicops.h +++ /dev/null @@ -1,14 +0,0 @@ ---- base/atomicops.h.orig 2023-03-30 00:33:38 UTC -+++ base/atomicops.h -@@ -71,7 +71,11 @@ typedef intptr_t Atomic64; - - // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or - // Atomic64 routines below, depending on your architecture. -+#if !defined(OS_OPENBSD) && defined(__i386__) -+typedef Atomic32 AtomicWord; -+#else - typedef intptr_t AtomicWord; -+#endif - - // Atomically execute: - // result = *ptr; diff --git a/devel/electron25/files/patch-base_base__paths__posix.cc b/devel/electron25/files/patch-base_base__paths__posix.cc deleted file mode 100644 index 9b6827056e06..000000000000 --- a/devel/electron25/files/patch-base_base__paths__posix.cc +++ /dev/null @@ -1,98 +0,0 @@ ---- base/base_paths_posix.cc.orig 2022-02-28 16:54:41 UTC -+++ base/base_paths_posix.cc -@@ -15,6 +15,7 @@ - #include <ostream> - #include <string> - -+#include "base/command_line.h" - #include "base/environment.h" - #include "base/files/file_path.h" - #include "base/files/file_util.h" -@@ -25,9 +26,13 @@ - #include "base/process/process_metrics.h" - #include "build/build_config.h" - --#if BUILDFLAG(IS_FREEBSD) -+#if BUILDFLAG(IS_BSD) - #include <sys/param.h> - #include <sys/sysctl.h> -+#if BUILDFLAG(IS_OPENBSD) -+#include <kvm.h> -+#define MAXTOKENS 2 -+#endif - #elif BUILDFLAG(IS_SOLARIS) || BUILDFLAG(IS_AIX) - #include <stdlib.h> - #endif -@@ -68,13 +73,65 @@ bool PathProviderPosix(int key, FilePath* result) { - *result = FilePath(bin_dir); - return true; - #elif BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_AIX) -- // There is currently no way to get the executable path on OpenBSD -- char* cpath; -- if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) -- *result = FilePath(cpath); -- else -- *result = FilePath("/usr/local/chrome/chrome"); -- return true; -+ char *cpath; -+#if !BUILDFLAG(IS_AIX) -+ struct kinfo_file *files; -+ kvm_t *kd = NULL; -+ char errbuf[_POSIX2_LINE_MAX]; -+ static char retval[PATH_MAX]; -+ int cnt; -+ struct stat sb; -+ pid_t cpid = getpid(); -+ bool ret = false; -+ -+ const base::CommandLine* command_line = -+ base::CommandLine::ForCurrentProcess(); -+ -+ VLOG(1) << "PathProviderPosix argv: " << command_line->argv()[0]; -+ -+ if (realpath(command_line->argv()[0].c_str(), retval) == NULL) -+ goto out; -+ -+ if (stat(command_line->argv()[0].c_str(), &sb) < 0) -+ goto out; -+ -+ if (!command_line->HasSwitch("no-sandbox")) { -+ ret = true; -+ *result = FilePath(retval); -+ VLOG(1) << "PathProviderPosix (sandbox) result: " << retval; -+ goto out; -+ } -+ -+ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL) -+ goto out; -+ -+ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, cpid, -+ sizeof(struct kinfo_file), &cnt)) == NULL) -+ goto out; -+ -+ for (int i = 0; i < cnt; i++) { -+ if (files[i].fd_fd == KERN_FILE_TEXT && -+ files[i].va_fsid == static_cast<uint32_t>(sb.st_dev) && -+ files[i].va_fileid == sb.st_ino) { -+ ret = true; -+ *result = FilePath(retval); -+ VLOG(1) << "PathProviderPosix result: " << retval; -+ } -+ } -+out: -+ if (kd) -+ kvm_close(kd); -+ if (!ret) { -+#endif -+ if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) -+ *result = FilePath(cpath); -+ else -+ *result = FilePath("/usr/local/chrome/chrome"); -+ return true; -+#if !BUILDFLAG(IS_AIX) -+ } -+ return ret; -+#endif - #endif - } - case DIR_SRC_TEST_DATA_ROOT: { diff --git a/devel/electron25/files/patch-base_base__switches.cc b/devel/electron25/files/patch-base_base__switches.cc deleted file mode 100644 index a75579708d95..000000000000 --- a/devel/electron25/files/patch-base_base__switches.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/base_switches.cc.orig 2023-05-25 00:41:37 UTC -+++ base/base_switches.cc -@@ -167,7 +167,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria - - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // TODO(crbug.com/1176772): Remove kEnableCrashpad and IsCrashpadEnabled() when - // Crashpad is fully enabled on Linux. Indicates that Crashpad should be - // enabled. diff --git a/devel/electron25/files/patch-base_base__switches.h b/devel/electron25/files/patch-base_base__switches.h deleted file mode 100644 index b8be5f4aa2a4..000000000000 --- a/devel/electron25/files/patch-base_base__switches.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/base_switches.h.orig 2023-05-25 00:41:37 UTC -+++ base/base_switches.h -@@ -57,7 +57,7 @@ extern const char kEnableIdleTracing[]; - extern const char kForceFieldTrialParams[]; - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // TODO(crbug.com/1176772): Remove kEnableCrashpad and IsCrashpadEnabled() when - // Crashpad is fully enabled on Linux. - extern const char kEnableCrashpad[]; diff --git a/devel/electron25/files/patch-base_compiler__specific.h b/devel/electron25/files/patch-base_compiler__specific.h deleted file mode 100644 index e87dee7f14b7..000000000000 --- a/devel/electron25/files/patch-base_compiler__specific.h +++ /dev/null @@ -1,35 +0,0 @@ ---- base/compiler_specific.h.orig 2023-05-25 00:41:37 UTC -+++ base/compiler_specific.h -@@ -41,9 +41,9 @@ - // Annotate a function indicating it should not be inlined. - // Use like: - // NOINLINE void DoStuff() { ... } --#if defined(__clang__) && HAS_ATTRIBUTE(noinline) -+#if defined(__clang__) && (__clang_major__ >= 15) && HAS_ATTRIBUTE(noinline) - #define NOINLINE [[clang::noinline]] --#elif defined(COMPILER_GCC) && HAS_ATTRIBUTE(noinline) -+#elif (defined(COMPILER_GCC) || defined(__clang__)) && HAS_ATTRIBUTE(noinline) - #define NOINLINE __attribute__((noinline)) - #elif defined(COMPILER_MSVC) - #define NOINLINE __declspec(noinline) -@@ -51,9 +51,9 @@ - #define NOINLINE - #endif - --#if defined(__clang__) && defined(NDEBUG) && HAS_ATTRIBUTE(always_inline) -+#if defined(__clang__) && (__clang_major__ >= 15) && defined(NDEBUG) && HAS_ATTRIBUTE(always_inline) - #define ALWAYS_INLINE [[clang::always_inline]] inline --#elif defined(COMPILER_GCC) && defined(NDEBUG) && HAS_ATTRIBUTE(always_inline) -+#elif (defined(COMPILER_GCC) || defined(__clang__)) && defined(NDEBUG) && HAS_ATTRIBUTE(always_inline) - #define ALWAYS_INLINE inline __attribute__((__always_inline__)) - #elif defined(COMPILER_MSVC) && defined(NDEBUG) - #define ALWAYS_INLINE __forceinline -@@ -69,7 +69,7 @@ - // prevent code folding, see NO_CODE_FOLDING() in base/debug/alias.h. - // Use like: - // NOT_TAIL_CALLED void FooBar(); --#if defined(__clang__) && HAS_ATTRIBUTE(not_tail_called) -+#if defined(__clang__) && (__clang_major__ >= 15) && HAS_ATTRIBUTE(not_tail_called) - #define NOT_TAIL_CALLED [[clang::not_tail_called]] - #else - #define NOT_TAIL_CALLED diff --git a/devel/electron25/files/patch-base_containers_checked__iterators.h b/devel/electron25/files/patch-base_containers_checked__iterators.h deleted file mode 100644 index a5ad942a78cf..000000000000 --- a/devel/electron25/files/patch-base_containers_checked__iterators.h +++ /dev/null @@ -1,75 +0,0 @@ ---- base/containers/checked_iterators.h.orig 2023-08-12 07:07:10 UTC -+++ base/containers/checked_iterators.h -@@ -24,6 +24,9 @@ class CheckedContiguousIterator { - using pointer = T*; - using reference = T&; - using iterator_category = std::random_access_iterator_tag; -+#if __cplusplus >= 202002L -+ using iterator_concept = std::contiguous_iterator_tag; -+#endif - - // Required for converting constructor below. - template <typename U> -@@ -31,10 +34,8 @@ class CheckedContiguousIterator { - - // Required for certain libc++ algorithm optimizations that are not available - // for NaCl. --#if defined(_LIBCPP_VERSION) && !BUILDFLAG(IS_NACL) - template <typename Ptr> - friend struct std::pointer_traits; --#endif - - constexpr CheckedContiguousIterator() = default; - -@@ -224,7 +225,6 @@ using CheckedContiguousConstIterator = CheckedContiguo - - } // namespace base - --#if defined(_LIBCPP_VERSION) && !BUILDFLAG(IS_NACL) - // Specialize both std::__is_cpp17_contiguous_iterator and std::pointer_traits - // for CCI in case we compile with libc++ outside of NaCl. The former is - // required to enable certain algorithm optimizations (e.g. std::copy can be a -@@ -242,13 +242,35 @@ using CheckedContiguousConstIterator = CheckedContiguo - // [1] https://wg21.link/iterator.concept.contiguous - // [2] https://wg21.link/std.iterator.tags - // [3] https://wg21.link/pointer.traits.optmem --namespace std { - -+#if defined(_LIBCPP_VERSION) -+ -+// TODO(crbug.com/1284275): Remove when C++20 is on by default, as the use -+// of `iterator_concept` above should suffice. -+_LIBCPP_BEGIN_NAMESPACE_STD -+ -+// TODO(crbug.com/1449299): https://reviews.llvm.org/D150801 renamed this from -+// `__is_cpp17_contiguous_iterator` to `__libcpp_is_contiguous_iterator`. Clean -+// up the old spelling after libc++ rolls. - template <typename T> -+struct __is_cpp17_contiguous_iterator; -+template <typename T> - struct __is_cpp17_contiguous_iterator<::base::CheckedContiguousIterator<T>> - : true_type {}; - - template <typename T> -+struct __libcpp_is_contiguous_iterator; -+template <typename T> -+struct __libcpp_is_contiguous_iterator<::base::CheckedContiguousIterator<T>> -+ : true_type {}; -+ -+_LIBCPP_END_NAMESPACE_STD -+ -+#endif -+ -+namespace std { -+ -+template <typename T> - struct pointer_traits<::base::CheckedContiguousIterator<T>> { - using pointer = ::base::CheckedContiguousIterator<T>; - using element_type = T; -@@ -267,6 +289,5 @@ struct pointer_traits<::base::CheckedContiguousIterato - }; - - } // namespace std --#endif - - #endif // BASE_CONTAINERS_CHECKED_ITERATORS_H_ diff --git a/devel/electron25/files/patch-base_debug_debugger__posix.cc b/devel/electron25/files/patch-base_debug_debugger__posix.cc deleted file mode 100644 index 447811370c92..000000000000 --- a/devel/electron25/files/patch-base_debug_debugger__posix.cc +++ /dev/null @@ -1,68 +0,0 @@ ---- base/debug/debugger_posix.cc.orig 2022-04-21 18:48:31 UTC -+++ base/debug/debugger_posix.cc -@@ -35,6 +35,10 @@ - #include <sys/sysctl.h> - #endif - -+#if BUILDFLAG(IS_OPENBSD) -+#include <sys/proc.h> -+#endif -+ - #if BUILDFLAG(IS_FREEBSD) - #include <sys/user.h> - #endif -@@ -95,32 +99,51 @@ bool BeingDebugged() { - - // Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and - // binary interfaces may change. -+#if BUILDFLAG(IS_OPENBSD) -+ struct kinfo_proc *info; -+ size_t info_size; -+#else - struct kinfo_proc info; - size_t info_size = sizeof(info); -+#endif - - #if BUILDFLAG(IS_OPENBSD) - if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0) - return -1; - - mib[5] = (info_size / sizeof(struct kinfo_proc)); -+ if ((info = reinterpret_cast<kinfo_proc*>(malloc(info_size))) == NULL) { -+ is_set = true; -+ being_debugged = false; -+ return being_debugged; -+ } -+ -+ int sysctl_result = sysctl(mib, std::size(mib), info, &info_size, NULL, 0); - #endif - -+#if !BUILDFLAG(IS_OPENBSD) - int sysctl_result = sysctl(mib, std::size(mib), &info, &info_size, NULL, 0); -+#endif - DCHECK_EQ(sysctl_result, 0); - if (sysctl_result != 0) { - is_set = true; - being_debugged = false; -- return being_debugged; -+ goto out; - } - - // This process is being debugged if the P_TRACED flag is set. - is_set = true; - #if BUILDFLAG(IS_FREEBSD) - being_debugged = (info.ki_flag & P_TRACED) != 0; --#elif BUILDFLAG(IS_BSD) -- being_debugged = (info.p_flag & P_TRACED) != 0; -+#elif BUILDFLAG(IS_OPENBSD) -+ being_debugged = (info->p_psflags & PS_TRACED) != 0; - #else - being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0; -+#endif -+ -+out: -+#if BUILDFLAG(IS_OPENBSD) -+ free(info); - #endif - return being_debugged; - } diff --git a/devel/electron25/files/patch-base_debug_elf__reader.cc b/devel/electron25/files/patch-base_debug_elf__reader.cc deleted file mode 100644 index d64763186791..000000000000 --- a/devel/electron25/files/patch-base_debug_elf__reader.cc +++ /dev/null @@ -1,18 +0,0 @@ ---- base/debug/elf_reader.cc.orig 2022-08-31 12:19:35 UTC -+++ base/debug/elf_reader.cc -@@ -78,6 +78,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, - bool found = false; - while (current_section < section_end) { - current_note = reinterpret_cast<const Nhdr*>(current_section); -+#if !defined(OS_BSD) - if (current_note->n_type == NT_GNU_BUILD_ID) { - StringPiece note_name(current_section + sizeof(Nhdr), - current_note->n_namesz); -@@ -87,6 +88,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, - break; - } - } -+#endif - - size_t section_size = bits::AlignUp(current_note->n_namesz, 4u) + - bits::AlignUp(current_note->n_descsz, 4u) + diff --git a/devel/electron25/files/patch-base_debug_proc__maps__linux.cc b/devel/electron25/files/patch-base_debug_proc__maps__linux.cc deleted file mode 100644 index 4ed7cb701ed6..000000000000 --- a/devel/electron25/files/patch-base_debug_proc__maps__linux.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/debug/proc_maps_linux.cc.orig 2022-02-28 16:54:41 UTC -+++ base/debug/proc_maps_linux.cc -@@ -13,7 +13,7 @@ - #include "base/strings/string_split.h" - #include "build/build_config.h" - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - #include <inttypes.h> - #endif - diff --git a/devel/electron25/files/patch-base_debug_stack__trace.cc b/devel/electron25/files/patch-base_debug_stack__trace.cc deleted file mode 100644 index f298126121a2..000000000000 --- a/devel/electron25/files/patch-base_debug_stack__trace.cc +++ /dev/null @@ -1,21 +0,0 @@ ---- base/debug/stack_trace.cc.orig 2023-03-30 00:33:38 UTC -+++ base/debug/stack_trace.cc -@@ -273,7 +273,9 @@ void StackTrace::Print() const { - } - - void StackTrace::OutputToStream(std::ostream* os) const { -+#if !BUILDFLAG(IS_BSD) - OutputToStreamWithPrefix(os, nullptr); -+#endif - } - - std::string StackTrace::ToString() const { -@@ -281,7 +283,7 @@ std::string StackTrace::ToString() const { - } - std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const { - std::stringstream stream; --#if !defined(__UCLIBC__) && !defined(_AIX) -+#if !defined(__UCLIBC__) && !defined(_AIX) && !BUILDFLAG(IS_BSD) - OutputToStreamWithPrefix(&stream, prefix_string); - #endif - return stream.str(); diff --git a/devel/electron25/files/patch-base_debug_stack__trace__posix.cc b/devel/electron25/files/patch-base_debug_stack__trace__posix.cc deleted file mode 100644 index 29ec07fdb997..000000000000 --- a/devel/electron25/files/patch-base_debug_stack__trace__posix.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- base/debug/stack_trace_posix.cc.orig 2023-03-30 00:33:38 UTC -+++ base/debug/stack_trace_posix.cc -@@ -41,7 +41,7 @@ - // execinfo.h and backtrace(3) are really only present in glibc and in macOS - // libc. - #if BUILDFLAG(IS_APPLE) || \ -- (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX)) -+ (defined(__GLIBC__) && !defined(__UCLIBC__) && !defined(__AIX) && !BUILDFLAG(IS_BSD)) - #define HAVE_BACKTRACE - #include <execinfo.h> - #endif -@@ -59,7 +59,7 @@ - #include <AvailabilityMacros.h> - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "base/debug/proc_maps_linux.h" - #endif - -@@ -799,6 +799,9 @@ class SandboxSymbolizeHelper { - // for the modules that are loaded in the current process. - // Returns true on success. - bool CacheMemoryRegions() { -+#if BUILDFLAG(IS_BSD) -+ return false; -+#else - // Reads /proc/self/maps. - std::string contents; - if (!ReadProcMaps(&contents)) { -@@ -816,6 +819,7 @@ class SandboxSymbolizeHelper { - - is_initialized_ = true; - return true; -+#endif - } - - // Opens all object files and caches their file descriptors. diff --git a/devel/electron25/files/patch-base_files_dir__reader__linux.h b/devel/electron25/files/patch-base_files_dir__reader__linux.h deleted file mode 100644 index 91bc1897532e..000000000000 --- a/devel/electron25/files/patch-base_files_dir__reader__linux.h +++ /dev/null @@ -1,39 +0,0 @@ ---- base/files/dir_reader_linux.h.orig 2022-08-31 12:19:35 UTC -+++ base/files/dir_reader_linux.h -@@ -16,10 +16,16 @@ - #include "base/logging.h" - #include "base/posix/eintr_wrapper.h" - -+#include "build/build_config.h" -+ - // See the comments in dir_reader_posix.h about this. - - namespace base { - -+#if BUILDFLAG(IS_BSD) -+#include <dirent.h> -+typedef struct dirent linux_dirent; -+#else - struct linux_dirent { - uint64_t d_ino; - int64_t d_off; -@@ -27,6 +33,7 @@ struct linux_dirent { - unsigned char d_type; - char d_name[0]; - }; -+#endif - - class DirReaderLinux { - public: -@@ -61,7 +68,11 @@ class DirReaderLinux { - if (offset_ != size_) - return true; - -+#if BUILDFLAG(IS_BSD) -+ const int r = getdents(fd_, reinterpret_cast<char *>(buf_), sizeof(buf_)); -+#else - const long r = syscall(__NR_getdents64, fd_, buf_, sizeof(buf_)); -+#endif - if (r == 0) - return false; - if (r < 0) { diff --git a/devel/electron25/files/patch-base_files_dir__reader__posix.h b/devel/electron25/files/patch-base_files_dir__reader__posix.h deleted file mode 100644 index 2285fb726f8e..000000000000 --- a/devel/electron25/files/patch-base_files_dir__reader__posix.h +++ /dev/null @@ -1,20 +0,0 @@ ---- base/files/dir_reader_posix.h.orig 2022-06-17 14:20:10 UTC -+++ base/files/dir_reader_posix.h -@@ -17,7 +17,7 @@ - // seems worse than falling back to enumerating all file descriptors so we will - // probably never implement this on the Mac. - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - #include "base/files/dir_reader_linux.h" - #else - #include "base/files/dir_reader_fallback.h" -@@ -25,7 +25,7 @@ - - namespace base { - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - typedef DirReaderLinux DirReaderPosix; - #else - typedef DirReaderFallback DirReaderPosix; diff --git a/devel/electron25/files/patch-base_files_file__path__watcher.h b/devel/electron25/files/patch-base_files_file__path__watcher.h deleted file mode 100644 index 51a909087f0a..000000000000 --- a/devel/electron25/files/patch-base_files_file__path__watcher.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/files/file_path_watcher.h.orig 2023-02-01 18:43:07 UTC -+++ base/files/file_path_watcher.h -@@ -59,7 +59,7 @@ class BASE_EXPORT FilePathWatcher { - Type type = Type::kNonRecursive; - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ -- BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - // The callback will return the full path to a changed file instead of - // the watched path supplied as |path| when Watch is called. - // So the full path can be different from the watched path when a folder is diff --git a/devel/electron25/files/patch-base_files_file__path__watcher__bsd.cc b/devel/electron25/files/patch-base_files_file__path__watcher__bsd.cc deleted file mode 100644 index 5bac3095f9f0..000000000000 --- a/devel/electron25/files/patch-base_files_file__path__watcher__bsd.cc +++ /dev/null @@ -1,57 +0,0 @@ ---- base/files/file_path_watcher_bsd.cc.orig 2022-10-24 13:33:33 UTC -+++ base/files/file_path_watcher_bsd.cc -@@ -0,0 +1,54 @@ -+// Copyright 2021 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+#include <memory> -+ -+#include "base/files/file_path_watcher.h" -+#include "base/files/file_path_watcher_kqueue.h" -+#include "base/memory/ptr_util.h" -+#include "build/build_config.h" -+ -+namespace base { -+ -+namespace { -+ -+class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate { -+ public: -+ FilePathWatcherImpl() = default; -+ FilePathWatcherImpl(const FilePathWatcherImpl&) = delete; -+ FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete; -+ ~FilePathWatcherImpl() override = default; -+ -+ bool Watch(const FilePath& path, -+ Type type, -+ const FilePathWatcher::Callback& callback) override { -+ DCHECK(!impl_.get()); -+ if (type == Type::kRecursive) { -+ if (!FilePathWatcher::RecursiveWatchAvailable()) -+ return false; -+ } else { -+ impl_ = std::make_unique<FilePathWatcherKQueue>(); -+ } -+ DCHECK(impl_.get()); -+ return impl_->Watch(path, type, callback); -+ } -+ -+ void Cancel() override { -+ if (impl_.get()) -+ impl_->Cancel(); -+ set_cancelled(); -+ } -+ -+ private: -+ std::unique_ptr<PlatformDelegate> impl_; -+}; -+ -+} // namespace -+ -+FilePathWatcher::FilePathWatcher() { -+ DETACH_FROM_SEQUENCE(sequence_checker_); -+ impl_ = std::make_unique<FilePathWatcherImpl>(); -+} -+ -+} // namespace base diff --git a/devel/electron25/files/patch-base_files_file__path__watcher__kqueue.h b/devel/electron25/files/patch-base_files_file__path__watcher__kqueue.h deleted file mode 100644 index 821858b75711..000000000000 --- a/devel/electron25/files/patch-base_files_file__path__watcher__kqueue.h +++ /dev/null @@ -1,10 +0,0 @@ ---- base/files/file_path_watcher_kqueue.h.orig 2022-02-07 13:39:41 UTC -+++ base/files/file_path_watcher_kqueue.h -@@ -5,6 +5,7 @@ - #ifndef BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ - #define BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ - -+#include <sys/time.h> - #include <sys/event.h> - - #include <memory> diff --git a/devel/electron25/files/patch-base_files_file__path__watcher__unittest.cc b/devel/electron25/files/patch-base_files_file__path__watcher__unittest.cc deleted file mode 100644 index cfba3fa94e36..000000000000 --- a/devel/electron25/files/patch-base_files_file__path__watcher__unittest.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- base/files/file_path_watcher_unittest.cc.orig 2023-05-25 00:41:38 UTC -+++ base/files/file_path_watcher_unittest.cc -@@ -473,7 +473,7 @@ TEST_F(FilePathWatcherTest, WatchDirectory) { - VLOG(1) << "Waiting for file1 creation"; - ASSERT_TRUE(WaitForEvent()); - --#if !BUILDFLAG(IS_APPLE) -+#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) - // Mac implementation does not detect files modified in a directory. - ASSERT_TRUE(WriteFile(file1, "content v2")); - VLOG(1) << "Waiting for file1 modification"; -@@ -1275,7 +1275,7 @@ enum Permission { - Execute - }; - --#if BUILDFLAG(IS_APPLE) -+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) - bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) { - struct stat stat_buf; - -@@ -1306,7 +1306,7 @@ bool ChangeFilePermissions(const FilePath& path, Permi - } - #endif // BUILDFLAG(IS_APPLE) - --#if BUILDFLAG(IS_APPLE) -+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) - // Linux implementation of FilePathWatcher doesn't catch attribute changes. - // http://crbug.com/78043 - // Windows implementation of FilePathWatcher catches attribute changes that diff --git a/devel/electron25/files/patch-base_files_file__util__posix.cc b/devel/electron25/files/patch-base_files_file__util__posix.cc deleted file mode 100644 index 79819fd8b456..000000000000 --- a/devel/electron25/files/patch-base_files_file__util__posix.cc +++ /dev/null @@ -1,52 +0,0 @@ ---- base/files/file_util_posix.cc.orig 2023-05-25 00:41:38 UTC -+++ base/files/file_util_posix.cc -@@ -756,32 +756,34 @@ bool CreateDirectoryAndGetError(const FilePath& full_p - File::Error* error) { - ScopedBlockingCall scoped_blocking_call( - FROM_HERE, BlockingType::MAY_BLOCK); // For call to mkdir(). -+ const FilePath kFileSystemRoot("/"); - std::vector<FilePath> subpaths; - - // Collect a list of all parent directories. - FilePath last_path = full_path; -- subpaths.push_back(full_path); -+ if (full_path != kFileSystemRoot) -+ subpaths.push_back(full_path); - for (FilePath path = full_path.DirName(); -- path.value() != last_path.value(); path = path.DirName()) { -+ (path.value() != last_path.value() && -+ (path != kFileSystemRoot)); path = path.DirName()) { - subpaths.push_back(path); - last_path = path; - } - - // Iterate through the parents and create the missing ones. - for (const FilePath& subpath : base::Reversed(subpaths)) { -- if (DirectoryExists(subpath)) -- continue; -- if (mkdir(subpath.value().c_str(), 0700) == 0) -- continue; -- // Mkdir failed, but it might have failed with EEXIST, or some other error -- // due to the directory appearing out of thin air. This can occur if -- // two processes are trying to create the same file system tree at the same -- // time. Check to see if it exists and make sure it is a directory. -- int saved_errno = errno; -- if (!DirectoryExists(subpath)) { -- if (error) -- *error = File::OSErrorToFileError(saved_errno); -- return false; -+ if (!PathExists(subpath)) { -+ if ((mkdir(subpath.value().c_str(), 0700) == -1) && -+ ((full_path != subpath) ? (errno != ENOENT) : (-1))) { -+ int saved_errno = errno; -+ if (error) -+ *error = File::OSErrorToFileError(saved_errno); -+ return false; -+ } -+ } else if (!DirectoryExists(subpath)) { -+ if (error) -+ *error = File::OSErrorToFileError(ENOTDIR); -+ return false; - } - } - return true; diff --git a/devel/electron25/files/patch-base_files_file__util__unittest.cc b/devel/electron25/files/patch-base_files_file__util__unittest.cc deleted file mode 100644 index d2cfa0554b8f..000000000000 --- a/devel/electron25/files/patch-base_files_file__util__unittest.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/files/file_util_unittest.cc.orig 2023-05-25 00:41:38 UTC -+++ base/files/file_util_unittest.cc -@@ -3871,7 +3871,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { - } - #endif // BUILDFLAG(IS_WIN) - --#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) -+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) - TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) { - FilePath file_path("/proc/cpuinfo"); - std::string data = "temp"; -@@ -4594,7 +4594,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles - NULL); - #else - size_t bytes_written = -- ::write(::fileno(output_file.get()), content.c_str(), content.length()); -+ ::write(fileno(output_file.get()), content.c_str(), content.length()); - #endif - EXPECT_EQ(content.length(), bytes_written); - ::fflush(output_file.get()); diff --git a/devel/electron25/files/patch-base_files_important__file__writer__cleaner.cc b/devel/electron25/files/patch-base_files_important__file__writer__cleaner.cc deleted file mode 100644 index 80f08d51a819..000000000000 --- a/devel/electron25/files/patch-base_files_important__file__writer__cleaner.cc +++ /dev/null @@ -1,12 +0,0 @@ ---- base/files/important_file_writer_cleaner.cc.orig 2022-02-28 16:54:41 UTC -+++ base/files/important_file_writer_cleaner.cc -@@ -25,7 +25,8 @@ namespace base { - namespace { - - base::Time GetUpperBoundTime() { --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) -+// needed because of .CreationTime() pledge -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - // If process creation time is not available then use instance creation - // time as the upper-bound for old files. Modification times may be - // rounded-down to coarse-grained increments, e.g. FAT has 2s granularity, diff --git a/devel/electron25/files/patch-base_files_scoped__file.cc b/devel/electron25/files/patch-base_files_scoped__file.cc deleted file mode 100644 index 350c73cc76e7..000000000000 --- a/devel/electron25/files/patch-base_files_scoped__file.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/files/scoped_file.cc.orig 2022-02-28 16:54:41 UTC -+++ base/files/scoped_file.cc -@@ -31,7 +31,7 @@ void ScopedFDCloseTraits::Free(int fd) { - int ret = IGNORE_EINTR(close(fd)); - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ -- BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_ANDROID) -+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - // NB: Some file descriptors can return errors from close() e.g. network - // filesystems such as NFS and Linux input devices. On Linux, macOS, and - // Fuchsia's POSIX layer, errors from close other than EBADF do not indicate diff --git a/devel/electron25/files/patch-base_functional_unretained__traits.h b/devel/electron25/files/patch-base_functional_unretained__traits.h deleted file mode 100644 index 75006c20500d..000000000000 --- a/devel/electron25/files/patch-base_functional_unretained__traits.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/functional/unretained_traits.h.orig 2023-02-01 18:43:07 UTC -+++ base/functional/unretained_traits.h -@@ -130,7 +130,7 @@ struct TypeSupportsUnretained { - // official builds, and then in non-test code as well. - #if !defined(UNIT_TEST) && !defined(OFFICIAL_BUILD) - #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ -- defined(FORCE_UNRETAINED_COMPLETENESS_CHECKS_FOR_TESTS) -+ || BUILDFLAGS(IS_BSD) || defined(FORCE_UNRETAINED_COMPLETENESS_CHECKS_FOR_TESTS) - static_assert(IsCompleteTypeV<T> || - IsIncompleteTypeSafeForUnretained<std::remove_cv_t<T>>, - "T must be fully defined."); diff --git a/devel/electron25/files/patch-base_i18n_icu__util.cc b/devel/electron25/files/patch-base_i18n_icu__util.cc deleted file mode 100644 index 3c8c441e08af..000000000000 --- a/devel/electron25/files/patch-base_i18n_icu__util.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/i18n/icu_util.cc.orig 2023-02-01 18:43:07 UTC -+++ base/i18n/icu_util.cc -@@ -51,7 +51,7 @@ - #include "third_party/icu/source/common/unicode/unistr.h" - #endif - --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) || \ - BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) - #include "third_party/icu/source/i18n/unicode/timezone.h" - #endif -@@ -340,7 +340,7 @@ void InitializeIcuTimeZone() { - FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization(); - icu::TimeZone::adoptDefault( - icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id))); --#elif BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) -+#elif BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_BSD) - // To respond to the time zone change properly, the default time zone - // cache in ICU has to be populated on starting up. - // See TimeZoneMonitorLinux::NotifyClientsFromImpl(). diff --git a/devel/electron25/files/patch-base_linux__util.cc b/devel/electron25/files/patch-base_linux__util.cc deleted file mode 100644 index c4b5ebcf6394..000000000000 --- a/devel/electron25/files/patch-base_linux__util.cc +++ /dev/null @@ -1,28 +0,0 @@ ---- base/linux_util.cc.orig 2022-08-31 12:19:35 UTC -+++ base/linux_util.cc -@@ -15,6 +15,7 @@ - - #include <iomanip> - #include <memory> -+#include <sstream> - - #include "base/base_export.h" - #include "base/files/dir_reader_posix.h" -@@ -135,6 +136,9 @@ void SetLinuxDistro(const std::string& distro) { - } - - bool GetThreadsForProcess(pid_t pid, std::vector<pid_t>* tids) { -+#if defined(OS_BSD) -+ return false; -+#else - // 25 > strlen("/proc//task") + strlen(std::to_string(INT_MAX)) + 1 = 22 - char buf[25]; - strings::SafeSPrintf(buf, "/proc/%d/task", pid); -@@ -152,6 +156,7 @@ bool GetThreadsForProcess(pid_t pid, std::vector<pid_t - } - - return true; -+#endif - } - - pid_t FindThreadIDWithSyscall(pid_t pid, const std::string& expected_data, diff --git a/devel/electron25/files/patch-base_logging__unittest.cc b/devel/electron25/files/patch-base_logging__unittest.cc deleted file mode 100644 index 46ed9c5c2a22..000000000000 --- a/devel/electron25/files/patch-base_logging__unittest.cc +++ /dev/null @@ -1,31 +0,0 @@ ---- base/logging_unittest.cc.orig 2023-02-01 18:43:07 UTC -+++ base/logging_unittest.cc -@@ -32,7 +32,7 @@ - #include "base/posix/eintr_wrapper.h" - #endif // BUILDFLAG(IS_POSIX) - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FREEBSD) - #include <ucontext.h> - #endif - -@@ -575,14 +575,18 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo - // need the arch-specific boilerplate below, which is inspired by breakpad. - // At the same time, on OSX, ucontext.h is deprecated but si_addr works fine. - uintptr_t crash_addr = 0; --#if BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FREEBSD) - crash_addr = reinterpret_cast<uintptr_t>(info->si_addr); - #else // OS_* - ucontext_t* context = reinterpret_cast<ucontext_t*>(context_ptr); - #if defined(ARCH_CPU_X86) - crash_addr = static_cast<uintptr_t>(context->uc_mcontext.gregs[REG_EIP]); - #elif defined(ARCH_CPU_X86_64) -+#if BUILDFLAG(IS_OPENBSD) -+ crash_addr = static_cast<uintptr_t>(context->sc_rip); -+#else - crash_addr = static_cast<uintptr_t>(context->uc_mcontext.gregs[REG_RIP]); -+#endif - #elif defined(ARCH_CPU_ARMEL) - crash_addr = static_cast<uintptr_t>(context->uc_mcontext.arm_pc); - #elif defined(ARCH_CPU_ARM64) diff --git a/devel/electron25/files/patch-base_memory_discardable__memory.cc b/devel/electron25/files/patch-base_memory_discardable__memory.cc deleted file mode 100644 index bd043476fc97..000000000000 --- a/devel/electron25/files/patch-base_memory_discardable__memory.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- base/memory/discardable_memory.cc.orig 2022-11-30 08:12:58 UTC -+++ base/memory/discardable_memory.cc -@@ -26,7 +26,7 @@ BASE_FEATURE(kMadvFreeDiscardableMemory, - base::FEATURE_DISABLED_BY_DEFAULT); - #endif // BUILDFLAG(IS_POSIX) - --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - BASE_FEATURE(kDiscardableMemoryBackingTrial, - "DiscardableMemoryBackingTrial", - base::FEATURE_DISABLED_BY_DEFAULT); -@@ -52,7 +52,7 @@ const base::FeatureParam<DiscardableMemoryTrialGroup> - - namespace { - --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - - DiscardableMemoryBacking GetBackingForFieldTrial() { - DiscardableMemoryTrialGroup trial_group = -@@ -71,7 +71,7 @@ DiscardableMemoryBacking GetBackingForFieldTrial() { - - } // namespace - --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - - // Probe capabilities of this device to determine whether we should participate - // in the discardable memory backing trial. -@@ -101,7 +101,7 @@ DiscardableMemory::DiscardableMemory() = default; - DiscardableMemory::~DiscardableMemory() = default; - - DiscardableMemoryBacking GetDiscardableMemoryBacking() { --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - if (DiscardableMemoryBackingFieldTrialIsEnabled()) { - return GetBackingForFieldTrial(); - } diff --git a/devel/electron25/files/patch-base_memory_discardable__memory__internal.h b/devel/electron25/files/patch-base_memory_discardable__memory__internal.h deleted file mode 100644 index 13bef7210432..000000000000 --- a/devel/electron25/files/patch-base_memory_discardable__memory__internal.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/memory/discardable_memory_internal.h.orig 2022-02-28 16:54:41 UTC -+++ base/memory/discardable_memory_internal.h -@@ -10,7 +10,7 @@ - #include "base/metrics/field_trial_params.h" - #include "build/build_config.h" - --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - - namespace base { - diff --git a/devel/electron25/files/patch-base_memory_madv__free__discardable__memory__posix.cc b/devel/electron25/files/patch-base_memory_madv__free__discardable__memory__posix.cc deleted file mode 100644 index eab961b93ef3..000000000000 --- a/devel/electron25/files/patch-base_memory_madv__free__discardable__memory__posix.cc +++ /dev/null @@ -1,21 +0,0 @@ ---- base/memory/madv_free_discardable_memory_posix.cc.orig 2023-05-25 00:41:38 UTC -+++ base/memory/madv_free_discardable_memory_posix.cc -@@ -306,6 +306,10 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT - - bool MadvFreeDiscardableMemoryPosix::IsResident() const { - DFAKE_SCOPED_RECURSIVE_LOCK(thread_collision_warner_); -+// XXX mincore -+#if BUILDFLAG(IS_BSD) -+ return false; -+#else - #if BUILDFLAG(IS_APPLE) - std::vector<char> vec(allocated_pages_); - #else -@@ -321,6 +325,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons - return false; - } - return true; -+#endif - } - - bool MadvFreeDiscardableMemoryPosix::IsDiscarded() const { diff --git a/devel/electron25/files/patch-base_memory_platform__shared__memory__region.h b/devel/electron25/files/patch-base_memory_platform__shared__memory__region.h deleted file mode 100644 index 852cc726f377..000000000000 --- a/devel/electron25/files/patch-base_memory_platform__shared__memory__region.h +++ /dev/null @@ -1,29 +0,0 @@ ---- base/memory/platform_shared_memory_region.h.orig 2022-06-17 14:20:10 UTC -+++ base/memory/platform_shared_memory_region.h -@@ -16,7 +16,7 @@ - - #include <stdint.h> - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - namespace content { - class SandboxIPCHandler; - } -@@ -83,7 +83,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { - kMaxValue = GET_SHMEM_TEMP_DIR_FAILURE - }; - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Structure to limit access to executable region creation. - struct ExecutableRegion { - private: -@@ -211,7 +211,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { - CheckPlatformHandlePermissionsCorrespondToMode); - static PlatformSharedMemoryRegion Create(Mode mode, - size_t size --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - , - bool executable = false - #endif diff --git a/devel/electron25/files/patch-base_memory_platform__shared__memory__region__posix.cc b/devel/electron25/files/patch-base_memory_platform__shared__memory__region__posix.cc deleted file mode 100644 index fc212fadf786..000000000000 --- a/devel/electron25/files/patch-base_memory_platform__shared__memory__region__posix.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- base/memory/platform_shared_memory_region_posix.cc.orig 2023-02-01 18:43:07 UTC -+++ base/memory/platform_shared_memory_region_posix.cc -@@ -55,7 +55,7 @@ bool CheckFDAccessMode(int fd, int expected_mode) { - - } // namespace - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // static - ScopedFD PlatformSharedMemoryRegion::ExecutableRegion::CreateFD(size_t size) { - PlatformSharedMemoryRegion region = -@@ -168,7 +168,7 @@ bool PlatformSharedMemoryRegion::ConvertToUnsafe() { - // static - PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode, - size_t size --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - , - bool executable - #endif -@@ -197,7 +197,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion: - // flag. - FilePath directory; - if (!GetShmemTempDir( --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - executable, - #else - false /* executable */, diff --git a/devel/electron25/files/patch-base_message__loop_message__pump__glib.cc b/devel/electron25/files/patch-base_message__loop_message__pump__glib.cc deleted file mode 100644 index 6734d01e8bf0..000000000000 --- a/devel/electron25/files/patch-base_message__loop_message__pump__glib.cc +++ /dev/null @@ -1,28 +0,0 @@ ---- base/message_loop/message_pump_glib.cc.orig 2022-08-31 12:19:35 UTC -+++ base/message_loop/message_pump_glib.cc -@@ -8,6 +8,11 @@ - #include <glib.h> - #include <math.h> - -+#if BUILDFLAG(IS_BSD) -+#include <pthread.h> -+#include <pthread_np.h> -+#endif -+ - #include "base/logging.h" - #include "base/memory/raw_ptr.h" - #include "base/notreached.h" -@@ -51,9 +56,13 @@ int GetTimeIntervalMilliseconds(TimeTicks next_task_ti - } - - bool RunningOnMainThread() { -+#if BUILDFLAG(IS_BSD) -+ return pthread_main_np(); -+#else - auto pid = getpid(); - auto tid = PlatformThread::CurrentId(); - return pid > 0 && tid > 0 && pid == tid; -+#endif - } - - // A brief refresher on GLib: diff --git a/devel/electron25/files/patch-base_native__library__posix.cc b/devel/electron25/files/patch-base_native__library__posix.cc deleted file mode 100644 index c2b8d0e5e970..000000000000 --- a/devel/electron25/files/patch-base_native__library__posix.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/native_library_posix.cc.orig 2022-05-19 14:06:27 UTC -+++ base/native_library_posix.cc -@@ -33,7 +33,7 @@ NativeLibrary LoadNativeLibraryWithOptions(const FileP - // http://crbug.com/17943, http://crbug.com/17557, http://crbug.com/36892, - // and http://crbug.com/40794. - int flags = RTLD_LAZY; --#if BUILDFLAG(IS_ANDROID) || !defined(RTLD_DEEPBIND) -+#if BUILDFLAG(IS_ANDROID) || !defined(RTLD_DEEPBIND) || BUILDFLAG(IS_BSD) - // Certain platforms don't define RTLD_DEEPBIND. Android dlopen() requires - // further investigation, as it might vary across versions. Crash here to - // warn developers that they're trying to rely on uncertain behavior. diff --git a/devel/electron25/files/patch-base_native__library__unittest.cc b/devel/electron25/files/patch-base_native__library__unittest.cc deleted file mode 100644 index ef6934877037..000000000000 --- a/devel/electron25/files/patch-base_native__library__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/native_library_unittest.cc.orig 2022-10-24 13:33:33 UTC -+++ base/native_library_unittest.cc -@@ -134,7 +134,7 @@ TEST(NativeLibraryTest, LoadLibrary) { - // versions with respect to symbol resolution scope. - // TSan and MSan error out on RTLD_DEEPBIND, https://crbug.com/705255 - #if !BUILDFLAG(IS_ANDROID) && !defined(THREAD_SANITIZER) && \ -- !defined(MEMORY_SANITIZER) -+ !defined(MEMORY_SANITIZER) && !BUILDFLAG(IS_BSD) - - // Verifies that the |prefer_own_symbols| option satisfies its guarantee that - // a loaded library will always prefer local symbol resolution before diff --git a/devel/electron25/files/patch-base_posix_can__lower__nice__to.cc b/devel/electron25/files/patch-base_posix_can__lower__nice__to.cc deleted file mode 100644 index 67a5d35808ae..000000000000 --- a/devel/electron25/files/patch-base_posix_can__lower__nice__to.cc +++ /dev/null @@ -1,16 +0,0 @@ ---- base/posix/can_lower_nice_to.cc.orig 2022-02-28 16:54:41 UTC -+++ base/posix/can_lower_nice_to.cc -@@ -11,8 +11,12 @@ - - #include "build/build_config.h" - -+#if BUILDFLAG(IS_FREEBSD) -+#include <sys/param.h> -+#endif -+ - // Not defined on AIX by default. --#if BUILDFLAG(IS_AIX) -+#if BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - #if defined(RLIMIT_NICE) - #error Assumption about OS_AIX is incorrect - #endif diff --git a/devel/electron25/files/patch-base_posix_unix__domain__socket.cc b/devel/electron25/files/patch-base_posix_unix__domain__socket.cc deleted file mode 100644 index 1ae00278ecd3..000000000000 --- a/devel/electron25/files/patch-base_posix_unix__domain__socket.cc +++ /dev/null @@ -1,39 +0,0 @@ ---- base/posix/unix_domain_socket.cc.orig 2022-08-31 12:19:35 UTC -+++ base/posix/unix_domain_socket.cc -@@ -51,7 +51,7 @@ bool CreateSocketPair(ScopedFD* one, ScopedFD* two) { - - // static - bool UnixDomainSocket::EnableReceiveProcessId(int fd) { --#if !BUILDFLAG(IS_APPLE) -+#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) - const int enable = 1; - return setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable)) == 0; - #else -@@ -149,7 +149,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, - - const size_t kControlBufferSize = - CMSG_SPACE(sizeof(int) * kMaxFileDescriptors) --#if !BUILDFLAG(IS_APPLE) -+#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) - // macOS does not support ucred. - // macOS supports xucred, but this structure is insufficient. - + CMSG_SPACE(sizeof(struct ucred)) -@@ -177,7 +177,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, - wire_fds = reinterpret_cast<int*>(CMSG_DATA(cmsg)); - wire_fds_len = payload_len / sizeof(int); - } --#if !BUILDFLAG(IS_APPLE) -+#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) - // macOS does not support SCM_CREDENTIALS. - if (cmsg->cmsg_level == SOL_SOCKET && - cmsg->cmsg_type == SCM_CREDENTIALS) { -@@ -211,6 +211,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, - socklen_t pid_size = sizeof(pid); - if (getsockopt(fd, SOL_LOCAL, LOCAL_PEERPID, &pid, &pid_size) != 0) - pid = -1; -+#elif BUILDFLAG(IS_BSD) -+ NOTIMPLEMENTED(); -+ pid = -1; - #else - // |pid| will legitimately be -1 if we read EOF, so only DCHECK if we - // actually received a message. Unfortunately, Linux allows sending zero diff --git a/devel/electron25/files/patch-base_posix_unix__domain__socket__unittest.cc b/devel/electron25/files/patch-base_posix_unix__domain__socket__unittest.cc deleted file mode 100644 index 69118fd94c29..000000000000 --- a/devel/electron25/files/patch-base_posix_unix__domain__socket__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/posix/unix_domain_socket_unittest.cc.orig 2023-03-30 00:33:38 UTC -+++ base/posix/unix_domain_socket_unittest.cc -@@ -10,6 +10,8 @@ - #include <sys/types.h> - #include <unistd.h> - -+#include <signal.h> -+ - #include "base/files/file_util.h" - #include "base/files/scoped_file.h" - #include "base/functional/bind.h" diff --git a/devel/electron25/files/patch-base_process_kill.h b/devel/electron25/files/patch-base_process_kill.h deleted file mode 100644 index 1463ba9ed811..000000000000 --- a/devel/electron25/files/patch-base_process_kill.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/process/kill.h.orig 2022-05-19 14:06:27 UTC -+++ base/process/kill.h -@@ -113,7 +113,7 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro - BASE_EXPORT TerminationStatus GetKnownDeadTerminationStatus( - ProcessHandle handle, int* exit_code); - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Spawns a thread to wait asynchronously for the child |process| to exit - // and then reaps it. - BASE_EXPORT void EnsureProcessGetsReaped(Process process); diff --git a/devel/electron25/files/patch-base_process_kill__posix.cc b/devel/electron25/files/patch-base_process_kill__posix.cc deleted file mode 100644 index b197dc3675c5..000000000000 --- a/devel/electron25/files/patch-base_process_kill__posix.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/process/kill_posix.cc.orig 2023-03-30 00:33:38 UTC -+++ base/process/kill_posix.cc -@@ -157,7 +157,7 @@ void EnsureProcessTerminated(Process process) { - 0, new BackgroundReaper(std::move(process), Seconds(2))); - } - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - void EnsureProcessGetsReaped(Process process) { - DCHECK(!process.is_current()); - diff --git a/devel/electron25/files/patch-base_process_launch.h b/devel/electron25/files/patch-base_process_launch.h deleted file mode 100644 index 7357acf2f254..000000000000 --- a/devel/electron25/files/patch-base_process_launch.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/process/launch.h.orig 2023-05-25 00:41:38 UTC -+++ base/process/launch.h -@@ -200,7 +200,7 @@ struct BASE_EXPORT LaunchOptions { - bool clear_environment = false; - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // If non-zero, start the process using clone(), using flags as provided. - // Unlike in clone, clone_flags may not contain a custom termination signal - // that is sent to the parent when the child dies. The termination signal will diff --git a/devel/electron25/files/patch-base_process_launch__posix.cc b/devel/electron25/files/patch-base_process_launch__posix.cc deleted file mode 100644 index 656ff7be03d3..000000000000 --- a/devel/electron25/files/patch-base_process_launch__posix.cc +++ /dev/null @@ -1,12 +0,0 @@ ---- base/process/launch_posix.cc.orig 2022-08-31 12:19:35 UTC -+++ base/process/launch_posix.cc -@@ -64,6 +64,9 @@ - #error "macOS should use launch_mac.cc" - #endif - -+#if defined(OS_FREEBSD) -+#pragma weak environ -+#endif - extern char** environ; - - namespace base { diff --git a/devel/electron25/files/patch-base_process_memory__linux.cc b/devel/electron25/files/patch-base_process_memory__linux.cc deleted file mode 100644 index 7953b4340aa9..000000000000 --- a/devel/electron25/files/patch-base_process_memory__linux.cc +++ /dev/null @@ -1,44 +0,0 @@ ---- base/process/memory_linux.cc.orig 2023-02-01 18:43:07 UTC -+++ base/process/memory_linux.cc -@@ -20,6 +20,7 @@ - - namespace base { - -+#if !BUILDFLAG(IS_BSD) - namespace { - - void ReleaseReservationOrTerminate() { -@@ -29,12 +30,14 @@ void ReleaseReservationOrTerminate() { - } - - } // namespace -+#endif - - void EnableTerminationOnHeapCorruption() { - // On Linux, there nothing to do AFAIK. - } - - void EnableTerminationOnOutOfMemory() { -+#if !BUILDFLAG(IS_BSD) - // Set the new-out of memory handler. - std::set_new_handler(&ReleaseReservationOrTerminate); - // If we're using glibc's allocator, the above functions will override -@@ -43,8 +46,10 @@ void EnableTerminationOnOutOfMemory() { - #if BUILDFLAG(USE_ALLOCATOR_SHIM) - allocator_shim::SetCallNewHandlerOnMallocFailure(true); - #endif -+#endif - } - -+#if !BUILDFLAG(IS_BSD) - // ScopedAllowBlocking() has private constructor and it can only be used in - // friend classes/functions. Declaring a class is easier in this situation to - // avoid adding more dependency to thread_restrictions.h because of the -@@ -104,6 +109,7 @@ bool AdjustOOMScoreHelper::AdjustOOMScore(ProcessId pr - bool AdjustOOMScore(ProcessId process, int score) { - return AdjustOOMScoreHelper::AdjustOOMScore(process, score); - } -+#endif - - bool UncheckedMalloc(size_t size, void** result) { - #if BUILDFLAG(USE_ALLOCATOR_SHIM) diff --git a/devel/electron25/files/patch-base_process_process__handle.cc b/devel/electron25/files/patch-base_process_process__handle.cc deleted file mode 100644 index efb95e7c3b54..000000000000 --- a/devel/electron25/files/patch-base_process_process__handle.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/process/process_handle.cc.orig 2022-02-28 16:54:41 UTC -+++ base/process/process_handle.cc -@@ -30,7 +30,7 @@ UniqueProcId GetUniqueIdForProcess() { - : UniqueProcId(GetCurrentProcId()); - } - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - - void InitUniqueIdForProcessInPidNamespace(ProcessId pid_outside_of_namespace) { - DCHECK(pid_outside_of_namespace != kNullProcessId); diff --git a/devel/electron25/files/patch-base_process_process__handle.h b/devel/electron25/files/patch-base_process_process__handle.h deleted file mode 100644 index 5e25e86d099c..000000000000 --- a/devel/electron25/files/patch-base_process_process__handle.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/process/process_handle.h.orig 2022-02-28 16:54:41 UTC -+++ base/process/process_handle.h -@@ -106,7 +106,7 @@ BASE_EXPORT ProcessId GetCurrentProcId(); - // processes may be reused. - BASE_EXPORT UniqueProcId GetUniqueIdForProcess(); - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // When a process is started in a different PID namespace from the browser - // process, this function must be called with the process's PID in the browser's - // PID namespace in order to initialize its unique ID. Not thread safe. diff --git a/devel/electron25/files/patch-base_process_process__handle__freebsd.cc b/devel/electron25/files/patch-base_process_process__handle__freebsd.cc deleted file mode 100644 index 5cc930471cea..000000000000 --- a/devel/electron25/files/patch-base_process_process__handle__freebsd.cc +++ /dev/null @@ -1,25 +0,0 @@ ---- base/process/process_handle_freebsd.cc.orig 2022-04-21 18:48:31 UTC -+++ base/process/process_handle_freebsd.cc -@@ -3,6 +3,7 @@ - // found in the LICENSE file. - - #include "base/process/process_handle.h" -+#include "base/files/file_util.h" - - #include <limits.h> - #include <stddef.h> -@@ -15,10 +16,13 @@ namespace base { - - ProcessId GetParentProcessId(ProcessHandle process) { - struct kinfo_proc info; -- size_t length; -+ size_t length = sizeof(struct kinfo_proc); - int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; - - if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) -+ return -1; -+ -+ if (length < sizeof(struct kinfo_proc)) - return -1; - - return info.ki_ppid; diff --git a/devel/electron25/files/patch-base_process_process__handle__openbsd.cc b/devel/electron25/files/patch-base_process_process__handle__openbsd.cc deleted file mode 100644 index f8e318565de3..000000000000 --- a/devel/electron25/files/patch-base_process_process__handle__openbsd.cc +++ /dev/null @@ -1,89 +0,0 @@ ---- base/process/process_handle_openbsd.cc.orig 2022-04-21 18:48:31 UTC -+++ base/process/process_handle_openbsd.cc -@@ -3,8 +3,11 @@ - // found in the LICENSE file. - - #include "base/process/process_handle.h" -+#include "base/files/file_util.h" - - #include <stddef.h> -+#include <sys/param.h> -+#include <sys/proc.h> - #include <sys/sysctl.h> - #include <sys/types.h> - #include <unistd.h> -@@ -12,39 +15,59 @@ - namespace base { - - ProcessId GetParentProcessId(ProcessHandle process) { -- struct kinfo_proc info; -+ struct kinfo_proc *info; - size_t length; -+ pid_t ppid; - int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process, - sizeof(struct kinfo_proc), 0 }; - - if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) - return -1; - -+ info = (struct kinfo_proc *)malloc(length); -+ - mib[5] = (length / sizeof(struct kinfo_proc)); - -- if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) -- return -1; -+ if (sysctl(mib, std::size(mib), info, &length, NULL, 0) < 0) { -+ ppid = -1; -+ goto out; -+ } - -- return info.p_ppid; -+ ppid = info->p_ppid; -+ -+out: -+ free(info); -+ return ppid; - } - - FilePath GetProcessExecutablePath(ProcessHandle process) { -- struct kinfo_proc kp; -- size_t len; -+ struct kinfo_proc *info; -+ size_t length; -+ char *path = NULL; - int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process, - sizeof(struct kinfo_proc), 0 }; - -- if (sysctl(mib, std::size(mib), NULL, &len, NULL, 0) == -1) -+ if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) == -1) - return FilePath(); -- mib[5] = (len / sizeof(struct kinfo_proc)); -- if (sysctl(mib, std::size(mib), &kp, &len, NULL, 0) < 0) -- return FilePath(); -- if ((kp.p_flag & P_SYSTEM) != 0) -- return FilePath(); -- if (strcmp(kp.p_comm, "chrome") == 0) -- return FilePath(kp.p_comm); - -- return FilePath(); -+ info = (struct kinfo_proc *)malloc(length); -+ -+ mib[5] = (length / sizeof(struct kinfo_proc)); -+ -+ if (sysctl(mib, std::size(mib), info, &length, NULL, 0) < 0) -+ goto out; -+ -+ if ((info->p_flag & P_SYSTEM) != 0) -+ goto out; -+ -+ if (strcmp(info->p_comm, "chrome") == 0) { -+ path = info->p_comm; -+ goto out; -+ } -+ -+out: -+ free(info); -+ return FilePath(path); - } - - } // namespace base diff --git a/devel/electron25/files/patch-base_process_process__iterator__freebsd.cc b/devel/electron25/files/patch-base_process_process__iterator__freebsd.cc deleted file mode 100644 index 0b752cea1428..000000000000 --- a/devel/electron25/files/patch-base_process_process__iterator__freebsd.cc +++ /dev/null @@ -1,51 +0,0 @@ ---- base/process/process_iterator_freebsd.cc.orig 2023-03-30 00:33:38 UTC -+++ base/process/process_iterator_freebsd.cc -@@ -18,7 +18,7 @@ namespace base { - - ProcessIterator::ProcessIterator(const ProcessFilter* filter) - : filter_(filter) { -- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid() }; -+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, (int) getuid() }; - - bool done = false; - int try_num = 1; -@@ -37,7 +37,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* - num_of_kinfo_proc += 16; - kinfo_procs_.resize(num_of_kinfo_proc); - len = num_of_kinfo_proc * sizeof(struct kinfo_proc); -- if (sysctl(mib, std::size(mib), &kinfo_procs_[0], &len, NULL, 0) < 0) { -+ if (sysctl(mib, std::size(mib), kinfo_procs_.data(), &len, NULL, 0) < 0) { - // If we get a mem error, it just means we need a bigger buffer, so - // loop around again. Anything else is a real error and give up. - if (errno != ENOMEM) { -@@ -47,7 +47,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* - } - } else { - // Got the list, just make sure we're sized exactly right -- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); -+ num_of_kinfo_proc = len / sizeof(struct kinfo_proc); - kinfo_procs_.resize(num_of_kinfo_proc); - done = true; - } -@@ -68,18 +68,13 @@ bool ProcessIterator::CheckForNextProcess() { - for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) { - size_t length; - struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_]; -- int mib[] = { CTL_KERN, KERN_PROC_ARGS, kinfo.ki_pid }; -+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ARGS, kinfo.ki_pid }; - - if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB)) - continue; - -- length = 0; -- if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) { -- LOG(ERROR) << "failed to figure out the buffer size for a command line"; -- continue; -- } -- -- data.resize(length); -+ data.resize(ARG_MAX); -+ length = ARG_MAX; - - if (sysctl(mib, std::size(mib), &data[0], &length, NULL, 0) < 0) { - LOG(ERROR) << "failed to fetch a commandline"; diff --git a/devel/electron25/files/patch-base_process_process__iterator__openbsd.cc b/devel/electron25/files/patch-base_process_process__iterator__openbsd.cc deleted file mode 100644 index ca96780b7ba2..000000000000 --- a/devel/electron25/files/patch-base_process_process__iterator__openbsd.cc +++ /dev/null @@ -1,45 +0,0 @@ ---- base/process/process_iterator_openbsd.cc.orig 2023-03-30 00:33:38 UTC -+++ base/process/process_iterator_openbsd.cc -@@ -6,6 +6,9 @@ - - #include <errno.h> - #include <stddef.h> -+#include <unistd.h> -+#include <sys/param.h> -+#include <sys/proc.h> - #include <sys/sysctl.h> - - #include "base/logging.h" -@@ -16,12 +19,13 @@ namespace base { - - ProcessIterator::ProcessIterator(const ProcessFilter* filter) - : filter_(filter) { -- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid(), -+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, static_cast<int>(getuid()), - sizeof(struct kinfo_proc), 0 }; - - bool done = false; - int try_num = 1; - const int max_tries = 10; -+ size_t num_of_kinfo_proc; - - do { - size_t len = 0; -@@ -30,7 +34,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* - kinfo_procs_.resize(0); - done = true; - } else { -- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); -+ num_of_kinfo_proc = len / sizeof(struct kinfo_proc); - // Leave some spare room for process table growth (more could show up - // between when we check and now) - num_of_kinfo_proc += 16; -@@ -46,7 +50,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* - } - } else { - // Got the list, just make sure we're sized exactly right -- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); -+ num_of_kinfo_proc = len / sizeof(struct kinfo_proc); - kinfo_procs_.resize(num_of_kinfo_proc); - done = true; - } diff --git a/devel/electron25/files/patch-base_process_process__metrics.cc b/devel/electron25/files/patch-base_process_process__metrics.cc deleted file mode 100644 index 26f0e14e31a0..000000000000 --- a/devel/electron25/files/patch-base_process_process__metrics.cc +++ /dev/null @@ -1,54 +0,0 @@ ---- base/process/process_metrics.cc.orig 2023-05-25 00:41:38 UTC -+++ base/process/process_metrics.cc -@@ -17,7 +17,7 @@ namespace base { - namespace { - - #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ -- BUILDFLAG(IS_AIX) -+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - int CalculateEventsPerSecond(uint64_t event_count, - uint64_t* last_event_count, - base::TimeTicks* last_calculated) { -@@ -54,7 +54,7 @@ SystemMetrics SystemMetrics::Sample() { - SystemMetrics system_metrics; - - system_metrics.committed_memory_ = GetSystemCommitCharge(); --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - GetSystemMemoryInfo(&system_metrics.memory_info_); - GetVmStatInfo(&system_metrics.vmstat_info_); - GetSystemDiskInfo(&system_metrics.disk_info_); -@@ -73,7 +73,7 @@ Value::Dict SystemMetrics::ToDict() const { - Value::Dict res; - - res.Set("committed_memory", static_cast<int>(committed_memory_)); --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - Value::Dict meminfo = memory_info_.ToDict(); - meminfo.Merge(vmstat_info_.ToDict()); - res.Set("meminfo", std::move(meminfo)); -@@ -100,7 +100,6 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create - #endif // !BUILDFLAG(IS_MAC) - } - --#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) - double ProcessMetrics::GetPlatformIndependentCPUUsage( - TimeDelta cumulative_cpu) { - TimeTicks time = TimeTicks::Now(); -@@ -126,7 +125,6 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( - double ProcessMetrics::GetPlatformIndependentCPUUsage() { - return GetPlatformIndependentCPUUsage(GetCumulativeCPUUsage()); - } --#endif - - #if BUILDFLAG(IS_WIN) - double ProcessMetrics::GetPreciseCPUUsage(TimeDelta cumulative_cpu) { -@@ -157,7 +155,7 @@ double ProcessMetrics::GetPreciseCPUUsage() { - #endif // BUILDFLAG(IS_WIN) - - #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ -- BUILDFLAG(IS_AIX) -+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - int ProcessMetrics::CalculateIdleWakeupsPerSecond( - uint64_t absolute_idle_wakeups) { - return CalculateEventsPerSecond(absolute_idle_wakeups, diff --git a/devel/electron25/files/patch-base_process_process__metrics.h b/devel/electron25/files/patch-base_process_process__metrics.h deleted file mode 100644 index 3032e65fd6b4..000000000000 --- a/devel/electron25/files/patch-base_process_process__metrics.h +++ /dev/null @@ -1,120 +0,0 @@ ---- base/process/process_metrics.h.orig 2023-03-30 00:33:38 UTC -+++ base/process/process_metrics.h -@@ -37,7 +37,7 @@ - #endif - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ -- BUILDFLAG(IS_AIX) -+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - #include <string> - #include <utility> - #include <vector> -@@ -50,7 +50,7 @@ namespace base { - // Full declaration is in process_metrics_iocounters.h. - struct IoCounters; - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - // Minor and major page fault counts since the process creation. - // Both counts are process-wide, and exclude child processes. - // -@@ -105,7 +105,7 @@ class BASE_EXPORT ProcessMetrics { - // convenience wrapper for CreateProcessMetrics(). - static std::unique_ptr<ProcessMetrics> CreateCurrentProcessMetrics(); - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - // Resident Set Size is a Linux/Android specific memory concept. Do not - // attempt to extend this to other platforms. - BASE_EXPORT size_t GetResidentSetSize() const; -@@ -163,7 +163,7 @@ class BASE_EXPORT ProcessMetrics { - #endif // BUILDFLAG(IS_WIN) - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ -- BUILDFLAG(IS_AIX) -+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - // Emits the cumulative CPU usage for all currently active threads since they - // were started into the output parameter (replacing its current contents). - // Threads that have already terminated will not be reported. Thus, the sum of -@@ -223,7 +223,7 @@ class BASE_EXPORT ProcessMetrics { - int GetOpenFdSoftLimit() const; - #endif // BUILDFLAG(IS_POSIX) - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - // Bytes of swap as reported by /proc/[pid]/status. - uint64_t GetVmSwapBytes() const; - -@@ -244,7 +244,7 @@ class BASE_EXPORT ProcessMetrics { - #endif // !BUILDFLAG(IS_MAC) - - #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ -- BUILDFLAG(IS_AIX) -+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups); - #endif - #if BUILDFLAG(IS_APPLE) -@@ -263,9 +263,7 @@ class BASE_EXPORT ProcessMetrics { - // Used to store the previous times and CPU usage counts so we can - // compute the CPU usage between calls. - TimeTicks last_cpu_time_; --#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) - TimeDelta last_cumulative_cpu_; --#endif - - #if BUILDFLAG(IS_WIN) - TimeTicks last_cpu_time_for_precise_cpu_usage_; -@@ -273,7 +271,7 @@ class BASE_EXPORT ProcessMetrics { - #endif - - #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ -- BUILDFLAG(IS_AIX) -+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - // Same thing for idle wakeups. - TimeTicks last_idle_wakeups_time_; - uint64_t last_absolute_idle_wakeups_; -@@ -316,7 +314,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_AIX) || \ -- BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - // Data about system-wide memory consumption. Values are in KB. Available on - // Windows, Mac, Linux, Android and Chrome OS. - // -@@ -351,7 +349,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { - #endif - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ -- BUILDFLAG(IS_AIX) -+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - // This provides an estimate of available memory as described here: - // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 - // NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always -@@ -366,7 +364,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { - #endif - - #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ -- BUILDFLAG(IS_AIX) || BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - int buffers = 0; - int cached = 0; - int active_anon = 0; -@@ -403,7 +401,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK - // BUILDFLAG(IS_FUCHSIA) - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ -- BUILDFLAG(IS_AIX) -+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - // Parse the data found in /proc/<pid>/stat and return the sum of the - // CPU-related ticks. Returns -1 on parse error. - // Exposed for testing. -@@ -591,7 +589,7 @@ class BASE_EXPORT SystemMetrics { - FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics); - - size_t committed_memory_; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - SystemMemoryInfoKB memory_info_; - VmStatInfo vmstat_info_; - SystemDiskInfo disk_info_; diff --git a/devel/electron25/files/patch-base_process_process__metrics__freebsd.cc b/devel/electron25/files/patch-base_process_process__metrics__freebsd.cc deleted file mode 100644 index 0c884ddeb65a..000000000000 --- a/devel/electron25/files/patch-base_process_process__metrics__freebsd.cc +++ /dev/null @@ -1,305 +0,0 @@ ---- base/process/process_metrics_freebsd.cc.orig 2023-03-30 00:33:38 UTC -+++ base/process/process_metrics_freebsd.cc -@@ -3,20 +3,39 @@ - // found in the LICENSE file. - - #include "base/process/process_metrics.h" -+#include "base/notreached.h" - - #include <stddef.h> -+#include <sys/types.h> - #include <sys/sysctl.h> - #include <sys/user.h> - #include <unistd.h> - -+#include <fcntl.h> /* O_RDONLY */ -+#include <kvm.h> -+#include <libutil.h> -+ - #include "base/memory/ptr_util.h" - #include "base/process/process_metrics_iocounters.h" -+#include "base/values.h" - - namespace base { -+namespace { -+int GetPageShift() { -+ int pagesize = getpagesize(); -+ int pageshift = 0; - -+ while (pagesize > 1) { -+ pageshift++; -+ pagesize >>= 1; -+ } -+ -+ return pageshift; -+} -+} -+ - ProcessMetrics::ProcessMetrics(ProcessHandle process) -- : process_(process), -- last_cpu_(0) {} -+ : process_(process) {} - - // static - std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics( -@@ -24,22 +43,19 @@ std::unique_ptr<ProcessMetrics> ProcessMetrics::Create - return WrapUnique(new ProcessMetrics(process)); - } - --double ProcessMetrics::GetPlatformIndependentCPUUsage() { -+TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { - struct kinfo_proc info; -- int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, process_}; -- size_t length = sizeof(info); -+ size_t length = sizeof(struct kinfo_proc); -+ struct timeval tv; - -+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_ }; -+ - if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) -- return 0; -+ return TimeDelta(); - -- return (info.ki_pctcpu / FSCALE) * 100.0; -+ return Microseconds(info.ki_runtime); - } - --TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { -- NOTREACHED(); -- return TimeDelta(); --} -- - bool ProcessMetrics::GetIOCounters(IoCounters* io_counters) const { - return false; - } -@@ -65,6 +81,230 @@ size_t GetSystemCommitCharge() { - pagesize = getpagesize(); - - return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); -+} -+ -+int64_t GetNumberOfThreads(ProcessHandle process) { -+ // Taken from FreeBSD top (usr.bin/top/machine.c) -+ -+ kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open"); -+ if (kd == NULL) -+ return 0; -+ -+ struct kinfo_proc* pbase; -+ int nproc; -+ pbase = kvm_getprocs(kd, KERN_PROC_PID, process, &nproc); -+ if (pbase == NULL) -+ return 0; -+ -+ if (kvm_close(kd) == -1) -+ return 0; -+ -+ return nproc; -+} -+ -+bool GetSystemMemoryInfo(SystemMemoryInfoKB *meminfo) { -+ unsigned int mem_total, mem_free, swap_total, swap_used; -+ size_t length; -+ int pagesizeKB; -+ -+ pagesizeKB = getpagesize() / 1024; -+ -+ length = sizeof(mem_total); -+ if (sysctlbyname("vm.stats.vm.v_page_count", &mem_total, -+ &length, NULL, 0) != 0 || length != sizeof(mem_total)) -+ return false; -+ -+ length = sizeof(mem_free); -+ if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &length, NULL, 0) -+ != 0 || length != sizeof(mem_free)) -+ return false; -+ -+ length = sizeof(swap_total); -+ if (sysctlbyname("vm.swap_size", &swap_total, &length, NULL, 0) -+ != 0 || length != sizeof(swap_total)) -+ return false; -+ -+ length = sizeof(swap_used); -+ if (sysctlbyname("vm.swap_anon_use", &swap_used, &length, NULL, 0) -+ != 0 || length != sizeof(swap_used)) -+ return false; -+ -+ meminfo->total = mem_total * pagesizeKB; -+ meminfo->free = mem_free * pagesizeKB; -+ meminfo->swap_total = swap_total * pagesizeKB; -+ meminfo->swap_free = (swap_total - swap_used) * pagesizeKB; -+ -+ return true; -+} -+ -+int ProcessMetrics::GetOpenFdCount() const { -+ struct kinfo_file * kif; -+ int cnt; -+ -+ if ((kif = kinfo_getfile(process_, &cnt)) == NULL) -+ return -1; -+ -+ free(kif); -+ -+ return cnt; -+} -+ -+int ProcessMetrics::GetOpenFdSoftLimit() const { -+ size_t length; -+ int total_count = 0; -+ int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC }; -+ -+ length = sizeof(total_count); -+ -+ if (sysctl(mib, std::size(mib), &total_count, &length, NULL, 0) < 0) { -+ total_count = -1; -+ } -+ -+ return total_count; -+} -+ -+size_t ProcessMetrics::GetResidentSetSize() const { -+ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); -+ -+ if (kd == nullptr) -+ return 0; -+ -+ struct kinfo_proc *pp; -+ int nproc; -+ -+ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { -+ kvm_close(kd); -+ return 0; -+ } -+ -+ size_t rss; -+ -+ if (nproc > 0) { -+ rss = pp->ki_rssize << GetPageShift(); -+ } else { -+ rss = 0; -+ } -+ -+ kvm_close(kd); -+ return rss; -+} -+ -+uint64_t ProcessMetrics::GetVmSwapBytes() const { -+ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); -+ -+ if (kd == nullptr) -+ return 0; -+ -+ struct kinfo_proc *pp; -+ int nproc; -+ -+ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { -+ kvm_close(kd); -+ return 0; -+ } -+ -+ size_t swrss; -+ -+ if (nproc > 0) { -+ swrss = pp->ki_swrss > pp->ki_rssize -+ ? (pp->ki_swrss - pp->ki_rssize) << GetPageShift() -+ : 0; -+ } else { -+ swrss = 0; -+ } -+ -+ kvm_close(kd); -+ return swrss; -+} -+ -+int ProcessMetrics::GetIdleWakeupsPerSecond() { -+ NOTIMPLEMENTED(); -+ return 0; -+} -+ -+bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { -+ NOTIMPLEMENTED(); -+ return false; -+} -+ -+bool GetVmStatInfo(VmStatInfo* vmstat) { -+ NOTIMPLEMENTED(); -+ return false; -+} -+ -+SystemDiskInfo::SystemDiskInfo() { -+ reads = 0; -+ reads_merged = 0; -+ sectors_read = 0; -+ read_time = 0; -+ writes = 0; -+ writes_merged = 0; -+ sectors_written = 0; -+ write_time = 0; -+ io = 0; -+ io_time = 0; -+ weighted_io_time = 0; -+} -+ -+SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; -+ -+SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; -+ -+Value::Dict SystemDiskInfo::ToDict() const { -+ Value::Dict res; -+ -+ // Write out uint64_t variables as doubles. -+ // Note: this may discard some precision, but for JS there's no other option. -+ res.Set("reads", static_cast<double>(reads)); -+ res.Set("reads_merged", static_cast<double>(reads_merged)); -+ res.Set("sectors_read", static_cast<double>(sectors_read)); -+ res.Set("read_time", static_cast<double>(read_time)); -+ res.Set("writes", static_cast<double>(writes)); -+ res.Set("writes_merged", static_cast<double>(writes_merged)); -+ res.Set("sectors_written", static_cast<double>(sectors_written)); -+ res.Set("write_time", static_cast<double>(write_time)); -+ res.Set("io", static_cast<double>(io)); -+ res.Set("io_time", static_cast<double>(io_time)); -+ res.Set("weighted_io_time", static_cast<double>(weighted_io_time)); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; -+} -+ -+Value::Dict SystemMemoryInfoKB::ToDict() const { -+ Value::Dict res; -+ res.Set("total", total); -+ res.Set("free", free); -+ res.Set("available", available); -+ res.Set("buffers", buffers); -+ res.Set("cached", cached); -+ res.Set("active_anon", active_anon); -+ res.Set("inactive_anon", inactive_anon); -+ res.Set("active_file", active_file); -+ res.Set("inactive_file", inactive_file); -+ res.Set("swap_total", swap_total); -+ res.Set("swap_free", swap_free); -+ res.Set("swap_used", swap_total - swap_free); -+ res.Set("dirty", dirty); -+ res.Set("reclaimable", reclaimable); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; -+} -+ -+Value::Dict VmStatInfo::ToDict() const { -+ Value::Dict res; -+ // TODO(crbug.com/1334256): Make base::Value able to hold uint64_t and remove -+ // casts below. -+ res.Set("pswpin", static_cast<int>(pswpin)); -+ res.Set("pswpout", static_cast<int>(pswpout)); -+ res.Set("pgmajfault", static_cast<int>(pgmajfault)); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; - } - - } // namespace base diff --git a/devel/electron25/files/patch-base_process_process__metrics__openbsd.cc b/devel/electron25/files/patch-base_process_process__metrics__openbsd.cc deleted file mode 100644 index cd325d03c9d6..000000000000 --- a/devel/electron25/files/patch-base_process_process__metrics__openbsd.cc +++ /dev/null @@ -1,215 +0,0 @@ ---- base/process/process_metrics_openbsd.cc.orig 2023-03-30 00:33:38 UTC -+++ base/process/process_metrics_openbsd.cc -@@ -6,14 +6,23 @@ - - #include <stddef.h> - #include <stdint.h> -+#include <fcntl.h> - #include <sys/param.h> - #include <sys/sysctl.h> -+#include <sys/vmmeter.h> - -+#include <kvm.h> -+ - #include "base/memory/ptr_util.h" - #include "base/process/process_metrics_iocounters.h" -+#include "base/values.h" -+#include "base/notreached.h" - - namespace base { - -+ProcessMetrics::ProcessMetrics(ProcessHandle process) -+ : process_(process) {} -+ - // static - std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics( - ProcessHandle process) { -@@ -24,49 +33,23 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun - return false; - } - --static int GetProcessCPU(pid_t pid) { -+TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { - struct kinfo_proc info; -- size_t length; -- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid, -- sizeof(struct kinfo_proc), 0 }; -+ size_t length = sizeof(struct kinfo_proc); -+ struct timeval tv; - -- if (sysctl(mib, std::size(mib), NULL, &length, NULL, 0) < 0) -- return -1; -+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process_, -+ sizeof(struct kinfo_proc), 1 }; - -- mib[5] = (length / sizeof(struct kinfo_proc)); -- - if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) -- return 0; -+ return TimeDelta(); - -- return info.p_pctcpu; --} -+ tv.tv_sec = info.p_rtime_sec; -+ tv.tv_usec = info.p_rtime_usec; - --double ProcessMetrics::GetPlatformIndependentCPUUsage() { -- TimeTicks time = TimeTicks::Now(); -- -- if (last_cpu_time_.is_zero()) { -- // First call, just set the last values. -- last_cpu_time_ = time; -- return 0; -- } -- -- int cpu = GetProcessCPU(process_); -- -- last_cpu_time_ = time; -- double percentage = static_cast<double>((cpu * 100.0) / FSCALE); -- -- return percentage; -+ return Microseconds(TimeValToMicroseconds(tv)); - } - --TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { -- NOTREACHED(); -- return TimeDelta(); --} -- --ProcessMetrics::ProcessMetrics(ProcessHandle process) -- : process_(process), -- last_cpu_(0) {} -- - size_t GetSystemCommitCharge() { - int mib[] = { CTL_VM, VM_METER }; - int pagesize; -@@ -84,6 +67,129 @@ size_t GetSystemCommitCharge() { - pagesize = getpagesize(); - - return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); -+} -+ -+int ProcessMetrics::GetOpenFdCount() const { -+ struct kinfo_file *files; -+ kvm_t *kd = NULL; -+ int total_count = 0; -+ char errbuf[_POSIX2_LINE_MAX]; -+ -+ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL) -+ goto out; -+ -+ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, process_, -+ sizeof(struct kinfo_file), &total_count)) == NULL) { -+ total_count = 0; -+ goto out; -+ } -+ -+ kvm_close(kd); -+ -+out: -+ return total_count; -+} -+ -+int ProcessMetrics::GetOpenFdSoftLimit() const { -+ return GetMaxFds(); -+} -+ -+uint64_t ProcessMetrics::GetVmSwapBytes() const { -+ NOTIMPLEMENTED(); -+ return 0; -+} -+ -+bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) { -+ NOTIMPLEMENTED_LOG_ONCE(); -+ return false; -+} -+ -+bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { -+ NOTIMPLEMENTED(); -+ return false; -+} -+ -+bool GetVmStatInfo(VmStatInfo* vmstat) { -+ NOTIMPLEMENTED(); -+ return false; -+} -+ -+int ProcessMetrics::GetIdleWakeupsPerSecond() { -+ NOTIMPLEMENTED(); -+ return 0; -+} -+ -+Value::Dict SystemMemoryInfoKB::ToDict() const { -+ Value::Dict res; -+ res.Set("total", total); -+ res.Set("free", free); -+ res.Set("available", available); -+ res.Set("buffers", buffers); -+ res.Set("cached", cached); -+ res.Set("active_anon", active_anon); -+ res.Set("inactive_anon", inactive_anon); -+ res.Set("active_file", active_file); -+ res.Set("inactive_file", inactive_file); -+ res.Set("swap_total", swap_total); -+ res.Set("swap_free", swap_free); -+ res.Set("swap_used", swap_total - swap_free); -+ res.Set("dirty", dirty); -+ res.Set("reclaimable", reclaimable); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; -+} -+ -+Value::Dict VmStatInfo::ToDict() const { -+ Value::Dict res; -+ res.Set("pswpin", static_cast<int>(pswpin)); -+ res.Set("pswpout", static_cast<int>(pswpout)); -+ res.Set("pgmajfault", static_cast<int>(pgmajfault)); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; -+} -+ -+SystemDiskInfo::SystemDiskInfo() { -+ reads = 0; -+ reads_merged = 0; -+ sectors_read = 0; -+ read_time = 0; -+ writes = 0; -+ writes_merged = 0; -+ sectors_written = 0; -+ write_time = 0; -+ io = 0; -+ io_time = 0; -+ weighted_io_time = 0; -+} -+ -+SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo&) = default; -+ -+SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; -+ -+Value::Dict SystemDiskInfo::ToDict() const { -+ Value::Dict res; -+ -+ // Write out uint64_t variables as doubles. -+ // Note: this may discard some precision, but for JS there's no other option. -+ res.Set("reads", static_cast<double>(reads)); -+ res.Set("reads_merged", static_cast<double>(reads_merged)); -+ res.Set("sectors_read", static_cast<double>(sectors_read)); -+ res.Set("read_time", static_cast<double>(read_time)); -+ res.Set("writes", static_cast<double>(writes)); -+ res.Set("writes_merged", static_cast<double>(writes_merged)); -+ res.Set("sectors_written", static_cast<double>(sectors_written)); -+ res.Set("write_time", static_cast<double>(write_time)); -+ res.Set("io", static_cast<double>(io)); -+ res.Set("io_time", static_cast<double>(io_time)); -+ res.Set("weighted_io_time", static_cast<double>(weighted_io_time)); -+ -+ NOTIMPLEMENTED(); -+ -+ return res; - } - - } // namespace base diff --git a/devel/electron25/files/patch-base_process_process__metrics__posix.cc b/devel/electron25/files/patch-base_process_process__metrics__posix.cc deleted file mode 100644 index 2817ddf6f954..000000000000 --- a/devel/electron25/files/patch-base_process_process__metrics__posix.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/process/process_metrics_posix.cc.orig 2023-05-25 00:41:38 UTC -+++ base/process/process_metrics_posix.cc -@@ -20,6 +20,8 @@ - - #if BUILDFLAG(IS_APPLE) - #include <malloc/malloc.h> -+#elif BUILDFLAG(IS_OPENBSD) -+#include <stdlib.h> - #else - #include <malloc.h> - #endif -@@ -133,7 +135,7 @@ size_t ProcessMetrics::GetMallocUsage() { - return stats.size_in_use; - #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) - return GetMallocUsageMallinfo(); --#elif BUILDFLAG(IS_FUCHSIA) -+#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. - return 0; - #endif diff --git a/devel/electron25/files/patch-base_process_process__metrics__unittest.cc b/devel/electron25/files/patch-base_process_process__metrics__unittest.cc deleted file mode 100644 index 1e4ff0087053..000000000000 --- a/devel/electron25/files/patch-base_process_process__metrics__unittest.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/process/process_metrics_unittest.cc.orig 2022-09-24 10:57:32 UTC -+++ base/process/process_metrics_unittest.cc -@@ -44,7 +44,7 @@ namespace debug { - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) || \ -- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - - namespace { - -@@ -347,7 +347,7 @@ TEST_F(SystemMetricsTest, ParseVmstat) { - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_WIN) || \ -- BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - - // Test that ProcessMetrics::GetPlatformIndependentCPUUsage() doesn't return - // negative values when the number of threads running on the process decreases diff --git a/devel/electron25/files/patch-base_process_process__posix.cc b/devel/electron25/files/patch-base_process_process__posix.cc deleted file mode 100644 index bba23f4fe0da..000000000000 --- a/devel/electron25/files/patch-base_process_process__posix.cc +++ /dev/null @@ -1,93 +0,0 @@ ---- base/process/process_posix.cc.orig 2023-03-30 00:33:38 UTC -+++ base/process/process_posix.cc -@@ -23,10 +23,15 @@ - #include "base/trace_event/base_tracing.h" - #include "build/build_config.h" - --#if BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - #include <sys/event.h> - #endif - -+#if defined(OS_BSD) -+#include <sys/types.h> -+#include <sys/sysctl.h> -+#endif -+ - #if BUILDFLAG(CLANG_PROFILING) - #include "base/test/clang_profiling.h" - #endif -@@ -93,7 +98,7 @@ bool WaitpidWithTimeout(base::ProcessHandle handle, - return ret_pid > 0; - } - --#if BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - // Using kqueue on Mac so that we can wait on non-child processes. - // We can't use kqueues on child processes because we need to reap - // our own children using wait. -@@ -198,7 +203,7 @@ bool WaitForExitWithTimeoutImpl(base::ProcessHandle ha - const bool exited = (parent_pid < 0); - - if (!exited && parent_pid != our_pid) { --#if BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) - // On Mac we can wait on non child processes. - return WaitForSingleNonChildProcess(handle, timeout); - #else -@@ -387,7 +392,55 @@ void Process::Exited(int exit_code) const { - - int Process::GetPriority() const { - DCHECK(IsValid()); -+// avoid pledge(2) violation -+#if defined(OS_BSD) -+ return 0; -+#else - return getpriority(PRIO_PROCESS, static_cast<id_t>(process_)); -+#endif -+} -+ -+Time Process::CreationTime() const { -+// avoid ps pledge in the network process -+#if !defined(OS_BSD) -+ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), -+ sizeof(struct kinfo_proc), 0 }; -+ struct kinfo_proc *info = nullptr; -+ size_t info_size; -+#endif -+ Time ct = Time(); -+ -+#if !defined(OS_BSD) -+ if (sysctl(mib, std::size(mib), NULL, &info_size, NULL, 0) < 0) -+ goto out; -+ -+ mib[5] = (info_size / sizeof(struct kinfo_proc)); -+ if ((info = reinterpret_cast<kinfo_proc*>(malloc(info_size))) == NULL) -+ goto out; -+ -+ if (sysctl(mib, std::size(mib), info, &info_size, NULL, 0) < 0) -+ goto out; -+ -+ ct = Time::FromTimeT(info->p_ustart_sec); -+ -+out: -+ if (info) -+ free(info); -+#endif -+ return ct; -+} -+ -+bool Process::IsProcessBackgrounded() const { -+ return false; -+} -+ -+bool Process::SetProcessBackgrounded(bool value) { -+ return false; -+} -+ -+// static -+bool Process::CanBackgroundProcesses() { -+ return false; - } - - } // namespace base diff --git a/devel/electron25/files/patch-base_process_process__unittest.cc b/devel/electron25/files/patch-base_process_process__unittest.cc deleted file mode 100644 index 09e724ddfc04..000000000000 --- a/devel/electron25/files/patch-base_process_process__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/process/process_unittest.cc.orig 2023-05-25 00:41:38 UTC -+++ base/process/process_unittest.cc -@@ -195,7 +195,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { - // was spawned and a time recorded after it was spawned. However, since the - // base::Time and process creation clocks don't match, tolerate some error. - constexpr base::TimeDelta kTolerance = --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // On Linux, process creation time is relative to boot time which has a - // 1-second resolution. Tolerate 1 second for the imprecise boot time and - // 100 ms for the imprecise clock. diff --git a/devel/electron25/files/patch-base_profiler_module__cache.cc b/devel/electron25/files/patch-base_profiler_module__cache.cc deleted file mode 100644 index 98b69ae3c840..000000000000 --- a/devel/electron25/files/patch-base_profiler_module__cache.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/profiler/module_cache.cc.orig 2023-03-30 00:33:38 UTC -+++ base/profiler/module_cache.cc -@@ -37,7 +37,7 @@ std::string TransformModuleIDToSymbolServerFormat(Stri - // Android and Linux Chrome builds use the "breakpad" format to index their - // build id, so we transform the build id for these platforms. All other - // platforms keep their symbols indexed by the original build ID. --#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // Linux ELF module IDs are 160bit integers, which we need to mangle - // down to 128bit integers to match the id that Breakpad outputs. - // Example on version '66.0.3359.170' x64: diff --git a/devel/electron25/files/patch-base_profiler_sampling__profiler__thread__token.cc b/devel/electron25/files/patch-base_profiler_sampling__profiler__thread__token.cc deleted file mode 100644 index d41258e8bd74..000000000000 --- a/devel/electron25/files/patch-base_profiler_sampling__profiler__thread__token.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/profiler/sampling_profiler_thread_token.cc.orig 2023-02-01 18:43:07 UTC -+++ base/profiler/sampling_profiler_thread_token.cc -@@ -6,7 +6,7 @@ - - #include "build/build_config.h" - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include <pthread.h> - - #include "base/profiler/stack_base_address_posix.h" -@@ -18,7 +18,7 @@ SamplingProfilerThreadToken GetSamplingProfilerCurrent - PlatformThreadId id = PlatformThread::CurrentId(); - #if BUILDFLAG(IS_ANDROID) - return {id, pthread_self()}; --#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - absl::optional<uintptr_t> maybe_stack_base = - GetThreadStackBaseAddress(id, pthread_self()); - return {id, maybe_stack_base}; diff --git a/devel/electron25/files/patch-base_profiler_sampling__profiler__thread__token.h b/devel/electron25/files/patch-base_profiler_sampling__profiler__thread__token.h deleted file mode 100644 index af658eb9b446..000000000000 --- a/devel/electron25/files/patch-base_profiler_sampling__profiler__thread__token.h +++ /dev/null @@ -1,20 +0,0 @@ ---- base/profiler/sampling_profiler_thread_token.h.orig 2023-02-01 18:43:07 UTC -+++ base/profiler/sampling_profiler_thread_token.h -@@ -12,7 +12,7 @@ - - #if BUILDFLAG(IS_ANDROID) - #include <pthread.h> --#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include <stdint.h> - #endif - -@@ -26,7 +26,7 @@ struct SamplingProfilerThreadToken { - PlatformThreadId id; - #if BUILDFLAG(IS_ANDROID) - pthread_t pthread_id; --#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Due to the sandbox, we can only retrieve the stack base address for the - // current thread. We must grab it during - // GetSamplingProfilerCurrentThreadToken() and not try to get it later. diff --git a/devel/electron25/files/patch-base_profiler_stack__base__address__posix.cc b/devel/electron25/files/patch-base_profiler_stack__base__address__posix.cc deleted file mode 100644 index 30a8bf37fab5..000000000000 --- a/devel/electron25/files/patch-base_profiler_stack__base__address__posix.cc +++ /dev/null @@ -1,50 +0,0 @@ ---- base/profiler/stack_base_address_posix.cc.orig 2023-02-01 18:43:07 UTC -+++ base/profiler/stack_base_address_posix.cc -@@ -17,6 +17,10 @@ - #include "base/files/scoped_file.h" - #endif - -+#if BUILDFLAG(IS_BSD) -+#include <pthread_np.h> -+#endif -+ - #if BUILDFLAG(IS_CHROMEOS) - extern "C" void* __libc_stack_end; - #endif -@@ -45,7 +49,21 @@ absl::optional<uintptr_t> GetAndroidMainThreadStackBas - - #if !BUILDFLAG(IS_LINUX) - uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthread_id) { -+#if BUILDFLAG(IS_OPENBSD) -+ stack_t ss; -+ void *address; -+ size_t size; -+ if (pthread_stackseg_np(pthread_id, &ss) != 0) -+ return 0; -+ size = ss.ss_size; -+ address = (void*)((size_t) ss.ss_sp - ss.ss_size); -+#else - pthread_attr_t attr; -+#if BUILDFLAG(IS_FREEBSD) -+ int result; -+ pthread_attr_init(&attr); -+ pthread_attr_get_np(pthread_id, &attr); -+#else - // pthread_getattr_np will crash on ChromeOS & Linux if we are in the sandbox - // and pthread_id refers to a different thread, due to the use of - // sched_getaffinity(). -@@ -58,12 +76,14 @@ uintptr_t GetThreadStackBaseAddressImpl(pthread_t pthr - << logging::SystemErrorCodeToString(result); - // See crbug.com/617730 for limitations of this approach on Linux-like - // systems. -+#endif - void* address; - size_t size; - result = pthread_attr_getstack(&attr, &address, &size); - CHECK_EQ(result, 0) << "pthread_attr_getstack returned " - << logging::SystemErrorCodeToString(result); - pthread_attr_destroy(&attr); -+#endif - const uintptr_t base_address = reinterpret_cast<uintptr_t>(address) + size; - return base_address; - } diff --git a/devel/electron25/files/patch-base_profiler_stack__sampling__profiler__test__util.cc b/devel/electron25/files/patch-base_profiler_stack__sampling__profiler__test__util.cc deleted file mode 100644 index 0119cd60187d..000000000000 --- a/devel/electron25/files/patch-base_profiler_stack__sampling__profiler__test__util.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/profiler/stack_sampling_profiler_test_util.cc.orig 2023-05-25 00:41:38 UTC -+++ base/profiler/stack_sampling_profiler_test_util.cc -@@ -36,7 +36,7 @@ - // Fortunately, it provides _alloca, which functions identically. - #include <malloc.h> - #define alloca _alloca --#else -+#elif !BUILDFLAG(IS_BSD) - #include <alloca.h> - #endif - diff --git a/devel/electron25/files/patch-base_profiler_stack__sampling__profiler__unittest.cc b/devel/electron25/files/patch-base_profiler_stack__sampling__profiler__unittest.cc deleted file mode 100644 index d739c9137c77..000000000000 --- a/devel/electron25/files/patch-base_profiler_stack__sampling__profiler__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/profiler/stack_sampling_profiler_unittest.cc.orig 2022-02-28 16:54:41 UTC -+++ base/profiler/stack_sampling_profiler_unittest.cc -@@ -41,7 +41,7 @@ - #include <intrin.h> - #include <malloc.h> - #include <windows.h> --#else -+#elif !BUILDFLAG(IS_BSD) - #include <alloca.h> - #endif - diff --git a/devel/electron25/files/patch-base_profiler_thread__delegate__posix.cc b/devel/electron25/files/patch-base_profiler_thread__delegate__posix.cc deleted file mode 100644 index 568e6236f393..000000000000 --- a/devel/electron25/files/patch-base_profiler_thread__delegate__posix.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/profiler/thread_delegate_posix.cc.orig 2022-10-24 13:33:33 UTC -+++ base/profiler/thread_delegate_posix.cc -@@ -13,7 +13,7 @@ - #include "build/build_config.h" - #include "third_party/abseil-cpp/absl/types/optional.h" - --#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) -+#if !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) - #include "base/profiler/stack_base_address_posix.h" - #endif - -@@ -22,7 +22,7 @@ namespace base { - std::unique_ptr<ThreadDelegatePosix> ThreadDelegatePosix::Create( - SamplingProfilerThreadToken thread_token) { - absl::optional<uintptr_t> base_address; --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - base_address = thread_token.stack_base_address; - #else - base_address = diff --git a/devel/electron25/files/patch-base_rand__util.h b/devel/electron25/files/patch-base_rand__util.h deleted file mode 100644 index c699e987f241..000000000000 --- a/devel/electron25/files/patch-base_rand__util.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/rand_util.h.orig 2023-05-25 00:41:38 UTC -+++ base/rand_util.h -@@ -121,7 +121,7 @@ void RandomShuffle(Itr first, Itr last) { - std::shuffle(first, last, RandomBitGenerator()); - } - --#if BUILDFLAG(IS_POSIX) -+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_BSD) - BASE_EXPORT int GetUrandomFD(); - #endif - diff --git a/devel/electron25/files/patch-base_rand__util__posix.cc b/devel/electron25/files/patch-base_rand__util__posix.cc deleted file mode 100644 index b6df31cda061..000000000000 --- a/devel/electron25/files/patch-base_rand__util__posix.cc +++ /dev/null @@ -1,62 +0,0 @@ ---- base/rand_util_posix.cc.orig 2022-11-30 08:12:58 UTC -+++ base/rand_util_posix.cc -@@ -22,7 +22,7 @@ - #include "base/time/time.h" - #include "build/build_config.h" - --#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) -+#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - #include "third_party/lss/linux_syscall_support.h" - #elif BUILDFLAG(IS_MAC) - // TODO(crbug.com/995996): Waiting for this header to appear in the iOS SDK. -@@ -46,6 +46,7 @@ static constexpr int kOpenFlags = O_RDONLY; - static constexpr int kOpenFlags = O_RDONLY | O_CLOEXEC; - #endif - -+#if !BUILDFLAG(IS_BSD) - // We keep the file descriptor for /dev/urandom around so we don't need to - // reopen it (which is expensive), and since we may not even be able to reopen - // it if we are later put in a sandbox. This class wraps the file descriptor so -@@ -63,10 +64,11 @@ class URandomFd { - private: - const int fd_; - }; -+#endif - - #if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID)) && \ -- !BUILDFLAG(IS_NACL) -+ !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - // TODO(pasko): Unify reading kernel version numbers in: - // mojo/core/channel_linux.cc - // chrome/browser/android/seccomp_support_detector.cc -@@ -176,6 +178,7 @@ bool UseBoringSSLForRandBytes() { - namespace { - - void RandBytes(void* output, size_t output_length, bool avoid_allocation) { -+#if !BUILDFLAG(IS_BSD) - #if !BUILDFLAG(IS_NACL) - // The BoringSSL experiment takes priority over everything else. - if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) { -@@ -214,6 +217,9 @@ void RandBytes(void* output, size_t output_length, boo - const bool success = - ReadFromFD(urandom_fd, static_cast<char*>(output), output_length); - CHECK(success); -+#else -+ arc4random_buf(static_cast<char*>(output), output_length); -+#endif - } - - } // namespace -@@ -233,9 +239,11 @@ void RandBytes(void* output, size_t output_length) { - RandBytes(output, output_length, /*avoid_allocation=*/false); - } - -+#if !BUILDFLAG(IS_BSD) - int GetUrandomFD() { - static NoDestructor<URandomFd> urandom_fd; - return urandom_fd->fd(); - } -+#endif - - } // namespace base diff --git a/devel/electron25/files/patch-base_strings_safe__sprintf__unittest.cc b/devel/electron25/files/patch-base_strings_safe__sprintf__unittest.cc deleted file mode 100644 index 24d7dc7adc9e..000000000000 --- a/devel/electron25/files/patch-base_strings_safe__sprintf__unittest.cc +++ /dev/null @@ -1,18 +0,0 @@ ---- base/strings/safe_sprintf_unittest.cc.orig 2023-03-30 00:33:38 UTC -+++ base/strings/safe_sprintf_unittest.cc -@@ -733,6 +733,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) { - #endif - } - -+#if !BUILDFLAG(IS_BSD) - TEST(SafeSPrintfTest, EmitNULL) { - char buf[40]; - #if defined(__GNUC__) -@@ -749,6 +750,7 @@ TEST(SafeSPrintfTest, EmitNULL) { - #pragma GCC diagnostic pop - #endif - } -+#endif - - TEST(SafeSPrintfTest, PointerSize) { - // The internal data representation is a 64bit value, independent of the diff --git a/devel/electron25/files/patch-base_synchronization_lock__impl.h b/devel/electron25/files/patch-base_synchronization_lock__impl.h deleted file mode 100644 index f2ababc5391a..000000000000 --- a/devel/electron25/files/patch-base_synchronization_lock__impl.h +++ /dev/null @@ -1,23 +0,0 @@ ---- base/synchronization/lock_impl.h.orig 2023-03-30 00:33:38 UTC -+++ base/synchronization/lock_impl.h -@@ -104,6 +104,10 @@ void LockImpl::Unlock() { - } - - #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) -+#if BUILDFLAG(IS_FREEBSD) -+#pragma GCC diagnostic push -+#pragma GCC diagnostic ignored "-Wthread-safety-analysis" -+#endif - - #if DCHECK_IS_ON() - BASE_EXPORT void dcheck_trylock_result(int rv); -@@ -124,6 +128,9 @@ void LockImpl::Unlock() { - dcheck_unlock_result(rv); - #endif - } -+#if BUILDFLAG(IS_FREEBSD) -+#pragma GCC diagnostic pop -+#endif - #endif - - // This is an implementation used for AutoLock templated on the lock type. diff --git a/devel/electron25/files/patch-base_syslog__logging.cc b/devel/electron25/files/patch-base_syslog__logging.cc deleted file mode 100644 index 5c1921e82d4a..000000000000 --- a/devel/electron25/files/patch-base_syslog__logging.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/syslog_logging.cc.orig 2022-02-28 16:54:41 UTC -+++ base/syslog_logging.cc -@@ -15,7 +15,7 @@ - #include "base/strings/string_util.h" - #include "base/win/scoped_handle.h" - #include "base/win/win_util.h" --#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // <syslog.h> defines LOG_INFO, LOG_WARNING macros that could conflict with - // base::LOG_INFO, base::LOG_WARNING. - #include <syslog.h> -@@ -147,7 +147,7 @@ EventLogMessage::~EventLogMessage() { - - if (user_sid != nullptr) - ::LocalFree(user_sid); --#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - const char kEventSource[] = "chrome"; - openlog(kEventSource, LOG_NOWAIT | LOG_PID, LOG_USER); - // We can't use the defined names for the logging severity from syslog.h diff --git a/devel/electron25/files/patch-base_system_sys__info.cc b/devel/electron25/files/patch-base_system_sys__info.cc deleted file mode 100644 index edddff713822..000000000000 --- a/devel/electron25/files/patch-base_system_sys__info.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/system/sys_info.cc.orig 2023-05-25 00:41:38 UTC -+++ base/system/sys_info.cc -@@ -148,7 +148,7 @@ std::string SysInfo::HardwareModelName() { - #endif - - void SysInfo::GetHardwareInfo(base::OnceCallback<void(HardwareInfo)> callback) { --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - constexpr base::TaskTraits kTraits = {base::MayBlock()}; - #else - constexpr base::TaskTraits kTraits = {}; diff --git a/devel/electron25/files/patch-base_system_sys__info.h b/devel/electron25/files/patch-base_system_sys__info.h deleted file mode 100644 index 44b5215dbaa3..000000000000 --- a/devel/electron25/files/patch-base_system_sys__info.h +++ /dev/null @@ -1,20 +0,0 @@ ---- base/system/sys_info.h.orig 2023-05-25 00:41:38 UTC -+++ base/system/sys_info.h -@@ -253,6 +253,8 @@ class BASE_EXPORT SysInfo { - static void SetIsCpuSecurityMitigationsEnabled(bool is_enabled); - #endif - -+ static uint64_t MaxSharedMemorySize(); -+ - private: - FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory); - FRIEND_TEST_ALL_PREFIXES(debug::SystemMetricsTest, ParseMeminfo); -@@ -264,7 +266,7 @@ class BASE_EXPORT SysInfo { - static HardwareInfo GetHardwareInfoSync(); - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ -- BUILDFLAG(IS_AIX) -+ BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) - static uint64_t AmountOfAvailablePhysicalMemory( - const SystemMemoryInfoKB& meminfo); - #endif diff --git a/devel/electron25/files/patch-base_system_sys__info__freebsd.cc b/devel/electron25/files/patch-base_system_sys__info__freebsd.cc deleted file mode 100644 index 81e026100278..000000000000 --- a/devel/electron25/files/patch-base_system_sys__info__freebsd.cc +++ /dev/null @@ -1,115 +0,0 @@ ---- base/system/sys_info_freebsd.cc.orig 2022-09-01 17:22:07 UTC -+++ base/system/sys_info_freebsd.cc -@@ -9,30 +9,106 @@ - #include <sys/sysctl.h> - - #include "base/notreached.h" -+#include "base/process/process_metrics.h" -+#include "base/strings/string_util.h" - - namespace base { - --int64_t SysInfo::AmountOfPhysicalMemoryImpl() { -- int pages, page_size; -+int SysInfo::NumberOfProcessors() { -+ int mib[] = {CTL_HW, HW_NCPU}; -+ int ncpu; -+ size_t size = sizeof(ncpu); -+ if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { -+ NOTREACHED(); -+ return 1; -+ } -+ return ncpu; -+} -+ -+uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { -+ int pages, page_size, r = 0; - size_t size = sizeof(pages); -- sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); -- sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); -- if (pages == -1 || page_size == -1) { -+ -+ if (r == 0) -+ r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); -+ if (r == 0) -+ r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); -+ -+ if (r == -1) { - NOTREACHED(); - return 0; - } -- return static_cast<int64_t>(pages) * page_size; -+ -+ return static_cast<uint64_t>(pages) * page_size; - } - -+uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { -+ int page_size, r = 0; -+ unsigned int pgfree, pginact, pgcache; -+ size_t size = sizeof(page_size); -+ size_t szpg = sizeof(pgfree); -+ -+ if (r == 0) -+ r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); -+ if (r == 0) -+ r = sysctlbyname("vm.stats.vm.v_free_count", &pgfree, &szpg, NULL, 0); -+ if (r == 0) -+ r = sysctlbyname("vm.stats.vm.v_inactive_count", &pginact, &szpg, NULL, 0); -+ if (r == 0) -+ r = sysctlbyname("vm.stats.vm.v_cache_count", &pgcache, &szpg, NULL, 0); -+ -+ if (r == -1) { -+ NOTREACHED(); -+ return 0; -+ } -+ -+ return static_cast<uint64_t>((pgfree + pginact + pgcache) * page_size); -+} -+ - // static -+uint64_t SysInfo::AmountOfAvailablePhysicalMemory(const SystemMemoryInfoKB& info) { -+ uint64_t res_kb = info.available != 0 -+ ? info.available - info.active_file -+ : info.free + info.reclaimable + info.inactive_file; -+ return res_kb * 1024; -+} -+ -+// static -+std::string SysInfo::CPUModelName() { -+ int mib[] = { CTL_HW, HW_MODEL }; -+ char name[256]; -+ size_t size = std::size(name); -+ -+ if (sysctl(mib, std::size(mib), &name, &size, NULL, 0) == 0) { -+ return name; -+ } -+ -+ return std::string(); -+} -+ -+// static - uint64_t SysInfo::MaxSharedMemorySize() { - size_t limit; - size_t size = sizeof(limit); -+ - if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) { - NOTREACHED(); - return 0; - } -+ - return static_cast<uint64_t>(limit); -+} -+ -+SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { -+ HardwareInfo info; -+ -+ info.manufacturer = "FreeBSD"; -+ info.model = HardwareModelName(); -+ -+ DCHECK(IsStringUTF8(info.manufacturer)); -+ DCHECK(IsStringUTF8(info.model)); -+ -+ return info; - } - - } // namespace base diff --git a/devel/electron25/files/patch-base_system_sys__info__openbsd.cc b/devel/electron25/files/patch-base_system_sys__info__openbsd.cc deleted file mode 100644 index 4e9997823827..000000000000 --- a/devel/electron25/files/patch-base_system_sys__info__openbsd.cc +++ /dev/null @@ -1,94 +0,0 @@ ---- base/system/sys_info_openbsd.cc.orig 2022-08-31 12:19:35 UTC -+++ base/system/sys_info_openbsd.cc -@@ -11,6 +11,7 @@ - #include <sys/sysctl.h> - - #include "base/notreached.h" -+#include "base/strings/string_util.h" - - namespace { - -@@ -26,9 +27,15 @@ uint64_t AmountOfMemory(int pages_name) { - - namespace base { - -+// pledge(2) -+int64_t aofpmem = 0; -+int64_t aofapmem = 0; -+int64_t shmmax = 0; -+char cpumodel[256]; -+ - // static - int SysInfo::NumberOfProcessors() { -- int mib[] = {CTL_HW, HW_NCPU}; -+ int mib[] = {CTL_HW, HW_NCPUONLINE}; - int ncpu; - size_t size = sizeof(ncpu); - if (sysctl(mib, std::size(mib), &ncpu, &size, NULL, 0) < 0) { -@@ -40,10 +47,26 @@ int SysInfo::NumberOfProcessors() { - - // static - uint64_t SysInfo::AmountOfPhysicalMemoryImpl() { -- return AmountOfMemory(_SC_PHYS_PAGES); -+ // pledge(2) -+ if (!aofpmem) -+ aofpmem = AmountOfMemory(_SC_PHYS_PAGES); -+ return aofpmem; - } - - // static -+std::string SysInfo::CPUModelName() { -+ int mib[] = {CTL_HW, HW_MODEL}; -+ size_t len = std::size(cpumodel); -+ -+ if (cpumodel[0] == '\0') { -+ if (sysctl(mib, std::size(mib), cpumodel, &len, NULL, 0) < 0) -+ return std::string(); -+ } -+ -+ return std::string(cpumodel, len - 1); -+} -+ -+// static - uint64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { - // We should add inactive file-backed memory also but there is no such - // information from OpenBSD unfortunately. -@@ -55,23 +78,28 @@ uint64_t SysInfo::MaxSharedMemorySize() { - int mib[] = {CTL_KERN, KERN_SHMINFO, KERN_SHMINFO_SHMMAX}; - size_t limit; - size_t size = sizeof(limit); -+ // pledge(2) -+ if (shmmax) -+ goto out; - if (sysctl(mib, std::size(mib), &limit, &size, NULL, 0) < 0) { - NOTREACHED(); - return 0; - } -- return static_cast<uint64_t>(limit); -+ shmmax = static_cast<uint64_t>(limit); -+out: -+ return shmmax; - } - - // static --std::string SysInfo::CPUModelName() { -- int mib[] = {CTL_HW, HW_MODEL}; -- char name[256]; -- size_t len = std::size(name); -- if (sysctl(mib, std::size(mib), name, &len, NULL, 0) < 0) { -- NOTREACHED(); -- return std::string(); -- } -- return name; -+SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { -+ HardwareInfo info; -+ // Set the manufacturer to "OpenBSD" and the model to -+ // an empty string. -+ info.manufacturer = "OpenBSD"; -+ info.model = HardwareModelName(); -+ DCHECK(IsStringUTF8(info.manufacturer)); -+ DCHECK(IsStringUTF8(info.model)); -+ return info; - } - - } // namespace base diff --git a/devel/electron25/files/patch-base_system_sys__info__posix.cc b/devel/electron25/files/patch-base_system_sys__info__posix.cc deleted file mode 100644 index d5edb3f22cdb..000000000000 --- a/devel/electron25/files/patch-base_system_sys__info__posix.cc +++ /dev/null @@ -1,26 +0,0 @@ ---- base/system/sys_info_posix.cc.orig 2023-03-30 00:33:38 UTC -+++ base/system/sys_info_posix.cc -@@ -165,12 +165,12 @@ int NumberOfProcessors() { - - } // namespace internal - --#if !BUILDFLAG(IS_OPENBSD) -+#if !BUILDFLAG(IS_BSD) - int SysInfo::NumberOfProcessors() { - static int number_of_processors = internal::NumberOfProcessors(); - return number_of_processors; - } --#endif // !BUILDFLAG(IS_OPENBSD) -+#endif // !BUILDFLAG(IS_BSD) - - // static - uint64_t SysInfo::AmountOfVirtualMemory() { -@@ -260,6 +260,8 @@ std::string SysInfo::OperatingSystemArchitecture() { - arch = "x86"; - } else if (arch == "amd64") { - arch = "x86_64"; -+ } else if (arch == "arm64") { -+ arch = "aarch64"; - } else if (std::string(info.sysname) == "AIX") { - arch = "ppc64"; - } diff --git a/devel/electron25/files/patch-base_system_sys__info__unittest.cc b/devel/electron25/files/patch-base_system_sys__info__unittest.cc deleted file mode 100644 index 654db74237b7..000000000000 --- a/devel/electron25/files/patch-base_system_sys__info__unittest.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/system/sys_info_unittest.cc.orig 2023-02-01 18:43:07 UTC -+++ base/system/sys_info_unittest.cc -@@ -259,12 +259,16 @@ TEST_F(SysInfoTest, GetHardwareInfo) { - EXPECT_TRUE(IsStringUTF8(hardware_info->model)); - bool empty_result_expected = - #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || \ -- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \ -+ BUILDFLAG(IS_BSD) - false; - #else - true; - #endif - EXPECT_EQ(hardware_info->manufacturer.empty(), empty_result_expected); -+#if BUILDFLAG(IS_BSD) -+ empty_result_expected = true; -+#endif - EXPECT_EQ(hardware_info->model.empty(), empty_result_expected); - } - diff --git a/devel/electron25/files/patch-base_task_thread__pool_environment__config__unittest.cc b/devel/electron25/files/patch-base_task_thread__pool_environment__config__unittest.cc deleted file mode 100644 index abb639bc986d..000000000000 --- a/devel/electron25/files/patch-base_task_thread__pool_environment__config__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/task/thread_pool/environment_config_unittest.cc.orig 2022-08-31 12:19:35 UTC -+++ base/task/thread_pool/environment_config_unittest.cc -@@ -15,7 +15,7 @@ TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPrio - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) - EXPECT_TRUE(CanUseBackgroundThreadTypeForWorkerThread()); - #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ -- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_NACL) || BUILDFLAG(IS_BSD) - EXPECT_FALSE(CanUseBackgroundThreadTypeForWorkerThread()); - #else - #error Platform doesn't match any block diff --git a/devel/electron25/files/patch-base_test_launcher_test__launcher.cc b/devel/electron25/files/patch-base_test_launcher_test__launcher.cc deleted file mode 100644 index b478443c643a..000000000000 --- a/devel/electron25/files/patch-base_test_launcher_test__launcher.cc +++ /dev/null @@ -1,10 +0,0 @@ ---- base/test/launcher/test_launcher.cc.orig 2023-05-25 00:41:38 UTC -+++ base/test/launcher/test_launcher.cc -@@ -69,6 +69,7 @@ - #include "third_party/libxml/chromium/libxml_utils.h" - - #if BUILDFLAG(IS_POSIX) -+#include <signal.h> - #include <fcntl.h> - - #include "base/files/file_descriptor_watcher_posix.h" diff --git a/devel/electron25/files/patch-base_test_test__file__util__linux.cc b/devel/electron25/files/patch-base_test_test__file__util__linux.cc deleted file mode 100644 index 21b4b25775a0..000000000000 --- a/devel/electron25/files/patch-base_test_test__file__util__linux.cc +++ /dev/null @@ -1,13 +0,0 @@ ---- base/test/test_file_util_linux.cc.orig 2022-02-28 16:54:41 UTC -+++ base/test/test_file_util_linux.cc -@@ -54,8 +54,10 @@ bool EvictFileFromSystemCache(const FilePath& file) { - return false; - if (fdatasync(fd.get()) != 0) - return false; -+#if !defined(OS_BSD) - if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_DONTNEED) != 0) - return false; -+#endif - return true; - } - diff --git a/devel/electron25/files/patch-base_test_test__file__util__posix.cc b/devel/electron25/files/patch-base_test_test__file__util__posix.cc deleted file mode 100644 index 37c9bbbb70ec..000000000000 --- a/devel/electron25/files/patch-base_test_test__file__util__posix.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/test/test_file_util_posix.cc.orig 2022-02-28 16:54:41 UTC -+++ base/test/test_file_util_posix.cc -@@ -88,7 +88,7 @@ void SyncPageCacheToDisk() { - } - - #if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_APPLE) && \ -- !BUILDFLAG(IS_ANDROID) -+ !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) - bool EvictFileFromSystemCache(const FilePath& file) { - // There doesn't seem to be a POSIX way to cool the disk cache. - NOTIMPLEMENTED(); diff --git a/devel/electron25/files/patch-base_threading_platform__thread__linux.cc b/devel/electron25/files/patch-base_threading_platform__thread__linux.cc deleted file mode 100644 index 4ea10c29b58b..000000000000 --- a/devel/electron25/files/patch-base_threading_platform__thread__linux.cc +++ /dev/null @@ -1,84 +0,0 @@ ---- base/threading/platform_thread_linux.cc.orig 2023-02-01 18:43:08 UTC -+++ base/threading/platform_thread_linux.cc -@@ -30,7 +30,9 @@ - - #if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) - #include <pthread.h> -+#if !BUILDFLAG(IS_BSD) - #include <sys/prctl.h> -+#endif - #include <sys/resource.h> - #include <sys/time.h> - #include <sys/types.h> -@@ -139,7 +141,7 @@ long sched_setattr(pid_t pid, - #endif // !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) - #endif // BUILDFLAG(IS_CHROMEOS) - --#if !BUILDFLAG(IS_NACL) -+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - const FilePath::CharType kCgroupDirectory[] = - FILE_PATH_LITERAL("/sys/fs/cgroup"); - -@@ -313,7 +315,7 @@ void SetThreadCgroupsForThreadType(PlatformThreadId th - namespace internal { - - namespace { --#if !BUILDFLAG(IS_NACL) -+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - const struct sched_param kRealTimePrio = {8}; - #endif - } // namespace -@@ -340,7 +342,7 @@ const ThreadTypeToNiceValuePair kThreadTypeToNiceValue - }; - - bool CanSetThreadTypeToRealtimeAudio() { --#if !BUILDFLAG(IS_NACL) -+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke - // pthread_setschedparam in SetCurrentThreadTypeForPlatform(). - struct rlimit rlim; -@@ -352,7 +354,7 @@ bool CanSetThreadTypeToRealtimeAudio() { - - bool SetCurrentThreadTypeForPlatform(ThreadType thread_type, - MessagePumpType pump_type_hint) { --#if !BUILDFLAG(IS_NACL) -+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - const PlatformThreadId tid = PlatformThread::CurrentId(); - - if (g_thread_type_delegate && -@@ -378,7 +380,7 @@ bool SetCurrentThreadTypeForPlatform(ThreadType thread - - absl::optional<ThreadPriorityForTest> - GetCurrentThreadPriorityForPlatformForTest() { --#if !BUILDFLAG(IS_NACL) -+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - int maybe_sched_rr = 0; - struct sched_param maybe_realtime_prio = {0}; - if (pthread_getschedparam(pthread_self(), &maybe_sched_rr, -@@ -397,7 +399,7 @@ GetCurrentThreadPriorityForPlatformForTest() { - void PlatformThread::SetName(const std::string& name) { - ThreadIdNameManager::GetInstance()->SetName(name); - --#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) -+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) && !BUILDFLAG(IS_BSD) - // On linux we can get the thread names to show up in the debugger by setting - // the process name for the LWP. We don't want to do this for the main - // thread because that would rename the process, causing tools like killall -@@ -417,7 +419,7 @@ void PlatformThread::SetName(const std::string& name) - #endif // !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) - } - --#if !BUILDFLAG(IS_NACL) -+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_BSD) - // static - void PlatformThread::SetThreadTypeDelegate(ThreadTypeDelegate* delegate) { - // A component cannot override a delegate set by another component, thus -@@ -428,7 +430,7 @@ void PlatformThread::SetThreadTypeDelegate(ThreadTypeD - } - #endif - --#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) -+#if !BUILDFLAG(IS_NACL) && !BUILDFLAG(IS_AIX) && !BUILDFLAG(IS_BSD) - // static - void PlatformThread::SetThreadType(ProcessId process_id, - PlatformThreadId thread_id, diff --git a/devel/electron25/files/patch-base_threading_platform__thread__posix.cc b/devel/electron25/files/patch-base_threading_platform__thread__posix.cc deleted file mode 100644 index cf98e6f9cd36..000000000000 --- a/devel/electron25/files/patch-base_threading_platform__thread__posix.cc +++ /dev/null @@ -1,21 +0,0 @@ ---- base/threading/platform_thread_posix.cc.orig 2023-03-30 00:33:39 UTC -+++ base/threading/platform_thread_posix.cc -@@ -76,7 +76,7 @@ void* ThreadFunc(void* params) { - if (!thread_params->joinable) - base::DisallowSingleton(); - --#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN) -+#if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(USE_STARSCAN) && !BUILDFLAG(IS_BSD) - partition_alloc::internal::PCScan::NotifyThreadCreated( - partition_alloc::internal::GetStackPointer()); - #endif -@@ -374,6 +374,9 @@ void SetCurrentThreadTypeImpl(ThreadType thread_type, - MessagePumpType pump_type_hint) { - #if BUILDFLAG(IS_NACL) - NOTIMPLEMENTED(); -+// avoid pledge(2) violation -+#elif BUILDFLAG(IS_BSD) -+ NOTIMPLEMENTED(); - #else - if (internal::SetCurrentThreadTypeForPlatform(thread_type, pump_type_hint)) - return; diff --git a/devel/electron25/files/patch-base_threading_platform__thread__unittest.cc b/devel/electron25/files/patch-base_threading_platform__thread__unittest.cc deleted file mode 100644 index de70df0535e8..000000000000 --- a/devel/electron25/files/patch-base_threading_platform__thread__unittest.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- base/threading/platform_thread_unittest.cc.orig 2023-05-25 00:41:38 UTC -+++ base/threading/platform_thread_unittest.cc -@@ -32,7 +32,7 @@ - #include "base/time/time.h" - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include <pthread.h> - #include <sys/syscall.h> - #include <sys/types.h> -@@ -423,7 +423,7 @@ TEST(PlatformThreadTest, - // and hardcodes what we know. Please inform scheduler-dev@chromium.org if this - // proprerty changes for a given platform. - TEST(PlatformThreadTest, CanChangeThreadType) { --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be - // able to increase priority to any level. - constexpr bool kCanIncreasePriority = false; -@@ -704,12 +704,16 @@ INSTANTIATE_TEST_SUITE_P( - - #endif // BUILDFLAG(IS_APPLE) - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - - namespace { - - bool IsTidCacheCorrect() { -+#if BUILDFLAG(IS_BSD) -+ return PlatformThread::CurrentId() == reinterpret_cast<int64_t>(pthread_self()); -+#else - return PlatformThread::CurrentId() == syscall(__NR_gettid); -+#endif - } - - void* CheckTidCacheCorrectWrapper(void*) { diff --git a/devel/electron25/files/patch-base_trace__event_malloc__dump__provider.cc b/devel/electron25/files/patch-base_trace__event_malloc__dump__provider.cc deleted file mode 100644 index 4d0c036a3550..000000000000 --- a/devel/electron25/files/patch-base_trace__event_malloc__dump__provider.cc +++ /dev/null @@ -1,30 +0,0 @@ ---- base/trace_event/malloc_dump_provider.cc.orig 2023-02-01 18:43:08 UTC -+++ base/trace_event/malloc_dump_provider.cc -@@ -25,6 +25,8 @@ - - #if BUILDFLAG(IS_APPLE) - #include <malloc/malloc.h> -+#elif defined(OS_BSD) -+#include <stdlib.h> - #else - #include <malloc.h> - #endif -@@ -187,7 +189,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, - - #if (BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \ - (!BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \ -- !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA)) -+ !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD)) - void ReportMallinfoStats(ProcessMemoryDump* pmd, - size_t* total_virtual_size, - size_t* resident_size, -@@ -358,6 +360,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump - &allocated_objects_count); - #elif BUILDFLAG(IS_FUCHSIA) - // TODO(fuchsia): Port, see https://crbug.com/706592. -+#elif defined(OS_BSD) -+ total_virtual_size = 0; -+ allocated_objects_size = 0; - #else - ReportMallinfoStats(/*pmd=*/nullptr, &total_virtual_size, &resident_size, - &allocated_objects_size, &allocated_objects_count); diff --git a/devel/electron25/files/patch-base_trace__event_memory__dump__manager.cc b/devel/electron25/files/patch-base_trace__event_memory__dump__manager.cc deleted file mode 100644 index f1f228e38e7b..000000000000 --- a/devel/electron25/files/patch-base_trace__event_memory__dump__manager.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/trace_event/memory_dump_manager.cc.orig 2022-03-25 21:59:56 UTC -+++ base/trace_event/memory_dump_manager.cc -@@ -82,7 +82,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP - #if defined(MALLOC_MEMORY_TRACING_SUPPORTED) - MallocDumpProvider::kAllocatedObjects; - #else -- nullptr; -+ ""; - #endif - - // static diff --git a/devel/electron25/files/patch-base_trace__event_process__memory__dump.cc b/devel/electron25/files/patch-base_trace__event_process__memory__dump.cc deleted file mode 100644 index 4a938cc94c34..000000000000 --- a/devel/electron25/files/patch-base_trace__event_process__memory__dump.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/trace_event/process_memory_dump.cc.orig 2022-09-24 10:57:32 UTC -+++ base/trace_event/process_memory_dump.cc -@@ -112,7 +112,7 @@ absl::optional<size_t> ProcessMemoryDump::CountResiden - #if BUILDFLAG(IS_WIN) - std::unique_ptr<PSAPI_WORKING_SET_EX_INFORMATION[]> vec( - new PSAPI_WORKING_SET_EX_INFORMATION[max_vec_size]); --#elif BUILDFLAG(IS_APPLE) -+#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) - std::unique_ptr<char[]> vec(new char[max_vec_size]); - #elif BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) - std::unique_ptr<unsigned char[]> vec(new unsigned char[max_vec_size]); -@@ -134,7 +134,7 @@ absl::optional<size_t> ProcessMemoryDump::CountResiden - - for (size_t i = 0; i < page_count; i++) - resident_page_count += vec[i].VirtualAttributes.Valid; --#elif BUILDFLAG(IS_FUCHSIA) -+#elif BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - // TODO(crbug.com/851760): Implement counting resident bytes. - // For now, log and avoid unused variable warnings. - NOTIMPLEMENTED_LOG_ONCE(); diff --git a/devel/electron25/files/patch-base_tracing_trace__time.cc b/devel/electron25/files/patch-base_tracing_trace__time.cc deleted file mode 100644 index 36c6113518f4..000000000000 --- a/devel/electron25/files/patch-base_tracing_trace__time.cc +++ /dev/null @@ -1,28 +0,0 @@ ---- base/tracing/trace_time.cc.orig 2022-02-28 16:54:41 UTC -+++ base/tracing/trace_time.cc -@@ -8,13 +8,17 @@ - #include "build/build_config.h" - #include "third_party/perfetto/include/perfetto/base/time.h" - -+#if BUILDFLAG(IS_FREEBSD) -+#define CLOCK_BOOTTIME CLOCK_UPTIME -+#endif -+ - namespace base { - namespace tracing { - - int64_t TraceBootTicksNow() { - // On Windows and Mac, TRACE_TIME_TICKS_NOW() behaves like boottime already. - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ -- BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - struct timespec ts; - int res = clock_gettime(CLOCK_BOOTTIME, &ts); - if (res != -1) -@@ -24,4 +28,4 @@ int64_t TraceBootTicksNow() { - } - - } // namespace tracing --} // namespace base -\ No newline at end of file -+} // namespace base diff --git a/devel/electron25/files/patch-base_tracing_trace__time.h b/devel/electron25/files/patch-base_tracing_trace__time.h deleted file mode 100644 index 0394e382ee6e..000000000000 --- a/devel/electron25/files/patch-base_tracing_trace__time.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/tracing/trace_time.h.orig 2022-02-28 16:54:41 UTC -+++ base/tracing/trace_time.h -@@ -12,7 +12,7 @@ namespace base { - namespace tracing { - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ -- BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) - // Linux, Android, and Fuchsia all use CLOCK_MONOTONIC. See crbug.com/166153 - // about efforts to unify base::TimeTicks across all platforms. - constexpr perfetto::protos::pbzero::BuiltinClock kTraceClockId = diff --git a/devel/electron25/files/patch-build_config_BUILD.gn b/devel/electron25/files/patch-build_config_BUILD.gn deleted file mode 100644 index 205804626455..000000000000 --- a/devel/electron25/files/patch-build_config_BUILD.gn +++ /dev/null @@ -1,22 +0,0 @@ ---- build/config/BUILD.gn.orig 2023-03-30 00:33:39 UTC -+++ build/config/BUILD.gn -@@ -218,13 +218,17 @@ config("default_libs") { - "CoreText.framework", - "Foundation.framework", - ] -- } else if (is_linux || is_chromeos) { -+ } else if ((is_linux && !is_bsd) || is_chromeos) { - libs = [ - "dl", - "pthread", - "rt", - ] -- } -+ } else if (is_bsd) { -+ libs = [ -+ "pthread", -+ ] -+ } - } - - group("common_deps") { diff --git a/devel/electron25/files/patch-build_config_BUILDCONFIG.gn b/devel/electron25/files/patch-build_config_BUILDCONFIG.gn deleted file mode 100644 index 987fef14793c..000000000000 --- a/devel/electron25/files/patch-build_config_BUILDCONFIG.gn +++ /dev/null @@ -1,45 +0,0 @@ ---- build/config/BUILDCONFIG.gn.orig 2023-02-15 13:08:45 UTC -+++ build/config/BUILDCONFIG.gn -@@ -139,7 +139,8 @@ declare_args() { - is_official_build = false - - # Set to true when compiling with the Clang compiler. -- is_clang = current_os != "linux" || -+ is_clang = current_os != "linux" || current_os == "openbsd" || -+ current_os == "freebsd" || - (current_cpu != "s390x" && current_cpu != "s390" && - current_cpu != "ppc64" && current_cpu != "ppc" && - current_cpu != "mips" && current_cpu != "mips64" && -@@ -228,6 +229,10 @@ if (host_toolchain == "") { - host_toolchain = "//build/toolchain/aix:$host_cpu" - } else if (host_os == "zos") { - host_toolchain = "//build/toolchain/zos:$host_cpu" -+ } else if (host_os == "openbsd") { -+ host_toolchain = "//build/toolchain/openbsd:clang_$host_cpu" -+ } else if (host_os == "freebsd") { -+ host_toolchain = "//build/toolchain/freebsd:clang_$host_cpu" - } else { - assert(false, "Unsupported host_os: $host_os") - } -@@ -271,6 +276,8 @@ if (target_os == "android") { - _default_toolchain = "//build/toolchain/aix:$target_cpu" - } else if (target_os == "zos") { - _default_toolchain = "//build/toolchain/zos:$target_cpu" -+} else if (target_os == "openbsd" || target_os == "freebsd") { -+ _default_toolchain = host_toolchain - } else { - assert(false, "Unsupported target_os: $target_os") - } -@@ -305,7 +312,11 @@ is_android = current_os == "android" - is_chromeos = current_os == "chromeos" - is_fuchsia = current_os == "fuchsia" - is_ios = current_os == "ios" --is_linux = current_os == "linux" -+is_linux = current_os == "linux" || current_os == "openbsd" || -+ current_os == "freebsd" -+is_openbsd = current_os == "openbsd" -+is_freebsd = current_os == "freebsd" -+is_bsd = current_os == "openbsd" || current_os == "freebsd" - is_mac = current_os == "mac" - is_nacl = current_os == "nacl" - is_win = current_os == "win" || current_os == "winuwp" diff --git a/devel/electron25/files/patch-build_config_compiler_BUILD.gn b/devel/electron25/files/patch-build_config_compiler_BUILD.gn deleted file mode 100644 index e342f01fa527..000000000000 --- a/devel/electron25/files/patch-build_config_compiler_BUILD.gn +++ /dev/null @@ -1,140 +0,0 @@ ---- build/config/compiler/BUILD.gn.orig 2023-05-25 00:41:38 UTC -+++ build/config/compiler/BUILD.gn -@@ -237,13 +237,16 @@ config("default_include_dirs") { - # Compiler instrumentation can introduce dependencies in DSOs to symbols in - # the executable they are loaded into, so they are unresolved at link-time. - config("no_unresolved_symbols") { -- if (!using_sanitizer && -+ if (!using_sanitizer && !is_bsd && - (is_linux || is_chromeos || is_android || is_fuchsia)) { - ldflags = [ - "-Wl,-z,defs", - "-Wl,--as-needed", - ] - } -+ if (current_cpu == "x86" && is_openbsd) { -+ ldflags = [ "-Wl,-z,notext" ] -+ } - } - - # compiler --------------------------------------------------------------------- -@@ -467,6 +470,10 @@ config("compiler") { - } - } - -+ if (is_openbsd) { -+ ldflags += [ "-Wl,-z,wxneeded" ] -+ } -+ - # Linux-specific compiler flags setup. - # ------------------------------------ - if (use_gold) { -@@ -542,7 +549,7 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -+ if (is_clang && !is_nacl && current_os != "zos" && !is_bsd) { - cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] - if (save_reproducers_on_lld_crash && use_lld) { - ldflags += [ -@@ -727,7 +734,7 @@ config("compiler") { - - ldflags += [ "-Wl,-mllvm,-import-instr-limit=$import_instr_limit" ] - -- if (!is_chromeos) { -+ if (!is_chromeos && !is_bsd) { - # TODO(https://crbug.com/972449): turn on for ChromeOS when that - # toolchain has this flag. - # We only use one version of LLVM within a build so there's no need to -@@ -825,7 +832,7 @@ config("compiler") { - # * Apple platforms (e.g. MacOS, iPhone, iPad) aren't supported because xcode - # lldb doesn't have the needed changes yet. - # TODO(crbug.com/1379070): Remove if the upstream default ever changes. -- if (is_clang && !is_nacl && !is_win && !is_apple) { -+ if (is_clang && !is_nacl && !is_win && !is_apple && !is_bsd) { - cflags_cc += [ "-gsimple-template-names" ] - } - -@@ -1005,7 +1012,7 @@ config("compiler_cpu_abi") { - ] - } - } else if (current_cpu == "arm") { -- if (is_clang && !is_android && !is_nacl && -+ if (is_clang && !is_android && !is_nacl && !is_bsd && - !(is_chromeos_lacros && is_chromeos_device)) { - cflags += [ "--target=arm-linux-gnueabihf" ] - ldflags += [ "--target=arm-linux-gnueabihf" ] -@@ -1020,7 +1027,7 @@ config("compiler_cpu_abi") { - cflags += [ "-mtune=$arm_tune" ] - } - } else if (current_cpu == "arm64") { -- if (is_clang && !is_android && !is_nacl && !is_fuchsia && -+ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd && - !(is_chromeos_lacros && is_chromeos_device)) { - cflags += [ "--target=aarch64-linux-gnu" ] - ldflags += [ "--target=aarch64-linux-gnu" ] -@@ -1355,7 +1362,7 @@ config("compiler_deterministic") { - # different build directory like "out/feature_a" and "out/feature_b" if - # we build same files with same compile flag. - # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -+ if (is_nacl || is_bsd) { - # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. - cflags += [ - "-Xclang", -@@ -1407,7 +1414,7 @@ config("compiler_deterministic") { - } - - config("clang_revision") { -- if (is_clang && clang_base_path == default_clang_base_path) { -+ if (is_clang && !is_bsd && clang_base_path == default_clang_base_path) { - update_args = [ - "--print-revision", - "--verify-version=$clang_version", -@@ -1645,7 +1652,7 @@ config("default_warnings") { - "-Wno-ignored-pragma-optimize", - ] - -- if (!is_nacl) { -+ if (!is_nacl && !is_bsd) { - cflags += [ - # TODO(crbug.com/1343975) Evaluate and possibly enable. - "-Wno-deprecated-builtins", -@@ -1836,7 +1843,7 @@ config("no_chromium_code") { - # third-party libraries. - "-Wno-c++11-narrowing", - ] -- if (!is_nacl) { -+ if (!is_nacl && !is_freebsd) { - cflags += [ - # Disabled for similar reasons as -Wunused-variable. - "-Wno-unused-but-set-variable", -@@ -2346,7 +2353,7 @@ config("afdo_optimize_size") { - # There are some targeted places that AFDO regresses, so we provide a separate - # config to allow AFDO to be disabled per-target. - config("afdo") { -- if (is_clang) { -+ if (is_clang && !is_bsd) { - cflags = [] - if (clang_emit_debug_info_for_profiling) { - # Add the following flags to generate debug info for profiling. -@@ -2365,7 +2372,7 @@ config("afdo") { - } - inputs = [ _clang_sample_profile ] - } -- } else if (auto_profile_path != "" && is_a_target_toolchain) { -+ } else if (auto_profile_path != "" && is_a_target_toolchain && !is_bsd) { - cflags = [ "-fauto-profile=${auto_profile_path}" ] - inputs = [ auto_profile_path ] - } -@@ -2523,7 +2530,8 @@ config("symbols") { - configs += [ "//build/config:compress_debug_sections" ] - } - -- if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos") { -+ if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos" && -+ !is_bsd) { - if (is_apple) { - # TODO(https://crbug.com/1050118): Investigate missing debug info on mac. - # Make sure we don't use constructor homing on mac. diff --git a/devel/electron25/files/patch-build_config_linux_BUILD.gn b/devel/electron25/files/patch-build_config_linux_BUILD.gn deleted file mode 100644 index 2e93980f3e50..000000000000 --- a/devel/electron25/files/patch-build_config_linux_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- build/config/linux/BUILD.gn.orig 2022-05-19 14:06:27 UTC -+++ build/config/linux/BUILD.gn -@@ -41,7 +41,7 @@ config("runtime_library") { - } - - if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") && -- (!use_custom_libcxx || current_cpu == "mipsel")) { -+ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) { - libs = [ "atomic" ] - } - } diff --git a/devel/electron25/files/patch-build_config_linux_pkg-config.py b/devel/electron25/files/patch-build_config_linux_pkg-config.py deleted file mode 100644 index 3b8ffa5a822d..000000000000 --- a/devel/electron25/files/patch-build_config_linux_pkg-config.py +++ /dev/null @@ -1,11 +0,0 @@ ---- build/config/linux/pkg-config.py.orig 2023-03-30 00:33:39 UTC -+++ build/config/linux/pkg-config.py -@@ -108,7 +108,7 @@ def main(): - # If this is run on non-Linux platforms, just return nothing and indicate - # success. This allows us to "kind of emulate" a Linux build from other - # platforms. -- if "linux" not in sys.platform: -+ if not sys.platform.startswith(tuple(['linux', 'openbsd', 'freebsd'])): - print("[[],[],[],[],[]]") - return 0 - diff --git a/devel/electron25/files/patch-build_config_ozone.gni b/devel/electron25/files/patch-build_config_ozone.gni deleted file mode 100644 index 739797e19626..000000000000 --- a/devel/electron25/files/patch-build_config_ozone.gni +++ /dev/null @@ -1,19 +0,0 @@ ---- build/config/ozone.gni.orig 2022-08-31 12:19:35 UTC -+++ build/config/ozone.gni -@@ -87,7 +87,15 @@ declare_args() { - } else if (is_chromeos_lacros) { - ozone_platform = "wayland" - ozone_platform_wayland = true -- } else if (is_linux) { -+ } else if (is_linux && !is_bsd) { -+ ozone_platform = "x11" -+ ozone_platform_wayland = true -+ ozone_platform_x11 = true -+ } else if (is_openbsd) { -+ ozone_platform = "x11" -+ ozone_platform_wayland = false -+ ozone_platform_x11 = true -+ } else if (is_freebsd) { - ozone_platform = "x11" - ozone_platform_wayland = true - ozone_platform_x11 = true diff --git a/devel/electron25/files/patch-build_config_rust.gni b/devel/electron25/files/patch-build_config_rust.gni deleted file mode 100644 index c317072e0673..000000000000 --- a/devel/electron25/files/patch-build_config_rust.gni +++ /dev/null @@ -1,11 +0,0 @@ ---- build/config/rust.gni.orig 2023-05-25 00:41:38 UTC -+++ build/config/rust.gni -@@ -170,7 +170,7 @@ if (enable_rust) { - rust_sysroot = "//third_party/rust-toolchain" - use_unverified_rust_toolchain = false - } else { -- if (host_os != "linux") { -+ if (host_os != "linux" && host_os != "openbsd" && host_os != "freebsd") { - assert(false, - "Attempt to use Android Rust toolchain on an unsupported platform") - } diff --git a/devel/electron25/files/patch-build_config_v8__target__cpu.gni b/devel/electron25/files/patch-build_config_v8__target__cpu.gni deleted file mode 100644 index 40fa8f6348e3..000000000000 --- a/devel/electron25/files/patch-build_config_v8__target__cpu.gni +++ /dev/null @@ -1,13 +0,0 @@ ---- build/config/v8_target_cpu.gni.orig 2022-02-07 13:39:41 UTC -+++ build/config/v8_target_cpu.gni -@@ -36,6 +36,10 @@ declare_args() { - if (v8_target_cpu == "") { - if (current_toolchain == "//build/toolchain/linux:clang_x64_v8_arm64") { - v8_target_cpu = "arm64" -+ } else if (current_toolchain == "//build/toolchain/openbsd:clang_arm64") { -+ v8_target_cpu = "arm64" -+ } else if (current_toolchain == "//build/toolchain/freebsd:clang_arm64") { -+ v8_target_cpu = "arm64" - } else if (current_toolchain == "//build/toolchain/linux:clang_x86_v8_arm") { - v8_target_cpu = "arm" - } else if (current_toolchain == diff --git a/devel/electron25/files/patch-build_detect__host__arch.py b/devel/electron25/files/patch-build_detect__host__arch.py deleted file mode 100644 index 673554933a91..000000000000 --- a/devel/electron25/files/patch-build_detect__host__arch.py +++ /dev/null @@ -1,11 +0,0 @@ ---- build/detect_host_arch.py.orig 2023-03-30 00:33:39 UTC -+++ build/detect_host_arch.py -@@ -20,6 +20,8 @@ def HostArch(): - host_arch = 'ia32' - elif host_arch in ['x86_64', 'amd64']: - host_arch = 'x64' -+ elif host_arch.startswith('arm64'): -+ host_arch = 'arm64' - elif host_arch.startswith('arm'): - host_arch = 'arm' - elif host_arch.startswith('aarch64'): diff --git a/devel/electron25/files/patch-build_gn__run__binary.py b/devel/electron25/files/patch-build_gn__run__binary.py deleted file mode 100644 index 08fb97b6a1e9..000000000000 --- a/devel/electron25/files/patch-build_gn__run__binary.py +++ /dev/null @@ -1,11 +0,0 @@ ---- build/gn_run_binary.py.orig 2023-03-30 00:33:39 UTC -+++ build/gn_run_binary.py -@@ -23,7 +23,7 @@ if not os.path.isabs(path): - # The rest of the arguments are passed directly to the executable. - args = [path] + sys.argv[2:] - --ret = subprocess.call(args) -+ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome","LD_LIBRARY_PATH":"${WRKSRC}/out/Release"}) - if ret != 0: - if ret <= -100: - # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to diff --git a/devel/electron25/files/patch-build_linux_chrome.map b/devel/electron25/files/patch-build_linux_chrome.map deleted file mode 100644 index 992585036b7b..000000000000 --- a/devel/electron25/files/patch-build_linux_chrome.map +++ /dev/null @@ -1,13 +0,0 @@ ---- build/linux/chrome.map.orig 2022-02-28 16:54:41 UTC -+++ build/linux/chrome.map -@@ -20,6 +20,10 @@ global: - # Program entry point. - _start; - -+ # FreeBSD specific variables. -+ __progname; -+ environ; -+ - # Memory allocation symbols. We want chrome and any libraries to - # share the same heap, so it is correct to export these symbols. - aligned_alloc; diff --git a/devel/electron25/files/patch-build_linux_strip__binary.py b/devel/electron25/files/patch-build_linux_strip__binary.py deleted file mode 100644 index 9dd3c051630b..000000000000 --- a/devel/electron25/files/patch-build_linux_strip__binary.py +++ /dev/null @@ -1,10 +0,0 @@ ---- build/linux/strip_binary.py.orig 2022-02-07 13:39:41 UTC -+++ build/linux/strip_binary.py -@@ -10,6 +10,7 @@ import sys - - - def main(): -+ return 0 - argparser = argparse.ArgumentParser(description='eu-strip binary.') - - argparser.add_argument('--eu-strip-binary-path', help='eu-strip path.') diff --git a/devel/electron25/files/patch-build_linux_unbundle_icu.gn b/devel/electron25/files/patch-build_linux_unbundle_icu.gn deleted file mode 100644 index bd3567f59977..000000000000 --- a/devel/electron25/files/patch-build_linux_unbundle_icu.gn +++ /dev/null @@ -1,18 +0,0 @@ ---- build/linux/unbundle/icu.gn.orig 2023-04-04 21:42:43 UTC -+++ build/linux/unbundle/icu.gn -@@ -17,6 +17,15 @@ config("icu_config") { - "USING_SYSTEM_ICU=1", - "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC", - -+ # As of icu 73 C++ nullptr, char16_t, override, final and noexcept are used -+ # instead of defines. These definitions can be removed when the bundled icu -+ # gets updated to 73. For more details, see: -+ # https://unicode-org.atlassian.net/browse/ICU-21833 and -+ # https://github.com/unicode-org/icu/commit/28643799377ecf654564f6f31854b02788cebe33 -+ "U_FINAL=final", -+ "U_NOEXCEPT=noexcept", -+ "U_OVERRIDE=override", -+ - # U_EXPORT (defined in unicode/platform.h) is used to set public visibility - # on classes through the U_COMMON_API and U_I18N_API macros (among others). - # When linking against the system ICU library, we want its symbols to have diff --git a/devel/electron25/files/patch-build_linux_unbundle_libevent.gn b/devel/electron25/files/patch-build_linux_unbundle_libevent.gn deleted file mode 100644 index d5f276de574d..000000000000 --- a/devel/electron25/files/patch-build_linux_unbundle_libevent.gn +++ /dev/null @@ -1,15 +0,0 @@ ---- build/linux/unbundle/libevent.gn.orig 2022-05-28 07:21:18 UTC -+++ build/linux/unbundle/libevent.gn -@@ -9,7 +9,12 @@ shim_headers("libevent_shim") { - headers = [ "event.h" ] - } - -+config("system_libevent") { -+ defines = [ "USE_SYSTEM_LIBEVENT=1" ] -+} -+ - source_set("libevent") { - deps = [ ":libevent_shim" ] - libs = [ "event" ] -+ public_configs = [ ":system_libevent" ] - } diff --git a/devel/electron25/files/patch-build_linux_unbundle_libusb.gn b/devel/electron25/files/patch-build_linux_unbundle_libusb.gn deleted file mode 100644 index db96d613cad6..000000000000 --- a/devel/electron25/files/patch-build_linux_unbundle_libusb.gn +++ /dev/null @@ -1,27 +0,0 @@ ---- build/linux/unbundle/libusb.gn.orig 2021-04-15 08:12:30 UTC -+++ build/linux/unbundle/libusb.gn -@@ -0,0 +1,24 @@ -+# Copyright 2016 The Chromium Authors. All rights reserved. -+# Use of this source code is governed by a BSD-style license that can be -+# found in the LICENSE file. -+ -+import("//build/config/linux/pkg_config.gni") -+import("//build/shim_headers.gni") -+ -+pkg_config("system_libusb") { -+ packages = [ "libusb-1.0" ] -+} -+ -+shim_headers("libusb_shim") { -+ root_path = "src/libusb" -+ headers = [ -+ "libusb.h", -+ ] -+} -+ -+source_set("libusb") { -+ deps = [ -+ ":libusb_shim", -+ ] -+ public_configs = [ ":system_libusb" ] -+} diff --git a/devel/electron25/files/patch-build_linux_unbundle_replace__gn__files.py b/devel/electron25/files/patch-build_linux_unbundle_replace__gn__files.py deleted file mode 100644 index f2627136771d..000000000000 --- a/devel/electron25/files/patch-build_linux_unbundle_replace__gn__files.py +++ /dev/null @@ -1,10 +0,0 @@ ---- build/linux/unbundle/replace_gn_files.py.orig 2023-02-01 18:43:08 UTC -+++ build/linux/unbundle/replace_gn_files.py -@@ -54,6 +54,7 @@ REPLACEMENTS = { - 'libevent': 'third_party/libevent/BUILD.gn', - 'libjpeg': 'third_party/libjpeg.gni', - 'libpng': 'third_party/libpng/BUILD.gn', -+ 'libusb': 'third_party/libusb/BUILD.gn', - 'libvpx': 'third_party/libvpx/BUILD.gn', - 'libwebp': 'third_party/libwebp/BUILD.gn', - 'libxml': 'third_party/libxml/BUILD.gn', diff --git a/devel/electron25/files/patch-build_toolchain_freebsd_BUILD.gn b/devel/electron25/files/patch-build_toolchain_freebsd_BUILD.gn deleted file mode 100644 index 7857149615a0..000000000000 --- a/devel/electron25/files/patch-build_toolchain_freebsd_BUILD.gn +++ /dev/null @@ -1,69 +0,0 @@ ---- build/toolchain/freebsd/BUILD.gn.orig 2022-02-07 13:39:41 UTC -+++ build/toolchain/freebsd/BUILD.gn -@@ -0,0 +1,66 @@ -+# Copyright 2013 The Chromium Authors. All rights reserved. -+# Use of this source code is governed by a BSD-style license that can be -+# found in the LICENSE file. -+ -+import("//build/config/sysroot.gni") -+import("//build/toolchain/gcc_toolchain.gni") -+ -+clang_toolchain("clang_x86") { -+ toolchain_args = { -+ current_cpu = "x86" -+ current_os = "freebsd" -+ } -+} -+ -+gcc_toolchain("x86") { -+ cc = "gcc" -+ cxx = "g++" -+ -+ readelf = "readelf" -+ nm = "nm" -+ ar = "ar" -+ ld = cxx -+ -+ toolchain_args = { -+ current_cpu = "x86" -+ current_os = "freebsd" -+ is_clang = false -+ } -+} -+ -+clang_toolchain("clang_x64") { -+ toolchain_args = { -+ current_cpu = "x64" -+ current_os = "freebsd" -+ } -+} -+ -+gcc_toolchain("x64") { -+ cc = "gcc" -+ cxx = "g++" -+ -+ readelf = "readelf" -+ nm = "nm" -+ ar = "ar" -+ ld = cxx -+ -+ toolchain_args = { -+ current_cpu = "x64" -+ current_os = "freebsd" -+ is_clang = false -+ } -+} -+ -+clang_toolchain("clang_arm") { -+ toolchain_args = { -+ current_cpu = "arm64" -+ current_os = "freebsd" -+ } -+} -+ -+clang_toolchain("clang_arm64") { -+ toolchain_args = { -+ current_cpu = "arm64" -+ current_os = "freebsd" -+ } -+} diff --git a/devel/electron25/files/patch-build_toolchain_gcc__solink__wrapper.py b/devel/electron25/files/patch-build_toolchain_gcc__solink__wrapper.py deleted file mode 100644 index 34debf134bea..000000000000 --- a/devel/electron25/files/patch-build_toolchain_gcc__solink__wrapper.py +++ /dev/null @@ -1,11 +0,0 @@ ---- build/toolchain/gcc_solink_wrapper.py.orig 2022-02-07 13:39:41 UTC -+++ build/toolchain/gcc_solink_wrapper.py -@@ -39,7 +39,7 @@ def CollectDynSym(args): - """Replaces: nm --format=posix -g -D -p $sofile | cut -f1-2 -d' '""" - toc = '' - nm = subprocess.Popen(wrapper_utils.CommandToRun( -- [args.nm, '--format=posix', '-g', '-D', '-p', args.sofile]), -+ [args.nm, '-g', '-D', '-p', args.sofile]), - stdout=subprocess.PIPE, - bufsize=-1, - universal_newlines=True) diff --git a/devel/electron25/files/patch-build_toolchain_gcc__toolchain.gni b/devel/electron25/files/patch-build_toolchain_gcc__toolchain.gni deleted file mode 100644 index db77de861e88..000000000000 --- a/devel/electron25/files/patch-build_toolchain_gcc__toolchain.gni +++ /dev/null @@ -1,44 +0,0 @@ ---- build/toolchain/gcc_toolchain.gni.orig 2023-05-25 00:41:38 UTC -+++ build/toolchain/gcc_toolchain.gni -@@ -53,6 +53,13 @@ if (enable_resource_allowlist_generation) { - "enable_resource_allowlist_generation=true does not work for target_os=$target_os") - } - -+declare_args() { -+ extra_cflags = "" -+ extra_cppflags = "" -+ extra_cxxflags = "" -+ extra_ldflags = "" -+} -+ - # This template defines a toolchain for something that works like gcc - # (including clang). - # -@@ -859,22 +866,12 @@ template("gcc_toolchain") { - # use_gold too. - template("clang_toolchain") { - gcc_toolchain(target_name) { -- _path = "$clang_base_path/bin" -- _is_path_absolute = get_path_info(_path, "abspath") == _path -- -- # Preserve absolute paths for tools like distcc. -- if (_is_path_absolute && filter_include([ _path ], [ "//*" ]) == []) { -- prefix = _path -- } else { -- prefix = rebase_path(_path, root_build_dir) -- } -- -- cc = "${prefix}/clang" -- cxx = "${prefix}/clang++" -+ cc = "cc" -+ cxx = "c++" - ld = cxx -- readelf = "${prefix}/llvm-readelf" -- ar = "${prefix}/llvm-ar" -- nm = "${prefix}/llvm-nm" -+ readelf = "readelf" -+ ar = "ar" -+ nm = "nm" - - forward_variables_from(invoker, - [ diff --git a/devel/electron25/files/patch-build_toolchain_openbsd_BUILD.gn b/devel/electron25/files/patch-build_toolchain_openbsd_BUILD.gn deleted file mode 100644 index 04e6f6b416e2..000000000000 --- a/devel/electron25/files/patch-build_toolchain_openbsd_BUILD.gn +++ /dev/null @@ -1,69 +0,0 @@ ---- build/toolchain/openbsd/BUILD.gn.orig 2022-02-07 13:39:41 UTC -+++ build/toolchain/openbsd/BUILD.gn -@@ -0,0 +1,66 @@ -+# Copyright 2013 The Chromium Authors. All rights reserved. -+# Use of this source code is governed by a BSD-style license that can be -+# found in the LICENSE file. -+ -+import("//build/config/sysroot.gni") -+import("//build/toolchain/gcc_toolchain.gni") -+ -+clang_toolchain("clang_x86") { -+ toolchain_args = { -+ current_cpu = "x86" -+ current_os = "openbsd" -+ } -+} -+ -+gcc_toolchain("x86") { -+ cc = "gcc" -+ cxx = "g++" -+ -+ readelf = "readelf" -+ nm = "nm" -+ ar = "ar" -+ ld = cxx -+ -+ toolchain_args = { -+ current_cpu = "x86" -+ current_os = "openbsd" -+ is_clang = false -+ } -+} -+ -+clang_toolchain("clang_x64") { -+ toolchain_args = { -+ current_cpu = "x64" -+ current_os = "openbsd" -+ } -+} -+ -+gcc_toolchain("x64") { -+ cc = "gcc" -+ cxx = "g++" -+ -+ readelf = "readelf" -+ nm = "nm" -+ ar = "ar" -+ ld = cxx -+ -+ toolchain_args = { -+ current_cpu = "x64" -+ current_os = "openbsd" -+ is_clang = false -+ } -+} -+ -+clang_toolchain("clang_arm") { -+ toolchain_args = { -+ current_cpu = "arm64" -+ current_os = "openbsd" -+ } -+} -+ -+clang_toolchain("clang_arm64") { -+ toolchain_args = { -+ current_cpu = "arm64" -+ current_os = "openbsd" -+ } -+} diff --git a/devel/electron25/files/patch-cc_BUILD.gn b/devel/electron25/files/patch-cc_BUILD.gn deleted file mode 100644 index 60d0d3e9470f..000000000000 --- a/devel/electron25/files/patch-cc_BUILD.gn +++ /dev/null @@ -1,19 +0,0 @@ ---- cc/BUILD.gn.orig 2023-05-25 00:41:38 UTC -+++ cc/BUILD.gn -@@ -672,7 +672,7 @@ cc_test_static_library("test_support") { - if (enable_vulkan) { - deps += [ "//gpu/vulkan/init" ] - } -- if (!is_android) { -+ if (!is_android && !is_bsd) { - data_deps = [ "//third_party/mesa_headers" ] - } - } -@@ -922,7 +922,6 @@ cc_test("cc_unittests") { - data = [ "//components/test/data/viz/" ] - data_deps = [ - "//testing/buildbot/filters:cc_unittests_filters", -- "//third_party/mesa_headers", - ] - - if (is_android && enable_chrome_android_internal) { diff --git a/devel/electron25/files/patch-cc_layers_mirror__layer__impl.h b/devel/electron25/files/patch-cc_layers_mirror__layer__impl.h deleted file mode 100644 index ae2d3d694a8c..000000000000 --- a/devel/electron25/files/patch-cc_layers_mirror__layer__impl.h +++ /dev/null @@ -1,20 +0,0 @@ ---- cc/layers/mirror_layer_impl.h.orig 2023-08-12 07:07:10 UTC -+++ cc/layers/mirror_layer_impl.h -@@ -5,6 +5,7 @@ - #ifndef CC_LAYERS_MIRROR_LAYER_IMPL_H_ - #define CC_LAYERS_MIRROR_LAYER_IMPL_H_ - -+#include <cstdint> - #include <memory> - - #include "base/memory/ptr_util.h" -@@ -56,7 +57,8 @@ class CC_EXPORT MirrorLayerImpl : public LayerImpl { - private: - const char* LayerTypeAsString() const override; - viz::CompositorRenderPassId mirrored_layer_render_pass_id() const { -- return viz::CompositorRenderPassId{mirrored_layer_id()}; -+ return viz::CompositorRenderPassId{ -+ static_cast<uint64_t>(mirrored_layer_id())}; - } - - int mirrored_layer_id_ = 0; diff --git a/devel/electron25/files/patch-chrome_app_app__management__strings.grdp b/devel/electron25/files/patch-chrome_app_app__management__strings.grdp deleted file mode 100644 index c77d7115eeae..000000000000 --- a/devel/electron25/files/patch-chrome_app_app__management__strings.grdp +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/app/app_management_strings.grdp.orig 2023-05-25 00:41:39 UTC -+++ chrome/app/app_management_strings.grdp -@@ -176,7 +176,7 @@ - You can open and edit supported files with this app from Finder or other apps. To control which files open this app by default, <ph name="BEGIN_LINK"><a href="#"></ph>learn how to set default apps on your device<ph name="END_LINK"></a></ph>. - </message> - </if> -- <if expr="is_fuchsia or is_linux"> -+ <if expr="is_fuchsia or is_posix"> - <message name="IDS_APP_MANAGEMENT_FILE_HANDLING_SET_DEFAULTS_LINK" desc="Further explanation of the File Handling API, including text describing the purpose of the toggle (referencing a generic Linux file browser app) and a link to a learn more link for default filetype associations."> - You can open and edit supported files with this app from your file browser or other apps. To control which files open this app by default, <ph name="BEGIN_LINK"><a href="#"></ph>learn how to set default apps on your device<ph name="END_LINK"></a></ph>. - </message> diff --git a/devel/electron25/files/patch-chrome_app_chrome__command__ids.h b/devel/electron25/files/patch-chrome_app_chrome__command__ids.h deleted file mode 100644 index c8bce37f126b..000000000000 --- a/devel/electron25/files/patch-chrome_app_chrome__command__ids.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/app/chrome_command_ids.h.orig 2023-03-30 00:33:39 UTC -+++ chrome/app/chrome_command_ids.h -@@ -70,7 +70,7 @@ - #endif - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch of lacros-chrome is complete. --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) - #define IDC_USE_SYSTEM_TITLE_BAR 34051 - #define IDC_RESTORE_WINDOW 34052 - #endif diff --git a/devel/electron25/files/patch-chrome_app_chrome__main.cc b/devel/electron25/files/patch-chrome_app_chrome__main.cc deleted file mode 100644 index b4094d69e1ce..000000000000 --- a/devel/electron25/files/patch-chrome_app_chrome__main.cc +++ /dev/null @@ -1,34 +0,0 @@ ---- chrome/app/chrome_main.cc.orig 2023-05-25 00:41:39 UTC -+++ chrome/app/chrome_main.cc -@@ -27,11 +27,11 @@ - #include "chrome/app/notification_metrics.h" - #endif - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "base/base_switches.h" - #endif - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "chrome/app/chrome_main_linux.h" - #endif - -@@ -136,7 +136,7 @@ int ChromeMain(int argc, const char** argv) { - SetUpBundleOverrides(); - #endif - --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - AppendExtraArgumentsToCommandLine(command_line); - #endif - -@@ -164,7 +164,7 @@ int ChromeMain(int argc, const char** argv) { - headless::SetUpCommandLine(command_line); - } else { - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_WIN) -+ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - if (headless::IsOldHeadlessMode()) { - #if BUILDFLAG(GOOGLE_CHROME_BRANDING) - command_line->AppendSwitch(::headless::switches::kEnableCrashReporter); diff --git a/devel/electron25/files/patch-chrome_app_chrome__main__delegate.cc b/devel/electron25/files/patch-chrome_app_chrome__main__delegate.cc deleted file mode 100644 index 7d8ceedbdf5e..000000000000 --- a/devel/electron25/files/patch-chrome_app_chrome__main__delegate.cc +++ /dev/null @@ -1,112 +0,0 @@ ---- chrome/app/chrome_main_delegate.cc.orig 2023-05-25 00:41:39 UTC -+++ chrome/app/chrome_main_delegate.cc -@@ -137,7 +137,7 @@ - #include "components/about_ui/credit_utils.h" - #endif - --#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) -+#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) - #include "components/nacl/common/nacl_paths.h" - #include "components/nacl/zygote/nacl_fork_delegate_linux.h" - #endif -@@ -182,16 +182,16 @@ - #include "v8/include/v8.h" - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "base/environment.h" - #endif - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - #include "base/message_loop/message_pump_libevent.h" - #endif - - #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || \ -- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "chrome/browser/policy/policy_path_parser.h" - #include "components/crash/core/app/crashpad.h" - #endif -@@ -327,7 +327,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty - // and resources loaded. - bool SubprocessNeedsResourceBundle(const std::string& process_type) { - return --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // The zygote process opens the resources for the renderers. - process_type == switches::kZygoteProcess || - #endif -@@ -412,7 +412,7 @@ bool HandleVersionSwitches(const base::CommandLine& co - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) - // Show the man page if --help or -h is on the command line. - void HandleHelpSwitches(const base::CommandLine& command_line) { - if (command_line.HasSwitch(switches::kHelp) || -@@ -526,7 +526,7 @@ void InitializeUserDataDir(base::CommandLine* command_ - std::string process_type = - command_line->GetSwitchValueASCII(switches::kProcessType); - --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // On Linux, Chrome does not support running multiple copies under different - // DISPLAYs, so the profile directory can be specified in the environment to - // support the virtual desktop use-case. -@@ -615,7 +615,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat - #endif - - #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Record the startup process creation time on supported platforms. On Android - // this is recorded in ChromeMainDelegateAndroid. - startup_metric_utils::RecordStartupProcessCreationTime( -@@ -956,7 +956,7 @@ void ChromeMainDelegate::CommonEarlyInitialization() { - - base::InitializeCpuReductionExperiment(); - base::sequence_manager::internal::SequenceManagerImpl::InitializeFeatures(); --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) - base::MessagePumpLibevent::InitializeFeatures(); - #elif BUILDFLAG(IS_MAC) - base::PlatformThread::InitFeaturesPostFieldTrial(); -@@ -1094,7 +1094,7 @@ absl::optional<int> ChromeMainDelegate::BasicStartupCo - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag - // switch of lacros-chrome is complete. --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(IS_BSD) - // This will directly exit if the user asked for help. - HandleHelpSwitches(command_line); - #endif -@@ -1124,7 +1124,7 @@ absl::optional<int> ChromeMainDelegate::BasicStartupCo - #if BUILDFLAG(IS_CHROMEOS) - chromeos::dbus_paths::RegisterPathProvider(); - #endif --#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) -+#if BUILDFLAG(ENABLE_NACL) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) - nacl::RegisterPathProvider(); - #endif - -@@ -1498,7 +1498,7 @@ void ChromeMainDelegate::PreSandboxStartup() { - CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale; - } - --#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) -+#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) - // Zygote needs to call InitCrashReporter() in RunZygote(). - if (process_type != switches::kZygoteProcess) { - if (command_line.HasSwitch(switches::kPreCrashpadCrashTest)) { -@@ -1600,7 +1600,7 @@ absl::variant<int, content::MainFunctionParams> Chrome - - // This entry is not needed on Linux, where the NaCl loader - // process is launched via nacl_helper instead. --#if BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(ENABLE_NACL) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) - {switches::kNaClLoaderProcess, NaClMain}, - #else - {"<invalid>", nullptr}, // To avoid constant array of size 0 diff --git a/devel/electron25/files/patch-chrome_app_chromium__strings.grd b/devel/electron25/files/patch-chrome_app_chromium__strings.grd deleted file mode 100644 index ab548af5449c..000000000000 --- a/devel/electron25/files/patch-chrome_app_chromium__strings.grd +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/app/chromium_strings.grd.orig 2023-05-25 00:41:39 UTC -+++ chrome/app/chromium_strings.grd -@@ -296,7 +296,7 @@ If you update this file, be sure also to update google - Welcome to Chromium; new browser window opened - </message> - </if> -- <if expr="is_macosx or is_linux"> -+ <if expr="is_macosx or is_posix"> - <message name="IDS_FIRST_RUN_DIALOG_WINDOW_TITLE" desc="Window title of First Run dialog on Mac and Linux, displayed in title bar"> - Welcome to Chromium - </message> -@@ -437,7 +437,7 @@ If you update this file, be sure also to update google - To get future Chromium updates, you'll need Windows 10 or later. This computer is using Windows 8.1. - </message> - </if> -- <if expr="is_linux"> -+ <if expr="is_posix"> - <message name="IDS_LINUX_OBSOLETE" desc="A message displayed on an at-launch infobar and about:help warning the user that the OS version they are using is no longer supported."> - Chromium may not function correctly because it is no longer supported on this Linux distribution - </message> diff --git a/devel/electron25/files/patch-chrome_app_generated__resources.grd b/devel/electron25/files/patch-chrome_app_generated__resources.grd deleted file mode 100644 index 514ef88a55f5..000000000000 --- a/devel/electron25/files/patch-chrome_app_generated__resources.grd +++ /dev/null @@ -1,74 +0,0 @@ ---- chrome/app/generated_resources.grd.orig 2023-05-25 00:41:39 UTC -+++ chrome/app/generated_resources.grd -@@ -2,7 +2,7 @@ - - <!-- - This file contains definitions of resources that will be translated for each --locale. The variables is_win, is_macosx, is_linux, and is_posix are available -+locale. The variables is_win, is_macosx, is_posix, and is_posix are available - for making strings OS specific. Other platform defines such as use_titlecase - are declared in tools/grit/grit_rule.gni. - --> -@@ -3258,7 +3258,7 @@ are declared in tools/grit/grit_rule.gni. - </if> - - <!-- Bluetooth Device Credentials (i.e. PIN/Passkey) dialog --> -- <if expr="is_win or is_linux"> -+ <if expr="is_win or is_posix"> - <message name="IDS_BLUETOOTH_DEVICE_CREDEN |