2021-04-13 21:11:08 +00:00
|
|
|
# Maintainer: kpcyrd <kpcyrd[at]archlinux[dot]org>
|
|
|
|
# Contributor: Felix Yan <felixonmars@archlinux.org>
|
|
|
|
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
|
|
# - makedepend on libpng - required to build pngquant from source during build
|
|
|
|
|
|
|
|
pkgname=npm6
|
|
|
|
_pkgname=npm
|
2021-08-05 12:36:58 +00:00
|
|
|
pkgver=6.14.14
|
2021-04-13 21:11:08 +00:00
|
|
|
pkgrel=1
|
|
|
|
pkgdesc='A package manager for javascript'
|
|
|
|
arch=('any')
|
|
|
|
url='https://www.npmjs.com/'
|
|
|
|
license=('custom:Artistic')
|
|
|
|
provides=('npm')
|
|
|
|
conflicts=('npm')
|
2021-08-05 12:36:58 +00:00
|
|
|
depends=('nodejs-lts-fermium' 'node-gyp' 'semver')
|
2021-04-13 21:11:08 +00:00
|
|
|
# libgl: TODO
|
|
|
|
# libvips: for sharp (doc build) (disabled as current version of gatsby imports a broken sharp)
|
|
|
|
# libxi: for cwebp (doc build)
|
|
|
|
makedepends=('libgl' 'libxi' 'marked' 'marked-man' 'procps-ng' 'python' 'libpng')
|
|
|
|
options=('!emptydirs')
|
|
|
|
source=("$pkgname-$pkgver.tar.gz::https://github.com/npm/cli/archive/v$pkgver.tar.gz")
|
2021-08-05 12:36:58 +00:00
|
|
|
sha512sums=('f7b6065b9f9194c6f156fe1c1ee7bbabaeefc4d4374bea59f077b36b2415266a2998c8ffab3e5eb68375c711b7157e1b95f38129341097738115c744068259dd')
|
2021-04-13 21:11:08 +00:00
|
|
|
|
|
|
|
prepare() {
|
|
|
|
cd cli-$pkgver
|
|
|
|
mkdir -p node_modules/.bin
|
|
|
|
ln -sf /usr/bin/marked{,-man} node_modules/.bin/
|
|
|
|
|
|
|
|
# Use local marked/marked-man
|
|
|
|
sed -i 's|node bin/npm-cli.js install marked|true |' Makefile
|
|
|
|
|
|
|
|
# Don't build twice
|
|
|
|
sed -i 's/install: all/install:/' Makefile
|
|
|
|
|
|
|
|
mkdir -p man/man1
|
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
|
|
|
cd cli-$pkgver
|
|
|
|
NODE_PATH=/usr/lib/node_modules make
|
|
|
|
}
|
|
|
|
|
|
|
|
package() {
|
|
|
|
cd cli-$pkgver
|
|
|
|
make NPMOPTS="--prefix=\"$pkgdir/usr\"" install
|
|
|
|
|
|
|
|
# Non-deterministic race in npm gives 777 permissions to random directories.
|
|
|
|
# See https://github.com/npm/npm/issues/9359 for details.
|
|
|
|
chmod -R u=rwX,go=rX "$pkgdir"
|
|
|
|
|
|
|
|
# npm installs package.json owned by build user
|
|
|
|
# https://bugs.archlinux.org/task/63396
|
|
|
|
chown -R root:root "$pkgdir"
|
|
|
|
|
|
|
|
# Experimental dedup
|
|
|
|
_npmdir="$pkgdir"/usr/lib/node_modules/$_pkgname
|
|
|
|
rm -r "$_npmdir"/node_modules/{,.bin/}semver
|
|
|
|
rm -r "$_npmdir"/node_modules/{,.bin/}node-gyp
|
|
|
|
sed -i '/node-gyp.js/c\ exec /usr/bin/node-gyp "$@"' \
|
|
|
|
"$_npmdir"/node_modules/npm-lifecycle/node-gyp-bin/node-gyp \
|
|
|
|
"$_npmdir"/bin/node-gyp-bin/node-gyp
|
|
|
|
|
|
|
|
install -dm755 "$pkgdir"/usr/share/bash-completion/completions
|
|
|
|
node "$srcdir"/cli-$pkgver/bin/npm-cli.js completion > "$pkgdir"/usr/share/bash-completion/completions/npm
|
|
|
|
|
|
|
|
install -Dm644 "$srcdir"/cli-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/$_pkgname/LICENSE
|
|
|
|
}
|