svn commit: r517388 - in head/devel/electron4: . files
Luca Pizzamiglio
pizzamig at FreeBSD.org
Wed Nov 13 21:40:59 UTC 2019
Author: pizzamig
Date: Wed Nov 13 21:40:56 2019
New Revision: 517388
URL: https://svnweb.freebsd.org/changeset/ports/517388
Log:
devel/electron4: Update to 4.2.12
Changes: https://github.com/electron/electron/releases/tag/v4.2.12
Changes: https://github.com/electron/electron/releases/tag/v4.2.11
Changes: https://github.com/electron/electron/releases/tag/v4.2.10
Submitted by: maintainer (via github)
Added:
head/devel/electron4/files/patch-tools_gn_base_files_file__posix.cc (contents, props changed)
head/devel/electron4/files/patch-tools_gn_base_files_file__util.h (contents, props changed)
head/devel/electron4/files/patch-tools_gn_base_files_file__util__posix.cc (contents, props changed)
head/devel/electron4/files/patch-tools_gn_base_files_scoped__file.cc (contents, props changed)
head/devel/electron4/files/patch-tools_gn_build_gen.py (contents, props changed)
head/devel/electron4/files/patch-tools_gn_tools_gn_exec__process.cc (contents, props changed)
head/devel/electron4/files/patch-tools_gn_util_sys__info.cc (contents, props changed)
Deleted:
head/devel/electron4/files/patch-tools_gn_bootstrap_bootstrap.py
Modified:
head/devel/electron4/Makefile
head/devel/electron4/distinfo
head/devel/electron4/files/package-lock.json
head/devel/electron4/files/package.json
Modified: head/devel/electron4/Makefile
==============================================================================
--- head/devel/electron4/Makefile Wed Nov 13 21:36:10 2019 (r517387)
+++ head/devel/electron4/Makefile Wed Nov 13 21:40:56 2019 (r517388)
@@ -5,10 +5,12 @@ 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-browser-official/:chromium_official \
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-${CHROMIUM_OFFICIAL_VER}${EXTRACT_SUFX}:chromium_official \
${CHROMIUM_NODE_MODULES_HASH}:chromium_node \
electron-npm-modules-${ELECTRON_VER}${EXTRACT_SUFX}:prefetch
DIST_SUBDIR= ${PORTNAME}
@@ -19,12 +21,9 @@ COMMENT= Build cross-platform desktop apps with JavaSc
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/electron/LICENSE
-BROKEN= fails to build
-
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 \
@@ -52,7 +51,7 @@ 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 xorg
+ ninja pkgconfig python:2.7,build tar:xz
CONFLICTS_INSTALL= electron5
@@ -64,7 +63,9 @@ GH_TUPLE= electron:node:8bc5d171a0873c0ba49f9433798bc8
# yaml:pyyaml:3.12:pyyaml \
# kennethreitz:requests:e4d59bedfd3c7f4f254f4f5d036587bcd8152458:requests
-ELECTRON_VER= 4.2.9
+ELECTRON_VER= 4.2.12
+# Official chromium version containing "gn" which is known to work
+CHROMIUM_OFFICIAL_VER= 76.0.3809.132
# 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
@@ -107,6 +108,7 @@ GN_ARGS+= clang_use_chrome_plugins=false \
use_system_libjpeg=true \
extra_cxxflags="${CXXFLAGS}" \
extra_ldflags="${LDFLAGS}"
+GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles
ALL_TARGET= electron
MAKE_ARGS= -C out/${BUILDTYPE}
@@ -157,7 +159,7 @@ TEST_ALL_TARGET+= third_party/electron_node:headers
POST_BUILD_TARGETS= licenses version
POST_BUILD_DIST_TARGETS= dist.zip chromedriver.zip mksnapshot.zip
-NPM_TIMESTAMP= 1565176036
+NPM_TIMESTAMP= 1573298347
PLIST_SUB= ELECTRON_VER=${ELECTRON_VER}
@@ -196,6 +198,9 @@ pre-fetch:
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_node}-${GH_TAGNAME_node} \
${WRKSRC}/third_party/${GH_ACCOUNT_node}_${GH_PROJECT_node}
@@ -233,7 +238,11 @@ pre-configure:
libxslt openh264 opus snappy yasm || ${FALSE}
do-configure:
- cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen out/${BUILDTYPE} \
+ # 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
Modified: head/devel/electron4/distinfo
==============================================================================
--- head/devel/electron4/distinfo Wed Nov 13 21:36:10 2019 (r517387)
+++ head/devel/electron4/distinfo Wed Nov 13 21:40:56 2019 (r517388)
@@ -1,13 +1,15 @@
-TIMESTAMP = 1565176191
+TIMESTAMP = 1573298479
SHA256 (electron/chromium-69.0.3497.128.tar.xz) = af2b0ee2d16255fd28c3ef23a1481eebe58d6604f238b154594072e17ac643ed
SIZE (electron/chromium-69.0.3497.128.tar.xz) = 1363607512
+SHA256 (electron/chromium-76.0.3809.132.tar.xz) = d54e4640b5e399d170dffbc5bcff65157eb1b29314b94b5d808f727d9ce45241
+SIZE (electron/chromium-76.0.3809.132.tar.xz) = 728899912
SHA256 (electron/050c85d20f7cedd7f5c39533c1ba89dcdfa56a08) = d2e12fe5e144628f70536d1fea30fa817b7639f067e69f6a9e926f7311c9ec00
SIZE (electron/050c85d20f7cedd7f5c39533c1ba89dcdfa56a08) = 4535767
-SHA256 (electron/electron-npm-modules-4.2.9.tar.xz) = dc06738638b00fec4f04254ea212f0ce292193f9e0077e5064859589dc63bf68
-SIZE (electron/electron-npm-modules-4.2.9.tar.xz) = 15033460
+SHA256 (electron/electron-npm-modules-4.2.12.tar.xz) = b738e5394f47902a5a3f37303c32e838541707b38e4cdb8d29691c582280b809
+SIZE (electron/electron-npm-modules-4.2.12.tar.xz) = 15031340
SHA256 (electron/a22de844e32a3f720d219e3911c3da3478039f89) = 6e331676d098a57c53c1250821dc47ed84c47f823901bf30c4704df90d8a34be
SIZE (electron/a22de844e32a3f720d219e3911c3da3478039f89) = 17469927
-SHA256 (electron/electron-electron-v4.2.9_GH0.tar.gz) = a710da8d07aa330d9982a2dba061c0245531bbf1eabd28a1c28259e8865c320b
-SIZE (electron/electron-electron-v4.2.9_GH0.tar.gz) = 6531752
+SHA256 (electron/electron-electron-v4.2.12_GH0.tar.gz) = cb8f69579f0db819756d931f2d1dc4fedc6469a5496ff7684d1bd699534618a9
+SIZE (electron/electron-electron-v4.2.12_GH0.tar.gz) = 6531419
SHA256 (electron/electron-node-8bc5d171a0873c0ba49f9433798bc8b67399788c_GH0.tar.gz) = bc94083d3904643f17181c83db83a1c7d6557044e957185d0d73d88e82472b90
SIZE (electron/electron-node-8bc5d171a0873c0ba49f9433798bc8b67399788c_GH0.tar.gz) = 56885474
Modified: head/devel/electron4/files/package-lock.json
==============================================================================
--- head/devel/electron4/files/package-lock.json Wed Nov 13 21:36:10 2019 (r517387)
+++ head/devel/electron4/files/package-lock.json Wed Nov 13 21:40:56 2019 (r517388)
@@ -1,6 +1,6 @@
{
"name": "electron",
- "version": "4.2.9",
+ "version": "4.2.12",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
Modified: head/devel/electron4/files/package.json
==============================================================================
--- head/devel/electron4/files/package.json Wed Nov 13 21:36:10 2019 (r517387)
+++ head/devel/electron4/files/package.json Wed Nov 13 21:40:56 2019 (r517388)
@@ -1,6 +1,6 @@
{
"name": "electron",
- "version": "4.2.9",
+ "version": "4.2.12",
"repository": "https://github.com/electron/electron",
"description": "Build cross platform desktop apps with JavaScript, HTML, and CSS",
"devDependencies": {
Added: head/devel/electron4/files/patch-tools_gn_base_files_file__posix.cc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/electron4/files/patch-tools_gn_base_files_file__posix.cc Wed Nov 13 21:40:56 2019 (r517388)
@@ -0,0 +1,11 @@
+--- tools/gn/base/files/file_posix.cc.orig 2019-08-26 19:07:16 UTC
++++ tools/gn/base/files/file_posix.cc
+@@ -414,7 +414,7 @@ void File::DoInitialize(const FilePath& path, uint32_t
+ bool File::Flush() {
+ DCHECK(IsValid());
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ return !HANDLE_EINTR(fdatasync(file_.get()));
+ #else
+ return !HANDLE_EINTR(fsync(file_.get()));
Added: head/devel/electron4/files/patch-tools_gn_base_files_file__util.h
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/electron4/files/patch-tools_gn_base_files_file__util.h Wed Nov 13 21:40:56 2019 (r517388)
@@ -0,0 +1,11 @@
+--- tools/gn/base/files/file_util.h.orig 2019-08-26 19:07:16 UTC
++++ tools/gn/base/files/file_util.h
+@@ -361,7 +361,7 @@ bool VerifyPathControlledByAdmin(const base::FilePath&
+ // the directory |path|, in the number of FilePath::CharType, or -1 on failure.
+ int GetMaximumPathComponentLength(const base::FilePath& path);
+
+-#if defined(OS_LINUX) || defined(OS_AIX)
++#if defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD)
+ // Broad categories of file systems as returned by statfs() on Linux.
+ enum FileSystemType {
+ FILE_SYSTEM_UNKNOWN, // statfs failed.
Added: head/devel/electron4/files/patch-tools_gn_base_files_file__util__posix.cc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/electron4/files/patch-tools_gn_base_files_file__util__posix.cc Wed Nov 13 21:40:56 2019 (r517388)
@@ -0,0 +1,11 @@
+--- tools/gn/base/files/file_util_posix.cc.orig 2019-08-26 19:07:16 UTC
++++ tools/gn/base/files/file_util_posix.cc
+@@ -254,7 +254,7 @@ bool ReplaceFile(const FilePath& from_path,
+ #endif // !defined(OS_NACL_NONSFI)
+
+ bool CreateLocalNonBlockingPipe(int fds[2]) {
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0;
+ #else
+ int raw_fds[2];
Added: head/devel/electron4/files/patch-tools_gn_base_files_scoped__file.cc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/electron4/files/patch-tools_gn_base_files_scoped__file.cc Wed Nov 13 21:40:56 2019 (r517388)
@@ -0,0 +1,11 @@
+--- tools/gn/base/files/scoped_file.cc.orig 2019-08-26 19:07:16 UTC
++++ tools/gn/base/files/scoped_file.cc
+@@ -30,7 +30,7 @@ void ScopedFDCloseTraits::Free(int fd) {
+ // a single open directory would bypass the entire security model.
+ int ret = IGNORE_EINTR(close(fd));
+
+-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || \
++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD) || \
+ defined(OS_ANDROID)
+ // NB: Some file descriptors can return errors from close() e.g. network
+ // filesystems such as NFS and Linux input devices. On Linux, macOS, and
Added: head/devel/electron4/files/patch-tools_gn_build_gen.py
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/electron4/files/patch-tools_gn_build_gen.py Wed Nov 13 21:40:56 2019 (r517388)
@@ -0,0 +1,33 @@
+--- tools/gn/build/gen.py.orig 2019-08-26 19:07:16 UTC
++++ tools/gn/build/gen.py
+@@ -46,7 +46,7 @@ class Platform(object):
+
+ @staticmethod
+ def known_platforms():
+- return ['linux', 'darwin', 'msvc', 'aix', 'fuchsia', 'openbsd']
++ return ['linux', 'darwin', 'msvc', 'aix', 'fuchsia', 'openbsd', 'freebsd']
+
+ def platform(self):
+ return self._platform
+@@ -69,6 +69,9 @@ class Platform(object):
+ def is_aix(self):
+ return self._platform == 'aix'
+
++ def is_freebsd(self):
++ return self._platform == 'freebsd'
++
+ def is_posix(self):
+ return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd']
+
+@@ -335,6 +338,11 @@ def WriteGNNinja(path, platform, host, options):
+ elif platform.is_aix():
+ cflags_cc.append('-maix64')
+ ldflags.append('-maix64')
++ elif platform.is_freebsd():
++ cflags.extend(['-Wno-deprecated-register', '-Wno-parentheses-equality'])
++ ldflags.extend(['-pthread'])
++ libs.extend(['-lexecinfo', '-lkvm', '-lutil'])
++ include_dirs += ['/usr/local/include']
+
+ if platform.is_posix():
+ ldflags.append('-pthread')
Added: head/devel/electron4/files/patch-tools_gn_tools_gn_exec__process.cc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/electron4/files/patch-tools_gn_tools_gn_exec__process.cc Wed Nov 13 21:40:56 2019 (r517388)
@@ -0,0 +1,13 @@
+--- tools/gn/tools/gn/exec_process.cc.orig 2019-08-26 19:07:16 UTC
++++ tools/gn/tools/gn/exec_process.cc
+@@ -29,6 +29,10 @@
+ #include "base/posix/file_descriptor_shuffle.h"
+ #endif
+
++#if defined(OS_BSD)
++#include <signal.h>
++#endif
++
+ namespace internal {
+
+ #if defined(OS_WIN)
Added: head/devel/electron4/files/patch-tools_gn_util_sys__info.cc
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/electron4/files/patch-tools_gn_util_sys__info.cc Wed Nov 13 21:40:56 2019 (r517388)
@@ -0,0 +1,11 @@
+--- tools/gn/util/sys_info.cc.orig 2019-08-26 19:07:16 UTC
++++ tools/gn/util/sys_info.cc
+@@ -28,6 +28,8 @@ std::string 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";
+ }
More information about the svn-ports-all
mailing list