blob: b389b7e90db8fb909f46c9b77e0e8dba46306f42 (
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
|
# Maintainer: Dušan Simić <dusan.simic1810@gmail.com>
_electron=electron
pkgname=freezer-electron
pkgver=1.1.24
_commit=53f6b760fe21821169fdb0ee8ebe0e347bdfa44a
pkgrel=1
pkgdesc='Free music streaming client for Deezer based on the Deezloader/Deemix "bug"'
arch=(any)
url=https://gitea.dusansimic.me/dusan/freezerpc
license=(GPL3)
depends=("$_electron")
makedepends=(npm nvm)
source=("$pkgname::git+$url.git#commit=$_commit"
"$pkgname.js"
"$pkgname.desktop"
"nodeezcryptor_repo.patch"
"target.patch")
sha512sums=('SKIP'
'3465ebf4e54b6d8632b7de06a0f36c3f4701626439ba5a05334bd083ac902fe9b935cf331c84c71189d106feb5b94e7d77da3cd8841a3d5271fae20189f8a8e6'
'2d5b079a3dc7382f6c5f232307d3dfd88476df390fbe9e143806e65c9118c9d77f1a061a87df4c666bfe39adfd71b07ba4eb663fe92fdd895f1cd54951f8f27d'
'f814db374d839810d293c12978e47b09b8089aac039c3c04a0b9127bd947ca4481c82d39858b4ee0edac471cf395aad9ceea9020a39f7afd6dece559d0cb8c4e'
'f418c30f944bf0c9b9c78c6df9ae2e4c6db8a9bcebcaedef69c4fbbd7d847b4b2078a561c71d77fc01cf7692eef96f9d43b0ffdebafea9558443057478df7531')
_ensure_local_nvm() {
# let's be sure we are starting clean
which nvm >/dev/null 2>&1 && nvm deactivate && nvm unload
export NVM_DIR="${srcdir}/.nvm"
# The init script returns 3 if version specified
# in ./.nvrc is not (yet) installed in $NVM_DIR
# but nvm itself still gets loaded ok
source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
}
prepare() {
_ensure_local_nvm
nvm install 16.13.1
nvm use --delete-prefix v16.13.1
cd "$pkgname"
patch -p1 -i "$srcdir/nodeezcryptor_repo.patch"
patch -p1 -i "$srcdir/target.patch"
}
build() {
_ensure_local_nvm
cd "$pkgname/app"
npm install --ignore-scripts --production
# For some reason it's not automatically built so you need to do it manually
pushd node_modules/nodeezcryptor
npm install
popd
cd client
npm install --ignore-scripts
npm run build
sed -i "s~@ELECTRON@~$_electron~" "$srcdir/$pkgname.js"
sed -i "s~@VERSION@~$pkgver~" "$srcdir/$pkgname.js"
}
package() {
cd "$pkgname"
_appdir="/usr/lib/$pkgname"
install -d "$pkgdir$_appdir"
for f in $(ls app | grep -v client); do
cp -r "app/$f" "$pkgdir$_appdir"
done
install -d "$pkgdir$_appdir/client"
cp -r app/client/dist "$pkgdir$_appdir/client/dist"
install -Dm644 build/icon.png "$pkgdir/usr/share/pixmaps/$pkgname.png"
install -Dm755 "$srcdir/$pkgname.js" "$pkgdir/usr/bin/$pkgname"
install -Dm644 "$srcdir/$pkgname.desktop" -t "$pkgdir/usr/share/applications"
install -d "$pkgdir/usr/share/licenses/$pkgname"
ln -s "$(realpath -m --relative-to=/usr/share/licenses/$pkgname $_appdir/LICENSE)" "$pkgdir/usr/share/licenses/$pkgname"
find "$pkgdir$_appdir" \
-name "package.json" \
-exec sed -e "s|${srcdir}/${pkgname}|${appdir}|" \
-i {} \; \
-or -name ".*" -prune -exec rm -r '{}' \; \
-or -name "bin" -prune -exec rm -r '{}' \; \
-or -name "example" -prune -exec rm -r '{}' \; \
-or -name "examples" -prune -exec rm -r '{}' \; \
-or -name "man" -prune -exec rm -r '{}' \; \
-or -name "scripts" -prune -exec rm -r '{}' \; \
-or -name "test" -prune -exec rm -r '{}' \;
}
|