Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Nov 2019 21:40:57 +0000 (UTC)
From:      Luca Pizzamiglio <pizzamig@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r517388 - in head/devel/electron4: . files
Message-ID:  <201911132140.xADLev5L067579@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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";
+   }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201911132140.xADLev5L067579>