desktop/npm/PKGBUILD
2018-01-09 03:25:30 +00:00

54 lines
1.6 KiB
Bash

pkgname=npm
pkgver=5.6.0
pkgrel=1
pkgdesc='A package manager for javascript'
arch=('any')
url='https://www.npmjs.com/'
license=('custom:Artistic')
depends=('nodejs' 'semver')
provides=('nodejs-node-gyp')
makedepends=('procps-ng' 'marked-man')
optdepends=('python2: for node-gyp')
options=('!emptydirs')
source=("$pkgname-$pkgver::https://github.com/${pkgname}/${pkgname}/archive/v${pkgver}.tar.gz")
sha256sums=('b965a4a6a32acd60f0b549187057b795032ab33c5dfb366c7e9b8d89c81dbd60')
prepare() {
cd ${pkgname}-${pkgver}
ln -sf /usr/bin/marked{,-man} node_modules/.bin/
}
build() {
cd ${pkgname}-${pkgver}
make
}
package() {
cd ${pkgname}-${pkgver}
make NPMOPTS="--prefix=\"$pkgdir/usr\"" install
# Provide node-gyp executable
cp "$pkgdir"/usr/lib/node_modules/npm/bin/node-gyp-bin/node-gyp "$pkgdir"/usr/bin/node-gyp
sed -i 's|"`dirname "$0"`/../../|"`dirname "$0"`/../lib/node_modules/npm/|' "$pkgdir"/usr/bin/node-gyp
# Why 777? :/
chmod -R u=rwX,go=rX "$pkgdir"
# Fix files owned by nobody:
chown -R root "$pkgdir/usr/lib/node_modules"
# Experimental dedup
for _d in "$pkgdir"/usr/lib/node_modules/$pkgname/node_modules \
"$pkgdir"/usr/lib/node_modules/$pkgname/node_modules/node-gyp/node_modules; do
cd "$_d"
for dep in semver; do
rm -r $dep;
done
done
install -dm755 "$pkgdir"/usr/share/bash-completion/completions
node "$srcdir"/npm-$pkgver/bin/npm-cli.js completion > "$pkgdir"/usr/share/bash-completion/completions/npm
install -Dm644 "$srcdir/${pkgname}-${pkgver}/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}