Commit 6e4b094a authored by ehaupt's avatar ehaupt
Browse files

Add electron7 7.1.14, build cross-platform desktop apps with JavaScript,

HTML, and CSS.
parent 9922b43c
......@@ -520,6 +520,7 @@
SUBDIR += eiffelstudio
SUBDIR += electron4
SUBDIR += electron6
SUBDIR += electron7
SUBDIR += elf
SUBDIR += elfio
SUBDIR += elfkickers
......
# $FreeBSD$
PORTNAME= electron
DISTVERSIONPREFIX= v
DISTVERSION= ${ELECTRON_VER:S/-beta./.b/}
CATEGORIES= devel java
MASTER_SITES= https://github.com/tagattie/FreeBSD-Electron/releases/download/v7.1.5/:chromium \
https://commondatastorage.googleapis.com/chromium-browser-official/:chromium_official \
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-${CHROMIUM_OFFICIAL_VER}${EXTRACT_SUFX}:chromium_official \
${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@yandex.com
COMMENT= Build cross-platform desktop apps with JavaScript, HTML, and CSS
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/electron/LICENSE
FETCH_DEPENDS= yarn:www/yarn-node12
EXTRACT_DEPENDS= yarn:www/yarn-node12
PATCH_DEPENDS= git:devel/git
BUILD_DEPENDS= ${LOCALBASE}/bin/ar:devel/binutils \
gperf:devel/gperf \
yasm:devel/yasm \
${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
node:www/node12 \
npm:www/npm-node12
LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \
libatspi.so:accessibility/at-spi2-core \
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 \
libre2.so:devel/re2 \
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= git:devel/git \
${PYTHON_PKGNAMEPREFIX}python-dbusmock>0:devel/py-python-dbusmock@${PY_FLAVOR} \
npm:www/npm-node12
USES= bison dos2unix gettext-tools gl gnome jpeg localbase:ldflags \
ninja pkgconfig python:2.7,build,test tar:xz xorg
USE_GITHUB= yes
GH_TAGNAME= ${DISTVERSIONPREFIX}${ELECTRON_VER}
GH_TUPLE= nodejs:node:v${NODE_VER}:node \
nodejs:nan:${NAN_VER}:nan
# boto:boto:f7574aa6cc2c819430c1f05e9a1a1a666ef8169b:boto \
# yaml:pyyaml:3.12:pyyaml \
# kennethreitz:requests:e4d59bedfd3c7f4f254f4f5d036587bcd8152458:requests
# Official chromium version containing "gn" which is known to work
CHROMIUM_OFFICIAL_VER= 78.0.3904.108
# See ${WRKSRC}/electron/DEPS for CHROMIUM_VER
CHROMIUM_VER= 78.0.3904.130
# See ${WRKSRC}/third_party/node/node_modules.tar.gz.sha1 for CHROMIUM_NODE_MODULES_HASH
CHROMIUM_NODE_MODULES_HASH= ab7f28fee456b5af5fbd3fcb5bcc7c61420788c9
# See ${WRKSRC}/third_party/test_fonts/test_fonts.tar.gz.sha1 for CHROMIUM_TEST_FONTS_HASH
CHROMIUM_TEST_FONTS_HASH= a22de844e32a3f720d219e3911c3da3478039f89
# See ${WRKSRC}/electron/DEPS for NODE_VER
NODE_VER= 12.8.1
# See ${WRKSRC}/electron/DEPS for NAN_VER
NAN_VER= 2ee313aaca52e2b478965ac50eb5082520380d1b
NO_WRKSUBDIR= yes
WRKSRC_SUBDIR= src
DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
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_JAVA= yes
JAVA_VERSION= 1.8
JAVA_BUILD= yes
USE_LDCONFIG= ${DATADIR}
GN_ARGS+= clang_use_chrome_plugins=false \
enable_hangout_services_extension=true \
enable_nacl=false \
enable_one_click_signin=true \
enable_remoting=false \
fieldtrial_testing_like_official_build=true \
is_clang=true \
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}"
GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles
ALL_TARGET= electron third_party/electron_node:headers
MAKE_ARGS= -C out/${BUILDTYPE}
MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \
CPLUS_INCLUDE_PATH=${LOCALBASE}/include
OPTIONS_DEFINE= CUPS DEBUG DIST DRIVER KERBEROS
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
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_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
POST_BUILD_TARGETS= licenses version
POST_BUILD_DIST_TARGETS= electron_dist_zip electron_chromedriver_zip electron_mksnapshot_zip
YARN_TIMESTAMP= 1583472449
PLIST_SUB= ELECTRON_VER=${ELECTRON_VER} \
ELECTRON_VER_MAJOR=${ELECTRON_VER_MAJOR}
.include "Makefile.version"
.include <bsd.port.pre.mk>
.if ${ARCH} == "amd64"
PLIST_SUB+= AMD64=""
.else
PLIST_SUB+= AMD64="@comment "
.endif
.if ${ARCH} == "i386"
PLIST_SUB+= I386=""
.else
PLIST_SUB+= I386="@comment "
.endif
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: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:
${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_VER} ${WRKSRC}
${RM} -r ${WRKSRC}/tools/gn
${MV} ${WRKDIR}/${PORTNAME}-${ELECTRON_VER}/chromium-${CHROMIUM_OFFICIAL_VER}/tools/gn \
${WRKSRC}/tools/gn
${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}/yarn-offline-cache ${WRKDIR}
${ECHO_CMD} 'yarn-offline-mirror "../../../yarn-offline-cache"' >> ${WRKSRC}/electron/.yarnrc
cd ${WRKSRC}/electron && \
${SETENV} HOME=${WRKDIR} XDG_CACHE_HOME=${WRKDIR}/.cache yarn --frozen-lockfile --offline
# ${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}/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:
# 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/${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
# Setup java dependency
${MKDIR} ${WRKDIR}/bin
${LN} -sf ${LOCALBASE}/openjdk8/bin/java ${WRKDIR}/bin/java
# do-build:
# cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ninja -C out/${BUILDTYPE} ${ALL_TARGET}
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
${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR}
.endfor
${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader
.for f in libEGL.so libGLESv2.so libvk_swiftshader.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
${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/resources/${f} ${STAGEDIR}${DATADIR}/resources
.endfor
cd ${WRKSRC}/out/${BUILDTYPE}/gen && ${COPYTREE_SHARE} node_headers ${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 ${STAGEDIR}${DATADIR}
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>
# $FreeBSD$
ELECTRON_VER= 7.1.14
ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//}
TIMESTAMP = 1583473295
SHA256 (electron/chromium-78.0.3904.130.tar.xz) = 6f9656a345e8cd4938520a70d1979672190f386ac710421be8d32cb542008fc2
SIZE (electron/chromium-78.0.3904.130.tar.xz) = 1405077664
SHA256 (electron/chromium-78.0.3904.108.tar.xz) = f9c53839f306d2973de27723360024f7904101d426b9e7e9cdb56e8bcc775b0e
SIZE (electron/chromium-78.0.3904.108.tar.xz) = 742906260
SHA256 (electron/ab7f28fee456b5af5fbd3fcb5bcc7c61420788c9) = a45b953ebd15f4f13f1e0c675ccf59e9ed0352049497c4bea0111dbc2c9a5997
SIZE (electron/ab7f28fee456b5af5fbd3fcb5bcc7c61420788c9) = 4593699
SHA256 (electron/a22de844e32a3f720d219e3911c3da3478039f89) = 6e331676d098a57c53c1250821dc47ed84c47f823901bf30c4704df90d8a34be
SIZE (electron/a22de844e32a3f720d219e3911c3da3478039f89) = 17469927
SHA256 (electron/electron-yarn-cache-7.1.14.tar.xz) = e644591cc785c3a9f3057e7b05028371881de3fb8a354c4cb85fa30f4cbd8ac1
SIZE (electron/electron-yarn-cache-7.1.14.tar.xz) = 24834332
SHA256 (electron/electron-electron-v7.1.14_GH0.tar.gz) = 19cfa14b74f8180731334dfb2efe5725f4d9f7d35b708051352ecbee9de499cd
SIZE (electron/electron-electron-v7.1.14_GH0.tar.gz) = 5391932
SHA256 (electron/nodejs-node-v12.8.1_GH0.tar.gz) = 11648d586f68ee5fc38e4cadf3974541aac4a67709fa028e9075aff42e28d9b9
SIZE (electron/nodejs-node-v12.8.1_GH0.tar.gz) = 72104419
SHA256 (electron/nodejs-nan-2ee313aaca52e2b478965ac50eb5082520380d1b_GH0.tar.gz) = e6d0727f2f33d6c0fdbee3182543cb23679551dc15318cc8a2489901eabe9915
SIZE (electron/nodejs-nan-2ee313aaca52e2b478965ac50eb5082520380d1b_GH0.tar.gz) = 173099
#! /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/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
{
"name": "electron",
"version": "7.1.14",
"repository": "https://github.com/electron/electron",
"description": "Build cross platform desktop apps with JavaScript, HTML, and CSS",
"devDependencies": {
"@electron/docs-parser": "^0.4.2",
"@electron/typescript-definitions": "^8.6.4",
"@octokit/rest": "^16.3.2",
"@primer/octicons": "^9.1.1",
"@types/chai": "^4.1.7",
"@types/chai-as-promised": "^7.1.0",
"@types/express": "^4.16.1",
"@types/fs-extra": "^5.0.5",
"@types/mocha": "^5.2.6",
"@types/node": "^12.0.10",
"@types/semver": "^6.0.1",
"@types/split": "^1.0.0",
"@types/webpack": "^4.4.32",
"@types/webpack-env": "^1.13.9",
"@typescript-eslint/eslint-plugin": "^1.4.2",
"@typescript-eslint/parser": "^1.4.2",
"asar": "^1.0.0",
"check-for-leaks": "^1.2.1",
"colors": "^1.1.2",
"dotenv-safe": "^4.0.4",
"dugite": "^1.45.0",
"eslint": "^5.13.0",
"eslint-config-standard": "^12.0.0",
"eslint-plugin-import": "^2.17.2",
"eslint-plugin-mocha": "^5.2.0",
"eslint-plugin-node": "^8.0.1",
"eslint-plugin-standard": "^4.0.0",
"eslint-plugin-typescript": "^0.14.0",
"express": "^4.16.4",
"folder-hash": "^2.1.1",
"fs-extra": "^7.0.1",
"husky": "^2.2.0",
"klaw": "^3.0.0",
"lint": "^1.1.2",
"lint-staged": "^8.1.0",
"minimist": "^1.2.0",
"nugget": "^2.0.1",
"pre-flight": "^1.1.0",
"remark-cli": "^4.0.0",
"remark-preset-lint-markdown-style-guide": "^2.1.1",
"request": "^2.88.0",
"semver": "^5.6.0",
"shx": "^0.3.2",
"standard-markdown": "^5.0.0",
"sumchecker": "^2.0.2",
"tap-xunit": "^2.4.1",
"temp": "^0.8.3",
"timers-browserify": "1.4.2",
"ts-loader": "^6.0.2",
"ts-node": "^6.0.3",
"typescript": "^3.5.2",
"webpack": "^4.32.2",
"webpack-cli": "^3.3.2"
},
"private": true,
"scripts": {
"asar": "asar",
"generate-version-json": "node script/generate-version-json.js",
"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/ || (echo \"\\nCode not formatted correctly.\" && exit 1)",
"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:docs-relative-links && npm run lint:check-trailing-whitespace",
"lint:docs-relative-links": "python ./script/check-relative-doc-links.py",
"lint:check-trailing-whitespace": "python ./script/check-trailing-whitespace.py",
"lint:js-in-markdown": "standard-markdown docs",
"create-api-json": "electron-docs-parser --dir=./",
"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",
"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": "node build/webpack/run-compiler"
},
"license": "MIT",
"author": "Electron Community",
"keywords": [
"electron"
],
"husky": {
"hooks": {
"pre-commit": "lint-staged",
"pre-push": "check-for-leaks"
}
},
"lint-staged": {
"*.{js,ts}": [
"node script/lint.js --js --fix --only --",
"git add"
],
"*.{js,ts,d.ts}": [
"node script/gen-filenames.js",
"git add"
],
"*.{cc,mm,c,h}": [
"python script/run-clang-format.py -r -c --fix",
"git add"
],
"*.md": [
"remark -qf"
],
"*.{gn,gni}": [
"python script/run-gn-format.py",
"git add"
],
"*.py": [
"node script/lint.js --py --fix --only --",
"git add"
],
"docs/api/**/*.md": [
"node script/gen-filenames.js",
"python script/check-trailing-whitespace.py --fix",
"git add filenames.auto.gni"
]
}
}
--- BUILD.gn.orig 2019-12-12 12:38:54 UTC
+++ BUILD.gn
@@ -404,7 +404,7 @@ group("gn_all") {
]
}
- if (is_linux || is_android) {
+ if ((is_linux && !is_bsd) || is_android) {
deps += [
"//third_party/breakpad:breakpad_unittests",
"//third_party/breakpad:core-2-minidump",
@@ -445,8 +445,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",
]
@@ -501,10 +499,6 @@ group("gn_all") {
"//chrome/test:load_library_perf_tests",
"//chrome/test:sync_performance_tests",
"//chrome/test/chromedriver:chromedriver",
- "//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",
@@ -560,10 +554,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) {
@@ -637,7 +627,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)" ]
}
@@ -776,7 +766,6 @@ group("gn_all") {
"//chrome/browser/vr:vr_common_perftests",
"//chrome/browser/vr:vr_common_unittests",
"//chrome/browser/vr:vr_pixeltests",
- "//tools/perf/contrib/vr_benchmarks:vr_perf_tests",
]
if (is_desktop_linux && use_ozone) {
deps += [ "//chrome/browser/vr/testapp:vr_testapp" ]
@@ -896,7 +885,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",
@@ -1065,7 +1053,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)" ]
}
@@ -1074,7 +1062,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)" ]
}
@@ -1216,9 +1204,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-12-12 12:38:55 UTC
+++ apps/ui/views/app_window_frame_view.cc
@@ -125,7 +125,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)