public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2016-02-11 12:07 Patrick Lauer
  0 siblings, 0 replies; 25+ messages in thread
From: Patrick Lauer @ 2016-02-11 12:07 UTC (permalink / raw
  To: gentoo-commits

commit:     70d316d599547e04033870abbd9cb14971f78f9a
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 11 12:06:38 2016 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Thu Feb 11 12:06:51 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70d316d5

net-libs/nodejs: Bump #574418, thanks to jbergstroem

Package-Manager: portage-2.2.27

 net-libs/nodejs/Manifest                           |  2 +-
 .../nodejs/files/gentoo-global-npm-config.patch    | 40 ++++++++++++++
 .../{nodejs-5.5.0.ebuild => nodejs-5.6.0.ebuild}   | 63 ++++++++++++----------
 3 files changed, 77 insertions(+), 28 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index cc342c0..60ecd06 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -5,4 +5,4 @@ DIST node-v4.2.2.tar.xz 12791572 SHA256 b016c3d2f434f86d8d3da9ad90ffb2fd35b32223
 DIST node-v5.0.0.tar.xz 12863764 SHA256 cf4f261618e19517c8cbf2fdde00d0b5160e271760abee00f387b11a0b3ca834 SHA512 5b07af6b77a25924e3028257a511f035df943b854c694168e24c20f6aa735cde72546fc231d63a491367e16232ee9b6622d1f748624bf3e99e0d0468528e96c3 WHIRLPOOL 8958da059e0bc8e196d9b5f1b079f6d1927a3707b466fdc6e87ece676f981a7f22c4fa485bdb6de9879305cf2deb578d49840dee6d69d1cddba698e070b19923
 DIST node-v5.3.0.tar.xz 12776504 SHA256 e5115ee78c31ac3af0f2b3553aa84fff2f49ae59bd6e01e11d78ce86c544569e SHA512 f65773c35ce774bc6fe242f8627e5786f441f0286f7d272e854e2e2d6b927d5f368c366ff52dd780f7817fedf3935ec25e78ed3f81d4613495663eb81e2afbb1 WHIRLPOOL 5f270ed6fe35dba091bd75e6ad9de419c781fc6f919915a4117b8c0bbb2ea11a05369a9149e4f69614de508ff109eb94b24bdafc0832e91e055f01b0ef214c67
 DIST node-v5.4.1.tar.xz 12812444 SHA256 4e7d3fdfeac85c46ddaef0224695620f218e7a178e97d6e210d6d643483f1d53 SHA512 9803478d502bf11bfc77e56109568b0f64186826be35a9b36b47b63ec744595db128955e6f7bec7eb4db39e85afdd364b1215427954ce33ab67689ff03a5bc57 WHIRLPOOL 87f791f4f0722a2d3bcb630d22548f395ac0e86dedc37849caab2d63bc43bad2621058f95eb2b31b1f3b01ec8585c0731c969a1f0167d95495008b44f3b69066
-DIST node-v5.5.0.tar.xz 13059924 SHA256 9c46b4dc9548e43826f71f6571f56e39783c456b9516045b496ea73321731e22 SHA512 8a2d268db2e04d905f879d3b1c1a9a17fb060754ccde86680df85311babf033249730e0ab3f7bd131b16ddaf79d740556e3ee4f37f34a0754be7d9c9080fa683 WHIRLPOOL baf2ec5dc3929a642487d83ebe2e442111379b841b7a2349ba17f372f420f40d4a069098909bffd85ed9e3f34d970ecf542cc80b0df3aac5470c656206cdc481
+DIST node-v5.6.0.tar.xz 13311288 SHA256 588341e466ac72f6b8e9fa500f04edf149f7d4e8141c4175c495d6d1484405e3 SHA512 ef38d9ce708b8283b7f7441a0c2787e64c0602fb50542b4ccd29e705f879626adf2c1d89a9040af55b1f00b6e45d1d87ca829bf6816768933af9b5661f654aa7 WHIRLPOOL 6b5dcd85a74b47554400a6ff62e4001bb04b9063987571ac4434116d807d04ee58a0ca622973ff4b81c064e4ec1b0cd2f881680eb7f1ced5aeda745bf48538ab

diff --git a/net-libs/nodejs/files/gentoo-global-npm-config.patch b/net-libs/nodejs/files/gentoo-global-npm-config.patch
new file mode 100644
index 0000000..e7346b8
--- /dev/null
+++ b/net-libs/nodejs/files/gentoo-global-npm-config.patch
@@ -0,0 +1,40 @@
+commit 46ac7cd4229eac5e0182ab62b7ed844c24a8c52e
+Author: Johan Bergström <bugs@bergstroem.nu>
+Date:   Wed Feb 10 22:45:59 2016 +1100
+
+    npm: set global config folder to /etc/npm
+    
+    npm previously assumed that the global config path would be
+    based on $prefix/etc. Since gentoo installs nodejs into /usr,
+    this means we're also creating /usr/etc which is less desirable.
+    
+    This patch will likely never go upstream.
+
+diff --git a/deps/npm/lib/config/core.js b/deps/npm/lib/config/core.js
+index d1306eb..bd2ef89 100644
+--- a/deps/npm/lib/config/core.js
++++ b/deps/npm/lib/config/core.js
+@@ -150,16 +150,14 @@ function load_ (builtin, rc, cli, cb) {
+     // Eg, `npm config get globalconfig --prefix ~/local` should
+     // return `~/local/etc/npmrc`
+     // annoying humans and their expectations!
+-    if (conf.get('prefix')) {
+-      var etc = path.resolve(conf.get('prefix'), 'etc')
+-      mkdirp(etc, function () {
+-        defaults.globalconfig = path.resolve(etc, 'npmrc')
+-        defaults.globalignorefile = path.resolve(etc, 'npmignore')
+-        afterUserContinuation()
+-      })
+-    } else {
++
++    // gentoo deviates wrt global config; store in /etc/npm
++    var globalconfig = path.resolve('/etc', 'npm')
++    mkdirp(globalconfig, function () {
++      defaults.globalconfig = path.resolve(globalconfig, 'npmrc')
++      defaults.globalignorefile = path.resolve(globalconfig, 'npmignore')
+       afterUserContinuation()
+-    }
++    })
+   }
+ 
+   function afterUserContinuation () {

diff --git a/net-libs/nodejs/nodejs-5.5.0.ebuild b/net-libs/nodejs/nodejs-5.6.0.ebuild
similarity index 76%
rename from net-libs/nodejs/nodejs-5.5.0.ebuild
rename to net-libs/nodejs/nodejs-5.6.0.ebuild
index 796a5f2..72657ac 100644
--- a/net-libs/nodejs/nodejs-5.5.0.ebuild
+++ b/net-libs/nodejs/nodejs-5.6.0.ebuild
@@ -2,7 +2,7 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-EAPI=5
+EAPI=6
 
 PYTHON_COMPAT=( python2_7 )
 PYTHON_REQ_USE="threads"
@@ -19,27 +19,29 @@ KEYWORDS="~amd64 ~arm ~x86 ~x64-macos"
 IUSE="cpu_flags_x86_sse2 debug doc icu +npm +snapshot +ssl test"
 
 RDEPEND="icu? ( >=dev-libs/icu-56:= )
-	${PYTHON_DEPS}
-	>=net-libs/http-parser-2.6:=
+	npm? ( ${PYTHON_DEPS} )
+	>=net-libs/http-parser-2.6.1:=
 	>=dev-libs/libuv-1.8.0:=
-	>=dev-libs/openssl-1.0.2e:0=[-bindist]
+	>=dev-libs/openssl-1.0.2f:0=[-bindist]
 	sys-libs/zlib"
 DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
 	!!net-libs/iojs
 	test? ( net-misc/curl )"
 
 S="${WORKDIR}/node-v${PV}"
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
+PATCHES=(
+	"${FILESDIR}"/gentoo-global-npm-config.patch
+)
+
 pkg_pretend() {
 	(use x86 && ! use cpu_flags_x86_sse2) && \
 		die "Your CPU doesn't support the required SSE2 instruction."
 
-	if [[ ${MERGE_TYPE} != "binary" ]] ; then
-		if ! test-flag-CXX -std=c++11 ; then
-			die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-		fi
-	fi
+	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
+		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
 }
 
 src_prepare() {
@@ -80,7 +82,7 @@ src_prepare() {
 		BUILDTYPE=Debug
 	fi
 
-	epatch_user
+	default
 }
 
 src_configure() {
@@ -121,10 +123,10 @@ src_compile() {
 
 src_install() {
 	local LIBDIR="${ED}/usr/$(get_libdir)"
-	make install DESTDIR="${ED}" PREFIX=/usr
+	emake install DESTDIR="${ED}"
 	pax-mark -m "${ED}"usr/bin/node
 
-	# set up a symlink structure that npm expects..
+	# set up a symlink structure that node-gyp expects..
 	dodir /usr/include/node/deps/{v8,uv}
 	dosym . /usr/include/node/src
 	for var in deps/{uv,v8}/include; do
@@ -134,18 +136,24 @@ src_install() {
 	if use doc; then
 		# Patch docs to make them offline readable
 		for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
-		    sed -i '/fonts.googleapis.com/ d' $i;
+			sed -i '/fonts.googleapis.com/ d' $i;
 		done
 		# Install docs!
 		dohtml -r "${S}"/out/doc/api/*
 	fi
 
 	if use npm; then
+		dodir /etc/npm
+
 		# Install bash completion for `npm`
+		# We need to temporarily replace default config path since
+		# npm otherwise tries to write outside of the sandbox
+		local npm_config="usr/lib64/node_modules/npm/lib/config/core.js"
+		sed -i -e "s|'/etc'|'${D}/etc'|g" "${ED}/${npm_config}" || die
 		local tmp_npm_completion_file="$(emktemp)"
 		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
 		newbashcomp "${tmp_npm_completion_file}" npm
-		rm "${LIBDIR}"/node_modules/npm/lib/utils/completion.sh
+		sed -i -e "s|'${D}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
 
 		# Move man pages
 		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
@@ -154,22 +162,21 @@ src_install() {
 		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
 		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
 
-		local temp_name=("'AUTHORS*'" "'CHANGELOG*'" "'CONTRIBUT*'" \
-			"'README*'" "'.travis.yml'" "'.eslint*'" "'.wercker.yml'" \
-			"'.npmignore'" "'*.md'" "'*.markdown'" "'*.bat'" "'*.cmd'")
 		local find_exp="-or -name"
-		local find_name=( "${temp_name[@]/%/ ${find_exp}}" )
-		# drop last "-or -name"
-		find_name[-1]="${find_name[-1]%${find_exp}}"
-		local find_iname="-iname 'LICEN?E*' ${find_exp}"
+		local find_name=()
+		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+			"*.md" "*.markdown" "*.bat" "*.cmd"; do
+			find_name+=( ${find_exp} "${match}" )
+		done
 
 		# Remove various development and/or inappropriate files and
 		# useless docs of dependend packages.
 		find "${LIBDIR}"/node_modules \
 			\( -type d -name examples \) -or \( -type f \( \
-				${find_iname} ${find_name[@]} \
-			\) \)
-		eend $?
+				-iname "LICEN?E*" \
+				"${find_name[@]}" \
+			\) \) -exec rm -rf "{}" \;
 	fi
 }
 
@@ -179,8 +186,10 @@ src_test() {
 }
 
 pkg_postinst() {
-	einfo "When using node-gyp to install native modules, you can avoid"
-	einfo "having to download the full tarball by doing the following:"
+	einfo "The global npm config lives in /etc/npm. This deviates slightly"
+	einfo "from upstream which otherwise would have it live in /usr/etc/."
 	einfo ""
-	einfo "node-gyp --nodedir /usr/include/node <command>"
+	einfo "Protip: When using node-gyp to install native modules, you can"
+	einfo "avoid having to download extras by doing the following:"
+	einfo "$ node-gyp --nodedir /usr/include/node <command>"
 }


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2017-11-01 11:42 Jeroen Roovers
  0 siblings, 0 replies; 25+ messages in thread
From: Jeroen Roovers @ 2017-11-01 11:42 UTC (permalink / raw
  To: gentoo-commits

commit:     13882c134f905a2954a0d39fa6d773ba26c1359c
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Wed Nov  1 11:40:04 2017 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Wed Nov  1 11:42:04 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13882c13

net-libs/nodejs: Version bump.

Package-Manager: Portage-2.3.13, Repoman-2.3.4

 net-libs/nodejs/Manifest                           |   2 +
 .../nodejs/files/nodejs-8.9.0-shared-nghttp2.patch | 105 +++++++++++
 net-libs/nodejs/nodejs-8.9.0.ebuild                | 197 +++++++++++++++++++++
 net-libs/nodejs/nodejs-9.0.0.ebuild                | 197 +++++++++++++++++++++
 4 files changed, 501 insertions(+)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index c7f232e9dd8..6dd15aee55e 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -4,3 +4,5 @@ DIST node-v4.8.5.tar.xz 13316060 SHA256 a48aeefc2b4fae0ea6410a8045ca106af2442230
 DIST node-v6.11.5.tar.xz 15699404 SHA256 1c6de415216799fbaeca82304b3fef87accc7101ebf2ead7d5c545e0779e8aaf SHA512 62490725ef7957294c1bddf21ef0626c7472876791210168116501255ecee58457e9de9b044e10033706243299bbfd1495efeca169596fbf26f5eeba6d8fa4c9 WHIRLPOOL 6e572e34d473544624734a54243dc41101e91d045f2b9cedc0c1a65c90584deb163efb422a0c992689ef9878cc5b882758795ae4d902c1c5b20468d8fa2151da
 DIST node-v6.9.4.tar.xz 15519264 SHA256 c51d7c61db40455d57428abcadc7eb0f0a08a8878cb1d8ea3c1e211c54532c35 SHA512 86d3e2889031c2b50c021bd3fd63194c2c22c44291d51dff1b5e1652b01853c09d2880c2f58fdad062e3e2a3f637a3f0d78dac66b835b676790cf272e64f8dce WHIRLPOOL d1bcf488ed1aae7959303b988c9467fc5d0930166c7bfe0e441392763e19f788496971c07560a9f62586bbb2be7ce741ece8346140d665d29593b9b8f649b002
 DIST node-v8.8.1.tar.xz 18209260 SHA256 5ce2c47ab779992db49942f757a01cc5131db5cef4e0dd270e48151b0887b57a SHA512 368eafd66d2108ebce4593bf496e129287949ea6d6b7d4b1f0f02e91ae1ef9632a63838dda752f12b4c2b133c2b2ae74b390717c02778c427e8e17964c002c0f WHIRLPOOL 26ab36f120ad068f5e36c06c6c7224fdaedcfd88d519ff573a984d83b07c5aafe0fcc773ebedab43326de32e20bfed4c681c7f14a9563733b0f091bc0ded39a5
+DIST node-v8.9.0.tar.xz 18284720 SHA256 ae8258f89e127a76d4b4aff6fdb8dc395b7da0069cba054b913dfc36b3c91189 SHA512 0dc585b9f7f91f76bcfc742d5fdbd55b7e2676ba48f9354e825560658f0ab0726dd5fab9c8aa4c251f8812363aab1ea2dab1e04f526fee95b1a99ac180490a7d WHIRLPOOL e64fc14b0253f457d95958aaa55d93801e437df72a9b838e0f6bfa765ecacc819814111bd02b39331164efbc095c940be7ec8a8ba4690e0b73d61df037a9387e
+DIST node-v9.0.0.tar.xz 18244756 SHA256 5b52bd6a90a611a42e11a908022ccfc1c2e77dcc70bfe38054a18dc57a3d5fa5 SHA512 3b7770c294b20df0ce321e03038dd8ef69ef81539c02ec5e2ef6e7d98fee9446f8ab0fd537812fd87c43e4b24018e39111c406dd657d251f28417ad7e870962d WHIRLPOOL dd1cb8aa379f0c3d2d5c89c44ca3542086ff3008226b2e154ef461e3baeb1c4ad4d53910181dad124beaa14bcc800adcd65ec31fcfb038af3e2e0b4fed892f20

diff --git a/net-libs/nodejs/files/nodejs-8.9.0-shared-nghttp2.patch b/net-libs/nodejs/files/nodejs-8.9.0-shared-nghttp2.patch
new file mode 100644
index 00000000000..dfccb1b0aea
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-8.9.0-shared-nghttp2.patch
@@ -0,0 +1,105 @@
+--- a/configure
++++ b/configure
+@@ -182,6 +182,27 @@
+     dest='shared_http_parser_libpath',
+     help='a directory to search for the shared http_parser DLL')
+ 
++shared_optgroup.add_option('--shared-nghttp2',
++    action='store_true',
++    dest='shared_nghttp2',
++    help='link to a shared nghttp2 DLL instead of static linking')
++
++shared_optgroup.add_option('--shared-nghttp2-includes',
++    action='store',
++    dest='shared_nghttp2_includes',
++    help='directory containing nghttp2 header files')
++
++shared_optgroup.add_option('--shared-nghttp2-libname',
++    action='store',
++    dest='shared_nghttp2_libname',
++    default='nghttp2',
++    help='alternative lib name to link to [default: %default]')
++
++shared_optgroup.add_option('--shared-nghttp2-libpath',
++    action='store',
++    dest='shared_nghttp2_libpath',
++    help='a directory to search for the shared nghttp2 DLL')
++
+ shared_optgroup.add_option('--shared-libuv',
+     action='store_true',
+     dest='shared_libuv',
+@@ -1360,6 +1381,7 @@
+ configure_node(output)
+ configure_library('zlib', output)
+ configure_library('http_parser', output)
++configure_library('nghttp2', output)
+ configure_library('libuv', output)
+ configure_library('libcares', output)
+ # stay backwards compatible with shared cares builds
+--- a/node.gyp
++++ b/node.gyp
+@@ -14,6 +14,7 @@
+     'node_module_version%': '',
+     'node_shared_zlib%': 'false',
+     'node_shared_http_parser%': 'false',
++    'node_shared_nghttp2%': 'false',
+     'node_shared_cares%': 'false',
+     'node_shared_libuv%': 'false',
+     'node_use_openssl%': 'true',
+@@ -151,8 +152,15 @@
+       'type': '<(node_target_type)',
+ 
+       'dependencies': [
+-        'node_js2c#host',
+-        'deps/nghttp2/nghttp2.gyp:nghttp2'
++        'node_js2c#host'
++      ],
++
++      'conditions': [
++        [ 'node_shared_nghttp2=="false"', {
++          'dependencies': [
++            'deps/nghttp2/nghttp2.gyp:nghttp2'
++          ]
++        }]
+       ],
+ 
+       'includes': [
+@@ -180,8 +180,7 @@
+       'include_dirs': [
+         'src',
+         'tools/msvs/genfiles',
+-        '<(SHARED_INTERMEDIATE_DIR)', # for node_natives.h
+-        'deps/nghttp2/lib/includes'
++        '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
+       ],
+ 
+       'sources': [
+@@ -691,6 +696,15 @@
+                 'deps/http_parser/http_parser.gyp:http_parser'
+               ]
+             }],
++            [ 'node_shared_nghttp2=="false"', {
++              'dependencies': [
++                'deps/nghttp2/nghttp2.gyp:nghttp2'
++              ],
++              'defines': [
++                # We're using the nghttp2 static lib
++                'NGHTTP2_STATICLIB'
++              ]
++            }],
+             [ 'node_shared_libuv=="false"', {
+               'dependencies': [
+                 'deps/uv/uv.gyp:libuv'
+--- a/node.gypi
++++ b/node.gypi
+@@ -251,6 +251,10 @@
+       'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ],
+     }],
+ 
++    [ 'node_shared_nghttp2=="false"', {
++      'dependencies': [ 'deps/nghttp2/nghttp2.gyp:nghttp2' ],
++    }],
++
+     [ 'node_shared_cares=="false"', {
+       'dependencies': [ 'deps/cares/cares.gyp:cares' ],
+     }],

diff --git a/net-libs/nodejs/nodejs-8.9.0.ebuild b/net-libs/nodejs/nodejs-8.9.0.ebuild
new file mode 100644
index 00000000000..38c6428ce06
--- /dev/null
+++ b/net-libs/nodejs/nodejs-8.9.0.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+RESTRICT="test"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 eutils flag-o-matic pax-utils python-single-r1 toolchain-funcs
+
+DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
+HOMEPAGE="https://nodejs.org/"
+SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
+
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
+IUSE="cpu_flags_x86_sse2 debug doc icu +npm +snapshot +ssl systemtap test"
+
+RDEPEND="icu? ( >=dev-libs/icu-56:= )
+	npm? ( ${PYTHON_DEPS} )
+	>=net-libs/http-parser-2.7.0:=
+	>=dev-libs/libuv-1.15.0:=
+	>=net-libs/nghttp2-1.25.0
+	>=dev-libs/openssl-1.0.2g:0=[-bindist]
+	sys-libs/zlib"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	systemtap? ( dev-util/systemtap )
+	test? ( net-misc/curl )"
+
+S="${WORKDIR}/node-v${PV}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+PATCHES=(
+	"${FILESDIR}"/gentoo-global-npm-config.patch
+	"${FILESDIR}"/nodejs-8.9.0-shared-nghttp2.patch
+)
+
+pkg_pretend() {
+	(use x86 && ! use cpu_flags_x86_sse2) && \
+		die "Your CPU doesn't support the required SSE2 instruction."
+
+	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
+		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
+}
+
+src_prepare() {
+	tc-export CC CXX PKG_CONFIG
+	export V=1
+	export BUILDTYPE=Release
+
+	# fix compilation on Darwin
+	# https://code.google.com/p/gyp/issues/detail?id=260
+	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
+
+	# make sure we use python2.* while using gyp
+	sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
+	sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
+
+	# less verbose install output (stating the same as portage, basically)
+	sed -i -e "/print/d" tools/install.py || die
+
+	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
+	local LIBDIR=$(get_libdir)
+	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+	sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js deps/npm/lib/npm.js || die
+
+	# Avoid writing a depfile, not useful
+	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
+
+	sed -i -e "/'-O3'/d" common.gypi || die
+
+	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
+	# seem sandbox related either (invoking it from a sandbox works fine).
+	# The issue is that no stdin handle is openened when asked for one.
+	# It doesn't really belong upstream , so it'll just be removed until someone
+	# with more gentoo-knowledge than me (jbergstroem) figures it out.
+	rm test/parallel/test-stdout-close-unref.js || die
+
+	# debug builds. change install path, remove optimisations and override buildtype
+	if use debug; then
+		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+		BUILDTYPE=Debug
+	fi
+
+	default
+}
+
+src_configure() {
+	local myarch=""
+	local myconf=( --shared-http-parser --shared-libuv --shared-nghttp2 --shared-openssl --shared-zlib )
+	use npm || myconf+=( --without-npm )
+	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
+	use snapshot && myconf+=( --with-snapshot )
+	use ssl || myconf+=( --without-ssl )
+	use debug && myconf+=( --debug )
+
+	case ${ABI} in
+		amd64) myarch="x64";;
+		arm) myarch="arm";;
+		arm64) myarch="arm64";;
+		ppc64) myarch="ppc64";;
+		x32) myarch="x32";;
+		x86) myarch="ia32";;
+		*) myarch="${ABI}";;
+	esac
+
+	GYP_DEFINES="linux_use_gold_flags=0
+		linux_use_bundled_binutils=0
+		linux_use_bundled_gold=0" \
+	"${PYTHON}" configure \
+		--prefix="${EPREFIX}"/usr \
+		--dest-cpu=${myarch} \
+		$(use_with systemtap dtrace) \
+		"${myconf[@]}" || die
+}
+
+src_compile() {
+	emake -C out mksnapshot
+	pax-mark m "out/${BUILDTYPE}/mksnapshot"
+	emake -C out
+}
+
+src_install() {
+	local LIBDIR="${ED}/usr/$(get_libdir)"
+	emake install DESTDIR="${D}"
+	pax-mark -m "${ED}"usr/bin/node
+
+	# set up a symlink structure that node-gyp expects..
+	dodir /usr/include/node/deps/{v8,uv}
+	dosym . /usr/include/node/src
+	for var in deps/{uv,v8}/include; do
+		dosym ../.. /usr/include/node/${var}
+	done
+
+	if use doc; then
+		# Patch docs to make them offline readable
+		for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
+			sed -i '/fonts.googleapis.com/ d' $i;
+		done
+		# Install docs!
+		dohtml -r "${S}"/doc/*
+	fi
+
+	if use npm; then
+		dodir /etc/npm
+
+		# Install bash completion for `npm`
+		# We need to temporarily replace default config path since
+		# npm otherwise tries to write outside of the sandbox
+		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
+		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
+		local tmp_npm_completion_file="$(emktemp)"
+		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
+		newbashcomp "${tmp_npm_completion_file}" npm
+		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
+
+		# Move man pages
+		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
+
+		# Clean up
+		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
+		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
+
+		local find_exp="-or -name"
+		local find_name=()
+		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+			"*.md" "*.markdown" "*.bat" "*.cmd"; do
+			find_name+=( ${find_exp} "${match}" )
+		done
+
+		# Remove various development and/or inappropriate files and
+		# useless docs of dependend packages.
+		find "${LIBDIR}"/node_modules \
+			\( -type d -name examples \) -or \( -type f \( \
+				-iname "LICEN?E*" \
+				"${find_name[@]}" \
+			\) \) -exec rm -rf "{}" \;
+	fi
+}
+
+src_test() {
+	out/${BUILDTYPE}/cctest || die
+	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
+}
+
+pkg_postinst() {
+	einfo "The global npm config lives in /etc/npm. This deviates slightly"
+	einfo "from upstream which otherwise would have it live in /usr/etc/."
+	einfo ""
+	einfo "Protip: When using node-gyp to install native modules, you can"
+	einfo "avoid having to download extras by doing the following:"
+	einfo "$ node-gyp --nodedir /usr/include/node <command>"
+}

diff --git a/net-libs/nodejs/nodejs-9.0.0.ebuild b/net-libs/nodejs/nodejs-9.0.0.ebuild
new file mode 100644
index 00000000000..2c89bcd6621
--- /dev/null
+++ b/net-libs/nodejs/nodejs-9.0.0.ebuild
@@ -0,0 +1,197 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+RESTRICT="test"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 eutils flag-o-matic pax-utils python-single-r1 toolchain-funcs
+
+DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
+HOMEPAGE="https://nodejs.org/"
+SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
+
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
+IUSE="cpu_flags_x86_sse2 debug doc icu +npm +snapshot +ssl systemtap test"
+
+RDEPEND="icu? ( >=dev-libs/icu-59:= )
+	npm? ( ${PYTHON_DEPS} )
+	>=net-libs/http-parser-2.7.0:=
+	>=dev-libs/libuv-1.15.0:=
+	>=net-libs/nghttp2-1.25.0
+	>=dev-libs/openssl-1.0.2g:0=[-bindist]
+	sys-libs/zlib"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	systemtap? ( dev-util/systemtap )
+	test? ( net-misc/curl )"
+
+S="${WORKDIR}/node-v${PV}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+PATCHES=(
+	"${FILESDIR}"/gentoo-global-npm-config.patch
+	"${FILESDIR}"/nodejs-8.9.0-shared-nghttp2.patch
+)
+
+pkg_pretend() {
+	(use x86 && ! use cpu_flags_x86_sse2) && \
+		die "Your CPU doesn't support the required SSE2 instruction."
+
+	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
+		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
+}
+
+src_prepare() {
+	tc-export CC CXX PKG_CONFIG
+	export V=1
+	export BUILDTYPE=Release
+
+	# fix compilation on Darwin
+	# https://code.google.com/p/gyp/issues/detail?id=260
+	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
+
+	# make sure we use python2.* while using gyp
+	sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
+	sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
+
+	# less verbose install output (stating the same as portage, basically)
+	sed -i -e "/print/d" tools/install.py || die
+
+	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
+	local LIBDIR=$(get_libdir)
+	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+	sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js deps/npm/lib/npm.js || die
+
+	# Avoid writing a depfile, not useful
+	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
+
+	sed -i -e "/'-O3'/d" common.gypi || die
+
+	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
+	# seem sandbox related either (invoking it from a sandbox works fine).
+	# The issue is that no stdin handle is openened when asked for one.
+	# It doesn't really belong upstream , so it'll just be removed until someone
+	# with more gentoo-knowledge than me (jbergstroem) figures it out.
+	rm test/parallel/test-stdout-close-unref.js || die
+
+	# debug builds. change install path, remove optimisations and override buildtype
+	if use debug; then
+		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+		BUILDTYPE=Debug
+	fi
+
+	default
+}
+
+src_configure() {
+	local myarch=""
+	local myconf=( --shared-http-parser --shared-libuv --shared-nghttp2 --shared-openssl --shared-zlib )
+	use npm || myconf+=( --without-npm )
+	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
+	use snapshot && myconf+=( --with-snapshot )
+	use ssl || myconf+=( --without-ssl )
+	use debug && myconf+=( --debug )
+
+	case ${ABI} in
+		amd64) myarch="x64";;
+		arm) myarch="arm";;
+		arm64) myarch="arm64";;
+		ppc64) myarch="ppc64";;
+		x32) myarch="x32";;
+		x86) myarch="ia32";;
+		*) myarch="${ABI}";;
+	esac
+
+	GYP_DEFINES="linux_use_gold_flags=0
+		linux_use_bundled_binutils=0
+		linux_use_bundled_gold=0" \
+	"${PYTHON}" configure \
+		--prefix="${EPREFIX}"/usr \
+		--dest-cpu=${myarch} \
+		$(use_with systemtap dtrace) \
+		"${myconf[@]}" || die
+}
+
+src_compile() {
+	emake -C out mksnapshot
+	pax-mark m "out/${BUILDTYPE}/mksnapshot"
+	emake -C out
+}
+
+src_install() {
+	local LIBDIR="${ED}/usr/$(get_libdir)"
+	emake install DESTDIR="${D}"
+	pax-mark -m "${ED}"usr/bin/node
+
+	# set up a symlink structure that node-gyp expects..
+	dodir /usr/include/node/deps/{v8,uv}
+	dosym . /usr/include/node/src
+	for var in deps/{uv,v8}/include; do
+		dosym ../.. /usr/include/node/${var}
+	done
+
+	if use doc; then
+		# Patch docs to make them offline readable
+		for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
+			sed -i '/fonts.googleapis.com/ d' $i;
+		done
+		# Install docs!
+		dohtml -r "${S}"/doc/*
+	fi
+
+	if use npm; then
+		dodir /etc/npm
+
+		# Install bash completion for `npm`
+		# We need to temporarily replace default config path since
+		# npm otherwise tries to write outside of the sandbox
+		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
+		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
+		local tmp_npm_completion_file="$(emktemp)"
+		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
+		newbashcomp "${tmp_npm_completion_file}" npm
+		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
+
+		# Move man pages
+		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
+
+		# Clean up
+		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
+		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
+
+		local find_exp="-or -name"
+		local find_name=()
+		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+			"*.md" "*.markdown" "*.bat" "*.cmd"; do
+			find_name+=( ${find_exp} "${match}" )
+		done
+
+		# Remove various development and/or inappropriate files and
+		# useless docs of dependend packages.
+		find "${LIBDIR}"/node_modules \
+			\( -type d -name examples \) -or \( -type f \( \
+				-iname "LICEN?E*" \
+				"${find_name[@]}" \
+			\) \) -exec rm -rf "{}" \;
+	fi
+}
+
+src_test() {
+	out/${BUILDTYPE}/cctest || die
+	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
+}
+
+pkg_postinst() {
+	einfo "The global npm config lives in /etc/npm. This deviates slightly"
+	einfo "from upstream which otherwise would have it live in /usr/etc/."
+	einfo ""
+	einfo "Protip: When using node-gyp to install native modules, you can"
+	einfo "avoid having to download extras by doing the following:"
+	einfo "$ node-gyp --nodedir /usr/include/node <command>"
+}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2017-11-02 22:59 Jeroen Roovers
  0 siblings, 0 replies; 25+ messages in thread
From: Jeroen Roovers @ 2017-11-02 22:59 UTC (permalink / raw
  To: gentoo-commits

commit:     4948d969fb226bd11720a703e790c5e786c25f6b
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  2 22:58:56 2017 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Thu Nov  2 22:58:56 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4948d969

net-libs/nodejs: Old.

Package-Manager: Portage-2.3.13, Repoman-2.3.4

 net-libs/nodejs/Manifest                           |   1 -
 .../nodejs/files/nodejs-8.7.0-shared-nghttp2.patch | 105 -----------
 net-libs/nodejs/nodejs-8.8.1.ebuild                | 196 ---------------------
 3 files changed, 302 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index 6dd15aee55e..29725eebb79 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -3,6 +3,5 @@ DIST node-v4.6.1.tar.xz 13295568 SHA256 fe2a85df8758001878abb5bbaf17a6b6cdc12b3e
 DIST node-v4.8.5.tar.xz 13316060 SHA256 a48aeefc2b4fae0ea6410a8045ca106af244223012eab003bd5cb00aa3b50d53 SHA512 64d936ca14648b5648dedb41f2ee8d39466788762d335fbfc9ce4cb7484d05b6c24ad912fb4b1579a08f466be50b129a96be700fd89cbca5e1de84baa63ddd12 WHIRLPOOL 8d74323f38b4f55bf2e95a628005cbb65c0f4ea0e5dd55699408e26b724ff65fd0a7f674399ed92ac3a56592064133daffcbb37d7076b8da33d28b4d17d61410
 DIST node-v6.11.5.tar.xz 15699404 SHA256 1c6de415216799fbaeca82304b3fef87accc7101ebf2ead7d5c545e0779e8aaf SHA512 62490725ef7957294c1bddf21ef0626c7472876791210168116501255ecee58457e9de9b044e10033706243299bbfd1495efeca169596fbf26f5eeba6d8fa4c9 WHIRLPOOL 6e572e34d473544624734a54243dc41101e91d045f2b9cedc0c1a65c90584deb163efb422a0c992689ef9878cc5b882758795ae4d902c1c5b20468d8fa2151da
 DIST node-v6.9.4.tar.xz 15519264 SHA256 c51d7c61db40455d57428abcadc7eb0f0a08a8878cb1d8ea3c1e211c54532c35 SHA512 86d3e2889031c2b50c021bd3fd63194c2c22c44291d51dff1b5e1652b01853c09d2880c2f58fdad062e3e2a3f637a3f0d78dac66b835b676790cf272e64f8dce WHIRLPOOL d1bcf488ed1aae7959303b988c9467fc5d0930166c7bfe0e441392763e19f788496971c07560a9f62586bbb2be7ce741ece8346140d665d29593b9b8f649b002
-DIST node-v8.8.1.tar.xz 18209260 SHA256 5ce2c47ab779992db49942f757a01cc5131db5cef4e0dd270e48151b0887b57a SHA512 368eafd66d2108ebce4593bf496e129287949ea6d6b7d4b1f0f02e91ae1ef9632a63838dda752f12b4c2b133c2b2ae74b390717c02778c427e8e17964c002c0f WHIRLPOOL 26ab36f120ad068f5e36c06c6c7224fdaedcfd88d519ff573a984d83b07c5aafe0fcc773ebedab43326de32e20bfed4c681c7f14a9563733b0f091bc0ded39a5
 DIST node-v8.9.0.tar.xz 18284720 SHA256 ae8258f89e127a76d4b4aff6fdb8dc395b7da0069cba054b913dfc36b3c91189 SHA512 0dc585b9f7f91f76bcfc742d5fdbd55b7e2676ba48f9354e825560658f0ab0726dd5fab9c8aa4c251f8812363aab1ea2dab1e04f526fee95b1a99ac180490a7d WHIRLPOOL e64fc14b0253f457d95958aaa55d93801e437df72a9b838e0f6bfa765ecacc819814111bd02b39331164efbc095c940be7ec8a8ba4690e0b73d61df037a9387e
 DIST node-v9.0.0.tar.xz 18244756 SHA256 5b52bd6a90a611a42e11a908022ccfc1c2e77dcc70bfe38054a18dc57a3d5fa5 SHA512 3b7770c294b20df0ce321e03038dd8ef69ef81539c02ec5e2ef6e7d98fee9446f8ab0fd537812fd87c43e4b24018e39111c406dd657d251f28417ad7e870962d WHIRLPOOL dd1cb8aa379f0c3d2d5c89c44ca3542086ff3008226b2e154ef461e3baeb1c4ad4d53910181dad124beaa14bcc800adcd65ec31fcfb038af3e2e0b4fed892f20

diff --git a/net-libs/nodejs/files/nodejs-8.7.0-shared-nghttp2.patch b/net-libs/nodejs/files/nodejs-8.7.0-shared-nghttp2.patch
deleted file mode 100644
index 5f5a2c7b7ff..00000000000
--- a/net-libs/nodejs/files/nodejs-8.7.0-shared-nghttp2.patch
+++ /dev/null
@@ -1,105 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -182,6 +182,27 @@
-     dest='shared_http_parser_libpath',
-     help='a directory to search for the shared http_parser DLL')
- 
-+shared_optgroup.add_option('--shared-nghttp2',
-+    action='store_true',
-+    dest='shared_nghttp2',
-+    help='link to a shared nghttp2 DLL instead of static linking')
-+
-+shared_optgroup.add_option('--shared-nghttp2-includes',
-+    action='store',
-+    dest='shared_nghttp2_includes',
-+    help='directory containing nghttp2 header files')
-+
-+shared_optgroup.add_option('--shared-nghttp2-libname',
-+    action='store',
-+    dest='shared_nghttp2_libname',
-+    default='nghttp2',
-+    help='alternative lib name to link to [default: %default]')
-+
-+shared_optgroup.add_option('--shared-nghttp2-libpath',
-+    action='store',
-+    dest='shared_nghttp2_libpath',
-+    help='a directory to search for the shared nghttp2 DLL')
-+
- shared_optgroup.add_option('--shared-libuv',
-     action='store_true',
-     dest='shared_libuv',
-@@ -1360,6 +1381,7 @@
- configure_node(output)
- configure_library('zlib', output)
- configure_library('http_parser', output)
-+configure_library('nghttp2', output)
- configure_library('libuv', output)
- configure_library('libcares', output)
- # stay backwards compatible with shared cares builds
---- a/node.gyp
-+++ b/node.gyp
-@@ -14,6 +14,7 @@
-     'node_module_version%': '',
-     'node_shared_zlib%': 'false',
-     'node_shared_http_parser%': 'false',
-+    'node_shared_nghttp2%': 'false',
-     'node_shared_cares%': 'false',
-     'node_shared_libuv%': 'false',
-     'node_use_openssl%': 'true',
-@@ -151,8 +152,15 @@
-       'type': '<(node_target_type)',
- 
-       'dependencies': [
--        'node_js2c#host',
--        'deps/nghttp2/nghttp2.gyp:nghttp2'
-+        'node_js2c#host'
-+      ],
-+
-+      'conditions': [
-+        [ 'node_shared_nghttp2=="false"', {
-+          'dependencies': [
-+            'deps/nghttp2/nghttp2.gyp:nghttp2'
-+          ]
-+        }]
-       ],
- 
-       'includes': [
-@@ -163,8 +171,7 @@
-         'src',
-         'tools/msvs/genfiles',
-         'deps/uv/src/ares',
--        '<(SHARED_INTERMEDIATE_DIR)', # for node_natives.h
--        'deps/nghttp2/lib/includes'
-+        '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
-       ],
- 
-       'sources': [
-@@ -691,6 +696,15 @@
-                 'deps/http_parser/http_parser.gyp:http_parser'
-               ]
-             }],
-+            [ 'node_shared_nghttp2=="false"', {
-+              'dependencies': [
-+                'deps/nghttp2/nghttp2.gyp:nghttp2'
-+              ],
-+              'defines': [
-+                # We're using the nghttp2 static lib
-+                'NGHTTP2_STATICLIB'
-+              ]
-+            }],
-             [ 'node_shared_libuv=="false"', {
-               'dependencies': [
-                 'deps/uv/uv.gyp:libuv'
---- a/node.gypi
-+++ b/node.gypi
-@@ -251,6 +251,10 @@
-       'dependencies': [ 'deps/http_parser/http_parser.gyp:http_parser' ],
-     }],
- 
-+    [ 'node_shared_nghttp2=="false"', {
-+      'dependencies': [ 'deps/nghttp2/nghttp2.gyp:nghttp2' ],
-+    }],
-+
-     [ 'node_shared_cares=="false"', {
-       'dependencies': [ 'deps/cares/cares.gyp:cares' ],
-     }],

diff --git a/net-libs/nodejs/nodejs-8.8.1.ebuild b/net-libs/nodejs/nodejs-8.8.1.ebuild
deleted file mode 100644
index 2739d2a8cd9..00000000000
--- a/net-libs/nodejs/nodejs-8.8.1.ebuild
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-RESTRICT="test"
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads"
-
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-single-r1 toolchain-funcs
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu +npm +snapshot +ssl systemtap test"
-
-RDEPEND="icu? ( >=dev-libs/icu-56:= )
-	npm? ( ${PYTHON_DEPS} )
-	>=net-libs/http-parser-2.7.0:=
-	>=dev-libs/libuv-1.15.0:=
-	>=net-libs/nghttp2-1.25.0
-	>=dev-libs/openssl-1.0.2g:0=[-bindist]
-	sys-libs/zlib"
-DEPEND="${RDEPEND}
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )"
-
-S="${WORKDIR}/node-v${PV}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-PATCHES=(
-	"${FILESDIR}"/gentoo-global-npm-config.patch
-	"${FILESDIR}"/nodejs-8.7.0-shared-nghttp2.patch
-)
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# make sure we use python2.* while using gyp
-	sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
-	sed -i -e "s/|| 'python'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js || die
-	sed -i -e "s|\"lib\"|\"${LIBDIR}\"|" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	local myarch=""
-	local myconf=( --shared-http-parser --shared-libuv --shared-nghttp2 --shared-openssl --shared-zlib )
-	use npm || myconf+=( --without-npm )
-	use icu && myconf+=( --with-intl=system-icu )
-	use snapshot && myconf+=( --with-snapshot )
-	use ssl || myconf+=( --without-ssl )
-	use debug && myconf+=( --debug )
-
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${PYTHON}" configure \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	emake install DESTDIR="${D}"
-	pax-mark -m "${ED}"usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		# Patch docs to make them offline readable
-		for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
-			sed -i '/fonts.googleapis.com/ d' $i;
-		done
-		# Install docs!
-		dohtml -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	einfo "The global npm config lives in /etc/npm. This deviates slightly"
-	einfo "from upstream which otherwise would have it live in /usr/etc/."
-	einfo ""
-	einfo "Protip: When using node-gyp to install native modules, you can"
-	einfo "avoid having to download extras by doing the following:"
-	einfo "$ node-gyp --nodedir /usr/include/node <command>"
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2018-05-30  7:46 Jeroen Roovers
  0 siblings, 0 replies; 25+ messages in thread
From: Jeroen Roovers @ 2018-05-30  7:46 UTC (permalink / raw
  To: gentoo-commits

commit:     f404e31c77e75199b8d88ef0177b852401e96b7f
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Wed May 30 05:27:53 2018 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Wed May 30 07:45:54 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f404e31c

net-libs/nodejs: Version 10.3.0.

Package-Manager: Portage-2.3.40, Repoman-2.3.9

 net-libs/nodejs/Manifest                           |   1 +
 .../files/nodejs-10.3.0-global-npm-config.patch    |  20 +++
 net-libs/nodejs/nodejs-10.3.0.ebuild               | 200 +++++++++++++++++++++
 3 files changed, 221 insertions(+)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index ea2355eeefd..a112d93e591 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,6 +1,7 @@
 DIST node-v0.12.18.tar.gz 19842591 BLAKE2B f94f4de6e2875267be194580c645087a262b90da99f10d651a22838c041da07056df81204bb04ce8da083a080062509dcca4d1e3ac2250d651ead8a4cc025028 SHA512 6866608a43eb213f3b715ea0fcc28983fd959ab679c567a1b464f62acd936506f2bce88ea48a60209d8ef8d98259f4b47cd3434893eb4ff82a132775edb37b7b
 DIST node-v10.0.0.tar.xz 19248896 BLAKE2B 3ab8313e44d57a2f04442d23311a4d824a9d0b89c7d3ee06042f843ce0bde39e59c1ef2eb0d77cde4c46d649b074cf08d1109c91b0914c23b048c75f29e79727 SHA512 9d686da290f84c5fdab39cce08161787661b4df1e3e37bd242e5f5f3ff8285b6bca3ada16e155fcf0fbb9ec8ca8736dc7d02788cee2d66f6fab87c1a29048f4e
 DIST node-v10.1.0.tar.xz 19363748 BLAKE2B 931349d204764472706f44473b2ea0e1399dad84d0595cecfc2cbd71670df25f05c2c2ac77e4c18852f523d5b0cf853ca83739fc96a46e1f5e76ae51cab006c9 SHA512 f98da47849de8a50d9986d0176c39914f3993e579a3d482153cb0fceb64d7c79443fd230a80946361008e4fac58b7b99292c906961fb57ef14ccecfd1da07156
+DIST node-v10.3.0.tar.xz 19464004 BLAKE2B 3bd88c231402728874c9c2916225d995a64e79e311d45869910192b6c46d450e12c4b20c9045bead85de24d3e46eb65793a9a886df87545836c0875c88a98cd1 SHA512 c52c798f16b69c0266014e9f53d5243d49e71af9fb411400d526a054995f0d2d2a150d31842160af0feffbd240e36dd97b870eb8c1fbacd3a7b18a143746df7e
 DIST node-v4.8.7.tar.xz 13370828 BLAKE2B b1ee93a586b66f8582783b1be50667547afe4bf48038ebc0b8148db55542cbc0520ac84ef88e4a7f453cabc245f484c32dbc238c1932bbc708791ceeb5c9d2ab SHA512 25837a31023747723b146c45984a5b2096b61c0aa43cbf45fc8ff50b4bd5079bd0bc9f1dfd3fb076817448dc5537eb93ffb2f345280b7756ba93b67ad757c696
 DIST node-v4.9.1.tar.xz 13250164 BLAKE2B 7a689b99bb4bf507f7f21dd2c096a5766d023a8174c0f468cab37365af1920b8700da04157e1a406917790524255ef32c243a74662fd50ef7d3567d189dac9cf SHA512 690c9fdf608e5194069a10955bdd94ec87cb1c308f13bc4d2cae92fa01436ace10fadf58f2e51d477dde6c570b23edc1c71fafea79bfc9cab2903eb2fa5f87aa
 DIST node-v6.11.5.tar.xz 15699404 BLAKE2B ba2df91bf5ef38cedb60b42919cf56f16807e619a81876fc92a5741e49da7ec91c4239d00f549c5e80d0bb8282bb9b396dd984507916cd18d61b403a3a7cef94 SHA512 62490725ef7957294c1bddf21ef0626c7472876791210168116501255ecee58457e9de9b044e10033706243299bbfd1495efeca169596fbf26f5eeba6d8fa4c9

diff --git a/net-libs/nodejs/files/nodejs-10.3.0-global-npm-config.patch b/net-libs/nodejs/files/nodejs-10.3.0-global-npm-config.patch
new file mode 100644
index 00000000000..e2bbbbe97a3
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-10.3.0-global-npm-config.patch
@@ -0,0 +1,20 @@
+--- a/deps/npm/lib/config/core.js
++++ b/deps/npm/lib/config/core.js
+@@ -153,11 +153,13 @@
+     // Eg, `npm config get globalconfig --prefix ~/local` should
+     // return `~/local/etc/npmrc`
+     // annoying humans and their expectations!
+-    if (conf.get('prefix')) {
+-      var etc = path.resolve(conf.get('prefix'), 'etc')
+-      defaults.globalconfig = path.resolve(etc, 'npmrc')
+-      defaults.globalignorefile = path.resolve(etc, 'npmignore')
++    // gentoo deviates wrt global config; store in /etc/npm
++    var globalconfig = path.resolve('/etc', 'npm')
++    mkdirp(globalconfig, function () {
++      defaults.globalconfig = path.resolve(globalconfig, 'npmrc')
++      defaults.globalignorefile = path.resolve(globalconfig, 'npmignore')
+     }
++    })
+ 
+     conf.addFile(conf.get('globalconfig'), 'global')
+ 

diff --git a/net-libs/nodejs/nodejs-10.3.0.ebuild b/net-libs/nodejs/nodejs-10.3.0.ebuild
new file mode 100644
index 00000000000..45f560f36a3
--- /dev/null
+++ b/net-libs/nodejs/nodejs-10.3.0.ebuild
@@ -0,0 +1,200 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 eutils flag-o-matic pax-utils python-single-r1 toolchain-funcs
+
+DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
+HOMEPAGE="https://nodejs.org/"
+SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
+
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
+IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl systemtap test"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	inspector? ( icu ssl )
+"
+
+RDEPEND="
+	>=dev-libs/libuv-1.20.3:=
+	>=net-libs/http-parser-2.8.0:=
+	>=net-libs/nghttp2-1.29.0
+	sys-libs/zlib
+	icu? ( >=dev-libs/icu-61.1:= )
+	ssl? ( >=dev-libs/openssl-1.1.0:0=[-bindist] )
+"
+DEPEND="
+	${RDEPEND}
+	${PYTHON_DEPS}
+	systemtap? ( dev-util/systemtap )
+	test? ( net-misc/curl )
+"
+S="${WORKDIR}/node-v${PV}"
+PATCHES=(
+	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
+)
+
+pkg_pretend() {
+	(use x86 && ! use cpu_flags_x86_sse2) && \
+		die "Your CPU doesn't support the required SSE2 instruction."
+
+	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
+		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
+}
+
+src_prepare() {
+	tc-export CC CXX PKG_CONFIG
+	export V=1
+	export BUILDTYPE=Release
+
+	# fix compilation on Darwin
+	# https://code.google.com/p/gyp/issues/detail?id=260
+	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
+
+	# make sure we use python2.* while using gyp
+	sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
+	sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
+
+	# less verbose install output (stating the same as portage, basically)
+	sed -i -e "/print/d" tools/install.py || die
+
+	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
+	local LIBDIR=$(get_libdir)
+	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+	sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js deps/npm/lib/npm.js || die
+
+	# Avoid writing a depfile, not useful
+	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
+
+	sed -i -e "/'-O3'/d" common.gypi deps/v8/gypfiles/toolchain.gypi || die
+
+	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
+	# seem sandbox related either (invoking it from a sandbox works fine).
+	# The issue is that no stdin handle is openened when asked for one.
+	# It doesn't really belong upstream , so it'll just be removed until someone
+	# with more gentoo-knowledge than me (jbergstroem) figures it out.
+	rm test/parallel/test-stdout-close-unref.js || die
+
+	# debug builds. change install path, remove optimisations and override buildtype
+	if use debug; then
+		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+		BUILDTYPE=Debug
+	fi
+
+	default
+}
+
+src_configure() {
+	local myconf=( --shared-http-parser --shared-libuv --shared-nghttp2 --shared-zlib )
+	use debug && myconf+=( --debug )
+	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
+	use inspector || myconf+=( --without-inspector )
+	use npm || myconf+=( --without-npm )
+	use snapshot && myconf+=( --with-snapshot )
+	use ssl && myconf+=( --shared-openssl ) || myconf+=( --without-ssl )
+
+	local myarch=""
+	case ${ABI} in
+		amd64) myarch="x64";;
+		arm) myarch="arm";;
+		arm64) myarch="arm64";;
+		ppc64) myarch="ppc64";;
+		x32) myarch="x32";;
+		x86) myarch="ia32";;
+		*) myarch="${ABI}";;
+	esac
+
+	GYP_DEFINES="linux_use_gold_flags=0
+		linux_use_bundled_binutils=0
+		linux_use_bundled_gold=0" \
+	"${PYTHON}" configure \
+		--prefix="${EPREFIX}"/usr \
+		--dest-cpu=${myarch} \
+		$(use_with systemtap dtrace) \
+		"${myconf[@]}" || die
+}
+
+src_compile() {
+	emake -C out mksnapshot
+	pax-mark m "out/${BUILDTYPE}/mksnapshot"
+	emake -C out
+}
+
+src_install() {
+	local LIBDIR="${ED}/usr/$(get_libdir)"
+	emake install DESTDIR="${D}"
+	pax-mark -m "${ED}"usr/bin/node
+
+	# set up a symlink structure that node-gyp expects..
+	dodir /usr/include/node/deps/{v8,uv}
+	dosym . /usr/include/node/src
+	for var in deps/{uv,v8}/include; do
+		dosym ../.. /usr/include/node/${var}
+	done
+
+	if use doc; then
+		# Patch docs to make them offline readable
+		for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
+			sed -i '/fonts.googleapis.com/ d' $i;
+		done
+		# Install docs!
+		dohtml -r "${S}"/doc/*
+	fi
+
+	if use npm; then
+		dodir /etc/npm
+
+		# Install bash completion for `npm`
+		# We need to temporarily replace default config path since
+		# npm otherwise tries to write outside of the sandbox
+		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
+		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
+		local tmp_npm_completion_file="$(emktemp)"
+		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
+		newbashcomp "${tmp_npm_completion_file}" npm
+		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
+
+		# Move man pages
+		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
+
+		# Clean up
+		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
+		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
+
+		local find_exp="-or -name"
+		local find_name=()
+		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+			"*.md" "*.markdown" "*.bat" "*.cmd"; do
+			find_name+=( ${find_exp} "${match}" )
+		done
+
+		# Remove various development and/or inappropriate files and
+		# useless docs of dependend packages.
+		find "${LIBDIR}"/node_modules \
+			\( -type d -name examples \) -or \( -type f \( \
+				-iname "LICEN?E*" \
+				"${find_name[@]}" \
+			\) \) -exec rm -rf "{}" \;
+	fi
+}
+
+src_test() {
+	out/${BUILDTYPE}/cctest || die
+	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
+}
+
+pkg_postinst() {
+	einfo "The global npm config lives in /etc/npm. This deviates slightly"
+	einfo "from upstream which otherwise would have it live in /usr/etc/."
+	einfo ""
+	einfo "Protip: When using node-gyp to install native modules, you can"
+	einfo "avoid having to download extras by doing the following:"
+	einfo "$ node-gyp --nodedir /usr/include/node <command>"
+}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2018-12-09 14:59 Jeroen Roovers
  0 siblings, 0 replies; 25+ messages in thread
From: Jeroen Roovers @ 2018-12-09 14:59 UTC (permalink / raw
  To: gentoo-commits

commit:     2103ef4fa7dfd9fc7058c3e32961a3388536e33e
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  9 14:59:34 2018 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Sun Dec  9 14:59:55 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2103ef4f

net-libs/nodejs: Version 11.4.0

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>

 net-libs/nodejs/Manifest                         |   1 +
 net-libs/nodejs/files/nodejs-11.4.0-llhttp.patch |  20 +++
 net-libs/nodejs/nodejs-11.4.0.ebuild             | 206 +++++++++++++++++++++++
 3 files changed, 227 insertions(+)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index d3e06cc163a..1f00ae0fc8f 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,6 +1,7 @@
 DIST node-v0.12.18.tar.gz 19842591 BLAKE2B f94f4de6e2875267be194580c645087a262b90da99f10d651a22838c041da07056df81204bb04ce8da083a080062509dcca4d1e3ac2250d651ead8a4cc025028 SHA512 6866608a43eb213f3b715ea0fcc28983fd959ab679c567a1b464f62acd936506f2bce88ea48a60209d8ef8d98259f4b47cd3434893eb4ff82a132775edb37b7b
 DIST node-v10.14.0.tar.xz 20193912 BLAKE2B a72411c9b7bfc9e257089d26cfc7a00321d1db7836b9a292544971fbceaaeae8b178ef53735175621d42169eb6839173340b00e441e498187bf4fffc02edca71 SHA512 82900373993ae2a068ccc9217eadc700a91956893f0a9973c5003ca648e16859a5b37919ea15c06bc1bd746957db6915ad75aa3d8ddb18c1b949c5723617c0c9
 DIST node-v11.3.0.tar.xz 20332400 BLAKE2B b237cb6b9a8004f06c72734fec0f9cea6b7ca86d1d289fbad4a232fd7e966d5e20e25929db9ff4a0dc32b6d917aaee12966e53895777cc7a1c2a426ada9e8dbc SHA512 d43b2f3b9835cce5ae411d96ee381a93fa60fa726cb6639580f5ae680fb9f461b1da63dc5f2cee3272341be85cff82073246a501460151e19622e75674ef7627
+DIST node-v11.4.0.tar.xz 20406416 BLAKE2B 45c5f2d42aa328c5f5530be99e89e01fe70947e41c9c6b9def599d62df57fb48ce575f36da36369756e98fe3c6d4d0093c0f2f28e0c571874e711cca6d705582 SHA512 1d2fc3cb545f0262bcec674ffb47cd9391876744bcac5f1d95e59022fa1afef921f2dbb2d0ae957b8162349a085fba8ad526d71f63ebc38213e8e9b56908ed31
 DIST node-v4.9.1.tar.xz 13250164 BLAKE2B 7a689b99bb4bf507f7f21dd2c096a5766d023a8174c0f468cab37365af1920b8700da04157e1a406917790524255ef32c243a74662fd50ef7d3567d189dac9cf SHA512 690c9fdf608e5194069a10955bdd94ec87cb1c308f13bc4d2cae92fa01436ace10fadf58f2e51d477dde6c570b23edc1c71fafea79bfc9cab2903eb2fa5f87aa
 DIST node-v6.14.4.tar.xz 15842824 BLAKE2B fc56364be64fe5824e2bb50d861ebf8f58f9895f2c9c108b8df3315b127ffb2755eac85c28165ac9779adab4611ce8f5ea1a5745f43ebaa1389e82b8215c6396 SHA512 1ead0c097ec125230dd631f19a5c3ec06a1371f9ca3b392b5ad08fcc227dd0142f33ad52f96890c2c17448a4951a635b9099dfff00d7d8b3ffb59b07904d1bfa
 DIST node-v6.15.1.tar.xz 15845836 BLAKE2B 8adedbc72bbc0899ec4782894c19ad550c9d41d4069ed640471c7d97185d413b0f9e9a29b9538df5e1b39f59a04abc4adfb2bbdcda9b8803c18a650a2779e92b SHA512 e1d927c91a949b8c681c0ab2c8cbd62d7c202d76abeb9791b1260cf64a01c8aeaa50697e1ed33658586565fa85223abcaeb9370024313a5a5e31297ed4fe310b

diff --git a/net-libs/nodejs/files/nodejs-11.4.0-llhttp.patch b/net-libs/nodejs/files/nodejs-11.4.0-llhttp.patch
new file mode 100644
index 00000000000..1b6eb9fb7fa
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-11.4.0-llhttp.patch
@@ -0,0 +1,20 @@
+--- a/node.gypi
++++ b/node.gypi
+@@ -169,11 +169,15 @@
+ 
+     [ 'node_shared_http_parser=="false"', {
+       'dependencies': [
+-        'deps/http_parser/http_parser.gyp:http_parser',
+-        'deps/llhttp/llhttp.gyp:llhttp'
++        'deps/http_parser/http_parser.gyp:http_parser'
+       ],
+     } ],
+ 
++    [ '"true"', { 'dependencies': [
++        'deps/llhttp/llhttp.gyp:llhttp'
++      ],
++    }],
++
+     [ 'node_shared_cares=="false"', {
+       'dependencies': [ 'deps/cares/cares.gyp:cares' ],
+     }],

diff --git a/net-libs/nodejs/nodejs-11.4.0.ebuild b/net-libs/nodejs/nodejs-11.4.0.ebuild
new file mode 100644
index 00000000000..ede61e4e147
--- /dev/null
+++ b/net-libs/nodejs/nodejs-11.4.0.ebuild
@@ -0,0 +1,206 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit bash-completion-r1 eutils flag-o-matic pax-utils python-single-r1 toolchain-funcs
+
+DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
+HOMEPAGE="https://nodejs.org/"
+SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
+
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
+IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl systemtap test"
+REQUIRED_USE="
+	${PYTHON_REQUIRED_USE}
+	inspector? ( icu ssl )
+	npm? ( ssl )
+"
+
+RDEPEND="
+	>=dev-libs/libuv-1.24.0:=
+	>=net-dns/c-ares-1.15.0
+	>=net-libs/http-parser-2.8.0:=
+	>=net-libs/nghttp2-1.34.0
+	sys-libs/zlib
+	icu? ( >=dev-libs/icu-63.1:= )
+	ssl? ( =dev-libs/openssl-1.1.0*:0= )
+"
+DEPEND="
+	${RDEPEND}
+	${PYTHON_DEPS}
+	systemtap? ( dev-util/systemtap )
+	test? ( net-misc/curl )
+"
+S="${WORKDIR}/node-v${PV}"
+PATCHES=(
+	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
+	"${FILESDIR}"/${PN}-11.4.0-llhttp.patch
+)
+
+pkg_pretend() {
+	(use x86 && ! use cpu_flags_x86_sse2) && \
+		die "Your CPU doesn't support the required SSE2 instruction."
+
+	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
+		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
+}
+
+src_prepare() {
+	tc-export CC CXX PKG_CONFIG
+	export V=1
+	export BUILDTYPE=Release
+
+	# fix compilation on Darwin
+	# https://code.google.com/p/gyp/issues/detail?id=260
+	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
+
+	# make sure we use python2.* while using gyp
+	sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
+	sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
+
+	# less verbose install output (stating the same as portage, basically)
+	sed -i -e "/print/d" tools/install.py || die
+
+	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
+	local LIBDIR=$(get_libdir)
+	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
+
+	# Avoid writing a depfile, not useful
+	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
+
+	sed -i -e "/'-O3'/d" common.gypi deps/v8/gypfiles/toolchain.gypi || die
+
+	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
+	# seem sandbox related either (invoking it from a sandbox works fine).
+	# The issue is that no stdin handle is openened when asked for one.
+	# It doesn't really belong upstream , so it'll just be removed until someone
+	# with more gentoo-knowledge than me (jbergstroem) figures it out.
+	rm test/parallel/test-stdout-close-unref.js || die
+
+	# debug builds. change install path, remove optimisations and override buildtype
+	if use debug; then
+		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+		BUILDTYPE=Debug
+	fi
+
+	default
+}
+
+src_configure() {
+	local myconf=( --shared-cares --shared-http-parser --shared-libuv --shared-nghttp2 --shared-zlib )
+	use debug && myconf+=( --debug )
+	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
+	use inspector || myconf+=( --without-inspector )
+	use npm || myconf+=( --without-npm )
+	use snapshot && myconf+=( --with-snapshot )
+	use ssl && myconf+=( --shared-openssl ) || myconf+=( --without-ssl )
+
+	local myarch=""
+	case ${ABI} in
+		amd64) myarch="x64";;
+		arm) myarch="arm";;
+		arm64) myarch="arm64";;
+		ppc64) myarch="ppc64";;
+		x32) myarch="x32";;
+		x86) myarch="ia32";;
+		*) myarch="${ABI}";;
+	esac
+
+	GYP_DEFINES="linux_use_gold_flags=0
+		linux_use_bundled_binutils=0
+		linux_use_bundled_gold=0" \
+	"${PYTHON}" configure \
+		--prefix="${EPREFIX}"/usr \
+		--dest-cpu=${myarch} \
+		$(use_with systemtap dtrace) \
+		"${myconf[@]}" || die
+}
+
+src_compile() {
+	emake -C out mksnapshot
+	pax-mark m "out/${BUILDTYPE}/mksnapshot"
+	emake -C out
+}
+
+src_install() {
+	local LIBDIR="${ED}/usr/$(get_libdir)"
+	emake install DESTDIR="${D}"
+	pax-mark -m "${ED}"usr/bin/node
+
+	# set up a symlink structure that node-gyp expects..
+	dodir /usr/include/node/deps/{v8,uv}
+	dosym . /usr/include/node/src
+	for var in deps/{uv,v8}/include; do
+		dosym ../.. /usr/include/node/${var}
+	done
+
+	if use doc; then
+		# Patch docs to make them offline readable
+		for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
+			sed -i '/fonts.googleapis.com/ d' $i;
+		done
+		# Install docs
+		docinto html
+		dodoc -r "${S}"/doc/*
+	fi
+
+	if use npm; then
+		dodir /etc/npm
+
+		# Install bash completion for `npm`
+		# We need to temporarily replace default config path since
+		# npm otherwise tries to write outside of the sandbox
+		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
+		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
+		local tmp_npm_completion_file="$(emktemp)"
+		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
+		newbashcomp "${tmp_npm_completion_file}" npm
+		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
+
+		# Move man pages
+		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
+
+		# Clean up
+		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
+		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
+
+		local find_exp="-or -name"
+		local find_name=()
+		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+			"*.md" "*.markdown" "*.bat" "*.cmd"; do
+			find_name+=( ${find_exp} "${match}" )
+		done
+
+		# Remove various development and/or inappropriate files and
+		# useless docs of dependend packages.
+		find "${LIBDIR}"/node_modules \
+			\( -type d -name examples \) -or \( -type f \( \
+				-iname "LICEN?E*" \
+				"${find_name[@]}" \
+			\) \) -exec rm -rf "{}" \;
+	fi
+
+	mv "${D}"/usr/share/doc/node "${D}"/usr/share/doc/${PF} || die
+}
+
+src_test() {
+	out/${BUILDTYPE}/cctest || die
+	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
+}
+
+pkg_postinst() {
+	einfo "The global npm config lives in /etc/npm. This deviates slightly"
+	einfo "from upstream which otherwise would have it live in /usr/etc/."
+	einfo ""
+	einfo "Protip: When using node-gyp to install native modules, you can"
+	einfo "avoid having to download extras by doing the following:"
+	einfo "$ node-gyp --nodedir /usr/include/node <command>"
+}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2018-12-13 12:12 Jeroen Roovers
  0 siblings, 0 replies; 25+ messages in thread
From: Jeroen Roovers @ 2018-12-13 12:12 UTC (permalink / raw
  To: gentoo-commits

commit:     ed00b6407d1bae9b69d130a5f42ffc6c7a9f4361
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 13 12:11:59 2018 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Thu Dec 13 12:12:19 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed00b640

net-libs/nodejs: Include stdarg.h

Bug: https://bugs.gentoo.org/673068
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>

 net-libs/nodejs/files/nodejs-11.4.0-stdarg_h.patch | 10 ++++++++++
 net-libs/nodejs/nodejs-11.4.0.ebuild               |  1 +
 2 files changed, 11 insertions(+)

diff --git a/net-libs/nodejs/files/nodejs-11.4.0-stdarg_h.patch b/net-libs/nodejs/files/nodejs-11.4.0-stdarg_h.patch
new file mode 100644
index 00000000000..951c35989c6
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-11.4.0-stdarg_h.patch
@@ -0,0 +1,10 @@
+--- a/src/node.cc
++++ b/src/node.cc
+@@ -75,6 +75,7 @@
+ #include <fcntl.h>  // _O_RDWR
+ #include <limits.h>  // PATH_MAX
+ #include <signal.h>
++#include <stdarg.h> // va_start/va_end
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>

diff --git a/net-libs/nodejs/nodejs-11.4.0.ebuild b/net-libs/nodejs/nodejs-11.4.0.ebuild
index ede61e4e147..0e67f6a9bcd 100644
--- a/net-libs/nodejs/nodejs-11.4.0.ebuild
+++ b/net-libs/nodejs/nodejs-11.4.0.ebuild
@@ -41,6 +41,7 @@ S="${WORKDIR}/node-v${PV}"
 PATCHES=(
 	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
 	"${FILESDIR}"/${PN}-11.4.0-llhttp.patch
+	"${FILESDIR}"/${PN}-11.4.0-stdarg_h.patch
 )
 
 pkg_pretend() {


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2020-02-17  0:38 Magnus Granberg
  0 siblings, 0 replies; 25+ messages in thread
From: Magnus Granberg @ 2020-02-17  0:38 UTC (permalink / raw
  To: gentoo-commits

commit:     7beac2cd42801fc3ef9a1c81b9922d850e17a1c1
Author:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 17 00:33:45 2020 +0000
Commit:     Magnus Granberg <zorry <AT> gentoo <DOT> org>
CommitDate: Mon Feb 17 00:37:31 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7beac2cd

net-libs/nodejs: Fix building on pax enable kernel

Closes: https://bugs.gentoo.org/694100
Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org>
Package-Manager: Portage-2.3.84, Repoman-2.3.16

 .../nodejs/files/nodejs-13.8.0-paxmarking.patch    | 111 +++++++++++++++++++++
 net-libs/nodejs/nodejs-13.8.0.ebuild               |   2 +-
 2 files changed, 112 insertions(+), 1 deletion(-)

diff --git a/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch b/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch
new file mode 100644
index 00000000000..0fb33cbee49
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch
@@ -0,0 +1,111 @@
+    Bug: 694100
+    Add actions for pax marking mkcodecache, node_mksnapshot and mksnapshot
+    to disable mprotect for pax enable kernel.
+    Reported-by: Attila Tóth <atoth@atoth.sote.hu>
+    Co-developed-by: Attila Tóth <atoth@atoth.sote.hu>
+    Signed-off-by: Magnus Granberg <zorry@gentoo.org>
+    
+--- a/node.gyp	2019-10-23 11:52:41.000000000 +0200
++++ b/node.gyp	2019-11-12 20:58:43.957881862 +0100
+@@ -233,7 +233,9 @@
+       'deps/acorn-plugins/acorn-static-class-features/index.js',
+     ],
+     'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
++    'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
+     'mkcodecache_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache<(EXECUTABLE_SUFFIX)',
++    'mkcodecache_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache_u<(EXECUTABLE_SUFFIX)',
+     'conditions': [
+       [ 'node_shared=="true"', {
+         'node_target_type%': 'shared_library',
+@@ -436,10 +438,24 @@
+           ],
+           'actions': [
+             {
++              'action_name': 'run_pax_mkcodecache',
++              'inputs': [
++                '<(mkcodecache_exec)',
++              ],
++              'outputs': [
++                '<(mkcodecache_u_exec)',
++              ],
++              'action': [
++                'bash',
++                '-c',
++                'mv <(mkcodecache_exec) <(mkcodecache_u_exec) && paxmark.sh m <(mkcodecache_u_exec)',
++              ],
++            },
++            {
+               'action_name': 'run_mkcodecache',
+               'process_outputs_as_sources': 1,
+               'inputs': [
+-                '<(mkcodecache_exec)',
++                '<(mkcodecache_u_exec)',
+               ],
+               'outputs': [
+                 '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
+@@ -461,10 +477,24 @@
+           ],
+           'actions': [
+             {
++              'action_name': 'run_pax_mksnapshot',
++              'inputs': [
++                '<(node_mksnapshot_exec)',
++              ],
++              'outputs': [
++                '<(node_mksnapshot_u_exec)',
++              ],
++              'action': [
++                'bash',
++                '-c',
++                'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
++              ],
++            },
++            {
+               'action_name': 'node_mksnapshot',
+               'process_outputs_as_sources': 1,
+               'inputs': [
+-                '<(node_mksnapshot_exec)',
++                '<(node_mksnapshot_u_exec)',
+               ],
+               'outputs': [
+                 '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
+--- a/tools/v8_gypfiles/v8.gyp	2019-12-03 16:10:36.000000000 +0100
++++ b/tools/v8_gypfiles/v8.gyp	2019-12-17 18:37:33.695839254 +0100
+@@ -9,6 +9,7 @@
+     'v8_vector_stores%': 0,
+     'v8_embed_script%': "",
+     'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
++    'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
+     'v8_os_page_size%': 0,
+     'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
+     'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
+@@ -427,6 +425,20 @@
+       },
+       'actions': [
+         {
++          'action_name': 'run_pax_mksnapshot',
++          'inputs': [
++            '<(mksnapshot_exec)',
++          ],
++          'outputs': [
++            '<(mksnapshot_u_exec)',
++          ],
++          'action': [
++            'bash',
++            '-c',
++            'mv <(mksnapshot_exec) <(mksnapshot_u_exec) && paxmark.mksnapshot_u_exec)',
++          ],
++        },
++        {
+           'action_name': 'run_mksnapshot',
+           'message': 'generating: >@(_outputs)',
+           'variables': {
+@@ -442,7 +454,7 @@
+             ],
+           },
+           'inputs': [
+-            '<(mksnapshot_exec)',
++            '<(mksnapshot_u_exec)',
+           ],
+           'outputs': ["<(INTERMEDIATE_DIR)/snapshot.cc"],
+           'process_outputs_as_sources': 1,

diff --git a/net-libs/nodejs/nodejs-13.8.0.ebuild b/net-libs/nodejs/nodejs-13.8.0.ebuild
index 4912e94e0c6..157d3993d84 100644
--- a/net-libs/nodejs/nodejs-13.8.0.ebuild
+++ b/net-libs/nodejs/nodejs-13.8.0.ebuild
@@ -88,7 +88,7 @@ src_prepare() {
 	fi
 
 	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.2.0-paxmarking.patch )
+	use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
 
 	default
 }


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2020-08-27 17:48 Jeroen Roovers
  0 siblings, 0 replies; 25+ messages in thread
From: Jeroen Roovers @ 2020-08-27 17:48 UTC (permalink / raw
  To: gentoo-commits

commit:     da795fc618b5ea34652ca7426a025230fbe9d663
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 27 17:42:58 2020 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Thu Aug 27 17:48:22 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da795fc6

net-libs/nodejs: Old

Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |  12 --
 net-libs/nodejs/files/nodejs-99999999-llhttp.patch |  20 --
 net-libs/nodejs/nodejs-10.19.0.ebuild              | 205 --------------------
 net-libs/nodejs/nodejs-10.20.1.ebuild              | 205 --------------------
 net-libs/nodejs/nodejs-10.21.0.ebuild              | 205 --------------------
 net-libs/nodejs/nodejs-12.16.1.ebuild              | 213 ---------------------
 net-libs/nodejs/nodejs-12.16.2.ebuild              | 213 ---------------------
 net-libs/nodejs/nodejs-12.16.3.ebuild              | 213 ---------------------
 net-libs/nodejs/nodejs-12.17.0.ebuild              | 213 ---------------------
 net-libs/nodejs/nodejs-14.3.0.ebuild               | 200 -------------------
 net-libs/nodejs/nodejs-14.5.0.ebuild               | 200 -------------------
 net-libs/nodejs/nodejs-14.6.0.ebuild               | 200 -------------------
 net-libs/nodejs/nodejs-14.7.0.ebuild               | 200 -------------------
 net-libs/nodejs/nodejs-8.12.0.ebuild               | 203 --------------------
 14 files changed, 2502 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index b09aeb4886e..04de0ee0ad3 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,16 +1,4 @@
-DIST node-v10.19.0.tar.xz 21906168 BLAKE2B 395504ef3befa47d8b967114e019e6a76c799871e7eb21e2c6c0453655ffa07f17f42209daddeb5417342cfbad71ba1a35ae15a2d210b692bc60be270c2fc415 SHA512 512efc58415ed789938c434af131d76bdd51772cac9f7e380afaa79d83cc9c433a979068fc7272adba6ba6551d195267978e1fc819236926b0d1fd6cf91c5eee
-DIST node-v10.20.1.tar.xz 21947588 BLAKE2B 6078e29a125fc1020de7b62c97174d82273af5f6def1dbd2be7968227400735d62f8427811cced69f6365f3232d8800cad388853c34dc6620dfbbc5a27d7f716 SHA512 be2f87e1089be37caa87f5c109121f3f054ffc5a66c4d468f631fa718e461425fbb2dc397459e252eb66c11a06b60659a449dcdcd9d44506732f3703660b597b
-DIST node-v10.21.0.tar.xz 21953796 BLAKE2B 6bdbeafb0f4ceb5c02df96ea74e8796680706756d3cadf48b813c46bdf91e3e1d5c49616ff827f01c17ed3bce1af303a5f7219c1995adb482b11203091d614f4 SHA512 613d3c1bca79ea5f127dc6793de2b5cfdfa056c01ec092e3b7ee79205894b21ca5ec4a367265122641dd1d360c675cfb36a4f7892894194ddd18abd1b2206544
-DIST node-v12.16.1.tar.xz 23481768 BLAKE2B 29371b952c14907778c064269108f1da5e3818c32773e73090c61edcd07190c418189db6a505987ca71f99bb868880e297de5d2181b9a880774eaaf515985f26 SHA512 fe1e9fabb6fe52e3bc4275b33e6c5e4a761550b04964c0ae7dbef7172f5d415207bb2985751d068e357ce45a0ba414b07c0abd1531ef839b9463e98eeae8f9a4
-DIST node-v12.16.2.tar.xz 23654020 BLAKE2B aa4bb764a8731e32ce07d03d96d573632bbf9af79b127c2acec48fcf335c01ea0ea99532670a46befac42e2e1ce5a4dbd2e4cf0d068bac05749d87af59bb80fa SHA512 81688468bc6e20d83f7f58f0c15f9291a801eb2acc8ba7279e65d81f3eb4ea95e3b6cee0d09738c0d0fa35226ae3d52f2bad5da63a20a3edc9129197d42d000d
-DIST node-v12.16.3.tar.xz 23682432 BLAKE2B 91b97c0de9c76f33d080f3f12a42a15140be6e3f4d42022a55305dc2afc04de6a2b8364b9fc5df0dd71c9ec249eb9e4da8ff23f53be43a1f306d2a6fbc6d6bce SHA512 e5d2d1960972f19ef5acc667efb702d534eb436212dea9e0bfd817328c927b55734406f232b32bba366f05c2691e5085e3a6f8c1e2d959398745e60719e731b3
-DIST node-v12.17.0.tar.xz 23702040 BLAKE2B 4b35c6f7a3c16a7b737bc5b71f075fe6c66c9c4a5cd3ee240a0c1af9cfd4e10c61520d0489169a74354734083b7f7c68b97eefaa6f40e3320ec5b0126d36169f SHA512 0fc8483c6ae8994ff4f4b2465f1b8b1d3c620c90222fb270fe3d317d967294cc9e6bdcc50277fbe0ab28cb3ce9e73ec122c19adf8a686ecc95de3268b82ca4f7
 DIST node-v14.2.0.tar.xz 32884616 BLAKE2B 7bcb07cb7623c5e08c20267c320cdf23ad110f124c5ad1f2447ef8b76ab8dc44ed50dab7c5651424d9d3a36f7eeecdf3292b07c02cb2e22c3fbe4ed633c4b842 SHA512 47e5ec0b7a207082d43419a7e0a6ea9242ec43b4d7c2217eb66d0b45e2f4d5cb561b3f6fe35fdc41a8be95c182dc122ba262f696ebd12833596d71b372ec85d2
-DIST node-v14.3.0.tar.xz 32985344 BLAKE2B 32ee357e109484422c3b22423ab9a593cd5d4611073c820f90c196dae4df2860573cdd06170879f675b738b01885eb2fe0f25c2328841838bf9367324cc981a7 SHA512 3afcc430bad57150baa8d1c0e5ef0f64691ef6549a052be654a86313fe28f31e7fdfeea4d2b3993798a7141bc6d7b1642747d1bc2636139e2f2fd79441580148
 DIST node-v14.4.0.tar.xz 33005312 BLAKE2B bc1462d897e24a6b842e6f8146971866c73b54ff5383d76cfc5728a73e2c135d28ced068744174b3fb5af4a6ec05ef1f115ea51c2d65517cbe18e1d733460d04 SHA512 f1a7c788a8a149b942ec2b90a4314baaa5355c381029eda45002728ce7209925c016323b0ec1e0dfe2359fddb24f494df125805d0d266b738a333dcddb3f59c3
-DIST node-v14.5.0.tar.xz 33141456 BLAKE2B ff268f44d0a4133a0efe091bec3cac945c656f355b19d8d577ba239aa65c07bf909d6f1b3d7db4f2f5c3c856e3125fe31f9e9e39ca7772f34f47521d5106a101 SHA512 8bcd3d72f294fff60a59815137a193b465b3a901a59fcf08a4840507e2cfc74ee165d7ae0ca6388662dc218213376f559a6c872a92062691c7413351a2ec2b5f
-DIST node-v14.6.0.tar.xz 33282140 BLAKE2B 0a7dbc290578ecc8ba008a1f2633df986b24b6d111a3cb9aed136f1160c319fc7b82d8aed7abf071e8ccc0918eb0c1369acb73b233e731d621396b06094b25eb SHA512 2189876d3e60bffbac7089c51b4a9ec78dd94f00dcc38bd0fe0d9a42b7de9b714c46468e3bb0513b60296dfaa6a474d80d14a8fa86a9e977b1ea76a0de02bda2
-DIST node-v14.7.0.tar.xz 33317268 BLAKE2B 470dd42338a2b9e7d6f29ccee544c7b3a5a55615556110fc1d12accfae79929f3a44186bd1c8c245d217ba67dcab22d1fd8b158e6595a7fefd2aa342f027961b SHA512 275875f2062d91617705b211fd254cdde61694c6a7ff657b66931f0d507220a9fde5a5f5c9e0e562ce80d531a87050b034d4e11bc3cfc4cf04d26ed15d1e0142
 DIST node-v14.8.0.tar.xz 33342288 BLAKE2B 4f8129beb16ece09f14c234395b29bc53e84896fdd9877821a27c80d88a0740d42ea4dcf65a0a5c52a98129262be236207f4c07d81f76cc5e4471f21227083e9 SHA512 ebb20f7163e20e8074dd9cc5d3ee7f3cbc536c55a7753d39c482ea90e9314d8fdfe1a88203be7f250f6d77b9f13da04d32d99770d300c2ab0dfdee3d7582f068
 DIST node-v14.9.0.tar.xz 33356264 BLAKE2B 61e4ad33ad5a80862730a89dbfab5c59395750f38d093944bbedc9ef167e09008e5f5f1545be3e01090d452eee3ab2ce6af9bb0455c731a0c6332c7d7b797e18 SHA512 2e628f4fea9d228e4e13d16166ba4e38a53d9a33edf0c26a63f55f61e99fd9069583613859e9b3ddbc87a6efe70803b723c310d064f9495359b450127b0c01b8
-DIST node-v8.12.0.tar.xz 18310452 BLAKE2B 79634fc57cd76a97e72bab4be37da91d5eff4d13cdaa2b48e83f013885fa3590ba4a28378baf036ed26b7304bf234753d1d4014f72571496f5bb6cd5b221e5f0 SHA512 665d2dba287d78bcd723d7b4d00a6897fb996f4aa69a541e010a3dfeb2614257892117fcce7123966b1ecaddc9269a6667e0e262df693baea1f476c96de55c42

diff --git a/net-libs/nodejs/files/nodejs-99999999-llhttp.patch b/net-libs/nodejs/files/nodejs-99999999-llhttp.patch
deleted file mode 100644
index 1b6eb9fb7fa..00000000000
--- a/net-libs/nodejs/files/nodejs-99999999-llhttp.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/node.gypi
-+++ b/node.gypi
-@@ -169,11 +169,15 @@
- 
-     [ 'node_shared_http_parser=="false"', {
-       'dependencies': [
--        'deps/http_parser/http_parser.gyp:http_parser',
--        'deps/llhttp/llhttp.gyp:llhttp'
-+        'deps/http_parser/http_parser.gyp:http_parser'
-       ],
-     } ],
- 
-+    [ '"true"', { 'dependencies': [
-+        'deps/llhttp/llhttp.gyp:llhttp'
-+      ],
-+    }],
-+
-     [ 'node_shared_cares=="false"', {
-       'dependencies': [ 'deps/cares/cares.gyp:cares' ],
-     }],

diff --git a/net-libs/nodejs/nodejs-10.19.0.ebuild b/net-libs/nodejs/nodejs-10.19.0.ebuild
deleted file mode 100644
index 409bd25dff5..00000000000
--- a/net-libs/nodejs/nodejs-10.19.0.ebuild
+++ /dev/null
@@ -1,205 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.28.0:=
-	>=net-dns/c-ares-1.15.0
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.39.2
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-DEPEND="
-	${RDEPEND}
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# make sure we use python2.* while using gyp
-	sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
-	sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi deps/v8/gypfiles/toolchain.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=( --shared-cares --shared-http-parser --shared-libuv --shared-nghttp2 --shared-zlib )
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot && myconf+=( --with-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${PYTHON}" configure \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	emake install DESTDIR="${D}"
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${D}"/usr/share/doc/node "${D}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	einfo "The global npm config lives in /etc/npm. This deviates slightly"
-	einfo "from upstream which otherwise would have it live in /usr/etc/."
-	einfo ""
-	einfo "Protip: When using node-gyp to install native modules, you can"
-	einfo "avoid having to download extras by doing the following:"
-	einfo "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-10.20.1.ebuild b/net-libs/nodejs/nodejs-10.20.1.ebuild
deleted file mode 100644
index 1f645e5535c..00000000000
--- a/net-libs/nodejs/nodejs-10.20.1.ebuild
+++ /dev/null
@@ -1,205 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.34.2:=
-	>=net-dns/c-ares-1.15.0
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.39.2
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-DEPEND="
-	${RDEPEND}
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# make sure we use python2.* while using gyp
-	sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
-	sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi deps/v8/gypfiles/toolchain.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=( --shared-cares --shared-http-parser --shared-libuv --shared-nghttp2 --shared-zlib )
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot && myconf+=( --with-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${PYTHON}" configure \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	emake install DESTDIR="${D}"
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${D}"/usr/share/doc/node "${D}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	einfo "The global npm config lives in /etc/npm. This deviates slightly"
-	einfo "from upstream which otherwise would have it live in /usr/etc/."
-	einfo ""
-	einfo "Protip: When using node-gyp to install native modules, you can"
-	einfo "avoid having to download extras by doing the following:"
-	einfo "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-10.21.0.ebuild b/net-libs/nodejs/nodejs-10.21.0.ebuild
deleted file mode 100644
index f7ab581674c..00000000000
--- a/net-libs/nodejs/nodejs-10.21.0.ebuild
+++ /dev/null
@@ -1,205 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.34.2:=
-	>=net-dns/c-ares-1.15.0
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.41.0
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-DEPEND="
-	${RDEPEND}
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# make sure we use python2.* while using gyp
-	sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
-	sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi deps/v8/gypfiles/toolchain.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=( --shared-cares --shared-http-parser --shared-libuv --shared-nghttp2 --shared-zlib )
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot && myconf+=( --with-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${PYTHON}" configure \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	emake install DESTDIR="${D}"
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${D}"/usr/share/doc/node "${D}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	einfo "The global npm config lives in /etc/npm. This deviates slightly"
-	einfo "from upstream which otherwise would have it live in /usr/etc/."
-	einfo ""
-	einfo "Protip: When using node-gyp to install native modules, you can"
-	einfo "avoid having to download extras by doing the following:"
-	einfo "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-12.16.1.ebuild b/net-libs/nodejs/nodejs-12.16.1.ebuild
deleted file mode 100644
index 29723942409..00000000000
--- a/net-libs/nodejs/nodejs-12.16.1.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
-PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="
-	https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
-"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.34.0:=
-	>=net-dns/c-ares-1.15.0
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.40.0
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-99999999-llhttp.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=(
-		--shared-cares
-		--shared-http-parser
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	elog "The global npm config lives in /etc/npm. This deviates slightly"
-	elog "from upstream which otherwise would have it live in /usr/etc/."
-	elog ""
-	elog "Protip: When using node-gyp to install native modules, you can"
-	elog "avoid having to download extras by doing the following:"
-	elog "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-12.16.2.ebuild b/net-libs/nodejs/nodejs-12.16.2.ebuild
deleted file mode 100644
index 0be68355a99..00000000000
--- a/net-libs/nodejs/nodejs-12.16.2.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
-PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="
-	https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
-"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.34.2:=
-	>=net-dns/c-ares-1.15.0
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.40.0
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-99999999-llhttp.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=(
-		--shared-cares
-		--shared-http-parser
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	elog "The global npm config lives in /etc/npm. This deviates slightly"
-	elog "from upstream which otherwise would have it live in /usr/etc/."
-	elog ""
-	elog "Protip: When using node-gyp to install native modules, you can"
-	elog "avoid having to download extras by doing the following:"
-	elog "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-12.16.3.ebuild b/net-libs/nodejs/nodejs-12.16.3.ebuild
deleted file mode 100644
index 10346fcd3bc..00000000000
--- a/net-libs/nodejs/nodejs-12.16.3.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
-PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="
-	https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
-"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.34.2:=
-	>=net-dns/c-ares-1.16.0
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.40.0
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-99999999-llhttp.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=(
-		--shared-cares
-		--shared-http-parser
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	elog "The global npm config lives in /etc/npm. This deviates slightly"
-	elog "from upstream which otherwise would have it live in /usr/etc/."
-	elog ""
-	elog "Protip: When using node-gyp to install native modules, you can"
-	elog "avoid having to download extras by doing the following:"
-	elog "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-12.17.0.ebuild b/net-libs/nodejs/nodejs-12.17.0.ebuild
deleted file mode 100644
index 8b860166ed5..00000000000
--- a/net-libs/nodejs/nodejs-12.17.0.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7} )
-PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="
-	https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
-"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.37.0:=
-	>=net-dns/c-ares-1.16.0
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.40.0
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-99999999-llhttp.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=(
-		--shared-cares
-		--shared-http-parser
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	elog "The global npm config lives in /etc/npm. This deviates slightly"
-	elog "from upstream which otherwise would have it live in /usr/etc/."
-	elog ""
-	elog "Protip: When using node-gyp to install native modules, you can"
-	elog "avoid having to download extras by doing the following:"
-	elog "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-14.3.0.ebuild b/net-libs/nodejs/nodejs-14.3.0.ebuild
deleted file mode 100644
index b1523bbc10d..00000000000
--- a/net-libs/nodejs/nodejs-14.3.0.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="
-	https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
-"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.37.0:=
-	>=net-dns/c-ares-1.16.0
-	>=net-libs/nghttp2-1.40.0
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-65:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax_kernel? ( sys-apps/elfix )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=(
-		--shared-cares --shared-libuv --shared-nghttp2 --shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}

diff --git a/net-libs/nodejs/nodejs-14.5.0.ebuild b/net-libs/nodejs/nodejs-14.5.0.ebuild
deleted file mode 100644
index e2b60aae3bb..00000000000
--- a/net-libs/nodejs/nodejs-14.5.0.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="
-	https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
-"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.38.0:=
-	>=net-dns/c-ares-1.16.0
-	>=net-libs/nghttp2-1.41.0
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-65:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax_kernel? ( sys-apps/elfix )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=(
-		--shared-cares --shared-libuv --shared-nghttp2 --shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}

diff --git a/net-libs/nodejs/nodejs-14.6.0.ebuild b/net-libs/nodejs/nodejs-14.6.0.ebuild
deleted file mode 100644
index 9d912667e48..00000000000
--- a/net-libs/nodejs/nodejs-14.6.0.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="
-	https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
-"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.38.1:=
-	>=net-dns/c-ares-1.16.0
-	>=net-libs/nghttp2-1.41.0
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-67:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax_kernel? ( sys-apps/elfix )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=(
-		--shared-cares --shared-libuv --shared-nghttp2 --shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}

diff --git a/net-libs/nodejs/nodejs-14.7.0.ebuild b/net-libs/nodejs/nodejs-14.7.0.ebuild
deleted file mode 100644
index 9d912667e48..00000000000
--- a/net-libs/nodejs/nodejs-14.7.0.ebuild
+++ /dev/null
@@ -1,200 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="
-	https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
-"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.38.1:=
-	>=net-dns/c-ares-1.16.0
-	>=net-libs/nghttp2-1.41.0
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-67:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax_kernel? ( sys-apps/elfix )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=(
-		--shared-cares --shared-libuv --shared-nghttp2 --shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}

diff --git a/net-libs/nodejs/nodejs-8.12.0.ebuild b/net-libs/nodejs/nodejs-8.12.0.ebuild
deleted file mode 100644
index 42936ad7d0d..00000000000
--- a/net-libs/nodejs/nodejs-8.12.0.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-RESTRICT="test"
-
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads"
-
-inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="arm ppc ppc64 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-"
-
-RDEPEND="
-	>=dev-libs/libuv-1.19.2:=
-	>=net-libs/http-parser-2.8.0:=
-	>=net-libs/nghttp2-1.32.0
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-60.1:= )
-	ssl? ( >=dev-libs/openssl-1.0.2n:0=[-bindist] )
-"
-DEPEND="${RDEPEND}
-	${PYTHON_DEPS}
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )"
-
-S="${WORKDIR}/node-v${PV}"
-
-PATCHES=(
-	"${FILESDIR}"/nodejs-10.3.0-global-npm-config.patch
-)
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# make sure we use python2.* while using gyp
-	sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
-	sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi deps/v8/gypfiles/toolchain.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=( --shared-http-parser --shared-libuv --shared-nghttp2 --shared-zlib )
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot && myconf+=( --with-snapshot )
-	use ssl && myconf+=( --shared-openssl ) || myconf+=( --without-ssl )
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${PYTHON}" configure \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	emake install DESTDIR="${D}"
-	pax-mark -m "${ED}"usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		# Patch docs to make them offline readable
-		for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
-			sed -i '/fonts.googleapis.com/ d' $i;
-		done
-		# Install docs!
-		dohtml -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(emktemp)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	einfo "The global npm config lives in /etc/npm. This deviates slightly"
-	einfo "from upstream which otherwise would have it live in /usr/etc/."
-	einfo ""
-	einfo "Protip: When using node-gyp to install native modules, you can"
-	einfo "avoid having to download extras by doing the following:"
-	einfo "$ node-gyp --nodedir /usr/include/node <command>"
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2020-11-20 20:28 William Hubbs
  0 siblings, 0 replies; 25+ messages in thread
From: William Hubbs @ 2020-11-20 20:28 UTC (permalink / raw
  To: gentoo-commits

commit:     3e4294ea80a70435fa09c3579da81c428fa15efc
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 20 19:16:17 2020 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Fri Nov 20 20:23:32 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e4294ea

net-libs/nodejs: restore PaX support

Reverts: 19add7ba6500e6c60c8699b6bdda397744dfa73b
Bug: https://bugs.gentoo.org/735832
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 .../nodejs/files/nodejs-13.2.0-paxmarking.patch    |  71 +++++++++++++
 .../nodejs/files/nodejs-13.8.0-paxmarking.patch    | 111 +++++++++++++++++++++
 net-libs/nodejs/metadata.xml                       |   3 +-
 net-libs/nodejs/nodejs-12.18.4-r1.ebuild           |   5 +-
 net-libs/nodejs/nodejs-12.19.1.ebuild              |   5 +-
 net-libs/nodejs/nodejs-14.2.0.ebuild               |  10 +-
 net-libs/nodejs/nodejs-99999999.ebuild             |  10 +-
 7 files changed, 208 insertions(+), 7 deletions(-)

diff --git a/net-libs/nodejs/files/nodejs-13.2.0-paxmarking.patch b/net-libs/nodejs/files/nodejs-13.2.0-paxmarking.patch
new file mode 100644
index 00000000000..1061255e163
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-13.2.0-paxmarking.patch
@@ -0,0 +1,71 @@
+    Bug: 694100
+    Add actions for pax marking mkcodecache and node_mksnapshot
+    to disable mprotect for pax enable kernel.
+    Reported-by: Attila Tóth <atoth@atoth.sote.hu>
+    Co-developed-by: Attila Tóth <atoth@atoth.sote.hu>
+    Signed-off-by: Magnus Granberg <zorry@gentoo.org>
+
+--- a/node.gyp	2019-10-23 11:52:41.000000000 +0200
++++ a/node.gyp	2019-11-12 20:58:43.957881862 +0100
+@@ -233,7 +233,9 @@
+       'deps/acorn-plugins/acorn-static-class-features/index.js',
+     ],
+     'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
++    'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
+     'mkcodecache_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache<(EXECUTABLE_SUFFIX)',
++    'mkcodecache_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache_u<(EXECUTABLE_SUFFIX)',
+     'conditions': [
+       [ 'node_shared=="true"', {
+         'node_target_type%': 'shared_library',
+@@ -436,10 +438,24 @@
+           ],
+           'actions': [
+             {
++              'action_name': 'run_pax_mkcodecache',
++              'inputs': [
++                '<(mkcodecache_exec)',
++              ],
++              'outputs': [
++                '<(mkcodecache_u_exec)',
++              ],
++              'action': [
++                'bash',
++                '-c',
++                'mv <(mkcodecache_exec) <(mkcodecache_u_exec) && paxmark.sh m <(mkcodecache_u_exec)',
++              ],
++            },
++            {
+               'action_name': 'run_mkcodecache',
+               'process_outputs_as_sources': 1,
+               'inputs': [
+-                '<(mkcodecache_exec)',
++                '<(mkcodecache_u_exec)',
+               ],
+               'outputs': [
+                 '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
+@@ -461,10 +477,24 @@
+           ],
+           'actions': [
+             {
++              'action_name': 'run_pax_mksnapshot',
++              'inputs': [
++                '<(node_mksnapshot_exec)',
++              ],
++              'outputs': [
++                '<(node_mksnapshot_u_exec)',
++              ],
++              'action': [
++                'bash',
++                '-c',
++                'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
++              ],
++            },
++            {
+               'action_name': 'node_mksnapshot',
+               'process_outputs_as_sources': 1,
+               'inputs': [
+-                '<(node_mksnapshot_exec)',
++                '<(node_mksnapshot_u_exec)',
+               ],
+               'outputs': [
+                 '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',

diff --git a/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch b/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch
new file mode 100644
index 00000000000..8dbf5f43d48
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch
@@ -0,0 +1,111 @@
+    Bug: 694100
+    Add actions for pax marking mkcodecache, node_mksnapshot and mksnapshot
+    to disable mprotect for pax enable kernel.
+    Reported-by: Attila Tóth <atoth@atoth.sote.hu>
+    Co-developed-by: Attila Tóth <atoth@atoth.sote.hu>
+    Signed-off-by: Magnus Granberg <zorry@gentoo.org>
+
+--- a/node.gyp	2019-10-23 11:52:41.000000000 +0200
++++ b/node.gyp	2019-11-12 20:58:43.957881862 +0100
+@@ -233,7 +233,9 @@
+       'deps/acorn-plugins/acorn-static-class-features/index.js',
+     ],
+     'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
++    'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
+     'mkcodecache_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache<(EXECUTABLE_SUFFIX)',
++    'mkcodecache_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache_u<(EXECUTABLE_SUFFIX)',
+     'conditions': [
+       [ 'node_shared=="true"', {
+         'node_target_type%': 'shared_library',
+@@ -436,10 +438,24 @@
+           ],
+           'actions': [
+             {
++              'action_name': 'run_pax_mkcodecache',
++              'inputs': [
++                '<(mkcodecache_exec)',
++              ],
++              'outputs': [
++                '<(mkcodecache_u_exec)',
++              ],
++              'action': [
++                'bash',
++                '-c',
++                'mv <(mkcodecache_exec) <(mkcodecache_u_exec) && paxmark.sh m <(mkcodecache_u_exec)',
++              ],
++            },
++            {
+               'action_name': 'run_mkcodecache',
+               'process_outputs_as_sources': 1,
+               'inputs': [
+-                '<(mkcodecache_exec)',
++                '<(mkcodecache_u_exec)',
+               ],
+               'outputs': [
+                 '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
+@@ -461,10 +477,24 @@
+           ],
+           'actions': [
+             {
++              'action_name': 'run_pax_mksnapshot',
++              'inputs': [
++                '<(node_mksnapshot_exec)',
++              ],
++              'outputs': [
++                '<(node_mksnapshot_u_exec)',
++              ],
++              'action': [
++                'bash',
++                '-c',
++                'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
++              ],
++            },
++            {
+               'action_name': 'node_mksnapshot',
+               'process_outputs_as_sources': 1,
+               'inputs': [
+-                '<(node_mksnapshot_exec)',
++                '<(node_mksnapshot_u_exec)',
+               ],
+               'outputs': [
+                 '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
+--- a/tools/v8_gypfiles/v8.gyp	2019-12-03 16:10:36.000000000 +0100
++++ b/tools/v8_gypfiles/v8.gyp	2019-12-17 18:37:33.695839254 +0100
+@@ -9,6 +9,7 @@
+     'v8_vector_stores%': 0,
+     'v8_embed_script%': "",
+     'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
++    'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
+     'v8_os_page_size%': 0,
+     'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
+     'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
+@@ -427,6 +425,20 @@
+       },
+       'actions': [
+         {
++          'action_name': 'run_pax_mksnapshot',
++          'inputs': [
++            '<(mksnapshot_exec)',
++          ],
++          'outputs': [
++            '<(mksnapshot_u_exec)',
++          ],
++          'action': [
++            'bash',
++            '-c',
++            'mv <(mksnapshot_exec) <(mksnapshot_u_exec) && paxmark.sh m <(mksnapshot_u_exec)',
++          ],
++        },
++        {
+           'action_name': 'run_mksnapshot',
+           'message': 'generating: >@(_outputs)',
+           'variables': {
+@@ -442,7 +454,7 @@
+             ],
+           },
+           'inputs': [
+-            '<(mksnapshot_exec)',
++            '<(mksnapshot_u_exec)',
+           ],
+           'outputs': ["<(INTERMEDIATE_DIR)/snapshot.cc"],
+           'process_outputs_as_sources': 1,

diff --git a/net-libs/nodejs/metadata.xml b/net-libs/nodejs/metadata.xml
index 1f2cfaf97be..f7299ab330d 100644
--- a/net-libs/nodejs/metadata.xml
+++ b/net-libs/nodejs/metadata.xml
@@ -3,7 +3,7 @@
 <pkgmetadata>
 	<maintainer type="person">
 		<email>williamh@gentoo.org</email>
-			<name>William Hubbs</name>
+		<name>William Hubbs</name>
 	</maintainer>
 	<maintainer type="person">
 		<email>marecki@gentoo.org</email>
@@ -13,6 +13,7 @@
 	<use>
 		<flag name="inspector">Enable V8 inspector</flag>
 		<flag name="npm">Enable NPM package manager</flag>
+		<flag name="pax_kernel">Enable building under a PaX enabled kernel</flag>
 		<flag name="snapshot">Enable snapshot creation for faster startup</flag>
 		<flag name="system-icu">Use system <pkg>dev-libs/icu</pkg> instead of the bundled version</flag>
 		<flag name="system-ssl">Use system OpenSSL instead of the bundled one</flag>

diff --git a/net-libs/nodejs/nodejs-12.18.4-r1.ebuild b/net-libs/nodejs/nodejs-12.18.4-r1.ebuild
index bbdc7bd8dd9..c606807087a 100644
--- a/net-libs/nodejs/nodejs-12.18.4-r1.ebuild
+++ b/net-libs/nodejs/nodejs-12.18.4-r1.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 PYTHON_COMPAT=( python3_{6,7} )
 PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 flag-o-matic python-any-r1 toolchain-funcs xdg-utils
+inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
 
 DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
 HOMEPAGE="https://nodejs.org/"
@@ -139,6 +139,7 @@ src_configure() {
 
 src_compile() {
 	emake -C out mksnapshot
+	pax-mark m "out/${BUILDTYPE}/mksnapshot"
 	emake -C out
 }
 
@@ -146,6 +147,8 @@ src_install() {
 	local LIBDIR="${ED}/usr/$(get_libdir)"
 	default
 
+	pax-mark -m "${ED}"/usr/bin/node
+
 	# set up a symlink structure that node-gyp expects..
 	dodir /usr/include/node/deps/{v8,uv}
 	dosym . /usr/include/node/src

diff --git a/net-libs/nodejs/nodejs-12.19.1.ebuild b/net-libs/nodejs/nodejs-12.19.1.ebuild
index 613432efea3..bb763d423aa 100644
--- a/net-libs/nodejs/nodejs-12.19.1.ebuild
+++ b/net-libs/nodejs/nodejs-12.19.1.ebuild
@@ -6,7 +6,7 @@ EAPI=7
 PYTHON_COMPAT=( python3_{6..8} )
 PYTHON_REQ_USE="threads(+)"
 
-inherit bash-completion-r1 flag-o-matic python-any-r1 toolchain-funcs xdg-utils
+inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
 
 DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
 HOMEPAGE="https://nodejs.org/"
@@ -141,6 +141,7 @@ src_configure() {
 
 src_compile() {
 	emake -C out mksnapshot
+	pax-mark m "out/${BUILDTYPE}/mksnapshot"
 	emake -C out
 }
 
@@ -148,6 +149,8 @@ src_install() {
 	local LIBDIR="${ED}/usr/$(get_libdir)"
 	default
 
+	pax-mark -m "${ED}"/usr/bin/node
+
 	# set up a symlink structure that node-gyp expects..
 	dodir /usr/include/node/deps/{v8,uv}
 	dosym . /usr/include/node/src

diff --git a/net-libs/nodejs/nodejs-14.2.0.ebuild b/net-libs/nodejs/nodejs-14.2.0.ebuild
index 4b3509f8db3..47e27f90889 100644
--- a/net-libs/nodejs/nodejs-14.2.0.ebuild
+++ b/net-libs/nodejs/nodejs-14.2.0.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 PYTHON_COMPAT=( python3_{6,7,8} )
 PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 flag-o-matic python-any-r1 toolchain-funcs xdg-utils
+inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
 
 DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
 HOMEPAGE="https://nodejs.org/"
@@ -15,7 +15,7 @@ SRC_URI="
 LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
 SLOT="0"
 KEYWORDS="ppc"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
+IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
 REQUIRED_USE="
 	inspector? ( icu ssl )
 	npm? ( ssl )
@@ -35,6 +35,7 @@ BDEPEND="
 	sys-apps/coreutils
 	systemtap? ( dev-util/systemtap )
 	test? ( net-misc/curl )
+	pax_kernel? ( sys-apps/elfix )
 "
 DEPEND="
 	${RDEPEND}
@@ -88,6 +89,9 @@ src_prepare() {
 		BUILDTYPE=Debug
 	fi
 
+	# We need to disable mprotect on two files when it builds Bug 694100.
+	use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
+
 	default
 }
 
@@ -137,6 +141,8 @@ src_install() {
 	local LIBDIR="${ED}/usr/$(get_libdir)"
 	default
 
+	pax-mark -m "${ED}"/usr/bin/node
+
 	# set up a symlink structure that node-gyp expects..
 	dodir /usr/include/node/deps/{v8,uv}
 	dosym . /usr/include/node/src

diff --git a/net-libs/nodejs/nodejs-99999999.ebuild b/net-libs/nodejs/nodejs-99999999.ebuild
index 65d30862d4c..e7a2c7c7eb9 100644
--- a/net-libs/nodejs/nodejs-99999999.ebuild
+++ b/net-libs/nodejs/nodejs-99999999.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 PYTHON_COMPAT=( python3_{6,7,8} )
 PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 flag-o-matic git-r3 python-any-r1 toolchain-funcs xdg-utils
+inherit bash-completion-r1 flag-o-matic git-r3 pax-utils python-any-r1 toolchain-funcs xdg-utils
 
 DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
 HOMEPAGE="https://nodejs.org/"
@@ -13,7 +13,7 @@ EGIT_REPO_URI="https://github.com/nodejs/node"
 LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
 SLOT="0"
 KEYWORDS=""
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
+IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
 RESTRICT="!test? ( test )"
 REQUIRED_USE="
 	inspector? ( icu ssl )
@@ -35,6 +35,7 @@ BDEPEND="
 	sys-apps/coreutils
 	systemtap? ( dev-util/systemtap )
 	test? ( net-misc/curl )
+	pax_kernel? ( sys-apps/elfix )
 "
 DEPEND="
 	${RDEPEND}
@@ -83,6 +84,9 @@ src_prepare() {
 		BUILDTYPE=Debug
 	fi
 
+	# We need to disable mprotect on two files when it builds Bug 694100.
+	use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.2.0-paxmarking.patch )
+
 	default
 }
 
@@ -136,6 +140,8 @@ src_install() {
 	local LIBDIR="${ED}/usr/$(get_libdir)"
 	default
 
+	pax-mark -m "${ED}"/usr/bin/node
+
 	# set up a symlink structure that node-gyp expects..
 	dodir /usr/include/node/deps/{v8,uv}
 	dosym . /usr/include/node/src


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2021-04-20 17:48 Marek Szuba
  0 siblings, 0 replies; 25+ messages in thread
From: Marek Szuba @ 2021-04-20 17:48 UTC (permalink / raw
  To: gentoo-commits

commit:     75c8059bb0bc595deff3cadcc1195e1ffdf0f385
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 20 17:17:14 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Tue Apr 20 17:48:40 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75c8059b

net-libs/nodejs: support dev-libs/icu-69.1

The version of V8 bundled with all versions of NodeJS currently in the
tree calls ListFormatter::createInstance() in a way that is both marked
as internal in icu-68 and absent from icu-69. Apply a fix originally
developed from Chromium which switches to a style marked as stable since
icu-67, meaning it works with both versions of dev-libs/icu currently in
the tree (confirmed by building 12.22.1 against both, with USE=icu of
course).

Closes: https://bugs.gentoo.org/781287
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 .../nodejs/files/nodejs-12.22.1-v8_icu69.patch     | 85 ++++++++++++++++++++++
 .../nodejs/files/nodejs-14.16.1-v8_icu69.patch     | 84 +++++++++++++++++++++
 net-libs/nodejs/nodejs-12.22.1.ebuild              |  1 +
 net-libs/nodejs/nodejs-14.16.1.ebuild              |  1 +
 net-libs/nodejs/nodejs-15.14.0.ebuild              |  1 +
 5 files changed, 172 insertions(+)

diff --git a/net-libs/nodejs/files/nodejs-12.22.1-v8_icu69.patch b/net-libs/nodejs/files/nodejs-12.22.1-v8_icu69.patch
new file mode 100644
index 00000000000..bd6d5c64b02
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-12.22.1-v8_icu69.patch
@@ -0,0 +1,85 @@
+Port of the Chromium commit 035c305ce7761f51328b45f1bd83e26aef267c9d to node-v12.
+Original commit message follows.
+
+Author:     Frank Tang <ftang@chromium.org>
+AuthorDate: 2020-10-15 22:44:27 -0700
+Commit:     Commit Bot <commit-bot@chromium.org>
+CommitDate: 2020-10-20 02:08:13 +0000
+[Intl] call new ListFormatter::createInstance
+The one we currently using is now marked as internal and to be removed
+for 68. Migrating to the style which already avaiable in ICU 67-1.
+
+--- a/deps/v8/src/objects/js-list-format.cc
++++ b/deps/v8/src/objects/js-list-format.cc
+@@ -29,46 +29,27 @@
+ namespace internal {
+ 
+ namespace {
+-const char* kStandard = "standard";
+-const char* kOr = "or";
+-const char* kUnit = "unit";
+-const char* kStandardShort = "standard-short";
+-const char* kOrShort = "or-short";
+-const char* kUnitShort = "unit-short";
+-const char* kStandardNarrow = "standard-narrow";
+-const char* kOrNarrow = "or-narrow";
+-const char* kUnitNarrow = "unit-narrow";
+ 
+-const char* GetIcuStyleString(JSListFormat::Style style,
+-                              JSListFormat::Type type) {
++UListFormatterWidth GetIcuWidth(JSListFormat::Style style) {
++  switch (style) {
++    case JSListFormat::Style::LONG:
++      return ULISTFMT_WIDTH_WIDE;
++    case JSListFormat::Style::SHORT:
++      return ULISTFMT_WIDTH_SHORT;
++    case JSListFormat::Style::NARROW:
++      return ULISTFMT_WIDTH_NARROW;
++  }
++  UNREACHABLE();
++}
++
++UListFormatterType GetIcuType(JSListFormat::Type type) {
+   switch (type) {
+     case JSListFormat::Type::CONJUNCTION:
+-      switch (style) {
+-        case JSListFormat::Style::LONG:
+-          return kStandard;
+-        case JSListFormat::Style::SHORT:
+-          return kStandardShort;
+-        case JSListFormat::Style::NARROW:
+-          return kStandardNarrow;
+-      }
++      return ULISTFMT_TYPE_AND;
+     case JSListFormat::Type::DISJUNCTION:
+-      switch (style) {
+-        case JSListFormat::Style::LONG:
+-          return kOr;
+-        case JSListFormat::Style::SHORT:
+-          return kOrShort;
+-        case JSListFormat::Style::NARROW:
+-          return kOrNarrow;
+-      }
++      return ULISTFMT_TYPE_OR;
+     case JSListFormat::Type::UNIT:
+-      switch (style) {
+-        case JSListFormat::Style::LONG:
+-          return kUnit;
+-        case JSListFormat::Style::SHORT:
+-          return kUnitShort;
+-        case JSListFormat::Style::NARROW:
+-          return kUnitNarrow;
+-      }
++      return ULISTFMT_TYPE_UNITS;
+   }
+   UNREACHABLE();
+ }
+@@ -170,7 +151,7 @@
+   icu::Locale icu_locale = r.icu_locale;
+   UErrorCode status = U_ZERO_ERROR;
+   icu::ListFormatter* formatter = icu::ListFormatter::createInstance(
+-      icu_locale, GetIcuStyleString(style_enum, type_enum), status);
++      icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status);
+   if (U_FAILURE(status)) {
+     delete formatter;
+     FATAL("Failed to create ICU list formatter, are ICU data files missing?");

diff --git a/net-libs/nodejs/files/nodejs-14.16.1-v8_icu69.patch b/net-libs/nodejs/files/nodejs-14.16.1-v8_icu69.patch
new file mode 100644
index 00000000000..d1e204f0c5d
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-14.16.1-v8_icu69.patch
@@ -0,0 +1,84 @@
+Port of the Chromium commit 035c305ce7761f51328b45f1bd83e26aef267c9d to node-v14.
+Original commit message follows.
+
+Author:     Frank Tang <ftang@chromium.org>
+AuthorDate: 2020-10-15 22:44:27 -0700
+Commit:     Commit Bot <commit-bot@chromium.org>
+CommitDate: 2020-10-20 02:08:13 +0000
+[Intl] call new ListFormatter::createInstance
+The one we currently using is now marked as internal and to be removed
+for 68. Migrating to the style which already avaiable in ICU 67-1.
+
+--- a/deps/v8/src/objects/js-list-format.cc
++++ b/deps/v8/src/objects/js-list-format.cc
+@@ -29,46 +29,26 @@
+ namespace internal {
+ 
+ namespace {
+-const char* kStandard = "standard";
+-const char* kOr = "or";
+-const char* kUnit = "unit";
+-const char* kStandardShort = "standard-short";
+-const char* kOrShort = "or-short";
+-const char* kUnitShort = "unit-short";
+-const char* kStandardNarrow = "standard-narrow";
+-const char* kOrNarrow = "or-narrow";
+-const char* kUnitNarrow = "unit-narrow";
++UListFormatterWidth GetIcuWidth(JSListFormat::Style style) {
++  switch (style) {
++    case JSListFormat::Style::LONG:
++      return ULISTFMT_WIDTH_WIDE;
++    case JSListFormat::Style::SHORT:
++      return ULISTFMT_WIDTH_SHORT;
++    case JSListFormat::Style::NARROW:
++      return ULISTFMT_WIDTH_NARROW;
++  }
++  UNREACHABLE();
++}
+ 
+-const char* GetIcuStyleString(JSListFormat::Style style,
+-                              JSListFormat::Type type) {
++UListFormatterType GetIcuType(JSListFormat::Type type) {
+   switch (type) {
+     case JSListFormat::Type::CONJUNCTION:
+-      switch (style) {
+-        case JSListFormat::Style::LONG:
+-          return kStandard;
+-        case JSListFormat::Style::SHORT:
+-          return kStandardShort;
+-        case JSListFormat::Style::NARROW:
+-          return kStandardNarrow;
+-      }
++      return ULISTFMT_TYPE_AND;
+     case JSListFormat::Type::DISJUNCTION:
+-      switch (style) {
+-        case JSListFormat::Style::LONG:
+-          return kOr;
+-        case JSListFormat::Style::SHORT:
+-          return kOrShort;
+-        case JSListFormat::Style::NARROW:
+-          return kOrNarrow;
+-      }
++      return ULISTFMT_TYPE_OR;
+     case JSListFormat::Type::UNIT:
+-      switch (style) {
+-        case JSListFormat::Style::LONG:
+-          return kUnit;
+-        case JSListFormat::Style::SHORT:
+-          return kUnitShort;
+-        case JSListFormat::Style::NARROW:
+-          return kUnitNarrow;
+-      }
++      return ULISTFMT_TYPE_UNITS;
+   }
+   UNREACHABLE();
+ }
+@@ -143,7 +123,7 @@
+   icu::Locale icu_locale = r.icu_locale;
+   UErrorCode status = U_ZERO_ERROR;
+   icu::ListFormatter* formatter = icu::ListFormatter::createInstance(
+-      icu_locale, GetIcuStyleString(style_enum, type_enum), status);
++      icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status);
+   if (U_FAILURE(status) || formatter == nullptr) {
+     delete formatter;
+     THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError),

diff --git a/net-libs/nodejs/nodejs-12.22.1.ebuild b/net-libs/nodejs/nodejs-12.22.1.ebuild
index 09249518e7e..4d8fd536264 100644
--- a/net-libs/nodejs/nodejs-12.22.1.ebuild
+++ b/net-libs/nodejs/nodejs-12.22.1.ebuild
@@ -47,6 +47,7 @@ DEPEND="
 PATCHES=(
 	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
 	"${FILESDIR}"/${PN}-12.20.1-fix_ppc64_crashes.patch
+	"${FILESDIR}"/${PN}-12.22.1-v8_icu69.patch
 	"${FILESDIR}"/${PN}-99999999-llhttp.patch
 )
 RESTRICT="test"

diff --git a/net-libs/nodejs/nodejs-14.16.1.ebuild b/net-libs/nodejs/nodejs-14.16.1.ebuild
index b9e5858aaa6..c7c510655c8 100644
--- a/net-libs/nodejs/nodejs-14.16.1.ebuild
+++ b/net-libs/nodejs/nodejs-14.16.1.ebuild
@@ -43,6 +43,7 @@ DEPEND="${RDEPEND}"
 PATCHES=(
 	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
 	"${FILESDIR}"/${PN}-14.15.0-fix_ppc64_crashes.patch
+	"${FILESDIR}"/${PN}-14.16.1-v8_icu69.patch
 )
 
 S="${WORKDIR}/node-v${PV}"

diff --git a/net-libs/nodejs/nodejs-15.14.0.ebuild b/net-libs/nodejs/nodejs-15.14.0.ebuild
index 3b317ab08c9..9ef4cb031dd 100644
--- a/net-libs/nodejs/nodejs-15.14.0.ebuild
+++ b/net-libs/nodejs/nodejs-15.14.0.ebuild
@@ -41,6 +41,7 @@ BDEPEND="${PYTHON_DEPS}
 DEPEND="${RDEPEND}"
 
 PATCHES=(
+	"${FILESDIR}"/${PN}-14.16.1-v8_icu69.patch
 	"${FILESDIR}"/${PN}-15.2.0-global-npm-config.patch
 )
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2021-04-22 15:27 Marek Szuba
  0 siblings, 0 replies; 25+ messages in thread
From: Marek Szuba @ 2021-04-22 15:27 UTC (permalink / raw
  To: gentoo-commits

commit:     5b43e0081fcb5059fc9e68a0aa7d2993a8805643
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 22 13:47:11 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Thu Apr 22 15:27:12 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5b43e008

net-libs/nodejs-16.0.0: implement IUSE=lto

Note that the upstream patch which for the time being is required to
make LTO work only has an effect if the aforementioned USE flag is set.

Closes: https://bugs.gentoo.org/784995
Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 net-libs/nodejs/files/nodejs-16.0.0-v8_lto.patch   | 39 ++++++++++++++++++++++
 net-libs/nodejs/metadata.xml                       |  1 +
 ...odejs-16.0.0.ebuild => nodejs-16.0.0-r1.ebuild} | 12 +++++--
 3 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/net-libs/nodejs/files/nodejs-16.0.0-v8_lto.patch b/net-libs/nodejs/files/nodejs-16.0.0-v8_lto.patch
new file mode 100644
index 00000000000..a3e4acb02c3
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-16.0.0-v8_lto.patch
@@ -0,0 +1,39 @@
+From ea694e2b138d2f991989e09fc0e964fec3587b5f Mon Sep 17 00:00:00 2001
+From: Jesse Chan <jc@linux.com>
+Date: Thu, 22 Apr 2021 19:41:09 +0800
+Subject: [PATCH] tools: disable LTO for "v8_cppgc_shared" target
+
+"PushAllRegistersAndIterateStack" is implemented in assembly and
+called from "stack.cc" via 'extern "C"'. [1]
+
+However, LTO does not work well with symbol usage from assembly. [2]
+
+This change workarounds the issue by disabling LTO for the target.
+
+With GCC 10 and "./configure --enable-lto", compilation succeeds
+after this change.
+
+[1] v8/v8@c10863153
+[2] https://gcc.gnu.org/wiki/LinkTimeOptimizationFAQ#Symbol_usage_from_assembly_language
+
+Refs: #35957
+Refs: #38335
+Signed-off-by: Jesse Chan <jc@linux.com>
+---
+ tools/v8_gypfiles/v8.gyp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
+index ccb5984f47d..377e12d1fdc 100644
+--- a/tools/v8_gypfiles/v8.gyp
++++ b/tools/v8_gypfiles/v8.gyp
+@@ -1378,6 +1378,9 @@
+           '<(V8_ROOT)/src/heap/base/worklist.h',
+         ],
+         'conditions': [
++          ['enable_lto=="true"', {
++            'cflags_cc': [ '-fno-lto' ],
++          }],
+           ['clang or OS!="win"', {
+             'conditions': [
+               ['_toolset == "host" and host_arch == "x64" or _toolset == "target" and target_arch=="x64"', {

diff --git a/net-libs/nodejs/metadata.xml b/net-libs/nodejs/metadata.xml
index db1b9aefa8e..15befbfa251 100644
--- a/net-libs/nodejs/metadata.xml
+++ b/net-libs/nodejs/metadata.xml
@@ -12,6 +12,7 @@
 	</maintainer>
 	<use>
 		<flag name="inspector">Enable V8 inspector</flag>
+		<flag name="lto">Build with link-time optimisation</flag>
 		<flag name="npm">Enable NPM package manager</flag>
 		<flag name="pax_kernel">Enable building under a PaX enabled kernel</flag>
 		<flag name="snapshot">Enable snapshot creation for faster startup</flag>

diff --git a/net-libs/nodejs/nodejs-16.0.0.ebuild b/net-libs/nodejs/nodejs-16.0.0-r1.ebuild
similarity index 93%
rename from net-libs/nodejs/nodejs-16.0.0.ebuild
rename to net-libs/nodejs/nodejs-16.0.0-r1.ebuild
index 3b317ab08c9..612a576994a 100644
--- a/net-libs/nodejs/nodejs-16.0.0.ebuild
+++ b/net-libs/nodejs/nodejs-16.0.0-r1.ebuild
@@ -6,7 +6,7 @@ EAPI=7
 PYTHON_COMPAT=( python3_{7..9} )
 PYTHON_REQ_USE="threads(+)"
 
-inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
+inherit bash-completion-r1 pax-utils python-any-r1 toolchain-funcs xdg-utils
 
 DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
 HOMEPAGE="https://nodejs.org/"
@@ -16,7 +16,7 @@ LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
 SLOT="0/$(ver_cut 1)"
 KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86 ~amd64-linux ~x64-macos"
 
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax_kernel +snapshot +ssl system-icu +system-ssl systemtap test"
+IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax_kernel +snapshot +ssl system-icu +system-ssl systemtap test"
 REQUIRED_USE="inspector? ( icu ssl )
 	npm? ( ssl )
 	system-icu? ( icu )
@@ -42,6 +42,7 @@ DEPEND="${RDEPEND}"
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-15.2.0-global-npm-config.patch
+	"${FILESDIR}"/${PN}-16.0.0-v8_lto.patch
 )
 
 S="${WORKDIR}/node-v${PV}"
@@ -49,6 +50,12 @@ S="${WORKDIR}/node-v${PV}"
 pkg_pretend() {
 	(use x86 && ! use cpu_flags_x86_sse2) && \
 		die "Your CPU doesn't support the required SSE2 instruction."
+
+	if [[ ${MERGE_TYPE} != "binary" ]]; then
+		if use lto; then
+			tc-is-gcc || die "${PN} only supports LTO for gcc"
+		fi
+	fi
 }
 
 src_prepare() {
@@ -103,6 +110,7 @@ src_configure() {
 		--shared-zlib
 	)
 	use debug && myconf+=( --debug )
+	use lto && myconf+=( --enable-lto )
 	if use system-icu; then
 		myconf+=( --with-intl=system-icu )
 	elif use icu; then


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2021-05-13 15:30 Georgy Yakovlev
  0 siblings, 0 replies; 25+ messages in thread
From: Georgy Yakovlev @ 2021-05-13 15:30 UTC (permalink / raw
  To: gentoo-commits

commit:     569c31bc14956e0163a84bb6d9f2d6a26c1541b2
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Thu May 13 15:19:55 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Thu May 13 15:30:22 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=569c31bc

net-libs/nodejs: add ppc64 segfault patch to 16.1.0

Bug: https://bugs.gentoo.org/785751
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 .../files/nodejs-16.1.0-ppc64-segfault.patch       | 119 +++++++++++++++++++++
 net-libs/nodejs/nodejs-16.1.0.ebuild               |   1 +
 2 files changed, 120 insertions(+)

diff --git a/net-libs/nodejs/files/nodejs-16.1.0-ppc64-segfault.patch b/net-libs/nodejs/files/nodejs-16.1.0-ppc64-segfault.patch
new file mode 100644
index 00000000000..5ddd1fe7d08
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-16.1.0-ppc64-segfault.patch
@@ -0,0 +1,119 @@
+From ca4bf75504d07db5e1e66ec5c867cd76c90268af Mon Sep 17 00:00:00 2001
+From: Junliang Yan <jyan@ca.ibm.ca>
+Date: Tue, 11 May 2021 08:57:03 -0400
+Subject: [PATCH] ppc: Prevent trampoline emission on deoptimization table generation
+
+The deoptimization table needs to be continuously, so we need to block
+trampoline pool emission during the whole process.
+
+bug: v8:11759
+Change-Id: Ie5e0ffe27dc8e6cdb18985dc2cf26bdadeff318f
+Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2881918
+Commit-Queue: Junliang Yan <junyan@redhat.com>
+Reviewed-by: Jakob Gruber <jgruber@chromium.org>
+Cr-Commit-Position: refs/heads/master@{#74506}
+X-Gentoo-bug: https://bugs.gentoo.org/785751
+Backported by gyakovlev@gentoo.org
+---
+
+diff --git a/src/codegen/ppc/assembler-ppc.h b/src/codegen/ppc/assembler-ppc.h
+index 794b917..ae04118 100644
+--- a/deps/v8/src/codegen/ppc/assembler-ppc.h
++++ b/deps/v8/src/codegen/ppc/assembler-ppc.h
+@@ -195,6 +195,12 @@
+ 
+   void MaybeEmitOutOfLineConstantPool() { EmitConstantPool(); }
+ 
++  inline void CheckTrampolinePoolQuick(int extra_space = 0) {
++    if (pc_offset() >= next_trampoline_check_ - extra_space) {
++      CheckTrampolinePool();
++    }
++  }
++
+   // Label operations & relative jumps (PPUM Appendix D)
+   //
+   // Takes a branch opcode (cc) and a label (L) and generates
+@@ -1334,12 +1340,6 @@
+   }
+ 
+   inline void UntrackBranch();
+-  void CheckTrampolinePoolQuick() {
+-    if (pc_offset() >= next_trampoline_check_) {
+-      CheckTrampolinePool();
+-    }
+-  }
+-
+   // Instruction generation
+   void a_form(Instr instr, DoubleRegister frt, DoubleRegister fra,
+               DoubleRegister frb, RCBit r);
+diff --git a/src/compiler/backend/code-generator.cc b/src/compiler/backend/code-generator.cc
+index 023e697..62e57fe 100644
+--- a/deps/v8/src/compiler/backend/code-generator.cc
++++ b/deps/v8/src/compiler/backend/code-generator.cc
+@@ -416,23 +416,29 @@
+     std::sort(deoptimization_exits_.begin(), deoptimization_exits_.end(), cmp);
+   }
+ 
+-  for (DeoptimizationExit* exit : deoptimization_exits_) {
+-    if (exit->emitted()) continue;
+-    if (Deoptimizer::kSupportsFixedDeoptExitSizes) {
+-      exit->set_deoptimization_id(next_deoptimization_id_++);
+-    }
+-    result_ = AssembleDeoptimizerCall(exit);
+-    if (result_ != kSuccess) return;
++  {
++#ifdef V8_TARGET_ARCH_PPC64
++    v8::internal::Assembler::BlockTrampolinePoolScope block_trampoline_pool(
++        tasm());
++#endif
++    for (DeoptimizationExit* exit : deoptimization_exits_) {
++      if (exit->emitted()) continue;
++      if (Deoptimizer::kSupportsFixedDeoptExitSizes) {
++        exit->set_deoptimization_id(next_deoptimization_id_++);
++      }
++      result_ = AssembleDeoptimizerCall(exit);
++      if (result_ != kSuccess) return;
+ 
+-    // UpdateDeoptimizationInfo expects lazy deopts to be visited in pc_offset
+-    // order, which is always the case since they are added to
+-    // deoptimization_exits_ in that order, and the optional sort operation
+-    // above preserves that order.
+-    if (exit->kind() == DeoptimizeKind::kLazy) {
+-      int trampoline_pc = exit->label()->pos();
+-      last_updated = safepoints()->UpdateDeoptimizationInfo(
+-          exit->pc_offset(), trampoline_pc, last_updated,
+-          exit->deoptimization_id());
++      // UpdateDeoptimizationInfo expects lazy deopts to be visited in pc_offset
++      // order, which is always the case since they are added to
++      // deoptimization_exits_ in that order, and the optional sort operation
++      // above preserves that order.
++      if (exit->kind() == DeoptimizeKind::kLazy) {
++        int trampoline_pc = exit->label()->pos();
++        last_updated = safepoints()->UpdateDeoptimizationInfo(
++            exit->pc_offset(), trampoline_pc, last_updated,
++            exit->deoptimization_id());
++      }
+     }
+   }
+ 
+diff --git a/src/compiler/backend/ppc/code-generator-ppc.cc b/src/compiler/backend/ppc/code-generator-ppc.cc
+index 3e4e94a..0281376 100644
+--- a/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
++++ b/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
+@@ -4296,7 +4296,15 @@
+ 
+ void CodeGenerator::PrepareForDeoptimizationExits(
+     ZoneDeque<DeoptimizationExit*>* exits) {
+-  // __ EmitConstantPool();
++  int total_size = 0;
++  for (DeoptimizationExit* exit : deoptimization_exits_) {
++    total_size += (exit->kind() == DeoptimizeKind::kLazy)
++                      ? Deoptimizer::kLazyDeoptExitSize
++                      : Deoptimizer::kNonLazyDeoptExitSize;
++  }
++
++  __ CheckTrampolinePoolQuick(total_size);
++  DCHECK(Deoptimizer::kSupportsFixedDeoptExitSizes);
+ }
+ 
+ void CodeGenerator::AssembleMove(InstructionOperand* source,

diff --git a/net-libs/nodejs/nodejs-16.1.0.ebuild b/net-libs/nodejs/nodejs-16.1.0.ebuild
index f8ca995c2e1..2d9a2dbb00c 100644
--- a/net-libs/nodejs/nodejs-16.1.0.ebuild
+++ b/net-libs/nodejs/nodejs-16.1.0.ebuild
@@ -50,6 +50,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-12.22.1-uvwasi_shared_libuv.patch
 	"${FILESDIR}"/${PN}-15.2.0-global-npm-config.patch
 	"${FILESDIR}"/${PN}-16.1.0-test-repl-history-navigation.patch
+	"${FILESDIR}"/${PN}-16.1.0-ppc64-segfault.patch #785751, drop after it stops applying
 )
 
 pkg_pretend() {


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2021-05-13 21:36 Marek Szuba
  0 siblings, 0 replies; 25+ messages in thread
From: Marek Szuba @ 2021-05-13 21:36 UTC (permalink / raw
  To: gentoo-commits

commit:     c1bc93122e06423e545ceee2377c4beaf8de970b
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Thu May 13 21:21:26 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Thu May 13 21:35:58 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c1bc9312

net-libs/nodejs: support python3_10

The version of jinja bundled with v8 (in all versions currently in the
tree) still imports ABCs from collections rather than collections.abc,
then again with that patched everything seems to be in order.

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 .../nodejs/files/nodejs-12.22.1-jinja_collections_abc.patch   | 11 +++++++++++
 net-libs/nodejs/nodejs-12.22.1-r1.ebuild                      |  3 ++-
 net-libs/nodejs/nodejs-14.16.1-r1.ebuild                      |  3 ++-
 net-libs/nodejs/nodejs-16.1.0.ebuild                          |  3 ++-
 net-libs/nodejs/nodejs-99999999.ebuild                        |  6 +++++-
 5 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/net-libs/nodejs/files/nodejs-12.22.1-jinja_collections_abc.patch b/net-libs/nodejs/files/nodejs-12.22.1-jinja_collections_abc.patch
new file mode 100644
index 00000000000..45be8cb07f8
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-12.22.1-jinja_collections_abc.patch
@@ -0,0 +1,11 @@
+--- a/deps/v8/third_party/jinja2/tests.py
++++ b/deps/v8/third_party/jinja2/tests.py
+@@ -10,7 +10,7 @@
+ """
+ import operator
+ import re
+-from collections import Mapping
++from collections.abc import Mapping
+ from jinja2.runtime import Undefined
+ from jinja2._compat import text_type, string_types, integer_types
+ import decimal

diff --git a/net-libs/nodejs/nodejs-12.22.1-r1.ebuild b/net-libs/nodejs/nodejs-12.22.1-r1.ebuild
index 84110ff8706..754e3973f54 100644
--- a/net-libs/nodejs/nodejs-12.22.1-r1.ebuild
+++ b/net-libs/nodejs/nodejs-12.22.1-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{7..10} )
 PYTHON_REQ_USE="threads(+)"
 
 inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
@@ -53,6 +53,7 @@ DEPEND="
 PATCHES=(
 	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
 	"${FILESDIR}"/${PN}-12.20.1-fix_ppc64_crashes.patch
+	"${FILESDIR}"/${PN}-12.22.1-jinja_collections_abc.patch
 	"${FILESDIR}"/${PN}-12.22.1-uvwasi_shared_libuv.patch
 	"${FILESDIR}"/${PN}-12.22.1-v8_icu69.patch
 	"${FILESDIR}"/${PN}-99999999-llhttp.patch

diff --git a/net-libs/nodejs/nodejs-14.16.1-r1.ebuild b/net-libs/nodejs/nodejs-14.16.1-r1.ebuild
index 82f78fb0068..6f3e887f73d 100644
--- a/net-libs/nodejs/nodejs-14.16.1-r1.ebuild
+++ b/net-libs/nodejs/nodejs-14.16.1-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{7..10} )
 PYTHON_REQ_USE="threads(+)"
 
 inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
@@ -48,6 +48,7 @@ DEPEND="${RDEPEND}"
 
 PATCHES=(
 	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
+	"${FILESDIR}"/${PN}-12.22.1-jinja_collections_abc.patch
 	"${FILESDIR}"/${PN}-12.22.1-uvwasi_shared_libuv.patch
 	"${FILESDIR}"/${PN}-14.15.0-fix_ppc64_crashes.patch
 	"${FILESDIR}"/${PN}-14.16.1-v8_icu69.patch

diff --git a/net-libs/nodejs/nodejs-16.1.0.ebuild b/net-libs/nodejs/nodejs-16.1.0.ebuild
index 2d9a2dbb00c..e1f164dff75 100644
--- a/net-libs/nodejs/nodejs-16.1.0.ebuild
+++ b/net-libs/nodejs/nodejs-16.1.0.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{7..10} )
 PYTHON_REQ_USE="threads(+)"
 
 inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
@@ -47,6 +47,7 @@ BDEPEND="${PYTHON_DEPS}
 DEPEND="${RDEPEND}"
 
 PATCHES=(
+	"${FILESDIR}"/${PN}-12.22.1-jinja_collections_abc.patch
 	"${FILESDIR}"/${PN}-12.22.1-uvwasi_shared_libuv.patch
 	"${FILESDIR}"/${PN}-15.2.0-global-npm-config.patch
 	"${FILESDIR}"/${PN}-16.1.0-test-repl-history-navigation.patch

diff --git a/net-libs/nodejs/nodejs-99999999.ebuild b/net-libs/nodejs/nodejs-99999999.ebuild
index 2b81f6a39ed..2d45db3952a 100644
--- a/net-libs/nodejs/nodejs-99999999.ebuild
+++ b/net-libs/nodejs/nodejs-99999999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-PYTHON_COMPAT=( python3_{7..9} )
+PYTHON_COMPAT=( python3_{7..10} )
 PYTHON_REQ_USE="threads(+)"
 
 inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
@@ -46,6 +46,10 @@ BDEPEND="${PYTHON_DEPS}
 	pax_kernel? ( sys-apps/elfix )"
 DEPEND="${RDEPEND}"
 
+PATCHES=(
+	"${FILESDIR}"/${PN}-12.22.1-jinja_collections_abc.patch  # still needed as of 2021-05-13
+)
+
 pkg_pretend() {
 	(use x86 && ! use cpu_flags_x86_sse2) && \
 		die "Your CPU doesn't support the required SSE2 instruction."


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2021-08-13 17:36 Marek Szuba
  0 siblings, 0 replies; 25+ messages in thread
From: Marek Szuba @ 2021-08-13 17:36 UTC (permalink / raw
  To: gentoo-commits

commit:     ce94293ce2eaae7c76f09dd33016b614c87cee7a
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 13 17:14:12 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Fri Aug 13 17:36:53 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce94293c

net-libs/nodejs: add 12.22.5, drop 12.22.4

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |   2 +-
 .../nodejs-12.22.5-shared_c-ares_nameser_h.patch   | 534 +++++++++++++++++++++
 ...nodejs-12.22.4.ebuild => nodejs-12.22.5.ebuild} |  11 +-
 3 files changed, 545 insertions(+), 2 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index 023df905733..a1ec5dfaa77 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,6 +1,6 @@
 DIST node-v12.22.1.tar.xz 23650180 BLAKE2B 90b0a8ab3842483fea0c776e0245e63539a986c18f55abd8c7cd22ec399ccde22fa5b008d3e07c0f07713b5a45a1ee2a0bc370c04408800db2ee59cd92fcb5be SHA512 eaead633611bda04ab9be200aeddf3b4004b8104e9c6af246023b8008003dd3a7103e1508ea690443e59c6591521b04a2d71c7344343f2a20d1c935ef51c66a0
 DIST node-v12.22.3.tar.xz 23662268 BLAKE2B b686d96ce1a2e1678c1565dbc6025738be85dc6b0e21b39742265639eb8da590b33f86afa5ca3ecaa4c70e4155a97e413e4d6e5da9ec0c5cb19a876241e599e5 SHA512 11684b6df15b6b74b8674ebf2c2bb950d1e52b83f90478638e85dd11a163dc7c62ae888bc4c1c29e89179e0c47fdccc26bee2817d64eb3ff926b2d3e648c351c
-DIST node-v12.22.4.tar.xz 23653388 BLAKE2B dfed2c23f7bbafe20d955dbe382ee8b2b40d17a8f4a9266242b405d5c3cb8654e8727817822d33a06c121cd0f04a027cdd3e4483c70e95f17cb4032ab4429bc5 SHA512 dc833f60474bb5659870573d751cb0e90cef87f94f0111d379a66ba593bf1ac00f624be75839bdcbeb3380c5ca52ef87cd0ffbe8f4e89345b0dec3165b9ce85e
+DIST node-v12.22.5.tar.xz 23654908 BLAKE2B ca4f304e31f091ae656142035851d6e4427d8b2ddd2a69506dec96efbb1269a19a08e9ab8d44dfe10f8429bc239e4102f3f030adb25e9c41901c7d94b53e88c8 SHA512 80f3c673a1f2af7fffd6aaa556c06b8225034c8413e1a738c19d491aff1b3e6ed388df66ecbff88e4bfbefe1013dac7e3beb301456c2099b6a954ba468b21883
 DIST node-v14.16.1.tar.xz 33297064 BLAKE2B 0927434c63cd248e90a4002b50c7a0fd68a5527a4cd7424b451840ddf0c403ba452979b195e598cc3b323e24233248a74a1274519ce8cd3a2f4e71dc7a8f3dcb SHA512 d4f5fbab69592ae555613b2186090b85a458d2211b6035989aee2617bfd0f6768ca767ec45ce12756a9c452d00af7237edee3b1ae526049e9fcd01f8f67680c0
 DIST node-v14.17.3.tar.xz 33585080 BLAKE2B 37267c9da2d773dbbe95f7378f5b0c2b0dc397b17850be325f9fec637c6745dede4ca4136ba4bf109d72d8982ee985f1e077cc706165f1be2e3dc3053edfe229 SHA512 c6096715299f155b96df873976da91e854da7e99cde635cdb65d5c962abc5283dac86b8ddce4f5a9f7498f9793ff08943645b5e5b0b23395dfe035f7295218bb
 DIST node-v14.17.5.tar.xz 33585724 BLAKE2B cf79397caad8c81e4096f344f9fdb88d8ecea44b97fe208256dfd4afb750ecdf52142a2dc0430285b9d5117bdd43fa5ce42b4418926eec4d2c7f0a5f5d1a1539 SHA512 9d62c8946d05862d96a13a71b241a097b9f592a9e5f7362c81d8f3c74e7c5546a308b4c74bef34a66cafeef5d1a87d9d3e5ae8bb87d470c1ecf5abb8de0dedb5

diff --git a/net-libs/nodejs/files/nodejs-12.22.5-shared_c-ares_nameser_h.patch b/net-libs/nodejs/files/nodejs-12.22.5-shared_c-ares_nameser_h.patch
new file mode 100644
index 00000000000..f90084c2bb2
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-12.22.5-shared_c-ares_nameser_h.patch
@@ -0,0 +1,534 @@
+From aff98a5667c22794e2eaf658f6dfbee54cdd4a3b Mon Sep 17 00:00:00 2001
+From: Felix Yan <felixonmars@archlinux.org>
+Date: Thu, 12 Aug 2021 02:44:43 +0800
+Subject: [PATCH 1/2] deps: fix building with system c-ares on Linux
+
+The change in #39724 breaks building with system c-ares
+(`--shared-cares`):
+```
+In file included from ../src/cares_wrap.cc:25:
+../src/cares_wrap.h:25:11: fatal error: ares_nameser.h: No such file or
+directory
+   25 | # include <ares_nameser.h>
+      |           ^~~~~~~~~~~~~~~~
+```
+
+Since `ares_nameser.h` isn't available with a default system c-ares
+installation, let's copy it as our private header here.
+
+Tested to build fine on Arch Linux with shared c-ares.
+---
+ src/ares_nameser.h | 482 +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 482 insertions(+)
+ create mode 100644 src/ares_nameser.h
+
+diff --git a/src/ares_nameser.h b/src/ares_nameser.h
+new file mode 100644
+index 000000000000..5270e5a3a6a0
+--- /dev/null
++++ b/src/ares_nameser.h
+@@ -0,0 +1,482 @@
++
++#ifndef ARES_NAMESER_H
++#define ARES_NAMESER_H
++
++#ifdef HAVE_ARPA_NAMESER_H
++#  include <arpa/nameser.h>
++#endif
++#ifdef HAVE_ARPA_NAMESER_COMPAT_H
++#  include <arpa/nameser_compat.h>
++#endif
++
++/* ============================================================================
++ * arpa/nameser.h may or may not provide ALL of the below defines, so check
++ * each one individually and set if not
++ * ============================================================================
++ */
++
++#ifndef NS_PACKETSZ
++#  define NS_PACKETSZ     512   /* maximum packet size */
++#endif
++
++#ifndef NS_MAXDNAME
++#  define NS_MAXDNAME     256   /* maximum domain name */
++#endif
++
++#ifndef NS_MAXCDNAME
++#  define NS_MAXCDNAME    255   /* maximum compressed domain name */
++#endif
++
++#ifndef NS_MAXLABEL
++#  define NS_MAXLABEL     63
++#endif
++
++#ifndef NS_HFIXEDSZ
++#  define NS_HFIXEDSZ     12    /* #/bytes of fixed data in header */
++#endif
++
++#ifndef NS_QFIXEDSZ
++#  define NS_QFIXEDSZ     4     /* #/bytes of fixed data in query */
++#endif
++
++#ifndef NS_RRFIXEDSZ
++#  define NS_RRFIXEDSZ    10    /* #/bytes of fixed data in r record */
++#endif
++
++#ifndef NS_INT16SZ
++#  define NS_INT16SZ      2
++#endif
++
++#ifndef NS_INADDRSZ
++#  define NS_INADDRSZ     4
++#endif
++
++#ifndef NS_IN6ADDRSZ
++#  define NS_IN6ADDRSZ    16
++#endif
++
++#ifndef NS_CMPRSFLGS
++#  define NS_CMPRSFLGS    0xc0  /* Flag bits indicating name compression. */
++#endif
++
++#ifndef NS_DEFAULTPORT
++#  define NS_DEFAULTPORT  53    /* For both TCP and UDP. */
++#endif
++
++/* ============================================================================
++ * arpa/nameser.h should provide these enumerations always, so if not found,
++ * provide them
++ * ============================================================================
++ */
++#ifndef HAVE_ARPA_NAMESER_H
++
++typedef enum __ns_class {
++    ns_c_invalid = 0,       /* Cookie. */
++    ns_c_in = 1,            /* Internet. */
++    ns_c_2 = 2,             /* unallocated/unsupported. */
++    ns_c_chaos = 3,         /* MIT Chaos-net. */
++    ns_c_hs = 4,            /* MIT Hesiod. */
++    /* Query class values which do not appear in resource records */
++    ns_c_none = 254,        /* for prereq. sections in update requests */
++    ns_c_any = 255,         /* Wildcard match. */
++    ns_c_max = 65536
++} ns_class;
++
++typedef enum __ns_type {
++    ns_t_invalid = 0,       /* Cookie. */
++    ns_t_a = 1,             /* Host address. */
++    ns_t_ns = 2,            /* Authoritative server. */
++    ns_t_md = 3,            /* Mail destination. */
++    ns_t_mf = 4,            /* Mail forwarder. */
++    ns_t_cname = 5,         /* Canonical name. */
++    ns_t_soa = 6,           /* Start of authority zone. */
++    ns_t_mb = 7,            /* Mailbox domain name. */
++    ns_t_mg = 8,            /* Mail group member. */
++    ns_t_mr = 9,            /* Mail rename name. */
++    ns_t_null = 10,         /* Null resource record. */
++    ns_t_wks = 11,          /* Well known service. */
++    ns_t_ptr = 12,          /* Domain name pointer. */
++    ns_t_hinfo = 13,        /* Host information. */
++    ns_t_minfo = 14,        /* Mailbox information. */
++    ns_t_mx = 15,           /* Mail routing information. */
++    ns_t_txt = 16,          /* Text strings. */
++    ns_t_rp = 17,           /* Responsible person. */
++    ns_t_afsdb = 18,        /* AFS cell database. */
++    ns_t_x25 = 19,          /* X_25 calling address. */
++    ns_t_isdn = 20,         /* ISDN calling address. */
++    ns_t_rt = 21,           /* Router. */
++    ns_t_nsap = 22,         /* NSAP address. */
++    ns_t_nsap_ptr = 23,     /* Reverse NSAP lookup (deprecated). */
++    ns_t_sig = 24,          /* Security signature. */
++    ns_t_key = 25,          /* Security key. */
++    ns_t_px = 26,           /* X.400 mail mapping. */
++    ns_t_gpos = 27,         /* Geographical position (withdrawn). */
++    ns_t_aaaa = 28,         /* Ip6 Address. */
++    ns_t_loc = 29,          /* Location Information. */
++    ns_t_nxt = 30,          /* Next domain (security). */
++    ns_t_eid = 31,          /* Endpoint identifier. */
++    ns_t_nimloc = 32,       /* Nimrod Locator. */
++    ns_t_srv = 33,          /* Server Selection. */
++    ns_t_atma = 34,         /* ATM Address */
++    ns_t_naptr = 35,        /* Naming Authority PoinTeR */
++    ns_t_kx = 36,           /* Key Exchange */
++    ns_t_cert = 37,         /* Certification record */
++    ns_t_a6 = 38,           /* IPv6 address (deprecates AAAA) */
++    ns_t_dname = 39,        /* Non-terminal DNAME (for IPv6) */
++    ns_t_sink = 40,         /* Kitchen sink (experimentatl) */
++    ns_t_opt = 41,          /* EDNS0 option (meta-RR) */
++    ns_t_apl = 42,          /* Address prefix list (RFC3123) */
++    ns_t_ds = 43,           /* Delegation Signer (RFC4034) */
++    ns_t_sshfp = 44,        /* SSH Key Fingerprint (RFC4255) */
++    ns_t_rrsig = 46,        /* Resource Record Signature (RFC4034) */
++    ns_t_nsec = 47,         /* Next Secure (RFC4034) */
++    ns_t_dnskey = 48,       /* DNS Public Key (RFC4034) */
++    ns_t_tkey = 249,        /* Transaction key */
++    ns_t_tsig = 250,        /* Transaction signature. */
++    ns_t_ixfr = 251,        /* Incremental zone transfer. */
++    ns_t_axfr = 252,        /* Transfer zone of authority. */
++    ns_t_mailb = 253,       /* Transfer mailbox records. */
++    ns_t_maila = 254,       /* Transfer mail agent records. */
++    ns_t_any = 255,         /* Wildcard match. */
++    ns_t_zxfr = 256,        /* BIND-specific, nonstandard. */
++    ns_t_caa = 257,         /* Certification Authority Authorization. */
++    ns_t_max = 65536
++} ns_type;
++
++typedef enum __ns_opcode {
++    ns_o_query = 0,         /* Standard query. */
++    ns_o_iquery = 1,        /* Inverse query (deprecated/unsupported). */
++    ns_o_status = 2,        /* Name server status query (unsupported). */
++                                /* Opcode 3 is undefined/reserved. */
++    ns_o_notify = 4,        /* Zone change notification. */
++    ns_o_update = 5,        /* Zone update message. */
++    ns_o_max = 6
++} ns_opcode;
++
++typedef enum __ns_rcode {
++    ns_r_noerror = 0,       /* No error occurred. */
++    ns_r_formerr = 1,       /* Format error. */
++    ns_r_servfail = 2,      /* Server failure. */
++    ns_r_nxdomain = 3,      /* Name error. */
++    ns_r_notimpl = 4,       /* Unimplemented. */
++    ns_r_refused = 5,       /* Operation refused. */
++    /* these are for BIND_UPDATE */
++    ns_r_yxdomain = 6,      /* Name exists */
++    ns_r_yxrrset = 7,       /* RRset exists */
++    ns_r_nxrrset = 8,       /* RRset does not exist */
++    ns_r_notauth = 9,       /* Not authoritative for zone */
++    ns_r_notzone = 10,      /* Zone of record different from zone section */
++    ns_r_max = 11,
++    /* The following are TSIG extended errors */
++    ns_r_badsig = 16,
++    ns_r_badkey = 17,
++    ns_r_badtime = 18
++} ns_rcode;
++
++#endif /* HAVE_ARPA_NAMESER_H */
++
++
++/* ============================================================================
++ * arpa/nameser_compat.h typically sets these.  However on some systems
++ * arpa/nameser.h does, but may not set all of them.  Lets conditionally
++ * define each
++ * ============================================================================
++ */
++
++#ifndef PACKETSZ
++#  define PACKETSZ         NS_PACKETSZ
++#endif
++
++#ifndef MAXDNAME
++#  define MAXDNAME         NS_MAXDNAME
++#endif
++
++#ifndef MAXCDNAME
++#  define MAXCDNAME        NS_MAXCDNAME
++#endif
++
++#ifndef MAXLABEL
++#  define MAXLABEL         NS_MAXLABEL
++#endif
++
++#ifndef HFIXEDSZ
++#  define HFIXEDSZ         NS_HFIXEDSZ
++#endif
++
++#ifndef QFIXEDSZ
++#  define QFIXEDSZ         NS_QFIXEDSZ
++#endif
++
++#ifndef RRFIXEDSZ
++#  define RRFIXEDSZ        NS_RRFIXEDSZ
++#endif
++
++#ifndef INDIR_MASK
++#  define INDIR_MASK       NS_CMPRSFLGS
++#endif
++
++#ifndef NAMESERVER_PORT
++#  define NAMESERVER_PORT  NS_DEFAULTPORT
++#endif
++
++
++/* opcodes */
++#ifndef O_QUERY
++#  define O_QUERY 0  /* ns_o_query */
++#endif
++#ifndef O_IQUERY
++#  define O_IQUERY 1 /* ns_o_iquery */
++#endif
++#ifndef O_STATUS
++#  define O_STATUS 2 /* ns_o_status */
++#endif
++#ifndef O_NOTIFY
++#  define O_NOTIFY 4 /* ns_o_notify */
++#endif
++#ifndef O_UPDATE
++#  define O_UPDATE 5 /* ns_o_update */
++#endif
++
++
++/* response codes */
++#ifndef SERVFAIL
++#  define SERVFAIL        ns_r_servfail
++#endif
++#ifndef NOTIMP
++#  define NOTIMP          ns_r_notimpl
++#endif
++#ifndef REFUSED
++#  define REFUSED         ns_r_refused
++#endif
++#if defined(_WIN32) && !defined(HAVE_ARPA_NAMESER_COMPAT_H) && defined(NOERROR)
++#  undef NOERROR /* it seems this is already defined in winerror.h */
++#endif
++#ifndef NOERROR
++#  define NOERROR         ns_r_noerror
++#endif
++#ifndef FORMERR
++#  define FORMERR         ns_r_formerr
++#endif
++#ifndef NXDOMAIN
++#  define NXDOMAIN        ns_r_nxdomain
++#endif
++/* Non-standard response codes, use numeric values */
++#ifndef YXDOMAIN
++#  define YXDOMAIN        6 /* ns_r_yxdomain */
++#endif
++#ifndef YXRRSET
++#  define YXRRSET         7 /* ns_r_yxrrset */
++#endif
++#ifndef NXRRSET
++#  define NXRRSET         8 /* ns_r_nxrrset */
++#endif
++#ifndef NOTAUTH
++#  define NOTAUTH         9 /* ns_r_notauth */
++#endif
++#ifndef NOTZONE
++#  define NOTZONE         10 /* ns_r_notzone */
++#endif
++#ifndef TSIG_BADSIG
++#  define TSIG_BADSIG     16 /* ns_r_badsig */
++#endif
++#ifndef TSIG_BADKEY
++#  define TSIG_BADKEY     17 /* ns_r_badkey */
++#endif
++#ifndef TSIG_BADTIME
++#  define TSIG_BADTIME    18 /* ns_r_badtime */
++#endif
++
++
++/* classes */
++#ifndef C_IN
++#  define C_IN            1 /* ns_c_in */
++#endif
++#ifndef C_CHAOS
++#  define C_CHAOS         3 /* ns_c_chaos */
++#endif
++#ifndef C_HS
++#  define C_HS            4 /* ns_c_hs */
++#endif
++#ifndef C_NONE
++#  define C_NONE          254 /* ns_c_none */
++#endif
++#ifndef C_ANY
++#  define C_ANY           255 /*  ns_c_any */
++#endif
++
++
++/* types */
++#ifndef T_A
++#  define T_A             1   /* ns_t_a */
++#endif
++#ifndef T_NS
++#  define T_NS            2   /* ns_t_ns */
++#endif
++#ifndef T_MD
++#  define T_MD            3   /* ns_t_md */
++#endif
++#ifndef T_MF
++#  define T_MF            4   /* ns_t_mf */
++#endif
++#ifndef T_CNAME
++#  define T_CNAME         5   /* ns_t_cname */
++#endif
++#ifndef T_SOA
++#  define T_SOA           6   /* ns_t_soa */
++#endif
++#ifndef T_MB
++#  define T_MB            7   /* ns_t_mb */
++#endif
++#ifndef T_MG
++#  define T_MG            8   /* ns_t_mg */
++#endif
++#ifndef T_MR
++#  define T_MR            9   /* ns_t_mr */
++#endif
++#ifndef T_NULL
++#  define T_NULL          10  /* ns_t_null */
++#endif
++#ifndef T_WKS
++#  define T_WKS           11  /* ns_t_wks */
++#endif
++#ifndef T_PTR
++#  define T_PTR           12  /* ns_t_ptr */
++#endif
++#ifndef T_HINFO
++#  define T_HINFO         13  /* ns_t_hinfo */
++#endif
++#ifndef T_MINFO
++#  define T_MINFO         14  /* ns_t_minfo */
++#endif
++#ifndef T_MX
++#  define T_MX            15  /* ns_t_mx */
++#endif
++#ifndef T_TXT
++#  define T_TXT           16  /* ns_t_txt */
++#endif
++#ifndef T_RP
++#  define T_RP            17  /* ns_t_rp */
++#endif
++#ifndef T_AFSDB
++#  define T_AFSDB         18  /* ns_t_afsdb */
++#endif
++#ifndef T_X25
++#  define T_X25           19  /* ns_t_x25 */
++#endif
++#ifndef T_ISDN
++#  define T_ISDN          20  /* ns_t_isdn */
++#endif
++#ifndef T_RT
++#  define T_RT            21  /* ns_t_rt */
++#endif
++#ifndef T_NSAP
++#  define T_NSAP          22  /* ns_t_nsap */
++#endif
++#ifndef T_NSAP_PTR
++#  define T_NSAP_PTR      23  /* ns_t_nsap_ptr */
++#endif
++#ifndef T_SIG
++#  define T_SIG           24  /* ns_t_sig */
++#endif
++#ifndef T_KEY
++#  define T_KEY           25  /* ns_t_key */
++#endif
++#ifndef T_PX
++#  define T_PX            26  /* ns_t_px */
++#endif
++#ifndef T_GPOS
++#  define T_GPOS          27  /* ns_t_gpos */
++#endif
++#ifndef T_AAAA
++#  define T_AAAA          28  /* ns_t_aaaa */
++#endif
++#ifndef T_LOC
++#  define T_LOC           29  /* ns_t_loc */
++#endif
++#ifndef T_NXT
++#  define T_NXT           30  /* ns_t_nxt */
++#endif
++#ifndef T_EID
++#  define T_EID           31  /* ns_t_eid */
++#endif
++#ifndef T_NIMLOC
++#  define T_NIMLOC        32  /* ns_t_nimloc */
++#endif
++#ifndef T_SRV
++#  define T_SRV           33  /* ns_t_srv */
++#endif
++#ifndef T_ATMA
++#  define T_ATMA          34  /* ns_t_atma */
++#endif
++#ifndef T_NAPTR
++#  define T_NAPTR         35  /* ns_t_naptr */
++#endif
++#ifndef T_KX
++#  define T_KX            36  /* ns_t_kx */
++#endif
++#ifndef T_CERT
++#  define T_CERT          37  /* ns_t_cert */
++#endif
++#ifndef T_A6
++#  define T_A6            38  /* ns_t_a6 */
++#endif
++#ifndef T_DNAME
++#  define T_DNAME         39  /* ns_t_dname */
++#endif
++#ifndef T_SINK
++#  define T_SINK          40  /* ns_t_sink */
++#endif
++#ifndef T_OPT
++#  define T_OPT           41  /* ns_t_opt */
++#endif
++#ifndef T_APL
++#  define T_APL           42  /* ns_t_apl */
++#endif
++#ifndef T_DS
++#  define T_DS            43  /* ns_t_ds */
++#endif
++#ifndef T_SSHFP
++#  define T_SSHFP         44  /* ns_t_sshfp */
++#endif
++#ifndef T_RRSIG
++#  define T_RRSIG         46  /* ns_t_rrsig */
++#endif
++#ifndef T_NSEC
++#  define T_NSEC          47  /* ns_t_nsec */
++#endif
++#ifndef T_DNSKEY
++#  define T_DNSKEY        48  /* ns_t_dnskey */
++#endif
++#ifndef T_TKEY
++#  define T_TKEY          249 /* ns_t_tkey */
++#endif
++#ifndef T_TSIG
++#  define T_TSIG          250 /* ns_t_tsig */
++#endif
++#ifndef T_IXFR
++#  define T_IXFR          251 /* ns_t_ixfr */
++#endif
++#ifndef T_AXFR
++#  define T_AXFR          252 /* ns_t_axfr */
++#endif
++#ifndef T_MAILB
++#  define T_MAILB         253 /* ns_t_mailb */
++#endif
++#ifndef T_MAILA
++#  define T_MAILA         254 /* ns_t_maila */
++#endif
++#ifndef T_ANY
++#  define T_ANY           255 /* ns_t_any */
++#endif
++#ifndef T_ZXFR
++#  define T_ZXFR          256 /* ns_t_zxfr */
++#endif
++#ifndef T_CAA
++#  define T_CAA           257 /* ns_t_caa */
++#endif
++#ifndef T_MAX
++#  define T_MAX         65536 /* ns_t_max */
++#endif
++
++
++#endif /* ARES_NAMESER_H */
+
+From db4643979ee676b3a3d6cdf2fb597d399cf8013f Mon Sep 17 00:00:00 2001
+From: Felix Yan <felixonmars@archlinux.org>
+Date: Fri, 13 Aug 2021 00:01:59 +0800
+Subject: [PATCH 2/2] build: ignore cpplint for third-party ares_nameser.h
+
+---
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile b/Makefile
+index ec4c774748cd..c418995c53c1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1289,6 +1289,7 @@ jslint-ci: lint-js-ci
+ LINT_CPP_ADDON_DOC_FILES_GLOB = test/addons/??_*/*.cc test/addons/??_*/*.h
+ LINT_CPP_ADDON_DOC_FILES = $(wildcard $(LINT_CPP_ADDON_DOC_FILES_GLOB))
+ LINT_CPP_EXCLUDE ?=
++LINT_CPP_EXCLUDE += src/ares_nameser.h
+ LINT_CPP_EXCLUDE += src/node_root_certs.h
+ LINT_CPP_EXCLUDE += $(LINT_CPP_ADDON_DOC_FILES)
+ LINT_CPP_EXCLUDE += $(wildcard test/js-native-api/??_*/*.cc test/js-native-api/??_*/*.h test/node-api/??_*/*.cc test/node-api/??_*/*.h)

diff --git a/net-libs/nodejs/nodejs-12.22.4.ebuild b/net-libs/nodejs/nodejs-12.22.5.ebuild
similarity index 93%
rename from net-libs/nodejs/nodejs-12.22.4.ebuild
rename to net-libs/nodejs/nodejs-12.22.5.ebuild
index aa0282ea003..19fc9cce0e0 100644
--- a/net-libs/nodejs/nodejs-12.22.4.ebuild
+++ b/net-libs/nodejs/nodejs-12.22.5.ebuild
@@ -35,7 +35,7 @@ RESTRICT="!test? ( test )"
 RDEPEND="
 	>=app-arch/brotli-1.0.9
 	>=dev-libs/libuv-1.39.0:=
-	>=net-dns/c-ares-1.16.0
+	>=net-dns/c-ares-1.17.2
 	>=net-libs/http-parser-2.9.3:=
 	>=net-libs/nghttp2-1.40.0
 	sys-libs/zlib
@@ -60,6 +60,7 @@ PATCHES=(
 	"${FILESDIR}"/${PN}-12.20.1-fix_ppc64_crashes.patch
 	"${FILESDIR}"/${PN}-12.22.1-jinja_collections_abc.patch
 	"${FILESDIR}"/${PN}-12.22.1-uvwasi_shared_libuv.patch
+	"${FILESDIR}"/${PN}-12.22.5-shared_c-ares_nameser_h.patch
 	"${FILESDIR}"/${PN}-99999999-llhttp.patch
 )
 
@@ -87,6 +88,14 @@ src_prepare() {
 	export V=1
 	export BUILDTYPE=Release
 
+	# There have been cases of other bundled deps bypassing --shared-foo / USE=system-bar,
+	# therefore play it safe and make sure dependencies which are not supposed to be bundled
+	# aren't there in the first place.
+	rm -r deps/{brotli,cares,nghttp2,uv,zlib} || die "Failed to remove undesired bundled deps"
+	if use system-ssl; then
+		rm -r deps/openssl || die "Failed to remoce bundled OpenSSL"
+	fi
+
 	# fix compilation on Darwin
 	# https://code.google.com/p/gyp/issues/detail?id=260
 	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2021-09-16 16:42 Marek Szuba
  0 siblings, 0 replies; 25+ messages in thread
From: Marek Szuba @ 2021-09-16 16:42 UTC (permalink / raw
  To: gentoo-commits

commit:     59ce1218e495f99ed48c2b7d436514be7e329978
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 16 16:33:09 2021 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Thu Sep 16 16:42:47 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59ce1218

net-libs/nodejs: remove old

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |   4 -
 .../nodejs/files/nodejs-12.22.1-v8_icu69.patch     |  85 -------
 .../nodejs/files/nodejs-14.16.1-v8_icu69.patch     |  84 -------
 net-libs/nodejs/nodejs-12.22.1-r1.ebuild           | 224 ------------------
 net-libs/nodejs/nodejs-12.22.3-r1.ebuild           | 249 ---------------------
 net-libs/nodejs/nodejs-14.16.1-r1.ebuild           | 213 ------------------
 net-libs/nodejs/nodejs-14.17.3-r1.ebuild           | 242 --------------------
 7 files changed, 1101 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index cda159f47af..41adb5f5827 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,9 +1,5 @@
-DIST node-v12.22.1.tar.xz 23650180 BLAKE2B 90b0a8ab3842483fea0c776e0245e63539a986c18f55abd8c7cd22ec399ccde22fa5b008d3e07c0f07713b5a45a1ee2a0bc370c04408800db2ee59cd92fcb5be SHA512 eaead633611bda04ab9be200aeddf3b4004b8104e9c6af246023b8008003dd3a7103e1508ea690443e59c6591521b04a2d71c7344343f2a20d1c935ef51c66a0
-DIST node-v12.22.3.tar.xz 23662268 BLAKE2B b686d96ce1a2e1678c1565dbc6025738be85dc6b0e21b39742265639eb8da590b33f86afa5ca3ecaa4c70e4155a97e413e4d6e5da9ec0c5cb19a876241e599e5 SHA512 11684b6df15b6b74b8674ebf2c2bb950d1e52b83f90478638e85dd11a163dc7c62ae888bc4c1c29e89179e0c47fdccc26bee2817d64eb3ff926b2d3e648c351c
 DIST node-v12.22.5.tar.xz 23654908 BLAKE2B ca4f304e31f091ae656142035851d6e4427d8b2ddd2a69506dec96efbb1269a19a08e9ab8d44dfe10f8429bc239e4102f3f030adb25e9c41901c7d94b53e88c8 SHA512 80f3c673a1f2af7fffd6aaa556c06b8225034c8413e1a738c19d491aff1b3e6ed388df66ecbff88e4bfbefe1013dac7e3beb301456c2099b6a954ba468b21883
 DIST node-v12.22.6.tar.xz 23664904 BLAKE2B 04dd4fd4cbe39642a1c3dd8639a4d9e3362055f56bc2565303d0095cda1655033ba4e0ce5a969647d2be73df13ddbcccc4907825a94a41b45c0723b3c02ca980 SHA512 d107f1ff7073d2db9f0198f14b0523870e9b262c71055de2e03fba54f87bc98a57dad43d902c0b349957df21de71dc066133d4831eb7eb07f4e548d0ac724fb2
-DIST node-v14.16.1.tar.xz 33297064 BLAKE2B 0927434c63cd248e90a4002b50c7a0fd68a5527a4cd7424b451840ddf0c403ba452979b195e598cc3b323e24233248a74a1274519ce8cd3a2f4e71dc7a8f3dcb SHA512 d4f5fbab69592ae555613b2186090b85a458d2211b6035989aee2617bfd0f6768ca767ec45ce12756a9c452d00af7237edee3b1ae526049e9fcd01f8f67680c0
-DIST node-v14.17.3.tar.xz 33585080 BLAKE2B 37267c9da2d773dbbe95f7378f5b0c2b0dc397b17850be325f9fec637c6745dede4ca4136ba4bf109d72d8982ee985f1e077cc706165f1be2e3dc3053edfe229 SHA512 c6096715299f155b96df873976da91e854da7e99cde635cdb65d5c962abc5283dac86b8ddce4f5a9f7498f9793ff08943645b5e5b0b23395dfe035f7295218bb
 DIST node-v14.17.5.tar.xz 33585724 BLAKE2B cf79397caad8c81e4096f344f9fdb88d8ecea44b97fe208256dfd4afb750ecdf52142a2dc0430285b9d5117bdd43fa5ce42b4418926eec4d2c7f0a5f5d1a1539 SHA512 9d62c8946d05862d96a13a71b241a097b9f592a9e5f7362c81d8f3c74e7c5546a308b4c74bef34a66cafeef5d1a87d9d3e5ae8bb87d470c1ecf5abb8de0dedb5
 DIST node-v14.17.6.tar.xz 33606464 BLAKE2B c2c449e5eaf8214d7ed4bfab8db0208034cee1d08ef0e1fca478c30fc5cf95be037eb141080dbcfbe4fc58ef734457747dcbd0fe585a0536f9c0bec495435f25 SHA512 581c5698112426042fbf54fa793e56a30cae0c54ce8f23af6ac20d73c69a4f1166c5410f357c5a7b0409a773f99e3b9291e4afffd53b3c0e00569725dc4c47d3
 DIST node-v16.6.2.tar.xz 33713996 BLAKE2B a4974da7004779179bd3bb0f99bb703f789a89c3ffcf194e83ed4ad07b005cc4ff23dd16f69ed1fee5f2d142e9cd813acb9687021a8cf1a64475093928b4e107 SHA512 978fd8204f7512a42256b0b50d674280c418595970a1327f3197fcde1f8787816c243611c24cada8c979352d77452393481600b96e66c72c294bcd04cf33f45f

diff --git a/net-libs/nodejs/files/nodejs-12.22.1-v8_icu69.patch b/net-libs/nodejs/files/nodejs-12.22.1-v8_icu69.patch
deleted file mode 100644
index bd6d5c64b02..00000000000
--- a/net-libs/nodejs/files/nodejs-12.22.1-v8_icu69.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-Port of the Chromium commit 035c305ce7761f51328b45f1bd83e26aef267c9d to node-v12.
-Original commit message follows.
-
-Author:     Frank Tang <ftang@chromium.org>
-AuthorDate: 2020-10-15 22:44:27 -0700
-Commit:     Commit Bot <commit-bot@chromium.org>
-CommitDate: 2020-10-20 02:08:13 +0000
-[Intl] call new ListFormatter::createInstance
-The one we currently using is now marked as internal and to be removed
-for 68. Migrating to the style which already avaiable in ICU 67-1.
-
---- a/deps/v8/src/objects/js-list-format.cc
-+++ b/deps/v8/src/objects/js-list-format.cc
-@@ -29,46 +29,27 @@
- namespace internal {
- 
- namespace {
--const char* kStandard = "standard";
--const char* kOr = "or";
--const char* kUnit = "unit";
--const char* kStandardShort = "standard-short";
--const char* kOrShort = "or-short";
--const char* kUnitShort = "unit-short";
--const char* kStandardNarrow = "standard-narrow";
--const char* kOrNarrow = "or-narrow";
--const char* kUnitNarrow = "unit-narrow";
- 
--const char* GetIcuStyleString(JSListFormat::Style style,
--                              JSListFormat::Type type) {
-+UListFormatterWidth GetIcuWidth(JSListFormat::Style style) {
-+  switch (style) {
-+    case JSListFormat::Style::LONG:
-+      return ULISTFMT_WIDTH_WIDE;
-+    case JSListFormat::Style::SHORT:
-+      return ULISTFMT_WIDTH_SHORT;
-+    case JSListFormat::Style::NARROW:
-+      return ULISTFMT_WIDTH_NARROW;
-+  }
-+  UNREACHABLE();
-+}
-+
-+UListFormatterType GetIcuType(JSListFormat::Type type) {
-   switch (type) {
-     case JSListFormat::Type::CONJUNCTION:
--      switch (style) {
--        case JSListFormat::Style::LONG:
--          return kStandard;
--        case JSListFormat::Style::SHORT:
--          return kStandardShort;
--        case JSListFormat::Style::NARROW:
--          return kStandardNarrow;
--      }
-+      return ULISTFMT_TYPE_AND;
-     case JSListFormat::Type::DISJUNCTION:
--      switch (style) {
--        case JSListFormat::Style::LONG:
--          return kOr;
--        case JSListFormat::Style::SHORT:
--          return kOrShort;
--        case JSListFormat::Style::NARROW:
--          return kOrNarrow;
--      }
-+      return ULISTFMT_TYPE_OR;
-     case JSListFormat::Type::UNIT:
--      switch (style) {
--        case JSListFormat::Style::LONG:
--          return kUnit;
--        case JSListFormat::Style::SHORT:
--          return kUnitShort;
--        case JSListFormat::Style::NARROW:
--          return kUnitNarrow;
--      }
-+      return ULISTFMT_TYPE_UNITS;
-   }
-   UNREACHABLE();
- }
-@@ -170,7 +151,7 @@
-   icu::Locale icu_locale = r.icu_locale;
-   UErrorCode status = U_ZERO_ERROR;
-   icu::ListFormatter* formatter = icu::ListFormatter::createInstance(
--      icu_locale, GetIcuStyleString(style_enum, type_enum), status);
-+      icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status);
-   if (U_FAILURE(status)) {
-     delete formatter;
-     FATAL("Failed to create ICU list formatter, are ICU data files missing?");

diff --git a/net-libs/nodejs/files/nodejs-14.16.1-v8_icu69.patch b/net-libs/nodejs/files/nodejs-14.16.1-v8_icu69.patch
deleted file mode 100644
index d1e204f0c5d..00000000000
--- a/net-libs/nodejs/files/nodejs-14.16.1-v8_icu69.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-Port of the Chromium commit 035c305ce7761f51328b45f1bd83e26aef267c9d to node-v14.
-Original commit message follows.
-
-Author:     Frank Tang <ftang@chromium.org>
-AuthorDate: 2020-10-15 22:44:27 -0700
-Commit:     Commit Bot <commit-bot@chromium.org>
-CommitDate: 2020-10-20 02:08:13 +0000
-[Intl] call new ListFormatter::createInstance
-The one we currently using is now marked as internal and to be removed
-for 68. Migrating to the style which already avaiable in ICU 67-1.
-
---- a/deps/v8/src/objects/js-list-format.cc
-+++ b/deps/v8/src/objects/js-list-format.cc
-@@ -29,46 +29,26 @@
- namespace internal {
- 
- namespace {
--const char* kStandard = "standard";
--const char* kOr = "or";
--const char* kUnit = "unit";
--const char* kStandardShort = "standard-short";
--const char* kOrShort = "or-short";
--const char* kUnitShort = "unit-short";
--const char* kStandardNarrow = "standard-narrow";
--const char* kOrNarrow = "or-narrow";
--const char* kUnitNarrow = "unit-narrow";
-+UListFormatterWidth GetIcuWidth(JSListFormat::Style style) {
-+  switch (style) {
-+    case JSListFormat::Style::LONG:
-+      return ULISTFMT_WIDTH_WIDE;
-+    case JSListFormat::Style::SHORT:
-+      return ULISTFMT_WIDTH_SHORT;
-+    case JSListFormat::Style::NARROW:
-+      return ULISTFMT_WIDTH_NARROW;
-+  }
-+  UNREACHABLE();
-+}
- 
--const char* GetIcuStyleString(JSListFormat::Style style,
--                              JSListFormat::Type type) {
-+UListFormatterType GetIcuType(JSListFormat::Type type) {
-   switch (type) {
-     case JSListFormat::Type::CONJUNCTION:
--      switch (style) {
--        case JSListFormat::Style::LONG:
--          return kStandard;
--        case JSListFormat::Style::SHORT:
--          return kStandardShort;
--        case JSListFormat::Style::NARROW:
--          return kStandardNarrow;
--      }
-+      return ULISTFMT_TYPE_AND;
-     case JSListFormat::Type::DISJUNCTION:
--      switch (style) {
--        case JSListFormat::Style::LONG:
--          return kOr;
--        case JSListFormat::Style::SHORT:
--          return kOrShort;
--        case JSListFormat::Style::NARROW:
--          return kOrNarrow;
--      }
-+      return ULISTFMT_TYPE_OR;
-     case JSListFormat::Type::UNIT:
--      switch (style) {
--        case JSListFormat::Style::LONG:
--          return kUnit;
--        case JSListFormat::Style::SHORT:
--          return kUnitShort;
--        case JSListFormat::Style::NARROW:
--          return kUnitNarrow;
--      }
-+      return ULISTFMT_TYPE_UNITS;
-   }
-   UNREACHABLE();
- }
-@@ -143,7 +123,7 @@
-   icu::Locale icu_locale = r.icu_locale;
-   UErrorCode status = U_ZERO_ERROR;
-   icu::ListFormatter* formatter = icu::ListFormatter::createInstance(
--      icu_locale, GetIcuStyleString(style_enum, type_enum), status);
-+      icu_locale, GetIcuType(type_enum), GetIcuWidth(style_enum), status);
-   if (U_FAILURE(status) || formatter == nullptr) {
-     delete formatter;
-     THROW_NEW_ERROR(isolate, NewRangeError(MessageTemplate::kIcuError),

diff --git a/net-libs/nodejs/nodejs-12.22.1-r1.ebuild b/net-libs/nodejs/nodejs-12.22.1-r1.ebuild
deleted file mode 100644
index eeda8119a76..00000000000
--- a/net-libs/nodejs/nodejs-12.22.1-r1.ebuild
+++ /dev/null
@@ -1,224 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="
-	https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
-"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="arm64 ppc64 x86"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RDEPEND="
-	>=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.39.0:=
-	>=net-dns/c-ares-1.16.0:=
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.40.0:=
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? (
-		>=dev-libs/openssl-1.1.1:0=
-		<dev-libs/openssl-3.0.0_beta1:0=
-	)
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-12.20.1-fix_ppc64_crashes.patch
-	"${FILESDIR}"/${PN}-12.22.1-v8_icu69.patch
-	"${FILESDIR}"/${PN}-99999999-llhttp.patch
-)
-RESTRICT="test"
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
-		die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-http-parser
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	elog "The global npm config lives in /etc/npm. This deviates slightly"
-	elog "from upstream which otherwise would have it live in /usr/etc/."
-	elog ""
-	elog "Protip: When using node-gyp to install native modules, you can"
-	elog "avoid having to download extras by doing the following:"
-	elog "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-12.22.3-r1.ebuild b/net-libs/nodejs/nodejs-12.22.3-r1.ebuild
deleted file mode 100644
index c9edbd626d2..00000000000
--- a/net-libs/nodejs/nodejs-12.22.3-r1.ebuild
+++ /dev/null
@@ -1,249 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="arm"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector lto +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.39.0:=
-	>=net-dns/c-ares-1.16.0:=
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.40.0:=
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? (
-		>=dev-libs/openssl-1.1.1:0=
-		<dev-libs/openssl-3.0.0_beta1:0=
-	)
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-12.20.1-fix_ppc64_crashes.patch
-	"${FILESDIR}"/${PN}-12.22.1-jinja_collections_abc.patch
-	"${FILESDIR}"/${PN}-12.22.1-uvwasi_shared_libuv.patch
-	"${FILESDIR}"/${PN}-12.22.1-v8_icu69.patch
-	"${FILESDIR}"/${PN}-99999999-llhttp.patch
-)
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	if [[ ${MERGE_TYPE} != "binary" ]]; then
-		if use lto; then
-			if tc-is-gcc; then
-				if [[ $(gcc-major-version) -ge 11 ]]; then
-					# Bug #787158
-					die "LTO builds of ${PN} using gcc-11+ currently fail tests and produce runtime errors. Either switch to gcc-10 or unset USE=lto for this ebuild"
-				fi
-			else
-				# configure.py will abort on this later if we do not
-				die "${PN} only supports LTO for gcc"
-			fi
-		fi
-	fi
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Known-to-fail test of a deprecated, legacy HTTP parser. Just don't bother.
-	rm -f test/parallel/test-http-transfer-encoding-smuggling-legacy.js
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-flags '-flto*'
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-http-parser
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	# parallel/test-fs-mkdir is known to fail with FEATURES=usersandbox
-	if has usersandbox ${FEATURES}; then
-		ewarn "You are emerging ${P} with 'usersandbox' enabled." \
-			"Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
-	fi
-
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	elog "The global npm config lives in /etc/npm. This deviates slightly"
-	elog "from upstream which otherwise would have it live in /usr/etc/."
-	elog ""
-	elog "Protip: When using node-gyp to install native modules, you can"
-	elog "avoid having to download extras by doing the following:"
-	elog "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-14.16.1-r1.ebuild b/net-libs/nodejs/nodejs-14.16.1-r1.ebuild
deleted file mode 100644
index b65beeceecb..00000000000
--- a/net-libs/nodejs/nodejs-14.16.1-r1.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="arm64 ppc64 x86"
-
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax-kernel +snapshot +ssl system-icu +system-ssl systemtap test"
-REQUIRED_USE="inspector? ( icu ssl )
-	npm? ( ssl )
-	system-icu? ( icu )
-	system-ssl? ( ssl )"
-
-# FIXME: test-fs-mkdir fails with "no such file or directory". Investigate.
-RESTRICT="test"
-
-RDEPEND=">=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.40.0:=
-	>=net-dns/c-ares-1.16.1:=
-	>=net-libs/nghttp2-1.41.0:=
-	sys-libs/zlib
-	system-icu? ( >=dev-libs/icu-67:= )
-	system-ssl? (
-		>=dev-libs/openssl-1.1.1:0=
-		<dev-libs/openssl-3.0.0_beta1:0=
-	)"
-BDEPEND="${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax-kernel? ( sys-apps/elfix )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-14.15.0-fix_ppc64_crashes.patch
-	"${FILESDIR}"/${PN}-14.16.1-v8_icu69.patch
-)
-
-S="${WORKDIR}/node-v${PV}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Avoid a test that I've only been able to reproduce from emerge. It doesnt
-	# seem sandbox related either (invoking it from a sandbox works fine).
-	# The issue is that no stdin handle is openened when asked for one.
-	# It doesn't really belong upstream , so it'll just be removed until someone
-	# with more gentoo-knowledge than me (jbergstroem) figures it out.
-	rm test/parallel/test-stdout-close-unref.js || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	if use system-icu; then
-		myconf+=( --with-intl=system-icu )
-	elif use icu; then
-		myconf+=( --with-intl=full-icu )
-	else
-		myconf+=( --with-intl=none )
-	fi
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
-}

diff --git a/net-libs/nodejs/nodejs-14.17.3-r1.ebuild b/net-libs/nodejs/nodejs-14.17.3-r1.ebuild
deleted file mode 100644
index af0c97b42fc..00000000000
--- a/net-libs/nodejs/nodejs-14.17.3-r1.ebuild
+++ /dev/null
@@ -1,242 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="arm"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl system-icu +system-ssl systemtap test"
-REQUIRED_USE="inspector? ( icu ssl )
-	npm? ( ssl )
-	system-icu? ( icu )
-	system-ssl? ( ssl )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.40.0:=
-	>=net-dns/c-ares-1.16.1:=
-	>=net-libs/nghttp2-1.41.0:=
-	sys-libs/zlib
-	system-icu? ( >=dev-libs/icu-67:= )
-	system-ssl? (
-		>=dev-libs/openssl-1.1.1:0=
-		<dev-libs/openssl-3.0.0_beta1:0=
-	)"
-BDEPEND="${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax-kernel? ( sys-apps/elfix )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-12.22.1-jinja_collections_abc.patch
-	"${FILESDIR}"/${PN}-12.22.1-uvwasi_shared_libuv.patch
-	"${FILESDIR}"/${PN}-14.15.0-fix_ppc64_crashes.patch
-)
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	if [[ ${MERGE_TYPE} != "binary" ]]; then
-		if use lto; then
-			if tc-is-gcc; then
-				if [[ $(gcc-major-version) -ge 11 ]]; then
-					# Bug #787158
-					die "LTO builds of ${PN} using gcc-11+ currently fail tests and produce runtime errors. Either switch to gcc-10 or unset USE=lto for this ebuild"
-				fi
-			else
-				# configure.py will abort on this later if we do not
-				die "${PN} only supports LTO for gcc"
-			fi
-		fi
-	fi
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
-
-	# All this test does is check if the npm CLI produces warnings of any sort,
-	# failing if it does. Overkill, much? Especially given one possible warning
-	# is that there is a newer version of npm available upstream (yes, it does
-	# use the network if available), thus making it a real possibility for this
-	# test to begin failing one day even though it was fine before.
-	rm -f test/parallel/test-release-npm.js
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-flags '-flto*'
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	if use system-icu; then
-		myconf+=( --with-intl=system-icu )
-	elif use icu; then
-		myconf+=( --with-intl=full-icu )
-	else
-		myconf+=( --with-intl=none )
-	fi
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	# parallel/test-fs-mkdir is known to fail with FEATURES=usersandbox
-	if has usersandbox ${FEATURES}; then
-		ewarn "You are emerging ${P} with 'usersandbox' enabled." \
-			"Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
-	fi
-
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2022-03-17 21:39 William Hubbs
  0 siblings, 0 replies; 25+ messages in thread
From: William Hubbs @ 2022-03-17 21:39 UTC (permalink / raw
  To: gentoo-commits

commit:     4d409d22398cb3d4937d00663d3fdaed05f19763
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 17 21:39:18 2022 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Mar 17 21:39:18 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d409d22

net-libs/nodejs: add 14.19.0

Bug: https://bugs.gentoo.org/831037
Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |   1 +
 .../files/nodejs-14.19.0-global-npm-config.patch   |  20 ++
 net-libs/nodejs/nodejs-14.19.0.ebuild              | 241 +++++++++++++++++++++
 3 files changed, 262 insertions(+)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index 12b01fcf7686..4877d0318846 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -5,6 +5,7 @@ DIST node-v14.17.5.tar.xz 33585724 BLAKE2B cf79397caad8c81e4096f344f9fdb88d8ecea
 DIST node-v14.17.6.tar.xz 33606464 BLAKE2B c2c449e5eaf8214d7ed4bfab8db0208034cee1d08ef0e1fca478c30fc5cf95be037eb141080dbcfbe4fc58ef734457747dcbd0fe585a0536f9c0bec495435f25 SHA512 581c5698112426042fbf54fa793e56a30cae0c54ce8f23af6ac20d73c69a4f1166c5410f357c5a7b0409a773f99e3b9291e4afffd53b3c0e00569725dc4c47d3
 DIST node-v14.18.0.tar.xz 33698388 BLAKE2B 0a26aac559f2cd44d863b5375bc26692f1abf121c368df040041c9916e56410c3c919be377f099651e9a5e27bad972705d02a20f108f527cf23044e8ba95dd78 SHA512 0603e2466bf89b57e404e2992dda25012866a347489fb811a9757aea07056fc4f346236adf44a56d52c442f5f298f4dfdfc961f8582cd194d062beeb80c60cbf
 DIST node-v14.18.1.tar.xz 33693816 BLAKE2B 310a53a7319620d8ff77b4e5947c7f2196efe96eb0d4311c8fb91b500331128750096e7b0471def73bee00cfa6a9da968cc8176b1d46d06d14c3409dedb9203b SHA512 a92d6f392e960008efd0c1f48471a3e294aa5292065fb31acc62723e8924f7f1a22bb02f3ab51a440f6e190bdee3c1667a275808c6b76d053a77aa6d7ad68aef
+DIST node-v14.19.0.tar.xz 34486868 BLAKE2B 12e571a366c1d4b2475ef258e338f516bb81e9c08f7e6b7f951decbf371028cdcf32c72181d8504d0890496eaecce0d6b23437b8dad6c6e498d30bf6636bd1e7 SHA512 80573fa3a0882c1f2a40b991f187f49714748ca4c56c78133e2d2be0322f201816eb059a1a7d38ea8a925229c1b1324d0ffc28ff4002d0115bfae44fe87efe97
 DIST node-v16.10.0.tar.xz 34046720 BLAKE2B e745443a4707eca97ebfc0d3cb8e697f64cd3eb98a419debde79100291ab64306d2c7cbda6ce1bfe6174cbc53880ddbda2965b0b6b8aa4b4b278781f002da277 SHA512 278f3e29f14362c017fbfa768bf0aa54cd208048741622413a67d3277e35fbdbc099fb84ce1de77837616e0e6f485916ccc771a7bee0b2ac5d30b4d4a6cf94f6
 DIST node-v16.13.0.tar.xz 33502788 BLAKE2B d30a63e77ef3b423bfa3a43299f7f6576ee5b0544757d1dbf233cbbc4bc9c70971927283ca87497add5ed05c9bf5d5501b36992cd242468fcd12e7f950ee29c2 SHA512 5d840fa49e8e637398f20b166b590a57e1070fd04c62bcb9b2d56646cf5a97719a70dbd9e0e29a548a268ac84c9a6c63c02ed6d38536ed45d82ffb96896a61c0
 DIST node-v16.13.1.tar.xz 33907544 BLAKE2B 9243145f53619cb8285dc686d30317b71f474e67853eb16266b4bf4f2af2f81ad1d78d39ffa70024c4a99612230f07605fce69674a5b12013291e7746252dbc4 SHA512 bb0739089965785dff59721303ac68605a459d40318e1eada071c720e1499569cefb61a59a378062794d8533b8d54b8d5fef0e380f7e159206a89b0bb0b9cebf

diff --git a/net-libs/nodejs/files/nodejs-14.19.0-global-npm-config.patch b/net-libs/nodejs/files/nodejs-14.19.0-global-npm-config.patch
new file mode 100644
index 000000000000..09d9dbe47be0
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-14.19.0-global-npm-config.patch
@@ -0,0 +1,20 @@
+diff --git a/deps/npm/lib/config/core.js b/deps/npm/lib/config/core.js
+index 36420b3450..0afb0b6792 100644
+--- a/deps/npm/lib/config/core.js
++++ b/deps/npm/lib/config/core.js
+@@ -151,11 +151,10 @@ function load_ (builtin, rc, cli, cb) {
+     // Eg, `npm config get globalconfig --prefix ~/local` should
+     // return `~/local/etc/npmrc`
+     // annoying humans and their expectations!
+-    if (conf.get('prefix')) {
+-      var etc = path.resolve(conf.get('prefix'), 'etc')
+-      defaults.globalconfig = path.resolve(etc, 'npmrc')
+-      defaults.globalignorefile = path.resolve(etc, 'npmignore')
+-    }
++    // gentoo deviates wrt global config; store in /etc/npm
++    var globalconfig = path.resolve('/etc', 'npm')
++    defaults.globalconfig = path.resolve(globalconfig, 'npmrc')
++    defaults.globalignorefile = path.resolve(globalconfig, 'npmignore')
+ 
+     conf.addFile(conf.get('globalconfig'), 'global')
+ 

diff --git a/net-libs/nodejs/nodejs-14.19.0.ebuild b/net-libs/nodejs/nodejs-14.19.0.ebuild
new file mode 100644
index 000000000000..b20f2cfef7e5
--- /dev/null
+++ b/net-libs/nodejs/nodejs-14.19.0.ebuild
@@ -0,0 +1,241 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
+
+DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
+HOMEPAGE="https://nodejs.org/"
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+
+if [[ ${PV} == *9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/nodejs/node"
+	SLOT="0"
+else
+	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
+	SLOT="0/$(ver_cut 1)"
+	KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 -riscv ~x86 ~amd64-linux ~x64-macos"
+	S="${WORKDIR}/node-v${PV}"
+fi
+
+IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test"
+REQUIRED_USE="inspector? ( icu ssl )
+	npm? ( ssl )
+	system-icu? ( icu )
+	system-ssl? ( ssl )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=app-arch/brotli-1.0.9:=
+	>=dev-libs/libuv-1.40.0:=
+	>=net-dns/c-ares-1.17.2:=
+	>=net-libs/nghttp2-1.41.0:=
+	sys-libs/zlib
+	system-icu? ( >=dev-libs/icu-67:= )
+	system-ssl? (
+		>=dev-libs/openssl-1.1.1:0=
+		<dev-libs/openssl-3.0.0_beta1:0=
+	)"
+BDEPEND="${PYTHON_DEPS}
+	sys-apps/coreutils
+	virtual/pkgconfig
+	systemtap? ( dev-util/systemtap )
+	test? ( net-misc/curl )
+	pax-kernel? ( sys-apps/elfix )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-12.22.5-shared_c-ares_nameser_h.patch
+	"${FILESDIR}"/${PN}-14.15.0-fix_ppc64_crashes.patch
+	"${FILESDIR}"/${P}-global-npm-config.patch
+)
+
+pkg_pretend() {
+	(use x86 && ! use cpu_flags_x86_sse2) && \
+		die "Your CPU doesn't support the required SSE2 instruction."
+
+	if [[ ${MERGE_TYPE} != "binary" ]]; then
+		if use lto; then
+			if tc-is-gcc; then
+				if [[ $(gcc-major-version) -ge 11 ]]; then
+					# Bug #787158
+					die "LTO builds of ${PN} using gcc-11+ currently fail tests and produce runtime errors. Either switch to gcc-10 or unset USE=lto for this ebuild"
+				fi
+			else
+				# configure.py will abort on this later if we do not
+				die "${PN} only supports LTO for gcc"
+			fi
+		fi
+	fi
+}
+
+src_prepare() {
+	tc-export AR CC CXX PKG_CONFIG
+	export V=1
+	export BUILDTYPE=Release
+
+	# fix compilation on Darwin
+	# https://code.google.com/p/gyp/issues/detail?id=260
+	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
+
+	# less verbose install output (stating the same as portage, basically)
+	sed -i -e "/print/d" tools/install.py || die
+
+	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
+	local LIBDIR=$(get_libdir)
+	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
+
+	# Avoid writing a depfile, not useful
+	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
+
+	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
+
+	# debug builds. change install path, remove optimisations and override buildtype
+	if use debug; then
+		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+		BUILDTYPE=Debug
+	fi
+
+	# We need to disable mprotect on two files when it builds Bug 694100.
+	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
+
+	# All this test does is check if the npm CLI produces warnings of any sort,
+	# failing if it does. Overkill, much? Especially given one possible warning
+	# is that there is a newer version of npm available upstream (yes, it does
+	# use the network if available), thus making it a real possibility for this
+	# test to begin failing one day even though it was fine before.
+	rm -f test/parallel/test-release-npm.js
+
+	default
+}
+
+src_configure() {
+	xdg_environment_reset
+
+	# LTO compiler flags are handled by configure.py itself
+	filter-flags '-flto*'
+
+	local myconf=(
+		--shared-brotli
+		--shared-cares
+		--shared-libuv
+		--shared-nghttp2
+		--shared-zlib
+	)
+	use debug && myconf+=( --debug )
+	use lto && myconf+=( --enable-lto )
+	if use system-icu; then
+		myconf+=( --with-intl=system-icu )
+	elif use icu; then
+		myconf+=( --with-intl=full-icu )
+	else
+		myconf+=( --with-intl=none )
+	fi
+	use inspector || myconf+=( --without-inspector )
+	use npm || myconf+=( --without-npm )
+	use snapshot || myconf+=( --without-node-snapshot )
+	if use ssl; then
+		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
+	else
+		myconf+=( --without-ssl )
+	fi
+
+	local myarch=""
+	case ${ABI} in
+		amd64) myarch="x64";;
+		arm) myarch="arm";;
+		arm64) myarch="arm64";;
+		ppc64) myarch="ppc64";;
+		x32) myarch="x32";;
+		x86) myarch="ia32";;
+		*) myarch="${ABI}";;
+	esac
+
+	GYP_DEFINES="linux_use_gold_flags=0
+		linux_use_bundled_binutils=0
+		linux_use_bundled_gold=0" \
+	"${EPYTHON}" configure.py \
+		--prefix="${EPREFIX}"/usr \
+		--dest-cpu=${myarch} \
+		$(use_with systemtap dtrace) \
+		"${myconf[@]}" || die
+}
+
+src_compile() {
+	emake -C out
+}
+
+src_install() {
+	local LIBDIR="${ED}/usr/$(get_libdir)"
+	default
+
+	pax-mark -m "${ED}"/usr/bin/node
+
+	# set up a symlink structure that node-gyp expects..
+	dodir /usr/include/node/deps/{v8,uv}
+	dosym . /usr/include/node/src
+	for var in deps/{uv,v8}/include; do
+		dosym ../.. /usr/include/node/${var}
+	done
+
+	if use doc; then
+		docinto html
+		dodoc -r "${S}"/doc/*
+	fi
+
+	if use npm; then
+		dodir /etc/npm
+
+		# Install bash completion for `npm`
+		# We need to temporarily replace default config path since
+		# npm otherwise tries to write outside of the sandbox
+		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
+		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
+		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
+		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
+		newbashcomp "${tmp_npm_completion_file}" npm
+		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
+
+		# Move man pages
+		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
+
+		# Clean up
+		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
+		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
+
+		local find_exp="-or -name"
+		local find_name=()
+		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+			"*.md" "*.markdown" "*.bat" "*.cmd"; do
+			find_name+=( ${find_exp} "${match}" )
+		done
+
+		# Remove various development and/or inappropriate files and
+		# useless docs of dependend packages.
+		find "${LIBDIR}"/node_modules \
+			\( -type d -name examples \) -or \( -type f \( \
+				-iname "LICEN?E*" \
+				"${find_name[@]}" \
+			\) \) -exec rm -rf "{}" \;
+	fi
+
+	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
+}
+
+src_test() {
+	if has usersandbox ${FEATURES}; then
+		rm -f "${S}"/test/parallel/test-fs-mkdir.js
+		ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \
+			"For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'."
+	fi
+
+	out/${BUILDTYPE}/cctest || die
+	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
+}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2022-05-06  5:21 Joonas Niilola
  0 siblings, 0 replies; 25+ messages in thread
From: Joonas Niilola @ 2022-05-06  5:21 UTC (permalink / raw
  To: gentoo-commits

commit:     8b79544e2355159f0abb411c86dd5a8d06d8d820
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Fri May  6 05:16:43 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Fri May  6 05:16:43 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8b79544e

reapply: "net-libs/nodejs: drop 12.22.5-r1, 12.22.6, 12.22.10"

This reverts commit 06150adeff078a4cefa44939362f24059dbabfc2.

 - with kibana-bin <7 removed we can now re-remove nodejs-12*

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |   3 -
 .../files/nodejs-12.20.1-fix_ppc64_crashes.patch   |  44 ----
 .../nodejs-12.22.1-jinja_collections_abc.patch     |  95 --------
 net-libs/nodejs/nodejs-12.22.10.ebuild             | 249 ---------------------
 net-libs/nodejs/nodejs-12.22.5-r1.ebuild           | 249 ---------------------
 net-libs/nodejs/nodejs-12.22.6.ebuild              | 249 ---------------------
 6 files changed, 889 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index 0b7285ce5651..0c6c3c7600cc 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,6 +1,3 @@
-DIST node-v12.22.10.tar.xz 24089580 BLAKE2B 0ecf0b2ed64cba1bbcab287ccf7e524bd08ce787399d01fb792fd5232983289403a85810bc6eccd090b6d15796c48dc6ea3baf0cb3154e392dc343da53086b81 SHA512 da984e98856ef89eb259346d9d1eae60ff3d255d964f3b09d59851a9c21c86acd0c56b9c888f61423de07afab1c09946c00856c832a1f1a8abc4c671c31e23b1
-DIST node-v12.22.5.tar.xz 23654908 BLAKE2B ca4f304e31f091ae656142035851d6e4427d8b2ddd2a69506dec96efbb1269a19a08e9ab8d44dfe10f8429bc239e4102f3f030adb25e9c41901c7d94b53e88c8 SHA512 80f3c673a1f2af7fffd6aaa556c06b8225034c8413e1a738c19d491aff1b3e6ed388df66ecbff88e4bfbefe1013dac7e3beb301456c2099b6a954ba468b21883
-DIST node-v12.22.6.tar.xz 23664904 BLAKE2B 04dd4fd4cbe39642a1c3dd8639a4d9e3362055f56bc2565303d0095cda1655033ba4e0ce5a969647d2be73df13ddbcccc4907825a94a41b45c0723b3c02ca980 SHA512 d107f1ff7073d2db9f0198f14b0523870e9b262c71055de2e03fba54f87bc98a57dad43d902c0b349957df21de71dc066133d4831eb7eb07f4e548d0ac724fb2
 DIST node-v14.17.5.tar.xz 33585724 BLAKE2B cf79397caad8c81e4096f344f9fdb88d8ecea44b97fe208256dfd4afb750ecdf52142a2dc0430285b9d5117bdd43fa5ce42b4418926eec4d2c7f0a5f5d1a1539 SHA512 9d62c8946d05862d96a13a71b241a097b9f592a9e5f7362c81d8f3c74e7c5546a308b4c74bef34a66cafeef5d1a87d9d3e5ae8bb87d470c1ecf5abb8de0dedb5
 DIST node-v14.17.6.tar.xz 33606464 BLAKE2B c2c449e5eaf8214d7ed4bfab8db0208034cee1d08ef0e1fca478c30fc5cf95be037eb141080dbcfbe4fc58ef734457747dcbd0fe585a0536f9c0bec495435f25 SHA512 581c5698112426042fbf54fa793e56a30cae0c54ce8f23af6ac20d73c69a4f1166c5410f357c5a7b0409a773f99e3b9291e4afffd53b3c0e00569725dc4c47d3
 DIST node-v14.19.0.tar.xz 34486868 BLAKE2B 12e571a366c1d4b2475ef258e338f516bb81e9c08f7e6b7f951decbf371028cdcf32c72181d8504d0890496eaecce0d6b23437b8dad6c6e498d30bf6636bd1e7 SHA512 80573fa3a0882c1f2a40b991f187f49714748ca4c56c78133e2d2be0322f201816eb059a1a7d38ea8a925229c1b1324d0ffc28ff4002d0115bfae44fe87efe97

diff --git a/net-libs/nodejs/files/nodejs-12.20.1-fix_ppc64_crashes.patch b/net-libs/nodejs/files/nodejs-12.20.1-fix_ppc64_crashes.patch
deleted file mode 100644
index 0982d3c81c2a..000000000000
--- a/net-libs/nodejs/files/nodejs-12.20.1-fix_ppc64_crashes.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-Backport of https://github.com/nodejs/node/pull/33866 to nodejs-12
-
---- a/deps/v8/src/compiler/backend/instruction-selector.cc
-+++ b/deps/v8/src/compiler/backend/instruction-selector.cc
-@@ -2788,7 +2788,7 @@
-   switch (call_descriptor->kind()) {
-     case CallDescriptor::kCallAddress: {
-       int misc_field = static_cast<int>(call_descriptor->ParameterCount());
--#if defined(_AIX)
-+#if ABI_USES_FUNCTION_DESCRIPTORS
-       // Highest misc_field bit is used on AIX to indicate if a CFunction call
-       // has function descriptor or not.
-       misc_field |= call_descriptor->HasFunctionDescriptor()
---- a/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
-+++ b/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
-@@ -1026,7 +1026,7 @@
-       Label start_call;
-       bool isWasmCapiFunction =
-           linkage()->GetIncomingDescriptor()->IsWasmCapiFunction();
--#if defined(_AIX)
-+#if ABI_USES_FUNCTION_DESCRIPTORS
-       // AIX/PPC64BE Linux uses a function descriptor
-       int kNumParametersMask = kHasFunctionDescriptorBitMask - 1;
-       num_parameters = kNumParametersMask & misc_field;
---- a/deps/v8/src/execution/simulator.h
-+++ b/deps/v8/src/execution/simulator.h
-@@ -122,7 +122,7 @@
- 
-   DISABLE_CFI_ICALL Return Call(Args... args) {
-     // When running without a simulator we call the entry directly.
--#if V8_OS_AIX
-+#if ABI_USES_FUNCTION_DESCRIPTORS
-     // AIX ABI requires function descriptors (FD).  Artificially create a pseudo
-     // FD to ensure correct dispatch to generated code.  The 'volatile'
-     // declaration is required to avoid the compiler from not observing the
-@@ -134,7 +134,7 @@
-     return fn(args...);
- #else
-     return fn_ptr_(args...);
--#endif  // V8_OS_AIX
-+#endif  // ABI_USES_FUNCTION_DESCRIPTORS
-   }
- #endif  // USE_SIMULATOR
- 

diff --git a/net-libs/nodejs/files/nodejs-12.22.1-jinja_collections_abc.patch b/net-libs/nodejs/files/nodejs-12.22.1-jinja_collections_abc.patch
deleted file mode 100644
index 5f0df09b6e2e..000000000000
--- a/net-libs/nodejs/files/nodejs-12.22.1-jinja_collections_abc.patch
+++ /dev/null
@@ -1,95 +0,0 @@
---- a/deps/v8/third_party/jinja2/tests.py
-+++ b/deps/v8/third_party/jinja2/tests.py
-@@ -10,7 +10,7 @@
- """
- import operator
- import re
--from collections import Mapping
-+from collections.abc import Mapping
- from jinja2.runtime import Undefined
- from jinja2._compat import text_type, string_types, integer_types
- import decimal
---- a/deps/v8/third_party/jinja2/runtime.py
-+++ b/deps/v8/third_party/jinja2/runtime.py
-@@ -315,7 +315,7 @@ class Context(with_metaclass(ContextMeta)):
- 
- # register the context as mapping if possible
- try:
--    from collections import Mapping
-+    from collections.abc import Mapping
-     Mapping.register(Context)
- except ImportError:
-     pass
---- a/deps/v8/third_party/jinja2/sandbox.py
-+++ b/deps/v8/third_party/jinja2/sandbox.py
-@@ -14,7 +14,7 @@
- """
- import types
- import operator
--from collections import Mapping
-+from collections.abc import Mapping
- from jinja2.environment import Environment
- from jinja2.exceptions import SecurityError
- from jinja2._compat import string_types, PY2
-@@ -79,7 +79,7 @@ except ImportError:
-     pass
- 
- #: register Python 2.6 abstract base classes
--from collections import MutableSet, MutableMapping, MutableSequence
-+from collections.abc import MutableSet, MutableMapping, MutableSequence
- _mutable_set_types += (MutableSet,)
- _mutable_mapping_types += (MutableMapping,)
- _mutable_sequence_types += (MutableSequence,)
---- a/deps/v8/third_party/jinja2/utils.py
-+++ b/deps/v8/third_party/jinja2/utils.py
-@@ -482,7 +482,7 @@ class LRUCache(object):
- 
- # register the LRU cache as mutable mapping if possible
- try:
--    from collections import MutableMapping
-+    from collections.abc import MutableMapping
-     MutableMapping.register(LRUCache)
- except ImportError:
-     pass
---- a/tools/inspector_protocol/jinja2/runtime.py
-+++ b/tools/inspector_protocol/jinja2/runtime.py
-@@ -315,7 +315,7 @@ class Context(with_metaclass(ContextMeta)):
- 
- # register the context as mapping if possible
- try:
--    from collections import Mapping
-+    from collections.abc import Mapping
-     Mapping.register(Context)
- except ImportError:
-     pass
---- a/tools/inspector_protocol/jinja2/sandbox.py
-+++ b/tools/inspector_protocol/jinja2/sandbox.py
-@@ -14,7 +14,7 @@
- """
- import types
- import operator
--from collections import Mapping
-+from collections.abc import Mapping
- from jinja2.environment import Environment
- from jinja2.exceptions import SecurityError
- from jinja2._compat import string_types, PY2
-@@ -79,7 +79,7 @@ except ImportError:
-     pass
- 
- #: register Python 2.6 abstract base classes
--from collections import MutableSet, MutableMapping, MutableSequence
-+from collections.abc import MutableSet, MutableMapping, MutableSequence
- _mutable_set_types += (MutableSet,)
- _mutable_mapping_types += (MutableMapping,)
- _mutable_sequence_types += (MutableSequence,)
---- a/tools/inspector_protocol/jinja2/tests.py
-+++ b/tools/inspector_protocol/jinja2/tests.py
-@@ -10,7 +10,7 @@
- """
- import operator
- import re
--from collections import Mapping
-+from collections.abc import Mapping
- from jinja2.runtime import Undefined
- from jinja2._compat import text_type, string_types, integer_types
- import decimal

diff --git a/net-libs/nodejs/nodejs-12.22.10.ebuild b/net-libs/nodejs/nodejs-12.22.10.ebuild
deleted file mode 100644
index 4638f6304808..000000000000
--- a/net-libs/nodejs/nodejs-12.22.10.ebuild
+++ /dev/null
@@ -1,249 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="amd64 ~arm arm64 ppc64 -riscv x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector lto +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.39.0:=
-	>=net-dns/c-ares-1.17.2:=
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.40.0:=
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? (
-		>=dev-libs/openssl-1.1.1:0=
-		<dev-libs/openssl-3.0.0_beta1:0=
-	)
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${P}-global-npm-config.patch
-	"${FILESDIR}"/${PN}-12.20.1-fix_ppc64_crashes.patch
-	"${FILESDIR}"/${PN}-12.22.1-jinja_collections_abc.patch
-	"${FILESDIR}"/${PN}-12.22.1-uvwasi_shared_libuv.patch
-	"${FILESDIR}"/${PN}-12.22.5-shared_c-ares_nameser_h.patch
-	"${FILESDIR}"/${PN}-99999999-llhttp.patch
-)
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	if [[ ${MERGE_TYPE} != "binary" ]]; then
-		if use lto; then
-			if tc-is-gcc; then
-				if [[ $(gcc-major-version) -ge 11 ]]; then
-					# Bug #787158
-					die "LTO builds of ${PN} using gcc-11+ currently fail tests and produce runtime errors. Either switch to gcc-10 or unset USE=lto for this ebuild"
-				fi
-			else
-				# configure.py will abort on this later if we do not
-				die "${PN} only supports LTO for gcc"
-			fi
-		fi
-	fi
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Known-to-fail test of a deprecated, legacy HTTP parser. Just don't bother.
-	rm -f test/parallel/test-http-transfer-encoding-smuggling-legacy.js
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-flags '-flto*'
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-http-parser
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	if has usersandbox ${FEATURES}; then
-		rm -f "${S}"/test/parallel/test-fs-mkdir.js
-		ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \
-			"For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'."
-	fi
-
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	elog "The global npm config lives in /etc/npm. This deviates slightly"
-	elog "from upstream which otherwise would have it live in /usr/etc/."
-	elog ""
-	elog "Protip: When using node-gyp to install native modules, you can"
-	elog "avoid having to download extras by doing the following:"
-	elog "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-12.22.5-r1.ebuild b/net-libs/nodejs/nodejs-12.22.5-r1.ebuild
deleted file mode 100644
index 1e716cbf5e85..000000000000
--- a/net-libs/nodejs/nodejs-12.22.5-r1.ebuild
+++ /dev/null
@@ -1,249 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="amd64 arm arm64 ppc64 -riscv x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector lto +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.39.0:=
-	>=net-dns/c-ares-1.17.2:=
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.40.0:=
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? (
-		>=dev-libs/openssl-1.1.1:0=
-		<dev-libs/openssl-3.0.0_beta1:0=
-	)
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-12.20.1-fix_ppc64_crashes.patch
-	"${FILESDIR}"/${PN}-12.22.1-jinja_collections_abc.patch
-	"${FILESDIR}"/${PN}-12.22.1-uvwasi_shared_libuv.patch
-	"${FILESDIR}"/${PN}-12.22.5-shared_c-ares_nameser_h.patch
-	"${FILESDIR}"/${PN}-99999999-llhttp.patch
-)
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	if [[ ${MERGE_TYPE} != "binary" ]]; then
-		if use lto; then
-			if tc-is-gcc; then
-				if [[ $(gcc-major-version) -ge 11 ]]; then
-					# Bug #787158
-					die "LTO builds of ${PN} using gcc-11+ currently fail tests and produce runtime errors. Either switch to gcc-10 or unset USE=lto for this ebuild"
-				fi
-			else
-				# configure.py will abort on this later if we do not
-				die "${PN} only supports LTO for gcc"
-			fi
-		fi
-	fi
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Known-to-fail test of a deprecated, legacy HTTP parser. Just don't bother.
-	rm -f test/parallel/test-http-transfer-encoding-smuggling-legacy.js
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-flags '-flto*'
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-http-parser
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	if has usersandbox ${FEATURES}; then
-		rm -f "${S}"/test/parallel/test-fs-mkdir.js
-		ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \
-			"For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'."
-	fi
-
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	elog "The global npm config lives in /etc/npm. This deviates slightly"
-	elog "from upstream which otherwise would have it live in /usr/etc/."
-	elog ""
-	elog "Protip: When using node-gyp to install native modules, you can"
-	elog "avoid having to download extras by doing the following:"
-	elog "$ node-gyp --nodedir /usr/include/node <command>"
-}

diff --git a/net-libs/nodejs/nodejs-12.22.6.ebuild b/net-libs/nodejs/nodejs-12.22.6.ebuild
deleted file mode 100644
index fc7f6f38aaa1..000000000000
--- a/net-libs/nodejs/nodejs-12.22.6.ebuild
+++ /dev/null
@@ -1,249 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="amd64 arm arm64 ppc64 -riscv x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector lto +npm +snapshot +ssl +system-ssl systemtap test"
-REQUIRED_USE="
-	inspector? ( icu ssl )
-	npm? ( ssl )
-	system-ssl? ( ssl )
-"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.39.0:=
-	>=net-dns/c-ares-1.17.2:=
-	>=net-libs/http-parser-2.9.3:=
-	>=net-libs/nghttp2-1.40.0:=
-	sys-libs/zlib
-	icu? ( >=dev-libs/icu-64.2:= )
-	system-ssl? (
-		>=dev-libs/openssl-1.1.1:0=
-		<dev-libs/openssl-3.0.0_beta1:0=
-	)
-"
-BDEPEND="
-	${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-"
-DEPEND="
-	${RDEPEND}
-"
-PATCHES=(
-	"${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-12.20.1-fix_ppc64_crashes.patch
-	"${FILESDIR}"/${PN}-12.22.1-jinja_collections_abc.patch
-	"${FILESDIR}"/${PN}-12.22.1-uvwasi_shared_libuv.patch
-	"${FILESDIR}"/${PN}-12.22.5-shared_c-ares_nameser_h.patch
-	"${FILESDIR}"/${PN}-99999999-llhttp.patch
-)
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	if [[ ${MERGE_TYPE} != "binary" ]]; then
-		if use lto; then
-			if tc-is-gcc; then
-				if [[ $(gcc-major-version) -ge 11 ]]; then
-					# Bug #787158
-					die "LTO builds of ${PN} using gcc-11+ currently fail tests and produce runtime errors. Either switch to gcc-10 or unset USE=lto for this ebuild"
-				fi
-			else
-				# configure.py will abort on this later if we do not
-				die "${PN} only supports LTO for gcc"
-			fi
-		fi
-	fi
-}
-
-src_prepare() {
-	tc-export CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# Known-to-fail test of a deprecated, legacy HTTP parser. Just don't bother.
-	rm -f test/parallel/test-http-transfer-encoding-smuggling-legacy.js
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-flags '-flto*'
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-http-parser
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out mksnapshot
-	pax-mark m "out/${BUILDTYPE}/mksnapshot"
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	if has usersandbox ${FEATURES}; then
-		rm -f "${S}"/test/parallel/test-fs-mkdir.js
-		ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \
-			"For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'."
-	fi
-
-	out/${BUILDTYPE}/cctest || die
-	"${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	elog "The global npm config lives in /etc/npm. This deviates slightly"
-	elog "from upstream which otherwise would have it live in /usr/etc/."
-	elog ""
-	elog "Protip: When using node-gyp to install native modules, you can"
-	elog "avoid having to download extras by doing the following:"
-	elog "$ node-gyp --nodedir /usr/include/node <command>"
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2023-04-30  1:24 William Hubbs
  0 siblings, 0 replies; 25+ messages in thread
From: William Hubbs @ 2023-04-30  1:24 UTC (permalink / raw
  To: gentoo-commits

commit:     4bf7a2a804d52fd837a17c30bd32786f5e8adf0d
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 30 01:23:32 2023 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Sun Apr 30 01:24:04 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4bf7a2a8

net-libs/nodejs: drop 16.19.1, 18.14.2

Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |   2 -
 .../files/nodejs-15.2.0-global-npm-config.patch    |  13 --
 .../nodejs/files/nodejs-18.3.0-paxmarking.patch    |  85 -------
 net-libs/nodejs/nodejs-16.19.1.ebuild              | 232 -------------------
 net-libs/nodejs/nodejs-18.14.2.ebuild              | 254 ---------------------
 5 files changed, 586 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index d52da6994f89..8bff0dfd255b 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,6 +1,4 @@
 DIST node-v14.21.3.tar.xz 34508116 BLAKE2B 6fa001be10499ff2dfc920690dda9df25423f3e5c0bf19ae2ab9df571ca905e164e5a4eb778d0aa16a6026c354e39e063bde39d734a0532c3d95c937e509a9cb SHA512 bea8ccbb95ba00c220a42d30f8827fc94fb63725079dc3b63c65fd62d5f4f85d1d78e00b9b1f882a80449fa251930d3f3f5f9c8ae8d14d132660d4c4fd0b08f0
-DIST node-v16.19.1.tar.xz 35465252 BLAKE2B 717cf15ab6fa5a2a643138959c4e539ef541783061605d0670564579bb43c89db0972228d42e529fb4104396ce7e1ed33486b6f28356752709a196924894b9f6 SHA512 7274ae1c7c92a4db9f8df9762f363cd9fb252c51142b98a25e718d749d10989d4228bc8d5fc864b83a4fe0c7f9541f59190b47374673a6ab4654a6366a373a48
 DIST node-v16.20.0.tar.xz 35546884 BLAKE2B 5bdb1fb7365e07f13d0a58a8d052d11efaadcf1b0792af0517b78b1ecf01e50eabe26e31588ae410ee63b7494a4eb9d23f70d4dd157a452d0bbf8bd548865255 SHA512 b155acdff0244307afcc334844f113b5c321f7764ebb69326d60a6a79d0e0d38d55257a38b815f5933aa4071e6a788e01c466476ef012cec648c84d74adda406
-DIST node-v18.14.2.tar.xz 40330824 BLAKE2B d18cf6a23f091633e5298727eeee15dec65ca83e688ff9fbed78385102aa44707ff4b33bcb034f6d10aab9a81a646ad7e8c28a239de151b816ff7072977df0de SHA512 72bb788b40d83bc42850dd9e2d00ffc06d9bcb17d24280d4721038038d1632846f859864328c849498255d1095296402b9b3c6b8910bbd399f7f516a43b9c86f
 DIST node-v18.16.0.tar.xz 40467860 BLAKE2B b16749c0212f3aa196ec9fc0f999a023adeb9031b3332939330ba5a3edb5bc2ed6dc21bf861509696e19ed0cc5d5c54bb882018f0e54eb1ad8e9b0ba3bb64bff SHA512 608ce5db97ce2d851f381c7991f635c5e0927ae79037649b482c7e197479341b7c6560644e25f4d65ece8aa80c5763a0e044349a5be210fa33fbbf97a96462bd
 DIST node-v20.0.0.tar.xz 41279796 BLAKE2B 1df8785ca22dea15c6c1f19ec2d3b3d704f9cda6cf13d6e8e8fbbf853515871f18a11a4bbe5ed765434f6f5606975c5254e1826f2e506165ff937ef16d326262 SHA512 cda981227398c1a9023a2212c0d5351eadfedd19d58776dcc470e3ba0213a178b626c37d48fa52548ddd5a70d26a18b66c266856321a0af9ada2b1eac7ee9fd8

diff --git a/net-libs/nodejs/files/nodejs-15.2.0-global-npm-config.patch b/net-libs/nodejs/files/nodejs-15.2.0-global-npm-config.patch
deleted file mode 100644
index 2b0705b1d712..000000000000
--- a/net-libs/nodejs/files/nodejs-15.2.0-global-npm-config.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/deps/npm/node_modules/@npmcli/config/lib/index.js
-+++ b/deps/npm/node_modules/@npmcli/config/lib/index.js
-@@ -275,8 +275,9 @@
-     // default the globalconfig file to that location, instead of the default
-     // global prefix.  It's weird that `npm get globalconfig --prefix=/foo`
-     // returns `/foo/etc/npmrc`, but better to not change it at this point.
-+    // gentoo deviates wrt global config; store in /etc/npm
-     settableGetter(data, 'globalconfig', () =>
--      resolve(this[_get]('prefix'), 'etc/npmrc'))
-+      resolve('/etc', 'npmrc'))
-   }
- 
-   loadHome () {

diff --git a/net-libs/nodejs/files/nodejs-18.3.0-paxmarking.patch b/net-libs/nodejs/files/nodejs-18.3.0-paxmarking.patch
deleted file mode 100644
index fd7ef431045e..000000000000
--- a/net-libs/nodejs/files/nodejs-18.3.0-paxmarking.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-diff -urNp node-v15.8.0-orig/node.gyp node-v15.8.0-dwok/node.gyp
---- node-v15.8.0-orig/node.gyp	2021-02-24 22:21:44.202911780 +0100
-+++ node-v15.8.0-dwok/node.gyp	2021-02-24 22:25:34.298281739 +0100
-@@ -55,6 +55,7 @@
-       'deps/undici/undici.js',
-     ],
-     'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
-+    'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
-     'conditions': [
-       ['GENERATOR == "ninja"', {
-         'node_text_start_object_path': 'src/large_pages/node_text_start.node_text_start.o'
-@@ -331,10 +332,24 @@
-             }, {
-               'actions': [
-                 {
-+                  'action_name': 'run_pax_mksnapshot',
-+                  'inputs': [
-+                    '<(node_mksnapshot_exec)',
-+                  ],
-+                  'outputs': [
-+                    '<(node_mksnapshot_u_exec)',
-+                  ],
-+                  'action': [
-+                    'bash',
-+                    '-c',
-+                    'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
-+                  ],
-+                },
-+                {
-                   'action_name': 'node_mksnapshot',
-                   'process_outputs_as_sources': 1,
-                   'inputs': [
--                    '<(node_mksnapshot_exec)',
-+                    '<(node_mksnapshot_u_exec)',
-                   ],
-                   'outputs': [
-                     '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
-diff -urNp node-v15.8.0-orig/tools/v8_gypfiles/v8.gyp node-v15.8.0-dwok/tools/v8_gypfiles/v8.gyp
---- node-v15.8.0-orig/tools/v8_gypfiles/v8.gyp	2021-02-24 22:21:44.654910571 +0100
-+++ node-v15.8.0-dwok/tools/v8_gypfiles/v8.gyp	2021-02-24 22:25:54.834224791 +0100
-@@ -9,6 +9,7 @@
-     'v8_vector_stores%': 0,
-     'v8_embed_script%': "",
-     'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
-+    'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
-     'v8_os_page_size%': 0,
-     'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
-     'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
-@@ -1413,7 +1414,7 @@
-       ],
-     },  # bytecode_builtins_list_generator
-     {
--      'target_name': 'mksnapshot',
-+      'target_name': 'mksnapshot_u',
-       'type': 'executable',
-       'dependencies': [
-         'v8_base_without_compiler',
-@@ -1432,6 +1433,27 @@
-           'toolsets': ['host'],
-         }],
-       ],
-+    },  # mksnapshot_u
-+    {
-+      'target_name': 'mksnapshot',
-+      'type': 'none',
-+      'dependencies': ['mksnapshot_u'],
-+      'actions': [
-+        {
-+          'action_name': 'paxmark_mksnapshot',
-+          'inputs': [
-+            '<(mksnapshot_u_exec)',
-+          ],
-+          'outputs': [
-+            '<(mksnapshot_exec)',
-+          ],
-+          'action': [
-+            'bash',
-+            '-c',
-+            'cp <(mksnapshot_u_exec) <(mksnapshot_exec) && paxmark.sh m <(mksnapshot_exec)'
-+          ],
-+        },
-+      ],
-     },  # mksnapshot
-     {
-       'target_name': 'torque',

diff --git a/net-libs/nodejs/nodejs-16.19.1.ebuild b/net-libs/nodejs/nodejs-16.19.1.ebuild
deleted file mode 100644
index c3744f846e98..000000000000
--- a/net-libs/nodejs/nodejs-16.19.1.ebuild
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CONFIG_CHECK="~ADVISE_SYSCALLS"
-PYTHON_COMPAT=( python3_{9..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test"
-REQUIRED_USE="inspector? ( icu ssl )
-	npm? ( ssl )
-	system-icu? ( icu )
-	system-ssl? ( ssl )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.40.0:=
-	>=net-dns/c-ares-1.17.2:=
-	>=net-libs/nghttp2-1.41.0:=
-	sys-libs/zlib
-	system-icu? ( >=dev-libs/icu-67:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-	sys-devel/gcc:*"
-BDEPEND="${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax-kernel? ( sys-apps/elfix )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-15.2.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-gcc-13.patch
-)
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-}
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-	linux-info_pkg_setup
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-16.4.2-paxmarking.patch )
-
-	# All this test does is check if the npm CLI produces warnings of any sort,
-	# failing if it does. Overkill, much? Especially given one possible warning
-	# is that there is a newer version of npm available upstream (yes, it does
-	# use the network if available), thus making it a real possibility for this
-	# test to begin failing one day even though it was fine before.
-	rm -f test/parallel/test-release-npm.js
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-flags '-flto*'
-	# nodejs unconditionally links to libatomic #869992
-	# specifically it requires __atomic_is_lock_free which
-	# is not yet implemented by sys-libs/compiler-rt (see
-	# https://reviews.llvm.org/D85044?id=287068), therefore
-	# we depend on gcc and force using libgcc as the support lib
-	tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc"
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	if use system-icu; then
-		myconf+=( --with-intl=system-icu )
-	elif use icu; then
-		myconf+=( --with-intl=full-icu )
-	else
-		myconf+=( --with-intl=none )
-	fi
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		lp64*) myarch="riscv64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		keepdir /etc/npm
-
-		# Install bash completion for `npm`
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	if has usersandbox ${FEATURES}; then
-		rm -f "${S}"/test/parallel/test-fs-mkdir.js
-		ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \
-			"For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'."
-	fi
-
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}

diff --git a/net-libs/nodejs/nodejs-18.14.2.ebuild b/net-libs/nodejs/nodejs-18.14.2.ebuild
deleted file mode 100644
index fe52fcfba5ed..000000000000
--- a/net-libs/nodejs/nodejs-18.14.2.ebuild
+++ /dev/null
@@ -1,254 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CONFIG_CHECK="~ADVISE_SYSCALLS"
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 check-reqs flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test"
-REQUIRED_USE="inspector? ( icu ssl )
-	npm? ( ssl )
-	system-icu? ( icu )
-	system-ssl? ( ssl )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.44.0:=
-	>=net-dns/c-ares-1.17.2:=
-	>=net-libs/nghttp2-1.41.0:=
-	sys-libs/zlib
-	system-icu? ( >=dev-libs/icu-67:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-	sys-devel/gcc:*"
-BDEPEND="${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax-kernel? ( sys-apps/elfix )"
-DEPEND="${RDEPEND}"
-
-# These are measured on a loong machine with -ggdb on, and only checked
-# if debugging flags are present in CFLAGS.
-#
-# The final link consumed a little more than 7GiB alone, so 8GiB is the lower
-# limit for memory usage. Disk usage was 19.1GiB for the build directory and
-# 1.2GiB for the installed image, so we leave some room for architectures with
-# fatter binaries and set the disk requirement to 22GiB.
-CHECKREQS_MEMORY="8G"
-CHECKREQS_DISK_BUILD="22G"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	if [[ ${MERGE_TYPE} != "binary" ]]; then
-		if is-flagq "-g*" && ! is-flagq "-g*0" ; then
-			einfo "Checking for sufficient disk space and memory to build ${PN} with debugging CFLAGS"
-			check-reqs_pkg_pretend
-		fi
-	fi
-}
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-	linux-info_pkg_setup
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-18.3.0-paxmarking.patch )
-
-	# All this test does is check if the npm CLI produces warnings of any sort,
-	# failing if it does. Overkill, much? Especially given one possible warning
-	# is that there is a newer version of npm available upstream (yes, it does
-	# use the network if available), thus making it a real possibility for this
-	# test to begin failing one day even though it was fine before.
-	rm -f test/parallel/test-release-npm.js
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-flags '-flto*'
-	# nodejs unconditionally links to libatomic #869992
-	# specifically it requires __atomic_is_lock_free which
-	# is not yet implemented by sys-libs/compiler-rt (see
-	# https://reviews.llvm.org/D85044?id=287068), therefore
-	# we depend on gcc and force using libgcc as the support lib
-	tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc"
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	if use system-icu; then
-		myconf+=( --with-intl=system-icu )
-	elif use icu; then
-		myconf+=( --with-intl=full-icu )
-	else
-		myconf+=( --with-intl=none )
-	fi
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case "${ARCH}:${ABI}" in
-		*:amd64) myarch="x64";;
-		*:arm) myarch="arm";;
-		*:arm64) myarch="arm64";;
-		loong:lp64*) myarch="loong64";;
-		riscv:lp64*) myarch="riscv64";;
-		*:ppc64) myarch="ppc64";;
-		*:x32) myarch="x32";;
-		*:x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		keepdir /etc/npm
-		echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm
-		doenvd "${T}"/50npm
-
-		# Install bash completion for `npm`
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	if has usersandbox ${FEATURES}; then
-		rm -f "${S}"/test/parallel/test-fs-mkdir.js
-		ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \
-			"For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'."
-	fi
-
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	if use npm; then
-		ewarn "remember to run: source /etc/profile if you plan to use nodejs"
-		ewarn "	in your current shell"
-	fi
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2023-05-05 15:16 William Hubbs
  0 siblings, 0 replies; 25+ messages in thread
From: William Hubbs @ 2023-05-05 15:16 UTC (permalink / raw
  To: gentoo-commits

commit:     55d41af70c102c202b46f8568ab0b6c06da4b2f2
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Fri May  5 15:14:20 2023 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Fri May  5 15:16:14 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55d41af7

net-libs/nodejs: drop 14.21.3

Closes: https://bugs.gentoo.org/904878
Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |   1 -
 .../nodejs/files/nodejs-13.8.0-paxmarking.patch    | 111 ----------
 .../files/nodejs-14.15.0-fix_ppc64_crashes.patch   |  33 ---
 .../files/nodejs-14.19.0-global-npm-config.patch   |  20 --
 net-libs/nodejs/files/nodejs-gcc-13.patch          |  27 ---
 net-libs/nodejs/nodejs-14.21.3.ebuild              | 240 ---------------------
 6 files changed, 432 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index c1e843f8bdd4..6207fbc0ee9b 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,4 +1,3 @@
-DIST node-v14.21.3.tar.xz 34508116 BLAKE2B 6fa001be10499ff2dfc920690dda9df25423f3e5c0bf19ae2ab9df571ca905e164e5a4eb778d0aa16a6026c354e39e063bde39d734a0532c3d95c937e509a9cb SHA512 bea8ccbb95ba00c220a42d30f8827fc94fb63725079dc3b63c65fd62d5f4f85d1d78e00b9b1f882a80449fa251930d3f3f5f9c8ae8d14d132660d4c4fd0b08f0
 DIST node-v16.20.0.tar.xz 35546884 BLAKE2B 5bdb1fb7365e07f13d0a58a8d052d11efaadcf1b0792af0517b78b1ecf01e50eabe26e31588ae410ee63b7494a4eb9d23f70d4dd157a452d0bbf8bd548865255 SHA512 b155acdff0244307afcc334844f113b5c321f7764ebb69326d60a6a79d0e0d38d55257a38b815f5933aa4071e6a788e01c466476ef012cec648c84d74adda406
 DIST node-v18.16.0.tar.xz 40467860 BLAKE2B b16749c0212f3aa196ec9fc0f999a023adeb9031b3332939330ba5a3edb5bc2ed6dc21bf861509696e19ed0cc5d5c54bb882018f0e54eb1ad8e9b0ba3bb64bff SHA512 608ce5db97ce2d851f381c7991f635c5e0927ae79037649b482c7e197479341b7c6560644e25f4d65ece8aa80c5763a0e044349a5be210fa33fbbf97a96462bd
 DIST node-v20.0.0.tar.xz 41279796 BLAKE2B 1df8785ca22dea15c6c1f19ec2d3b3d704f9cda6cf13d6e8e8fbbf853515871f18a11a4bbe5ed765434f6f5606975c5254e1826f2e506165ff937ef16d326262 SHA512 cda981227398c1a9023a2212c0d5351eadfedd19d58776dcc470e3ba0213a178b626c37d48fa52548ddd5a70d26a18b66c266856321a0af9ada2b1eac7ee9fd8

diff --git a/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch b/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch
deleted file mode 100644
index 8dbf5f43d486..000000000000
--- a/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-    Bug: 694100
-    Add actions for pax marking mkcodecache, node_mksnapshot and mksnapshot
-    to disable mprotect for pax enable kernel.
-    Reported-by: Attila Tóth <atoth@atoth.sote.hu>
-    Co-developed-by: Attila Tóth <atoth@atoth.sote.hu>
-    Signed-off-by: Magnus Granberg <zorry@gentoo.org>
-
---- a/node.gyp	2019-10-23 11:52:41.000000000 +0200
-+++ b/node.gyp	2019-11-12 20:58:43.957881862 +0100
-@@ -233,7 +233,9 @@
-       'deps/acorn-plugins/acorn-static-class-features/index.js',
-     ],
-     'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
-+    'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
-     'mkcodecache_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache<(EXECUTABLE_SUFFIX)',
-+    'mkcodecache_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache_u<(EXECUTABLE_SUFFIX)',
-     'conditions': [
-       [ 'node_shared=="true"', {
-         'node_target_type%': 'shared_library',
-@@ -436,10 +438,24 @@
-           ],
-           'actions': [
-             {
-+              'action_name': 'run_pax_mkcodecache',
-+              'inputs': [
-+                '<(mkcodecache_exec)',
-+              ],
-+              'outputs': [
-+                '<(mkcodecache_u_exec)',
-+              ],
-+              'action': [
-+                'bash',
-+                '-c',
-+                'mv <(mkcodecache_exec) <(mkcodecache_u_exec) && paxmark.sh m <(mkcodecache_u_exec)',
-+              ],
-+            },
-+            {
-               'action_name': 'run_mkcodecache',
-               'process_outputs_as_sources': 1,
-               'inputs': [
--                '<(mkcodecache_exec)',
-+                '<(mkcodecache_u_exec)',
-               ],
-               'outputs': [
-                 '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
-@@ -461,10 +477,24 @@
-           ],
-           'actions': [
-             {
-+              'action_name': 'run_pax_mksnapshot',
-+              'inputs': [
-+                '<(node_mksnapshot_exec)',
-+              ],
-+              'outputs': [
-+                '<(node_mksnapshot_u_exec)',
-+              ],
-+              'action': [
-+                'bash',
-+                '-c',
-+                'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
-+              ],
-+            },
-+            {
-               'action_name': 'node_mksnapshot',
-               'process_outputs_as_sources': 1,
-               'inputs': [
--                '<(node_mksnapshot_exec)',
-+                '<(node_mksnapshot_u_exec)',
-               ],
-               'outputs': [
-                 '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
---- a/tools/v8_gypfiles/v8.gyp	2019-12-03 16:10:36.000000000 +0100
-+++ b/tools/v8_gypfiles/v8.gyp	2019-12-17 18:37:33.695839254 +0100
-@@ -9,6 +9,7 @@
-     'v8_vector_stores%': 0,
-     'v8_embed_script%': "",
-     'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
-+    'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
-     'v8_os_page_size%': 0,
-     'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
-     'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
-@@ -427,6 +425,20 @@
-       },
-       'actions': [
-         {
-+          'action_name': 'run_pax_mksnapshot',
-+          'inputs': [
-+            '<(mksnapshot_exec)',
-+          ],
-+          'outputs': [
-+            '<(mksnapshot_u_exec)',
-+          ],
-+          'action': [
-+            'bash',
-+            '-c',
-+            'mv <(mksnapshot_exec) <(mksnapshot_u_exec) && paxmark.sh m <(mksnapshot_u_exec)',
-+          ],
-+        },
-+        {
-           'action_name': 'run_mksnapshot',
-           'message': 'generating: >@(_outputs)',
-           'variables': {
-@@ -442,7 +454,7 @@
-             ],
-           },
-           'inputs': [
--            '<(mksnapshot_exec)',
-+            '<(mksnapshot_u_exec)',
-           ],
-           'outputs': ["<(INTERMEDIATE_DIR)/snapshot.cc"],
-           'process_outputs_as_sources': 1,

diff --git a/net-libs/nodejs/files/nodejs-14.15.0-fix_ppc64_crashes.patch b/net-libs/nodejs/files/nodejs-14.15.0-fix_ppc64_crashes.patch
deleted file mode 100644
index c9c01843cd63..000000000000
--- a/net-libs/nodejs/files/nodejs-14.15.0-fix_ppc64_crashes.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/deps/v8/src/compiler/backend/instruction-selector.cc
-+++ b/deps/v8/src/compiler/backend/instruction-selector.cc
-@@ -2808,7 +2808,7 @@
-   switch (call_descriptor->kind()) {
-     case CallDescriptor::kCallAddress: {
-       int misc_field = static_cast<int>(call_descriptor->ParameterCount());
--#if defined(_AIX)
-+#if ABI_USES_FUNCTION_DESCRIPTORS
-       // Highest misc_field bit is used on AIX to indicate if a CFunction call
-       // has function descriptor or not.
-       if (!call_descriptor->NoFunctionDescriptor()) {
---- a/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
-+++ b/deps/v8/src/compiler/backend/ppc/code-generator-ppc.cc
-@@ -1039,7 +1039,7 @@
-           linkage()->GetIncomingDescriptor()->IsWasmCapiFunction();
-       int offset = (FLAG_enable_embedded_constant_pool ? 20 : 23) * kInstrSize;
- 
--#if defined(_AIX)
-+#if ABI_USES_FUNCTION_DESCRIPTORS
-       // AIX/PPC64BE Linux uses a function descriptor
-       int kNumParametersMask = kHasFunctionDescriptorBitMask - 1;
-       num_parameters = kNumParametersMask & misc_field;
---- a/deps/v8/src/execution/simulator.h
-+++ b/deps/v8/src/execution/simulator.h
-@@ -128,7 +128,7 @@
- #if defined(V8_TARGET_OS_WIN) && !defined(V8_OS_WIN)
-     FATAL("Generated code execution not possible during cross-compilation.");
- #endif  // defined(V8_TARGET_OS_WIN) && !defined(V8_OS_WIN)
--#if V8_OS_AIX
-+#if ABI_USES_FUNCTION_DESCRIPTORS
-     // AIX ABI requires function descriptors (FD).  Artificially create a pseudo
-     // FD to ensure correct dispatch to generated code.  The 'volatile'
-     // declaration is required to avoid the compiler from not observing the

diff --git a/net-libs/nodejs/files/nodejs-14.19.0-global-npm-config.patch b/net-libs/nodejs/files/nodejs-14.19.0-global-npm-config.patch
deleted file mode 100644
index 09d9dbe47be0..000000000000
--- a/net-libs/nodejs/files/nodejs-14.19.0-global-npm-config.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/deps/npm/lib/config/core.js b/deps/npm/lib/config/core.js
-index 36420b3450..0afb0b6792 100644
---- a/deps/npm/lib/config/core.js
-+++ b/deps/npm/lib/config/core.js
-@@ -151,11 +151,10 @@ function load_ (builtin, rc, cli, cb) {
-     // Eg, `npm config get globalconfig --prefix ~/local` should
-     // return `~/local/etc/npmrc`
-     // annoying humans and their expectations!
--    if (conf.get('prefix')) {
--      var etc = path.resolve(conf.get('prefix'), 'etc')
--      defaults.globalconfig = path.resolve(etc, 'npmrc')
--      defaults.globalignorefile = path.resolve(etc, 'npmignore')
--    }
-+    // gentoo deviates wrt global config; store in /etc/npm
-+    var globalconfig = path.resolve('/etc', 'npm')
-+    defaults.globalconfig = path.resolve(globalconfig, 'npmrc')
-+    defaults.globalignorefile = path.resolve(globalconfig, 'npmignore')
- 
-     conf.addFile(conf.get('globalconfig'), 'global')
- 

diff --git a/net-libs/nodejs/files/nodejs-gcc-13.patch b/net-libs/nodejs/files/nodejs-gcc-13.patch
deleted file mode 100644
index 13427a6b7407..000000000000
--- a/net-libs/nodejs/files/nodejs-gcc-13.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://chromium-review.googlesource.com/c/v8/v8/+/3934140
-adjusted to layout of the node project
-From: WANG Xuerui <git@xen0n.name>
-Date: Tue, 4 Oct 2022 17:21:03 +0800
-Subject: [PATCH] [base] Fix build with gcc-13
-
-See https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes.
---- a/deps/v8/src/base/logging.h
-+++ b/deps/v8/src/base/logging.h
-@@ -5,6 +5,7 @@
- #ifndef V8_BASE_LOGGING_H_
- #define V8_BASE_LOGGING_H_
- 
-+#include <cstdint>
- #include <cstring>
- #include <sstream>
- #include <string>
---- a/deps/v8/src/inspector/v8-string-conversions.h
-+++ b/deps/v8/src/inspector/v8-string-conversions.h
-@@ -5,6 +5,7 @@
- #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
- #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
- 
-+#include <cstdint>
- #include <string>
- 
- // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may

diff --git a/net-libs/nodejs/nodejs-14.21.3.ebuild b/net-libs/nodejs/nodejs-14.21.3.ebuild
deleted file mode 100644
index d58d6df5cedf..000000000000
--- a/net-libs/nodejs/nodejs-14.21.3.ebuild
+++ /dev/null
@@ -1,240 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CONFIG_CHECK="~ADVISE_SYSCALLS"
-PYTHON_COMPAT=( python3_{9..10} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="amd64 arm arm64 ppc64 -riscv x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test"
-REQUIRED_USE="inspector? ( icu ssl )
-	npm? ( ssl )
-	system-icu? ( icu )
-	system-ssl? ( ssl )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.40.0:=
-	>=net-dns/c-ares-1.17.2:=
-	>=net-libs/nghttp2-1.41.0:=
-	sys-libs/zlib
-	system-icu? ( >=dev-libs/icu-67:= )
-	system-ssl? (
-		>=dev-libs/openssl-1.1.1:0=
-		<dev-libs/openssl-3.0.0_beta1:0=
-	)
-	sys-devel/gcc:*"
-BDEPEND="${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax-kernel? ( sys-apps/elfix )"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-14.15.0-fix_ppc64_crashes.patch
-	"${FILESDIR}"/${PN}-14.19.0-global-npm-config.patch
-	"${FILESDIR}"/${PN}-gcc-13.patch
-)
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-}
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-	linux-info_pkg_setup
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
-
-	# All this test does is check if the npm CLI produces warnings of any sort,
-	# failing if it does. Overkill, much? Especially given one possible warning
-	# is that there is a newer version of npm available upstream (yes, it does
-	# use the network if available), thus making it a real possibility for this
-	# test to begin failing one day even though it was fine before.
-	rm -f test/parallel/test-release-npm.js
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-flags '-flto*'
-	# nodejs unconditionally links to libatomic #869992
-	# specifically it requires __atomic_is_lock_free which
-	# is not yet implemented by sys-libs/compiler-rt (see
-	# https://reviews.llvm.org/D85044?id=287068), therefore
-	# we depend on gcc and force using libgcc as the support lib
-	tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc"
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	if use system-icu; then
-		myconf+=( --with-intl=system-icu )
-	elif use icu; then
-		myconf+=( --with-intl=full-icu )
-	else
-		myconf+=( --with-intl=none )
-	fi
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		dodir /etc/npm
-
-		# Install bash completion for `npm`
-		# We need to temporarily replace default config path since
-		# npm otherwise tries to write outside of the sandbox
-		local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
-		sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-		sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	if has usersandbox ${FEATURES}; then
-		rm -f "${S}"/test/parallel/test-fs-mkdir.js
-		ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \
-			"For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'."
-	fi
-
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2023-06-10 19:32 William Hubbs
  0 siblings, 0 replies; 25+ messages in thread
From: William Hubbs @ 2023-06-10 19:32 UTC (permalink / raw
  To: gentoo-commits

commit:     cd2dce6119036b41fd57b8196c4841cc6b3d5423
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 10 19:31:03 2023 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Sat Jun 10 19:31:40 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cd2dce61

net-libs/nodejs: add 20.3.0

Closes: https://bugs.gentoo.org/900513
Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |    1 +
 net-libs/nodejs/files/nodejs-20.3.0-gcc14.patch    |   31 +
 .../files/nodejs-20.3.0-simdutf-2.3.14.patch       | 1550 ++++++++++++++++++++
 net-libs/nodejs/nodejs-20.3.0.ebuild               |  255 ++++
 4 files changed, 1837 insertions(+)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index f22e66700a45..0ddfc06fd314 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,3 +1,4 @@
 DIST node-v16.20.0.tar.xz 35546884 BLAKE2B 5bdb1fb7365e07f13d0a58a8d052d11efaadcf1b0792af0517b78b1ecf01e50eabe26e31588ae410ee63b7494a4eb9d23f70d4dd157a452d0bbf8bd548865255 SHA512 b155acdff0244307afcc334844f113b5c321f7764ebb69326d60a6a79d0e0d38d55257a38b815f5933aa4071e6a788e01c466476ef012cec648c84d74adda406
 DIST node-v18.16.0.tar.xz 40467860 BLAKE2B b16749c0212f3aa196ec9fc0f999a023adeb9031b3332939330ba5a3edb5bc2ed6dc21bf861509696e19ed0cc5d5c54bb882018f0e54eb1ad8e9b0ba3bb64bff SHA512 608ce5db97ce2d851f381c7991f635c5e0927ae79037649b482c7e197479341b7c6560644e25f4d65ece8aa80c5763a0e044349a5be210fa33fbbf97a96462bd
 DIST node-v20.2.0.tar.xz 41778040 BLAKE2B 362b0ee89fe822722caeeb4b918550637bfb10791de75d872da334cb1123b744c351b5822b05abf4d36a0449badc5232ab1d73896dd5ce7755d10b226f0b9f52 SHA512 bf780e79bf6c7f766beb7734c7af45edc62094aba4c608f5519b130ff263e52ece925f85a4ee5740e962d16020070ef00933f6c74e771d948f23525c223da48e
+DIST node-v20.3.0.tar.xz 41709484 BLAKE2B 93aadc92914fd977a9bea5643c0806c709a4e68bca2840f7af0b24bfde654e9a3bfb83ead159579c67ebd8cfea81648863d2d87d07d2f11dfe73f1312d873d40 SHA512 6aade4c1cc0ef8f47f403286d88099a3c0bf43f6e1e2b6d50e777eb9327fc1f0a8ba73c943306a431fd422fdda9017b1931bcb31c48badcfcadde8a260840d7c

diff --git a/net-libs/nodejs/files/nodejs-20.3.0-gcc14.patch b/net-libs/nodejs/files/nodejs-20.3.0-gcc14.patch
new file mode 100644
index 000000000000..8011c2bbdfb9
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-20.3.0-gcc14.patch
@@ -0,0 +1,31 @@
+From ad0bbaf34aa3150b4f3507b9973b6f5e8ed47474 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@cmpct.info>
+Date: Fri, 9 Jun 2023 18:29:00 +0100
+Subject: [PATCH] test: add missing <algorithm> include for std::find
+
+GCC 14 drops some transitive includes within libstdc++.
+
+Explicitly include <algorithm> for std::find.
+
+Signed-off-by: Sam James <sam@gentoo.org>
+PR-URL: https://github.com/nodejs/node/pull/48380
+Reviewed-By: LiviaMedeiros <livia@cirno.name>
+Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
+Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
+---
+ test/embedding/embedtest.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/test/embedding/embedtest.cc b/test/embedding/embedtest.cc
+index 3592ccb98132..dbb420f34682 100644
+--- a/test/embedding/embedtest.cc
++++ b/test/embedding/embedtest.cc
+@@ -5,6 +5,8 @@
+ #include "uv.h"
+ #include <assert.h>
+ 
++#include <algorithm>
++
+ // Note: This file is being referred to from doc/api/embedding.md, and excerpts
+ // from it are included in the documentation. Try to keep these in sync.
+ // Snapshot support is not part of the embedder API docs yet due to its

diff --git a/net-libs/nodejs/files/nodejs-20.3.0-simdutf-2.3.14.patch b/net-libs/nodejs/files/nodejs-20.3.0-simdutf-2.3.14.patch
new file mode 100644
index 000000000000..69c37e573bca
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-20.3.0-simdutf-2.3.14.patch
@@ -0,0 +1,1550 @@
+From 1d1685e6fde1bcb47dd30c3bb45dba219939c272 Mon Sep 17 00:00:00 2001
+From: "Node.js GitHub Bot" <github-bot@iojs.org>
+Date: Wed, 7 Jun 2023 14:39:02 +0100
+Subject: [PATCH] deps: update simdutf to 3.2.14
+
+PR-URL: https://github.com/nodejs/node/pull/48344
+Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
+Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
+Reviewed-By: LiviaMedeiros <livia@cirno.name>
+Reviewed-By: Mestery <mestery@protonmail.com>
+Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
+Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
+Reviewed-By: Darshan Sen <raisinten@gmail.com>
+Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
+---
+ deps/simdutf/simdutf.cpp                      | 320 +++++++++---------
+ deps/simdutf/simdutf.h                        |  50 +--
+ .../maintaining/maintaining-dependencies.md   |   6 +-
+ 3 files changed, 189 insertions(+), 187 deletions(-)
+
+diff --git a/deps/simdutf/simdutf.cpp b/deps/simdutf/simdutf.cpp
+index 15107075d51b..712bf0cf8583 100644
+--- a/deps/simdutf/simdutf.cpp
++++ b/deps/simdutf/simdutf.cpp
+@@ -1,8 +1,8 @@
+-/* auto-generated on 2023-05-22 21:46:48 -0400. Do not edit! */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf.cpp
++/* auto-generated on 2023-06-05 08:58:28 -0400. Do not edit! */
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf.cpp
+ /* begin file src/simdutf.cpp */
+ #include "simdutf.h"
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=implementation.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=implementation.cpp
+ /* begin file src/implementation.cpp */
+ #include <initializer_list>
+ #include <climits>
+@@ -26,7 +26,7 @@ std::string toBinaryString(T b) {
+ 
+ // Implementations
+ // The best choice should always come first!
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64.h
+ /* begin file src/simdutf/arm64.h */
+ #ifndef SIMDUTF_ARM64_H
+ #define SIMDUTF_ARM64_H
+@@ -53,7 +53,7 @@ namespace arm64 {
+ } // namespace arm64
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/implementation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/implementation.h
+ /* begin file src/simdutf/arm64/implementation.h */
+ #ifndef SIMDUTF_ARM64_IMPLEMENTATION_H
+ #define SIMDUTF_ARM64_IMPLEMENTATION_H
+@@ -130,14 +130,14 @@ class implementation final : public simdutf::implementation {
+ #endif // SIMDUTF_ARM64_IMPLEMENTATION_H
+ /* end file src/simdutf/arm64/implementation.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/begin.h
+ /* begin file src/simdutf/arm64/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "arm64"
+ // #define SIMDUTF_IMPLEMENTATION arm64
+ /* end file src/simdutf/arm64/begin.h */
+ 
+ // Declarations
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/intrinsics.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/intrinsics.h
+ /* begin file src/simdutf/arm64/intrinsics.h */
+ #ifndef SIMDUTF_ARM64_INTRINSICS_H
+ #define SIMDUTF_ARM64_INTRINSICS_H
+@@ -149,7 +149,7 @@ class implementation final : public simdutf::implementation {
+ 
+ #endif //  SIMDUTF_ARM64_INTRINSICS_H
+ /* end file src/simdutf/arm64/intrinsics.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/bitmanipulation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/bitmanipulation.h
+ /* begin file src/simdutf/arm64/bitmanipulation.h */
+ #ifndef SIMDUTF_ARM64_BITMANIPULATION_H
+ #define SIMDUTF_ARM64_BITMANIPULATION_H
+@@ -169,7 +169,7 @@ simdutf_really_inline int count_ones(uint64_t input_num) {
+ 
+ #endif // SIMDUTF_ARM64_BITMANIPULATION_H
+ /* end file src/simdutf/arm64/bitmanipulation.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/simd.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/simd.h
+ /* begin file src/simdutf/arm64/simd.h */
+ #ifndef SIMDUTF_ARM64_SIMD_H
+ #define SIMDUTF_ARM64_SIMD_H
+@@ -782,7 +782,7 @@ simdutf_really_inline int16x8_t make_int16x8_t(int16_t x1,  int16_t x2,  int16_t
+       ).to_bitmask();
+     }
+   }; // struct simd8x64<T>
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/simd16-inl.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/simd16-inl.h
+ /* begin file src/simdutf/arm64/simd16-inl.h */
+ template<typename T>
+ struct simd16;
+@@ -1095,7 +1095,7 @@ simdutf_really_inline simd16<int16_t>::operator simd16<uint16_t>() const { retur
+ #endif // SIMDUTF_ARM64_SIMD_H
+ /* end file src/simdutf/arm64/simd.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/end.h
+ /* begin file src/simdutf/arm64/end.h */
+ /* end file src/simdutf/arm64/end.h */
+ 
+@@ -1103,7 +1103,7 @@ simdutf_really_inline simd16<int16_t>::operator simd16<uint16_t>() const { retur
+ 
+ #endif // SIMDUTF_ARM64_H
+ /* end file src/simdutf/arm64.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake.h
+ /* begin file src/simdutf/icelake.h */
+ #ifndef SIMDUTF_ICELAKE_H
+ #define SIMDUTF_ICELAKE_H
+@@ -1142,7 +1142,7 @@ simdutf_really_inline simd16<int16_t>::operator simd16<uint16_t>() const { retur
+ #if SIMDUTF_CAN_ALWAYS_RUN_ICELAKE
+ #define SIMDUTF_TARGET_ICELAKE
+ #else
+-#define SIMDUTF_TARGET_ICELAKE SIMDUTF_TARGET_REGION("avx512f,avx512dq,avx512cd,avx512bw,avx512vbmi,avx512vbmi2,avx512vl,avx2,bmi,bmi2,pclmul,lzcnt")
++#define SIMDUTF_TARGET_ICELAKE SIMDUTF_TARGET_REGION("avx512f,avx512dq,avx512cd,avx512bw,avx512vbmi,avx512vbmi2,avx512vl,avx2,bmi,bmi2,pclmul,lzcnt,popcnt")
+ #endif
+ 
+ namespace simdutf {
+@@ -1155,7 +1155,7 @@ namespace icelake {
+ //
+ // These two need to be included outside SIMDUTF_TARGET_REGION
+ //
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/intrinsics.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/intrinsics.h
+ /* begin file src/simdutf/icelake/intrinsics.h */
+ #ifndef SIMDUTF_ICELAKE_INTRINSICS_H
+ #define SIMDUTF_ICELAKE_INTRINSICS_H
+@@ -1265,7 +1265,7 @@ inline __m512i _mm512_set_epi8(uint8_t a0, uint8_t a1, uint8_t a2, uint8_t a3, u
+ 
+ #endif // SIMDUTF_HASWELL_INTRINSICS_H
+ /* end file src/simdutf/icelake/intrinsics.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/implementation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/implementation.h
+ /* begin file src/simdutf/icelake/implementation.h */
+ #ifndef SIMDUTF_ICELAKE_IMPLEMENTATION_H
+ #define SIMDUTF_ICELAKE_IMPLEMENTATION_H
+@@ -1348,7 +1348,7 @@ class implementation final : public simdutf::implementation {
+ //
+ // The rest need to be inside the region
+ //
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/begin.h
+ /* begin file src/simdutf/icelake/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "icelake"
+ // #define SIMDUTF_IMPLEMENTATION icelake
+@@ -1364,7 +1364,7 @@ SIMDUTF_DISABLE_GCC_WARNING(-Wmaybe-uninitialized)
+ #endif // end of workaround
+ /* end file src/simdutf/icelake/begin.h */
+ // Declarations
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/bitmanipulation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/bitmanipulation.h
+ /* begin file src/simdutf/icelake/bitmanipulation.h */
+ #ifndef SIMDUTF_ICELAKE_BITMANIPULATION_H
+ #define SIMDUTF_ICELAKE_BITMANIPULATION_H
+@@ -1390,7 +1390,7 @@ simdutf_really_inline long long int count_ones(uint64_t input_num) {
+ 
+ #endif // SIMDUTF_ICELAKE_BITMANIPULATION_H
+ /* end file src/simdutf/icelake/bitmanipulation.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/end.h
+ /* begin file src/simdutf/icelake/end.h */
+ #if SIMDUTF_CAN_ALWAYS_RUN_ICELAKE
+ // nothing needed.
+@@ -1409,7 +1409,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
+ #endif // SIMDUTF_IMPLEMENTATION_ICELAKE
+ #endif // SIMDUTF_ICELAKE_H
+ /* end file src/simdutf/icelake.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell.h
+ /* begin file src/simdutf/haswell.h */
+ #ifndef SIMDUTF_HASWELL_H
+ #define SIMDUTF_HASWELL_H
+@@ -1442,7 +1442,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
+ 
+ #if SIMDUTF_IMPLEMENTATION_HASWELL
+ 
+-#define SIMDUTF_TARGET_HASWELL SIMDUTF_TARGET_REGION("avx2,bmi,lzcnt")
++#define SIMDUTF_TARGET_HASWELL SIMDUTF_TARGET_REGION("avx2,bmi,lzcnt,popcnt")
+ 
+ namespace simdutf {
+ /**
+@@ -1455,7 +1455,7 @@ namespace haswell {
+ //
+ // These two need to be included outside SIMDUTF_TARGET_REGION
+ //
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/implementation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/implementation.h
+ /* begin file src/simdutf/haswell/implementation.h */
+ #ifndef SIMDUTF_HASWELL_IMPLEMENTATION_H
+ #define SIMDUTF_HASWELL_IMPLEMENTATION_H
+@@ -1534,7 +1534,7 @@ class implementation final : public simdutf::implementation {
+ 
+ #endif // SIMDUTF_HASWELL_IMPLEMENTATION_H
+ /* end file src/simdutf/haswell/implementation.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/intrinsics.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/intrinsics.h
+ /* begin file src/simdutf/haswell/intrinsics.h */
+ #ifndef SIMDUTF_HASWELL_INTRINSICS_H
+ #define SIMDUTF_HASWELL_INTRINSICS_H
+@@ -1603,7 +1603,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
+ //
+ // The rest need to be inside the region
+ //
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/begin.h
+ /* begin file src/simdutf/haswell/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "haswell"
+ // #define SIMDUTF_IMPLEMENTATION haswell
+@@ -1619,7 +1619,7 @@ SIMDUTF_DISABLE_GCC_WARNING(-Wmaybe-uninitialized)
+ #endif // end of workaround
+ /* end file src/simdutf/haswell/begin.h */
+ // Declarations
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/bitmanipulation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/bitmanipulation.h
+ /* begin file src/simdutf/haswell/bitmanipulation.h */
+ #ifndef SIMDUTF_HASWELL_BITMANIPULATION_H
+ #define SIMDUTF_HASWELL_BITMANIPULATION_H
+@@ -1645,7 +1645,7 @@ simdutf_really_inline long long int count_ones(uint64_t input_num) {
+ 
+ #endif // SIMDUTF_HASWELL_BITMANIPULATION_H
+ /* end file src/simdutf/haswell/bitmanipulation.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/simd.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/simd.h
+ /* begin file src/simdutf/haswell/simd.h */
+ #ifndef SIMDUTF_HASWELL_SIMD_H
+ #define SIMDUTF_HASWELL_SIMD_H
+@@ -2041,7 +2041,7 @@ namespace simd {
+     }
+   }; // struct simd8x64<T>
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/simd16-inl.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/simd16-inl.h
+ /* begin file src/simdutf/haswell/simd16-inl.h */
+ #ifdef __GNUC__
+ #if __GNUC__ < 8
+@@ -2320,7 +2320,7 @@ struct simd16<uint16_t>: base16_numeric<uint16_t>  {
+ #endif // SIMDUTF_HASWELL_SIMD_H
+ /* end file src/simdutf/haswell/simd.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/end.h
+ /* begin file src/simdutf/haswell/end.h */
+ #if SIMDUTF_CAN_ALWAYS_RUN_HASWELL
+ // nothing needed.
+@@ -2337,7 +2337,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
+ #endif // SIMDUTF_IMPLEMENTATION_HASWELL
+ #endif // SIMDUTF_HASWELL_COMMON_H
+ /* end file src/simdutf/haswell.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere.h
+ /* begin file src/simdutf/westmere.h */
+ #ifndef SIMDUTF_WESTMERE_H
+ #define SIMDUTF_WESTMERE_H
+@@ -2365,7 +2365,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
+ 
+ #if SIMDUTF_IMPLEMENTATION_WESTMERE
+ 
+-#define SIMDUTF_TARGET_WESTMERE SIMDUTF_TARGET_REGION("sse4.2")
++#define SIMDUTF_TARGET_WESTMERE SIMDUTF_TARGET_REGION("sse4.2,popcnt")
+ 
+ namespace simdutf {
+ /**
+@@ -2378,7 +2378,7 @@ namespace westmere {
+ //
+ // These two need to be included outside SIMDUTF_TARGET_REGION
+ //
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/implementation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/implementation.h
+ /* begin file src/simdutf/westmere/implementation.h */
+ #ifndef SIMDUTF_WESTMERE_IMPLEMENTATION_H
+ #define SIMDUTF_WESTMERE_IMPLEMENTATION_H
+@@ -2455,7 +2455,7 @@ class implementation final : public simdutf::implementation {
+ 
+ #endif // SIMDUTF_WESTMERE_IMPLEMENTATION_H
+ /* end file src/simdutf/westmere/implementation.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/intrinsics.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/intrinsics.h
+ /* begin file src/simdutf/westmere/intrinsics.h */
+ #ifndef SIMDUTF_WESTMERE_INTRINSICS_H
+ #define SIMDUTF_WESTMERE_INTRINSICS_H
+@@ -2504,7 +2504,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
+ //
+ // The rest need to be inside the region
+ //
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/begin.h
+ /* begin file src/simdutf/westmere/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "westmere"
+ // #define SIMDUTF_IMPLEMENTATION westmere
+@@ -2517,7 +2517,7 @@ SIMDUTF_TARGET_WESTMERE
+ /* end file src/simdutf/westmere/begin.h */
+ 
+ // Declarations
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/bitmanipulation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/bitmanipulation.h
+ /* begin file src/simdutf/westmere/bitmanipulation.h */
+ #ifndef SIMDUTF_WESTMERE_BITMANIPULATION_H
+ #define SIMDUTF_WESTMERE_BITMANIPULATION_H
+@@ -2543,7 +2543,7 @@ simdutf_really_inline long long int count_ones(uint64_t input_num) {
+ 
+ #endif // SIMDUTF_WESTMERE_BITMANIPULATION_H
+ /* end file src/simdutf/westmere/bitmanipulation.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/simd.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/simd.h
+ /* begin file src/simdutf/westmere/simd.h */
+ #ifndef SIMDUTF_WESTMERE_SIMD_H
+ #define SIMDUTF_WESTMERE_SIMD_H
+@@ -2987,7 +2987,7 @@ namespace simd {
+     }
+   }; // struct simd8x64<T>
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/simd16-inl.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/simd16-inl.h
+ /* begin file src/simdutf/westmere/simd16-inl.h */
+ template<typename T>
+ struct simd16;
+@@ -3264,7 +3264,7 @@ template<typename T>
+ #endif // SIMDUTF_WESTMERE_SIMD_INPUT_H
+ /* end file src/simdutf/westmere/simd.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/end.h
+ /* begin file src/simdutf/westmere/end.h */
+ #if SIMDUTF_CAN_ALWAYS_RUN_WESTMERE
+ // nothing needed.
+@@ -3277,7 +3277,7 @@ SIMDUTF_UNTARGET_REGION
+ #endif // SIMDUTF_IMPLEMENTATION_WESTMERE
+ #endif // SIMDUTF_WESTMERE_COMMON_H
+ /* end file src/simdutf/westmere.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64.h
+ /* begin file src/simdutf/ppc64.h */
+ #ifndef SIMDUTF_PPC64_H
+ #define SIMDUTF_PPC64_H
+@@ -3304,7 +3304,7 @@ namespace ppc64 {
+ } // namespace ppc64
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/implementation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/implementation.h
+ /* begin file src/simdutf/ppc64/implementation.h */
+ #ifndef SIMDUTF_PPC64_IMPLEMENTATION_H
+ #define SIMDUTF_PPC64_IMPLEMENTATION_H
+@@ -3383,14 +3383,14 @@ class implementation final : public simdutf::implementation {
+ #endif // SIMDUTF_PPC64_IMPLEMENTATION_H
+ /* end file src/simdutf/ppc64/implementation.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/begin.h
+ /* begin file src/simdutf/ppc64/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "ppc64"
+ // #define SIMDUTF_IMPLEMENTATION ppc64
+ /* end file src/simdutf/ppc64/begin.h */
+ 
+ // Declarations
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/intrinsics.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/intrinsics.h
+ /* begin file src/simdutf/ppc64/intrinsics.h */
+ #ifndef SIMDUTF_PPC64_INTRINSICS_H
+ #define SIMDUTF_PPC64_INTRINSICS_H
+@@ -3411,7 +3411,7 @@ class implementation final : public simdutf::implementation {
+ 
+ #endif //  SIMDUTF_PPC64_INTRINSICS_H
+ /* end file src/simdutf/ppc64/intrinsics.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/bitmanipulation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/bitmanipulation.h
+ /* begin file src/simdutf/ppc64/bitmanipulation.h */
+ #ifndef SIMDUTF_PPC64_BITMANIPULATION_H
+ #define SIMDUTF_PPC64_BITMANIPULATION_H
+@@ -3437,7 +3437,7 @@ simdutf_really_inline int count_ones(uint64_t input_num) {
+ 
+ #endif // SIMDUTF_PPC64_BITMANIPULATION_H
+ /* end file src/simdutf/ppc64/bitmanipulation.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/simd.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/simd.h
+ /* begin file src/simdutf/ppc64/simd.h */
+ #ifndef SIMDUTF_PPC64_SIMD_H
+ #define SIMDUTF_PPC64_SIMD_H
+@@ -3929,7 +3929,7 @@ template <typename T> struct simd8x64 {
+ #endif // SIMDUTF_PPC64_SIMD_INPUT_H
+ /* end file src/simdutf/ppc64/simd.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/end.h
+ /* begin file src/simdutf/ppc64/end.h */
+ /* end file src/simdutf/ppc64/end.h */
+ 
+@@ -3937,7 +3937,7 @@ template <typename T> struct simd8x64 {
+ 
+ #endif // SIMDUTF_PPC64_H
+ /* end file src/simdutf/ppc64.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback.h
+ /* begin file src/simdutf/fallback.h */
+ #ifndef SIMDUTF_FALLBACK_H
+ #define SIMDUTF_FALLBACK_H
+@@ -3966,7 +3966,7 @@ namespace fallback {
+ } // namespace fallback
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/implementation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/implementation.h
+ /* begin file src/simdutf/fallback/implementation.h */
+ #ifndef SIMDUTF_FALLBACK_IMPLEMENTATION_H
+ #define SIMDUTF_FALLBACK_IMPLEMENTATION_H
+@@ -4047,14 +4047,14 @@ class implementation final : public simdutf::implementation {
+ #endif // SIMDUTF_FALLBACK_IMPLEMENTATION_H
+ /* end file src/simdutf/fallback/implementation.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/begin.h
+ /* begin file src/simdutf/fallback/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "fallback"
+ // #define SIMDUTF_IMPLEMENTATION fallback
+ /* end file src/simdutf/fallback/begin.h */
+ 
+ // Declarations
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/bitmanipulation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/bitmanipulation.h
+ /* begin file src/simdutf/fallback/bitmanipulation.h */
+ #ifndef SIMDUTF_FALLBACK_BITMANIPULATION_H
+ #define SIMDUTF_FALLBACK_BITMANIPULATION_H
+@@ -4089,7 +4089,7 @@ static unsigned char _BitScanReverse64(unsigned long* ret, uint64_t x) {
+ #endif // SIMDUTF_FALLBACK_BITMANIPULATION_H
+ /* end file src/simdutf/fallback/bitmanipulation.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/end.h
+ /* begin file src/simdutf/fallback/end.h */
+ /* end file src/simdutf/fallback/end.h */
+ 
+@@ -4978,7 +4978,7 @@ const implementation * builtin_implementation() {
+ } // namespace simdutf
+ 
+ /* end file src/implementation.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=encoding_types.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=encoding_types.cpp
+ /* begin file src/encoding_types.cpp */
+ 
+ namespace simdutf {
+@@ -5040,7 +5040,7 @@ encoding_type check_bom(const char* byte, size_t length) {
+ }
+ }
+ /* end file src/encoding_types.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=error.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=error.cpp
+ /* begin file src/error.cpp */
+ namespace simdutf {
+ 
+@@ -5052,7 +5052,7 @@ namespace simdutf {
+ /* end file src/error.cpp */
+ // The large tables should be included once and they
+ // should not depend on a kernel.
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=tables/utf8_to_utf16_tables.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=tables/utf8_to_utf16_tables.h
+ /* begin file src/tables/utf8_to_utf16_tables.h */
+ #ifndef SIMDUTF_UTF8_TO_UTF16_TABLES_H
+ #define SIMDUTF_UTF8_TO_UTF16_TABLES_H
+@@ -9391,7 +9391,7 @@ const uint8_t utf8bigindex[4096][2] =
+ 
+ #endif // SIMDUTF_UTF8_TO_UTF16_TABLES_H
+ /* end file src/tables/utf8_to_utf16_tables.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=tables/utf16_to_utf8_tables.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=tables/utf16_to_utf8_tables.h
+ /* begin file src/tables/utf16_to_utf8_tables.h */
+ // file generated by scripts/sse_convert_utf16_to_utf8.py
+ #ifndef SIMDUTF_UTF16_TO_UTF8_TABLES_H
+@@ -9932,7 +9932,7 @@ namespace utf16_to_utf8 {
+ // End of tables.
+ 
+ // The scalar routines should be included once.
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/ascii.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/ascii.h
+ /* begin file src/scalar/ascii.h */
+ #ifndef SIMDUTF_ASCII_H
+ #define SIMDUTF_ASCII_H
+@@ -9993,7 +9993,7 @@ inline simdutf_warn_unused result validate_with_errors(const char *buf, size_t l
+ 
+ #endif
+ /* end file src/scalar/ascii.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf8.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf8.h
+ /* begin file src/scalar/utf8.h */
+ #ifndef SIMDUTF_UTF8_H
+ #define SIMDUTF_UTF8_H
+@@ -10183,7 +10183,7 @@ inline size_t utf16_length_from_utf8(const char* buf, size_t len) {
+ 
+ #endif
+ /* end file src/scalar/utf8.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf16.h
+ /* begin file src/scalar/utf16.h */
+ #ifndef SIMDUTF_UTF16_H
+ #define SIMDUTF_UTF16_H
+@@ -10297,7 +10297,7 @@ simdutf_really_inline void change_endianness_utf16(const char16_t* in, size_t si
+ 
+ #endif
+ /* end file src/scalar/utf16.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf32.h
+ /* begin file src/scalar/utf32.h */
+ #ifndef SIMDUTF_UTF32_H
+ #define SIMDUTF_UTF32_H
+@@ -10372,7 +10372,7 @@ inline size_t utf16_length_from_utf32(const char32_t* buf, size_t len) {
+ #endif
+ /* end file src/scalar/utf32.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf8/valid_utf32_to_utf8.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf8/valid_utf32_to_utf8.h
+ /* begin file src/scalar/utf32_to_utf8/valid_utf32_to_utf8.h */
+ #ifndef SIMDUTF_VALID_UTF32_TO_UTF8_H
+ #define SIMDUTF_VALID_UTF32_TO_UTF8_H
+@@ -10439,7 +10439,7 @@ inline size_t convert_valid(const char32_t* buf, size_t len, char* utf8_output)
+ 
+ #endif
+ /* end file src/scalar/utf32_to_utf8/valid_utf32_to_utf8.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf8/utf32_to_utf8.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf8/utf32_to_utf8.h
+ /* begin file src/scalar/utf32_to_utf8/utf32_to_utf8.h */
+ #ifndef SIMDUTF_UTF32_TO_UTF8_H
+ #define SIMDUTF_UTF32_TO_UTF8_H
+@@ -10555,7 +10555,7 @@ inline result convert_with_errors(const char32_t* buf, size_t len, char* utf8_ou
+ #endif
+ /* end file src/scalar/utf32_to_utf8/utf32_to_utf8.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf16/valid_utf32_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf16/valid_utf32_to_utf16.h
+ /* begin file src/scalar/utf32_to_utf16/valid_utf32_to_utf16.h */
+ #ifndef SIMDUTF_VALID_UTF32_TO_UTF16_H
+ #define SIMDUTF_VALID_UTF32_TO_UTF16_H
+@@ -10600,7 +10600,7 @@ inline size_t convert_valid(const char32_t* buf, size_t len, char16_t* utf16_out
+ 
+ #endif
+ /* end file src/scalar/utf32_to_utf16/valid_utf32_to_utf16.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf16/utf32_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf16/utf32_to_utf16.h
+ /* begin file src/scalar/utf32_to_utf16/utf32_to_utf16.h */
+ #ifndef SIMDUTF_UTF32_TO_UTF16_H
+ #define SIMDUTF_UTF32_TO_UTF16_H
+@@ -10676,7 +10676,7 @@ inline result convert_with_errors(const char32_t* buf, size_t len, char16_t* utf
+ #endif
+ /* end file src/scalar/utf32_to_utf16/utf32_to_utf16.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf8/valid_utf16_to_utf8.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf8/valid_utf16_to_utf8.h
+ /* begin file src/scalar/utf16_to_utf8/valid_utf16_to_utf8.h */
+ #ifndef SIMDUTF_VALID_UTF16_TO_UTF8_H
+ #define SIMDUTF_VALID_UTF16_TO_UTF8_H
+@@ -10751,7 +10751,7 @@ inline size_t convert_valid(const char16_t* buf, size_t len, char* utf8_output)
+ 
+ #endif
+ /* end file src/scalar/utf16_to_utf8/valid_utf16_to_utf8.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf8/utf16_to_utf8.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf8/utf16_to_utf8.h
+ /* begin file src/scalar/utf16_to_utf8/utf16_to_utf8.h */
+ #ifndef SIMDUTF_UTF16_TO_UTF8_H
+ #define SIMDUTF_UTF16_TO_UTF8_H
+@@ -10887,7 +10887,7 @@ inline result convert_with_errors(const char16_t* buf, size_t len, char* utf8_ou
+ #endif
+ /* end file src/scalar/utf16_to_utf8/utf16_to_utf8.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf32/valid_utf16_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf32/valid_utf16_to_utf32.h
+ /* begin file src/scalar/utf16_to_utf32/valid_utf16_to_utf32.h */
+ #ifndef SIMDUTF_VALID_UTF16_TO_UTF32_H
+ #define SIMDUTF_VALID_UTF16_TO_UTF32_H
+@@ -10929,7 +10929,7 @@ inline size_t convert_valid(const char16_t* buf, size_t len, char32_t* utf32_out
+ 
+ #endif
+ /* end file src/scalar/utf16_to_utf32/valid_utf16_to_utf32.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf32/utf16_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf32/utf16_to_utf32.h
+ /* begin file src/scalar/utf16_to_utf32/utf16_to_utf32.h */
+ #ifndef SIMDUTF_UTF16_TO_UTF32_H
+ #define SIMDUTF_UTF16_TO_UTF32_H
+@@ -11001,7 +11001,7 @@ inline result convert_with_errors(const char16_t* buf, size_t len, char32_t* utf
+ #endif
+ /* end file src/scalar/utf16_to_utf32/utf16_to_utf32.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf16/valid_utf8_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf16/valid_utf8_to_utf16.h
+ /* begin file src/scalar/utf8_to_utf16/valid_utf8_to_utf16.h */
+ #ifndef SIMDUTF_VALID_UTF8_TO_UTF16_H
+ #define SIMDUTF_VALID_UTF8_TO_UTF16_H
+@@ -11086,7 +11086,7 @@ inline size_t convert_valid(const char* buf, size_t len, char16_t* utf16_output)
+ 
+ #endif
+ /* end file src/scalar/utf8_to_utf16/valid_utf8_to_utf16.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf16/utf8_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf16/utf8_to_utf16.h
+ /* begin file src/scalar/utf8_to_utf16/utf8_to_utf16.h */
+ #ifndef SIMDUTF_UTF8_TO_UTF16_H
+ #define SIMDUTF_UTF8_TO_UTF16_H
+@@ -11336,7 +11336,7 @@ inline result rewind_and_convert_with_errors(size_t prior_bytes, const char* buf
+ #endif
+ /* end file src/scalar/utf8_to_utf16/utf8_to_utf16.h */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf32/valid_utf8_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf32/valid_utf8_to_utf32.h
+ /* begin file src/scalar/utf8_to_utf32/valid_utf8_to_utf32.h */
+ #ifndef SIMDUTF_VALID_UTF8_TO_UTF32_H
+ #define SIMDUTF_VALID_UTF8_TO_UTF32_H
+@@ -11402,7 +11402,7 @@ inline size_t convert_valid(const char* buf, size_t len, char32_t* utf32_output)
+ 
+ #endif
+ /* end file src/scalar/utf8_to_utf32/valid_utf8_to_utf32.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf32/utf8_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf32/utf8_to_utf32.h
+ /* begin file src/scalar/utf8_to_utf32/utf8_to_utf32.h */
+ #ifndef SIMDUTF_UTF8_TO_UTF32_H
+ #define SIMDUTF_UTF8_TO_UTF32_H
+@@ -11622,9 +11622,9 @@ SIMDUTF_DISABLE_UNDESIRED_WARNINGS
+ 
+ 
+ #if SIMDUTF_IMPLEMENTATION_ARM64
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/implementation.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/implementation.cpp
+ /* begin file src/arm64/implementation.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/begin.h
+ /* begin file src/simdutf/arm64/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "arm64"
+ // #define SIMDUTF_IMPLEMENTATION arm64
+@@ -11660,7 +11660,7 @@ simdutf_really_inline simd8<bool> must_be_2_3_continuation(const simd8<uint8_t>
+     return is_third_byte ^ is_fourth_byte;
+ }
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_detect_encodings.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_detect_encodings.cpp
+ /* begin file src/arm64/arm_detect_encodings.cpp */
+ template<class checker>
+ // len is known to be a multiple of 2 when this is called
+@@ -11868,7 +11868,7 @@ int arm_detect_encodings(const char * buf, size_t len) {
+ }
+ /* end file src/arm64/arm_detect_encodings.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_validate_utf16.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_validate_utf16.cpp
+ /* begin file src/arm64/arm_validate_utf16.cpp */
+ template <endianness big_endian>
+ const char16_t* arm_validate_utf16(const char16_t* input, size_t size) {
+@@ -12018,7 +12018,7 @@ const result arm_validate_utf16_with_errors(const char16_t* input, size_t size)
+     return result(error_code::SUCCESS, input - start);
+ }
+ /* end file src/arm64/arm_validate_utf16.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_validate_utf32le.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_validate_utf32le.cpp
+ /* begin file src/arm64/arm_validate_utf32le.cpp */
+ 
+ const char32_t* arm_validate_utf32le(const char32_t* input, size_t size) {
+@@ -12083,7 +12083,7 @@ const result arm_validate_utf32le_with_errors(const char32_t* input, size_t size
+ }
+ /* end file src/arm64/arm_validate_utf32le.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf8_to_utf16.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf8_to_utf16.cpp
+ /* begin file src/arm64/arm_convert_utf8_to_utf16.cpp */
+ // Convert up to 12 bytes from utf8 to utf16 using a mask indicating the
+ // end of the code points. Only the least significant 12 bits of the mask
+@@ -12270,7 +12270,7 @@ size_t convert_masked_utf8_to_utf16(const char *input,
+   return consumed;
+ }
+ /* end file src/arm64/arm_convert_utf8_to_utf16.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf8_to_utf32.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf8_to_utf32.cpp
+ /* begin file src/arm64/arm_convert_utf8_to_utf32.cpp */
+ // Convert up to 12 bytes from utf8 to utf32 using a mask indicating the
+ // end of the code points. Only the least significant 12 bits of the mask
+@@ -12407,7 +12407,7 @@ size_t convert_masked_utf8_to_utf32(const char *input,
+ }
+ /* end file src/arm64/arm_convert_utf8_to_utf32.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf16_to_utf8.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf16_to_utf8.cpp
+ /* begin file src/arm64/arm_convert_utf16_to_utf8.cpp */
+ /*
+     The vectorized algorithm works on single SSE register i.e., it
+@@ -12987,7 +12987,7 @@ std::pair<result, char*> arm_convert_utf16_to_utf8_with_errors(const char16_t* b
+   return std::make_pair(result(error_code::SUCCESS, buf - start), reinterpret_cast<char*>(utf8_output));
+ }
+ /* end file src/arm64/arm_convert_utf16_to_utf8.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf16_to_utf32.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf16_to_utf32.cpp
+ /* begin file src/arm64/arm_convert_utf16_to_utf32.cpp */
+ /*
+     The vectorized algorithm works on single SSE register i.e., it
+@@ -13164,7 +13164,7 @@ std::pair<result, char32_t*> arm_convert_utf16_to_utf32_with_errors(const char16
+ }
+ /* end file src/arm64/arm_convert_utf16_to_utf32.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf32_to_utf8.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf32_to_utf8.cpp
+ /* begin file src/arm64/arm_convert_utf32_to_utf8.cpp */
+ std::pair<const char32_t*, char*> arm_convert_utf32_to_utf8(const char32_t* buf, size_t len, char* utf8_out) {
+   uint8_t * utf8_output = reinterpret_cast<uint8_t*>(utf8_out);
+@@ -13636,7 +13636,7 @@ std::pair<result, char*> arm_convert_utf32_to_utf8_with_errors(const char32_t* b
+   return std::make_pair(result(error_code::SUCCESS, buf - start), reinterpret_cast<char*>(utf8_output));
+ }
+ /* end file src/arm64/arm_convert_utf32_to_utf8.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf32_to_utf16.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf32_to_utf16.cpp
+ /* begin file src/arm64/arm_convert_utf32_to_utf16.cpp */
+ template <endianness big_endian>
+ std::pair<const char32_t*, char16_t*> arm_convert_utf32_to_utf16(const char32_t* buf, size_t len, char16_t* utf16_out) {
+@@ -13769,7 +13769,7 @@ std::pair<result, char16_t*> arm_convert_utf32_to_utf16_with_errors(const char32
+ } // unnamed namespace
+ } // namespace arm64
+ } // namespace simdutf
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
+ /* begin file src/generic/buf_block_reader.h */
+ namespace simdutf {
+ namespace arm64 {
+@@ -13864,7 +13864,7 @@ simdutf_really_inline void buf_block_reader<STEP_SIZE>::advance() {
+ } // namespace arm64
+ } // namespace simdutf
+ /* end file src/generic/buf_block_reader.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
+ /* begin file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
+ namespace simdutf {
+ namespace arm64 {
+@@ -14053,7 +14053,7 @@ using utf8_validation::utf8_checker;
+ } // namespace arm64
+ } // namespace simdutf
+ /* end file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
+ /* begin file src/generic/utf8_validation/utf8_validator.h */
+ namespace simdutf {
+ namespace arm64 {
+@@ -14180,7 +14180,7 @@ result generic_validate_ascii_with_errors(const char * input, size_t length) {
+ } // namespace simdutf
+ /* end file src/generic/utf8_validation/utf8_validator.h */
+ // transcoding from UTF-8 to UTF-16
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
+ /* begin file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
+ 
+ 
+@@ -14255,7 +14255,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
+ } // namespace arm64
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
+ /* begin file src/generic/utf8_to_utf16/utf8_to_utf16.h */
+ 
+ 
+@@ -14563,7 +14563,7 @@ using namespace simd;
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf16/utf8_to_utf16.h */
+ // transcoding from UTF-8 to UTF-32
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
+ /* begin file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
+ 
+ namespace simdutf {
+@@ -14609,7 +14609,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
+ } // namespace arm64
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
+ /* begin file src/generic/utf8_to_utf32/utf8_to_utf32.h */
+ 
+ 
+@@ -14910,7 +14910,7 @@ using namespace simd;
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf32/utf8_to_utf32.h */
+ // other functions
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8.h
+ /* begin file src/generic/utf8.h */
+ 
+ namespace simdutf {
+@@ -14957,7 +14957,7 @@ simdutf_really_inline size_t utf32_length_from_utf8(const char* in, size_t size)
+ } // namespace arm64
+ } // namespace simdutf
+ /* end file src/generic/utf8.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf16.h
+ /* begin file src/generic/utf16.h */
+ namespace simdutf {
+ namespace arm64 {
+@@ -15492,15 +15492,15 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
+ } // namespace arm64
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/end.h
+ /* begin file src/simdutf/arm64/end.h */
+ /* end file src/simdutf/arm64/end.h */
+ /* end file src/arm64/implementation.cpp */
+ #endif
+ #if SIMDUTF_IMPLEMENTATION_FALLBACK
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=fallback/implementation.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=fallback/implementation.cpp
+ /* begin file src/fallback/implementation.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/begin.h
+ /* begin file src/simdutf/fallback/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "fallback"
+ // #define SIMDUTF_IMPLEMENTATION fallback
+@@ -15744,17 +15744,17 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
+ } // namespace fallback
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/end.h
+ /* begin file src/simdutf/fallback/end.h */
+ /* end file src/simdutf/fallback/end.h */
+ /* end file src/fallback/implementation.cpp */
+ #endif
+ #if SIMDUTF_IMPLEMENTATION_ICELAKE
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/implementation.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/implementation.cpp
+ /* begin file src/icelake/implementation.cpp */
+ 
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/begin.h
+ /* begin file src/simdutf/icelake/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "icelake"
+ // #define SIMDUTF_IMPLEMENTATION icelake
+@@ -15775,7 +15775,7 @@ namespace {
+ #ifndef SIMDUTF_ICELAKE_H
+ #error "icelake.h must be included"
+ #endif
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_utf8_common.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_utf8_common.inl.cpp
+ /* begin file src/icelake/icelake_utf8_common.inl.cpp */
+ // Common procedures for both validating and non-validating conversions from UTF-8.
+ enum block_processing_mode { SIMDUTF_FULL, SIMDUTF_TAIL};
+@@ -16440,7 +16440,7 @@ simdutf_really_inline __m512i expand_utf8_to_utf32(__m512i input) {
+     return expanded_utf8_to_utf32(char_class, input);
+ }
+ /* end file src/icelake/icelake_utf8_common.inl.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_macros.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_macros.inl.cpp
+ /* begin file src/icelake/icelake_macros.inl.cpp */
+ 
+ /*
+@@ -16576,7 +16576,7 @@ simdutf_really_inline __m512i expand_utf8_to_utf32(__m512i input) {
+                 }                                                                         \
+         }
+ /* end file src/icelake/icelake_macros.inl.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_from_valid_utf8.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_from_valid_utf8.inl.cpp
+ /* begin file src/icelake/icelake_from_valid_utf8.inl.cpp */
+ // file included directly
+ 
+@@ -16715,7 +16715,7 @@ std::pair<const char*, OUTPUT*> valid_utf8_to_fixed_length(const char* str, size
+ 
+ using utf8_to_utf16_result = std::pair<const char*, char16_t*>;
+ /* end file src/icelake/icelake_from_valid_utf8.inl.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_utf8_validation.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_utf8_validation.inl.cpp
+ /* begin file src/icelake/icelake_utf8_validation.inl.cpp */
+ // file included directly
+ 
+@@ -16845,7 +16845,7 @@ simdutf_really_inline __m512i check_special_cases(__m512i input, const __m512i p
+ 
+   }; // struct avx512_utf8_checker
+ /* end file src/icelake/icelake_utf8_validation.inl.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_from_utf8.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_from_utf8.inl.cpp
+ /* begin file src/icelake/icelake_from_utf8.inl.cpp */
+ // file included directly
+ 
+@@ -17148,7 +17148,7 @@ std::tuple<const char*, OUTPUT*, bool> validating_utf8_to_fixed_length_with_cons
+     return {ptr, output, true};
+ }
+ /* end file src/icelake/icelake_from_utf8.inl.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf16_to_utf32.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf16_to_utf32.inl.cpp
+ /* begin file src/icelake/icelake_convert_utf16_to_utf32.inl.cpp */
+ // file included directly
+ 
+@@ -17260,7 +17260,7 @@ std::tuple<const char16_t*, char32_t*, bool> convert_utf16_to_utf32(const char16
+   return std::make_tuple(buf+carry, utf32_output, true);
+ }
+ /* end file src/icelake/icelake_convert_utf16_to_utf32.inl.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf32_to_utf8.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf32_to_utf8.inl.cpp
+ /* begin file src/icelake/icelake_convert_utf32_to_utf8.inl.cpp */
+ // file included directly
+ 
+@@ -17746,7 +17746,7 @@ std::pair<result, char*> avx512_convert_utf32_to_utf8_with_errors(const char32_t
+   return std::make_pair(result(error_code::SUCCESS, buf - start), utf8_output);
+ }
+ /* end file src/icelake/icelake_convert_utf32_to_utf8.inl.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf32_to_utf16.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf32_to_utf16.inl.cpp
+ /* begin file src/icelake/icelake_convert_utf32_to_utf16.inl.cpp */
+ // file included directly
+ 
+@@ -17881,7 +17881,7 @@ std::pair<result, char16_t*> avx512_convert_utf32_to_utf16_with_errors(const cha
+   return std::make_pair(result(error_code::SUCCESS, buf - start), utf16_output);
+ }
+ /* end file src/icelake/icelake_convert_utf32_to_utf16.inl.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_ascii_validation.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_ascii_validation.inl.cpp
+ /* begin file src/icelake/icelake_ascii_validation.inl.cpp */
+ // file included directly
+ 
+@@ -17900,7 +17900,7 @@ bool validate_ascii(const char* buf, size_t len) {
+   return (_mm512_test_epi8_mask(running_or, running_or) == 0);
+ }
+ /* end file src/icelake/icelake_ascii_validation.inl.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_utf32_validation.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_utf32_validation.inl.cpp
+ /* begin file src/icelake/icelake_utf32_validation.inl.cpp */
+ // file included directly
+ 
+@@ -17932,7 +17932,7 @@ const char32_t* validate_utf32(const char32_t* buf, size_t len) {
+     return buf;
+ }
+ /* end file src/icelake/icelake_utf32_validation.inl.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf16_to_utf8.inl.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf16_to_utf8.inl.cpp
+ /* begin file src/icelake/icelake_convert_utf16_to_utf8.inl.cpp */
+ // file included directly
+ 
+@@ -19244,7 +19244,7 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
+ } // namespace icelake
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/end.h
+ /* begin file src/simdutf/icelake/end.h */
+ #if SIMDUTF_CAN_ALWAYS_RUN_ICELAKE
+ // nothing needed.
+@@ -19260,10 +19260,10 @@ SIMDUTF_POP_DISABLE_WARNINGS
+ /* end file src/icelake/implementation.cpp */
+ #endif
+ #if SIMDUTF_IMPLEMENTATION_HASWELL
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/implementation.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/implementation.cpp
+ /* begin file src/haswell/implementation.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/begin.h
+ /* begin file src/simdutf/haswell/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "haswell"
+ // #define SIMDUTF_IMPLEMENTATION haswell
+@@ -19306,7 +19306,7 @@ simdutf_really_inline simd8<bool> must_be_2_3_continuation(const simd8<uint8_t>
+   return simd8<int8_t>(is_third_byte | is_fourth_byte) > int8_t(0);
+ }
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_detect_encodings.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_detect_encodings.cpp
+ /* begin file src/haswell/avx2_detect_encodings.cpp */
+ template<class checker>
+ // len is known to be a multiple of 2 when this is called
+@@ -19496,7 +19496,7 @@ int avx2_detect_encodings(const char * buf, size_t len) {
+ }
+ /* end file src/haswell/avx2_detect_encodings.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_validate_utf16.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_validate_utf16.cpp
+ /* begin file src/haswell/avx2_validate_utf16.cpp */
+ /*
+     In UTF-16 words in range 0xD800 to 0xDFFF have special meaning.
+@@ -19697,7 +19697,7 @@ const result avx2_validate_utf16_with_errors(const char16_t* input, size_t size)
+     return result(error_code::SUCCESS, input - start);
+ }
+ /* end file src/haswell/avx2_validate_utf16.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_validate_utf32le.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_validate_utf32le.cpp
+ /* begin file src/haswell/avx2_validate_utf32le.cpp */
+ /* Returns:
+    - pointer to the last unprocessed character (a scalar fallback should check the rest);
+@@ -19763,7 +19763,7 @@ const result avx2_validate_utf32le_with_errors(const char32_t* input, size_t siz
+ }
+ /* end file src/haswell/avx2_validate_utf32le.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf8_to_utf16.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf8_to_utf16.cpp
+ /* begin file src/haswell/avx2_convert_utf8_to_utf16.cpp */
+ // depends on "tables/utf8_to_utf16_tables.h"
+ 
+@@ -19946,7 +19946,7 @@ size_t convert_masked_utf8_to_utf16(const char *input,
+   return consumed;
+ }
+ /* end file src/haswell/avx2_convert_utf8_to_utf16.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf8_to_utf32.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf8_to_utf32.cpp
+ /* begin file src/haswell/avx2_convert_utf8_to_utf32.cpp */
+ // depends on "tables/utf8_to_utf16_tables.h"
+ 
+@@ -20075,7 +20075,7 @@ size_t convert_masked_utf8_to_utf32(const char *input,
+ }
+ /* end file src/haswell/avx2_convert_utf8_to_utf32.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf16_to_utf8.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf16_to_utf8.cpp
+ /* begin file src/haswell/avx2_convert_utf16_to_utf8.cpp */
+ /*
+     The vectorized algorithm works on single SSE register i.e., it
+@@ -20608,7 +20608,7 @@ std::pair<result, char*> avx2_convert_utf16_to_utf8_with_errors(const char16_t*
+   return std::make_pair(result(error_code::SUCCESS, buf - start), utf8_output);
+ }
+ /* end file src/haswell/avx2_convert_utf16_to_utf8.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf16_to_utf32.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf16_to_utf32.cpp
+ /* begin file src/haswell/avx2_convert_utf16_to_utf32.cpp */
+ /*
+     The vectorized algorithm works on single SSE register i.e., it
+@@ -20793,7 +20793,7 @@ std::pair<result, char32_t*> avx2_convert_utf16_to_utf32_with_errors(const char1
+ }
+ /* end file src/haswell/avx2_convert_utf16_to_utf32.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf32_to_utf8.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf32_to_utf8.cpp
+ /* begin file src/haswell/avx2_convert_utf32_to_utf8.cpp */
+ std::pair<const char32_t*, char*> avx2_convert_utf32_to_utf8(const char32_t* buf, size_t len, char* utf8_output) {
+   const char32_t* end = buf + len;
+@@ -21276,7 +21276,7 @@ std::pair<result, char*> avx2_convert_utf32_to_utf8_with_errors(const char32_t*
+   return std::make_pair(result(error_code::SUCCESS, buf - start), utf8_output);
+ }
+ /* end file src/haswell/avx2_convert_utf32_to_utf8.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf32_to_utf16.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf32_to_utf16.cpp
+ /* begin file src/haswell/avx2_convert_utf32_to_utf16.cpp */
+ template <endianness big_endian>
+ std::pair<const char32_t*, char16_t*> avx2_convert_utf32_to_utf16(const char32_t* buf, size_t len, char16_t* utf16_output) {
+@@ -21412,7 +21412,7 @@ std::pair<result, char16_t*> avx2_convert_utf32_to_utf16_with_errors(const char3
+ } // namespace haswell
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
+ /* begin file src/generic/buf_block_reader.h */
+ namespace simdutf {
+ namespace haswell {
+@@ -21507,7 +21507,7 @@ simdutf_really_inline void buf_block_reader<STEP_SIZE>::advance() {
+ } // namespace haswell
+ } // namespace simdutf
+ /* end file src/generic/buf_block_reader.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
+ /* begin file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
+ namespace simdutf {
+ namespace haswell {
+@@ -21696,7 +21696,7 @@ using utf8_validation::utf8_checker;
+ } // namespace haswell
+ } // namespace simdutf
+ /* end file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
+ /* begin file src/generic/utf8_validation/utf8_validator.h */
+ namespace simdutf {
+ namespace haswell {
+@@ -21823,7 +21823,7 @@ result generic_validate_ascii_with_errors(const char * input, size_t length) {
+ } // namespace simdutf
+ /* end file src/generic/utf8_validation/utf8_validator.h */
+ // transcoding from UTF-8 to UTF-16
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
+ /* begin file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
+ 
+ 
+@@ -21898,7 +21898,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
+ } // namespace haswell
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
+ /* begin file src/generic/utf8_to_utf16/utf8_to_utf16.h */
+ 
+ 
+@@ -22206,7 +22206,7 @@ using namespace simd;
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf16/utf8_to_utf16.h */
+ // transcoding from UTF-8 to UTF-32
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
+ /* begin file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
+ 
+ namespace simdutf {
+@@ -22252,7 +22252,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
+ } // namespace haswell
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
+ /* begin file src/generic/utf8_to_utf32/utf8_to_utf32.h */
+ 
+ 
+@@ -22553,7 +22553,7 @@ using namespace simd;
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf32/utf8_to_utf32.h */
+ // other functions
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8.h
+ /* begin file src/generic/utf8.h */
+ 
+ namespace simdutf {
+@@ -22600,7 +22600,7 @@ simdutf_really_inline size_t utf32_length_from_utf8(const char* in, size_t size)
+ } // namespace haswell
+ } // namespace simdutf
+ /* end file src/generic/utf8.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf16.h
+ /* begin file src/generic/utf16.h */
+ namespace simdutf {
+ namespace haswell {
+@@ -23128,7 +23128,7 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
+ } // namespace haswell
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/end.h
+ /* begin file src/simdutf/haswell/end.h */
+ #if SIMDUTF_CAN_ALWAYS_RUN_HASWELL
+ // nothing needed.
+@@ -23144,14 +23144,14 @@ SIMDUTF_POP_DISABLE_WARNINGS
+ /* end file src/haswell/implementation.cpp */
+ #endif
+ #if SIMDUTF_IMPLEMENTATION_PPC64
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=ppc64/implementation.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=ppc64/implementation.cpp
+ /* begin file src/ppc64/implementation.cpp */
+ 
+ 
+ 
+ 
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/begin.h
+ /* begin file src/simdutf/ppc64/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "ppc64"
+ // #define SIMDUTF_IMPLEMENTATION ppc64
+@@ -23189,7 +23189,7 @@ simdutf_really_inline simd8<bool> must_be_2_3_continuation(const simd8<uint8_t>
+ } // namespace ppc64
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
+ /* begin file src/generic/buf_block_reader.h */
+ namespace simdutf {
+ namespace ppc64 {
+@@ -23284,7 +23284,7 @@ simdutf_really_inline void buf_block_reader<STEP_SIZE>::advance() {
+ } // namespace ppc64
+ } // namespace simdutf
+ /* end file src/generic/buf_block_reader.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
+ /* begin file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
+ namespace simdutf {
+ namespace ppc64 {
+@@ -23473,7 +23473,7 @@ using utf8_validation::utf8_checker;
+ } // namespace ppc64
+ } // namespace simdutf
+ /* end file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
+ /* begin file src/generic/utf8_validation/utf8_validator.h */
+ namespace simdutf {
+ namespace ppc64 {
+@@ -23600,7 +23600,7 @@ result generic_validate_ascii_with_errors(const char * input, size_t length) {
+ } // namespace simdutf
+ /* end file src/generic/utf8_validation/utf8_validator.h */
+ // transcoding from UTF-8 to UTF-16
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
+ /* begin file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
+ 
+ 
+@@ -23675,7 +23675,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
+ } // namespace ppc64
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
+ /* begin file src/generic/utf8_to_utf16/utf8_to_utf16.h */
+ 
+ 
+@@ -23983,7 +23983,7 @@ using namespace simd;
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf16/utf8_to_utf16.h */
+ // transcoding from UTF-8 to UTF-32
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
+ /* begin file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
+ 
+ namespace simdutf {
+@@ -24029,7 +24029,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
+ } // namespace ppc64
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
+ /* begin file src/generic/utf8_to_utf32/utf8_to_utf32.h */
+ 
+ 
+@@ -24330,7 +24330,7 @@ using namespace simd;
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf32/utf8_to_utf32.h */
+ // other functions
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8.h
+ /* begin file src/generic/utf8.h */
+ 
+ namespace simdutf {
+@@ -24377,7 +24377,7 @@ simdutf_really_inline size_t utf32_length_from_utf8(const char* in, size_t size)
+ } // namespace ppc64
+ } // namespace simdutf
+ /* end file src/generic/utf8.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf16.h
+ /* begin file src/generic/utf16.h */
+ namespace simdutf {
+ namespace ppc64 {
+@@ -24676,15 +24676,15 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
+ } // namespace ppc64
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/end.h
+ /* begin file src/simdutf/ppc64/end.h */
+ /* end file src/simdutf/ppc64/end.h */
+ /* end file src/ppc64/implementation.cpp */
+ #endif
+ #if SIMDUTF_IMPLEMENTATION_WESTMERE
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/implementation.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/implementation.cpp
+ /* begin file src/westmere/implementation.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/begin.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/begin.h
+ /* begin file src/simdutf/westmere/begin.h */
+ // redefining SIMDUTF_IMPLEMENTATION to "westmere"
+ // #define SIMDUTF_IMPLEMENTATION westmere
+@@ -24722,7 +24722,7 @@ simdutf_really_inline simd8<bool> must_be_2_3_continuation(const simd8<uint8_t>
+   return simd8<int8_t>(is_third_byte | is_fourth_byte) > int8_t(0);
+ }
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_detect_encodings.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_detect_encodings.cpp
+ /* begin file src/westmere/sse_detect_encodings.cpp */
+ template<class checker>
+ // len is known to be a multiple of 2 when this is called
+@@ -24932,7 +24932,7 @@ int sse_detect_encodings(const char * buf, size_t len) {
+ }
+ /* end file src/westmere/sse_detect_encodings.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_validate_utf16.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_validate_utf16.cpp
+ /* begin file src/westmere/sse_validate_utf16.cpp */
+ /*
+     In UTF-16 words in range 0xD800 to 0xDFFF have special meaning.
+@@ -25132,7 +25132,7 @@ const result sse_validate_utf16_with_errors(const char16_t* input, size_t size)
+     return result(error_code::SUCCESS, input - start);
+ }
+ /* end file src/westmere/sse_validate_utf16.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_validate_utf32le.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_validate_utf32le.cpp
+ /* begin file src/westmere/sse_validate_utf32le.cpp */
+ /* Returns:
+    - pointer to the last unprocessed character (a scalar fallback should check the rest);
+@@ -25198,7 +25198,7 @@ const result sse_validate_utf32le_with_errors(const char32_t* input, size_t size
+ }
+ /* end file src/westmere/sse_validate_utf32le.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf8_to_utf16.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf8_to_utf16.cpp
+ /* begin file src/westmere/sse_convert_utf8_to_utf16.cpp */
+ // depends on "tables/utf8_to_utf16_tables.h"
+ 
+@@ -25383,7 +25383,7 @@ size_t convert_masked_utf8_to_utf16(const char *input,
+   return consumed;
+ }
+ /* end file src/westmere/sse_convert_utf8_to_utf16.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf8_to_utf32.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf8_to_utf32.cpp
+ /* begin file src/westmere/sse_convert_utf8_to_utf32.cpp */
+ // depends on "tables/utf8_to_utf16_tables.h"
+ 
+@@ -25515,7 +25515,7 @@ size_t convert_masked_utf8_to_utf32(const char *input,
+ }
+ /* end file src/westmere/sse_convert_utf8_to_utf32.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf16_to_utf8.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf16_to_utf8.cpp
+ /* begin file src/westmere/sse_convert_utf16_to_utf8.cpp */
+ /*
+     The vectorized algorithm works on single SSE register i.e., it
+@@ -26043,7 +26043,7 @@ std::pair<result, char*> sse_convert_utf16_to_utf8_with_errors(const char16_t* b
+   return std::make_pair(result(error_code::SUCCESS, buf - start), utf8_output);
+ }
+ /* end file src/westmere/sse_convert_utf16_to_utf8.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf16_to_utf32.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf16_to_utf32.cpp
+ /* begin file src/westmere/sse_convert_utf16_to_utf32.cpp */
+ /*
+     The vectorized algorithm works on single SSE register i.e., it
+@@ -26227,7 +26227,7 @@ std::pair<result, char32_t*> sse_convert_utf16_to_utf32_with_errors(const char16
+ }
+ /* end file src/westmere/sse_convert_utf16_to_utf32.cpp */
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf32_to_utf8.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf32_to_utf8.cpp
+ /* begin file src/westmere/sse_convert_utf32_to_utf8.cpp */
+ std::pair<const char32_t*, char*> sse_convert_utf32_to_utf8(const char32_t* buf, size_t len, char* utf8_output) {
+   const char32_t* end = buf + len;
+@@ -26728,7 +26728,7 @@ std::pair<result, char*> sse_convert_utf32_to_utf8_with_errors(const char32_t* b
+   return std::make_pair(result(error_code::SUCCESS, buf - start), utf8_output);
+ }
+ /* end file src/westmere/sse_convert_utf32_to_utf8.cpp */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf32_to_utf16.cpp
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf32_to_utf16.cpp
+ /* begin file src/westmere/sse_convert_utf32_to_utf16.cpp */
+ template <endianness big_endian>
+ std::pair<const char32_t*, char16_t*> sse_convert_utf32_to_utf16(const char32_t* buf, size_t len, char16_t* utf16_output) {
+@@ -26867,7 +26867,7 @@ std::pair<result, char16_t*> sse_convert_utf32_to_utf16_with_errors(const char32
+ } // namespace westmere
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
+ /* begin file src/generic/buf_block_reader.h */
+ namespace simdutf {
+ namespace westmere {
+@@ -26962,7 +26962,7 @@ simdutf_really_inline void buf_block_reader<STEP_SIZE>::advance() {
+ } // namespace westmere
+ } // namespace simdutf
+ /* end file src/generic/buf_block_reader.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
+ /* begin file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
+ namespace simdutf {
+ namespace westmere {
+@@ -27151,7 +27151,7 @@ using utf8_validation::utf8_checker;
+ } // namespace westmere
+ } // namespace simdutf
+ /* end file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
+ /* begin file src/generic/utf8_validation/utf8_validator.h */
+ namespace simdutf {
+ namespace westmere {
+@@ -27278,7 +27278,7 @@ result generic_validate_ascii_with_errors(const char * input, size_t length) {
+ } // namespace simdutf
+ /* end file src/generic/utf8_validation/utf8_validator.h */
+ // transcoding from UTF-8 to UTF-16
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
+ /* begin file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
+ 
+ 
+@@ -27353,7 +27353,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
+ } // namespace westmere
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
+ /* begin file src/generic/utf8_to_utf16/utf8_to_utf16.h */
+ 
+ 
+@@ -27661,7 +27661,7 @@ using namespace simd;
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf16/utf8_to_utf16.h */
+ // transcoding from UTF-8 to UTF-32
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
+ /* begin file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
+ 
+ namespace simdutf {
+@@ -27707,7 +27707,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
+ } // namespace westmere
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
+ /* begin file src/generic/utf8_to_utf32/utf8_to_utf32.h */
+ 
+ 
+@@ -28008,7 +28008,7 @@ using namespace simd;
+ } // namespace simdutf
+ /* end file src/generic/utf8_to_utf32/utf8_to_utf32.h */
+ // other functions
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8.h
+ /* begin file src/generic/utf8.h */
+ 
+ namespace simdutf {
+@@ -28055,7 +28055,7 @@ simdutf_really_inline size_t utf32_length_from_utf8(const char* in, size_t size)
+ } // namespace westmere
+ } // namespace simdutf
+ /* end file src/generic/utf8.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf16.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf16.h
+ /* begin file src/generic/utf16.h */
+ namespace simdutf {
+ namespace westmere {
+@@ -28587,7 +28587,7 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
+ } // namespace westmere
+ } // namespace simdutf
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/end.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/end.h
+ /* begin file src/simdutf/westmere/end.h */
+ #if SIMDUTF_CAN_ALWAYS_RUN_WESTMERE
+ // nothing needed.
+diff --git a/deps/simdutf/simdutf.h b/deps/simdutf/simdutf.h
+index 56ab9ecd5256..f63c163c0f2b 100644
+--- a/deps/simdutf/simdutf.h
++++ b/deps/simdutf/simdutf.h
+@@ -1,11 +1,11 @@
+-/* auto-generated on 2023-05-22 21:46:48 -0400. Do not edit! */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf.h
++/* auto-generated on 2023-06-05 08:58:28 -0400. Do not edit! */
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf.h
+ /* begin file include/simdutf.h */
+ #ifndef SIMDUTF_H
+ #define SIMDUTF_H
+ #include <cstring>
+ 
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/compiler_check.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/compiler_check.h
+ /* begin file include/simdutf/compiler_check.h */
+ #ifndef SIMDUTF_COMPILER_CHECK_H
+ #define SIMDUTF_COMPILER_CHECK_H
+@@ -43,13 +43,13 @@
+ 
+ #endif // SIMDUTF_COMPILER_CHECK_H
+ /* end file include/simdutf/compiler_check.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/common_defs.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/common_defs.h
+ /* begin file include/simdutf/common_defs.h */
+ #ifndef SIMDUTF_COMMON_DEFS_H
+ #define SIMDUTF_COMMON_DEFS_H
+ 
+ #include <cassert>
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/portability.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/portability.h
+ /* begin file include/simdutf/portability.h */
+ #ifndef SIMDUTF_PORTABILITY_H
+ #define SIMDUTF_PORTABILITY_H
+@@ -280,7 +280,7 @@ use a 64-bit target such as x64, 64-bit ARM or 64-bit PPC.")
+ 
+ #endif // SIMDUTF_PORTABILITY_H
+ /* end file include/simdutf/portability.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/avx512.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/avx512.h
+ /* begin file include/simdutf/avx512.h */
+ #ifndef SIMDUTF_AVX512_H_
+ #define SIMDUTF_AVX512_H_
+@@ -460,19 +460,21 @@ use a 64-bit target such as x64, 64-bit ARM or 64-bit PPC.")
+ 
+ #endif // MSC_VER
+ 
+-#if defined(SIMDUTF_VISUAL_STUDIO)
+-    /**
+-     * It does not matter here whether you are using
+-     * the regular visual studio or clang under visual
+-     * studio.
+-     */
+-    #if SIMDUTF_USING_LIBRARY
+-    #define SIMDUTF_DLLIMPORTEXPORT __declspec(dllimport)
++#ifndef SIMDUTF_DLLIMPORTEXPORT
++    #if defined(SIMDUTF_VISUAL_STUDIO)
++      /**
++       * It does not matter here whether you are using
++       * the regular visual studio or clang under visual
++       * studio.
++       */
++      #if SIMDUTF_USING_LIBRARY
++      #define SIMDUTF_DLLIMPORTEXPORT __declspec(dllimport)
++      #else
++      #define SIMDUTF_DLLIMPORTEXPORT __declspec(dllexport)
++      #endif
+     #else
+-    #define SIMDUTF_DLLIMPORTEXPORT __declspec(dllexport)
++      #define SIMDUTF_DLLIMPORTEXPORT
+     #endif
+-#else
+-    #define SIMDUTF_DLLIMPORTEXPORT
+ #endif
+ 
+ /// If EXPR is an error, returns it.
+@@ -481,7 +483,7 @@ use a 64-bit target such as x64, 64-bit ARM or 64-bit PPC.")
+ 
+ #endif // SIMDUTF_COMMON_DEFS_H
+ /* end file include/simdutf/common_defs.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/encoding_types.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/encoding_types.h
+ /* begin file include/simdutf/encoding_types.h */
+ #include <string>
+ 
+@@ -529,7 +531,7 @@ size_t bom_byte_size(encoding_type bom);
+ } // BOM namespace
+ } // simdutf namespace
+ /* end file include/simdutf/encoding_types.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/error.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/error.h
+ /* begin file include/simdutf/error.h */
+ #ifndef ERROR_H
+ #define ERROR_H
+@@ -566,7 +568,7 @@ SIMDUTF_PUSH_DISABLE_WARNINGS
+ SIMDUTF_DISABLE_UNDESIRED_WARNINGS
+ 
+ // Public API
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/simdutf_version.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/simdutf_version.h
+ /* begin file include/simdutf/simdutf_version.h */
+ // /include/simdutf/simdutf_version.h automatically generated by release.py,
+ // do not change by hand
+@@ -574,7 +576,7 @@ SIMDUTF_DISABLE_UNDESIRED_WARNINGS
+ #define SIMDUTF_SIMDUTF_VERSION_H
+ 
+ /** The version of simdutf being used (major.minor.revision) */
+-#define SIMDUTF_VERSION "3.2.12"
++#define SIMDUTF_VERSION "3.2.14"
+ 
+ namespace simdutf {
+ enum {
+@@ -589,13 +591,13 @@ enum {
+   /**
+    * The revision (major.minor.REVISION) of simdutf being used.
+    */
+-  SIMDUTF_VERSION_REVISION = 12
++  SIMDUTF_VERSION_REVISION = 14
+ };
+ } // namespace simdutf
+ 
+ #endif // SIMDUTF_SIMDUTF_VERSION_H
+ /* end file include/simdutf/simdutf_version.h */
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/implementation.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/implementation.h
+ /* begin file include/simdutf/implementation.h */
+ #ifndef SIMDUTF_IMPLEMENTATION_H
+ #define SIMDUTF_IMPLEMENTATION_H
+@@ -605,7 +607,7 @@ enum {
+ #endif
+ #include <vector>
+ #include <tuple>
+-// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/internal/isadetection.h
++// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/internal/isadetection.h
+ /* begin file include/simdutf/internal/isadetection.h */
+ /* From
+ https://github.com/endorno/pytorch/blob/master/torch/lib/TH/generic/simd/simd.h

diff --git a/net-libs/nodejs/nodejs-20.3.0.ebuild b/net-libs/nodejs/nodejs-20.3.0.ebuild
new file mode 100644
index 000000000000..1f81d1c9bac4
--- /dev/null
+++ b/net-libs/nodejs/nodejs-20.3.0.ebuild
@@ -0,0 +1,255 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CONFIG_CHECK="~ADVISE_SYSCALLS"
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit bash-completion-r1 check-reqs flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils
+
+DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
+HOMEPAGE="https://nodejs.org/"
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+
+if [[ ${PV} == *9999 ]]; then
+	inherit git-r3
+	EGIT_REPO_URI="https://github.com/nodejs/node"
+	SLOT="0"
+else
+	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
+	SLOT="0/$(ver_cut 1)"
+	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
+	S="${WORKDIR}/node-v${PV}"
+fi
+
+IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl test"
+REQUIRED_USE="inspector? ( icu ssl )
+	npm? ( ssl )
+	system-icu? ( icu )
+	system-ssl? ( ssl )
+	x86? ( cpu_flags_x86_sse2 )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=app-arch/brotli-1.0.9:=
+	>=dev-libs/libuv-1.44.0:=
+	>=net-dns/c-ares-1.18.1:=
+	>=net-libs/nghttp2-1.41.0:=
+	sys-libs/zlib
+	system-icu? ( >=dev-libs/icu-67:= )
+	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
+	sys-devel/gcc:*"
+BDEPEND="${PYTHON_DEPS}
+	dev-util/ninja
+	sys-apps/coreutils
+	virtual/pkgconfig
+	test? ( net-misc/curl )
+	pax-kernel? ( sys-apps/elfix )"
+DEPEND="${RDEPEND}"
+
+# These are measured on a loong machine with -ggdb on, and only checked
+# if debugging flags are present in CFLAGS.
+#
+# The final link consumed a little more than 7GiB alone, so 8GiB is the lower
+# limit for memory usage. Disk usage was 19.1GiB for the build directory and
+# 1.2GiB for the installed image, so we leave some room for architectures with
+# fatter binaries and set the disk requirement to 22GiB.
+CHECKREQS_MEMORY="8G"
+CHECKREQS_DISK_BUILD="22G"
+
+PATCHES=(
+	"${FILESDIR}"/"${P}"-gcc14.patch
+"${FILESDIR}"/"${P}"-simdutf-2.3.14.patch
+	)
+
+pkg_pretend() {
+	if [[ ${MERGE_TYPE} != "binary" ]]; then
+		if is-flagq "-g*" && ! is-flagq "-g*0" ; then
+			einfo "Checking for sufficient disk space and memory to build ${PN} with debugging CFLAGS"
+			check-reqs_pkg_pretend
+		fi
+	fi
+}
+
+pkg_setup() {
+	python-any-r1_pkg_setup
+	linux-info_pkg_setup
+}
+
+src_prepare() {
+	tc-export AR CC CXX PKG_CONFIG
+	export V=1
+	export BUILDTYPE=Release
+
+	# fix compilation on Darwin
+	# https://code.google.com/p/gyp/issues/detail?id=260
+	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
+
+	# less verbose install output (stating the same as portage, basically)
+	sed -i -e "/print/d" tools/install.py || die
+
+	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
+	local LIBDIR=$(get_libdir)
+	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
+
+	# Avoid writing a depfile, not useful
+	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
+
+	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
+
+	# debug builds. change install path, remove optimisations and override buildtype
+	if use debug; then
+		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+		BUILDTYPE=Debug
+	fi
+
+	# We need to disable mprotect on two files when it builds Bug 694100.
+	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-18.16.0-paxmarking.patch )
+
+	default
+}
+
+src_configure() {
+	xdg_environment_reset
+
+	# LTO compiler flags are handled by configure.py itself
+	filter-flags '-flto*'
+	# nodejs unconditionally links to libatomic #869992
+	# specifically it requires __atomic_is_lock_free which
+	# is not yet implemented by sys-libs/compiler-rt (see
+	# https://reviews.llvm.org/D85044?id=287068), therefore
+	# we depend on gcc and force using libgcc as the support lib
+	tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc"
+
+	local myconf=(
+	--ninja
+		--shared-brotli
+		--shared-cares
+		--shared-libuv
+		--shared-nghttp2
+		--shared-zlib
+	)
+	use debug && myconf+=( --debug )
+	use lto && myconf+=( --enable-lto )
+	if use system-icu; then
+		myconf+=( --with-intl=system-icu )
+	elif use icu; then
+		myconf+=( --with-intl=full-icu )
+	else
+		myconf+=( --with-intl=none )
+	fi
+	use inspector || myconf+=( --without-inspector )
+	use npm || myconf+=( --without-npm )
+	use snapshot || myconf+=( --without-node-snapshot )
+	if use ssl; then
+		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
+	else
+		myconf+=( --without-ssl )
+	fi
+
+	local myarch=""
+	case "${ARCH}:${ABI}" in
+		*:amd64) myarch="x64";;
+		*:arm) myarch="arm";;
+		*:arm64) myarch="arm64";;
+		loong:lp64*) myarch="loong64";;
+		riscv:lp64*) myarch="riscv64";;
+		*:ppc64) myarch="ppc64";;
+		*:x32) myarch="x32";;
+		*:x86) myarch="ia32";;
+		*) myarch="${ABI}";;
+	esac
+
+	GYP_DEFINES="linux_use_gold_flags=0
+		linux_use_bundled_binutils=0
+		linux_use_bundled_gold=0" \
+	"${EPYTHON}" configure.py \
+		--prefix="${EPREFIX}"/usr \
+		--dest-cpu=${myarch} \
+		"${myconf[@]}" || die
+}
+
+src_compile() {
+	emake
+}
+
+src_install() {
+	local LIBDIR="${ED}/usr/$(get_libdir)"
+	default
+
+	pax-mark -m "${ED}"/usr/bin/node
+
+	# set up a symlink structure that node-gyp expects..
+	dodir /usr/include/node/deps/{v8,uv}
+	dosym . /usr/include/node/src
+	for var in deps/{uv,v8}/include; do
+		dosym ../.. /usr/include/node/${var}
+	done
+
+	if use doc; then
+		docinto html
+		dodoc -r "${S}"/doc/*
+	fi
+
+	if use npm; then
+		keepdir /etc/npm
+		echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm
+		doenvd "${T}"/50npm
+
+		# Install bash completion for `npm`
+		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
+		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
+		newbashcomp "${tmp_npm_completion_file}" npm
+
+		# Move man pages
+		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
+
+		# Clean up
+		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
+		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
+
+		local find_exp="-or -name"
+		local find_name=()
+		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+			"*.md" "*.markdown" "*.bat" "*.cmd"; do
+			find_name+=( ${find_exp} "${match}" )
+		done
+
+		# Remove various development and/or inappropriate files and
+		# useless docs of dependend packages.
+		find "${LIBDIR}"/node_modules \
+			\( -type d -name examples \) -or \( -type f \( \
+				-iname "LICEN?E*" \
+				"${find_name[@]}" \
+			\) \) -exec rm -rf "{}" \;
+	fi
+
+	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
+}
+
+src_test() {
+	local drop_tests=(
+		test/parallel/test-dns-setserver-when-querying.js
+		test/parallel/test-fs-mkdir.js
+		test/parallel/test-fs-utimes-y2K38.js
+		test/parallel/test-release-npm.js
+		test/parallel/test-socket-write-after-fin-error.js
+		test/parallel/test-strace-openat-openssl.js
+		test/sequential/test-util-debug.js
+	)
+	rm "${drop_tests[@]}" || die "disabling tests failed"
+
+	out/${BUILDTYPE}/cctest || die
+	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
+}
+
+pkg_postinst() {
+	if use npm; then
+		ewarn "remember to run: source /etc/profile if you plan to use nodejs"
+		ewarn "	in your current shell"
+	fi
+}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2023-08-09 19:21 William Hubbs
  0 siblings, 0 replies; 25+ messages in thread
From: William Hubbs @ 2023-08-09 19:21 UTC (permalink / raw
  To: gentoo-commits

commit:     7617208a22d73294749190c0924c1bac04a9a819
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  9 19:21:36 2023 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Wed Aug  9 19:21:36 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7617208a

net-libs/nodejs: drop 18.16.1, 20.3.0, 20.3.1

Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |    3 -
 .../files/nodejs-20.3.0-simdutf-2.3.14.patch       | 1550 --------------------
 net-libs/nodejs/nodejs-18.16.1.ebuild              |  256 ----
 net-libs/nodejs/nodejs-20.3.0.ebuild               |  255 ----
 net-libs/nodejs/nodejs-20.3.1.ebuild               |  255 ----
 5 files changed, 2319 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index 78878935d653..34e9c7c17c97 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,9 +1,6 @@
 DIST node-v16.20.0.tar.xz 35546884 BLAKE2B 5bdb1fb7365e07f13d0a58a8d052d11efaadcf1b0792af0517b78b1ecf01e50eabe26e31588ae410ee63b7494a4eb9d23f70d4dd157a452d0bbf8bd548865255 SHA512 b155acdff0244307afcc334844f113b5c321f7764ebb69326d60a6a79d0e0d38d55257a38b815f5933aa4071e6a788e01c466476ef012cec648c84d74adda406
 DIST node-v16.20.1.tar.xz 35556440 BLAKE2B cd10c4bf8fdf47126b84bb746e5b11ae1a5a17492b7fe2920be98d5ff2a9bce984515af4833d9bcccf645d53ebc068a3c658a37ad878432664f15cea368a500e SHA512 3179c4b598f211f21c6d7ba378cd03a7ca4a06d99ae8e5bd5b8c0f1a895dc83222858a349cfb7589deecb7c654e9f25ce89c30aef9981ee18d4e24d6bbd5822e
 DIST node-v18.16.0.tar.xz 40467860 BLAKE2B b16749c0212f3aa196ec9fc0f999a023adeb9031b3332939330ba5a3edb5bc2ed6dc21bf861509696e19ed0cc5d5c54bb882018f0e54eb1ad8e9b0ba3bb64bff SHA512 608ce5db97ce2d851f381c7991f635c5e0927ae79037649b482c7e197479341b7c6560644e25f4d65ece8aa80c5763a0e044349a5be210fa33fbbf97a96462bd
-DIST node-v18.16.1.tar.xz 40462540 BLAKE2B 4103b771cdd629be794bd0433caa0e7a3b652511d5aa0535d48990d4ac7901f42e75f498b3a64b6d3b821046c1c26bb8b5c0e1edb953589a76d5fa87346da002 SHA512 15488a06aa31666a0af4470f08910b8a1df53d78cce597ddfdc0c6aebb77ae66138540d47ab0d4ab6d58d1c55226e3e2c0cfec641b2c55b417427171b1ace48c
 DIST node-v18.17.0.tar.xz 40780504 BLAKE2B 2f93bc7fecc6d3a578b43fd079ce4a0eb9f76f9f61c1306fba1e0cf3e7343189c74bfce8648e7b29d84c7b7eade78f9281e5276f7a29f5f527a113892117565b SHA512 01421e9ac6be8db90c14682a5c283f7d2a5824d9f1496e698dae27de090b3014efbbb98bb300c4bf9967681390d8f2450aa65648ddf7ea473814b81d2665b21c
 DIST node-v20.2.0.tar.xz 41778040 BLAKE2B 362b0ee89fe822722caeeb4b918550637bfb10791de75d872da334cb1123b744c351b5822b05abf4d36a0449badc5232ab1d73896dd5ce7755d10b226f0b9f52 SHA512 bf780e79bf6c7f766beb7734c7af45edc62094aba4c608f5519b130ff263e52ece925f85a4ee5740e962d16020070ef00933f6c74e771d948f23525c223da48e
-DIST node-v20.3.0.tar.xz 41709484 BLAKE2B 93aadc92914fd977a9bea5643c0806c709a4e68bca2840f7af0b24bfde654e9a3bfb83ead159579c67ebd8cfea81648863d2d87d07d2f11dfe73f1312d873d40 SHA512 6aade4c1cc0ef8f47f403286d88099a3c0bf43f6e1e2b6d50e777eb9327fc1f0a8ba73c943306a431fd422fdda9017b1931bcb31c48badcfcadde8a260840d7c
-DIST node-v20.3.1.tar.xz 41712208 BLAKE2B 242f0d932d93e802a157d667aacec325cc40e357675237a96ab941fbf6e42a9a9b7888c87c37a16f24f50ecab9a42ec64ddf49bb3e9259f233c20daed18abcad SHA512 f9f7a3905aa05f9708d3dddcbbe8ad729db3a123ccbdbcade402c6faa6b36905239aca9ac19ca4ebb4682dde2c39058c58197f5015556ab2351f8035d35da5e1
 DIST node-v20.5.0.tar.xz 41738488 BLAKE2B 2e66328cb5df4c8d1eeb2b934a36b720ba7182a77d9158bd8ae47fe53db1e636f1ce9aff902d6cc05c5707fb4419e11cdda9ed24345903e995fa530ba9de317f SHA512 f7afb0aa7175bf1b87d1916c8085e2292bfa32aae3de1dae060d74bcdadb3fe486cca6b92c5fb27a70cd3aaa57622e65a57721519fd180bfdf16401d5d89bec7

diff --git a/net-libs/nodejs/files/nodejs-20.3.0-simdutf-2.3.14.patch b/net-libs/nodejs/files/nodejs-20.3.0-simdutf-2.3.14.patch
deleted file mode 100644
index 69c37e573bca..000000000000
--- a/net-libs/nodejs/files/nodejs-20.3.0-simdutf-2.3.14.patch
+++ /dev/null
@@ -1,1550 +0,0 @@
-From 1d1685e6fde1bcb47dd30c3bb45dba219939c272 Mon Sep 17 00:00:00 2001
-From: "Node.js GitHub Bot" <github-bot@iojs.org>
-Date: Wed, 7 Jun 2023 14:39:02 +0100
-Subject: [PATCH] deps: update simdutf to 3.2.14
-
-PR-URL: https://github.com/nodejs/node/pull/48344
-Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
-Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
-Reviewed-By: LiviaMedeiros <livia@cirno.name>
-Reviewed-By: Mestery <mestery@protonmail.com>
-Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
-Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
-Reviewed-By: Darshan Sen <raisinten@gmail.com>
-Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
----
- deps/simdutf/simdutf.cpp                      | 320 +++++++++---------
- deps/simdutf/simdutf.h                        |  50 +--
- .../maintaining/maintaining-dependencies.md   |   6 +-
- 3 files changed, 189 insertions(+), 187 deletions(-)
-
-diff --git a/deps/simdutf/simdutf.cpp b/deps/simdutf/simdutf.cpp
-index 15107075d51b..712bf0cf8583 100644
---- a/deps/simdutf/simdutf.cpp
-+++ b/deps/simdutf/simdutf.cpp
-@@ -1,8 +1,8 @@
--/* auto-generated on 2023-05-22 21:46:48 -0400. Do not edit! */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf.cpp
-+/* auto-generated on 2023-06-05 08:58:28 -0400. Do not edit! */
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf.cpp
- /* begin file src/simdutf.cpp */
- #include "simdutf.h"
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=implementation.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=implementation.cpp
- /* begin file src/implementation.cpp */
- #include <initializer_list>
- #include <climits>
-@@ -26,7 +26,7 @@ std::string toBinaryString(T b) {
- 
- // Implementations
- // The best choice should always come first!
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64.h
- /* begin file src/simdutf/arm64.h */
- #ifndef SIMDUTF_ARM64_H
- #define SIMDUTF_ARM64_H
-@@ -53,7 +53,7 @@ namespace arm64 {
- } // namespace arm64
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/implementation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/implementation.h
- /* begin file src/simdutf/arm64/implementation.h */
- #ifndef SIMDUTF_ARM64_IMPLEMENTATION_H
- #define SIMDUTF_ARM64_IMPLEMENTATION_H
-@@ -130,14 +130,14 @@ class implementation final : public simdutf::implementation {
- #endif // SIMDUTF_ARM64_IMPLEMENTATION_H
- /* end file src/simdutf/arm64/implementation.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/begin.h
- /* begin file src/simdutf/arm64/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "arm64"
- // #define SIMDUTF_IMPLEMENTATION arm64
- /* end file src/simdutf/arm64/begin.h */
- 
- // Declarations
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/intrinsics.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/intrinsics.h
- /* begin file src/simdutf/arm64/intrinsics.h */
- #ifndef SIMDUTF_ARM64_INTRINSICS_H
- #define SIMDUTF_ARM64_INTRINSICS_H
-@@ -149,7 +149,7 @@ class implementation final : public simdutf::implementation {
- 
- #endif //  SIMDUTF_ARM64_INTRINSICS_H
- /* end file src/simdutf/arm64/intrinsics.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/bitmanipulation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/bitmanipulation.h
- /* begin file src/simdutf/arm64/bitmanipulation.h */
- #ifndef SIMDUTF_ARM64_BITMANIPULATION_H
- #define SIMDUTF_ARM64_BITMANIPULATION_H
-@@ -169,7 +169,7 @@ simdutf_really_inline int count_ones(uint64_t input_num) {
- 
- #endif // SIMDUTF_ARM64_BITMANIPULATION_H
- /* end file src/simdutf/arm64/bitmanipulation.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/simd.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/simd.h
- /* begin file src/simdutf/arm64/simd.h */
- #ifndef SIMDUTF_ARM64_SIMD_H
- #define SIMDUTF_ARM64_SIMD_H
-@@ -782,7 +782,7 @@ simdutf_really_inline int16x8_t make_int16x8_t(int16_t x1,  int16_t x2,  int16_t
-       ).to_bitmask();
-     }
-   }; // struct simd8x64<T>
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/simd16-inl.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/simd16-inl.h
- /* begin file src/simdutf/arm64/simd16-inl.h */
- template<typename T>
- struct simd16;
-@@ -1095,7 +1095,7 @@ simdutf_really_inline simd16<int16_t>::operator simd16<uint16_t>() const { retur
- #endif // SIMDUTF_ARM64_SIMD_H
- /* end file src/simdutf/arm64/simd.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/end.h
- /* begin file src/simdutf/arm64/end.h */
- /* end file src/simdutf/arm64/end.h */
- 
-@@ -1103,7 +1103,7 @@ simdutf_really_inline simd16<int16_t>::operator simd16<uint16_t>() const { retur
- 
- #endif // SIMDUTF_ARM64_H
- /* end file src/simdutf/arm64.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake.h
- /* begin file src/simdutf/icelake.h */
- #ifndef SIMDUTF_ICELAKE_H
- #define SIMDUTF_ICELAKE_H
-@@ -1142,7 +1142,7 @@ simdutf_really_inline simd16<int16_t>::operator simd16<uint16_t>() const { retur
- #if SIMDUTF_CAN_ALWAYS_RUN_ICELAKE
- #define SIMDUTF_TARGET_ICELAKE
- #else
--#define SIMDUTF_TARGET_ICELAKE SIMDUTF_TARGET_REGION("avx512f,avx512dq,avx512cd,avx512bw,avx512vbmi,avx512vbmi2,avx512vl,avx2,bmi,bmi2,pclmul,lzcnt")
-+#define SIMDUTF_TARGET_ICELAKE SIMDUTF_TARGET_REGION("avx512f,avx512dq,avx512cd,avx512bw,avx512vbmi,avx512vbmi2,avx512vl,avx2,bmi,bmi2,pclmul,lzcnt,popcnt")
- #endif
- 
- namespace simdutf {
-@@ -1155,7 +1155,7 @@ namespace icelake {
- //
- // These two need to be included outside SIMDUTF_TARGET_REGION
- //
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/intrinsics.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/intrinsics.h
- /* begin file src/simdutf/icelake/intrinsics.h */
- #ifndef SIMDUTF_ICELAKE_INTRINSICS_H
- #define SIMDUTF_ICELAKE_INTRINSICS_H
-@@ -1265,7 +1265,7 @@ inline __m512i _mm512_set_epi8(uint8_t a0, uint8_t a1, uint8_t a2, uint8_t a3, u
- 
- #endif // SIMDUTF_HASWELL_INTRINSICS_H
- /* end file src/simdutf/icelake/intrinsics.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/implementation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/implementation.h
- /* begin file src/simdutf/icelake/implementation.h */
- #ifndef SIMDUTF_ICELAKE_IMPLEMENTATION_H
- #define SIMDUTF_ICELAKE_IMPLEMENTATION_H
-@@ -1348,7 +1348,7 @@ class implementation final : public simdutf::implementation {
- //
- // The rest need to be inside the region
- //
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/begin.h
- /* begin file src/simdutf/icelake/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "icelake"
- // #define SIMDUTF_IMPLEMENTATION icelake
-@@ -1364,7 +1364,7 @@ SIMDUTF_DISABLE_GCC_WARNING(-Wmaybe-uninitialized)
- #endif // end of workaround
- /* end file src/simdutf/icelake/begin.h */
- // Declarations
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/bitmanipulation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/bitmanipulation.h
- /* begin file src/simdutf/icelake/bitmanipulation.h */
- #ifndef SIMDUTF_ICELAKE_BITMANIPULATION_H
- #define SIMDUTF_ICELAKE_BITMANIPULATION_H
-@@ -1390,7 +1390,7 @@ simdutf_really_inline long long int count_ones(uint64_t input_num) {
- 
- #endif // SIMDUTF_ICELAKE_BITMANIPULATION_H
- /* end file src/simdutf/icelake/bitmanipulation.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/end.h
- /* begin file src/simdutf/icelake/end.h */
- #if SIMDUTF_CAN_ALWAYS_RUN_ICELAKE
- // nothing needed.
-@@ -1409,7 +1409,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
- #endif // SIMDUTF_IMPLEMENTATION_ICELAKE
- #endif // SIMDUTF_ICELAKE_H
- /* end file src/simdutf/icelake.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell.h
- /* begin file src/simdutf/haswell.h */
- #ifndef SIMDUTF_HASWELL_H
- #define SIMDUTF_HASWELL_H
-@@ -1442,7 +1442,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
- 
- #if SIMDUTF_IMPLEMENTATION_HASWELL
- 
--#define SIMDUTF_TARGET_HASWELL SIMDUTF_TARGET_REGION("avx2,bmi,lzcnt")
-+#define SIMDUTF_TARGET_HASWELL SIMDUTF_TARGET_REGION("avx2,bmi,lzcnt,popcnt")
- 
- namespace simdutf {
- /**
-@@ -1455,7 +1455,7 @@ namespace haswell {
- //
- // These two need to be included outside SIMDUTF_TARGET_REGION
- //
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/implementation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/implementation.h
- /* begin file src/simdutf/haswell/implementation.h */
- #ifndef SIMDUTF_HASWELL_IMPLEMENTATION_H
- #define SIMDUTF_HASWELL_IMPLEMENTATION_H
-@@ -1534,7 +1534,7 @@ class implementation final : public simdutf::implementation {
- 
- #endif // SIMDUTF_HASWELL_IMPLEMENTATION_H
- /* end file src/simdutf/haswell/implementation.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/intrinsics.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/intrinsics.h
- /* begin file src/simdutf/haswell/intrinsics.h */
- #ifndef SIMDUTF_HASWELL_INTRINSICS_H
- #define SIMDUTF_HASWELL_INTRINSICS_H
-@@ -1603,7 +1603,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
- //
- // The rest need to be inside the region
- //
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/begin.h
- /* begin file src/simdutf/haswell/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "haswell"
- // #define SIMDUTF_IMPLEMENTATION haswell
-@@ -1619,7 +1619,7 @@ SIMDUTF_DISABLE_GCC_WARNING(-Wmaybe-uninitialized)
- #endif // end of workaround
- /* end file src/simdutf/haswell/begin.h */
- // Declarations
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/bitmanipulation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/bitmanipulation.h
- /* begin file src/simdutf/haswell/bitmanipulation.h */
- #ifndef SIMDUTF_HASWELL_BITMANIPULATION_H
- #define SIMDUTF_HASWELL_BITMANIPULATION_H
-@@ -1645,7 +1645,7 @@ simdutf_really_inline long long int count_ones(uint64_t input_num) {
- 
- #endif // SIMDUTF_HASWELL_BITMANIPULATION_H
- /* end file src/simdutf/haswell/bitmanipulation.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/simd.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/simd.h
- /* begin file src/simdutf/haswell/simd.h */
- #ifndef SIMDUTF_HASWELL_SIMD_H
- #define SIMDUTF_HASWELL_SIMD_H
-@@ -2041,7 +2041,7 @@ namespace simd {
-     }
-   }; // struct simd8x64<T>
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/simd16-inl.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/simd16-inl.h
- /* begin file src/simdutf/haswell/simd16-inl.h */
- #ifdef __GNUC__
- #if __GNUC__ < 8
-@@ -2320,7 +2320,7 @@ struct simd16<uint16_t>: base16_numeric<uint16_t>  {
- #endif // SIMDUTF_HASWELL_SIMD_H
- /* end file src/simdutf/haswell/simd.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/end.h
- /* begin file src/simdutf/haswell/end.h */
- #if SIMDUTF_CAN_ALWAYS_RUN_HASWELL
- // nothing needed.
-@@ -2337,7 +2337,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
- #endif // SIMDUTF_IMPLEMENTATION_HASWELL
- #endif // SIMDUTF_HASWELL_COMMON_H
- /* end file src/simdutf/haswell.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere.h
- /* begin file src/simdutf/westmere.h */
- #ifndef SIMDUTF_WESTMERE_H
- #define SIMDUTF_WESTMERE_H
-@@ -2365,7 +2365,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
- 
- #if SIMDUTF_IMPLEMENTATION_WESTMERE
- 
--#define SIMDUTF_TARGET_WESTMERE SIMDUTF_TARGET_REGION("sse4.2")
-+#define SIMDUTF_TARGET_WESTMERE SIMDUTF_TARGET_REGION("sse4.2,popcnt")
- 
- namespace simdutf {
- /**
-@@ -2378,7 +2378,7 @@ namespace westmere {
- //
- // These two need to be included outside SIMDUTF_TARGET_REGION
- //
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/implementation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/implementation.h
- /* begin file src/simdutf/westmere/implementation.h */
- #ifndef SIMDUTF_WESTMERE_IMPLEMENTATION_H
- #define SIMDUTF_WESTMERE_IMPLEMENTATION_H
-@@ -2455,7 +2455,7 @@ class implementation final : public simdutf::implementation {
- 
- #endif // SIMDUTF_WESTMERE_IMPLEMENTATION_H
- /* end file src/simdutf/westmere/implementation.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/intrinsics.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/intrinsics.h
- /* begin file src/simdutf/westmere/intrinsics.h */
- #ifndef SIMDUTF_WESTMERE_INTRINSICS_H
- #define SIMDUTF_WESTMERE_INTRINSICS_H
-@@ -2504,7 +2504,7 @@ SIMDUTF_POP_DISABLE_WARNINGS
- //
- // The rest need to be inside the region
- //
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/begin.h
- /* begin file src/simdutf/westmere/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "westmere"
- // #define SIMDUTF_IMPLEMENTATION westmere
-@@ -2517,7 +2517,7 @@ SIMDUTF_TARGET_WESTMERE
- /* end file src/simdutf/westmere/begin.h */
- 
- // Declarations
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/bitmanipulation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/bitmanipulation.h
- /* begin file src/simdutf/westmere/bitmanipulation.h */
- #ifndef SIMDUTF_WESTMERE_BITMANIPULATION_H
- #define SIMDUTF_WESTMERE_BITMANIPULATION_H
-@@ -2543,7 +2543,7 @@ simdutf_really_inline long long int count_ones(uint64_t input_num) {
- 
- #endif // SIMDUTF_WESTMERE_BITMANIPULATION_H
- /* end file src/simdutf/westmere/bitmanipulation.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/simd.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/simd.h
- /* begin file src/simdutf/westmere/simd.h */
- #ifndef SIMDUTF_WESTMERE_SIMD_H
- #define SIMDUTF_WESTMERE_SIMD_H
-@@ -2987,7 +2987,7 @@ namespace simd {
-     }
-   }; // struct simd8x64<T>
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/simd16-inl.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/simd16-inl.h
- /* begin file src/simdutf/westmere/simd16-inl.h */
- template<typename T>
- struct simd16;
-@@ -3264,7 +3264,7 @@ template<typename T>
- #endif // SIMDUTF_WESTMERE_SIMD_INPUT_H
- /* end file src/simdutf/westmere/simd.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/end.h
- /* begin file src/simdutf/westmere/end.h */
- #if SIMDUTF_CAN_ALWAYS_RUN_WESTMERE
- // nothing needed.
-@@ -3277,7 +3277,7 @@ SIMDUTF_UNTARGET_REGION
- #endif // SIMDUTF_IMPLEMENTATION_WESTMERE
- #endif // SIMDUTF_WESTMERE_COMMON_H
- /* end file src/simdutf/westmere.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64.h
- /* begin file src/simdutf/ppc64.h */
- #ifndef SIMDUTF_PPC64_H
- #define SIMDUTF_PPC64_H
-@@ -3304,7 +3304,7 @@ namespace ppc64 {
- } // namespace ppc64
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/implementation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/implementation.h
- /* begin file src/simdutf/ppc64/implementation.h */
- #ifndef SIMDUTF_PPC64_IMPLEMENTATION_H
- #define SIMDUTF_PPC64_IMPLEMENTATION_H
-@@ -3383,14 +3383,14 @@ class implementation final : public simdutf::implementation {
- #endif // SIMDUTF_PPC64_IMPLEMENTATION_H
- /* end file src/simdutf/ppc64/implementation.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/begin.h
- /* begin file src/simdutf/ppc64/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "ppc64"
- // #define SIMDUTF_IMPLEMENTATION ppc64
- /* end file src/simdutf/ppc64/begin.h */
- 
- // Declarations
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/intrinsics.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/intrinsics.h
- /* begin file src/simdutf/ppc64/intrinsics.h */
- #ifndef SIMDUTF_PPC64_INTRINSICS_H
- #define SIMDUTF_PPC64_INTRINSICS_H
-@@ -3411,7 +3411,7 @@ class implementation final : public simdutf::implementation {
- 
- #endif //  SIMDUTF_PPC64_INTRINSICS_H
- /* end file src/simdutf/ppc64/intrinsics.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/bitmanipulation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/bitmanipulation.h
- /* begin file src/simdutf/ppc64/bitmanipulation.h */
- #ifndef SIMDUTF_PPC64_BITMANIPULATION_H
- #define SIMDUTF_PPC64_BITMANIPULATION_H
-@@ -3437,7 +3437,7 @@ simdutf_really_inline int count_ones(uint64_t input_num) {
- 
- #endif // SIMDUTF_PPC64_BITMANIPULATION_H
- /* end file src/simdutf/ppc64/bitmanipulation.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/simd.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/simd.h
- /* begin file src/simdutf/ppc64/simd.h */
- #ifndef SIMDUTF_PPC64_SIMD_H
- #define SIMDUTF_PPC64_SIMD_H
-@@ -3929,7 +3929,7 @@ template <typename T> struct simd8x64 {
- #endif // SIMDUTF_PPC64_SIMD_INPUT_H
- /* end file src/simdutf/ppc64/simd.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/end.h
- /* begin file src/simdutf/ppc64/end.h */
- /* end file src/simdutf/ppc64/end.h */
- 
-@@ -3937,7 +3937,7 @@ template <typename T> struct simd8x64 {
- 
- #endif // SIMDUTF_PPC64_H
- /* end file src/simdutf/ppc64.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback.h
- /* begin file src/simdutf/fallback.h */
- #ifndef SIMDUTF_FALLBACK_H
- #define SIMDUTF_FALLBACK_H
-@@ -3966,7 +3966,7 @@ namespace fallback {
- } // namespace fallback
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/implementation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/implementation.h
- /* begin file src/simdutf/fallback/implementation.h */
- #ifndef SIMDUTF_FALLBACK_IMPLEMENTATION_H
- #define SIMDUTF_FALLBACK_IMPLEMENTATION_H
-@@ -4047,14 +4047,14 @@ class implementation final : public simdutf::implementation {
- #endif // SIMDUTF_FALLBACK_IMPLEMENTATION_H
- /* end file src/simdutf/fallback/implementation.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/begin.h
- /* begin file src/simdutf/fallback/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "fallback"
- // #define SIMDUTF_IMPLEMENTATION fallback
- /* end file src/simdutf/fallback/begin.h */
- 
- // Declarations
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/bitmanipulation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/bitmanipulation.h
- /* begin file src/simdutf/fallback/bitmanipulation.h */
- #ifndef SIMDUTF_FALLBACK_BITMANIPULATION_H
- #define SIMDUTF_FALLBACK_BITMANIPULATION_H
-@@ -4089,7 +4089,7 @@ static unsigned char _BitScanReverse64(unsigned long* ret, uint64_t x) {
- #endif // SIMDUTF_FALLBACK_BITMANIPULATION_H
- /* end file src/simdutf/fallback/bitmanipulation.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/end.h
- /* begin file src/simdutf/fallback/end.h */
- /* end file src/simdutf/fallback/end.h */
- 
-@@ -4978,7 +4978,7 @@ const implementation * builtin_implementation() {
- } // namespace simdutf
- 
- /* end file src/implementation.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=encoding_types.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=encoding_types.cpp
- /* begin file src/encoding_types.cpp */
- 
- namespace simdutf {
-@@ -5040,7 +5040,7 @@ encoding_type check_bom(const char* byte, size_t length) {
- }
- }
- /* end file src/encoding_types.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=error.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=error.cpp
- /* begin file src/error.cpp */
- namespace simdutf {
- 
-@@ -5052,7 +5052,7 @@ namespace simdutf {
- /* end file src/error.cpp */
- // The large tables should be included once and they
- // should not depend on a kernel.
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=tables/utf8_to_utf16_tables.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=tables/utf8_to_utf16_tables.h
- /* begin file src/tables/utf8_to_utf16_tables.h */
- #ifndef SIMDUTF_UTF8_TO_UTF16_TABLES_H
- #define SIMDUTF_UTF8_TO_UTF16_TABLES_H
-@@ -9391,7 +9391,7 @@ const uint8_t utf8bigindex[4096][2] =
- 
- #endif // SIMDUTF_UTF8_TO_UTF16_TABLES_H
- /* end file src/tables/utf8_to_utf16_tables.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=tables/utf16_to_utf8_tables.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=tables/utf16_to_utf8_tables.h
- /* begin file src/tables/utf16_to_utf8_tables.h */
- // file generated by scripts/sse_convert_utf16_to_utf8.py
- #ifndef SIMDUTF_UTF16_TO_UTF8_TABLES_H
-@@ -9932,7 +9932,7 @@ namespace utf16_to_utf8 {
- // End of tables.
- 
- // The scalar routines should be included once.
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/ascii.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/ascii.h
- /* begin file src/scalar/ascii.h */
- #ifndef SIMDUTF_ASCII_H
- #define SIMDUTF_ASCII_H
-@@ -9993,7 +9993,7 @@ inline simdutf_warn_unused result validate_with_errors(const char *buf, size_t l
- 
- #endif
- /* end file src/scalar/ascii.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf8.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf8.h
- /* begin file src/scalar/utf8.h */
- #ifndef SIMDUTF_UTF8_H
- #define SIMDUTF_UTF8_H
-@@ -10183,7 +10183,7 @@ inline size_t utf16_length_from_utf8(const char* buf, size_t len) {
- 
- #endif
- /* end file src/scalar/utf8.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf16.h
- /* begin file src/scalar/utf16.h */
- #ifndef SIMDUTF_UTF16_H
- #define SIMDUTF_UTF16_H
-@@ -10297,7 +10297,7 @@ simdutf_really_inline void change_endianness_utf16(const char16_t* in, size_t si
- 
- #endif
- /* end file src/scalar/utf16.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf32.h
- /* begin file src/scalar/utf32.h */
- #ifndef SIMDUTF_UTF32_H
- #define SIMDUTF_UTF32_H
-@@ -10372,7 +10372,7 @@ inline size_t utf16_length_from_utf32(const char32_t* buf, size_t len) {
- #endif
- /* end file src/scalar/utf32.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf8/valid_utf32_to_utf8.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf8/valid_utf32_to_utf8.h
- /* begin file src/scalar/utf32_to_utf8/valid_utf32_to_utf8.h */
- #ifndef SIMDUTF_VALID_UTF32_TO_UTF8_H
- #define SIMDUTF_VALID_UTF32_TO_UTF8_H
-@@ -10439,7 +10439,7 @@ inline size_t convert_valid(const char32_t* buf, size_t len, char* utf8_output)
- 
- #endif
- /* end file src/scalar/utf32_to_utf8/valid_utf32_to_utf8.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf8/utf32_to_utf8.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf8/utf32_to_utf8.h
- /* begin file src/scalar/utf32_to_utf8/utf32_to_utf8.h */
- #ifndef SIMDUTF_UTF32_TO_UTF8_H
- #define SIMDUTF_UTF32_TO_UTF8_H
-@@ -10555,7 +10555,7 @@ inline result convert_with_errors(const char32_t* buf, size_t len, char* utf8_ou
- #endif
- /* end file src/scalar/utf32_to_utf8/utf32_to_utf8.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf16/valid_utf32_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf16/valid_utf32_to_utf16.h
- /* begin file src/scalar/utf32_to_utf16/valid_utf32_to_utf16.h */
- #ifndef SIMDUTF_VALID_UTF32_TO_UTF16_H
- #define SIMDUTF_VALID_UTF32_TO_UTF16_H
-@@ -10600,7 +10600,7 @@ inline size_t convert_valid(const char32_t* buf, size_t len, char16_t* utf16_out
- 
- #endif
- /* end file src/scalar/utf32_to_utf16/valid_utf32_to_utf16.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf16/utf32_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf32_to_utf16/utf32_to_utf16.h
- /* begin file src/scalar/utf32_to_utf16/utf32_to_utf16.h */
- #ifndef SIMDUTF_UTF32_TO_UTF16_H
- #define SIMDUTF_UTF32_TO_UTF16_H
-@@ -10676,7 +10676,7 @@ inline result convert_with_errors(const char32_t* buf, size_t len, char16_t* utf
- #endif
- /* end file src/scalar/utf32_to_utf16/utf32_to_utf16.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf8/valid_utf16_to_utf8.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf8/valid_utf16_to_utf8.h
- /* begin file src/scalar/utf16_to_utf8/valid_utf16_to_utf8.h */
- #ifndef SIMDUTF_VALID_UTF16_TO_UTF8_H
- #define SIMDUTF_VALID_UTF16_TO_UTF8_H
-@@ -10751,7 +10751,7 @@ inline size_t convert_valid(const char16_t* buf, size_t len, char* utf8_output)
- 
- #endif
- /* end file src/scalar/utf16_to_utf8/valid_utf16_to_utf8.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf8/utf16_to_utf8.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf8/utf16_to_utf8.h
- /* begin file src/scalar/utf16_to_utf8/utf16_to_utf8.h */
- #ifndef SIMDUTF_UTF16_TO_UTF8_H
- #define SIMDUTF_UTF16_TO_UTF8_H
-@@ -10887,7 +10887,7 @@ inline result convert_with_errors(const char16_t* buf, size_t len, char* utf8_ou
- #endif
- /* end file src/scalar/utf16_to_utf8/utf16_to_utf8.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf32/valid_utf16_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf32/valid_utf16_to_utf32.h
- /* begin file src/scalar/utf16_to_utf32/valid_utf16_to_utf32.h */
- #ifndef SIMDUTF_VALID_UTF16_TO_UTF32_H
- #define SIMDUTF_VALID_UTF16_TO_UTF32_H
-@@ -10929,7 +10929,7 @@ inline size_t convert_valid(const char16_t* buf, size_t len, char32_t* utf32_out
- 
- #endif
- /* end file src/scalar/utf16_to_utf32/valid_utf16_to_utf32.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf32/utf16_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf16_to_utf32/utf16_to_utf32.h
- /* begin file src/scalar/utf16_to_utf32/utf16_to_utf32.h */
- #ifndef SIMDUTF_UTF16_TO_UTF32_H
- #define SIMDUTF_UTF16_TO_UTF32_H
-@@ -11001,7 +11001,7 @@ inline result convert_with_errors(const char16_t* buf, size_t len, char32_t* utf
- #endif
- /* end file src/scalar/utf16_to_utf32/utf16_to_utf32.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf16/valid_utf8_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf16/valid_utf8_to_utf16.h
- /* begin file src/scalar/utf8_to_utf16/valid_utf8_to_utf16.h */
- #ifndef SIMDUTF_VALID_UTF8_TO_UTF16_H
- #define SIMDUTF_VALID_UTF8_TO_UTF16_H
-@@ -11086,7 +11086,7 @@ inline size_t convert_valid(const char* buf, size_t len, char16_t* utf16_output)
- 
- #endif
- /* end file src/scalar/utf8_to_utf16/valid_utf8_to_utf16.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf16/utf8_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf16/utf8_to_utf16.h
- /* begin file src/scalar/utf8_to_utf16/utf8_to_utf16.h */
- #ifndef SIMDUTF_UTF8_TO_UTF16_H
- #define SIMDUTF_UTF8_TO_UTF16_H
-@@ -11336,7 +11336,7 @@ inline result rewind_and_convert_with_errors(size_t prior_bytes, const char* buf
- #endif
- /* end file src/scalar/utf8_to_utf16/utf8_to_utf16.h */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf32/valid_utf8_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf32/valid_utf8_to_utf32.h
- /* begin file src/scalar/utf8_to_utf32/valid_utf8_to_utf32.h */
- #ifndef SIMDUTF_VALID_UTF8_TO_UTF32_H
- #define SIMDUTF_VALID_UTF8_TO_UTF32_H
-@@ -11402,7 +11402,7 @@ inline size_t convert_valid(const char* buf, size_t len, char32_t* utf32_output)
- 
- #endif
- /* end file src/scalar/utf8_to_utf32/valid_utf8_to_utf32.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf32/utf8_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=scalar/utf8_to_utf32/utf8_to_utf32.h
- /* begin file src/scalar/utf8_to_utf32/utf8_to_utf32.h */
- #ifndef SIMDUTF_UTF8_TO_UTF32_H
- #define SIMDUTF_UTF8_TO_UTF32_H
-@@ -11622,9 +11622,9 @@ SIMDUTF_DISABLE_UNDESIRED_WARNINGS
- 
- 
- #if SIMDUTF_IMPLEMENTATION_ARM64
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/implementation.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/implementation.cpp
- /* begin file src/arm64/implementation.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/begin.h
- /* begin file src/simdutf/arm64/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "arm64"
- // #define SIMDUTF_IMPLEMENTATION arm64
-@@ -11660,7 +11660,7 @@ simdutf_really_inline simd8<bool> must_be_2_3_continuation(const simd8<uint8_t>
-     return is_third_byte ^ is_fourth_byte;
- }
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_detect_encodings.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_detect_encodings.cpp
- /* begin file src/arm64/arm_detect_encodings.cpp */
- template<class checker>
- // len is known to be a multiple of 2 when this is called
-@@ -11868,7 +11868,7 @@ int arm_detect_encodings(const char * buf, size_t len) {
- }
- /* end file src/arm64/arm_detect_encodings.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_validate_utf16.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_validate_utf16.cpp
- /* begin file src/arm64/arm_validate_utf16.cpp */
- template <endianness big_endian>
- const char16_t* arm_validate_utf16(const char16_t* input, size_t size) {
-@@ -12018,7 +12018,7 @@ const result arm_validate_utf16_with_errors(const char16_t* input, size_t size)
-     return result(error_code::SUCCESS, input - start);
- }
- /* end file src/arm64/arm_validate_utf16.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_validate_utf32le.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_validate_utf32le.cpp
- /* begin file src/arm64/arm_validate_utf32le.cpp */
- 
- const char32_t* arm_validate_utf32le(const char32_t* input, size_t size) {
-@@ -12083,7 +12083,7 @@ const result arm_validate_utf32le_with_errors(const char32_t* input, size_t size
- }
- /* end file src/arm64/arm_validate_utf32le.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf8_to_utf16.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf8_to_utf16.cpp
- /* begin file src/arm64/arm_convert_utf8_to_utf16.cpp */
- // Convert up to 12 bytes from utf8 to utf16 using a mask indicating the
- // end of the code points. Only the least significant 12 bits of the mask
-@@ -12270,7 +12270,7 @@ size_t convert_masked_utf8_to_utf16(const char *input,
-   return consumed;
- }
- /* end file src/arm64/arm_convert_utf8_to_utf16.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf8_to_utf32.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf8_to_utf32.cpp
- /* begin file src/arm64/arm_convert_utf8_to_utf32.cpp */
- // Convert up to 12 bytes from utf8 to utf32 using a mask indicating the
- // end of the code points. Only the least significant 12 bits of the mask
-@@ -12407,7 +12407,7 @@ size_t convert_masked_utf8_to_utf32(const char *input,
- }
- /* end file src/arm64/arm_convert_utf8_to_utf32.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf16_to_utf8.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf16_to_utf8.cpp
- /* begin file src/arm64/arm_convert_utf16_to_utf8.cpp */
- /*
-     The vectorized algorithm works on single SSE register i.e., it
-@@ -12987,7 +12987,7 @@ std::pair<result, char*> arm_convert_utf16_to_utf8_with_errors(const char16_t* b
-   return std::make_pair(result(error_code::SUCCESS, buf - start), reinterpret_cast<char*>(utf8_output));
- }
- /* end file src/arm64/arm_convert_utf16_to_utf8.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf16_to_utf32.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf16_to_utf32.cpp
- /* begin file src/arm64/arm_convert_utf16_to_utf32.cpp */
- /*
-     The vectorized algorithm works on single SSE register i.e., it
-@@ -13164,7 +13164,7 @@ std::pair<result, char32_t*> arm_convert_utf16_to_utf32_with_errors(const char16
- }
- /* end file src/arm64/arm_convert_utf16_to_utf32.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf32_to_utf8.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf32_to_utf8.cpp
- /* begin file src/arm64/arm_convert_utf32_to_utf8.cpp */
- std::pair<const char32_t*, char*> arm_convert_utf32_to_utf8(const char32_t* buf, size_t len, char* utf8_out) {
-   uint8_t * utf8_output = reinterpret_cast<uint8_t*>(utf8_out);
-@@ -13636,7 +13636,7 @@ std::pair<result, char*> arm_convert_utf32_to_utf8_with_errors(const char32_t* b
-   return std::make_pair(result(error_code::SUCCESS, buf - start), reinterpret_cast<char*>(utf8_output));
- }
- /* end file src/arm64/arm_convert_utf32_to_utf8.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf32_to_utf16.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=arm64/arm_convert_utf32_to_utf16.cpp
- /* begin file src/arm64/arm_convert_utf32_to_utf16.cpp */
- template <endianness big_endian>
- std::pair<const char32_t*, char16_t*> arm_convert_utf32_to_utf16(const char32_t* buf, size_t len, char16_t* utf16_out) {
-@@ -13769,7 +13769,7 @@ std::pair<result, char16_t*> arm_convert_utf32_to_utf16_with_errors(const char32
- } // unnamed namespace
- } // namespace arm64
- } // namespace simdutf
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
- /* begin file src/generic/buf_block_reader.h */
- namespace simdutf {
- namespace arm64 {
-@@ -13864,7 +13864,7 @@ simdutf_really_inline void buf_block_reader<STEP_SIZE>::advance() {
- } // namespace arm64
- } // namespace simdutf
- /* end file src/generic/buf_block_reader.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
- /* begin file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
- namespace simdutf {
- namespace arm64 {
-@@ -14053,7 +14053,7 @@ using utf8_validation::utf8_checker;
- } // namespace arm64
- } // namespace simdutf
- /* end file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
- /* begin file src/generic/utf8_validation/utf8_validator.h */
- namespace simdutf {
- namespace arm64 {
-@@ -14180,7 +14180,7 @@ result generic_validate_ascii_with_errors(const char * input, size_t length) {
- } // namespace simdutf
- /* end file src/generic/utf8_validation/utf8_validator.h */
- // transcoding from UTF-8 to UTF-16
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
- /* begin file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
- 
- 
-@@ -14255,7 +14255,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
- } // namespace arm64
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
- /* begin file src/generic/utf8_to_utf16/utf8_to_utf16.h */
- 
- 
-@@ -14563,7 +14563,7 @@ using namespace simd;
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf16/utf8_to_utf16.h */
- // transcoding from UTF-8 to UTF-32
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
- /* begin file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
- 
- namespace simdutf {
-@@ -14609,7 +14609,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
- } // namespace arm64
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
- /* begin file src/generic/utf8_to_utf32/utf8_to_utf32.h */
- 
- 
-@@ -14910,7 +14910,7 @@ using namespace simd;
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf32/utf8_to_utf32.h */
- // other functions
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8.h
- /* begin file src/generic/utf8.h */
- 
- namespace simdutf {
-@@ -14957,7 +14957,7 @@ simdutf_really_inline size_t utf32_length_from_utf8(const char* in, size_t size)
- } // namespace arm64
- } // namespace simdutf
- /* end file src/generic/utf8.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf16.h
- /* begin file src/generic/utf16.h */
- namespace simdutf {
- namespace arm64 {
-@@ -15492,15 +15492,15 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
- } // namespace arm64
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/arm64/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/arm64/end.h
- /* begin file src/simdutf/arm64/end.h */
- /* end file src/simdutf/arm64/end.h */
- /* end file src/arm64/implementation.cpp */
- #endif
- #if SIMDUTF_IMPLEMENTATION_FALLBACK
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=fallback/implementation.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=fallback/implementation.cpp
- /* begin file src/fallback/implementation.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/begin.h
- /* begin file src/simdutf/fallback/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "fallback"
- // #define SIMDUTF_IMPLEMENTATION fallback
-@@ -15744,17 +15744,17 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
- } // namespace fallback
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/fallback/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/fallback/end.h
- /* begin file src/simdutf/fallback/end.h */
- /* end file src/simdutf/fallback/end.h */
- /* end file src/fallback/implementation.cpp */
- #endif
- #if SIMDUTF_IMPLEMENTATION_ICELAKE
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/implementation.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/implementation.cpp
- /* begin file src/icelake/implementation.cpp */
- 
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/begin.h
- /* begin file src/simdutf/icelake/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "icelake"
- // #define SIMDUTF_IMPLEMENTATION icelake
-@@ -15775,7 +15775,7 @@ namespace {
- #ifndef SIMDUTF_ICELAKE_H
- #error "icelake.h must be included"
- #endif
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_utf8_common.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_utf8_common.inl.cpp
- /* begin file src/icelake/icelake_utf8_common.inl.cpp */
- // Common procedures for both validating and non-validating conversions from UTF-8.
- enum block_processing_mode { SIMDUTF_FULL, SIMDUTF_TAIL};
-@@ -16440,7 +16440,7 @@ simdutf_really_inline __m512i expand_utf8_to_utf32(__m512i input) {
-     return expanded_utf8_to_utf32(char_class, input);
- }
- /* end file src/icelake/icelake_utf8_common.inl.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_macros.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_macros.inl.cpp
- /* begin file src/icelake/icelake_macros.inl.cpp */
- 
- /*
-@@ -16576,7 +16576,7 @@ simdutf_really_inline __m512i expand_utf8_to_utf32(__m512i input) {
-                 }                                                                         \
-         }
- /* end file src/icelake/icelake_macros.inl.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_from_valid_utf8.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_from_valid_utf8.inl.cpp
- /* begin file src/icelake/icelake_from_valid_utf8.inl.cpp */
- // file included directly
- 
-@@ -16715,7 +16715,7 @@ std::pair<const char*, OUTPUT*> valid_utf8_to_fixed_length(const char* str, size
- 
- using utf8_to_utf16_result = std::pair<const char*, char16_t*>;
- /* end file src/icelake/icelake_from_valid_utf8.inl.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_utf8_validation.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_utf8_validation.inl.cpp
- /* begin file src/icelake/icelake_utf8_validation.inl.cpp */
- // file included directly
- 
-@@ -16845,7 +16845,7 @@ simdutf_really_inline __m512i check_special_cases(__m512i input, const __m512i p
- 
-   }; // struct avx512_utf8_checker
- /* end file src/icelake/icelake_utf8_validation.inl.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_from_utf8.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_from_utf8.inl.cpp
- /* begin file src/icelake/icelake_from_utf8.inl.cpp */
- // file included directly
- 
-@@ -17148,7 +17148,7 @@ std::tuple<const char*, OUTPUT*, bool> validating_utf8_to_fixed_length_with_cons
-     return {ptr, output, true};
- }
- /* end file src/icelake/icelake_from_utf8.inl.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf16_to_utf32.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf16_to_utf32.inl.cpp
- /* begin file src/icelake/icelake_convert_utf16_to_utf32.inl.cpp */
- // file included directly
- 
-@@ -17260,7 +17260,7 @@ std::tuple<const char16_t*, char32_t*, bool> convert_utf16_to_utf32(const char16
-   return std::make_tuple(buf+carry, utf32_output, true);
- }
- /* end file src/icelake/icelake_convert_utf16_to_utf32.inl.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf32_to_utf8.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf32_to_utf8.inl.cpp
- /* begin file src/icelake/icelake_convert_utf32_to_utf8.inl.cpp */
- // file included directly
- 
-@@ -17746,7 +17746,7 @@ std::pair<result, char*> avx512_convert_utf32_to_utf8_with_errors(const char32_t
-   return std::make_pair(result(error_code::SUCCESS, buf - start), utf8_output);
- }
- /* end file src/icelake/icelake_convert_utf32_to_utf8.inl.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf32_to_utf16.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf32_to_utf16.inl.cpp
- /* begin file src/icelake/icelake_convert_utf32_to_utf16.inl.cpp */
- // file included directly
- 
-@@ -17881,7 +17881,7 @@ std::pair<result, char16_t*> avx512_convert_utf32_to_utf16_with_errors(const cha
-   return std::make_pair(result(error_code::SUCCESS, buf - start), utf16_output);
- }
- /* end file src/icelake/icelake_convert_utf32_to_utf16.inl.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_ascii_validation.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_ascii_validation.inl.cpp
- /* begin file src/icelake/icelake_ascii_validation.inl.cpp */
- // file included directly
- 
-@@ -17900,7 +17900,7 @@ bool validate_ascii(const char* buf, size_t len) {
-   return (_mm512_test_epi8_mask(running_or, running_or) == 0);
- }
- /* end file src/icelake/icelake_ascii_validation.inl.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_utf32_validation.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_utf32_validation.inl.cpp
- /* begin file src/icelake/icelake_utf32_validation.inl.cpp */
- // file included directly
- 
-@@ -17932,7 +17932,7 @@ const char32_t* validate_utf32(const char32_t* buf, size_t len) {
-     return buf;
- }
- /* end file src/icelake/icelake_utf32_validation.inl.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf16_to_utf8.inl.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=icelake/icelake_convert_utf16_to_utf8.inl.cpp
- /* begin file src/icelake/icelake_convert_utf16_to_utf8.inl.cpp */
- // file included directly
- 
-@@ -19244,7 +19244,7 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
- } // namespace icelake
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/icelake/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/icelake/end.h
- /* begin file src/simdutf/icelake/end.h */
- #if SIMDUTF_CAN_ALWAYS_RUN_ICELAKE
- // nothing needed.
-@@ -19260,10 +19260,10 @@ SIMDUTF_POP_DISABLE_WARNINGS
- /* end file src/icelake/implementation.cpp */
- #endif
- #if SIMDUTF_IMPLEMENTATION_HASWELL
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/implementation.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/implementation.cpp
- /* begin file src/haswell/implementation.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/begin.h
- /* begin file src/simdutf/haswell/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "haswell"
- // #define SIMDUTF_IMPLEMENTATION haswell
-@@ -19306,7 +19306,7 @@ simdutf_really_inline simd8<bool> must_be_2_3_continuation(const simd8<uint8_t>
-   return simd8<int8_t>(is_third_byte | is_fourth_byte) > int8_t(0);
- }
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_detect_encodings.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_detect_encodings.cpp
- /* begin file src/haswell/avx2_detect_encodings.cpp */
- template<class checker>
- // len is known to be a multiple of 2 when this is called
-@@ -19496,7 +19496,7 @@ int avx2_detect_encodings(const char * buf, size_t len) {
- }
- /* end file src/haswell/avx2_detect_encodings.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_validate_utf16.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_validate_utf16.cpp
- /* begin file src/haswell/avx2_validate_utf16.cpp */
- /*
-     In UTF-16 words in range 0xD800 to 0xDFFF have special meaning.
-@@ -19697,7 +19697,7 @@ const result avx2_validate_utf16_with_errors(const char16_t* input, size_t size)
-     return result(error_code::SUCCESS, input - start);
- }
- /* end file src/haswell/avx2_validate_utf16.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_validate_utf32le.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_validate_utf32le.cpp
- /* begin file src/haswell/avx2_validate_utf32le.cpp */
- /* Returns:
-    - pointer to the last unprocessed character (a scalar fallback should check the rest);
-@@ -19763,7 +19763,7 @@ const result avx2_validate_utf32le_with_errors(const char32_t* input, size_t siz
- }
- /* end file src/haswell/avx2_validate_utf32le.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf8_to_utf16.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf8_to_utf16.cpp
- /* begin file src/haswell/avx2_convert_utf8_to_utf16.cpp */
- // depends on "tables/utf8_to_utf16_tables.h"
- 
-@@ -19946,7 +19946,7 @@ size_t convert_masked_utf8_to_utf16(const char *input,
-   return consumed;
- }
- /* end file src/haswell/avx2_convert_utf8_to_utf16.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf8_to_utf32.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf8_to_utf32.cpp
- /* begin file src/haswell/avx2_convert_utf8_to_utf32.cpp */
- // depends on "tables/utf8_to_utf16_tables.h"
- 
-@@ -20075,7 +20075,7 @@ size_t convert_masked_utf8_to_utf32(const char *input,
- }
- /* end file src/haswell/avx2_convert_utf8_to_utf32.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf16_to_utf8.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf16_to_utf8.cpp
- /* begin file src/haswell/avx2_convert_utf16_to_utf8.cpp */
- /*
-     The vectorized algorithm works on single SSE register i.e., it
-@@ -20608,7 +20608,7 @@ std::pair<result, char*> avx2_convert_utf16_to_utf8_with_errors(const char16_t*
-   return std::make_pair(result(error_code::SUCCESS, buf - start), utf8_output);
- }
- /* end file src/haswell/avx2_convert_utf16_to_utf8.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf16_to_utf32.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf16_to_utf32.cpp
- /* begin file src/haswell/avx2_convert_utf16_to_utf32.cpp */
- /*
-     The vectorized algorithm works on single SSE register i.e., it
-@@ -20793,7 +20793,7 @@ std::pair<result, char32_t*> avx2_convert_utf16_to_utf32_with_errors(const char1
- }
- /* end file src/haswell/avx2_convert_utf16_to_utf32.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf32_to_utf8.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf32_to_utf8.cpp
- /* begin file src/haswell/avx2_convert_utf32_to_utf8.cpp */
- std::pair<const char32_t*, char*> avx2_convert_utf32_to_utf8(const char32_t* buf, size_t len, char* utf8_output) {
-   const char32_t* end = buf + len;
-@@ -21276,7 +21276,7 @@ std::pair<result, char*> avx2_convert_utf32_to_utf8_with_errors(const char32_t*
-   return std::make_pair(result(error_code::SUCCESS, buf - start), utf8_output);
- }
- /* end file src/haswell/avx2_convert_utf32_to_utf8.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf32_to_utf16.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=haswell/avx2_convert_utf32_to_utf16.cpp
- /* begin file src/haswell/avx2_convert_utf32_to_utf16.cpp */
- template <endianness big_endian>
- std::pair<const char32_t*, char16_t*> avx2_convert_utf32_to_utf16(const char32_t* buf, size_t len, char16_t* utf16_output) {
-@@ -21412,7 +21412,7 @@ std::pair<result, char16_t*> avx2_convert_utf32_to_utf16_with_errors(const char3
- } // namespace haswell
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
- /* begin file src/generic/buf_block_reader.h */
- namespace simdutf {
- namespace haswell {
-@@ -21507,7 +21507,7 @@ simdutf_really_inline void buf_block_reader<STEP_SIZE>::advance() {
- } // namespace haswell
- } // namespace simdutf
- /* end file src/generic/buf_block_reader.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
- /* begin file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
- namespace simdutf {
- namespace haswell {
-@@ -21696,7 +21696,7 @@ using utf8_validation::utf8_checker;
- } // namespace haswell
- } // namespace simdutf
- /* end file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
- /* begin file src/generic/utf8_validation/utf8_validator.h */
- namespace simdutf {
- namespace haswell {
-@@ -21823,7 +21823,7 @@ result generic_validate_ascii_with_errors(const char * input, size_t length) {
- } // namespace simdutf
- /* end file src/generic/utf8_validation/utf8_validator.h */
- // transcoding from UTF-8 to UTF-16
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
- /* begin file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
- 
- 
-@@ -21898,7 +21898,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
- } // namespace haswell
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
- /* begin file src/generic/utf8_to_utf16/utf8_to_utf16.h */
- 
- 
-@@ -22206,7 +22206,7 @@ using namespace simd;
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf16/utf8_to_utf16.h */
- // transcoding from UTF-8 to UTF-32
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
- /* begin file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
- 
- namespace simdutf {
-@@ -22252,7 +22252,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
- } // namespace haswell
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
- /* begin file src/generic/utf8_to_utf32/utf8_to_utf32.h */
- 
- 
-@@ -22553,7 +22553,7 @@ using namespace simd;
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf32/utf8_to_utf32.h */
- // other functions
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8.h
- /* begin file src/generic/utf8.h */
- 
- namespace simdutf {
-@@ -22600,7 +22600,7 @@ simdutf_really_inline size_t utf32_length_from_utf8(const char* in, size_t size)
- } // namespace haswell
- } // namespace simdutf
- /* end file src/generic/utf8.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf16.h
- /* begin file src/generic/utf16.h */
- namespace simdutf {
- namespace haswell {
-@@ -23128,7 +23128,7 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
- } // namespace haswell
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/haswell/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/haswell/end.h
- /* begin file src/simdutf/haswell/end.h */
- #if SIMDUTF_CAN_ALWAYS_RUN_HASWELL
- // nothing needed.
-@@ -23144,14 +23144,14 @@ SIMDUTF_POP_DISABLE_WARNINGS
- /* end file src/haswell/implementation.cpp */
- #endif
- #if SIMDUTF_IMPLEMENTATION_PPC64
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=ppc64/implementation.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=ppc64/implementation.cpp
- /* begin file src/ppc64/implementation.cpp */
- 
- 
- 
- 
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/begin.h
- /* begin file src/simdutf/ppc64/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "ppc64"
- // #define SIMDUTF_IMPLEMENTATION ppc64
-@@ -23189,7 +23189,7 @@ simdutf_really_inline simd8<bool> must_be_2_3_continuation(const simd8<uint8_t>
- } // namespace ppc64
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
- /* begin file src/generic/buf_block_reader.h */
- namespace simdutf {
- namespace ppc64 {
-@@ -23284,7 +23284,7 @@ simdutf_really_inline void buf_block_reader<STEP_SIZE>::advance() {
- } // namespace ppc64
- } // namespace simdutf
- /* end file src/generic/buf_block_reader.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
- /* begin file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
- namespace simdutf {
- namespace ppc64 {
-@@ -23473,7 +23473,7 @@ using utf8_validation::utf8_checker;
- } // namespace ppc64
- } // namespace simdutf
- /* end file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
- /* begin file src/generic/utf8_validation/utf8_validator.h */
- namespace simdutf {
- namespace ppc64 {
-@@ -23600,7 +23600,7 @@ result generic_validate_ascii_with_errors(const char * input, size_t length) {
- } // namespace simdutf
- /* end file src/generic/utf8_validation/utf8_validator.h */
- // transcoding from UTF-8 to UTF-16
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
- /* begin file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
- 
- 
-@@ -23675,7 +23675,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
- } // namespace ppc64
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
- /* begin file src/generic/utf8_to_utf16/utf8_to_utf16.h */
- 
- 
-@@ -23983,7 +23983,7 @@ using namespace simd;
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf16/utf8_to_utf16.h */
- // transcoding from UTF-8 to UTF-32
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
- /* begin file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
- 
- namespace simdutf {
-@@ -24029,7 +24029,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
- } // namespace ppc64
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
- /* begin file src/generic/utf8_to_utf32/utf8_to_utf32.h */
- 
- 
-@@ -24330,7 +24330,7 @@ using namespace simd;
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf32/utf8_to_utf32.h */
- // other functions
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8.h
- /* begin file src/generic/utf8.h */
- 
- namespace simdutf {
-@@ -24377,7 +24377,7 @@ simdutf_really_inline size_t utf32_length_from_utf8(const char* in, size_t size)
- } // namespace ppc64
- } // namespace simdutf
- /* end file src/generic/utf8.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf16.h
- /* begin file src/generic/utf16.h */
- namespace simdutf {
- namespace ppc64 {
-@@ -24676,15 +24676,15 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
- } // namespace ppc64
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/ppc64/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/ppc64/end.h
- /* begin file src/simdutf/ppc64/end.h */
- /* end file src/simdutf/ppc64/end.h */
- /* end file src/ppc64/implementation.cpp */
- #endif
- #if SIMDUTF_IMPLEMENTATION_WESTMERE
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/implementation.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/implementation.cpp
- /* begin file src/westmere/implementation.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/begin.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/begin.h
- /* begin file src/simdutf/westmere/begin.h */
- // redefining SIMDUTF_IMPLEMENTATION to "westmere"
- // #define SIMDUTF_IMPLEMENTATION westmere
-@@ -24722,7 +24722,7 @@ simdutf_really_inline simd8<bool> must_be_2_3_continuation(const simd8<uint8_t>
-   return simd8<int8_t>(is_third_byte | is_fourth_byte) > int8_t(0);
- }
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_detect_encodings.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_detect_encodings.cpp
- /* begin file src/westmere/sse_detect_encodings.cpp */
- template<class checker>
- // len is known to be a multiple of 2 when this is called
-@@ -24932,7 +24932,7 @@ int sse_detect_encodings(const char * buf, size_t len) {
- }
- /* end file src/westmere/sse_detect_encodings.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_validate_utf16.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_validate_utf16.cpp
- /* begin file src/westmere/sse_validate_utf16.cpp */
- /*
-     In UTF-16 words in range 0xD800 to 0xDFFF have special meaning.
-@@ -25132,7 +25132,7 @@ const result sse_validate_utf16_with_errors(const char16_t* input, size_t size)
-     return result(error_code::SUCCESS, input - start);
- }
- /* end file src/westmere/sse_validate_utf16.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_validate_utf32le.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_validate_utf32le.cpp
- /* begin file src/westmere/sse_validate_utf32le.cpp */
- /* Returns:
-    - pointer to the last unprocessed character (a scalar fallback should check the rest);
-@@ -25198,7 +25198,7 @@ const result sse_validate_utf32le_with_errors(const char32_t* input, size_t size
- }
- /* end file src/westmere/sse_validate_utf32le.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf8_to_utf16.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf8_to_utf16.cpp
- /* begin file src/westmere/sse_convert_utf8_to_utf16.cpp */
- // depends on "tables/utf8_to_utf16_tables.h"
- 
-@@ -25383,7 +25383,7 @@ size_t convert_masked_utf8_to_utf16(const char *input,
-   return consumed;
- }
- /* end file src/westmere/sse_convert_utf8_to_utf16.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf8_to_utf32.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf8_to_utf32.cpp
- /* begin file src/westmere/sse_convert_utf8_to_utf32.cpp */
- // depends on "tables/utf8_to_utf16_tables.h"
- 
-@@ -25515,7 +25515,7 @@ size_t convert_masked_utf8_to_utf32(const char *input,
- }
- /* end file src/westmere/sse_convert_utf8_to_utf32.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf16_to_utf8.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf16_to_utf8.cpp
- /* begin file src/westmere/sse_convert_utf16_to_utf8.cpp */
- /*
-     The vectorized algorithm works on single SSE register i.e., it
-@@ -26043,7 +26043,7 @@ std::pair<result, char*> sse_convert_utf16_to_utf8_with_errors(const char16_t* b
-   return std::make_pair(result(error_code::SUCCESS, buf - start), utf8_output);
- }
- /* end file src/westmere/sse_convert_utf16_to_utf8.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf16_to_utf32.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf16_to_utf32.cpp
- /* begin file src/westmere/sse_convert_utf16_to_utf32.cpp */
- /*
-     The vectorized algorithm works on single SSE register i.e., it
-@@ -26227,7 +26227,7 @@ std::pair<result, char32_t*> sse_convert_utf16_to_utf32_with_errors(const char16
- }
- /* end file src/westmere/sse_convert_utf16_to_utf32.cpp */
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf32_to_utf8.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf32_to_utf8.cpp
- /* begin file src/westmere/sse_convert_utf32_to_utf8.cpp */
- std::pair<const char32_t*, char*> sse_convert_utf32_to_utf8(const char32_t* buf, size_t len, char* utf8_output) {
-   const char32_t* end = buf + len;
-@@ -26728,7 +26728,7 @@ std::pair<result, char*> sse_convert_utf32_to_utf8_with_errors(const char32_t* b
-   return std::make_pair(result(error_code::SUCCESS, buf - start), utf8_output);
- }
- /* end file src/westmere/sse_convert_utf32_to_utf8.cpp */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf32_to_utf16.cpp
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=westmere/sse_convert_utf32_to_utf16.cpp
- /* begin file src/westmere/sse_convert_utf32_to_utf16.cpp */
- template <endianness big_endian>
- std::pair<const char32_t*, char16_t*> sse_convert_utf32_to_utf16(const char32_t* buf, size_t len, char16_t* utf16_output) {
-@@ -26867,7 +26867,7 @@ std::pair<result, char16_t*> sse_convert_utf32_to_utf16_with_errors(const char32
- } // namespace westmere
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/buf_block_reader.h
- /* begin file src/generic/buf_block_reader.h */
- namespace simdutf {
- namespace westmere {
-@@ -26962,7 +26962,7 @@ simdutf_really_inline void buf_block_reader<STEP_SIZE>::advance() {
- } // namespace westmere
- } // namespace simdutf
- /* end file src/generic/buf_block_reader.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_lookup4_algorithm.h
- /* begin file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
- namespace simdutf {
- namespace westmere {
-@@ -27151,7 +27151,7 @@ using utf8_validation::utf8_checker;
- } // namespace westmere
- } // namespace simdutf
- /* end file src/generic/utf8_validation/utf8_lookup4_algorithm.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_validation/utf8_validator.h
- /* begin file src/generic/utf8_validation/utf8_validator.h */
- namespace simdutf {
- namespace westmere {
-@@ -27278,7 +27278,7 @@ result generic_validate_ascii_with_errors(const char * input, size_t length) {
- } // namespace simdutf
- /* end file src/generic/utf8_validation/utf8_validator.h */
- // transcoding from UTF-8 to UTF-16
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/valid_utf8_to_utf16.h
- /* begin file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
- 
- 
-@@ -27353,7 +27353,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
- } // namespace westmere
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf16/valid_utf8_to_utf16.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf16/utf8_to_utf16.h
- /* begin file src/generic/utf8_to_utf16/utf8_to_utf16.h */
- 
- 
-@@ -27661,7 +27661,7 @@ using namespace simd;
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf16/utf8_to_utf16.h */
- // transcoding from UTF-8 to UTF-32
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/valid_utf8_to_utf32.h
- /* begin file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
- 
- namespace simdutf {
-@@ -27707,7 +27707,7 @@ simdutf_warn_unused size_t convert_valid(const char* input, size_t size,
- } // namespace westmere
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf32/valid_utf8_to_utf32.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8_to_utf32/utf8_to_utf32.h
- /* begin file src/generic/utf8_to_utf32/utf8_to_utf32.h */
- 
- 
-@@ -28008,7 +28008,7 @@ using namespace simd;
- } // namespace simdutf
- /* end file src/generic/utf8_to_utf32/utf8_to_utf32.h */
- // other functions
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf8.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf8.h
- /* begin file src/generic/utf8.h */
- 
- namespace simdutf {
-@@ -28055,7 +28055,7 @@ simdutf_really_inline size_t utf32_length_from_utf8(const char* in, size_t size)
- } // namespace westmere
- } // namespace simdutf
- /* end file src/generic/utf8.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=generic/utf16.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=generic/utf16.h
- /* begin file src/generic/utf16.h */
- namespace simdutf {
- namespace westmere {
-@@ -28587,7 +28587,7 @@ simdutf_warn_unused size_t implementation::utf32_length_from_utf8(const char * i
- } // namespace westmere
- } // namespace simdutf
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/src, filename=simdutf/westmere/end.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/src, filename=simdutf/westmere/end.h
- /* begin file src/simdutf/westmere/end.h */
- #if SIMDUTF_CAN_ALWAYS_RUN_WESTMERE
- // nothing needed.
-diff --git a/deps/simdutf/simdutf.h b/deps/simdutf/simdutf.h
-index 56ab9ecd5256..f63c163c0f2b 100644
---- a/deps/simdutf/simdutf.h
-+++ b/deps/simdutf/simdutf.h
-@@ -1,11 +1,11 @@
--/* auto-generated on 2023-05-22 21:46:48 -0400. Do not edit! */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf.h
-+/* auto-generated on 2023-06-05 08:58:28 -0400. Do not edit! */
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf.h
- /* begin file include/simdutf.h */
- #ifndef SIMDUTF_H
- #define SIMDUTF_H
- #include <cstring>
- 
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/compiler_check.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/compiler_check.h
- /* begin file include/simdutf/compiler_check.h */
- #ifndef SIMDUTF_COMPILER_CHECK_H
- #define SIMDUTF_COMPILER_CHECK_H
-@@ -43,13 +43,13 @@
- 
- #endif // SIMDUTF_COMPILER_CHECK_H
- /* end file include/simdutf/compiler_check.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/common_defs.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/common_defs.h
- /* begin file include/simdutf/common_defs.h */
- #ifndef SIMDUTF_COMMON_DEFS_H
- #define SIMDUTF_COMMON_DEFS_H
- 
- #include <cassert>
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/portability.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/portability.h
- /* begin file include/simdutf/portability.h */
- #ifndef SIMDUTF_PORTABILITY_H
- #define SIMDUTF_PORTABILITY_H
-@@ -280,7 +280,7 @@ use a 64-bit target such as x64, 64-bit ARM or 64-bit PPC.")
- 
- #endif // SIMDUTF_PORTABILITY_H
- /* end file include/simdutf/portability.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/avx512.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/avx512.h
- /* begin file include/simdutf/avx512.h */
- #ifndef SIMDUTF_AVX512_H_
- #define SIMDUTF_AVX512_H_
-@@ -460,19 +460,21 @@ use a 64-bit target such as x64, 64-bit ARM or 64-bit PPC.")
- 
- #endif // MSC_VER
- 
--#if defined(SIMDUTF_VISUAL_STUDIO)
--    /**
--     * It does not matter here whether you are using
--     * the regular visual studio or clang under visual
--     * studio.
--     */
--    #if SIMDUTF_USING_LIBRARY
--    #define SIMDUTF_DLLIMPORTEXPORT __declspec(dllimport)
-+#ifndef SIMDUTF_DLLIMPORTEXPORT
-+    #if defined(SIMDUTF_VISUAL_STUDIO)
-+      /**
-+       * It does not matter here whether you are using
-+       * the regular visual studio or clang under visual
-+       * studio.
-+       */
-+      #if SIMDUTF_USING_LIBRARY
-+      #define SIMDUTF_DLLIMPORTEXPORT __declspec(dllimport)
-+      #else
-+      #define SIMDUTF_DLLIMPORTEXPORT __declspec(dllexport)
-+      #endif
-     #else
--    #define SIMDUTF_DLLIMPORTEXPORT __declspec(dllexport)
-+      #define SIMDUTF_DLLIMPORTEXPORT
-     #endif
--#else
--    #define SIMDUTF_DLLIMPORTEXPORT
- #endif
- 
- /// If EXPR is an error, returns it.
-@@ -481,7 +483,7 @@ use a 64-bit target such as x64, 64-bit ARM or 64-bit PPC.")
- 
- #endif // SIMDUTF_COMMON_DEFS_H
- /* end file include/simdutf/common_defs.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/encoding_types.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/encoding_types.h
- /* begin file include/simdutf/encoding_types.h */
- #include <string>
- 
-@@ -529,7 +531,7 @@ size_t bom_byte_size(encoding_type bom);
- } // BOM namespace
- } // simdutf namespace
- /* end file include/simdutf/encoding_types.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/error.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/error.h
- /* begin file include/simdutf/error.h */
- #ifndef ERROR_H
- #define ERROR_H
-@@ -566,7 +568,7 @@ SIMDUTF_PUSH_DISABLE_WARNINGS
- SIMDUTF_DISABLE_UNDESIRED_WARNINGS
- 
- // Public API
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/simdutf_version.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/simdutf_version.h
- /* begin file include/simdutf/simdutf_version.h */
- // /include/simdutf/simdutf_version.h automatically generated by release.py,
- // do not change by hand
-@@ -574,7 +576,7 @@ SIMDUTF_DISABLE_UNDESIRED_WARNINGS
- #define SIMDUTF_SIMDUTF_VERSION_H
- 
- /** The version of simdutf being used (major.minor.revision) */
--#define SIMDUTF_VERSION "3.2.12"
-+#define SIMDUTF_VERSION "3.2.14"
- 
- namespace simdutf {
- enum {
-@@ -589,13 +591,13 @@ enum {
-   /**
-    * The revision (major.minor.REVISION) of simdutf being used.
-    */
--  SIMDUTF_VERSION_REVISION = 12
-+  SIMDUTF_VERSION_REVISION = 14
- };
- } // namespace simdutf
- 
- #endif // SIMDUTF_SIMDUTF_VERSION_H
- /* end file include/simdutf/simdutf_version.h */
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/implementation.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/implementation.h
- /* begin file include/simdutf/implementation.h */
- #ifndef SIMDUTF_IMPLEMENTATION_H
- #define SIMDUTF_IMPLEMENTATION_H
-@@ -605,7 +607,7 @@ enum {
- #endif
- #include <vector>
- #include <tuple>
--// dofile: invoked with prepath=/Users/dlemire/CVS/github/simdutf/include, filename=simdutf/internal/isadetection.h
-+// dofile: invoked with prepath=/Users/lemire/CVS/github/simdutf/include, filename=simdutf/internal/isadetection.h
- /* begin file include/simdutf/internal/isadetection.h */
- /* From
- https://github.com/endorno/pytorch/blob/master/torch/lib/TH/generic/simd/simd.h

diff --git a/net-libs/nodejs/nodejs-18.16.1.ebuild b/net-libs/nodejs/nodejs-18.16.1.ebuild
deleted file mode 100644
index 7d3a5354397e..000000000000
--- a/net-libs/nodejs/nodejs-18.16.1.ebuild
+++ /dev/null
@@ -1,256 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CONFIG_CHECK="~ADVISE_SYSCALLS"
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 check-reqs flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test"
-REQUIRED_USE="inspector? ( icu ssl )
-	npm? ( ssl )
-	system-icu? ( icu )
-	system-ssl? ( ssl )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.44.0:=
-	>=net-dns/c-ares-1.18.1:=
-	>=net-libs/nghttp2-1.41.0:=
-	sys-libs/zlib
-	system-icu? ( >=dev-libs/icu-67:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-	sys-devel/gcc:*"
-BDEPEND="${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax-kernel? ( sys-apps/elfix )"
-DEPEND="${RDEPEND}"
-
-# These are measured on a loong machine with -ggdb on, and only checked
-# if debugging flags are present in CFLAGS.
-#
-# The final link consumed a little more than 7GiB alone, so 8GiB is the lower
-# limit for memory usage. Disk usage was 19.1GiB for the build directory and
-# 1.2GiB for the installed image, so we leave some room for architectures with
-# fatter binaries and set the disk requirement to 22GiB.
-CHECKREQS_MEMORY="8G"
-CHECKREQS_DISK_BUILD="22G"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-fix-incomplete-type.patch
-)
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-
-	if [[ ${MERGE_TYPE} != "binary" ]]; then
-		if is-flagq "-g*" && ! is-flagq "-g*0" ; then
-			einfo "Checking for sufficient disk space and memory to build ${PN} with debugging CFLAGS"
-			check-reqs_pkg_pretend
-		fi
-	fi
-}
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-	linux-info_pkg_setup
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax-kernel && PATCHES+=( "${FILESDIR}"/${P}-paxmarking.patch )
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-lto
-	# nodejs unconditionally links to libatomic #869992
-	# specifically it requires __atomic_is_lock_free which
-	# is not yet implemented by sys-libs/compiler-rt (see
-	# https://reviews.llvm.org/D85044?id=287068), therefore
-	# we depend on gcc and force using libgcc as the support lib
-	tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc"
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	if use system-icu; then
-		myconf+=( --with-intl=system-icu )
-	elif use icu; then
-		myconf+=( --with-intl=full-icu )
-	else
-		myconf+=( --with-intl=none )
-	fi
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case "${ARCH}:${ABI}" in
-		*:amd64) myarch="x64";;
-		*:arm) myarch="arm";;
-		*:arm64) myarch="arm64";;
-		loong:lp64*) myarch="loong64";;
-		riscv:lp64*) myarch="riscv64";;
-		*:ppc64) myarch="ppc64";;
-		*:x32) myarch="x32";;
-		*:x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		keepdir /etc/npm
-		echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm
-		doenvd "${T}"/50npm
-
-		# Install bash completion for `npm`
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	local drop_tests=(
-		test/parallel/test-dns-setserver-when-querying.js
-		test/parallel/test-fs-mkdir.js
-		test/parallel/test-fs-utimes-y2K38.js
-		test/parallel/test-release-npm.js
-		test/parallel/test-socket-write-after-fin-error.js
-		test/parallel/test-strace-openat-openssl.js
-		test/sequential/test-util-debug.js
-	)
-	rm "${drop_tests[@]}" || die "disabling tests failed"
-
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	if use npm; then
-		ewarn "remember to run: source /etc/profile if you plan to use nodejs"
-		ewarn "	in your current shell"
-	fi
-}

diff --git a/net-libs/nodejs/nodejs-20.3.0.ebuild b/net-libs/nodejs/nodejs-20.3.0.ebuild
deleted file mode 100644
index 79527eca7d1c..000000000000
--- a/net-libs/nodejs/nodejs-20.3.0.ebuild
+++ /dev/null
@@ -1,255 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CONFIG_CHECK="~ADVISE_SYSCALLS"
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 check-reqs flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl test"
-REQUIRED_USE="inspector? ( icu ssl )
-	npm? ( ssl )
-	system-icu? ( icu )
-	system-ssl? ( ssl )
-	x86? ( cpu_flags_x86_sse2 )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.44.0:=
-	>=net-dns/c-ares-1.18.1:=
-	>=net-libs/nghttp2-1.41.0:=
-	sys-libs/zlib
-	system-icu? ( >=dev-libs/icu-67:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-	sys-devel/gcc:*"
-BDEPEND="${PYTHON_DEPS}
-	dev-util/ninja
-	sys-apps/coreutils
-	virtual/pkgconfig
-	test? ( net-misc/curl )
-	pax-kernel? ( sys-apps/elfix )"
-DEPEND="${RDEPEND}"
-
-# These are measured on a loong machine with -ggdb on, and only checked
-# if debugging flags are present in CFLAGS.
-#
-# The final link consumed a little more than 7GiB alone, so 8GiB is the lower
-# limit for memory usage. Disk usage was 19.1GiB for the build directory and
-# 1.2GiB for the installed image, so we leave some room for architectures with
-# fatter binaries and set the disk requirement to 22GiB.
-CHECKREQS_MEMORY="8G"
-CHECKREQS_DISK_BUILD="22G"
-
-PATCHES=(
-	"${FILESDIR}"/"${P}"-gcc14.patch
-"${FILESDIR}"/"${P}"-simdutf-2.3.14.patch
-	)
-
-pkg_pretend() {
-	if [[ ${MERGE_TYPE} != "binary" ]]; then
-		if is-flagq "-g*" && ! is-flagq "-g*0" ; then
-			einfo "Checking for sufficient disk space and memory to build ${PN} with debugging CFLAGS"
-			check-reqs_pkg_pretend
-		fi
-	fi
-}
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-	linux-info_pkg_setup
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-18.16.0-paxmarking.patch )
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-lto
-	# nodejs unconditionally links to libatomic #869992
-	# specifically it requires __atomic_is_lock_free which
-	# is not yet implemented by sys-libs/compiler-rt (see
-	# https://reviews.llvm.org/D85044?id=287068), therefore
-	# we depend on gcc and force using libgcc as the support lib
-	tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc"
-
-	local myconf=(
-	--ninja
-		--shared-brotli
-		--shared-cares
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	if use system-icu; then
-		myconf+=( --with-intl=system-icu )
-	elif use icu; then
-		myconf+=( --with-intl=full-icu )
-	else
-		myconf+=( --with-intl=none )
-	fi
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case "${ARCH}:${ABI}" in
-		*:amd64) myarch="x64";;
-		*:arm) myarch="arm";;
-		*:arm64) myarch="arm64";;
-		loong:lp64*) myarch="loong64";;
-		riscv:lp64*) myarch="riscv64";;
-		*:ppc64) myarch="ppc64";;
-		*:x32) myarch="x32";;
-		*:x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		keepdir /etc/npm
-		echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm
-		doenvd "${T}"/50npm
-
-		# Install bash completion for `npm`
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	local drop_tests=(
-		test/parallel/test-dns-setserver-when-querying.js
-		test/parallel/test-fs-mkdir.js
-		test/parallel/test-fs-utimes-y2K38.js
-		test/parallel/test-release-npm.js
-		test/parallel/test-socket-write-after-fin-error.js
-		test/parallel/test-strace-openat-openssl.js
-		test/sequential/test-util-debug.js
-	)
-	rm "${drop_tests[@]}" || die "disabling tests failed"
-
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	if use npm; then
-		ewarn "remember to run: source /etc/profile if you plan to use nodejs"
-		ewarn "	in your current shell"
-	fi
-}

diff --git a/net-libs/nodejs/nodejs-20.3.1.ebuild b/net-libs/nodejs/nodejs-20.3.1.ebuild
deleted file mode 100644
index a04ed3137482..000000000000
--- a/net-libs/nodejs/nodejs-20.3.1.ebuild
+++ /dev/null
@@ -1,255 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CONFIG_CHECK="~ADVISE_SYSCALLS"
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 check-reqs flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl test"
-REQUIRED_USE="inspector? ( icu ssl )
-	npm? ( ssl )
-	system-icu? ( icu )
-	system-ssl? ( ssl )
-	x86? ( cpu_flags_x86_sse2 )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.44.0:=
-	>=net-dns/c-ares-1.18.1:=
-	>=net-libs/nghttp2-1.41.0:=
-	sys-libs/zlib
-	system-icu? ( >=dev-libs/icu-67:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-	sys-devel/gcc:*"
-BDEPEND="${PYTHON_DEPS}
-	dev-util/ninja
-	sys-apps/coreutils
-	virtual/pkgconfig
-	test? ( net-misc/curl )
-	pax-kernel? ( sys-apps/elfix )"
-DEPEND="${RDEPEND}"
-
-# These are measured on a loong machine with -ggdb on, and only checked
-# if debugging flags are present in CFLAGS.
-#
-# The final link consumed a little more than 7GiB alone, so 8GiB is the lower
-# limit for memory usage. Disk usage was 19.1GiB for the build directory and
-# 1.2GiB for the installed image, so we leave some room for architectures with
-# fatter binaries and set the disk requirement to 22GiB.
-CHECKREQS_MEMORY="8G"
-CHECKREQS_DISK_BUILD="22G"
-
-PATCHES=(
-	"${FILESDIR}"/"${PN}"-20.3.0-gcc14.patch
-	"${FILESDIR}"/"${PN}"-20.3.0-simdutf-2.3.14.patch
-	)
-
-pkg_pretend() {
-	if [[ ${MERGE_TYPE} != "binary" ]]; then
-		if is-flagq "-g*" && ! is-flagq "-g*0" ; then
-			einfo "Checking for sufficient disk space and memory to build ${PN} with debugging CFLAGS"
-			check-reqs_pkg_pretend
-		fi
-	fi
-}
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-	linux-info_pkg_setup
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-18.16.0-paxmarking.patch )
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-lto
-	# nodejs unconditionally links to libatomic #869992
-	# specifically it requires __atomic_is_lock_free which
-	# is not yet implemented by sys-libs/compiler-rt (see
-	# https://reviews.llvm.org/D85044?id=287068), therefore
-	# we depend on gcc and force using libgcc as the support lib
-	tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc"
-
-	local myconf=(
-	--ninja
-		--shared-brotli
-		--shared-cares
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	if use system-icu; then
-		myconf+=( --with-intl=system-icu )
-	elif use icu; then
-		myconf+=( --with-intl=full-icu )
-	else
-		myconf+=( --with-intl=none )
-	fi
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case "${ARCH}:${ABI}" in
-		*:amd64) myarch="x64";;
-		*:arm) myarch="arm";;
-		*:arm64) myarch="arm64";;
-		loong:lp64*) myarch="loong64";;
-		riscv:lp64*) myarch="riscv64";;
-		*:ppc64) myarch="ppc64";;
-		*:x32) myarch="x32";;
-		*:x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		keepdir /etc/npm
-		echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm
-		doenvd "${T}"/50npm
-
-		# Install bash completion for `npm`
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	local drop_tests=(
-		test/parallel/test-dns-setserver-when-querying.js
-		test/parallel/test-fs-mkdir.js
-		test/parallel/test-fs-utimes-y2K38.js
-		test/parallel/test-release-npm.js
-		test/parallel/test-socket-write-after-fin-error.js
-		test/parallel/test-strace-openat-openssl.js
-		test/sequential/test-util-debug.js
-	)
-	rm "${drop_tests[@]}" || die "disabling tests failed"
-
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	if use npm; then
-		ewarn "remember to run: source /etc/profile if you plan to use nodejs"
-		ewarn "	in your current shell"
-	fi
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2023-11-02 21:34 William Hubbs
  0 siblings, 0 replies; 25+ messages in thread
From: William Hubbs @ 2023-11-02 21:34 UTC (permalink / raw
  To: gentoo-commits

commit:     cb6df6abe91daf7dd67f77bb365bada6396174bf
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  2 21:34:23 2023 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Nov  2 21:34:23 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cb6df6ab

net-libs/nodejs: drop 16.20.2

Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |   1 -
 .../nodejs/files/nodejs-16.4.2-paxmarking.patch    | 113 ----------
 net-libs/nodejs/nodejs-16.20.2.ebuild              | 234 ---------------------
 3 files changed, 348 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index e19984278cbd..ad818c2e3af1 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,4 +1,3 @@
-DIST node-v16.20.2.tar.xz 36834468 BLAKE2B 88bd0d91a6b69f7e5fba2b087684b07b8986fd1492f51f6fdccc02f043970303808c0cc1eeda29670aacddd4234ec3181752c916fefee060624b0462dff8cbcf SHA512 c7953630b7d0eb832ab5a4b839c07e6505cf5f4e37853f59cd0ffc6b8742ac2ecaba20bfb47d8995ef88f3c7005bb456c1eb70cb2fc6b6fc506e1d8b81f25cb4
 DIST node-v18.17.1.tar.xz 40788836 BLAKE2B 50e0dc0eecd68620ffa7457319e71124bbba302f6acff79286a30cf97442fb09a96cf8781456bafd5c2e497ba88cf392c141f0e221683da421b87f653b1ad7ca SHA512 fd6f586447ecd44ac6738da1cf7d54e74bd33ffd1ee1acc2e0e1bdaf0031bcaef85751d3dd590bb278eb502daf9c77f0763b5a181a30ee4cf537aef254629622
 DIST node-v18.18.0.tar.xz 40813264 BLAKE2B 6cea11a663e5df730faef9125a80e730da83fdccebf8c4f454435ee622207803d59132b5d8e112741702103a6814a491b29bb9f22ddec60fba204236a763b95e SHA512 c10fb40902fc290cc069e86659ff4c7768215f80a7016402915cae7731bfd69aa901b7dc813d480f86fc39a850960f600ddde342d67b9bb570a3d2424b04f733
 DIST node-v18.18.2.tar.xz 40834428 BLAKE2B b2fcedd79fc8ca6a5b9236614874b9840d4df5f37f5ecfa5599a177b237543788eb985e8828f7a028f5fbca17aa0c4879393b956d08dce13bd04ec9e253aa48e SHA512 00af3c737d735a320481d764f1c23b1348c0454f2b9700cadb10e087feb47c75e7e9344277bb3149305c3e08ff69d9b17b0da81b1b9d9e978fd830c67858ce92

diff --git a/net-libs/nodejs/files/nodejs-16.4.2-paxmarking.patch b/net-libs/nodejs/files/nodejs-16.4.2-paxmarking.patch
deleted file mode 100644
index 41abd1f1917f..000000000000
--- a/net-libs/nodejs/files/nodejs-16.4.2-paxmarking.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-diff -urNp node-v15.8.0-orig/node.gyp node-v15.8.0-dwok/node.gyp
---- node-v15.8.0-orig/node.gyp	2021-02-24 22:21:44.202911780 +0100
-+++ node-v15.8.0-dwok/node.gyp	2021-02-24 22:25:34.298281739 +0100
-@@ -53,7 +53,9 @@
-       'deps/cjs-module-lexer/dist/lexer.js',
-     ],
-     'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
-+    'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
-     'mkcodecache_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache<(EXECUTABLE_SUFFIX)',
-+    'mkcodecache_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache_u<(EXECUTABLE_SUFFIX)',
-     'conditions': [
-       ['GENERATOR == "ninja"', {
-         'node_text_start_object_path': 'src/large_pages/node_text_start.node_text_start.o'
-@@ -291,10 +293,24 @@
-           ],
-           'actions': [
-             {
-+              'action_name': 'run_pax_mkcodecache',
-+              'inputs': [
-+                '<(mkcodecache_exec)',
-+              ],
-+              'outputs': [
-+                '<(mkcodecache_u_exec)',
-+              ],
-+              'action': [
-+                'bash',
-+                '-c',
-+                'mv <(mkcodecache_exec) <(mkcodecache_u_exec) && paxmark.sh m <(mkcodecache_u_exec)',
-+              ],
-+            },
-+            {
-               'action_name': 'run_mkcodecache',
-               'process_outputs_as_sources': 1,
-               'inputs': [
--                '<(mkcodecache_exec)',
-+                '<(mkcodecache_u_exec)',
-               ],
-               'outputs': [
-                 '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
-@@ -316,10 +332,24 @@
-           ],
-           'actions': [
-             {
-+              'action_name': 'run_pax_mksnapshot',
-+              'inputs': [
-+                '<(node_mksnapshot_exec)',
-+              ],
-+              'outputs': [
-+                '<(node_mksnapshot_u_exec)',
-+              ],
-+              'action': [
-+                'bash',
-+                '-c',
-+                'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
-+              ],
-+            },
-+            {
-               'action_name': 'node_mksnapshot',
-               'process_outputs_as_sources': 1,
-               'inputs': [
--                '<(node_mksnapshot_exec)',
-+                '<(node_mksnapshot_u_exec)',
-               ],
-               'outputs': [
-                 '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
-diff -urNp node-v15.8.0-orig/tools/v8_gypfiles/v8.gyp node-v15.8.0-dwok/tools/v8_gypfiles/v8.gyp
---- node-v15.8.0-orig/tools/v8_gypfiles/v8.gyp	2021-02-24 22:21:44.654910571 +0100
-+++ node-v15.8.0-dwok/tools/v8_gypfiles/v8.gyp	2021-02-24 22:25:54.834224791 +0100
-@@ -9,6 +9,7 @@
-     'v8_vector_stores%': 0,
-     'v8_embed_script%': "",
-     'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
-+    'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
-     'v8_os_page_size%': 0,
-     'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
-     'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
-@@ -1430,7 +1431,7 @@
-       ],
-     },  # bytecode_builtins_list_generator
-     {
--      'target_name': 'mksnapshot',
-+      'target_name': 'mksnapshot_u',
-       'type': 'executable',
-       'dependencies': [
-         'v8_base_without_compiler',
-@@ -1449,6 +1450,27 @@
-           'toolsets': ['host'],
-         }],
-       ],
-+    },  # mksnapshot_u
-+    {
-+      'target_name': 'mksnapshot',
-+      'type': 'none',
-+      'dependencies': ['mksnapshot_u'],
-+      'actions': [
-+        {
-+          'action_name': 'paxmark_mksnapshot',
-+          'inputs': [
-+            '<(mksnapshot_u_exec)',
-+          ],
-+          'outputs': [
-+            '<(mksnapshot_exec)',
-+          ],
-+          'action': [
-+            'bash',
-+            '-c',
-+            'cp <(mksnapshot_u_exec) <(mksnapshot_exec) && paxmark.sh m <(mksnapshot_exec)'
-+          ],
-+        },
-+      ],
-     },  # mksnapshot
-     {
-       'target_name': 'torque',

diff --git a/net-libs/nodejs/nodejs-16.20.2.ebuild b/net-libs/nodejs/nodejs-16.20.2.ebuild
deleted file mode 100644
index 945fdbb0a1ab..000000000000
--- a/net-libs/nodejs/nodejs-16.20.2.ebuild
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CONFIG_CHECK="~ADVISE_SYSCALLS"
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test"
-REQUIRED_USE="inspector? ( icu ssl )
-	npm? ( ssl )
-	system-icu? ( icu )
-	system-ssl? ( ssl )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.40.0:=
-	>=net-dns/c-ares-1.18.1:=
-	>=net-libs/nghttp2-1.41.0:=
-	sys-libs/zlib
-	system-icu? ( >=dev-libs/icu-67:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-	sys-devel/gcc:*"
-BDEPEND="${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-util/systemtap )
-	test? ( net-misc/curl )
-	pax-kernel? ( sys-apps/elfix )"
-DEPEND="${RDEPEND}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-}
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-	linux-info_pkg_setup
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-16.4.2-paxmarking.patch )
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-lto
-	# nodejs unconditionally links to libatomic #869992
-	# specifically it requires __atomic_is_lock_free which
-	# is not yet implemented by sys-libs/compiler-rt (see
-	# https://reviews.llvm.org/D85044?id=287068), therefore
-	# we depend on gcc and force using libgcc as the support lib
-	tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc"
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	if use system-icu; then
-		myconf+=( --with-intl=system-icu )
-	elif use icu; then
-		myconf+=( --with-intl=full-icu )
-	else
-		myconf+=( --with-intl=none )
-	fi
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		lp64*) myarch="riscv64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		keepdir /etc/npm
-		echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm
-		doenvd "${T}"/50npm
-
-		# Install bash completion for `npm`
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	local drop_tests=(
-		test/parallel/test-dns-setserver-when-querying.js
-		test/parallel/test-fs-mkdir.js
-		test/parallel/test-fs-utimes-y2K38.js
-		test/parallel/test-release-npm.js
-		test/parallel/test-socket-write-after-fin-error.js
-		test/parallel/test-tls-streamwrap-buffersize.js
-		test/sequential/test-util-debug.js
-	)
-	rm -f "${drop_tests[@]}"
-
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	if use npm; then
-		ewarn "remember to run: source /etc/profile if you plan to use nodejs"
-		ewarn "	in your current shell"
-	fi
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2024-01-22 21:16 William Hubbs
  0 siblings, 0 replies; 25+ messages in thread
From: William Hubbs @ 2024-01-22 21:16 UTC (permalink / raw
  To: gentoo-commits

commit:     e10a7663db282eb4221df3a3c0629e5db1279d3c
Author:     William Hubbs <williamh <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 22 21:15:33 2024 +0000
Commit:     William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Mon Jan 22 21:15:33 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e10a7663

net-libs/nodejs: drop 16.20.2

Signed-off-by: William Hubbs <williamh <AT> gentoo.org>

 net-libs/nodejs/Manifest                           |   1 -
 .../nodejs/files/nodejs-16.4.2-paxmarking.patch    | 113 ----------
 net-libs/nodejs/nodejs-16.20.2.ebuild              | 234 ---------------------
 3 files changed, 348 deletions(-)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index d98394a2a294..11ee3c99883f 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,4 +1,3 @@
-DIST node-v16.20.2.tar.xz 36834468 BLAKE2B 88bd0d91a6b69f7e5fba2b087684b07b8986fd1492f51f6fdccc02f043970303808c0cc1eeda29670aacddd4234ec3181752c916fefee060624b0462dff8cbcf SHA512 c7953630b7d0eb832ab5a4b839c07e6505cf5f4e37853f59cd0ffc6b8742ac2ecaba20bfb47d8995ef88f3c7005bb456c1eb70cb2fc6b6fc506e1d8b81f25cb4
 DIST node-v18.17.1.tar.xz 40788836 BLAKE2B 50e0dc0eecd68620ffa7457319e71124bbba302f6acff79286a30cf97442fb09a96cf8781456bafd5c2e497ba88cf392c141f0e221683da421b87f653b1ad7ca SHA512 fd6f586447ecd44ac6738da1cf7d54e74bd33ffd1ee1acc2e0e1bdaf0031bcaef85751d3dd590bb278eb502daf9c77f0763b5a181a30ee4cf537aef254629622
 DIST node-v18.18.0.tar.xz 40813264 BLAKE2B 6cea11a663e5df730faef9125a80e730da83fdccebf8c4f454435ee622207803d59132b5d8e112741702103a6814a491b29bb9f22ddec60fba204236a763b95e SHA512 c10fb40902fc290cc069e86659ff4c7768215f80a7016402915cae7731bfd69aa901b7dc813d480f86fc39a850960f600ddde342d67b9bb570a3d2424b04f733
 DIST node-v18.18.2.tar.xz 40834428 BLAKE2B b2fcedd79fc8ca6a5b9236614874b9840d4df5f37f5ecfa5599a177b237543788eb985e8828f7a028f5fbca17aa0c4879393b956d08dce13bd04ec9e253aa48e SHA512 00af3c737d735a320481d764f1c23b1348c0454f2b9700cadb10e087feb47c75e7e9344277bb3149305c3e08ff69d9b17b0da81b1b9d9e978fd830c67858ce92

diff --git a/net-libs/nodejs/files/nodejs-16.4.2-paxmarking.patch b/net-libs/nodejs/files/nodejs-16.4.2-paxmarking.patch
deleted file mode 100644
index 41abd1f1917f..000000000000
--- a/net-libs/nodejs/files/nodejs-16.4.2-paxmarking.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-diff -urNp node-v15.8.0-orig/node.gyp node-v15.8.0-dwok/node.gyp
---- node-v15.8.0-orig/node.gyp	2021-02-24 22:21:44.202911780 +0100
-+++ node-v15.8.0-dwok/node.gyp	2021-02-24 22:25:34.298281739 +0100
-@@ -53,7 +53,9 @@
-       'deps/cjs-module-lexer/dist/lexer.js',
-     ],
-     'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
-+    'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
-     'mkcodecache_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache<(EXECUTABLE_SUFFIX)',
-+    'mkcodecache_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache_u<(EXECUTABLE_SUFFIX)',
-     'conditions': [
-       ['GENERATOR == "ninja"', {
-         'node_text_start_object_path': 'src/large_pages/node_text_start.node_text_start.o'
-@@ -291,10 +293,24 @@
-           ],
-           'actions': [
-             {
-+              'action_name': 'run_pax_mkcodecache',
-+              'inputs': [
-+                '<(mkcodecache_exec)',
-+              ],
-+              'outputs': [
-+                '<(mkcodecache_u_exec)',
-+              ],
-+              'action': [
-+                'bash',
-+                '-c',
-+                'mv <(mkcodecache_exec) <(mkcodecache_u_exec) && paxmark.sh m <(mkcodecache_u_exec)',
-+              ],
-+            },
-+            {
-               'action_name': 'run_mkcodecache',
-               'process_outputs_as_sources': 1,
-               'inputs': [
--                '<(mkcodecache_exec)',
-+                '<(mkcodecache_u_exec)',
-               ],
-               'outputs': [
-                 '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
-@@ -316,10 +332,24 @@
-           ],
-           'actions': [
-             {
-+              'action_name': 'run_pax_mksnapshot',
-+              'inputs': [
-+                '<(node_mksnapshot_exec)',
-+              ],
-+              'outputs': [
-+                '<(node_mksnapshot_u_exec)',
-+              ],
-+              'action': [
-+                'bash',
-+                '-c',
-+                'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
-+              ],
-+            },
-+            {
-               'action_name': 'node_mksnapshot',
-               'process_outputs_as_sources': 1,
-               'inputs': [
--                '<(node_mksnapshot_exec)',
-+                '<(node_mksnapshot_u_exec)',
-               ],
-               'outputs': [
-                 '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
-diff -urNp node-v15.8.0-orig/tools/v8_gypfiles/v8.gyp node-v15.8.0-dwok/tools/v8_gypfiles/v8.gyp
---- node-v15.8.0-orig/tools/v8_gypfiles/v8.gyp	2021-02-24 22:21:44.654910571 +0100
-+++ node-v15.8.0-dwok/tools/v8_gypfiles/v8.gyp	2021-02-24 22:25:54.834224791 +0100
-@@ -9,6 +9,7 @@
-     'v8_vector_stores%': 0,
-     'v8_embed_script%': "",
-     'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
-+    'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
-     'v8_os_page_size%': 0,
-     'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
-     'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
-@@ -1430,7 +1431,7 @@
-       ],
-     },  # bytecode_builtins_list_generator
-     {
--      'target_name': 'mksnapshot',
-+      'target_name': 'mksnapshot_u',
-       'type': 'executable',
-       'dependencies': [
-         'v8_base_without_compiler',
-@@ -1449,6 +1450,27 @@
-           'toolsets': ['host'],
-         }],
-       ],
-+    },  # mksnapshot_u
-+    {
-+      'target_name': 'mksnapshot',
-+      'type': 'none',
-+      'dependencies': ['mksnapshot_u'],
-+      'actions': [
-+        {
-+          'action_name': 'paxmark_mksnapshot',
-+          'inputs': [
-+            '<(mksnapshot_u_exec)',
-+          ],
-+          'outputs': [
-+            '<(mksnapshot_exec)',
-+          ],
-+          'action': [
-+            'bash',
-+            '-c',
-+            'cp <(mksnapshot_u_exec) <(mksnapshot_exec) && paxmark.sh m <(mksnapshot_exec)'
-+          ],
-+        },
-+      ],
-     },  # mksnapshot
-     {
-       'target_name': 'torque',

diff --git a/net-libs/nodejs/nodejs-16.20.2.ebuild b/net-libs/nodejs/nodejs-16.20.2.ebuild
deleted file mode 100644
index 1b253c2004fe..000000000000
--- a/net-libs/nodejs/nodejs-16.20.2.ebuild
+++ /dev/null
@@ -1,234 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CONFIG_CHECK="~ADVISE_SYSCALLS"
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit bash-completion-r1 flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
-HOMEPAGE="https://nodejs.org/"
-LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
-
-if [[ ${PV} == *9999 ]]; then
-	inherit git-r3
-	EGIT_REPO_URI="https://github.com/nodejs/node"
-	SLOT="0"
-else
-	SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
-	SLOT="0/$(ver_cut 1)"
-	KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x64-macos"
-	S="${WORKDIR}/node-v${PV}"
-fi
-
-IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test"
-REQUIRED_USE="inspector? ( icu ssl )
-	npm? ( ssl )
-	system-icu? ( icu )
-	system-ssl? ( ssl )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND=">=app-arch/brotli-1.0.9:=
-	>=dev-libs/libuv-1.40.0:=
-	>=net-dns/c-ares-1.18.1:=
-	>=net-libs/nghttp2-1.41.0:=
-	sys-libs/zlib
-	system-icu? ( >=dev-libs/icu-67:= )
-	system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
-	sys-devel/gcc:*"
-BDEPEND="${PYTHON_DEPS}
-	sys-apps/coreutils
-	virtual/pkgconfig
-	systemtap? ( dev-debug/systemtap )
-	test? ( net-misc/curl )
-	pax-kernel? ( sys-apps/elfix )"
-DEPEND="${RDEPEND}"
-
-pkg_pretend() {
-	(use x86 && ! use cpu_flags_x86_sse2) && \
-		die "Your CPU doesn't support the required SSE2 instruction."
-}
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-	linux-info_pkg_setup
-}
-
-src_prepare() {
-	tc-export AR CC CXX PKG_CONFIG
-	export V=1
-	export BUILDTYPE=Release
-
-	# fix compilation on Darwin
-	# https://code.google.com/p/gyp/issues/detail?id=260
-	sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
-
-	# less verbose install output (stating the same as portage, basically)
-	sed -i -e "/print/d" tools/install.py || die
-
-	# proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
-	local LIBDIR=$(get_libdir)
-	sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
-	sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
-
-	# Avoid writing a depfile, not useful
-	sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
-
-	sed -i -e "/'-O3'/d" common.gypi node.gypi || die
-
-	# debug builds. change install path, remove optimisations and override buildtype
-	if use debug; then
-		sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
-		BUILDTYPE=Debug
-	fi
-
-	# We need to disable mprotect on two files when it builds Bug 694100.
-	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-16.4.2-paxmarking.patch )
-
-	default
-}
-
-src_configure() {
-	xdg_environment_reset
-
-	# LTO compiler flags are handled by configure.py itself
-	filter-lto
-	# nodejs unconditionally links to libatomic #869992
-	# specifically it requires __atomic_is_lock_free which
-	# is not yet implemented by sys-libs/compiler-rt (see
-	# https://reviews.llvm.org/D85044?id=287068), therefore
-	# we depend on gcc and force using libgcc as the support lib
-	tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc"
-
-	local myconf=(
-		--shared-brotli
-		--shared-cares
-		--shared-libuv
-		--shared-nghttp2
-		--shared-zlib
-	)
-	use debug && myconf+=( --debug )
-	use lto && myconf+=( --enable-lto )
-	if use system-icu; then
-		myconf+=( --with-intl=system-icu )
-	elif use icu; then
-		myconf+=( --with-intl=full-icu )
-	else
-		myconf+=( --with-intl=none )
-	fi
-	use inspector || myconf+=( --without-inspector )
-	use npm || myconf+=( --without-npm )
-	use snapshot || myconf+=( --without-node-snapshot )
-	if use ssl; then
-		use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
-	else
-		myconf+=( --without-ssl )
-	fi
-
-	local myarch=""
-	case ${ABI} in
-		amd64) myarch="x64";;
-		arm) myarch="arm";;
-		arm64) myarch="arm64";;
-		lp64*) myarch="riscv64";;
-		ppc64) myarch="ppc64";;
-		x32) myarch="x32";;
-		x86) myarch="ia32";;
-		*) myarch="${ABI}";;
-	esac
-
-	GYP_DEFINES="linux_use_gold_flags=0
-		linux_use_bundled_binutils=0
-		linux_use_bundled_gold=0" \
-	"${EPYTHON}" configure.py \
-		--prefix="${EPREFIX}"/usr \
-		--dest-cpu=${myarch} \
-		$(use_with systemtap dtrace) \
-		"${myconf[@]}" || die
-}
-
-src_compile() {
-	emake -C out -Onone
-}
-
-src_install() {
-	local LIBDIR="${ED}/usr/$(get_libdir)"
-	default
-
-	pax-mark -m "${ED}"/usr/bin/node
-
-	# set up a symlink structure that node-gyp expects..
-	dodir /usr/include/node/deps/{v8,uv}
-	dosym . /usr/include/node/src
-	for var in deps/{uv,v8}/include; do
-		dosym ../.. /usr/include/node/${var}
-	done
-
-	if use doc; then
-		docinto html
-		dodoc -r "${S}"/doc/*
-	fi
-
-	if use npm; then
-		keepdir /etc/npm
-		echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm
-		doenvd "${T}"/50npm
-
-		# Install bash completion for `npm`
-		local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
-		"${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
-		newbashcomp "${tmp_npm_completion_file}" npm
-
-		# Move man pages
-		doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
-
-		# Clean up
-		rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
-		rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
-
-		local find_exp="-or -name"
-		local find_name=()
-		for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
-			".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
-			"*.md" "*.markdown" "*.bat" "*.cmd"; do
-			find_name+=( ${find_exp} "${match}" )
-		done
-
-		# Remove various development and/or inappropriate files and
-		# useless docs of dependend packages.
-		find "${LIBDIR}"/node_modules \
-			\( -type d -name examples \) -or \( -type f \( \
-				-iname "LICEN?E*" \
-				"${find_name[@]}" \
-			\) \) -exec rm -rf "{}" \;
-	fi
-
-	mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
-}
-
-src_test() {
-	local drop_tests=(
-		test/parallel/test-dns-setserver-when-querying.js
-		test/parallel/test-fs-mkdir.js
-		test/parallel/test-fs-utimes-y2K38.js
-		test/parallel/test-release-npm.js
-		test/parallel/test-socket-write-after-fin-error.js
-		test/parallel/test-tls-streamwrap-buffersize.js
-		test/sequential/test-util-debug.js
-	)
-	rm -f "${drop_tests[@]}"
-
-	out/${BUILDTYPE}/cctest || die
-	"${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
-}
-
-pkg_postinst() {
-	if use npm; then
-		ewarn "remember to run: source /etc/profile if you plan to use nodejs"
-		ewarn "	in your current shell"
-	fi
-}


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2024-02-04  0:37 Jakov Smolić
  0 siblings, 0 replies; 25+ messages in thread
From: Jakov Smolić @ 2024-02-04  0:37 UTC (permalink / raw
  To: gentoo-commits

commit:     01b9c90a42dc927bf4b9a93360c5389246acff26
Author:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Sun Feb  4 00:36:46 2024 +0000
Commit:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Sun Feb  4 00:37:07 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=01b9c90a

net-libs/nodejs: Fix build on riscv for version 20.11.0

Closes: https://bugs.gentoo.org/922725
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>

 net-libs/nodejs/files/nodejs-20.11.0-riscv.patch | 155 +++++++++++++++++++++++
 net-libs/nodejs/nodejs-20.11.0.ebuild            |   3 +
 2 files changed, 158 insertions(+)

diff --git a/net-libs/nodejs/files/nodejs-20.11.0-riscv.patch b/net-libs/nodejs/files/nodejs-20.11.0-riscv.patch
new file mode 100644
index 000000000000..3bf7a80ea078
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-20.11.0-riscv.patch
@@ -0,0 +1,155 @@
+From dda5cdb15cfe5c7437f471054f5bd79a82b6eda2 Mon Sep 17 00:00:00 2001
+From: kxxt <rsworktech@outlook.com>
+Date: Wed, 17 Jan 2024 09:16:34 +0800
+Subject: [PATCH] Revert "deps: V8: cherry-pick 13192d6e10fa"
+
+This reverts commit bc2ebb972b34f54e042de9636e7451d2526436a9, which
+shouldn't be applied to v20.x.
+
+Fix https://github.com/nodejs/unofficial-builds/issues/106
+---
+ common.gypi                                      |  2 +-
+ deps/v8/src/builtins/riscv/builtins-riscv.cc     |  2 +-
+ deps/v8/src/codegen/riscv/assembler-riscv-inl.h  | 16 ++++++++--------
+ deps/v8/src/codegen/riscv/assembler-riscv.h      |  2 +-
+ deps/v8/src/execution/riscv/simulator-riscv.cc   |  8 ++++----
+ .../regexp/riscv/regexp-macro-assembler-riscv.cc |  2 +-
+ 6 files changed, 16 insertions(+), 16 deletions(-)
+
+diff --git a/common.gypi b/common.gypi
+index db09a8a33df06..fa0729ffe45e8 100644
+--- a/common.gypi
++++ b/common.gypi
+@@ -36,7 +36,7 @@
+ 
+     # Reset this number to 0 on major V8 upgrades.
+     # Increment by one for each non-official patch applied to deps/v8.
+-    'v8_embedder_string': '-node.17',
++    'v8_embedder_string': '-node.18',
+ 
+     ##### V8 defaults for Node.js #####
+ 
+diff --git a/deps/v8/src/builtins/riscv/builtins-riscv.cc b/deps/v8/src/builtins/riscv/builtins-riscv.cc
+index d6091434b9b0a..3404562785991 100644
+--- a/deps/v8/src/builtins/riscv/builtins-riscv.cc
++++ b/deps/v8/src/builtins/riscv/builtins-riscv.cc
+@@ -1512,7 +1512,7 @@ static void Generate_InterpreterEnterBytecode(MacroAssembler* masm) {
+   // Set the return address to the correct point in the interpreter entry
+   // trampoline.
+   Label builtin_trampoline, trampoline_loaded;
+-  Tagged<Smi> interpreter_entry_return_pc_offset(
++  Smi interpreter_entry_return_pc_offset(
+       masm->isolate()->heap()->interpreter_entry_return_pc_offset());
+   DCHECK_NE(interpreter_entry_return_pc_offset, Smi::zero());
+ 
+diff --git a/deps/v8/src/codegen/riscv/assembler-riscv-inl.h b/deps/v8/src/codegen/riscv/assembler-riscv-inl.h
+index ca6d641e2c94e..55f191e6afe76 100644
+--- a/deps/v8/src/codegen/riscv/assembler-riscv-inl.h
++++ b/deps/v8/src/codegen/riscv/assembler-riscv-inl.h
+@@ -128,9 +128,9 @@ Handle<HeapObject> Assembler::compressed_embedded_object_handle_at(
+ }
+ 
+ void Assembler::deserialization_set_special_target_at(
+-    Address instruction_payload, Tagged<Code> code, Address target) {
++    Address instruction_payload, Code code, Address target) {
+   set_target_address_at(instruction_payload,
+-                        !code.is_null() ? code->constant_pool() : kNullAddress,
++                        !code.is_null() ? code.constant_pool() : kNullAddress,
+                         target);
+ }
+ 
+@@ -159,13 +159,12 @@ void Assembler::deserialization_set_target_internal_reference_at(
+   }
+ }
+ 
+-Tagged<HeapObject> RelocInfo::target_object(PtrComprCageBase cage_base) {
++HeapObject RelocInfo::target_object(PtrComprCageBase cage_base) {
+   DCHECK(IsCodeTarget(rmode_) || IsEmbeddedObjectMode(rmode_));
+   if (IsCompressedEmbeddedObject(rmode_)) {
+-    return HeapObject::cast(
+-        Tagged<Object>(V8HeapCompressionScheme::DecompressTagged(
+-            cage_base,
+-            Assembler::target_compressed_address_at(pc_, constant_pool_))));
++    return HeapObject::cast(Object(V8HeapCompressionScheme::DecompressTagged(
++        cage_base,
++        Assembler::target_compressed_address_at(pc_, constant_pool_))));
+   } else {
+     return HeapObject::cast(
+         Object(Assembler::target_address_at(pc_, constant_pool_)));
+@@ -187,7 +186,8 @@ Handle<HeapObject> RelocInfo::target_object_handle(Assembler* origin) {
+   }
+ }
+ 
+-void RelocInfo::set_target_object(Tagged<HeapObject> target,
++void RelocInfo::set_target_object(Heap* heap, HeapObject target,
++                                  WriteBarrierMode write_barrier_mode,
+                                   ICacheFlushMode icache_flush_mode) {
+   DCHECK(IsCodeTarget(rmode_) || IsEmbeddedObjectMode(rmode_));
+   if (IsCompressedEmbeddedObject(rmode_)) {
+diff --git a/deps/v8/src/codegen/riscv/assembler-riscv.h b/deps/v8/src/codegen/riscv/assembler-riscv.h
+index bcd5a62d324ee..ed222b52d6927 100644
+--- a/deps/v8/src/codegen/riscv/assembler-riscv.h
++++ b/deps/v8/src/codegen/riscv/assembler-riscv.h
+@@ -286,7 +286,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase,
+   // This is for calls and branches within generated code.  The serializer
+   // has already deserialized the lui/ori instructions etc.
+   inline static void deserialization_set_special_target_at(Address location,
+-                                                           Tagged<Code> code,
++                                                           Code code,
+                                                            Address target);
+ 
+   // Get the size of the special target encoded at 'instruction_payload'.
+diff --git a/deps/v8/src/execution/riscv/simulator-riscv.cc b/deps/v8/src/execution/riscv/simulator-riscv.cc
+index 052a2d67dd7e4..9582db489638a 100644
+--- a/deps/v8/src/execution/riscv/simulator-riscv.cc
++++ b/deps/v8/src/execution/riscv/simulator-riscv.cc
+@@ -1781,7 +1781,7 @@ void RiscvDebugger::Debug() {
+           sreg_t value;
+           StdoutStream os;
+           if (GetValue(arg1, &value)) {
+-            Tagged<Object> obj(value);
++            Object obj(value);
+             os << arg1 << ": \n";
+ #ifdef DEBUG
+             obj.Print(os);
+@@ -1830,7 +1830,7 @@ void RiscvDebugger::Debug() {
+           PrintF("  0x%012" PRIxPTR " :  0x%016" REGIx_FORMAT
+                  "  %14" REGId_FORMAT " ",
+                  reinterpret_cast<intptr_t>(cur), *cur, *cur);
+-          Tagged<Object> obj(*cur);
++          Object obj(*cur);
+           Heap* current_heap = sim_->isolate_->heap();
+           if (obj.IsSmi() ||
+               IsValidHeapObject(current_heap, HeapObject::cast(obj))) {
+@@ -4692,7 +4692,7 @@ bool Simulator::DecodeRvvVS() {
+ Builtin Simulator::LookUp(Address pc) {
+   for (Builtin builtin = Builtins::kFirst; builtin <= Builtins::kLast;
+        ++builtin) {
+-    if (builtins_.code(builtin)->contains(isolate_, pc)) return builtin;
++    if (builtins_.code(builtin).contains(isolate_, pc)) return builtin;
+   }
+   return Builtin::kNoBuiltinId;
+ }
+@@ -4709,7 +4709,7 @@ void Simulator::DecodeRVIType() {
+         if (builtin != Builtin::kNoBuiltinId) {
+           auto code = builtins_.code(builtin);
+           if ((rs1_reg() != ra || imm12() != 0)) {
+-            if ((Address)get_pc() == code->instruction_start()) {
++            if ((Address)get_pc() == code.InstructionStart()) {
+               sreg_t arg0 = get_register(a0);
+               sreg_t arg1 = get_register(a1);
+               sreg_t arg2 = get_register(a2);
+diff --git a/deps/v8/src/regexp/riscv/regexp-macro-assembler-riscv.cc b/deps/v8/src/regexp/riscv/regexp-macro-assembler-riscv.cc
+index 72f89767eb348..4063b4b3d2194 100644
+--- a/deps/v8/src/regexp/riscv/regexp-macro-assembler-riscv.cc
++++ b/deps/v8/src/regexp/riscv/regexp-macro-assembler-riscv.cc
+@@ -1211,7 +1211,7 @@ static T* frame_entry_address(Address re_frame, int frame_offset) {
+ int64_t RegExpMacroAssemblerRISCV::CheckStackGuardState(Address* return_address,
+                                                         Address raw_code,
+                                                         Address re_frame) {
+-  Tagged<InstructionStream> re_code = InstructionStream::cast(Object(raw_code));
++  InstructionStream re_code = InstructionStream::cast(Object(raw_code));
+   return NativeRegExpMacroAssembler::CheckStackGuardState(
+       frame_entry<Isolate*>(re_frame, kIsolateOffset),
+       static_cast<int>(frame_entry<int64_t>(re_frame, kStartIndexOffset)),
+

diff --git a/net-libs/nodejs/nodejs-20.11.0.ebuild b/net-libs/nodejs/nodejs-20.11.0.ebuild
index 0ba7e68dae37..a1f833f49275 100644
--- a/net-libs/nodejs/nodejs-20.11.0.ebuild
+++ b/net-libs/nodejs/nodejs-20.11.0.ebuild
@@ -105,6 +105,9 @@ src_prepare() {
 	# We need to disable mprotect on two files when it builds Bug 694100.
 	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-20.6.0-paxmarking.patch )
 
+	# bug 922725
+	use riscv && PATCHES+=( "${FILESDIR}"/${P}-riscv.patch )
+
 	default
 }
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/
@ 2024-06-25 16:45 Jakov Smolić
  0 siblings, 0 replies; 25+ messages in thread
From: Jakov Smolić @ 2024-06-25 16:45 UTC (permalink / raw
  To: gentoo-commits

commit:     da1119fa36aa12fbb367ea13b618c8f2102b750b
Author:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  7 10:00:09 2024 +0000
Commit:     Jakov Smolić <jsmolic <AT> gentoo <DOT> org>
CommitDate: Tue Jun 25 16:44:57 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da1119fa

net-libs/nodejs: Fix building on riscv

Closes: https://bugs.gentoo.org/931256
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/37068
Signed-off-by: Jakov Smolić <jsmolic <AT> gentoo.org>

 net-libs/nodejs/files/nodejs-22.2.0-riscv.patch | 37 +++++++++++++++++++++++++
 net-libs/nodejs/nodejs-22.3.0.ebuild            |  3 ++
 2 files changed, 40 insertions(+)

diff --git a/net-libs/nodejs/files/nodejs-22.2.0-riscv.patch b/net-libs/nodejs/files/nodejs-22.2.0-riscv.patch
new file mode 100644
index 000000000000..44c696307240
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-22.2.0-riscv.patch
@@ -0,0 +1,37 @@
+From 2674676fe3b01cc9652a5922badc9b044080fce7 Mon Sep 17 00:00:00 2001
+From: Lu Yahan <yahan@iscas.ac.cn>
+Date: Wed, 8 May 2024 16:34:24 +0800
+Subject: [PATCH] tools: fix riscv64 build failed
+
+---
+ tools/v8_gypfiles/v8.gyp | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp
+index 1e2b3645132aab..ab96e0c7d2c1f2 100644
+--- a/tools/v8_gypfiles/v8.gyp
++++ b/tools/v8_gypfiles/v8.gyp
+@@ -1150,6 +1150,23 @@
+           'sources': [
+             '<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn"  "\\"v8_base_without_compiler.*?v8_enable_wasm_gdb_remote_debugging.*?v8_current_cpu == \\"riscv64\\".*?sources \\+= ")',
+           ],
++          'conditions': [
++            ['v8_enable_webassembly==1', {
++              'conditions': [
++                ['(_toolset=="host" and host_arch=="arm64" or _toolset=="target" and target_arch=="arm64") or (_toolset=="host" and host_arch=="riscv64" or _toolset=="target" and target_arch=="riscv64") or (_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64")', {
++                  'sources': [
++                    '<(V8_ROOT)/src/trap-handler/handler-inside-posix.cc',
++                    '<(V8_ROOT)/src/trap-handler/handler-outside-posix.cc',
++                  ],
++                }],
++                ['(_toolset=="host" and host_arch=="x64" or _toolset=="target" and target_arch=="x64") and (OS=="linux" or OS=="mac" or OS=="win")', {
++                  'sources': [
++                    '<(V8_ROOT)/src/trap-handler/handler-outside-simulator.cc',
++                  ],
++                }],
++              ],
++            }],
++          ],
+         }],
+         ['v8_target_arch=="loong64"', {
+           'sources': [

diff --git a/net-libs/nodejs/nodejs-22.3.0.ebuild b/net-libs/nodejs/nodejs-22.3.0.ebuild
index 37c99da5a59e..ee0eb0823bd1 100644
--- a/net-libs/nodejs/nodejs-22.3.0.ebuild
+++ b/net-libs/nodejs/nodejs-22.3.0.ebuild
@@ -104,6 +104,9 @@ src_prepare() {
 	# We need to disable mprotect on two files when it builds Bug 694100.
 	use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-20.6.0-paxmarking.patch )
 
+	# bug 931256
+	use riscv && PATCHES+=( "${FILESDIR}"/${P}-riscv.patch )
+
 	default
 }
 


^ permalink raw reply related	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2024-06-25 16:45 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-13 12:12 [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/, net-libs/nodejs/files/ Jeroen Roovers
  -- strict thread matches above, loose matches on Subject: below --
2024-06-25 16:45 Jakov Smolić
2024-02-04  0:37 Jakov Smolić
2024-01-22 21:16 William Hubbs
2023-11-02 21:34 William Hubbs
2023-08-09 19:21 William Hubbs
2023-06-10 19:32 William Hubbs
2023-05-05 15:16 William Hubbs
2023-04-30  1:24 William Hubbs
2022-05-06  5:21 Joonas Niilola
2022-03-17 21:39 William Hubbs
2021-09-16 16:42 Marek Szuba
2021-08-13 17:36 Marek Szuba
2021-05-13 21:36 Marek Szuba
2021-05-13 15:30 Georgy Yakovlev
2021-04-22 15:27 Marek Szuba
2021-04-20 17:48 Marek Szuba
2020-11-20 20:28 William Hubbs
2020-08-27 17:48 Jeroen Roovers
2020-02-17  0:38 Magnus Granberg
2018-12-09 14:59 Jeroen Roovers
2018-05-30  7:46 Jeroen Roovers
2017-11-02 22:59 Jeroen Roovers
2017-11-01 11:42 Jeroen Roovers
2016-02-11 12:07 Patrick Lauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox