Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Jan 2020 20:57:06 +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: r524445 - in head/devel/electron4: . files
Message-ID:  <202001272057.00RKv6Uw037621@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pizzamig
Date: Mon Jan 27 20:57:06 2020
New Revision: 524445
URL: https://svnweb.freebsd.org/changeset/ports/524445

Log:
  devel/electron4: Fix build after snappy update
  
  While here, add several internal reogranization and make electron4 not in
  conflict with electron6
  
  Submitted by:	maintainer (via github)

Added:
  head/devel/electron4/Makefile.version   (contents, props changed)
  head/devel/electron4/files/patch-third__party_snappy_src_snappy.h   (contents, props changed)
Modified:
  head/devel/electron4/Makefile
  head/devel/electron4/Makefile.tests
  head/devel/electron4/pkg-plist

Modified: head/devel/electron4/Makefile
==============================================================================
--- head/devel/electron4/Makefile	Mon Jan 27 20:11:00 2020	(r524444)
+++ head/devel/electron4/Makefile	Mon Jan 27 20:57:06 2020	(r524445)
@@ -3,15 +3,17 @@
 PORTNAME=	electron
 DISTVERSIONPREFIX=	v
 DISTVERSION=	${ELECTRON_VER:S/-beta./.b/}
+PORTREVISION=	1
 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
+PKGNAMESUFFIX=	${ELECTRON_VER:C/^([0-9]+)\..+$$/\1/}
 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-npm-modules-${ELECTRON_VER}${EXTRACT_SUFX}:prefetch
 DIST_SUBDIR=	${PORTNAME}
 
@@ -48,13 +50,12 @@ LIB_DEPENDS=	libatk-bridge-2.0.so:accessibility/at-spi
 		libexpat.so:textproc/expat2 \
 		libfontconfig.so:x11-fonts/fontconfig
 RUN_DEPENDS=	xdg-open:devel/xdg-utils
-TEST_DEPENDS=	npm:www/npm-node10
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}python-dbusmock>0:devel/py-python-dbusmock@${PY_FLAVOR} \
+		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,test tar:xz xorg
 
-CONFLICTS_INSTALL=	electron5
-
 USE_GITHUB=	yes
 GH_TAGNAME=	${DISTVERSIONPREFIX}${ELECTRON_VER}
 # See ${WRKSRC}/electron/DEPS for GH_TAGNAME_node
@@ -63,7 +64,7 @@ GH_TUPLE=	electron:node:8bc5d171a0873c0ba49f9433798bc8
 		# yaml:pyyaml:3.12:pyyaml \
 		# kennethreitz:requests:e4d59bedfd3c7f4f254f4f5d036587bcd8152458:requests
 
-ELECTRON_VER=	4.2.12
+#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
@@ -76,6 +77,8 @@ CHROMIUM_TEST_FONTS_HASH=	a22de844e32a3f720d219e3911c3
 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}
 
@@ -110,12 +113,12 @@ GN_ARGS+=	clang_use_chrome_plugins=false \
 		extra_ldflags="${LDFLAGS}"
 GN_BOOTSTRAP_FLAGS=	--no-clean --no-rebuild --skip-generate-buildfiles
 
-ALL_TARGET=	electron
+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 TEST
+OPTIONS_DEFINE=	CUPS DEBUG DIST DRIVER KERBEROS
 DIST_DESC=	Build distribution zip files
 DRIVER_DESC=	Install chromedriver
 OPTIONS_GROUP=	AUDIO
@@ -123,10 +126,6 @@ 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
@@ -151,18 +150,16 @@ 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
-
 POST_BUILD_TARGETS=	licenses version
-POST_BUILD_DIST_TARGETS=	dist.zip chromedriver.zip mksnapshot.zip
+POST_BUILD_DIST_TARGETS=	electron_dist_zip electron_chromedriver_zip electron_mksnapshot_zip
 
 NPM_TIMESTAMP=	1573298347
 
-PLIST_SUB=	ELECTRON_VER=${ELECTRON_VER}
+PLIST_SUB=	ELECTRON_VER=${ELECTRON_VER} \
+		PKGNAMESUFFIX=${PKGNAMESUFFIX}
 
+.include "Makefile.version"
+.include "Makefile.tests"
 .include <bsd.port.pre.mk>
 
 .if ${ARCH} == "amd64"
