diff options
Diffstat (limited to 'community/limine/APKBUILD')
-rw-r--r-- | community/limine/APKBUILD | 142 |
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 +" |