aboutsummaryrefslogtreecommitdiffstats
path: root/community/limine/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'community/limine/APKBUILD')
-rw-r--r--community/limine/APKBUILD142
1 files changed, 142 insertions, 0 deletions
diff --git a/community/limine/APKBUILD b/community/limine/APKBUILD
new file mode 100644
index 00000000000..4e29f58724a
--- /dev/null
+++ b/community/limine/APKBUILD
@@ -0,0 +1,142 @@
+# Maintainer: streaksu <streaksu@member.fsf.org>
+pkgname=limine
+pkgver=7.4.0
+pkgrel=0
+pkgdesc="Advanced, portable, multiprotocol bootloader"
+url="https://limine-bootloader.org"
+# only these supported
+arch="aarch64 x86 x86_64 riscv64"
+license="BSD-2-Clause"
+install="
+ $pkgname.post-install
+ $pkgname-efi-updater.post-upgrade
+ "
+makedepends="
+ clang
+ lld
+ llvm
+ mtools
+ nasm
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-dev
+ $pkgname-cd:_cd
+ $pkgname-pxe
+ $pkgname-sys
+ $pkgname-x86_32:_32
+ $pkgname-efi-updater:updater
+ "
+source="https://github.com/limine-bootloader/limine/releases/download/v$pkgver/limine-$pkgver.tar.gz
+ limine-efi-updater.sh
+ limine-efi.conf
+ "
+options="!check" # no tests in tarball
+
+case "$CARCH" in
+aarch64|riscv64|x86_64)
+ # can't build these on x86
+ subpackages="
+ $subpackages
+ $pkgname-x86_64:_64
+ $pkgname-aarch64:_64_arm
+ $pkgname-riscv64:_64_riscv
+ "
+ _conf="--enable-all"
+ ;;
+x86)
+ _conf="
+ --enable-bios
+ --enable-bios-cd
+ --enable-bios-pxe
+ --enable-uefi-cd
+ --enable-uefi-ia32
+ "
+ ;;
+esac
+
+build() {
+ ./configure \
+ --host=$CHOST \
+ --prefix=/usr \
+ $_conf
+ make
+}
+
+package() {
+ provides="$pkgname-enroll-config=$pkgver-r$pkgrel $pkgname-deploy=$pkgver-r$pkgrel"
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "$srcdir"/limine-efi.conf -t "$pkgdir"/etc/limine/
+ install -Dm755 "$srcdir"/limine-efi-updater.sh -t "$pkgdir"/usr/bin/
+}
+
+_cd() {
+ pkgdesc="$pkgdesc (cd/efi files)"
+ depends="$pkgname=$pkgver-r$pkgrel $pkgname-sys=$pkgver-r$pkgrel"
+
+ amove usr/share/limine/limine-*-cd.bin
+}
+
+pxe() {
+ pkgdesc="$pkgdesc (pxe executable)"
+ depends="$pkgname=$pkgver-r$pkgrel $pkgname-sys=$pkgver-r$pkgrel"
+
+ amove usr/share/limine/limine-bios-pxe.bin
+}
+
+sys() {
+ pkgdesc="$pkgdesc (sys file)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove usr/share/limine/limine-bios.sys
+}
+
+_32() {
+ pkgdesc="$pkgdesc (32-bit x86 uefi image)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ # renamed to be less vague
+ provides="$pkgname-32=$pkgver-r$pkgrel"
+ replaces="$pkgname-32"
+
+ amove usr/share/limine/BOOTIA32.EFI
+}
+
+_64() {
+ pkgdesc="$pkgdesc (64-bit x86 uefi image)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ # renamed to be less vague
+ provides="$pkgname-64=$pkgver-r$pkgrel"
+ replaces="$pkgname-64"
+
+ amove usr/share/limine/BOOTX64.EFI
+}
+
+_64_arm() {
+ pkgdesc="$pkgdesc (64-bit aarch64 uefi image)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove usr/share/limine/BOOTAA64.EFI
+}
+
+_64_riscv() {
+ pkgdesc="$pkgdesc (64-bit riscv64 uefi image)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove usr/share/limine/BOOTRISCV64.EFI
+}
+
+updater() {
+ pkgdesc="Limine auto-updater for EFI payload"
+
+ amove etc/limine/limine-efi.conf
+ amove usr/bin/limine-efi-updater.sh
+}
+
+sha512sums="
+1f3a8c3f72a89f75794394b129e04ab40d805861c8d35f91ee6fd41e75cf0cdc05adde7bcbc689123ed315f668de88939349ed401eba33ab1a7a05cb1d5d0d1f limine-7.4.0.tar.gz
+e4a92c519e5a17bae16ec31dcdc7faeefbbaf12531744839e4ce5335a347a15c3955ac2c36ddf848abc33651b2e9536d298356dac8f2c6a54f9a8dff34a69a0d limine-efi-updater.sh
+394c5067b850eb7b8b236c172471c6b9d152a4ef823d2f6b71396199fbe798638ef4031e60402fdfdfc9425aed0b7e119d15625fc0007622d35fbfadf9457cf8 limine-efi.conf
+"