@@ -213,11 +210,9 @@ post-extract:
 	# ${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
 	${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
@@ -288,7 +283,8 @@ do-install:
 .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
+	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
@@ -298,13 +294,7 @@ post-install-DIST-on:
 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
+do-test:
 	# 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}

Modified: head/devel/electron4/Makefile.tests
==============================================================================
--- head/devel/electron4/Makefile.tests	Mon Jan 27 20:11:00 2020	(r524444)
+++ head/devel/electron4/Makefile.tests	Mon Jan 27 20:57:06 2020	(r524445)
@@ -1,35 +1,5 @@
 # $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 \

Added: head/devel/electron4/Makefile.version
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/electron4/Makefile.version	Mon Jan 27 20:57:06 2020	(r524445)
@@ -0,0 +1,3 @@
+# $FreeBSD$
+
+ELECTRON_VER=	4.2.12

Added: head/devel/electron4/files/patch-third__party_snappy_src_snappy.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/electron4/files/patch-third__party_snappy_src_snappy.h	Mon Jan 27 20:57:06 2020	(r524445)
@@ -0,0 +1,20 @@
+--- third_party/snappy/src/snappy.h.orig	2019-03-19 09:09:00 UTC
++++ third_party/snappy/src/snappy.h
+@@ -73,7 +73,7 @@ namespace snappy {
+   // Original contents of *output are lost.
+   //
+   // REQUIRES: "input[]" is not an alias of "*output".
+-  size_t Compress(const char* input, size_t input_length, string* output);
++  size_t Compress(const char* input, size_t input_length, std::string* output);
+ 
+   // Decompresses "compressed[0,compressed_length-1]" to "*uncompressed".
+   // Original contents of "*uncompressed" are lost.
+@@ -82,7 +82,7 @@ namespace snappy {
+   //
+   // returns false if the message is corrupted and could not be decompressed
+   bool Uncompress(const char* compressed, size_t compressed_length,
+-                  string* uncompressed);
++                  std::string* uncompressed);
+ 
+   // Decompresses "compressed" to "*uncompressed".
+   //

Modified: head/devel/electron4/pkg-plist
==============================================================================
--- head/devel/electron4/pkg-plist	Mon Jan 27 20:11:00 2020	(r524444)
+++ head/devel/electron4/pkg-plist	Mon Jan 27 20:57:06 2020	(r524445)
@@ -1,4 +1,4 @@
-bin/electron
+bin/electron%%PKGNAMESUFFIX%%
 %%DATADIR%%/LICENSE
 %%DATADIR%%/LICENSES.chromium.html
 %%DATADIR%%/chrome_100_percent.pak
@@ -63,6 +63,47 @@ bin/electron
 %%DATADIR%%/locales/zh-TW.pak
 %%DATADIR%%/mksnapshot
 %%DATADIR%%/natives_blob.bin
+%%DATADIR%%/node_headers/include/node/common.gypi
+%%DATADIR%%/node_headers/include/node/config.gypi
+%%DATADIR%%/node_headers/include/node/libplatform/libplatform-export.h
+%%DATADIR%%/node_headers/include/node/libplatform/libplatform.h
+%%DATADIR%%/node_headers/include/node/libplatform/v8-tracing.h
+%%DATADIR%%/node_headers/include/node/node.h
+%%DATADIR%%/node_headers/include/node/node_api.h
+%%DATADIR%%/node_headers/include/node/node_api_types.h
+%%DATADIR%%/node_headers/include/node/node_buffer.h
+%%DATADIR%%/node_headers/include/node/node_object_wrap.h
+%%DATADIR%%/node_headers/include/node/node_version.h
+%%DATADIR%%/node_headers/include/node/uv.h
+%%DATADIR%%/node_headers/include/node/uv/aix.h
+%%DATADIR%%/node_headers/include/node/uv/android-ifaddrs.h
+%%DATADIR%%/node_headers/include/node/uv/bsd.h
+%%DATADIR%%/node_headers/include/node/uv/darwin.h
+%%DATADIR%%/node_headers/include/node/uv/errno.h
+%%DATADIR%%/node_headers/include/node/uv/linux.h
+%%DATADIR%%/node_headers/include/node/uv/os390.h
+%%DATADIR%%/node_headers/include/node/uv/posix.h
+%%DATADIR%%/node_headers/include/node/uv/pthread-barrier.h
+%%DATADIR%%/node_headers/include/node/uv/stdint-msvc2008.h
+%%DATADIR%%/node_headers/include/node/uv/sunos.h
+%%DATADIR%%/node_headers/include/node/uv/threadpool.h
+%%DATADIR%%/node_headers/include/node/uv/tree.h
+%%DATADIR%%/node_headers/include/node/uv/unix.h
+%%DATADIR%%/node_headers/include/node/uv/version.h
+%%DATADIR%%/node_headers/include/node/uv/win.h
+%%DATADIR%%/node_headers/include/node/v8-inspector-protocol.h
+%%DATADIR%%/node_headers/include/node/v8-inspector.h
+%%DATADIR%%/node_headers/include/node/v8-platform.h
+%%DATADIR%%/node_headers/include/node/v8-profiler.h
+%%DATADIR%%/node_headers/include/node/v8-testing.h
+%%DATADIR%%/node_headers/include/node/v8-util.h
+%%DATADIR%%/node_headers/include/node/v8-value-serializer-version.h
+%%DATADIR%%/node_headers/include/node/v8-version-string.h
+%%DATADIR%%/node_headers/include/node/v8-version.h
+%%DATADIR%%/node_headers/include/node/v8.h
+%%DATADIR%%/node_headers/include/node/v8config.h
+%%DATADIR%%/node_headers/include/node/zconf.h
+%%DATADIR%%/node_headers/include/node/zlib.h
 %%DIST%%%%DATADIR%%/releases/SHASUMS256.txt
 %%DIST%%%%AMD64%%%%DATADIR%%/releases/chromedriver-v%%ELECTRON_VER%%-freebsd-x64.zip
 %%DIST%%%%I386%%%%DATADIR%%/releases/chromedriver-v%%ELECTRON_VER%%-freebsd-ia32.zip



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