blob: 74773189246346ba2092ebd914c6059582dce266 (
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# Maintainer: Caleb Maclennan <caleb@alerque.com>
# Contributor: Nicola Squartini <tensor5@gmail.com>
pkgname=apm
pkgver=2.6.5
_sha=ade8fbe124b18f5949a6b20b8e02a551d5405d67
pkgrel=3
pkgdesc='Atom package manager'
arch=(x86_64)
url="https://github.com/atom/$pkgname"
license=(MIT)
_electron=electron11 # must match atom package
depends=(# libgit2{,.so} # see https://bugs.archlinux.org/task/74164
libsecret
nodejs-lts-gallium)
makedepends=(git
# node-gyp
npm)
# python)
provides=(nodejs-atom-package-manager)
conflicts=(nodejs-atom-package-manager)
replaces=(nodejs-atom-package-manager)
options=(!emptydirs)
_archive="$pkgname-$_sha"
source=("$url/archive/$_sha/$_archive.tar.gz"
apm.js
no-scripts.patch)
# git-utils.patch)
sha512sums=('3788ccc2f6b2fe63792463c282ebb1710aaf2dccb595c3177494cd8800fc5e5df3f3b49481f6342fcff770882c50c2d171d9d53a985184e84b875f386c5a2039'
'dd6786d44278f1edbfb87d4a4a639da4fd4b8ab9aca85ae430e113256befd3850b1fb375353afb5f1f4b99ad3dc2666b37d6d6c31c7563d992d8c034d0d2750a'
'a962ecc1557bcfe92c8d771a44c3bbbd72d0bf9c81285662ef26a1f99f3604efcca0307e7edb59eb99c2cbc83db4ab844f0db0532ca990581eff28e50c42acd6')
_apmdir='/usr/lib/node_modules/atom-package-manager'
prepare() {
! test -d "$srcdir"/apm-build
cd "$_archive"
# Use custom launcher
rm bin/apm{,.cmd} bin/npm{,.cmd}
rm src/cli.coffee
install -m0755 "$srcdir/apm.js" bin/apm
sed -i -e "s/@ELECTRON@/$_electron/" bin/apm
# Don't download binary Node
patch -Np1 -i "$srcdir/no-scripts.patch"
rm BUNDLED_NODE_VERSION script/*
sed -i -e '/git-utils/s/5.7.2/5.7.3/' package.json
npm install --cache "$srcdir/npm-cache"
# pushd node_modules/git-utils
# patch -Np1 -i "$srcdir/git-utils.patch"
}
build() {
cd "$_archive"
npx coffee --compile --output lib src
npm uninstall coffee-script coffeelint express jasmine-focused shx node-gyp
# pushd node_modules/git-utils
# node-gyp rebuild
# popd
npm pack
}
package() {
cd "$_archive"
install -d -m755 "$pkgdir$_apmdir"
tar -xf atom-package-manager-*.tgz --strip-components 1 \
-C "$pkgdir$_apmdir"
cp -r node_modules "$pkgdir$_apmdir"
install -d -m755 "$pkgdir/usr/bin"
ln -s \
"$(realpath --relative-to="$pkgdir/usr/bin" "$pkgdir$_apmdir/bin/apm")" \
"$pkgdir/usr/bin"
install -Dm0644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE.md
# Remove occurrences of ${srcdir}
find "$pkgdir" -name "package.json" \
-exec sed -e "s|$srcdir/$_archive|$_apmdir|" \
-i '{}' \;
# Remove useless stuff
find "$pkgdir"/usr/lib \
-name '.*' -prune -exec rm -r '{}' \; \
-or -name '*.a' -exec rm '{}' \; \
-or -name '*.bat' -exec rm '{}' \; \
-or -name '*.mk' -exec rm '{}' \; \
-or -path '*/git-utils/binding.gyp' -exec rm '{}' \; \
-or -path '*/git-utils/src/*.cc' -exec rm '{}' \; \
-or -path '*/git-utils/src/*.h' -exec rm '{}' \; \
-or -path '*/keytar/binding.gyp' -exec rm '{}' \; \
-or -path '*/keytar/src' -prune -exec rm -r '{}' \; \
-or -path '*/oniguruma/binding.gyp' -exec rm '{}' \; \
-or -path '*/oniguruma/src' -prune -exec rm -r '{}' \; \
-or -name 'appveyor.yml' -exec rm '{}' \; \
-or -name 'benchmark' -prune -exec rm -r '{}' \; \
-or -name 'binding.Makefile' -exec rm '{}' \; \
-or -name 'config.gypi' -exec rm '{}' \; \
-or -name 'deps' -prune -exec rm -r '{}' \; \
-or -name 'doc' -prune -exec rm -r '{}' \; \
-or -name 'html' -prune -exec rm -r '{}' \; \
-or -name 'Makefile' -exec rm '{}' \; \
-or -name 'man' -prune -exec rm -r '{}' \; \
-or -name 'obj.target' -prune -exec rm -r '{}' \; \
-or -name 'samples' -prune -exec rm -r '{}' \; \
-or -name 'scripts' -prune -exec rm -r '{}' \; \
-or -name 'test' -prune -exec rm -r '{}' \; \
-or -name 'tests' -prune -exec rm -r '{}' \;
}
|