summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-libs/nodejs
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-libs/nodejs')
-rw-r--r--net-libs/nodejs/Manifest5
-rw-r--r--net-libs/nodejs/files/nodejs-v8-3.5.patch11
-rw-r--r--net-libs/nodejs/metadata.xml17
-rw-r--r--net-libs/nodejs/nodejs-0.10.30.ebuild73
-rw-r--r--net-libs/nodejs/nodejs-0.10.38.ebuild73
-rw-r--r--net-libs/nodejs/nodejs-0.12.6.ebuild124
-rw-r--r--net-libs/nodejs/nodejs-0.12.7.ebuild124
-rw-r--r--net-libs/nodejs/nodejs-0.8.28.ebuild72
8 files changed, 499 insertions, 0 deletions
diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
new file mode 100644
index 000000000000..9258e7dcc7be
--- /dev/null
+++ b/net-libs/nodejs/Manifest
@@ -0,0 +1,5 @@
+DIST node-v0.10.30.tar.gz 13527922 SHA256 3dfcbd307f5f5f266ef174e1443107da853cd3d0aa0b2493a44235d5908625d2 SHA512 7d82eba5bab8b0ac67f6773a03f650dee67bf42fe3b0b2cc5ca581e00170c000a63e0f7ba966ce31e6f2202af7b1179c44b138932f55df39f85b48389097c240 WHIRLPOOL 71a34e115d604669974677d05ac201bc23a495e5e60944bb1f62659d3c1c2a3d689c8a0650a94a6ca0531bb9a5bd9b0c411d52e472cfafedf0709dc872d6db93
+DIST node-v0.10.38.tar.gz 14451274 SHA256 513da8ed5e48abefdfab664f1cabc160238d314a0481148804aff8fc6552b78b SHA512 8586eb4ba67ba6c375296341fb340d48d4f6684f7e62ac54e539e6d76ef9daa86ae3eb6ac2f83dc489f47fe9ac81d4d5c2b50b07c9ef7d2e4c1f4324634d5861 WHIRLPOOL b18012b790d985f99ebbe49e6f04457c2ec3810f5de14e07e1899df6af20e7318b9e3a980890f2213db726f1d0d497ee79307060875c8c66bf98108d0aa6a1a9
+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-v0.8.28.tar.gz 13187411 SHA256 50e9a4282a741c923bd41c3ebb76698edbd7b1324024fe70cedc1e34b782d44f SHA512 6b12fa374ca506e2f7cac3cccd9144072a8908e6e7854b7e62b7b0e05b5b687fd16a941377acbb874c7798126695cc3d9263407f24a54e532b5d9487ee9429e6 WHIRLPOOL 15a2482e59e713b1e81497a784ac8dc525f8a7888e655c993cc820c54f7753c3359e42fcb16a435b071da7305071a1f0a5f898933b5d5222bab18f9ed1ef3986
diff --git a/net-libs/nodejs/files/nodejs-v8-3.5.patch b/net-libs/nodejs/files/nodejs-v8-3.5.patch
new file mode 100644
index 000000000000..87a8eeda0a57
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-v8-3.5.patch
@@ -0,0 +1,11 @@
+--- src/node_buffer.cc 2011-10-25 08:45:00.665600749 +0200
++++ src/node_buffer.cc 2011-10-25 08:45:31.168622565 +0200
+@@ -478,7 +478,7 @@
+
+ if (written > 0 && p[written-1] == '\0' && char_written == length) {
+ uint16_t last_char;
+- s->Write(&last_char, length - 1, 1, String::NO_HINTS);
++ s->Write(&last_char, length - 1, 1, String::NO_OPTIONS);
+ if (last_char != 0 || written > s->Utf8Length()) {
+ written--;
+ }
diff --git a/net-libs/nodejs/metadata.xml b/net-libs/nodejs/metadata.xml
new file mode 100644
index 000000000000..4dbbc90e24fd
--- /dev/null
+++ b/net-libs/nodejs/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>bugs@bergstroem.nu</email>
+ <name>Johan Bergstroem</name>
+ </maintainer>
+ <maintainer>
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <use>
+ <flag name='npm'>Enable NPM package manager</flag>
+ <flag name='snapshot'>Enable snapshot creation for faster startup</flag>
+ </use>
+</pkgmetadata>
diff --git a/net-libs/nodejs/nodejs-0.10.30.ebuild b/net-libs/nodejs/nodejs-0.10.30.ebuild
new file mode 100644
index 000000000000..17b68d5a98dc
--- /dev/null
+++ b/net-libs/nodejs/nodejs-0.10.30.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 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 )
+
+inherit python-any-r1 pax-utils 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="+npm +snapshot"
+
+RDEPEND="dev-libs/openssl"
+DEPEND="${PYTHON_DEPS}
+ ${RDEPEND}"
+
+S=${WORKDIR}/node-v${PV}
+
+src_prepare() {
+ # fix compilation on Darwin
+ # http://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/python2/" deps/npm/node_modules/node-gyp/gyp/gyp || die
+
+ # less verbose install output (stating the same as portage, basically)
+ sed -i -e "/print/d" tools/install.py || die
+
+ tc-export CC CXX
+}
+
+src_configure() {
+ local myconf=""
+ ! use npm && myconf="--without-npm"
+ ! use snapshot && myconf="${myconf} --without-snapshot"
+
+ "${PYTHON}" configure --prefix="${EPREFIX}"/usr \
+ --shared-openssl --shared-zlib --without-dtrace ${myconf} || die
+}
+
+src_compile() {
+ local V=1
+ export V
+ emake out/Makefile
+ emake -C out mksnapshot
+ pax-mark m out/Release/mksnapshot
+ emake
+}
+
+src_install() {
+ "${PYTHON}" tools/install.py install "${D}"
+
+ use npm && dohtml -r "${ED}"/usr/lib/node_modules/npm/html/*
+ rm -rf "${ED}"/usr/lib/node_modules/npm/doc "${ED}"/usr/lib/node_modules/npm/html
+ rm -rf "${ED}"/usr/lib/dtrace
+
+ pax-mark -m "${ED}"/usr/bin/node
+}
+
+src_test() {
+ "${PYTHON}" tools/test.py --mode=release simple message || die
+}
diff --git a/net-libs/nodejs/nodejs-0.10.38.ebuild b/net-libs/nodejs/nodejs-0.10.38.ebuild
new file mode 100644
index 000000000000..369b202008e0
--- /dev/null
+++ b/net-libs/nodejs/nodejs-0.10.38.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 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 )
+
+inherit python-any-r1 pax-utils 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="+npm +snapshot"
+
+RDEPEND="dev-libs/openssl"
+DEPEND="${PYTHON_DEPS}
+ ${RDEPEND}"
+
+S=${WORKDIR}/node-v${PV}
+
+src_prepare() {
+ # fix compilation on Darwin
+ # http://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/python2/" deps/npm/node_modules/node-gyp/gyp/gyp || die
+
+ # less verbose install output (stating the same as portage, basically)
+ sed -i -e "/print/d" tools/install.py || die
+
+ tc-export CC CXX
+}
+
+src_configure() {
+ local myconf=""
+ ! use npm && myconf="--without-npm"
+ ! use snapshot && myconf="${myconf} --without-snapshot"
+
+ "${PYTHON}" configure --prefix="${EPREFIX}"/usr \
+ --shared-openssl --shared-zlib --without-dtrace ${myconf} || die
+}
+
+src_compile() {
+ local V=1
+ export V
+ emake out/Makefile
+ emake -C out mksnapshot
+ pax-mark m out/Release/mksnapshot
+ emake
+}
+
+src_install() {
+ "${PYTHON}" tools/install.py install "${D}"
+
+ use npm && dohtml -r "${ED}"/usr/lib/node_modules/npm/html/*
+ rm -rf "${ED}"/usr/lib/node_modules/npm/doc "${ED}"/usr/lib/node_modules/npm/html
+ rm -rf "${ED}"/usr/lib/dtrace
+
+ pax-mark -m "${ED}"/usr/bin/node
+}
+
+src_test() {
+ "${PYTHON}" tools/test.py --mode=release simple message || die
+}
diff --git a/net-libs/nodejs/nodejs-0.12.6.ebuild b/net-libs/nodejs/nodejs-0.12.6.ebuild
new file mode 100644
index 000000000000..d2f5283451fc
--- /dev/null
+++ b/net-libs/nodejs/nodejs-0.12.6.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2015 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}
+ !!net-libs/iojs"
+
+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
+ # http://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>"
+}
diff --git a/net-libs/nodejs/nodejs-0.12.7.ebuild b/net-libs/nodejs/nodejs-0.12.7.ebuild
new file mode 100644
index 000000000000..a1409371d6dd
--- /dev/null
+++ b/net-libs/nodejs/nodejs-0.12.7.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2015 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}
+ !!net-libs/iojs"
+
+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
+ # http://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>"
+}
diff --git a/net-libs/nodejs/nodejs-0.8.28.ebuild b/net-libs/nodejs/nodejs-0.8.28.ebuild
new file mode 100644
index 000000000000..4680955cc1d4
--- /dev/null
+++ b/net-libs/nodejs/nodejs-0.8.28.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_DEPEND="2"
+
+inherit python eutils multilib pax-utils
+
+# omgwtf
+RESTRICT="test"
+
+DESCRIPTION="Evented IO for V8 Javascript"
+HOMEPAGE="http://nodejs.org/"
+SRC_URI="http://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~x64-macos"
+IUSE=""
+
+DEPEND="dev-libs/openssl"
+RDEPEND="${PYTHON_DEPS}
+ ${DEPEND}"
+
+S=${WORKDIR}/node-v${PV}
+
+pkg_setup() {
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ # fix compilation on Darwin
+ # http://code.google.com/p/gyp/issues/detail?id=260
+ sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
+ python_convert_shebangs 2 tools/node-waf || die
+}
+
+src_configure() {
+ # this is an autotools lookalike confuserator
+ ./configure --prefix="${EPREFIX}"/usr --openssl-use-sys --shared-zlib || die
+}
+
+src_compile() {
+ emake || die
+}
+
+src_install() {
+ local MYLIB=$(get_libdir)
+ mkdir -p "${ED}"/usr/include/node
+ mkdir -p "${ED}"/usr/bin
+ mkdir -p "${ED}"/usr/"${MYLIB}"/node_modules/npm
+ mkdir -p "${ED}"/usr/"${MYLIB}"/node
+ cp 'src/eio-emul.h' 'src/ev-emul.h' 'src/node.h' 'src/node_buffer.h' 'src/node_object_wrap.h' 'src/node_version.h' "${ED}"/usr/include/node || die "Failed to copy stuff"
+ cp -R deps/uv/include/* "${ED}"/usr/include/node || die "Failed to copy stuff"
+ cp -R deps/v8/include/* "${ED}"/usr/include/node || die "Failed to copy stuff"
+ cp 'out/Release/node' "${ED}"/usr/bin/node || die "Failed to copy stuff"
+ cp -R deps/npm/* "${ED}"/usr/"${MYLIB}"/node_modules/npm || die "Failed to copy stuff"
+ cp -R tools/wafadmin "${ED}"/usr/"${MYLIB}"/node/ || die "Failed to copy stuff"
+ cp 'tools/node-waf' "${ED}"/usr/bin/ || die "Failed to copy stuff"
+
+ # now add some extra stupid just because we can
+ # needs to be a symlink because of hardcoded paths ... no es bueno!
+ dosym /usr/"${MYLIB}"/node_modules/npm/bin/npm-cli.js /usr/bin/npm
+ pax-mark -m "${ED}"/usr/bin/node
+}
+
+src_test() {
+ emake test || die
+}