2021-08-24 10:48:46 +02:00
# Maintainer: email@ricardo.band
pkgname = projen
2022-03-31 18:26:06 +02:00
pkgver = 0.54.2
pkgrel = 1
2021-08-27 10:08:27 +02:00
pkgdesc = "Define and maintain complex project configuration through code. projen synthesizes project configuration files from a well-typed definition written in JavaScript."
2021-08-24 10:48:46 +02:00
arch = ( 'any' )
url = "https://github.com/projen/projen/"
license = ( 'Apache' )
depends = ( 'nodejs' )
makedepends = ( 'npm' 'jq' )
2021-08-24 12:11:06 +02:00
optdepends = ( 'bash-completion: Bash completion'
'zsh: zsh completion' )
2021-08-24 10:48:46 +02:00
source = ( " https://registry.npmjs.org/ $pkgname /-/ $pkgname - $pkgver .tgz " )
noextract = ( " ${ pkgname } - ${ pkgver } .tgz " )
2022-03-31 18:26:06 +02:00
sha256sums = ( 'a26bd73dfe22ebb69396860480596d3b68a70d0ede194e0b752151cc652b2724' )
2021-08-24 10:48:46 +02:00
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 "
2022-01-17 18:48:06 +01:00
jq '.|=with_entries(select(.key|test("_.+")|not))' " $pkgjson " > " $tmppackage "
mv " $tmppackage " " $pkgjson "
chmod 644 " $pkgjson "
2022-03-31 18:21:30 +02:00
#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
2021-08-24 10:48:46 +02:00
# npm gives ownership of ALL FILES to build user
# https://bugs.archlinux.org/task/63396
chown -R root:root " ${ pkgdir } "
}