vercel/PKGBUILD

40 lines
1.4 KiB
Text
Raw Normal View History

2020-05-24 23:01:51 +00:00
pkgname=vercel
pkgver=19.0.1
pkgrel=1
pkgdesc="The command line interface for Vercel"
arch=(any)
url="https://github.com/zeit/now"
license=('MIT')
depends=('npm')
makedepends=('jq')
source=(http://registry.npmjs.org/$pkgname/-/$pkgname-$pkgver.tgz)
noextract=($pkgname-$pkgver.tgz)
sha256sums=('db57352f617064452a5c71b9c4272ec32d566a9ff5fd8ed8b610e9c754dca7b8')
# For more info about this package see:
# https://wiki.archlinux.org/index.php/Node.js_package_guidelines
package() {
# If we don't unlink the binary the script below will fail to run
# https://github.com/zeit/now/blob/60c76b32902a73efaff75368e266ae9efac71eb0/packages/now-cli/scripts/preinstall.js
sudo unlink /usr/bin/vercel || true
npm install -g --user root --cache "${srcdir}/npm-cache" --prefix "$pkgdir/usr" "$srcdir/$pkgname-$pkgver.tgz"
# Fix permissions
find "$pkgdir"/usr -type d -exec chmod 755 {} +
# Remove references to pkgdir
find "$pkgdir" -type f -name package.json -print0 | xargs -0 sed -i "/_where/d"
# Remove references to srcdir
local tmppackage="$(mktemp)"
local pkgjson="$pkgdir/usr/lib/node_modules/$pkgname/package.json"
jq '.|=with_entries(select(.key|test("_.+")|not))' "$pkgjson" > "$tmppackage"
mv "$tmppackage" "$pkgjson"
chmod 644 "$pkgjson"
# npm gives ownership of ALL FILES to build user
# https://bugs.archlinux.org/task/63396
chown -R root:root "${pkgdir}"
}