commit:     0aa4857d463449637f99de886dfd72c671237de7
Author:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  6 02:20:37 2016 +0000
Commit:     Patrick Lauer <patrick <AT> gentoo <DOT> org>
CommitDate: Tue Dec  6 02:20:37 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0aa4857d

net-libs/nodejs: Bump 0.12

Package-Manager: portage-2.3.2

 net-libs/nodejs/Manifest              |   1 +
 net-libs/nodejs/nodejs-0.12.17.ebuild | 123 ++++++++++++++++++++++++++++++++++
 2 files changed, 124 insertions(+)

diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index 5e4eb3e..60aff45 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,4 +1,5 @@
 DIST node-v0.12.10.tar.gz 19572955 SHA256 
edbd3710512ec7518a3de4cabf9bfee6d12f278eef2e4b53422c7b063f6b976d SHA512 
d217f52dfedb5355df89b9c726f6bc68e53a713e6e005a66beefdbd20666b55770bab2eca6f39275aa1a64aca922a2a78808900ebaa4005eb21042a915413a7b
 WHIRLPOOL 
4fe3e370cc645672590483e4b388a37a82fb04dfbbcf16a7a9cc2c1a47600e650ae5712133b205c3067180305a61e76fde9a7b78ad53d25f8f07b97e86271751
+DIST node-v0.12.17.tar.gz 19938029 SHA256 
ddea5e253812f167608fbdda6ff29ffc30dc6f669cf2f6e4249938d28b9cd44d SHA512 
86c22b17f57018083b07096beeca10e6dfa7569b3d1a25a3b12dd82796db3c9536e6136e0dd0ff62b4de116413f3722b36ce396faa46d8640f80ab09ccfcbca7
 WHIRLPOOL 
5fba1f95de0a7dbda7e7649bc0f8553cd8595eb87cd27062efbdc59a54673e7e1e6f80191abede683a686043a81d82b76e141aa765b98e3dc39e015aca98e41f
 DIST node-v4.4.6.tar.xz 13211732 SHA256 
0f6bbfbea525469c91932b1aac35e0810e6bcda96f1c720e42a433942ee66106 SHA512 
b06219ab63de89eeb1268d677769cb17c8290555962b1cbfaafbede3d2dbefaafb455f32a611160fcfbf7400059fa79ec3f9c2f3287c8746669c05b42d7aaa7c
 WHIRLPOOL 
ffb1372193a72a2e1ae6e21c281a28e770443e36e5e349b48bf30e92b3f6f9d9ba901794eaf1f7c8eaf05c7365e1249bb210760fa26680ed13d1a6d8854c8ce8
 DIST node-v4.6.0.tar.xz 13295184 SHA256 
42910dbd34e49bfc40580e06753947c30d31101455a38e9f0343a23d67c0c694 SHA512 
d3e79f7e361af888955f311818c0d0401a29fd99a86fa125924b3f7891f209f84f4f662dba071c9bdbb3d11a3b3097274d95bdc4a51143a2e816400ff71b041f
 WHIRLPOOL 
011d1de801b87be413b7838e0b0ea216909bbe4a2d88a5045536d65d3b85cca64f9e94923859a65d8b6ed1fcbbf34a9463c7a8fc036ba1f0b902f8b4a07b83ac
 DIST node-v4.6.1.tar.xz 13295568 SHA256 
fe2a85df8758001878abb5bbaf17a6b6cdc12b3e465b1d3bace83b37fdf0345a SHA512 
4eb2acbe13ee2373922420e3238be63d2108dacba640438bddbdea12ec2de9c655f33db611e4c0654b66bf4fdb844a7b6554a823aac73171b17599096856abdb
 WHIRLPOOL 
a6d21cce7ab8c430528682f78a6e6492f753c87949b7b1bdc15dc02911559cd89deb45329c2ba32da57b776dd4feaabec8a3e7a59a78094cfb079261b6475c76

