# Maintainer: Alejandro Tafalla pkgname=lk2nd-msm8953 pkgver=0.3.4 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 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 make TOOLCHAIN_PREFIX=arm-none-eabi- msm8953-secondary } package() { # main package is empty install -Dm644 "$builddir"/build-msm8953-secondary/lk2nd.img -t \ "$pkgdir"/boot } sha512sums=" f0bdf90c4f77cb614de9e6976632db8fc915d28178d6a070651fc59c97a4f99f72131f0e5a366d078f24ffdb44c1810e11253a6452a236e51d22accc3e457c53 lk2nd-0.3.4.tar.gz e4d2e116966485aca746bec5bf6ab9855514dc70dfb94ce3cdc9def01c5b36eeddc33e77bdbcfb8f6bb89bb0277fd6dd3e6f8066475dcfc5b5fcdec567af754b o2.patch "