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: Mon, 11 Dec 2017 10:22:17
Message-Id: 1512987731.86d07f1c0a4a555dba0bd6c379452d3b02137423.jer@gentoo
1 commit: 86d07f1c0a4a555dba0bd6c379452d3b02137423
2 Author: Jeroen Roovers <jer <AT> gentoo <DOT> org>
3 AuthorDate: Mon Dec 11 10:20:28 2017 +0000
4 Commit: Jeroen Roovers <jer <AT> gentoo <DOT> org>
5 CommitDate: Mon Dec 11 10:22:11 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86d07f1c
7
8 net-libs/nodejs: Old.
9
10 Package-Manager: Portage-2.3.17, Repoman-2.3.6
11
12 net-libs/nodejs/Manifest | 3 -
13 net-libs/nodejs/nodejs-8.9.1-r1.ebuild | 203 ---------------------------------
14 net-libs/nodejs/nodejs-8.9.2.ebuild | 203 ---------------------------------
15 net-libs/nodejs/nodejs-9.2.0-r1.ebuild | 203 ---------------------------------
16 4 files changed, 612 deletions(-)
17
18 diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
19 index c7f07a90a2b..7e2a0b26dc5 100644
20 --- a/net-libs/nodejs/Manifest
21 +++ b/net-libs/nodejs/Manifest
22 @@ -2,8 +2,5 @@ DIST node-v0.12.17.tar.gz 19938029 BLAKE2B 0118fb016c70afc9940c3b9e2fbed9fd3a56a
23 DIST node-v4.8.5.tar.xz 13316060 BLAKE2B fb32f176b9d4add3e9695f0bee7ebd0bba66770d479b1fade572de4694566603f08875da6ff97a1904edd1156708b58670fb1c4717e213aab6ad44ae5d470f40 SHA512 64d936ca14648b5648dedb41f2ee8d39466788762d335fbfc9ce4cb7484d05b6c24ad912fb4b1579a08f466be50b129a96be700fd89cbca5e1de84baa63ddd12
24 DIST node-v6.11.5.tar.xz 15699404 BLAKE2B ba2df91bf5ef38cedb60b42919cf56f16807e619a81876fc92a5741e49da7ec91c4239d00f549c5e80d0bb8282bb9b396dd984507916cd18d61b403a3a7cef94 SHA512 62490725ef7957294c1bddf21ef0626c7472876791210168116501255ecee58457e9de9b044e10033706243299bbfd1495efeca169596fbf26f5eeba6d8fa4c9
25 DIST node-v6.9.4.tar.xz 15519264 BLAKE2B 4dfad88b06b209272b8468501cc3c87c40425781fb55011ee93326555c2df88a166ffaff1877563668e06389703053849361739556f1bc87c1e2386d48b9542e SHA512 86d3e2889031c2b50c021bd3fd63194c2c22c44291d51dff1b5e1652b01853c09d2880c2f58fdad062e3e2a3f637a3f0d78dac66b835b676790cf272e64f8dce
26 -DIST node-v8.9.1.tar.xz 18290848 BLAKE2B b2a89d759bd19df6a6ea8db31ab3e63d111f24d9e00dbd8cdfc2d5d89a56ee7789c51b936516cdbce8384cc91591f4c1fb1eb0f2b3c18148a9211168cfe8121f SHA512 e1d93def34c1b91de90b807031e2f313661658cd045d44d290950190b10512770df05cb92e9657bab7ad6654d3359364193567cf693ddb2b3574d2a48e4ee256
27 -DIST node-v8.9.2.tar.xz 18294828 BLAKE2B dab8389814baa3b965050aa15f70410a1de376431d5be1026176ddccf44c94068e6ce724b3b0f0d4fb33fc16cb91ca91177926c1efed1453c200799da4ccea51 SHA512 94d442c69eea1548281bd068a6dd1fb2a8ccddda3615dd2a364e7f9095554f6d114e3aeba0034198cfa3e0782506a36c56a7c75a86a099478ca456d15fee0da7
28 DIST node-v8.9.3.tar.xz 18298212 BLAKE2B 7d19fcb77c496fb3aa717d426a3db4630e382738f0fe3273bba3137814470a5fe5e9593c18934cfd62816a0ac33d195eb241c810f4756d84eaa8f974606a485b SHA512 7bd037189925387bfd1339eef5be9af10af0a063914b4cdb2a1f3befec2e76eb566f7d14874b8c70a02172ebeb4d1c1fdbb0715ca8f18b0b5711a38b30214bc8
29 -DIST node-v9.2.0.tar.xz 18347108 BLAKE2B ff98445ac3e7649b4c6fde3a2fe8375e541f7e120d0b2dbd39a07f3953784793752a927c99a74da50f34cfe1447672f8b14af84a56e899fd46e52b9a7f8d19bc SHA512 3335a2ec17f4698bda58f2a2c9548546912b9a4109c0bff0ffc57bca14d40101bcc00356231c95c08733860286ac340e227ca79debac581835f84ae3967cdb4b
30 DIST node-v9.2.1.tar.xz 18346796 BLAKE2B 8fe82a9b50636fef21f9bba05e89381f6785f18599adb5183d4276df4d0e5b2a4d1bb3d8137143fb87d8638ce82f6812ff237764f7b76f1bee65199a93c91e88 SHA512 379a340186c8299df02a90dce730250d46b502ef58ca4720ede48a5053d0f1e6ee958003dd9e3c0b76f4575980217d9dc5a9cd93a2a4e58da324d04d6d5edc7e
31
32 diff --git a/net-libs/nodejs/nodejs-8.9.1-r1.ebuild b/net-libs/nodejs/nodejs-8.9.1-r1.ebuild
33 deleted file mode 100644
34 index e3f1fec1f46..00000000000
35 --- a/net-libs/nodejs/nodejs-8.9.1-r1.ebuild
36 +++ /dev/null
37 @@ -1,203 +0,0 @@
38 -# Copyright 1999-2017 Gentoo Foundation
39 -# Distributed under the terms of the GNU General Public License v2
40 -
41 -EAPI=6
42 -RESTRICT="test"
43 -
44 -PYTHON_COMPAT=( python2_7 )
45 -PYTHON_REQ_USE="threads"
46 -
47 -inherit bash-completion-r1 eutils flag-o-matic pax-utils python-single-r1 toolchain-funcs
48 -
49 -DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
50 -HOMEPAGE="https://nodejs.org/"
51 -SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
52 -
53 -LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
54 -SLOT="0"
55 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
56 -IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl systemtap test"
57 -REQUIRED_USE="
58 - ${PYTHON_REQUIRED_USE}
59 - inspector? ( icu ssl )
60 -"
61 -
62 -RDEPEND="
63 - >=dev-libs/libuv-1.15.0:=
64 - >=net-libs/http-parser-2.7.0:=
65 - >=net-libs/nghttp2-1.25.0
66 - sys-libs/zlib
67 - icu? ( >=dev-libs/icu-56:= )
68 - npm? ( ${PYTHON_DEPS} )
69 - ssl? ( >=dev-libs/openssl-1.0.2g:0=[-bindist] )
70 -"
71 -DEPEND="${RDEPEND}
72 - ${PYTHON_DEPS}
73 - systemtap? ( dev-util/systemtap )
74 - test? ( net-misc/curl )"
75 -
76 -S="${WORKDIR}/node-v${PV}"
77 -
78 -PATCHES=(
79 - "${FILESDIR}"/gentoo-global-npm-config.patch
80 - "${FILESDIR}"/nodejs-8.9.0-shared-nghttp2.patch
81 -)
82 -
83 -pkg_pretend() {
84 - (use x86 && ! use cpu_flags_x86_sse2) && \
85 - die "Your CPU doesn't support the required SSE2 instruction."
86 -
87 - ( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
88 - die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
89 -}
90 -
91 -src_prepare() {
92 - tc-export CC CXX PKG_CONFIG
93 - export V=1
94 - export BUILDTYPE=Release
95 -
96 - # fix compilation on Darwin
97 - # https://code.google.com/p/gyp/issues/detail?id=260
98 - sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
99 -
100 - # make sure we use python2.* while using gyp
101 - sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
102 - sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
103 -
104 - # less verbose install output (stating the same as portage, basically)
105 - sed -i -e "/print/d" tools/install.py || die
106 -
107 - # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
108 - local LIBDIR=$(get_libdir)
109 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
110 - sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js deps/npm/lib/npm.js || die
111 -
112 - # Avoid writing a depfile, not useful
113 - sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
114 -
115 - sed -i -e "/'-O3'/d" common.gypi deps/v8/gypfiles/toolchain.gypi || die
116 -
117 - # Avoid a test that I've only been able to reproduce from emerge. It doesnt
118 - # seem sandbox related either (invoking it from a sandbox works fine).
119 - # The issue is that no stdin handle is openened when asked for one.
120 - # It doesn't really belong upstream , so it'll just be removed until someone
121 - # with more gentoo-knowledge than me (jbergstroem) figures it out.
122 - rm test/parallel/test-stdout-close-unref.js || die
123 -
124 - # debug builds. change install path, remove optimisations and override buildtype
125 - if use debug; then
126 - sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
127 - BUILDTYPE=Debug
128 - fi
129 -
130 - default
131 -}
132 -
133 -src_configure() {
134 - local myconf=( --shared-http-parser --shared-libuv --shared-nghttp2 --shared-zlib )
135 - use debug && myconf+=( --debug )
136 - use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
137 - use inspector || myconf+=( --without-inspector )
138 - use npm || myconf+=( --without-npm )
139 - use snapshot && myconf+=( --with-snapshot )
140 - use ssl && myconf+=( --shared-openssl ) || myconf+=( --without-ssl )
141 -
142 - local myarch=""
143 - case ${ABI} in
144 - amd64) myarch="x64";;
145 - arm) myarch="arm";;
146 - arm64) myarch="arm64";;
147 - ppc64) myarch="ppc64";;
148 - x32) myarch="x32";;
149 - x86) myarch="ia32";;
150 - *) myarch="${ABI}";;
151 - esac
152 -
153 - GYP_DEFINES="linux_use_gold_flags=0
154 - linux_use_bundled_binutils=0
155 - linux_use_bundled_gold=0" \
156 - "${PYTHON}" configure \
157 - --prefix="${EPREFIX}"/usr \
158 - --dest-cpu=${myarch} \
159 - $(use_with systemtap dtrace) \
160 - "${myconf[@]}" || die
161 -}
162 -
163 -src_compile() {
164 - emake -C out mksnapshot
165 - pax-mark m "out/${BUILDTYPE}/mksnapshot"
166 - emake -C out
167 -}
168 -
169 -src_install() {
170 - local LIBDIR="${ED}/usr/$(get_libdir)"
171 - emake install DESTDIR="${D}"
172 - pax-mark -m "${ED}"usr/bin/node
173 -
174 - # set up a symlink structure that node-gyp expects..
175 - dodir /usr/include/node/deps/{v8,uv}
176 - dosym . /usr/include/node/src
177 - for var in deps/{uv,v8}/include; do
178 - dosym ../.. /usr/include/node/${var}
179 - done
180 -
181 - if use doc; then
182 - # Patch docs to make them offline readable
183 - for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
184 - sed -i '/fonts.googleapis.com/ d' $i;
185 - done
186 - # Install docs!
187 - dohtml -r "${S}"/doc/*
188 - fi
189 -
190 - if use npm; then
191 - dodir /etc/npm
192 -
193 - # Install bash completion for `npm`
194 - # We need to temporarily replace default config path since
195 - # npm otherwise tries to write outside of the sandbox
196 - local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
197 - sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
198 - local tmp_npm_completion_file="$(emktemp)"
199 - "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
200 - newbashcomp "${tmp_npm_completion_file}" npm
201 - sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
202 -
203 - # Move man pages
204 - doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
205 -
206 - # Clean up
207 - rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
208 - rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
209 -
210 - local find_exp="-or -name"
211 - local find_name=()
212 - for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
213 - ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
214 - "*.md" "*.markdown" "*.bat" "*.cmd"; do
215 - find_name+=( ${find_exp} "${match}" )
216 - done
217 -
218 - # Remove various development and/or inappropriate files and
219 - # useless docs of dependend packages.
220 - find "${LIBDIR}"/node_modules \
221 - \( -type d -name examples \) -or \( -type f \( \
222 - -iname "LICEN?E*" \
223 - "${find_name[@]}" \
224 - \) \) -exec rm -rf "{}" \;
225 - fi
226 -}
227 -
228 -src_test() {
229 - out/${BUILDTYPE}/cctest || die
230 - "${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
231 -}
232 -
233 -pkg_postinst() {
234 - einfo "The global npm config lives in /etc/npm. This deviates slightly"
235 - einfo "from upstream which otherwise would have it live in /usr/etc/."
236 - einfo ""
237 - einfo "Protip: When using node-gyp to install native modules, you can"
238 - einfo "avoid having to download extras by doing the following:"
239 - einfo "$ node-gyp --nodedir /usr/include/node <command>"
240 -}
241
242 diff --git a/net-libs/nodejs/nodejs-8.9.2.ebuild b/net-libs/nodejs/nodejs-8.9.2.ebuild
243 deleted file mode 100644
244 index e3f1fec1f46..00000000000
245 --- a/net-libs/nodejs/nodejs-8.9.2.ebuild
246 +++ /dev/null
247 @@ -1,203 +0,0 @@
248 -# Copyright 1999-2017 Gentoo Foundation
249 -# Distributed under the terms of the GNU General Public License v2
250 -
251 -EAPI=6
252 -RESTRICT="test"
253 -
254 -PYTHON_COMPAT=( python2_7 )
255 -PYTHON_REQ_USE="threads"
256 -
257 -inherit bash-completion-r1 eutils flag-o-matic pax-utils python-single-r1 toolchain-funcs
258 -
259 -DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
260 -HOMEPAGE="https://nodejs.org/"
261 -SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
262 -
263 -LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
264 -SLOT="0"
265 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
266 -IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl systemtap test"
267 -REQUIRED_USE="
268 - ${PYTHON_REQUIRED_USE}
269 - inspector? ( icu ssl )
270 -"
271 -
272 -RDEPEND="
273 - >=dev-libs/libuv-1.15.0:=
274 - >=net-libs/http-parser-2.7.0:=
275 - >=net-libs/nghttp2-1.25.0
276 - sys-libs/zlib
277 - icu? ( >=dev-libs/icu-56:= )
278 - npm? ( ${PYTHON_DEPS} )
279 - ssl? ( >=dev-libs/openssl-1.0.2g:0=[-bindist] )
280 -"
281 -DEPEND="${RDEPEND}
282 - ${PYTHON_DEPS}
283 - systemtap? ( dev-util/systemtap )
284 - test? ( net-misc/curl )"
285 -
286 -S="${WORKDIR}/node-v${PV}"
287 -
288 -PATCHES=(
289 - "${FILESDIR}"/gentoo-global-npm-config.patch
290 - "${FILESDIR}"/nodejs-8.9.0-shared-nghttp2.patch
291 -)
292 -
293 -pkg_pretend() {
294 - (use x86 && ! use cpu_flags_x86_sse2) && \
295 - die "Your CPU doesn't support the required SSE2 instruction."
296 -
297 - ( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
298 - die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
299 -}
300 -
301 -src_prepare() {
302 - tc-export CC CXX PKG_CONFIG
303 - export V=1
304 - export BUILDTYPE=Release
305 -
306 - # fix compilation on Darwin
307 - # https://code.google.com/p/gyp/issues/detail?id=260
308 - sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
309 -
310 - # make sure we use python2.* while using gyp
311 - sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
312 - sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
313 -
314 - # less verbose install output (stating the same as portage, basically)
315 - sed -i -e "/print/d" tools/install.py || die
316 -
317 - # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
318 - local LIBDIR=$(get_libdir)
319 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
320 - sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js deps/npm/lib/npm.js || die
321 -
322 - # Avoid writing a depfile, not useful
323 - sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
324 -
325 - sed -i -e "/'-O3'/d" common.gypi deps/v8/gypfiles/toolchain.gypi || die
326 -
327 - # Avoid a test that I've only been able to reproduce from emerge. It doesnt
328 - # seem sandbox related either (invoking it from a sandbox works fine).
329 - # The issue is that no stdin handle is openened when asked for one.
330 - # It doesn't really belong upstream , so it'll just be removed until someone
331 - # with more gentoo-knowledge than me (jbergstroem) figures it out.
332 - rm test/parallel/test-stdout-close-unref.js || die
333 -
334 - # debug builds. change install path, remove optimisations and override buildtype
335 - if use debug; then
336 - sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
337 - BUILDTYPE=Debug
338 - fi
339 -
340 - default
341 -}
342 -
343 -src_configure() {
344 - local myconf=( --shared-http-parser --shared-libuv --shared-nghttp2 --shared-zlib )
345 - use debug && myconf+=( --debug )
346 - use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
347 - use inspector || myconf+=( --without-inspector )
348 - use npm || myconf+=( --without-npm )
349 - use snapshot && myconf+=( --with-snapshot )
350 - use ssl && myconf+=( --shared-openssl ) || myconf+=( --without-ssl )
351 -
352 - local myarch=""
353 - case ${ABI} in
354 - amd64) myarch="x64";;
355 - arm) myarch="arm";;
356 - arm64) myarch="arm64";;
357 - ppc64) myarch="ppc64";;
358 - x32) myarch="x32";;
359 - x86) myarch="ia32";;
360 - *) myarch="${ABI}";;
361 - esac
362 -
363 - GYP_DEFINES="linux_use_gold_flags=0
364 - linux_use_bundled_binutils=0
365 - linux_use_bundled_gold=0" \
366 - "${PYTHON}" configure \
367 - --prefix="${EPREFIX}"/usr \
368 - --dest-cpu=${myarch} \
369 - $(use_with systemtap dtrace) \
370 - "${myconf[@]}" || die
371 -}
372 -
373 -src_compile() {
374 - emake -C out mksnapshot
375 - pax-mark m "out/${BUILDTYPE}/mksnapshot"
376 - emake -C out
377 -}
378 -
379 -src_install() {
380 - local LIBDIR="${ED}/usr/$(get_libdir)"
381 - emake install DESTDIR="${D}"
382 - pax-mark -m "${ED}"usr/bin/node
383 -
384 - # set up a symlink structure that node-gyp expects..
385 - dodir /usr/include/node/deps/{v8,uv}
386 - dosym . /usr/include/node/src
387 - for var in deps/{uv,v8}/include; do
388 - dosym ../.. /usr/include/node/${var}
389 - done
390 -
391 - if use doc; then
392 - # Patch docs to make them offline readable
393 - for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
394 - sed -i '/fonts.googleapis.com/ d' $i;
395 - done
396 - # Install docs!
397 - dohtml -r "${S}"/doc/*
398 - fi
399 -
400 - if use npm; then
401 - dodir /etc/npm
402 -
403 - # Install bash completion for `npm`
404 - # We need to temporarily replace default config path since
405 - # npm otherwise tries to write outside of the sandbox
406 - local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
407 - sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
408 - local tmp_npm_completion_file="$(emktemp)"
409 - "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
410 - newbashcomp "${tmp_npm_completion_file}" npm
411 - sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
412 -
413 - # Move man pages
414 - doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
415 -
416 - # Clean up
417 - rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
418 - rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
419 -
420 - local find_exp="-or -name"
421 - local find_name=()
422 - for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
423 - ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
424 - "*.md" "*.markdown" "*.bat" "*.cmd"; do
425 - find_name+=( ${find_exp} "${match}" )
426 - done
427 -
428 - # Remove various development and/or inappropriate files and
429 - # useless docs of dependend packages.
430 - find "${LIBDIR}"/node_modules \
431 - \( -type d -name examples \) -or \( -type f \( \
432 - -iname "LICEN?E*" \
433 - "${find_name[@]}" \
434 - \) \) -exec rm -rf "{}" \;
435 - fi
436 -}
437 -
438 -src_test() {
439 - out/${BUILDTYPE}/cctest || die
440 - "${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
441 -}
442 -
443 -pkg_postinst() {
444 - einfo "The global npm config lives in /etc/npm. This deviates slightly"
445 - einfo "from upstream which otherwise would have it live in /usr/etc/."
446 - einfo ""
447 - einfo "Protip: When using node-gyp to install native modules, you can"
448 - einfo "avoid having to download extras by doing the following:"
449 - einfo "$ node-gyp --nodedir /usr/include/node <command>"
450 -}
451
452 diff --git a/net-libs/nodejs/nodejs-9.2.0-r1.ebuild b/net-libs/nodejs/nodejs-9.2.0-r1.ebuild
453 deleted file mode 100644
454 index 782c1225204..00000000000
455 --- a/net-libs/nodejs/nodejs-9.2.0-r1.ebuild
456 +++ /dev/null
457 @@ -1,203 +0,0 @@
458 -# Copyright 1999-2017 Gentoo Foundation
459 -# Distributed under the terms of the GNU General Public License v2
460 -
461 -EAPI=6
462 -RESTRICT="test"
463 -
464 -PYTHON_COMPAT=( python2_7 )
465 -PYTHON_REQ_USE="threads"
466 -
467 -inherit bash-completion-r1 eutils flag-o-matic pax-utils python-single-r1 toolchain-funcs
468 -
469 -DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
470 -HOMEPAGE="https://nodejs.org/"
471 -SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
472 -
473 -LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
474 -SLOT="0"
475 -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
476 -IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl systemtap test"
477 -REQUIRED_USE="
478 - ${PYTHON_REQUIRED_USE}
479 - inspector? ( icu ssl )
480 -"
481 -
482 -RDEPEND="
483 - >=dev-libs/libuv-1.16.1:=
484 - >=net-libs/http-parser-2.7.0:=
485 - >=net-libs/nghttp2-1.25.0
486 - sys-libs/zlib
487 - icu? ( >=dev-libs/icu-59:= )
488 - npm? ( ${PYTHON_DEPS} )
489 - ssl? ( >=dev-libs/openssl-1.0.2g:0=[-bindist] )
490 -"
491 -DEPEND="${RDEPEND}
492 - ${PYTHON_DEPS}
493 - systemtap? ( dev-util/systemtap )
494 - test? ( net-misc/curl )"
495 -
496 -S="${WORKDIR}/node-v${PV}"
497 -
498 -PATCHES=(
499 - "${FILESDIR}"/gentoo-global-npm-config.patch
500 - "${FILESDIR}"/nodejs-9.2.0-shared-nghttp2.patch
501 -)
502 -
503 -pkg_pretend() {
504 - (use x86 && ! use cpu_flags_x86_sse2) && \
505 - die "Your CPU doesn't support the required SSE2 instruction."
506 -
507 - ( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
508 - die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
509 -}
510 -
511 -src_prepare() {
512 - tc-export CC CXX PKG_CONFIG
513 - export V=1
514 - export BUILDTYPE=Release
515 -
516 - # fix compilation on Darwin
517 - # https://code.google.com/p/gyp/issues/detail?id=260
518 - sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
519 -
520 - # make sure we use python2.* while using gyp
521 - sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp || die
522 - sed -i -e "s/|| 'python2'/|| '${EPYTHON}'/" deps/npm/node_modules/node-gyp/lib/configure.js || die
523 -
524 - # less verbose install output (stating the same as portage, basically)
525 - sed -i -e "/print/d" tools/install.py || die
526 -
527 - # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
528 - local LIBDIR=$(get_libdir)
529 - sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
530 - sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js deps/npm/lib/npm.js || die
531 -
532 - # Avoid writing a depfile, not useful
533 - sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
534 -
535 - sed -i -e "/'-O3'/d" common.gypi deps/v8/gypfiles/toolchain.gypi || die
536 -
537 - # Avoid a test that I've only been able to reproduce from emerge. It doesnt
538 - # seem sandbox related either (invoking it from a sandbox works fine).
539 - # The issue is that no stdin handle is openened when asked for one.
540 - # It doesn't really belong upstream , so it'll just be removed until someone
541 - # with more gentoo-knowledge than me (jbergstroem) figures it out.
542 - rm test/parallel/test-stdout-close-unref.js || die
543 -
544 - # debug builds. change install path, remove optimisations and override buildtype
545 - if use debug; then
546 - sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
547 - BUILDTYPE=Debug
548 - fi
549 -
550 - default
551 -}
552 -
553 -src_configure() {
554 - local myconf=( --shared-http-parser --shared-libuv --shared-nghttp2 --shared-zlib )
555 - use debug && myconf+=( --debug )
556 - use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
557 - use inspector || myconf+=( --without-inspector )
558 - use npm || myconf+=( --without-npm )
559 - use snapshot && myconf+=( --with-snapshot )
560 - use ssl && myconf+=( --shared-openssl ) || myconf+=( --without-ssl )
561 -
562 - local myarch=""
563 - case ${ABI} in
564 - amd64) myarch="x64";;
565 - arm) myarch="arm";;
566 - arm64) myarch="arm64";;
567 - ppc64) myarch="ppc64";;
568 - x32) myarch="x32";;
569 - x86) myarch="ia32";;
570 - *) myarch="${ABI}";;
571 - esac
572 -
573 - GYP_DEFINES="linux_use_gold_flags=0
574 - linux_use_bundled_binutils=0
575 - linux_use_bundled_gold=0" \
576 - "${PYTHON}" configure \
577 - --prefix="${EPREFIX}"/usr \
578 - --dest-cpu=${myarch} \
579 - $(use_with systemtap dtrace) \
580 - "${myconf[@]}" || die
581 -}
582 -
583 -src_compile() {
584 - emake -C out mksnapshot
585 - pax-mark m "out/${BUILDTYPE}/mksnapshot"
586 - emake -C out
587 -}
588 -
589 -src_install() {
590 - local LIBDIR="${ED}/usr/$(get_libdir)"
591 - emake install DESTDIR="${D}"
592 - pax-mark -m "${ED}"usr/bin/node
593 -
594 - # set up a symlink structure that node-gyp expects..
595 - dodir /usr/include/node/deps/{v8,uv}
596 - dosym . /usr/include/node/src
597 - for var in deps/{uv,v8}/include; do
598 - dosym ../.. /usr/include/node/${var}
599 - done
600 -
601 - if use doc; then
602 - # Patch docs to make them offline readable
603 - for i in `grep -rl 'fonts.googleapis.com' "${S}"/out/doc/api/*`; do
604 - sed -i '/fonts.googleapis.com/ d' $i;
605 - done
606 - # Install docs!
607 - dohtml -r "${S}"/doc/*
608 - fi
609 -
610 - if use npm; then
611 - dodir /etc/npm
612 -
613 - # Install bash completion for `npm`
614 - # We need to temporarily replace default config path since
615 - # npm otherwise tries to write outside of the sandbox
616 - local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
617 - sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
618 - local tmp_npm_completion_file="$(emktemp)"
619 - "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
620 - newbashcomp "${tmp_npm_completion_file}" npm
621 - sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
622 -
623 - # Move man pages
624 - doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
625 -
626 - # Clean up
627 - rm "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
628 - rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
629 -
630 - local find_exp="-or -name"
631 - local find_name=()
632 - for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
633 - ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
634 - "*.md" "*.markdown" "*.bat" "*.cmd"; do
635 - find_name+=( ${find_exp} "${match}" )
636 - done
637 -
638 - # Remove various development and/or inappropriate files and
639 - # useless docs of dependend packages.
640 - find "${LIBDIR}"/node_modules \
641 - \( -type d -name examples \) -or \( -type f \( \
642 - -iname "LICEN?E*" \
643 - "${find_name[@]}" \
644 - \) \) -exec rm -rf "{}" \;
645 - fi
646 -}
647 -
648 -src_test() {
649 - out/${BUILDTYPE}/cctest || die
650 - "${PYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
651 -}
652 -
653 -pkg_postinst() {
654 - einfo "The global npm config lives in /etc/npm. This deviates slightly"
655 - einfo "from upstream which otherwise would have it live in /usr/etc/."
656 - einfo ""
657 - einfo "Protip: When using node-gyp to install native modules, you can"
658 - einfo "avoid having to download extras by doing the following:"
659 - einfo "$ node-gyp --nodedir /usr/include/node <command>"
660 -}