77 lines
2.7 KiB
Bash
77 lines
2.7 KiB
Bash
# Maintainer: Zesko
|
|
_pkgname="limine-entry-tool"
|
|
pkgname="limine-mkinitcpio-hook"
|
|
_pkgver=1.37.1
|
|
_extver=""
|
|
pkgver="${_pkgver}${_extver}"
|
|
pkgrel=1
|
|
pkgdesc="Install kernels for the Limine bootloader."
|
|
arch=('x86_64' 'aarch64')
|
|
url="https://gitlab.com/Zesko/limine-entry-tool"
|
|
source=("${_pkgname}::git+${url}.git#tag=${pkgver}")
|
|
source_x86_64=("https://github.com/graalvm/graalvm-ce-builds/releases/download/graal-25.1.3/graalvm-community-jdk-25i1-25.0.3_linux-x64_bin.tar.gz")
|
|
source_aarch64=("https://github.com/graalvm/graalvm-ce-builds/releases/download/graal-25.1.3/graalvm-community-jdk-25i1-25.0.3_linux-aarch64_bin.tar.gz")
|
|
license=("GPL3")
|
|
provides=('limine-entry-tool')
|
|
options=(!debug !strip)
|
|
_graalvm_version=graalvm_ce_jdk25
|
|
depends=(
|
|
'bash'
|
|
'grep'
|
|
'tar'
|
|
'limine'
|
|
'mkinitcpio'
|
|
'efibootmgr')
|
|
optdepends=(
|
|
'kernel-modules-hook: Safely keeps kernel on upgrade failure'
|
|
'sbctl: Signs UEFI boot files for Secure Boot when enabled'
|
|
'journalctl-desktop-notification: Sends desktop notifications when errors occur'
|
|
)
|
|
makedepends=('git' 'gradle')
|
|
backup=(etc/limine-entry-tool.conf)
|
|
conflicts=('limine-entry-tool')
|
|
sha256sums=('e0a1d5800ef1b0a79eee935d1a295d4b929a713686e8bb8340484d402deb5621')
|
|
sha256sums_x86_64=('e9cd1637be853e105f8b09125b4b19fbce385696465d782cbca8bb80e1df8f0d')
|
|
sha256sums_aarch64=('5e79978983439d28506ebef82254fe9f98995121208dc8be77c604f4ad5bc579')
|
|
|
|
prepare() {
|
|
[[ -d "${_graalvm_version}" ]] && rm -rf "${_graalvm_version}"
|
|
mv graalvm-community-*/ "${_graalvm_version}"
|
|
if ! command -v "${_graalvm_version}"/bin/javac >/dev/null 2>&1; then
|
|
echo "Error: ${_graalvm_version}/bin/javac not found." >&2
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
build() {
|
|
cd "$srcdir/${_pkgname}"
|
|
export GRAALVM_HOME="$srcdir/${_graalvm_version}"
|
|
export JAVA_HOME="${GRAALVM_HOME}"
|
|
export NATIVE_IMAGE_OPTIONS="-march=compatibility --future-defaults=all"
|
|
/usr/bin/gradle clean nativeCompile -Dorg.gradle.java.home="${JAVA_HOME}"
|
|
}
|
|
|
|
package() {
|
|
cd "$srcdir/${_pkgname}"
|
|
local src="install/arch-linux"
|
|
|
|
# directories
|
|
install -dm 755 \
|
|
"$pkgdir/usr/share/doc/limine-entry-tool" \
|
|
"$pkgdir/etc/boot/hooks/pre.d" \
|
|
"$pkgdir/etc/boot/hooks/post.d" \
|
|
"$pkgdir/usr/lib/limine"
|
|
|
|
# docs
|
|
install -Dm 644 README.md CHANGELOG.md -t "$pkgdir/usr/share/doc/limine-entry-tool/"
|
|
|
|
# files
|
|
cp -a "$src/limine-entry-tool/etc" "$src/limine-entry-tool/usr" "$pkgdir/"
|
|
cp -a "$src/limine-mkinitcpio-hook/etc" "$src/limine-mkinitcpio-hook/usr" "$pkgdir/"
|
|
install -Dm 755 "build/native/nativeCompile/limine-entry-tool" "$pkgdir/usr/lib/limine/"
|
|
|
|
# limine hook symlinks
|
|
ln -sf /usr/bin/limine-reset-enroll "$pkgdir/etc/boot/hooks/pre.d/10-limine-reset-enroll"
|
|
ln -sf /usr/bin/limine-enroll-config "$pkgdir/etc/boot/hooks/post.d/90-limine-enroll-config"
|
|
}
|