From 32e556594f59178de86beb7a26a4b9f3a5987824 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Mon, 6 Jan 2014 20:51:50 +0000 Subject: [PATCH] added alarm/nodejs-0.8 --- alarm/nodejs-0.8/PKGBUILD | 117 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 alarm/nodejs-0.8/PKGBUILD diff --git a/alarm/nodejs-0.8/PKGBUILD b/alarm/nodejs-0.8/PKGBUILD new file mode 100644 index 000000000..9c8913bf4 --- /dev/null +++ b/alarm/nodejs-0.8/PKGBUILD @@ -0,0 +1,117 @@ +# Maintainer: Thomas Dziedzic < gostrc at gmail > +# Contributor: James Campos +# Contributor: BlackEagle < ike DOT devolder AT gmail DOT com > +# Contributor: Dongsheng Cai +# Contributor: Masutu Subric +# Contributor: TIanyi Cui + +# ALARM: Kevin Mihelich +# Contributor: Jason Plum +# - Older version build for SMILE software stack + +buildarch=4 + +pkgname=nodejs-0.8 +pkgver=0.8.26 +pkgrel=1 +pkgdesc='Evented I/O for V8 javascript' +arch=('i686' 'x86_64') +url='http://nodejs.org/' +license=('MIT') +makedepends=('python2') +depends=('python2') +checkdepends=('curl') # curl used for check() +optdepends=('openssl: TLS support') +options=('!emptydirs !strip') +source=("http://nodejs.org/dist/v${pkgver}/node-v${pkgver}.tar.gz") +sha256sums=('d873216685774b96139af534ce015077d2c93ddfc4e3596e128853f3c08a5413') + +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 +} + +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|python |python2 |" Makefile + + export PYTHON=python2 + + 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 ; + +# 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 + + ./configure \ + --prefix=/usr \ + --without-snapshot \ + --with-arm-float-abi=$EABI +# --shared-v8 \ +# --shared-v8-libpath=/usr/lib \ +# --shared-v8-includes=/usr/include +# --shared-openssl \ + + + make +} + +check() { + cd node-v${pkgver} + + make test || true +} + +package() { + cd node-v${pkgver} + + # suppress re-compile(with out customized flags) by 'make install'. + set_flags_for_arm + + make DESTDIR=${pkgdir} install + + # install docs as per user request + install -d ${pkgdir}/usr/share/doc/nodejs + cp -r doc/api/* \ + ${pkgdir}/usr/share/doc/nodejs + + # compress man pages + find $pkgdir/usr/lib/node_modules/npm/man -type f | xargs gzip -9 + + install -D -m644 LICENSE \ + ${pkgdir}/usr/share/licenses/nodejs/LICENSE +} + +# vim:set ts=2 sw=2 et: