forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
net-libs/nodejs: version bump to 4.2.2
Gentoo-Bug: 564594
- Loading branch information
Julian Ospald
committed
Nov 7, 2015
1 parent
1cdbf3d
commit 7f2c2ca
Showing
2 changed files
with
157 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
DIST node-v0.12.6.tar.gz 19750717 SHA256 7a3b5ac351973a9dee8edbf0684bc8d0dea44b231e42274ffb008141ffa19ad2 SHA512 a7f1c88d8df0f65d986e283b859466a34459f8ebdd3232f4906f5ebd53c1a019a553eadcc50bcb5fe8252441c567692b9ada36e8b158ed818971cd927bf1b29f WHIRLPOOL 3677bee6016647282e877f4676fc3731ca49d9b5ccda6d99f8fc3f16e56fcf30072adb494539b9714d0b3afb657457a16fecab682ab62fd501e789f008255380 | ||
DIST node-v0.12.7.tar.gz 20063992 SHA256 b23d64df051c9c969b0c583f802d5d71de342e53067127a5061415be7e12f39d SHA512 0c9cb7542530463e7703435c8d819949785c1c6497c6d98f9854ca615fe33a62f451833e856f0159b836a698b4dee5d165fa505bad5d474f664e1533090d8606 WHIRLPOOL 647391b8c49fda868c14bd4eb3089cac139f50e710ac6b141ea82e1013c4ff7d40cdb0e88d69604d06e3bd07775876c754211a2b099685cb7353ae5708812525 | ||
DIST node-v4.1.1.tar.xz 12818088 SHA256 f7ca9ceb0b7cc49b12f28a652c908a1f0ffbf34cec73ad0805fe717b14996bb9 SHA512 1b38df92f0349e3da6c50d90b74500bfdaac479d93ad68e5f8f49b3c865867df637a642086669ed5c0b6561cf02716ebddb53888bd1b82e6324bd42f70915680 WHIRLPOOL e6ab82b9f61c2ab3e43949a150e51d9505ef72833516bc60e6a929a3c403928ec6fe3ee2bb55cf6d73eea38defcae7abe2935a44ff27b80e0cd8709d4a55c629 | ||
DIST node-v4.2.2.tar.xz 12791572 SHA256 b016c3d2f434f86d8d3da9ad90ffb2fd35b32223e9081e3d4f67b8de0370ce69 SHA512 fe6563ca641581afa4ba7fda1b25175eae474aeb196504cd82a6486bf9dfe6c753c554b31d9aa3b6453c509aa792615e897343de69a0b8bfd26759efaea2e1cb WHIRLPOOL 2c2927697370c17cc3178e8dfbfe5819f5a406f84b28da4813507033b14d20616fe610e161618a6aea1463ac499c2d5a559360b97f236005db60ae9879ea8167 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,156 @@ | ||
# Copyright 1999-2015 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=5 | ||
|
||
PYTHON_COMPAT=( python2_7 ) | ||
|
||
inherit flag-o-matic 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.xz" | ||
|
||
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-55:= ) | ||
${PYTHON_DEPS} | ||
>=net-libs/http-parser-2.5:= | ||
>=dev-libs/libuv-1.6.1:= | ||
>=dev-libs/openssl-1.0.2d:0=[-bindist] | ||
sys-libs/zlib | ||
" | ||
DEPEND="${RDEPEND} | ||
!!net-libs/iojs" | ||
|
||
S="${WORKDIR}/node-v${PV}" | ||
REQUIRED_USE="${PYTHON_REQUIRED_USE}" | ||
|
||
pkg_pretend() { | ||
if [[ ${MERGE_TYPE} != "binary" ]] ; then | ||
if ! test-flag-CXX -std=c++11 ; then | ||
die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer." | ||
fi | ||
fi | ||
} | ||
|
||
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 | ||
|
||
# Avoid a test that I've only been able to reproduce from emerge. It doesnt | ||
# seem sandbox related either (invoking it from a sandbox works fine). | ||
# The issue is that no stdin handle is openened when asked for one. | ||
# It doesn't really belong upstream , so it'll just be removed until someone | ||
# with more gentoo-knowledge than me (jbergstroem) figures it out. | ||
rm test/parallel/test-stdout-close-unref.js || die | ||
# AssertionError: 1 == 2 (on line 97) | ||
rm test/parallel/test-cluster-disconnect.js || die | ||
# AssertionError: Client never errored | ||
rm test/parallel/test-tls-hello-parser-failure.js || die | ||
# --- TIMEOUT --- | ||
rm test/parallel/test-child-process-fork-net.js \ | ||
test/parallel/test-child-process-fork-net2.js \ | ||
test/parallel/test-child-process-recv-handle.js \ | ||
test/parallel/test-cluster-dgram-1.js \ | ||
test/parallel/test-cluster-send-deadlock.js \ | ||
test/parallel/test-cluster-shared-handle-bind-error.js \ | ||
test/parallel/test-dgram-exclusive-implicit-bind.js \ | ||
test/parallel/test-tls-ticket-cluster.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 | ||
|
||
epatch_user | ||
} | ||
|
||
src_configure() { | ||
local myarch="" | ||
local myconf+=( --shared-openssl --shared-libuv --shared-http-parser --shared-zlib ) | ||
use npm || myconf+=( --without-npm ) | ||
use icu && myconf+=( --with-intl=system-icu ) | ||
use snapshot && myconf+=( --with-snapshot ) | ||
use ssl || myconf+=( --without-ssl ) | ||
use debug && myconf+=( --debug ) | ||
|
||
case ${ABI} in | ||
x86) myarch="ia32";; | ||
amd64) myarch="x64";; | ||
x32) myarch="x32";; | ||
arm) myarch="arm";; | ||
arm64) myarch="arm64";; | ||
*) die "Unrecognized ARCH ${ARCH}";; | ||
esac | ||
|
||
GYP_DEFINES="linux_use_gold_flags=0 | ||
linux_use_bundled_binutils=0 | ||
linux_use_bundled_gold=0" \ | ||
"${PYTHON}" configure \ | ||
--prefix="${EPREFIX}"/usr \ | ||
--dest-cpu=${myarch} \ | ||
--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 | ||
if use npm; then | ||
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 || die | ||
fi | ||
|
||
# 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() { | ||
out/${BUILDTYPE}/cctest || die | ||
declare -xl TESTTYPE="${BUILDTYPE}" | ||
"${PYTHON}" tools/test.py --mode=${TESTTYPE} -J message parallel sequential || 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>" | ||
} |