pmaports/main/lk2nd-msm8953/APKBUILD

64 lines
2 KiB
Text
Raw Permalink Normal View History

# Maintainer: Alejandro Tafalla <atafalla@dnyon.com>
pkgname=lk2nd-msm8953
pkgver=0.3.9
pkgrel=0
pkgdesc="Secondary little kernel (lk) bootloader for msm8953 based devices"
arch="aarch64"
url="https://github.com/msm8953-mainline/lk2nd"
license="MIT AND GPL-2.0-only"
makedepends="dtc dtc-dev gcc-arm-none-eabi python3 py3-libfdt"
builddir="$srcdir"/lk2nd-$pkgver
subpackages="$pkgname-motorola-ali:motorola_ali"
source="
lk2nd-$pkgver.tar.gz::https://github.com/msm8953-mainline/lk2nd/archive/refs/tags/$pkgver.tar.gz
o2.patch
"
options="!check !archcheck !tracedeps !strip pmb:cross-native"
# This APKBUILD builds bare metal executable; options are very specific!
# * there are no tests (how do you even test the bootloader?);
# * binaries are "arch-independent"; aarch64 build also produces armv7 binary,
# because ARM CPUs boot in 32-bit mode;
# * there are no depends for bootloader, it's a kernel and OS in one binary;
# * stripping of unused sections is done in lk2nd's own ld script.
_build() {
# This builds baremetal executable; distro-specific compiler flags
# and optimizations can't be set by build system.
unset CFLAGS
unset CXXFLAGS
unset CPPFLAGS
unset LDFLAGS
unset CROSS_COMPILE
unset CC
unset CXX
# ccache and crossdirect "gcc"s are in PATH, get rid of them too,
# redefine PATH to be bare minimum
unset PATH
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
local project="$1"; shift
make TOOLCHAIN_PREFIX=arm-none-eabi- "$@" "$project"
}
build() {
_build msm8953-secondary
_build motorola-ali-secondary
}
package() {
# main package is empty
install -Dm644 "$builddir"/build-msm8953-secondary/lk2nd.img -t \
"$pkgdir"/boot
}
motorola_ali() {
install -Dm644 "$builddir"/build-motorola-ali-secondary/lk2nd.img -t \
"$subpkgdir"/boot
}
sha512sums="
ee0c48094d35cf18a0d9bc7f8eb36d503e43b86a9814ff74eb2bdddcd3493393045c89d98c513d7362b7666de8b8684616455d3a8532a9bb6ecbf64ab43dc5b8 lk2nd-0.3.9.tar.gz
e4d2e116966485aca746bec5bf6ab9855514dc70dfb94ce3cdc9def01c5b36eeddc33e77bdbcfb8f6bb89bb0277fd6dd3e6f8066475dcfc5b5fcdec567af754b o2.patch
"