2021-08-24 10:48:46 +02:00
# Maintainer: email@ricardo.band
pkgname = projen
2021-11-09 17:06:00 +01:00
pkgver = 0.33.2
2021-08-29 18:05:22 +02:00
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 " )
2021-11-09 17:06:00 +01:00
sha256sums = ( '81c2641d08202d0f07bae1d88dc892284f13af625e204b624e19b953e94d2aca' )
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 "
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 } "
}