PKGBUILDs/community/nodejs/PKGBUILD

116 lines
3.2 KiB
Bash
Raw Normal View History

2012-01-27 02:19:01 +00:00
# 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>
2013-01-11 13:33:47 +00:00
# Contributor: Jason Plum <jplum@archlinuxarm.org>
2012-01-27 02:19:01 +00:00
pkgname=nodejs
2014-05-02 16:08:16 +00:00
pkgver=0.10.28
2013-06-06 15:46:06 +00:00
pkgrel=1
2012-01-27 02:19:01 +00:00
pkgdesc='Evented I/O for V8 javascript'
arch=('i686' 'x86_64' 'arm')
2012-01-27 02:19:01 +00:00
url='http://nodejs.org/'
license=('MIT')
2013-01-24 23:07:08 +00:00
makedepends=('python2')
2014-05-02 03:03:09 +00:00
optdepends=('python2: for node-gyp')
2013-03-30 13:53:39 +00:00
checkdepends=('curl')
2013-01-11 13:33:47 +00:00
options=('!emptydirs !strip')
source=("http://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.gz")
2014-05-02 16:08:16 +00:00
sha256sums=('abddc6441e0f208f6ed8a045e0293f713ea7f6dfb2d6a9a2024bf8b1b4617710')
2012-01-27 02:19:01 +00:00
2013-02-20 15:12:21 +00:00
set_flags_for_arm() {
if [ "$CARCH" == "arm" ]; then
# CXXFLAGS is here to bash it over the head. It has a bad habit.
EABI=soft
CXXFLAGS="$CXXFLAGS -march=armv5t -mno-unaligned-access" ;
GYPFLAGS="-Darmeabi=soft -Dv8_can_use_vfp_instructions=false -Dv8_can_use_unaligned_accesses=false -Darmv7=0"
VFP3=off
VFP2=off
fi
if [ "$CARCH" == "armv6h" ]; then
EABI=hard
GYPFLAGS="-Darmeabi=hard -Dv8_use_arm_eabi_hardfloat=true -Dv8_can_use_vfp3_instructions=false -Dv8_can_use_vfp2_instructions=true -Darm7=0 -Darm_vfp=vfp"
VFP3=off
VFP2=on
fi
if [ "$CARCH" == "armv7h" ]; then
EABI=hard
GYPFLAGS="-Darmeabi=hard -Dv8_use_arm_eabi_hardfloat=true -Dv8_can_use_vfp3_instructions=true -Dv8_can_use_vfp2_instructions=true -Darm7=1"
VFP3=on
VFP2=on
fi
export CXXFLAGS
export GYPFLAGS
}
2013-05-15 14:33:50 +00:00
prepare() {
cd node-v$pkgver
2012-01-27 02:19:01 +00:00
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|python |python2 |" Makefile
2013-05-15 14:33:50 +00:00
}
build() {
cd node-v$pkgver
2012-01-27 02:19:01 +00:00
export PYTHON=python2
2013-02-20 15:12:21 +00:00
set_flags_for_arm
# short-cutting python=python2 for GYP, as it will only be used here.
export PYTHON=python2
if [ ! -f "${srcdir}/python" ]; then
ln -s `which python2` ${srcdir}/python ;
fi
PATH="${srcdir}:$PATH";
export PATH ;
2012-02-05 02:06:11 +00:00
# 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
2012-02-05 02:06:11 +00:00
2012-01-27 02:19:01 +00:00
./configure \
--prefix=/usr \
--without-snapshot \
2013-01-24 23:07:08 +00:00
--with-arm-float-abi=$EABI
# --shared-v8 \
# --shared-v8-libpath=/usr/lib \
# --shared-v8-includes=/usr/include
# --shared-openssl \
2012-01-27 02:19:01 +00:00
2013-01-11 13:33:47 +00:00
make
2012-01-27 02:19:01 +00:00
}
check() {
cd node-v${pkgver}
make test || true
}
package() {
cd node-v${pkgver}
2013-02-20 15:12:21 +00:00
# suppress re-compile(with out customized flags) by 'make install'.
set_flags_for_arm
2012-01-27 02:19:01 +00:00
make DESTDIR=${pkgdir} install
# install docs as per user request
install -d ${pkgdir}/usr/share/doc/nodejs
2013-06-02 16:47:07 +00:00
cp -r doc/api/{*.html,assets} \
2012-01-27 02:19:01 +00:00
${pkgdir}/usr/share/doc/nodejs
2012-07-17 13:39:31 +00:00
# compress man pages
2013-04-24 19:21:34 +00:00
find "$pkgdir"/usr/lib/node_modules/npm/man -type f | xargs gzip -9
2012-07-17 13:39:31 +00:00
2012-01-27 02:19:01 +00:00
install -D -m644 LICENSE \
${pkgdir}/usr/share/licenses/nodejs/LICENSE
}
# vim:set ts=2 sw=2 et: