diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..f2e7a976b538 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: email@ricardo.band + +pkgname=projen +pkgver=0.27.32 +pkgrel=1 +pkgdesc="Define and maintain complex project configuration through code" +arch=('any') +url="https://github.com/projen/projen/" +license=('Apache') +depends=('nodejs') +makedepends=('npm' 'jq') +optdepends=('bash-completion: Bash completion') +source=("https://registry.npmjs.org/$pkgname/-/$pkgname-$pkgver.tgz") +noextract=("${pkgname}-${pkgver}.tgz") +sha256sums=('7021b484a710a0b99e1e4d1b46c1139cc2fd8553d36b445c988fc204842bae5b') + +package() { + npm install -g --prefix "${pkgdir}/usr" "${srcdir}/${pkgname}-${pkgver}.tgz" + + # Non-deterministic race in npm gives 777 permissions to random directories. + # See https://github.com/npm/cli/issues/1103 for details. + 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" + + find "$pkgdir" -type f -name package.json | while read pkgjson; do + local tmppackage="$(mktemp)" + jq 'del(.man)' "$pkgjson" > "$tmppackage" + mv "$tmppackage" "$pkgjson" + chmod 644 "$pkgjson" + done + + # npm gives ownership of ALL FILES to build user + # https://bugs.archlinux.org/task/63396 + chown -R root:root "${pkgdir}" +} + |