mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
121 lines
3.7 KiB
Bash
121 lines
3.7 KiB
Bash
# Maintainer: Felix Yan <felixonmars@archlinux.org>
|
|
# Contributor Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
|
# Contributor: 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 <jplum@archlinuxarm.org>
|
|
|
|
pkgname=nodejs
|
|
pkgver=8.4.0
|
|
pkgrel=1
|
|
pkgdesc='Evented I/O for V8 javascript'
|
|
arch=('i686' 'x86_64')
|
|
url='http://nodejs.org/'
|
|
license=('MIT')
|
|
provides=('nodejs-node-gyp')
|
|
depends=('openssl-1.0' 'zlib' 'icu' 'libuv' 'http-parser' 'c-ares') # 'v8')
|
|
makedepends=('python2' 'procps-ng')
|
|
optdepends=('npm: nodejs package manager')
|
|
source=("nodejs-$pkgver.tar.gz::https://github.com/nodejs/node/archive/v$pkgver.tar.gz"
|
|
'0001-arm-fixes.patch')
|
|
sha512sums=('69aa29273b8eb71ec5807da704b6eb3241de207714df18cc75a1560c7af9c55f0d386871a4d1ae503d51e71fdf123c3c5eea11a145f1fd0e4d57bd3f9a42230d'
|
|
'4811e1d9bc0e03458072cad6af9284e3ceb6c74005ae00e3407c18d0e6eae0bce2edcbdbe547975ade916c1bcdb2bb53101edce2afeca0bcac84d8807934fc8c')
|
|
|
|
set_flags_for_arm() {
|
|
if [ "$CARCH" == "arm" ]; then
|
|
# CXXFLAGS is here to bash it over the head. It has a bad habit.
|
|
CONFIG="--with-arm-float-abi=soft"
|
|
CXXFLAGS="$CXXFLAGS -march=armv5t -mno-unaligned-access" ;
|
|
GYPFLAGS="-Darm_thumb -Darm_float_abi=soft -Darm_version=5 -Darm_fpu= -Darm_test_noprobe=on"
|
|
fi
|
|
if [ "$CARCH" == "armv6h" ]; then
|
|
CONFIG="--with-arm-float-abi=hard"
|
|
GYPFLAGS="-Darm_thumb -Darm_float_abi=hard -Darm_version=6 -Darm_fpu=vfpv2"
|
|
fi
|
|
if [ "$CARCH" == "armv7h" ]; then
|
|
CONFIG="--with-arm-float-abi=hard --with-arm-fpu=vfpv3-d16"
|
|
GYPFLAGS="-Darm_thumb -Darm_float_abi=hard -Darm_version=7 -Darm_fpu=vfpv3-d16"
|
|
fi
|
|
export CXXFLAGS
|
|
export GYPFLAGS
|
|
}
|
|
|
|
prepare() {
|
|
cd node-$pkgver
|
|
|
|
patch -p1 -i ../0001-arm-fixes.patch
|
|
|
|
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_^\( *exec \+\)python\( \+.*\)$_\1python2\2_'\
|
|
-e 's_^\(.*\)python\( \+-c \+.*\)$_\1python2\2_'\
|
|
-e "s_'python'_'python2'_" -i {} \;
|
|
find test/ -type f -exec sed 's_python _python2 _' -i {} \;
|
|
}
|
|
|
|
build() {
|
|
cd node-$pkgver
|
|
|
|
export PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig
|
|
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 \
|
|
--with-intl=system-icu \
|
|
--without-npm \
|
|
--without-snapshot \
|
|
--shared-openssl \
|
|
--shared-zlib \
|
|
--shared-libuv \
|
|
--shared-http-parser \
|
|
--shared-cares \
|
|
${CONFIG}
|
|
# --shared-v8 \
|
|
# --shared-v8-libpath=/usr/lib \
|
|
# --shared-v8-includes=/usr/include
|
|
|
|
[ "$CARCH" == "arm" ] && sed -i 's/vfpv3//' config.gypi
|
|
[ "$CARCH" == "armv6h" ] && sed -i 's/vfpv3/vfp/' config.gypi
|
|
|
|
make
|
|
}
|
|
|
|
check() {
|
|
cd node-$pkgver
|
|
# Expected failure: https://github.com/nodejs/node/issues/11627
|
|
make test || warning "Tests failed"
|
|
}
|
|
|
|
package() {
|
|
cd node-$pkgver
|
|
|
|
# suppress re-compile(with out customized flags) by 'make install'.
|
|
set_flags_for_arm
|
|
|
|
make DESTDIR=${pkgdir} install
|
|
|
|
install -D -m644 LICENSE \
|
|
${pkgdir}/usr/share/licenses/nodejs/LICENSE
|
|
}
|
|
|
|
# vim:set ts=2 sw=2 et:
|