Gentoo Archives: gentoo-commits

From: Marek Szuba <marecki@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/
Date: Sun, 28 Feb 2021 20:44:54
Message-Id: 1614545034.341f607876db1d0a2088965590092f4ec2767589.marecki@gentoo
1 commit: 341f607876db1d0a2088965590092f4ec2767589
2 Author: Marek Szuba <marecki <AT> gentoo <DOT> org>
3 AuthorDate: Sun Feb 28 20:43:54 2021 +0000
4 Commit: Marek Szuba <marecki <AT> gentoo <DOT> org>
5 CommitDate: Sun Feb 28 20:43:54 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=341f6078
7
8 net-libs/nodejs: remove old
9
10 No versions vulnerable to CVE-2021-22883, CVE-2021-22884 or
11 CVE-2021-23840 left in the tree.
12
13 Bug: https://bugs.gentoo.org/772422
14 Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>
15
16 net-libs/nodejs/Manifest | 2 -
17 net-libs/nodejs/nodejs-12.20.1.ebuild | 219 ----------------------------------
18 net-libs/nodejs/nodejs-14.15.4.ebuild | 208 --------------------------------
19 3 files changed, 429 deletions(-)
20
21 diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
22 index 4d14278f233..9ea7c2defd1 100644
23 --- a/net-libs/nodejs/Manifest
24 +++ b/net-libs/nodejs/Manifest
25 @@ -1,5 +1,3 @@
26 -DIST node-v12.20.1.tar.xz 23641412 BLAKE2B 1c1d828a46c7d3ba3a8995d65902f20ff4d3e3c992a90e4cd0d0e985d5537a8251a1b789cac106caccca9050e5e74ca2e15b27100f715ef453d194fa07271a7a SHA512 a8948cfa64cc5222a975294a6403c1fb0c2443552ad739a049f7e50beed542c22e0004a456f1a225af847cfd06fcb4101d8f70e3f932750e74be86b14402af4d
27 DIST node-v12.21.0.tar.xz 23650552 BLAKE2B 532eef3e77d78aa1b6f30ebdc1dee88ed95280c86e44db525ce369cb1c2d9707a30a1a4ec2d8e699f7c1a14ada036fc4d62d0f0c7fa017e72768662768bbbf18 SHA512 48df48a12657e3a2366cd80a1a7040365b7a90053676230f1f93f253a1fcdafc5bc1df5b5ec5c13f616277b5feb7e7653cd145ab9c23222bf7702d7cd1fa74eb
28 -DIST node-v14.15.4.tar.xz 33296076 BLAKE2B a707dc15bdb670cdb239560d9b7a10541b793cad2339d02dafac2974df38dbe57d141b60d934f8b91cd65961f3a2df4ce92bcccf8b4359c7041f5f5531f1b704 SHA512 0d497a5d51de52412d09dd0fbcb936dbf0cba810f84d598be8f02c876d55f614e00c1ea0b25a00838e7b9f9c73a7882e3de0e9507d1c6ee45270a62d3438ab41
29 DIST node-v14.16.0.tar.xz 33301140 BLAKE2B faf380e8f02ea2e6084601fece1e9d3119aeabcebc844fd22a79c18e27cf54f0cd470971cc5a86277a226e59950f511e1173828565bdda1c1f06c52b144cba6f SHA512 ac6f7408df35e2bae8bcad3f461d8e260a2762c77f78d737b0339a592724ff1a98ba171a95e44366e731accfb3208e7cfd6d3edd0f646ddc26a01cfbdbbb655b
30 DIST node-v15.10.0.tar.xz 33246956 BLAKE2B 2227063a352ed090aa92616f1d4651c840db8f22646cfbb8ad54aa568c6ce5ff1d608f98092a680df052849d50c25407e6e2ea51dda8b47591fd5cf58c972a3f SHA512 0d00cef7a2b665f15fae5321f7b9670866cf299855235806809b11b8b17017278be8b58c1252355b36525d704b41340c668f90f364192bdf7a22183b4809a939
31
32 diff --git a/net-libs/nodejs/nodejs-12.20.1.ebuild b/net-libs/nodejs/nodejs-12.20.1.ebuild
33 deleted file mode 100644
34 index 9ad28a2d5fd..00000000000
35 --- a/net-libs/nodejs/nodejs-12.20.1.ebuild
36 +++ /dev/null
37 @@ -1,219 +0,0 @@
38 -# Copyright 1999-2021 Gentoo Authors
39 -# Distributed under the terms of the GNU General Public License v2
40 -
41 -EAPI=7
42 -
43 -PYTHON_COMPAT=( python3_{7..8} )
44 -PYTHON_REQ_USE="threads(+)"
45 -
46 -inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
47 -
48 -DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
49 -HOMEPAGE="https://nodejs.org/"
50 -SRC_URI="
51 - https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
52 -"
53 -
54 -LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
55 -SLOT="0/$(ver_cut 1)"
56 -KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~x64-macos"
57 -IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
58 -REQUIRED_USE="
59 - inspector? ( icu ssl )
60 - npm? ( ssl )
61 - system-ssl? ( ssl )
62 -"
63 -
64 -RDEPEND="
65 - >=app-arch/brotli-1.0.9
66 - >=dev-libs/libuv-1.39.0:=
67 - >=net-dns/c-ares-1.16.0
68 - >=net-libs/http-parser-2.9.3:=
69 - >=net-libs/nghttp2-1.40.0
70 - sys-libs/zlib
71 - icu? ( >=dev-libs/icu-64.2:= )
72 - system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
73 -"
74 -BDEPEND="
75 - ${PYTHON_DEPS}
76 - sys-apps/coreutils
77 - systemtap? ( dev-util/systemtap )
78 - test? ( net-misc/curl )
79 -"
80 -DEPEND="
81 - ${RDEPEND}
82 -"
83 -PATCHES=(
84 - "${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
85 - "${FILESDIR}"/${PN}-12.20.1-fix_ppc64_crashes.patch
86 - "${FILESDIR}"/${PN}-99999999-llhttp.patch
87 -)
88 -RESTRICT="test"
89 -S="${WORKDIR}/node-v${PV}"
90 -
91 -pkg_pretend() {
92 - (use x86 && ! use cpu_flags_x86_sse2) && \
93 - die "Your CPU doesn't support the required SSE2 instruction."
94 -
95 - ( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
96 - die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
97 -}
98 -
99 -src_prepare() {
100 - tc-export CC CXX PKG_CONFIG
101 - export V=1
102 - export BUILDTYPE=Release
103 -
104 - # fix compilation on Darwin
105 - # https://code.google.com/p/gyp/issues/detail?id=260
106 - sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
107 -
108 - # less verbose install output (stating the same as portage, basically)
109 - sed -i -e "/print/d" tools/install.py || die
110 -
111 - # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
112 - local LIBDIR=$(get_libdir)
113 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
114 - sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
115 -
116 - # Avoid writing a depfile, not useful
117 - sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
118 -
119 - sed -i -e "/'-O3'/d" common.gypi node.gypi || die
120 -
121 - # Avoid a test that I've only been able to reproduce from emerge. It doesnt
122 - # seem sandbox related either (invoking it from a sandbox works fine).
123 - # The issue is that no stdin handle is openened when asked for one.
124 - # It doesn't really belong upstream , so it'll just be removed until someone
125 - # with more gentoo-knowledge than me (jbergstroem) figures it out.
126 - rm test/parallel/test-stdout-close-unref.js || die
127 -
128 - # debug builds. change install path, remove optimisations and override buildtype
129 - if use debug; then
130 - sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
131 - BUILDTYPE=Debug
132 - fi
133 -
134 - default
135 -}
136 -
137 -src_configure() {
138 - xdg_environment_reset
139 -
140 - local myconf=(
141 - --shared-brotli
142 - --shared-cares
143 - --shared-http-parser
144 - --shared-libuv
145 - --shared-nghttp2
146 - --shared-zlib
147 - )
148 - use debug && myconf+=( --debug )
149 - use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
150 - use inspector || myconf+=( --without-inspector )
151 - use npm || myconf+=( --without-npm )
152 - use snapshot || myconf+=( --without-node-snapshot )
153 - if use ssl; then
154 - use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
155 - else
156 - myconf+=( --without-ssl )
157 - fi
158 -
159 - local myarch=""
160 - case ${ABI} in
161 - amd64) myarch="x64";;
162 - arm) myarch="arm";;
163 - arm64) myarch="arm64";;
164 - ppc64) myarch="ppc64";;
165 - x32) myarch="x32";;
166 - x86) myarch="ia32";;
167 - *) myarch="${ABI}";;
168 - esac
169 -
170 - GYP_DEFINES="linux_use_gold_flags=0
171 - linux_use_bundled_binutils=0
172 - linux_use_bundled_gold=0" \
173 - "${EPYTHON}" configure.py \
174 - --prefix="${EPREFIX}"/usr \
175 - --dest-cpu=${myarch} \
176 - $(use_with systemtap dtrace) \
177 - "${myconf[@]}" || die
178 -}
179 -
180 -src_compile() {
181 - emake -C out mksnapshot
182 - pax-mark m "out/${BUILDTYPE}/mksnapshot"
183 - emake -C out
184 -}
185 -
186 -src_install() {
187 - local LIBDIR="${ED}/usr/$(get_libdir)"
188 - default
189 -
190 - pax-mark -m "${ED}"/usr/bin/node
191 -
192 - # set up a symlink structure that node-gyp expects..
193 - dodir /usr/include/node/deps/{v8,uv}
194 - dosym . /usr/include/node/src
195 - for var in deps/{uv,v8}/include; do
196 - dosym ../.. /usr/include/node/${var}
197 - done
198 -
199 - if use doc; then
200 - docinto html
201 - dodoc -r "${S}"/doc/*
202 - fi
203 -
204 - if use npm; then
205 - dodir /etc/npm
206 -
207 - # Install bash completion for `npm`
208 - # We need to temporarily replace default config path since
209 - # npm otherwise tries to write outside of the sandbox
210 - local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
211 - sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
212 - local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
213 - "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
214 - newbashcomp "${tmp_npm_completion_file}" npm
215 - sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
216 -
217 - # Move man pages
218 - doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
219 -
220 - # Clean up
221 - rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
222 - rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
223 -
224 - local find_exp="-or -name"
225 - local find_name=()
226 - for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
227 - ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
228 - "*.md" "*.markdown" "*.bat" "*.cmd"; do
229 - find_name+=( ${find_exp} "${match}" )
230 - done
231 -
232 - # Remove various development and/or inappropriate files and
233 - # useless docs of dependend packages.
234 - find "${LIBDIR}"/node_modules \
235 - \( -type d -name examples \) -or \( -type f \( \
236 - -iname "LICEN?E*" \
237 - "${find_name[@]}" \
238 - \) \) -exec rm -rf "{}" \;
239 - fi
240 -
241 - mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
242 -}
243 -
244 -src_test() {
245 - out/${BUILDTYPE}/cctest || die
246 - "${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
247 -}
248 -
249 -pkg_postinst() {
250 - elog "The global npm config lives in /etc/npm. This deviates slightly"
251 - elog "from upstream which otherwise would have it live in /usr/etc/."
252 - elog ""
253 - elog "Protip: When using node-gyp to install native modules, you can"
254 - elog "avoid having to download extras by doing the following:"
255 - elog "$ node-gyp --nodedir /usr/include/node <command>"
256 -}
257
258 diff --git a/net-libs/nodejs/nodejs-14.15.4.ebuild b/net-libs/nodejs/nodejs-14.15.4.ebuild
259 deleted file mode 100644
260 index b80ad78525a..00000000000
261 --- a/net-libs/nodejs/nodejs-14.15.4.ebuild
262 +++ /dev/null
263 @@ -1,208 +0,0 @@
264 -# Copyright 1999-2021 Gentoo Authors
265 -# Distributed under the terms of the GNU General Public License v2
266 -
267 -EAPI=7
268 -
269 -PYTHON_COMPAT=( python3_{7..9} )
270 -PYTHON_REQ_USE="threads(+)"
271 -
272 -inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
273 -
274 -DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
275 -HOMEPAGE="https://nodejs.org/"
276 -SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
277 -
278 -LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
279 -SLOT="0/$(ver_cut 1)"
280 -KEYWORDS="amd64 arm arm64 ppc64 x86 ~amd64-linux ~x64-macos"
281 -
282 -IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax_kernel +snapshot +ssl system-icu +system-ssl systemtap test"
283 -REQUIRED_USE="inspector? ( icu ssl )
284 - npm? ( ssl )
285 - system-icu? ( icu )
286 - system-ssl? ( ssl )"
287 -
288 -# FIXME: test-fs-mkdir fails with "no such file or directory". Investigate.
289 -RESTRICT="test"
290 -
291 -RDEPEND=">=app-arch/brotli-1.0.9
292 - >=dev-libs/libuv-1.40.0:=
293 - >=net-dns/c-ares-1.16.1
294 - >=net-libs/nghttp2-1.41.0
295 - sys-libs/zlib
296 - system-icu? ( >=dev-libs/icu-67:= )
297 - system-ssl? ( >=dev-libs/openssl-1.1.1:0= )"
298 -BDEPEND="${PYTHON_DEPS}
299 - sys-apps/coreutils
300 - systemtap? ( dev-util/systemtap )
301 - test? ( net-misc/curl )
302 - pax_kernel? ( sys-apps/elfix )"
303 -DEPEND="${RDEPEND}"
304 -
305 -PATCHES=(
306 - "${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
307 - "${FILESDIR}"/${PN}-14.15.0-fix_ppc64_crashes.patch
308 -)
309 -
310 -S="${WORKDIR}/node-v${PV}"
311 -
312 -pkg_pretend() {
313 - (use x86 && ! use cpu_flags_x86_sse2) && \
314 - die "Your CPU doesn't support the required SSE2 instruction."
315 -}
316 -
317 -src_prepare() {
318 - tc-export AR CC CXX PKG_CONFIG
319 - export V=1
320 - export BUILDTYPE=Release
321 -
322 - # fix compilation on Darwin
323 - # https://code.google.com/p/gyp/issues/detail?id=260
324 - sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
325 -
326 - # less verbose install output (stating the same as portage, basically)
327 - sed -i -e "/print/d" tools/install.py || die
328 -
329 - # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
330 - local LIBDIR=$(get_libdir)
331 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
332 - sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
333 -
334 - # Avoid writing a depfile, not useful
335 - sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
336 -
337 - sed -i -e "/'-O3'/d" common.gypi node.gypi || die
338 -
339 - # Avoid a test that I've only been able to reproduce from emerge. It doesnt
340 - # seem sandbox related either (invoking it from a sandbox works fine).
341 - # The issue is that no stdin handle is openened when asked for one.
342 - # It doesn't really belong upstream , so it'll just be removed until someone
343 - # with more gentoo-knowledge than me (jbergstroem) figures it out.
344 - rm test/parallel/test-stdout-close-unref.js || die
345 -
346 - # debug builds. change install path, remove optimisations and override buildtype
347 - if use debug; then
348 - sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
349 - BUILDTYPE=Debug
350 - fi
351 -
352 - # We need to disable mprotect on two files when it builds Bug 694100.
353 - use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
354 -
355 - default
356 -}
357 -
358 -src_configure() {
359 - xdg_environment_reset
360 -
361 - local myconf=(
362 - --shared-brotli
363 - --shared-cares
364 - --shared-libuv
365 - --shared-nghttp2
366 - --shared-zlib
367 - )
368 - use debug && myconf+=( --debug )
369 - if use system-icu; then
370 - myconf+=( --with-intl=system-icu )
371 - elif use icu; then
372 - myconf+=( --with-intl=full-icu )
373 - else
374 - myconf+=( --with-intl=none )
375 - fi
376 - use inspector || myconf+=( --without-inspector )
377 - use npm || myconf+=( --without-npm )
378 - use snapshot || myconf+=( --without-node-snapshot )
379 - if use ssl; then
380 - use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
381 - else
382 - myconf+=( --without-ssl )
383 - fi
384 -
385 - local myarch=""
386 - case ${ABI} in
387 - amd64) myarch="x64";;
388 - arm) myarch="arm";;
389 - arm64) myarch="arm64";;
390 - ppc64) myarch="ppc64";;
391 - x32) myarch="x32";;
392 - x86) myarch="ia32";;
393 - *) myarch="${ABI}";;
394 - esac
395 -
396 - GYP_DEFINES="linux_use_gold_flags=0
397 - linux_use_bundled_binutils=0
398 - linux_use_bundled_gold=0" \
399 - "${EPYTHON}" configure.py \
400 - --prefix="${EPREFIX}"/usr \
401 - --dest-cpu=${myarch} \
402 - $(use_with systemtap dtrace) \
403 - "${myconf[@]}" || die
404 -}
405 -
406 -src_compile() {
407 - emake -C out
408 -}
409 -
410 -src_install() {
411 - local LIBDIR="${ED}/usr/$(get_libdir)"
412 - default
413 -
414 - pax-mark -m "${ED}"/usr/bin/node
415 -
416 - # set up a symlink structure that node-gyp expects..
417 - dodir /usr/include/node/deps/{v8,uv}
418 - dosym . /usr/include/node/src
419 - for var in deps/{uv,v8}/include; do
420 - dosym ../.. /usr/include/node/${var}
421 - done
422 -
423 - if use doc; then
424 - docinto html
425 - dodoc -r "${S}"/doc/*
426 - fi
427 -
428 - if use npm; then
429 - dodir /etc/npm
430 -
431 - # Install bash completion for `npm`
432 - # We need to temporarily replace default config path since
433 - # npm otherwise tries to write outside of the sandbox
434 - local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
435 - sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
436 - local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
437 - "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
438 - newbashcomp "${tmp_npm_completion_file}" npm
439 - sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
440 -
441 - # Move man pages
442 - doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
443 -
444 - # Clean up
445 - rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
446 - rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
447 -
448 - local find_exp="-or -name"
449 - local find_name=()
450 - for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
451 - ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
452 - "*.md" "*.markdown" "*.bat" "*.cmd"; do
453 - find_name+=( ${find_exp} "${match}" )
454 - done
455 -
456 - # Remove various development and/or inappropriate files and
457 - # useless docs of dependend packages.
458 - find "${LIBDIR}"/node_modules \
459 - \( -type d -name examples \) -or \( -type f \( \
460 - -iname "LICEN?E*" \
461 - "${find_name[@]}" \
462 - \) \) -exec rm -rf "{}" \;
463 - fi
464 -
465 - mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
466 -}
467 -
468 -src_test() {
469 - out/${BUILDTYPE}/cctest || die
470 - "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
471 -}