From f8ce667472792cb6d00949bce1488e2303c1cc4b Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Tue, 23 Sep 2014 15:36:36 +0000
Subject: nodejs: update to 0.10.32

---
 abs/extra/nodejs/PKGBUILD | 69 ++++++++++++++++++++++++++++++++++-------------
 1 file changed, 50 insertions(+), 19 deletions(-)

diff --git a/abs/extra/nodejs/PKGBUILD b/abs/extra/nodejs/PKGBUILD
index 7cada4d..2bb2da5 100644
--- a/abs/extra/nodejs/PKGBUILD
+++ b/abs/extra/nodejs/PKGBUILD
@@ -1,5 +1,6 @@
-# $Id: PKGBUILD 78912 2012-10-27 18:07:12Z bpiotrowski $
-# Maintainer:  Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
+# $Id$
+# Maintainer: Felix Yan <felixonmars@gmail.com>
+# 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 >
@@ -8,20 +9,31 @@
 # Contributor: TIanyi Cui <tianyicui@gmail.com>
 
 pkgname=nodejs
-pkgver=0.8.14
-pkgrel=1
+pkgver=0.10.32
+_npmver=2.0.2
+pkgrel=3
 pkgdesc='Evented I/O for V8 javascript'
 arch=('i686' 'x86_64')
 url='http://nodejs.org/'
 license=('MIT')
-depends=('openssl' 'python2' 'v8') 
-checkdepends=('curl') # curl used for check()
+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)
-md5sums=('284fd2c7578064c339d9cf6a3a475ac7')
+source=("http://nodejs.org/dist/v$pkgver/node-v$pkgver.tar.gz"
+        git+https://github.com/npm/npm.git#tag=v$_npmver)
+sha256sums=('c2120d0e3d2d191654cb11dbc0a33a7216d53732173317681da9502be0030f10'
+            'SKIP')
 
-build() {
-  cd node-v${pkgver}
+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 \
@@ -30,32 +42,51 @@ build() {
     -e 's_^#!/usr/bin/python$_&2_' \
     -e "s_'python'_'python2'_" -i {} \;
   find test/ -type f -exec sed 's_python _python2 _' -i {} \;
-  export PYTHON=python2
+}
+
+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
 }
 
 check() {
-  cd node-v${pkgver}
-  make test || true
+  cd node-v$pkgver
+  make test || warning "Tests failed"
 }
 
 package() {
-  cd node-v${pkgver}
+  cd node-v$pkgver
 
-  make DESTDIR=$pkgdir install
+  make DESTDIR="$pkgdir" install
 
   # install docs as per user request
-  install -d $pkgdir/usr/share/doc/nodejs
-  cp -r doc/api/*.html \
-    $pkgdir/usr/share/doc/nodejs
+  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
+    "$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
 }
 
 # vim:set ts=2 sw=2 et:
-- 
cgit v0.12

