summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 7a7df0250f6b5a2e9999657738597f81a1631988 (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
# Maintainer: Caleb Maclennan <caleb@alerque.com>

pkgname=ezra-project-git
pkgver=0.12.1.r25.g7104405
pkgrel=1
pkgdesc='Bible study tool focussing on topical study based on keywords/tags'
arch=('x86_64')
url="https://github.com/tobias-klein/${pkgname%-git}"
license=('GPL3')
depends=('electron'
         'icu'
         'nodejs')
makedepends=('git'
             'jq'
             'moreutils'
             'node-gyp'
             'node-prune'
             'nodejs-addon-api' # run time dep but gets baked into electron asar
             'nodejs-pug-cli'
             'nodejs-sword-interface>=0.119.0' # run time dep but gets baked into electron asar
             'npm')
provides=("${pkgname%-git}")
conflicts=(${provides[@]})
source=("git+$url.git"
        'ezra-project.sh')
sha256sums=('SKIP'
            '0a36167bce248b6082045163cf60b143d02ca1e447a791cf0c88e960a7fdc618')

pkgver() {
    cd "${pkgname%-git}"
    git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
}

prepare() {
    cd "${pkgname%-git}"
    jq 'del(.dependencies["node-addon-api", "node-sword-interface"], .devDependencies["electron", "electron-osx-sign", "node-abi", "node-gyp", "pug-cli", "sequelize-cli"])' package.json |
        sponge package.json
    rm -f node_modules/{node-addon-api,node-sword-interface}
    npm install --cache "$srcdir/npm-cache" --no-audit --no-fund
}

build() {
    cd "${pkgname%-git}"
    local _electron="$(electron --version | sed 's/^v//')"
    npx electron-rebuild --version="$_electron"
    node-prune node_modules
    npx electron-packager ./ "${pkgname%-git}" --electron-version="$_electron"
    ./build_scripts/purge_build_artifacts.sh
    npm link node-addon-api node-sword-interface
    npx electron-packager ./ "${pkgname%-git}" \
        --electron-version="$_electron" \
        --overwrite \
        --asar \
        --platform=linux \
        --arch=x64
}

package() {
    cd "${pkgname%-git}"
    install -Dm755 "../${pkgname%-git}.sh" "$pkgdir/usr/bin/${pkgname%-git}"
    install -Dm644 -t "$pkgdir/usr/share/applications/" "${pkgname%-git}.desktop"
    install -Dm644 -t "$pkgdir/usr/lib/${pkgname%-git}/resources/" "${pkgname%-git}-linux-x64/resources/app.asar"
    install -Dm644 -t "$pkgdir/usr/share/licences/${pkgname%-git}/" LICENSE
    install -Dm644 -t "$pkgdir/usr/share/doc/${pkgname%-git}/" {CHANGELOG,README,TECH,LOC_METRICS}.md
    install -Dm644 -t "$pkgdir/usr/share/icons/hicolor/scalable/apps/" icons/${pkgname%-git}.svg
}