Gentoo Archives: gentoo-commits

From: Jeroen Roovers <jer@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/nodejs/
Date: Wed, 30 Sep 2020 06:26:54
Message-Id: 1601447207.7c2172b85f0ce3ca8a9735329f37a11f9d12f154.jer@gentoo
1 commit: 7c2172b85f0ce3ca8a9735329f37a11f9d12f154
2 Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
3 AuthorDate: Wed Sep 30 06:26:29 2020 +0000
4 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 30 06:26:47 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7c2172b8
7
8 net-libs/nodejs: Old
9
10 Package-Manager: Portage-3.0.8, Repoman-3.0.1
11 Signed-off-by: Jeroen Roovers <jer <AT> gentoo.org>
12
13 net-libs/nodejs/Manifest | 5 -
14 net-libs/nodejs/nodejs-12.18.3.ebuild | 213 ----------------------------------
15 net-libs/nodejs/nodejs-14.10.0.ebuild | 200 -------------------------------
16 net-libs/nodejs/nodejs-14.10.1.ebuild | 200 -------------------------------
17 net-libs/nodejs/nodejs-14.8.0.ebuild | 200 -------------------------------
18 net-libs/nodejs/nodejs-14.9.0.ebuild | 200 -------------------------------
19 6 files changed, 1018 deletions(-)
20
21 diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
22 index e31e201e24a..0ca16c0a960 100644
23 --- a/net-libs/nodejs/Manifest
24 +++ b/net-libs/nodejs/Manifest
25 @@ -1,12 +1,7 @@
26 DIST node-v12.16.1.tar.xz 23481768 BLAKE2B 29371b952c14907778c064269108f1da5e3818c32773e73090c61edcd07190c418189db6a505987ca71f99bb868880e297de5d2181b9a880774eaaf515985f26 SHA512 fe1e9fabb6fe52e3bc4275b33e6c5e4a761550b04964c0ae7dbef7172f5d415207bb2985751d068e357ce45a0ba414b07c0abd1531ef839b9463e98eeae8f9a4
27 -DIST node-v12.18.3.tar.xz 23679596 BLAKE2B 496a8fa0f0368634a900c5961b442cb9ef9e0cf7cb0fc974a9e29624fc40077a61bd6371851d5487b9eeeb50ebf6a238e5db5c801fef000c7cb15bd990cadae2 SHA512 a1c72d4664fbead4e63736abe46417b13dcd0581c7c9f8a94ca5c5b2bd782fefabac63e63f824dda6a771c3b5e647749e3156a611dcb100aad11c3f23e17ed5d
28 DIST node-v12.18.4.tar.xz 23679924 BLAKE2B 14de3c83851b89f85f7d6f549d9e43e3e97c7a84de94eef8c3a2789e960595749726b8039fdff1be822377355ede2bb95bba4fd1d17c3e5165c844a80eb32e53 SHA512 07101a9acc8dee5189f8484746715b57d4227d819e38a79c100da33f803b0f061e7b37fbd4114ce2bc3eea647726f8786880d3096dfab187c177679f3e1c78e8
29 -DIST node-v14.10.0.tar.xz 33377228 BLAKE2B fc2e0b38c0cd56fa524cc01dd262003ba0dbb4f755b9b95079a4aedea75c75b1e588de8cee4503a9699b1fed9983db8827828fe622c1ea32f9d3ee21aeabc3e4 SHA512 902bfe3b142f11ef48076c4af6f3107fb20f617ef1f12a564fc3ea1870e6304458dd30fb9af67c3431b850caa496bbb55cb1d760e46c882603543685d316c733
30 -DIST node-v14.10.1.tar.xz 33383116 BLAKE2B 68959ad1ed576af327b53080099d8f1e520658f9c7aeb342ba4182f6f058e48d93b1c443e2a91348a221224bfa430a16cbe13b33f339b41eff4a6e41fc1e85db SHA512 fd094fb3ff1f94e913ee876de4365ba1f6d26abd33b60e964fbdf8a205ab8a44885bd69576ec997aee7b36b91a342daf3654bec41377d0ec66e752292aab4319
31 DIST node-v14.11.0.tar.xz 33379456 BLAKE2B 99e2eba4ba2e54209836fa1e3b63e42caf854d7f3bc99f5836300b0795ef8c785b78bd7c6b99148604f0bb1b34a5169c72e8be0f8d4f62412e7d352fce15ca18 SHA512 5014ebaeb109b0ecaca8f795a4e1a626c03b1132f9b8bac8826b734633c14e9f99b4f079c185a1f43f6938a1e543e5838f520159c3e08ca454398039fd26ef11
32 DIST node-v14.12.0.tar.xz 33390472 BLAKE2B 930b196ada16d21e2d2b43d030d936391e039cc985ee517b6b420277baa071ecef8c8cef7bd2f24b5e167465e9d4acc6b0da36ae4e7332fe179c47724e05ff50 SHA512 168141a3e3f20be98a0e800a8e8f70e1ff330ff087cc08c31d6ae185882615723166f445d6310a23e1bb5a023e671a74834b40e1b83f2b789f65c787c18762e2
33 DIST node-v14.13.0.tar.xz 33418156 BLAKE2B 8a986a467b77485fbe2bc9d580c48ae72536d6d62c826319b787d2937c86358787ae452676b69df608adb9d9754f4cd068b729614989a4f2a93973380c4929d1 SHA512 7a75bff501520afbe15d6ceea4b4507717111c87cf03de47047af790df2e2e9d71da9501c7256d5dd9f58616c3d04db2e74401dfbcbd72abbd0c81778a588893
34 DIST node-v14.2.0.tar.xz 32884616 BLAKE2B 7bcb07cb7623c5e08c20267c320cdf23ad110f124c5ad1f2447ef8b76ab8dc44ed50dab7c5651424d9d3a36f7eeecdf3292b07c02cb2e22c3fbe4ed633c4b842 SHA512 47e5ec0b7a207082d43419a7e0a6ea9242ec43b4d7c2217eb66d0b45e2f4d5cb561b3f6fe35fdc41a8be95c182dc122ba262f696ebd12833596d71b372ec85d2
35 DIST node-v14.4.0.tar.xz 33005312 BLAKE2B bc1462d897e24a6b842e6f8146971866c73b54ff5383d76cfc5728a73e2c135d28ced068744174b3fb5af4a6ec05ef1f115ea51c2d65517cbe18e1d733460d04 SHA512 f1a7c788a8a149b942ec2b90a4314baaa5355c381029eda45002728ce7209925c016323b0ec1e0dfe2359fddb24f494df125805d0d266b738a333dcddb3f59c3
36 -DIST node-v14.8.0.tar.xz 33342288 BLAKE2B 4f8129beb16ece09f14c234395b29bc53e84896fdd9877821a27c80d88a0740d42ea4dcf65a0a5c52a98129262be236207f4c07d81f76cc5e4471f21227083e9 SHA512 ebb20f7163e20e8074dd9cc5d3ee7f3cbc536c55a7753d39c482ea90e9314d8fdfe1a88203be7f250f6d77b9f13da04d32d99770d300c2ab0dfdee3d7582f068
37 -DIST node-v14.9.0.tar.xz 33356264 BLAKE2B 61e4ad33ad5a80862730a89dbfab5c59395750f38d093944bbedc9ef167e09008e5f5f1545be3e01090d452eee3ab2ce6af9bb0455c731a0c6332c7d7b797e18 SHA512 2e628f4fea9d228e4e13d16166ba4e38a53d9a33edf0c26a63f55f61e99fd9069583613859e9b3ddbc87a6efe70803b723c310d064f9495359b450127b0c01b8
38
39 diff --git a/net-libs/nodejs/nodejs-12.18.3.ebuild b/net-libs/nodejs/nodejs-12.18.3.ebuild
40 deleted file mode 100644
41 index 6148cf5bb50..00000000000
42 --- a/net-libs/nodejs/nodejs-12.18.3.ebuild
43 +++ /dev/null
44 @@ -1,213 +0,0 @@
45 -# Copyright 1999-2020 Gentoo Authors
46 -# Distributed under the terms of the GNU General Public License v2
47 -
48 -EAPI=7
49 -PYTHON_COMPAT=( python3_{6,7} )
50 -PYTHON_REQ_USE="threads(+)"
51 -inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
52 -
53 -DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
54 -HOMEPAGE="https://nodejs.org/"
55 -SRC_URI="
56 - https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
57 -"
58 -
59 -LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
60 -SLOT="0"
61 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
62 -IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
63 -REQUIRED_USE="
64 - inspector? ( icu ssl )
65 - npm? ( ssl )
66 - system-ssl? ( ssl )
67 -"
68 -
69 -RDEPEND="
70 - >=dev-libs/libuv-1.38.0:=
71 - >=net-dns/c-ares-1.16.0
72 - >=net-libs/http-parser-2.9.3:=
73 - >=net-libs/nghttp2-1.40.0
74 - sys-libs/zlib
75 - icu? ( >=dev-libs/icu-64.2:= )
76 - system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
77 -"
78 -BDEPEND="
79 - ${PYTHON_DEPS}
80 - systemtap? ( dev-util/systemtap )
81 - test? ( net-misc/curl )
82 -"
83 -DEPEND="
84 - ${RDEPEND}
85 -"
86 -PATCHES=(
87 - "${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
88 - "${FILESDIR}"/${PN}-99999999-llhttp.patch
89 -)
90 -RESTRICT="test"
91 -S="${WORKDIR}/node-v${PV}"
92 -
93 -pkg_pretend() {
94 - (use x86 && ! use cpu_flags_x86_sse2) && \
95 - die "Your CPU doesn't support the required SSE2 instruction."
96 -
97 - ( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
98 - die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
99 -}
100 -
101 -src_prepare() {
102 - tc-export CC CXX PKG_CONFIG
103 - export V=1
104 - export BUILDTYPE=Release
105 -
106 - # fix compilation on Darwin
107 - # https://code.google.com/p/gyp/issues/detail?id=260
108 - sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
109 -
110 - # less verbose install output (stating the same as portage, basically)
111 - sed -i -e "/print/d" tools/install.py || die
112 -
113 - # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
114 - local LIBDIR=$(get_libdir)
115 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
116 - sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
117 -
118 - # Avoid writing a depfile, not useful
119 - sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
120 -
121 - sed -i -e "/'-O3'/d" common.gypi node.gypi || die
122 -
123 - # Avoid a test that I've only been able to reproduce from emerge. It doesnt
124 - # seem sandbox related either (invoking it from a sandbox works fine).
125 - # The issue is that no stdin handle is openened when asked for one.
126 - # It doesn't really belong upstream , so it'll just be removed until someone
127 - # with more gentoo-knowledge than me (jbergstroem) figures it out.
128 - rm test/parallel/test-stdout-close-unref.js || die
129 -
130 - # debug builds. change install path, remove optimisations and override buildtype
131 - if use debug; then
132 - sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
133 - BUILDTYPE=Debug
134 - fi
135 -
136 - default
137 -}
138 -
139 -src_configure() {
140 - xdg_environment_reset
141 -
142 - local myconf=(
143 - --shared-cares
144 - --shared-http-parser
145 - --shared-libuv
146 - --shared-nghttp2
147 - --shared-zlib
148 - )
149 - use debug && myconf+=( --debug )
150 - use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
151 - use inspector || myconf+=( --without-inspector )
152 - use npm || myconf+=( --without-npm )
153 - use snapshot || myconf+=( --without-node-snapshot )
154 - if use ssl; then
155 - use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
156 - else
157 - myconf+=( --without-ssl )
158 - fi
159 -
160 - local myarch=""
161 - case ${ABI} in
162 - amd64) myarch="x64";;
163 - arm) myarch="arm";;
164 - arm64) myarch="arm64";;
165 - ppc64) myarch="ppc64";;
166 - x32) myarch="x32";;
167 - x86) myarch="ia32";;
168 - *) myarch="${ABI}";;
169 - esac
170 -
171 - GYP_DEFINES="linux_use_gold_flags=0
172 - linux_use_bundled_binutils=0
173 - linux_use_bundled_gold=0" \
174 - "${EPYTHON}" configure.py \
175 - --prefix="${EPREFIX}"/usr \
176 - --dest-cpu=${myarch} \
177 - $(use_with systemtap dtrace) \
178 - "${myconf[@]}" || die
179 -}
180 -
181 -src_compile() {
182 - emake -C out mksnapshot
183 - pax-mark m "out/${BUILDTYPE}/mksnapshot"
184 - emake -C out
185 -}
186 -
187 -src_install() {
188 - local LIBDIR="${ED}/usr/$(get_libdir)"
189 - default
190 -
191 - pax-mark -m "${ED}"/usr/bin/node
192 -
193 - # set up a symlink structure that node-gyp expects..
194 - dodir /usr/include/node/deps/{v8,uv}
195 - dosym . /usr/include/node/src
196 - for var in deps/{uv,v8}/include; do
197 - dosym ../.. /usr/include/node/${var}
198 - done
199 -
200 - if use doc; then
201 - docinto html
202 - dodoc -r "${S}"/doc/*
203 - fi
204 -
205 - if use npm; then
206 - dodir /etc/npm
207 -
208 - # Install bash completion for `npm`
209 - # We need to temporarily replace default config path since
210 - # npm otherwise tries to write outside of the sandbox
211 - local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
212 - sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
213 - local tmp_npm_completion_file="$(emktemp)"
214 - "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
215 - newbashcomp "${tmp_npm_completion_file}" npm
216 - sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
217 -
218 - # Move man pages
219 - doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
220 -
221 - # Clean up
222 - rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
223 - rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
224 -
225 - local find_exp="-or -name"
226 - local find_name=()
227 - for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
228 - ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
229 - "*.md" "*.markdown" "*.bat" "*.cmd"; do
230 - find_name+=( ${find_exp} "${match}" )
231 - done
232 -
233 - # Remove various development and/or inappropriate files and
234 - # useless docs of dependend packages.
235 - find "${LIBDIR}"/node_modules \
236 - \( -type d -name examples \) -or \( -type f \( \
237 - -iname "LICEN?E*" \
238 - "${find_name[@]}" \
239 - \) \) -exec rm -rf "{}" \;
240 - fi
241 -
242 - mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
243 -}
244 -
245 -src_test() {
246 - out/${BUILDTYPE}/cctest || die
247 - "${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
248 -}
249 -
250 -pkg_postinst() {
251 - elog "The global npm config lives in /etc/npm. This deviates slightly"
252 - elog "from upstream which otherwise would have it live in /usr/etc/."
253 - elog ""
254 - elog "Protip: When using node-gyp to install native modules, you can"
255 - elog "avoid having to download extras by doing the following:"
256 - elog "$ node-gyp --nodedir /usr/include/node <command>"
257 -}
258
259 diff --git a/net-libs/nodejs/nodejs-14.10.0.ebuild b/net-libs/nodejs/nodejs-14.10.0.ebuild
260 deleted file mode 100644
261 index 43b93416662..00000000000
262 --- a/net-libs/nodejs/nodejs-14.10.0.ebuild
263 +++ /dev/null
264 @@ -1,200 +0,0 @@
265 -# Copyright 1999-2020 Gentoo Authors
266 -# Distributed under the terms of the GNU General Public License v2
267 -
268 -EAPI=7
269 -PYTHON_COMPAT=( python3_{6,7,8} )
270 -PYTHON_REQ_USE="threads(+)"
271 -inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
272 -
273 -DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
274 -HOMEPAGE="https://nodejs.org/"
275 -SRC_URI="
276 - https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
277 -"
278 -
279 -LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
280 -SLOT="0"
281 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
282 -IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
283 -REQUIRED_USE="
284 - inspector? ( icu ssl )
285 - npm? ( ssl )
286 - system-ssl? ( ssl )
287 -"
288 -
289 -RDEPEND="
290 - >=dev-libs/libuv-1.39.0:=
291 - >=net-dns/c-ares-1.16.0
292 - >=net-libs/nghttp2-1.41.0
293 - sys-libs/zlib
294 - icu? ( >=dev-libs/icu-67:= )
295 - system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
296 -"
297 -BDEPEND="
298 - ${PYTHON_DEPS}
299 - systemtap? ( dev-util/systemtap )
300 - test? ( net-misc/curl )
301 - pax_kernel? ( sys-apps/elfix )
302 -"
303 -DEPEND="
304 - ${RDEPEND}
305 -"
306 -PATCHES=(
307 - "${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
308 -)
309 -RESTRICT="test"
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 - ( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
317 - die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
318 -}
319 -
320 -src_prepare() {
321 - tc-export AR CC CXX PKG_CONFIG
322 - export V=1
323 - export BUILDTYPE=Release
324 -
325 - # fix compilation on Darwin
326 - # https://code.google.com/p/gyp/issues/detail?id=260
327 - sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
328 -
329 - # less verbose install output (stating the same as portage, basically)
330 - sed -i -e "/print/d" tools/install.py || die
331 -
332 - # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
333 - local LIBDIR=$(get_libdir)
334 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
335 - sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
336 -
337 - # Avoid writing a depfile, not useful
338 - sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
339 -
340 - sed -i -e "/'-O3'/d" common.gypi node.gypi || die
341 -
342 - # Avoid a test that I've only been able to reproduce from emerge. It doesnt
343 - # seem sandbox related either (invoking it from a sandbox works fine).
344 - # The issue is that no stdin handle is openened when asked for one.
345 - # It doesn't really belong upstream , so it'll just be removed until someone
346 - # with more gentoo-knowledge than me (jbergstroem) figures it out.
347 - rm test/parallel/test-stdout-close-unref.js || die
348 -
349 - # debug builds. change install path, remove optimisations and override buildtype
350 - if use debug; then
351 - sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
352 - BUILDTYPE=Debug
353 - fi
354 -
355 - # We need to disable mprotect on two files when it builds Bug 694100.
356 - use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
357 -
358 - default
359 -}
360 -
361 -src_configure() {
362 - xdg_environment_reset
363 -
364 - local myconf=(
365 - --shared-cares --shared-libuv --shared-nghttp2 --shared-zlib
366 - )
367 - use debug && myconf+=( --debug )
368 - use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
369 - use inspector || myconf+=( --without-inspector )
370 - use npm || myconf+=( --without-npm )
371 - use snapshot || myconf+=( --without-node-snapshot )
372 - if use ssl; then
373 - use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
374 - else
375 - myconf+=( --without-ssl )
376 - fi
377 -
378 - local myarch=""
379 - case ${ABI} in
380 - amd64) myarch="x64";;
381 - arm) myarch="arm";;
382 - arm64) myarch="arm64";;
383 - ppc64) myarch="ppc64";;
384 - x32) myarch="x32";;
385 - x86) myarch="ia32";;
386 - *) myarch="${ABI}";;
387 - esac
388 -
389 - GYP_DEFINES="linux_use_gold_flags=0
390 - linux_use_bundled_binutils=0
391 - linux_use_bundled_gold=0" \
392 - "${EPYTHON}" configure.py \
393 - --prefix="${EPREFIX}"/usr \
394 - --dest-cpu=${myarch} \
395 - $(use_with systemtap dtrace) \
396 - "${myconf[@]}" || die
397 -}
398 -
399 -src_compile() {
400 - emake -C out
401 -}
402 -
403 -src_install() {
404 - local LIBDIR="${ED}/usr/$(get_libdir)"
405 - default
406 -
407 - pax-mark -m "${ED}"/usr/bin/node
408 -
409 - # set up a symlink structure that node-gyp expects..
410 - dodir /usr/include/node/deps/{v8,uv}
411 - dosym . /usr/include/node/src
412 - for var in deps/{uv,v8}/include; do
413 - dosym ../.. /usr/include/node/${var}
414 - done
415 -
416 - if use doc; then
417 - docinto html
418 - dodoc -r "${S}"/doc/*
419 - fi
420 -
421 - if use npm; then
422 - dodir /etc/npm
423 -
424 - # Install bash completion for `npm`
425 - # We need to temporarily replace default config path since
426 - # npm otherwise tries to write outside of the sandbox
427 - local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
428 - sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
429 - local tmp_npm_completion_file="$(emktemp)"
430 - "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
431 - newbashcomp "${tmp_npm_completion_file}" npm
432 - sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
433 -
434 - # Move man pages
435 - doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
436 -
437 - # Clean up
438 - rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
439 - rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
440 -
441 - local find_exp="-or -name"
442 - local find_name=()
443 - for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
444 - ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
445 - "*.md" "*.markdown" "*.bat" "*.cmd"; do
446 - find_name+=( ${find_exp} "${match}" )
447 - done
448 -
449 - # Remove various development and/or inappropriate files and
450 - # useless docs of dependend packages.
451 - find "${LIBDIR}"/node_modules \
452 - \( -type d -name examples \) -or \( -type f \( \
453 - -iname "LICEN?E*" \
454 - "${find_name[@]}" \
455 - \) \) -exec rm -rf "{}" \;
456 - fi
457 -
458 - mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
459 -}
460 -
461 -src_test() {
462 - out/${BUILDTYPE}/cctest || die
463 - "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
464 -}
465
466 diff --git a/net-libs/nodejs/nodejs-14.10.1.ebuild b/net-libs/nodejs/nodejs-14.10.1.ebuild
467 deleted file mode 100644
468 index 43b93416662..00000000000
469 --- a/net-libs/nodejs/nodejs-14.10.1.ebuild
470 +++ /dev/null
471 @@ -1,200 +0,0 @@
472 -# Copyright 1999-2020 Gentoo Authors
473 -# Distributed under the terms of the GNU General Public License v2
474 -
475 -EAPI=7
476 -PYTHON_COMPAT=( python3_{6,7,8} )
477 -PYTHON_REQ_USE="threads(+)"
478 -inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
479 -
480 -DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
481 -HOMEPAGE="https://nodejs.org/"
482 -SRC_URI="
483 - https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
484 -"
485 -
486 -LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
487 -SLOT="0"
488 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
489 -IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
490 -REQUIRED_USE="
491 - inspector? ( icu ssl )
492 - npm? ( ssl )
493 - system-ssl? ( ssl )
494 -"
495 -
496 -RDEPEND="
497 - >=dev-libs/libuv-1.39.0:=
498 - >=net-dns/c-ares-1.16.0
499 - >=net-libs/nghttp2-1.41.0
500 - sys-libs/zlib
501 - icu? ( >=dev-libs/icu-67:= )
502 - system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
503 -"
504 -BDEPEND="
505 - ${PYTHON_DEPS}
506 - systemtap? ( dev-util/systemtap )
507 - test? ( net-misc/curl )
508 - pax_kernel? ( sys-apps/elfix )
509 -"
510 -DEPEND="
511 - ${RDEPEND}
512 -"
513 -PATCHES=(
514 - "${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
515 -)
516 -RESTRICT="test"
517 -S="${WORKDIR}/node-v${PV}"
518 -
519 -pkg_pretend() {
520 - (use x86 && ! use cpu_flags_x86_sse2) && \
521 - die "Your CPU doesn't support the required SSE2 instruction."
522 -
523 - ( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
524 - die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
525 -}
526 -
527 -src_prepare() {
528 - tc-export AR CC CXX PKG_CONFIG
529 - export V=1
530 - export BUILDTYPE=Release
531 -
532 - # fix compilation on Darwin
533 - # https://code.google.com/p/gyp/issues/detail?id=260
534 - sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
535 -
536 - # less verbose install output (stating the same as portage, basically)
537 - sed -i -e "/print/d" tools/install.py || die
538 -
539 - # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
540 - local LIBDIR=$(get_libdir)
541 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
542 - sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
543 -
544 - # Avoid writing a depfile, not useful
545 - sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
546 -
547 - sed -i -e "/'-O3'/d" common.gypi node.gypi || die
548 -
549 - # Avoid a test that I've only been able to reproduce from emerge. It doesnt
550 - # seem sandbox related either (invoking it from a sandbox works fine).
551 - # The issue is that no stdin handle is openened when asked for one.
552 - # It doesn't really belong upstream , so it'll just be removed until someone
553 - # with more gentoo-knowledge than me (jbergstroem) figures it out.
554 - rm test/parallel/test-stdout-close-unref.js || die
555 -
556 - # debug builds. change install path, remove optimisations and override buildtype
557 - if use debug; then
558 - sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
559 - BUILDTYPE=Debug
560 - fi
561 -
562 - # We need to disable mprotect on two files when it builds Bug 694100.
563 - use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
564 -
565 - default
566 -}
567 -
568 -src_configure() {
569 - xdg_environment_reset
570 -
571 - local myconf=(
572 - --shared-cares --shared-libuv --shared-nghttp2 --shared-zlib
573 - )
574 - use debug && myconf+=( --debug )
575 - use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
576 - use inspector || myconf+=( --without-inspector )
577 - use npm || myconf+=( --without-npm )
578 - use snapshot || myconf+=( --without-node-snapshot )
579 - if use ssl; then
580 - use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
581 - else
582 - myconf+=( --without-ssl )
583 - fi
584 -
585 - local myarch=""
586 - case ${ABI} in
587 - amd64) myarch="x64";;
588 - arm) myarch="arm";;
589 - arm64) myarch="arm64";;
590 - ppc64) myarch="ppc64";;
591 - x32) myarch="x32";;
592 - x86) myarch="ia32";;
593 - *) myarch="${ABI}";;
594 - esac
595 -
596 - GYP_DEFINES="linux_use_gold_flags=0
597 - linux_use_bundled_binutils=0
598 - linux_use_bundled_gold=0" \
599 - "${EPYTHON}" configure.py \
600 - --prefix="${EPREFIX}"/usr \
601 - --dest-cpu=${myarch} \
602 - $(use_with systemtap dtrace) \
603 - "${myconf[@]}" || die
604 -}
605 -
606 -src_compile() {
607 - emake -C out
608 -}
609 -
610 -src_install() {
611 - local LIBDIR="${ED}/usr/$(get_libdir)"
612 - default
613 -
614 - pax-mark -m "${ED}"/usr/bin/node
615 -
616 - # set up a symlink structure that node-gyp expects..
617 - dodir /usr/include/node/deps/{v8,uv}
618 - dosym . /usr/include/node/src
619 - for var in deps/{uv,v8}/include; do
620 - dosym ../.. /usr/include/node/${var}
621 - done
622 -
623 - if use doc; then
624 - docinto html
625 - dodoc -r "${S}"/doc/*
626 - fi
627 -
628 - if use npm; then
629 - dodir /etc/npm
630 -
631 - # Install bash completion for `npm`
632 - # We need to temporarily replace default config path since
633 - # npm otherwise tries to write outside of the sandbox
634 - local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
635 - sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
636 - local tmp_npm_completion_file="$(emktemp)"
637 - "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
638 - newbashcomp "${tmp_npm_completion_file}" npm
639 - sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
640 -
641 - # Move man pages
642 - doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
643 -
644 - # Clean up
645 - rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
646 - rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
647 -
648 - local find_exp="-or -name"
649 - local find_name=()
650 - for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
651 - ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
652 - "*.md" "*.markdown" "*.bat" "*.cmd"; do
653 - find_name+=( ${find_exp} "${match}" )
654 - done
655 -
656 - # Remove various development and/or inappropriate files and
657 - # useless docs of dependend packages.
658 - find "${LIBDIR}"/node_modules \
659 - \( -type d -name examples \) -or \( -type f \( \
660 - -iname "LICEN?E*" \
661 - "${find_name[@]}" \
662 - \) \) -exec rm -rf "{}" \;
663 - fi
664 -
665 - mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
666 -}
667 -
668 -src_test() {
669 - out/${BUILDTYPE}/cctest || die
670 - "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
671 -}
672
673 diff --git a/net-libs/nodejs/nodejs-14.8.0.ebuild b/net-libs/nodejs/nodejs-14.8.0.ebuild
674 deleted file mode 100644
675 index 9d912667e48..00000000000
676 --- a/net-libs/nodejs/nodejs-14.8.0.ebuild
677 +++ /dev/null
678 @@ -1,200 +0,0 @@
679 -# Copyright 1999-2020 Gentoo Authors
680 -# Distributed under the terms of the GNU General Public License v2
681 -
682 -EAPI=7
683 -PYTHON_COMPAT=( python3_{6,7,8} )
684 -PYTHON_REQ_USE="threads(+)"
685 -inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
686 -
687 -DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
688 -HOMEPAGE="https://nodejs.org/"
689 -SRC_URI="
690 - https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
691 -"
692 -
693 -LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
694 -SLOT="0"
695 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
696 -IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
697 -REQUIRED_USE="
698 - inspector? ( icu ssl )
699 - npm? ( ssl )
700 - system-ssl? ( ssl )
701 -"
702 -
703 -RDEPEND="
704 - >=dev-libs/libuv-1.38.1:=
705 - >=net-dns/c-ares-1.16.0
706 - >=net-libs/nghttp2-1.41.0
707 - sys-libs/zlib
708 - icu? ( >=dev-libs/icu-67:= )
709 - system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
710 -"
711 -BDEPEND="
712 - ${PYTHON_DEPS}
713 - systemtap? ( dev-util/systemtap )
714 - test? ( net-misc/curl )
715 - pax_kernel? ( sys-apps/elfix )
716 -"
717 -DEPEND="
718 - ${RDEPEND}
719 -"
720 -PATCHES=(
721 - "${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
722 -)
723 -RESTRICT="test"
724 -S="${WORKDIR}/node-v${PV}"
725 -
726 -pkg_pretend() {
727 - (use x86 && ! use cpu_flags_x86_sse2) && \
728 - die "Your CPU doesn't support the required SSE2 instruction."
729 -
730 - ( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
731 - die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
732 -}
733 -
734 -src_prepare() {
735 - tc-export AR CC CXX PKG_CONFIG
736 - export V=1
737 - export BUILDTYPE=Release
738 -
739 - # fix compilation on Darwin
740 - # https://code.google.com/p/gyp/issues/detail?id=260
741 - sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
742 -
743 - # less verbose install output (stating the same as portage, basically)
744 - sed -i -e "/print/d" tools/install.py || die
745 -
746 - # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
747 - local LIBDIR=$(get_libdir)
748 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
749 - sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
750 -
751 - # Avoid writing a depfile, not useful
752 - sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
753 -
754 - sed -i -e "/'-O3'/d" common.gypi node.gypi || die
755 -
756 - # Avoid a test that I've only been able to reproduce from emerge. It doesnt
757 - # seem sandbox related either (invoking it from a sandbox works fine).
758 - # The issue is that no stdin handle is openened when asked for one.
759 - # It doesn't really belong upstream , so it'll just be removed until someone
760 - # with more gentoo-knowledge than me (jbergstroem) figures it out.
761 - rm test/parallel/test-stdout-close-unref.js || die
762 -
763 - # debug builds. change install path, remove optimisations and override buildtype
764 - if use debug; then
765 - sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
766 - BUILDTYPE=Debug
767 - fi
768 -
769 - # We need to disable mprotect on two files when it builds Bug 694100.
770 - use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
771 -
772 - default
773 -}
774 -
775 -src_configure() {
776 - xdg_environment_reset
777 -
778 - local myconf=(
779 - --shared-cares --shared-libuv --shared-nghttp2 --shared-zlib
780 - )
781 - use debug && myconf+=( --debug )
782 - use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
783 - use inspector || myconf+=( --without-inspector )
784 - use npm || myconf+=( --without-npm )
785 - use snapshot || myconf+=( --without-node-snapshot )
786 - if use ssl; then
787 - use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
788 - else
789 - myconf+=( --without-ssl )
790 - fi
791 -
792 - local myarch=""
793 - case ${ABI} in
794 - amd64) myarch="x64";;
795 - arm) myarch="arm";;
796 - arm64) myarch="arm64";;
797 - ppc64) myarch="ppc64";;
798 - x32) myarch="x32";;
799 - x86) myarch="ia32";;
800 - *) myarch="${ABI}";;
801 - esac
802 -
803 - GYP_DEFINES="linux_use_gold_flags=0
804 - linux_use_bundled_binutils=0
805 - linux_use_bundled_gold=0" \
806 - "${EPYTHON}" configure.py \
807 - --prefix="${EPREFIX}"/usr \
808 - --dest-cpu=${myarch} \
809 - $(use_with systemtap dtrace) \
810 - "${myconf[@]}" || die
811 -}
812 -
813 -src_compile() {
814 - emake -C out
815 -}
816 -
817 -src_install() {
818 - local LIBDIR="${ED}/usr/$(get_libdir)"
819 - default
820 -
821 - pax-mark -m "${ED}"/usr/bin/node
822 -
823 - # set up a symlink structure that node-gyp expects..
824 - dodir /usr/include/node/deps/{v8,uv}
825 - dosym . /usr/include/node/src
826 - for var in deps/{uv,v8}/include; do
827 - dosym ../.. /usr/include/node/${var}
828 - done
829 -
830 - if use doc; then
831 - docinto html
832 - dodoc -r "${S}"/doc/*
833 - fi
834 -
835 - if use npm; then
836 - dodir /etc/npm
837 -
838 - # Install bash completion for `npm`
839 - # We need to temporarily replace default config path since
840 - # npm otherwise tries to write outside of the sandbox
841 - local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
842 - sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
843 - local tmp_npm_completion_file="$(emktemp)"
844 - "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
845 - newbashcomp "${tmp_npm_completion_file}" npm
846 - sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
847 -
848 - # Move man pages
849 - doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
850 -
851 - # Clean up
852 - rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
853 - rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
854 -
855 - local find_exp="-or -name"
856 - local find_name=()
857 - for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
858 - ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
859 - "*.md" "*.markdown" "*.bat" "*.cmd"; do
860 - find_name+=( ${find_exp} "${match}" )
861 - done
862 -
863 - # Remove various development and/or inappropriate files and
864 - # useless docs of dependend packages.
865 - find "${LIBDIR}"/node_modules \
866 - \( -type d -name examples \) -or \( -type f \( \
867 - -iname "LICEN?E*" \
868 - "${find_name[@]}" \
869 - \) \) -exec rm -rf "{}" \;
870 - fi
871 -
872 - mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
873 -}
874 -
875 -src_test() {
876 - out/${BUILDTYPE}/cctest || die
877 - "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
878 -}
879
880 diff --git a/net-libs/nodejs/nodejs-14.9.0.ebuild b/net-libs/nodejs/nodejs-14.9.0.ebuild
881 deleted file mode 100644
882 index 43b93416662..00000000000
883 --- a/net-libs/nodejs/nodejs-14.9.0.ebuild
884 +++ /dev/null
885 @@ -1,200 +0,0 @@
886 -# Copyright 1999-2020 Gentoo Authors
887 -# Distributed under the terms of the GNU General Public License v2
888 -
889 -EAPI=7
890 -PYTHON_COMPAT=( python3_{6,7,8} )
891 -PYTHON_REQ_USE="threads(+)"
892 -inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
893 -
894 -DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
895 -HOMEPAGE="https://nodejs.org/"
896 -SRC_URI="
897 - https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
898 -"
899 -
900 -LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
901 -SLOT="0"
902 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
903 -IUSE="cpu_flags_x86_sse2 debug doc +icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
904 -REQUIRED_USE="
905 - inspector? ( icu ssl )
906 - npm? ( ssl )
907 - system-ssl? ( ssl )
908 -"
909 -
910 -RDEPEND="
911 - >=dev-libs/libuv-1.39.0:=
912 - >=net-dns/c-ares-1.16.0
913 - >=net-libs/nghttp2-1.41.0
914 - sys-libs/zlib
915 - icu? ( >=dev-libs/icu-67:= )
916 - system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
917 -"
918 -BDEPEND="
919 - ${PYTHON_DEPS}
920 - systemtap? ( dev-util/systemtap )
921 - test? ( net-misc/curl )
922 - pax_kernel? ( sys-apps/elfix )
923 -"
924 -DEPEND="
925 - ${RDEPEND}
926 -"
927 -PATCHES=(
928 - "${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
929 -)
930 -RESTRICT="test"
931 -S="${WORKDIR}/node-v${PV}"
932 -
933 -pkg_pretend() {
934 - (use x86 && ! use cpu_flags_x86_sse2) && \
935 - die "Your CPU doesn't support the required SSE2 instruction."
936 -
937 - ( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
938 - die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
939 -}
940 -
941 -src_prepare() {
942 - tc-export AR CC CXX PKG_CONFIG
943 - export V=1
944 - export BUILDTYPE=Release
945 -
946 - # fix compilation on Darwin
947 - # https://code.google.com/p/gyp/issues/detail?id=260
948 - sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
949 -
950 - # less verbose install output (stating the same as portage, basically)
951 - sed -i -e "/print/d" tools/install.py || die
952 -
953 - # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
954 - local LIBDIR=$(get_libdir)
955 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
956 - sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
957 -
958 - # Avoid writing a depfile, not useful
959 - sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
960 -
961 - sed -i -e "/'-O3'/d" common.gypi node.gypi || die
962 -
963 - # Avoid a test that I've only been able to reproduce from emerge. It doesnt
964 - # seem sandbox related either (invoking it from a sandbox works fine).
965 - # The issue is that no stdin handle is openened when asked for one.
966 - # It doesn't really belong upstream , so it'll just be removed until someone
967 - # with more gentoo-knowledge than me (jbergstroem) figures it out.
968 - rm test/parallel/test-stdout-close-unref.js || die
969 -
970 - # debug builds. change install path, remove optimisations and override buildtype
971 - if use debug; then
972 - sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
973 - BUILDTYPE=Debug
974 - fi
975 -
976 - # We need to disable mprotect on two files when it builds Bug 694100.
977 - use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
978 -
979 - default
980 -}
981 -
982 -src_configure() {
983 - xdg_environment_reset
984 -
985 - local myconf=(
986 - --shared-cares --shared-libuv --shared-nghttp2 --shared-zlib
987 - )
988 - use debug && myconf+=( --debug )
989 - use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
990 - use inspector || myconf+=( --without-inspector )
991 - use npm || myconf+=( --without-npm )
992 - use snapshot || myconf+=( --without-node-snapshot )
993 - if use ssl; then
994 - use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
995 - else
996 - myconf+=( --without-ssl )
997 - fi
998 -
999 - local myarch=""
1000 - case ${ABI} in
1001 - amd64) myarch="x64";;
1002 - arm) myarch="arm";;
1003 - arm64) myarch="arm64";;
1004 - ppc64) myarch="ppc64";;
1005 - x32) myarch="x32";;
1006 - x86) myarch="ia32";;
1007 - *) myarch="${ABI}";;
1008 - esac
1009 -
1010 - GYP_DEFINES="linux_use_gold_flags=0
1011 - linux_use_bundled_binutils=0
1012 - linux_use_bundled_gold=0" \
1013 - "${EPYTHON}" configure.py \
1014 - --prefix="${EPREFIX}"/usr \
1015 - --dest-cpu=${myarch} \
1016 - $(use_with systemtap dtrace) \
1017 - "${myconf[@]}" || die
1018 -}
1019 -
1020 -src_compile() {
1021 - emake -C out
1022 -}
1023 -
1024 -src_install() {
1025 - local LIBDIR="${ED}/usr/$(get_libdir)"
1026 - default
1027 -
1028 - pax-mark -m "${ED}"/usr/bin/node
1029 -
1030 - # set up a symlink structure that node-gyp expects..
1031 - dodir /usr/include/node/deps/{v8,uv}
1032 - dosym . /usr/include/node/src
1033 - for var in deps/{uv,v8}/include; do
1034 - dosym ../.. /usr/include/node/${var}
1035 - done
1036 -
1037 - if use doc; then
1038 - docinto html
1039 - dodoc -r "${S}"/doc/*
1040 - fi
1041 -
1042 - if use npm; then
1043 - dodir /etc/npm
1044 -
1045 - # Install bash completion for `npm`
1046 - # We need to temporarily replace default config path since
1047 - # npm otherwise tries to write outside of the sandbox
1048 - local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
1049 - sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
1050 - local tmp_npm_completion_file="$(emktemp)"
1051 - "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
1052 - newbashcomp "${tmp_npm_completion_file}" npm
1053 - sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
1054 -
1055 - # Move man pages
1056 - doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
1057 -
1058 - # Clean up
1059 - rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
1060 - rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
1061 -
1062 - local find_exp="-or -name"
1063 - local find_name=()
1064 - for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
1065 - ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
1066 - "*.md" "*.markdown" "*.bat" "*.cmd"; do
1067 - find_name+=( ${find_exp} "${match}" )
1068 - done
1069 -
1070 - # Remove various development and/or inappropriate files and
1071 - # useless docs of dependend packages.
1072 - find "${LIBDIR}"/node_modules \
1073 - \( -type d -name examples \) -or \( -type f \( \
1074 - -iname "LICEN?E*" \
1075 - "${find_name[@]}" \
1076 - \) \) -exec rm -rf "{}" \;
1077 - fi
1078 -
1079 - mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
1080 -}
1081 -
1082 -src_test() {
1083 - out/${BUILDTYPE}/cctest || die
1084 - "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
1085 -}