summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 3ff18152924835673d30817608555e8dcae3afd3 (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
# Maintainer: Zesko
_pkgname="limine-entry-tool"
pkgname="limine-dracut-support"
pkgver=1.17.0
pkgrel=1
pkgdesc="Install kernel for the Limine bootloader."
arch=("any")
url="https://gitlab.com/Zesko/limine-entry-tool"
source=("$_pkgname-$pkgver.tar.gz::$url/-/archive/$pkgver/$_pkgname-$pkgver.tar.gz")
license=("GPL3")
provides=('limine-entry-tool')
_java_version=17
depends=(
    'bash'
    'grep'
    'java-environment>='${_java_version}
    'limine'
    'dracut'
    'efibootmgr')
optdepends=(
    'systemd: bootctl detects ESP path automatically.'
    'sbctl: signs bootable EFI files for Secure Boot when enabled.'
    'journalctl-desktop-notification: It notifies you on Desktop when an error occurs.'
)
makedepends=('git' 'maven')
backup=(etc/limine-entry-tool.conf)
conflicts=('limine-dracut-support-git' 'limine-entry-tool')
sha256sums=('4741db746aaa0d1412d405d7ade356630cc751c0d2a3bc749c18e9a62ae045dc')

check_java_version() {
    local java_version
    java_version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}' | cut -d'.' -f1)

    if [[ -z "$java_version" ]]; then
        echo "Error: Java version ${_java_version} is not installed or not set." >&2
        echo "Please check with: 'archlinux-java status'"
        echo "If java ${_java_version} or a newer version is installed, run 'archlinux-java set java-${_java_version}-openjdk' or a newer version."
        return 1
    fi

    if [[ "$java_version" -lt ${_java_version} ]]; then
        echo "Error: Java version $java_version is older than the required ${_java_version}."
        echo "Please check with: 'archlinux-java status'"
        echo "If java ${_java_version} or a newer version is installed, run 'archlinux-java set java-${_java_version}-openjdk' or a newer version."
        return 1
    fi
}

build() {
    unset JAVA_HOME JAVA_OPTS JDK_JAVA_OPTIONS JAVA_TOOL_OPTIONS
    if check_java_version; then
        cd "$srcdir/${_pkgname}-${pkgver}"
        mvn clean package
    else
        return 1
    fi
}

package() {
    cd "$srcdir/${_pkgname}-${pkgver}"
    src_path="install/arch-linux/${pkgname}"
    install -dm 755 $src_path/usr/share/java/
    install -Dm 644 target/limine-entry-tool*.jar $src_path/usr/share/java/
    install -dm 755 $src_path/usr/share/doc/${pkgname}/
    cp -r README.md CHANGELOG.md $src_path/usr/share/doc/${pkgname}/
    cp -r $src_path/usr $src_path/etc "$pkgdir"
}