summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 5fd76c4b060a0182037a217005c4cf7233b0ed96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Maintainer: John Fresco <contact at johnfres.co>
# Contributor: wpd
# Contributor: Gabriele Fulgaro <gabriele.fulgaro@gmail.com>
# Contributor: MazeChaZer

_npmscope=angular
_npmname=cli
_npmid="@$_npmscope/$_npmname"

pkgname="$_npmscope-$_npmname"
pkgver=19.0.4
pkgrel=1
pkgdesc="CLI tool for Angular"
arch=('any')
url="https://github.com/$_npmscope/$pkgname"
license=('MIT')
depends=('npm')
source=("$pkgname-$pkgver.tar.gz::https://registry.npmjs.org/$_npmid/-/$_npmname-$pkgver.tgz")
noextract=("${source[@]%%::*}")
# we can easly find the sha1sum (instead of md5sum) as "shasum"
# curl -s "https://registry.npmjs.org/@angular/cli" | jq '.versions."9.0.3".dist.shasum'
sha1sums=('9c311e860b9c2bdd9746adae6371a7403243d875')
options=('!strip')

package() {
    # Setting temporary cache
    npm install -g --cache "$srcdir/npm-cache" --prefix "$pkgdir/usr" "${source[@]%%::*}"

    # Non-deterministic race in npm gives 777 permissions to random directories.
    # See https://github.com/npm/npm/issues/9359 for details.
    find "${pkgdir}"/usr -type d -execdir chmod 755 {} \+

    # npm gives ownership of ALL FILES to build user
    # https://bugs.archlinux.org/task/63396
    chown -R root:root $pkgdir

    # Package contains reference to $srcdir/$pkgdir
    #find "${pkgdir}" -type f -name package.json -execdir sed -i '/_where/d' {} \+
    # print first line (the '{' symbol) and lines from the first non-underscored key to the end
    # (npm internal keys are underscored but we don't need these keys)
    #sed -i -n '1p;/  "[^_].*": {$/,$p' "$pkgdir"/usr/lib/node_modules/"$_npmid"/package.json
    #sed -i "s|$pkgdir||" "$pkgdir"/usr/lib/node_modules/"$_npmid"/node_modules/sshpk/package.json

    install -Dm644 "$pkgdir/usr/lib/node_modules/$_npmid/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}