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