diff --git a/net-libs/nodejs/nodejs-0.12.17.ebuild 
b/net-libs/nodejs/nodejs-0.12.17.ebuild
new file mode 100644
index 00000000..e0e1b3e
--- /dev/null
+++ b/net-libs/nodejs/nodejs-0.12.17.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+# has known failures. sigh.
+RESTRICT="test"
+
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit pax-utils python-single-r1 toolchain-funcs
+
+DESCRIPTION="Evented IO for V8 Javascript"
+HOMEPAGE="http://nodejs.org/";
+SRC_URI="http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz";
+
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~x64-macos"
+IUSE="debug icu +npm +snapshot +ssl"
+
+RDEPEND="icu? ( dev-libs/icu )
+       ${PYTHON_DEPS}
+       ssl? ( dev-libs/openssl:0=[-bindist] )
+       >=net-libs/http-parser-2.3
+       >=dev-libs/libuv-1.4.2"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/node-v${PV}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+src_prepare() {
+       tc-export CC CXX PKG_CONFIG
+       export V=1 # Verbose build
+       export BUILDTYPE=Release
+
+       # fix compilation on Darwin
+       # https://code.google.com/p/gyp/issues/detail?id=260
+       sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || 
die
+
+       # make sure we use python2.* while using gyp
+       sed -i -e "s/python/${EPYTHON}/" deps/npm/node_modules/node-gyp/gyp/gyp 
|| die
+       sed -i -e "s/|| 'python'/|| '${EPYTHON}'/" 
deps/npm/node_modules/node-gyp/lib/configure.js || die
+
+       # less verbose install output (stating the same as portage, basically)
+       sed -i -e "/print/d" tools/install.py || die
+
+       # proper libdir, hat tip @ryanpcmcquen 
https://github.com/iojs/io.js/issues/504
+       local LIBDIR=$(get_libdir)
+       sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+       sed -i -e "s/'lib'/'${LIBDIR}'/" lib/module.js || die
+       sed -i -e "s|\"lib\"|\"${LIBDIR}\"|" deps/npm/lib/npm.js || die
+
+       # debug builds. change install path, remove optimisations and override 
buildtype
+       if use debug; then
+               sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+               BUILDTYPE=Debug
+       fi
+}
+
+src_configure() {
+       local myconf=()
+       local myarch=""
+       use debug && myconf+=( --debug )
+       use icu && myconf+=( --with-intl=system-icu )
+       use npm || myconf+=( --without-npm )
+       use snapshot || myconf+=( --without-snapshot )
+       use ssl || myconf+=( --without-ssl )
+
+       case ${ABI} in
+               x86) myarch="ia32";;
+               amd64) myarch="x64";;
+               arm) myarch="arm";;
+               *) die "Unrecognized ARCH ${ARCH}";;
+       esac
+
+       "${PYTHON}" configure \
+               --prefix="${EPREFIX}"/usr \
+               --dest-cpu=${myarch} \
+               --shared-openssl \
+               --shared-libuv \
+               --shared-http-parser \
+               --shared-zlib \
+               --without-dtrace \
+               "${myconf[@]}" || die
+}
+
+src_compile() {
+       emake -C out mksnapshot
+       pax-mark m "out/${BUILDTYPE}/mksnapshot"
+       emake -C out
+}
+
+src_install() {
+       local LIBDIR="${ED}/usr/$(get_libdir)"
+       emake install DESTDIR="${ED}" PREFIX=/usr
+       use npm && dodoc -r "${LIBDIR}"/node_modules/npm/html
+       rm -rf "${LIBDIR}"/node_modules/npm/{doc,html} || die
+       find "${LIBDIR}"/node_modules -type f -name "LICENSE*" -or -name 
"LICENCE*" -delete
+
+       # set up a symlink structure that npm expects..
+       dodir /usr/include/node/deps/{v8,uv}
+       dosym . /usr/include/node/src
+       for var in deps/{uv,v8}/include; do
+               dosym ../.. /usr/include/node/${var}
+       done
+
+       pax-mark -m "${ED}"/usr/bin/node
+}
+
+src_test() {
+       declare -xl TESTTYPE="${BUILDTYPE}"
+       "${PYTHON}" tools/test.py --mode=${TESTTYPE} -J message simple || die
+}
+
+pkg_postinst() {
+       einfo "When using node-gyp to install native modules, you can avoid"
+       einfo "having to download the full tarball by doing the following:"
+       einfo ""
+       einfo "node-gyp --nodedir /usr/include/node <command>"
+}

Reply via email to