Commit 7ae700af authored by pizzamig's avatar pizzamig
Browse files

devel/electron4: Add electron 4.2.2

Finally, after a long wait, an electron port for FreeBSD lands in the
portstree.

A huge thanks to everyone contributed to this huge effort and to the
maintainer that is willing to take the burden of the maintainership!
parent d6b3520c
......@@ -512,6 +512,7 @@
SUBDIR += efl
SUBDIR += egypt
SUBDIR += eiffelstudio
SUBDIR += electron4
SUBDIR += elf
SUBDIR += elfio
SUBDIR += elfkickers
......
# $FreeBSD$
PORTNAME= electron
DISTVERSIONPREFIX= v
DISTVERSION= ${ELECTRON_VER:S/-beta./.b/}
CATEGORIES= devel
MASTER_SITES= https://github.com/tagattie/FreeBSD-Electron/releases/download/v4.1.0/:chromium \
https://commondatastorage.googleapis.com/chromium-nodejs/:chromium_node \
https://commondatastorage.googleapis.com/chromium-fonts/:chromium_testfonts
PKGNAMESUFFIX= 4
DISTFILES= chromium-${CHROMIUM_VER}${EXTRACT_SUFX}:chromium \
${CHROMIUM_NODE_MODULES_HASH}:chromium_node \
electron-npm-modules-${ELECTRON_VER}${EXTRACT_SUFX}:prefetch
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= tagattie@yandex.com
COMMENT= Build cross-platform desktop apps with JavaScript, HTML, and CSS
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/electron/LICENSE
FETCH_DEPENDS= npm:www/npm-node10
PATCH_DEPENDS= git:devel/git
BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils \
gn:devel/chromium-gn \
gperf:devel/gperf \
yasm:devel/yasm \
${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
node:www/node10 \
npm:www/npm-node10
LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \
libsnappy.so:archivers/snappy \
libFLAC.so:audio/flac \
libopus.so:audio/opus \
libdbus-1.so:devel/dbus \
libnotify.so:devel/libnotify \
libpci.so:devel/libpci \
libnspr4.so:devel/nspr \
libdrm.so:graphics/libdrm \
libwebp.so:graphics/webp \
libavcodec.so:multimedia/ffmpeg \
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 \
libfontconfig.so:x11-fonts/fontconfig
RUN_DEPENDS= xdg-open:devel/xdg-utils
TEST_DEPENDS= npm:www/npm-node10
USES= bison dos2unix gettext-tools gl gnome jpeg localbase:ldflags \
ninja pkgconfig python:2.7,build tar:xz
CONFLICTS_INSTALL= electron5
USE_GITHUB= yes
GH_TAGNAME= ${DISTVERSIONPREFIX}${ELECTRON_VER}
# See ${WRKSRC}/electron/DEPS for GH_TAGNAME_node
GH_TUPLE= electron:node:8bc5d171a0873c0ba49f9433798bc8b67399788c:node
# boto:boto:f7574aa6cc2c819430c1f05e9a1a1a666ef8169b:boto \
# yaml:pyyaml:3.12:pyyaml \
# kennethreitz:requests:e4d59bedfd3c7f4f254f4f5d036587bcd8152458:requests
ELECTRON_VER= 4.2.2
# See ${WRKSRC}/electron/DEPS for CHROMIUM_VER
CHROMIUM_VER= 69.0.3497.128
# See ${WRKSRC}/third_party/node/node_modules.tar.gz.sha1 for CHROMIUM_NODE_MODULES_HASH
CHROMIUM_NODE_MODULES_HASH= 050c85d20f7cedd7f5c39533c1ba89dcdfa56a08
# See ${WRKSRC}/third_party/test_fonts/test_fonts.tar.gz.sha1 for CHROMIUM_TEST_FONTS_HASH
CHROMIUM_TEST_FONTS_HASH= a22de844e32a3f720d219e3911c3da3478039f89
NO_WRKSUBDIR= yes
WRKSRC_SUBDIR= src
DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h
BINARY_ALIAS= python=${PYTHON_CMD}
USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xrandr \
xrender xscrnsaver xtst
USE_GL= gl glesv2
USE_GNOME= atk cairo pango gdkpixbuf2 gtk30 libxml2 libxslt
USE_LDCONFIG= ${DATADIR}
GN_ARGS+= clang_use_chrome_plugins=false \
enable_hangout_services_extension=true \
enable_nacl=false \
enable_remoting=false \
fieldtrial_testing_like_official_build=true \
is_clang=true \
jumbo_file_merge_limit=8 \
toolkit_views=true \
treat_warnings_as_errors=false \
use_allocator="none" \
use_allocator_shim=false \
use_aura=true \
use_bundled_fontconfig=false \
use_custom_libcxx=false \
use_gnome_keyring=false \
use_jumbo_build=true \
use_lld=true \
use_sysroot=false \
use_system_freetype=true \
use_system_harfbuzz=true \
use_system_libjpeg=true \
extra_cxxflags="${CXXFLAGS}" \
extra_ldflags="${LDFLAGS}"
ALL_TARGET= electron licenses version
MAKE_ARGS= -C out/${BUILDTYPE}
MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \
CPLUS_INCLUDE_PATH=${LOCALBASE}/include
OPTIONS_DEFINE= CUPS DEBUG DIST DRIVER KERBEROS TEST
DIST_DESC= Build distribution zip files
DRIVER_DESC= Install chromedriver
OPTIONS_GROUP= AUDIO
OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO
OPTIONS_DEFAULT= CUPS DRIVER KERBEROS ALSA
OPTIONS_SUB= yes
.if make(makesum)
.MAKEFLAGS: WITH="${OPTIONS_DEFINE}"
.endif
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins
ALSA_VARS= GN_ARGS+=use_alsa=true
ALSA_VARS_OFF= GN_ARGS+=use_alsa=false
CUPS_LIB_DEPENDS= libcups.so:print/cups
CUPS_VARS= GN_ARGS+=use_cups=true
CUPS_VARS_OFF= GN_ARGS+=use_cups=false
DEBUG_VARS= BUILDTYPE=Debug \
GN_ARGS+=is_component_build=false
DEBUG_VARS_OFF= BUILDTYPE=Release
DIST_ALL_TARGET= dist.zip chromedriver.zip mksnapshot.zip
DIST_IMPLIES= DRIVER
DRIVER_ALL_TARGET= chromedriver
KERBEROS_VARS= GN_ARGS+=use_kerberos=true
KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true
PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false
.include "Makefile.tests"
TEST_DISTFILES= ${CHROMIUM_TEST_FONTS_HASH}:chromium_testfonts
TEST_ALL_TARGET= ${TEST_TARGETS}
TEST_ALL_TARGET+= third_party/electron_node:headers
NPM_TIMESTAMP= 1558165815
pre-fetch:
@${MKDIR} ${DISTDIR}/${DIST_SUBDIR}
if [ ! -f ${DISTDIR}/${DIST_SUBDIR}/electron-npm-modules-${ELECTRON_VER}${EXTRACT_SUFX} ]; \
then ${MKDIR} ${WRKDIR}/npm-cache; \
${CP} ${FILESDIR}/package.json \
${FILESDIR}/package-lock.json ${WRKDIR}/npm-cache; \
cd ${WRKDIR}/npm-cache && \
${SETENV} HOME=${WRKDIR} npm ci --verbose --no-progress && \
${MV} node_modules npm_modules; \
${MTREE_CMD} -cbnSp npm_modules | ${MTREE_CMD} -C | ${SED} \
-e 's:time=[0-9.]*:time=${NPM_TIMESTAMP}.000000000:' \
-e 's:\([gu]id\)=[0-9]*:\1=0:g' \
-e 's:flags=.*:flags=none:' \
-e 's:^\.:./npm_modules:' > npm_modules.mtree; \
${TAR} cJf ${DISTDIR}/${DIST_SUBDIR}/electron-npm-modules-${ELECTRON_VER}${EXTRACT_SUFX} \
@npm_modules.mtree; \
${RM} -r ${WRKDIR}/npm-cache; \
fi
post-extract:
${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_node}-${GH_TAGNAME_node} \
${WRKSRC}/third_party/${GH_ACCOUNT_node}_${GH_PROJECT_node}
# ${RMDIR} ${WRKSRC}/electron/vendor/${GH_PROJECT_boto}
# ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_boto}-${GH_TAGNAME_boto} \
# ${WRKSRC}/electron/vendor/${GH_PROJECT_boto}
# ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_pyyaml}-${GH_TAGNAME_pyyaml} \
# ${WRKSRC}/electron/vendor/${GH_PROJECT_pyyaml}
# ${RMDIR} ${WRKSRC}/electron/vendor/${GH_PROJECT_requests}
# ${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/${GH_PROJECT_requests}-${GH_TAGNAME_requests} \
# ${WRKSRC}/electron/vendor/${GH_PROJECT_requests}
${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/node_modules ${WRKSRC}/third_party/node
${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/npm_modules ${WRKSRC}/electron/node_modules
post-extract-TEST-on:
${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/test_fonts ${WRKSRC}/third_party/test_fonts
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:
# cd ${WRKSRC}/electron/vendor/${GH_PROJECT_boto} && \
# ${PYTHON_CMD} setup.py build
# cd ${WRKSRC}/electron/vendor/${GH_PROJECT_requests} && \
# ${PYTHON_CMD} setup.py build
# 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 \
ffmpeg flac freetype harfbuzz-ng libdrm libusb libwebp libxml \
libxslt openh264 opus snappy yasm || ${FALSE}
do-configure:
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen out/${BUILDTYPE} \
--args='import("//electron/build/args/${BUILDTYPE:tl}.gn") ${GN_ARGS}'
# Setup nodejs dependency
${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin
${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin/node
# do-build:
# cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ninja -C out/${BUILDTYPE} ${ALL_TARGET}
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 libVkICD_mock_icd.so
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
.endfor
${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader
.for f in libEGL.so libGLESv2.so
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/swiftshader/${f} ${STAGEDIR}${DATADIR}/swiftshader
.endfor
.for f in LICENSE LICENSES.chromium.html icudtl.dat natives_blob.bin snapshot_blob.bin v8_context_snapshot.bin version
${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 electron.asar
${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/resources/${f} ${STAGEDIR}${DATADIR}/resources
.endfor
${RLN} ${STAGEDIR}${DATADIR}/electron ${STAGEDIR}${PREFIX}/bin
post-install-DRIVER-on:
${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver ${STAGEDIR}${DATADIR}
do-test-TEST-on:
# chromium unit tests
# .for t in ${TEST_ALL_TARGET}
# cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \
# ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE}
# .endfor
# electron unit tests
# Note 1: "npm install" will run before actual tests are executed
# Note 2: Xvfb or something similar is necessary for headless testing
.for t in ${TEST_MODULES}
cd ${WRKSRC}/electron && \
${SETENV} ${TEST_ENV} ELECTRON_OUT_DIR=${BUILDTYPE} \
npm run test -- --ci -g '${t}' || ${TRUE}
.endfor
.include <bsd.port.mk>
# $FreeBSD$
TEST_TARGETS= base_unittests \
chromedriver_unittests \
crypto_unittests \
printing_unittests \
url_unittests
# capture_unittests \
# cc_unittests \
# compositor_unittests \
# content_unittests \
# dbus_unittests \
# display_unittests \
# events_unittests \
# gin_unittests \
# gl_unittests \
# gpu_unittests \
# headless_unittests \
# media_unittests \
# media_mojo_unittests \
# midi_unittests \
# mojo_unittests \
# net_unittests \
# ppapi_unittests \
# skia_unittests \
# sql_unittests \
# storage_unittests \
# ui_base_unittests \
# url_ipc_unittests \
# unittests \
TEST_MODULES= electron\ module \
app\ module \
autoUpdater\ module \
BrowserView\ module \
BrowserWindow\ with\ affinity\ module \
BrowserWindow\ module \
CallbacksRegistry\ module \
clipboard\ module \
contentTracing \
debugger\ module \
deprecations \
desktopCapturer \
dialog\ module \
globalShortcut\ module \
ipc\ main\ module \
ipc\ renderer\ module \
MenuItems \
Menu\ module \
nativeImage\ module \
netLog\ module \
net\ module \
Notification\ module \
powerMonitor \
powerSaveBlocker\ module \
process\ module \
protocol\ module \
remote\ module \
screen\ module \
session\ module \
shell\ module \
systemPreferences\ module \
TouchBar\ module \
tray\ module \
View \
webContents\ module \
WebContentsView \
webFrame\ module \
webRequest\ module \
asar\ package \
chromium\ feature \
modules\ support \
node\ feature \
security\ warnings \
<webview>\ tag
# crashReporter\ module \
# inAppPurchase\ module \
TIMESTAMP = 1558659133
SHA256 (electron/chromium-69.0.3497.128.tar.xz) = af2b0ee2d16255fd28c3ef23a1481eebe58d6604f238b154594072e17ac643ed
SIZE (electron/chromium-69.0.3497.128.tar.xz) = 1363607512
SHA256 (electron/050c85d20f7cedd7f5c39533c1ba89dcdfa56a08) = d2e12fe5e144628f70536d1fea30fa817b7639f067e69f6a9e926f7311c9ec00
SIZE (electron/050c85d20f7cedd7f5c39533c1ba89dcdfa56a08) = 4535767
SHA256 (electron/electron-npm-modules-4.2.2.tar.xz) = eddd4bfc2ff327022472fbea884867501bd92d239008beb626bf45525cd6d767
SIZE (electron/electron-npm-modules-4.2.2.tar.xz) = 15029072
SHA256 (electron/a22de844e32a3f720d219e3911c3da3478039f89) = 6e331676d098a57c53c1250821dc47ed84c47f823901bf30c4704df90d8a34be
SIZE (electron/a22de844e32a3f720d219e3911c3da3478039f89) = 17469927
SHA256 (electron/electron-electron-v4.2.2_GH0.tar.gz) = 4df4e851d5f6fb2a38460618e2bdcc00542debaadca6b38da40f334de6aff616
SIZE (electron/electron-electron-v4.2.2_GH0.tar.gz) = 6494168
SHA256 (electron/electron-node-8bc5d171a0873c0ba49f9433798bc8b67399788c_GH0.tar.gz) = bc94083d3904643f17181c83db83a1c7d6557044e957185d0d73d88e82472b90
SIZE (electron/electron-node-8bc5d171a0873c0ba49f9433798bc8b67399788c_GH0.tar.gz) = 56885474
#! /bin/sh
PATH=/bin:/usr/bin:/usr/local/bin
PATCH_CMD="git apply"
#PATCH_FLAGS="--numstat --check" # for debugging
PATCH_FLAGS="--verbose --reject"
WRKSRC=$1
PATCH_CONF=${WRKSRC}/electron/patches/common/config.json
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}" && \
while read -r p; do
${PATCH_CMD} ${PATCH_FLAGS} "${WRKSRC}/${pd}/${p}"
done < "${WRKSRC}/${pd}/.patches")
done
This diff is collapsed.
{
"name": "electron",
"version": "4.2.2",
"repository": "https://github.com/electron/electron",
"description": "Build cross platform desktop apps with JavaScript, HTML, and CSS",
"devDependencies": {
"aliasify": "^2.1.0",
"asar": "^0.11.0",
"browserify": "^13.1.0",
"check-for-leaks": "^1.0.2",
"clang-format": "^1.2.3",
"colors": "^1.1.2",
"dotenv-safe": "^4.0.4",
"dugite": "^1.45.0",
"electabul": "~0.0.4",
"electron-docs-linter": "^2.4.0",
"electron-typescript-definitions": "^2.1.1",
"eslint": "^5.6.0",
"eslint-config-standard": "^12.0.0",
"eslint-plugin-mocha": "^5.2.0",
"folder-hash": "^2.1.1",
"github": "^9.2.0",
"html-entities": "^1.2.1",
"husky": "^0.14.3",
"lint": "^1.1.2",
"minimist": "^1.2.0",
"node-fetch": "^2.1.2",
"nugget": "^2.0.1",
"octicons": "^7.3.0",
"recursive-readdir": "^2.2.2",
"remark-cli": "^4.0.0",
"remark-preset-lint-markdown-style-guide": "^2.1.1",
"request": "^2.88.0",
"semver": "^5.5.0",
"serve": "^6.5.8",
"standard-markdown": "^5.0.0",
"sumchecker": "^2.0.2",
"temp": "^0.8.3"
},
"private": true,
"scripts": {
"asar": "asar",
"browserify": "browserify",
"bump-version": "./script/bump-version.py",
"check-tls": "python ./script/tls.py",
"clang-format": "find atom/ brightray/ chromium_src/ -iname *.h -o -iname *.cc -o -iname *.mm | xargs clang-format -i",
"lint": "node ./script/lint.js && npm run lint:clang-format && npm run lint:docs",
"lint:js": "node ./script/lint.js --js",
"lint:clang-format": "python script/run-clang-format.py -r -c atom/ chromium_src/ brightray/ || (echo \"\\nCode not formatted correctly.\" && exit 1)",
"lint:cpp": "node ./script/lint.js --cc",
"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:docs-relative-links",
"lint:docs-relative-links": "python ./script/check-relative-doc-links.py",
"lint:js-in-markdown": "standard-markdown docs",
"create-api-json": "electron-docs-linter docs --outfile=electron-api.json",
"create-typescript-definitions": "npm run create-api-json && electron-typescript-definitions --in=electron-api.json --out=electron.d.ts",
"preinstall": "node -e 'process.exit(0)'",
"precommit": "python script/run-clang-format.py -r -c atom/ chromium_src/ brightray/ && node ./script/lint.js -c && remark docs -qf || (echo \"Code not formatted correctly.\" && exit 1)",
"prepack": "check-for-leaks",
"prepush": "check-for-leaks",
"repl": "node ./script/start.js --interactive",
"start": "node ./script/start.js",
"test": "node ./script/spec-runner.js electron/spec"
},
"license": "MIT",
"author": "Electron Community",
"keywords": [
"electron"
],
"aliasify": {
"replacements": {
"@electron/internal/(.+)": "./lib/$1"
}
}
}
--- BUILD.gn.orig 2019-03-15 06:36:52 UTC
+++ BUILD.gn
@@ -354,7 +354,7 @@ group("gn_all") {
[ "//third_party/android_crazy_linker:android_crazy_linker_zip_fuzzer" ]
}
- if (is_linux || is_android) {
+ if ((is_linux && !is_bsd) || is_android) {
deps += [
"//third_party/breakpad:breakpad_unittests",
"//third_party/breakpad:core-2-minidump",
@@ -396,8 +396,6 @@ group("gn_all") {
"//net:disk_cache_memory_test",
"//net:quic_client",
"//net:quic_server",
- "//sandbox/linux:chrome_sandbox",
- "//sandbox/linux:sandbox_linux_unittests",
"//testing:empty_main",
]
@@ -454,10 +452,6 @@ group("gn_all") {
"//chrome/test/chromedriver:chromedriver",
"//chrome/test/chromedriver:chromedriver_tests",
"//components/sync:run_sync_testserver",
- "//courgette:courgette",
- "//courgette:courgette_fuzz",
- "//courgette:courgette_minimal_tool",
- "//courgette:courgette_unittests",
"//media/cast:generate_barcode_video",
"//media/cast:generate_timecode_audio",
"//net:crash_cache",
@@ -513,10 +507,6 @@ group("gn_all") {
"//mojo:mojo_perftests",
"//services/service_manager/public/cpp",
"//testing/gmock:gmock_main",
- "//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_android) {
@@ -593,7 +583,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)" ]
}
@@ -819,7 +809,6 @@ if (is_chromeos) {
"//ppapi/examples/video_decode",
"//sandbox/linux:chrome_sandbox",
"//sandbox/linux:sandbox_linux_unittests",
- "//third_party/breakpad:minidump_stackwalk($host_toolchain)",
# Blocked on https://github.com/catapult-project/catapult/issues/2297
#"//third_party/catapult/telemetry:bitmaptools",
@@ -942,7 +931,7 @@ if (!is_ios) {
]
}
- if (!is_win && !is_android) {
+ if (!is_win && !is_android && !is_bsd) {
data_deps +=
[ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
}
@@ -951,7 +940,7 @@ if (!is_ios) {
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
}
- if (is_linux) {
+ if (is_linux && !is_bsd) {
data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
}
@@ -1076,9 +1065,6 @@ group("chromium_builder_perf") {
if (is_win) {
data_deps += [ "//chrome/installer/mini_installer:mini_installer" ]
- } else {
- data_deps +=
- [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
}
if (is_win || is_android) {
data_deps += [
--- apps/ui/views/app_window_frame_view.cc.orig 2019-03-15 06:36:53 UTC
+++ apps/ui/views/app_window_frame_view.cc
@@ -132,7 +132,7 @@ gfx::Rect AppWindowFrameView::GetBoundsForClientView()
gfx::Rect AppWindowFrameView::GetWindowBoundsForClientBounds(
const gfx::Rect& client_bounds) const {
gfx::Rect window_bounds = client_bounds;
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)
// 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 =
--- ash/display/mirror_window_controller.cc.orig 2019-03-15 06:36:54 UTC
+++ ash/display/mirror_window_controller.cc
@@ -255,7 +255,11 @@ void MirrorWindowController::UpdateWindow(
return info.id() == iter->first;
}) == display_info_list.end()) {
CloseAndDeleteHost(iter->second, true);
+#if defined(__llvm__)
+ mirroring_host_info_map_.erase(iter++);
+#else
iter = mirroring_host_info_map_.erase(iter);
+#endif
} else {
++iter;
}
--- base/BUILD.gn.orig 2019-03-16 09:15:20 UTC
+++ base/BUILD.gn
@@ -1248,7 +1248,7 @@ jumbo_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 ((is_android || (is_linux && !is_chromecast)) &&
+ if ((is_android || (is_linux && !is_chromecast) && !is_clang) &&
host_toolchain != "//build/toolchain/cros:host") {
libs += [ "atomic" ]
}
@@ -1274,7 +1274,7 @@ jumbo_component("base") {
"allocator/allocator_shim_override_glibc_weak_symbols.h",
]
deps += [ "//base/allocator:tcmalloc" ]
- } else if (is_linux && use_allocator == "none") {
+ } else if ((is_linux && !is_bsd) && use_allocator == "none") {
sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ]
} else if (is_android && use_allocator == "none") {
sources += [
@@ -1704,6 +1704,33 @@ jumbo_component("base") {
}