PKGBUILDs/community/nodejs/PKGBUILD
2012-02-05 10:52:09 -05:00

89 lines
2.6 KiB
Bash

# Maintainer: Thomas Dziedzic < gostrc at gmail >
# Contributor: James Campos <james.r.campos@gmail.com>
# Contributor: BlackEagle < ike DOT devolder AT gmail DOT com >
# Contributor: Dongsheng Cai <dongsheng at moodle dot com>
# Contributor: Masutu Subric <masutu.arch at googlemail dot com>
# Contributor: TIanyi Cui <tianyicui@gmail.com>
# Contributor: Jason Plum <max@warheads.net>
pkgname=nodejs
pkgver=0.6.10
pkgrel=1
plugrel=3
pkgdesc='Evented I/O for V8 javascript'
arch=('i686' 'x86_64' 'arm')
url='http://nodejs.org/'
license=('MIT')
depends=('python2')
checkdepends=('curl') # curl used for check()
optdepends=('openssl: TLS support')
options=('!emptydirs')
source=("http://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.gz"
'nodejs-armv5t.patch')
md5sums=('c2d2aee123a141ba8431855f1d9c8200'
'27eb4bfa8da9707b6b326e47e99995de')
build() {
cd node-v${pkgver}
msg 'fixing for python2 name'
find -type f -exec sed -e 's_^#!/usr/bin/env python$_&2_' -e 's_^\(#!/usr/bin/python2\).[45]$_\1_' -e 's_^#!/usr/bin/python$_&2_' -e "s_'python'_'python2'_" -i {} \;
find test -type f -exec sed -e "s|python |python2 |" -i {} \;
sed -i "s|cmd_R = 'python |cmd_R = 'python2 |" wscript
sed -i "s|python |python2 |" Makefile
find test -type f -exec sed -e 's/python/&2/' -i {} \;
sed -i "s/python/&2/" configure
export PYTHON=python2
# we're going to attept to make use of this example
# https://github.com/joyent/node/issues/2131#issuecomment-3208846
# https://gist.github.com/1574158
# pathing scons
sed -i "s/python/&2/" tools/scons/scons.py
msg 'Selecting pre-compile of v8'
# move up to v8
cd deps/v8
# run the scons script directly...
if [ "$CARCH" == "arm" ]; then
msg 'pre-compiling v8 for v5'
# we need to override the arch (last one will be used) because
# v8 thinks armv5te can use unaligned.. the kirkwood can't!
CCFLAGS="$CCFLAGS -march=armv5t" ;
export CCFLAGS ;
../../tools/scons/scons.py arch=arm armeabi=soft mode=release snapshot=off
fi
if [ "$CARCH" == "armv7h" ]; then
msg 'pre-compiling v8 for v7'
../../tools/scons/scons.py arch=arm armeabi=hard mode=release snapshot=off vfp3=on
fi
# go back to the node source directory
cd ../../
./configure \
--prefix=/usr
make
}
check() {
cd node-v${pkgver}
# test failures in 0.6 are known
make test || true
}
package() {
cd node-v${pkgver}
make DESTDIR=${pkgdir} install
# install docs as per user request
install -d ${pkgdir}/usr/share/doc/nodejs
cp -r doc/api/api/* \
${pkgdir}/usr/share/doc/nodejs
install -D -m644 LICENSE \
${pkgdir}/usr/share/licenses/nodejs/LICENSE
}
# vim:set ts=2 sw=2 et: