desktop/nodejs/PKGBUILD
2015-01-27 13:04:28 +00:00

84 lines
2.1 KiB
Bash

# Maintainer: Daniele Cocca <jmc@chakra-project.org>
# Original CCR maintainer: Inkane <neoinkaneglade@aol.com>
pkgname=nodejs
pkgver=0.10.36
_npmver=2.3.0
pkgrel=1
pkgdesc='Evented I/O for V8 javascript'
arch=('x86_64')
url='http://nodejs.org/'
license=('MIT')
depends=('openssl')
provides=('nodejs-node-gyp')
makedepends=('python2' 'git' 'procps-ng')
optdepends=('python2: for node-gyp')
checkdepends=('curl')
options=('!emptydirs')
source=("http://nodejs.org/dist/v$pkgver/node-v$pkgver.tar.gz"
git+https://github.com/npm/npm.git#tag=v$_npmver)
sha256sums=('b9d7d1d0294bce46686b13a05da6fc5b1e7743b597544aa888e8e64a9f178c81'
'SKIP')
prepare() {
cd node-v$pkgver
# We need newer version of npm to fix bugs
rm -r deps/npm
ln -s "$srcdir/npm" deps
rm -r "$srcdir/npm/.git"
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 's_python _python2 _' -i {} \;
}
build() {
cd node-v$pkgver
export PYTHON=python2
./configure \
--prefix=/usr \
--shared-openssl
make
cd ../npm
../node-v$pkgver/node cli.js install ronn marked
PATH="$srcdir/node-v$pkgver:$PATH" make
../node-v$pkgver/node cli.js uninstall ronn marked marked-man
}
check() {
cd node-v$pkgver
make test || warning "Tests failed"
}
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/{*.html,assets} \
"$pkgdir"/usr/share/doc/nodejs
install -D -m644 LICENSE \
"$pkgdir"/usr/share/licenses/nodejs/LICENSE
install -d "$pkgdir"/usr/share/man/{man1,man3,man5,man7}
for _dir in man1 man3 man5 man7; do
cd "$pkgdir"/usr/lib/node_modules/npm/man/$_dir
for _file in *; do
ln -s /usr/lib/node_modules/npm/man/$_dir/$_file "$pkgdir"/usr/share/man/$_dir/
done
done
ln -s /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js "$pkgdir"/usr/bin/node-gyp
}