summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: cf82b8355766227082871eb59cad544254428840 (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
# Maintainer: dreamscached <dreamscache.d@gmail.com>
pkgname=recaf
pkgver=2.20.2
pkgrel=1
pkgdesc="A modern Java bytecode editor"
arch=("any")
url="https://github.com/Col-E/Recaf"
license=("MIT")
depends=("java-runtime" "java-openjfx")
makedepends=("jdk-openjdk")
noextract=("$pkgname-$pkgver-J8-jar-with-dependencies.jar")
source=(
    "https://github.com/Col-E/Recaf/releases/download/$pkgver/$pkgname-$pkgver-J8-jar-with-dependencies.jar"
    "https://raw.githubusercontent.com/Col-E/Recaf/$pkgver/LICENSE"
)
sha256sums=(
    "41dde82a4a7d3b860b7172cdf0d8324cd02e669a8e1a4052bd33575ac17bb7da"
    "a13cb1a246bc0986c7185510a7ea9880e9f8eaf6d3a0437e2f3f2e2e85e9abb5"
)

prepare() {
    # Extract logo
    jar xf "$srcdir/$pkgname-$pkgver-J8-jar-with-dependencies.jar" icons/logo.png
}

package() {
    # Install LICENSE to canonical location
    install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"

    # Install JAR to canonical location
    install -Dm755 "$srcdir/$pkgname-$pkgver-J8-jar-with-dependencies.jar" "$pkgdir/usr/share/java/$pkgname/$pkgname.jar"

    # Install logo to canonical location
    install -Dm644 "$srcdir/icons/logo.png" "$pkgdir/usr/share/pixmaps/recaf.png"

    # Build exec script
    printf '#!/usr/bin/env bash\nexec java -cp "/usr/lib/jvm/default-runtime/lib/*:/usr/share/java/%s/%s.jar" "me.coley.recaf.Recaf" "$@"' "$pkgname" "$pkgname" > "$srcdir/recaf"

    # Write .desktop file
    printf "[Desktop Entry]\nType=Application\nVersion=1.0\nName=Recaf\nComment=%s\nPath=/usr/bin\nExec=recaf %%u\nIcon=recaf\nTerminal=false\nCategories=Development;Java" "$pkgdesc" > "$srcdir/recaf.desktop"

    # Install exec script to canonical location
    install -Dm755 "$srcdir/recaf" "$pkgdir/usr/bin/recaf"

    # Install .desktop to canonical location
    install -Dm644 "$srcdir/recaf.desktop" "$pkgdir/usr/share/applications/recaf.desktop"

    # Modify permissions
    chmod 775 "$pkgdir/usr/bin/$pkgname"
}