pmaports/main/linux-postmarketos-allwinner/APKBUILD

91 lines
2.7 KiB
Text
Raw Normal View History

_flavor=postmarketos-allwinner
_config="config-${_flavor}.${CARCH}"
pkgname=linux-${_flavor}
pkgver=5.1.0_git20190521
pkgrel=0
arch="aarch64"
pkgdesc="Kernel fork with PinePhone Don't be evil patches"
url="https://kernel.org/"
depends=""
makedepends="devicepkg-dev perl sed installkernel bash gmp-dev bc linux-headers elfutils-dev openssl-dev file bison flex"
options="!strip !check !tracedeps"
install=
_commit="bc1984d747095d285236f0d20f691e421f3bbfc3"
source="
${pkgname}-${_commit}.tar.gz::https://gitlab.com/pine64-org/linux/-/archive/${_commit}/linux-${_commit}.tar.gz
config-${_flavor}.aarch64
sun50i-a64-dontbeevil.dts
"
subpackages=""
license="GPL2"
_abi_release=$_pkgver
_carch=${CARCH}
case "$_carch" in
aarch64*) _carch="arm64" ;;
arm*) _carch="arm" ;;
ppc*) _carch="powerpc" ;;
s390*) _carch="s390" ;;
esac
HOSTCC="${CC:-gcc}"
HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
builddir="$srcdir/linux-${_commit}"
prepare() {
default_prepare
cp "$srcdir"/sun50i-a64-dontbeevil.dts "$builddir"/arch/arm64/boot/dts/allwinner/
REPLACE_GCCH=0 \
downstreamkernel_prepare "$srcdir" "$builddir" "$_config" "$_carch" "$HOSTCC"
}
build() {
unset LDFLAGS
make ARCH="$_carch" CC="${CC:-gcc}" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-${_flavor}" \
CFLAGS_MODULE=-fno-pic
}
package() {
# kernel.release
install -D "$builddir/include/config/kernel.release" \
"$pkgdir/usr/share/kernel/$_flavor/kernel.release"
# zImage (find the right one)
cd "$builddir/arch/$_carch/boot"
_target="$pkgdir/boot/vmlinuz-$_flavor"
for _zimg in zImage-dtb Image.gz-dtb *zImage Image; do
[ -e "$_zimg" ] || continue
msg "zImage found: $_zimg"
install -Dm644 "$_zimg" "$_target"
break
done
if ! [ -e "$_target" ]; then
error "Could not find zImage in $PWD!"
return 1
fi
cd "$builddir"
local _install
case "$CARCH" in
aarch64*|arm*) _install="modules_install dtbs_install" ;;
*) _install="modules_install" ;;
esac
make -j1 $_install \
ARCH="$_carch" \
INSTALL_MOD_PATH="$pkgdir" \
INSTALL_DTBS_PATH="$pkgdir/usr/share/dtb"
}
sha512sums="da8d27d3660864584e2910e62f76da7fae4199d79c0c53a90afb5e344045292baeb3755d50523c702e96f2f0950d0feac93aa262d836731a1037485ab570899d linux-postmarketos-allwinner-bc1984d747095d285236f0d20f691e421f3bbfc3.tar.gz
5a04df0f76344b247cab894c8a41b2683e75b08209f1a957948a91f99979080ab07a1695ee266d17a4a85146145cb677ccc63a40722b1ae43ba0a7886f28de92 config-postmarketos-allwinner.aarch64
bbb379b359239dc40a8096c27a1d5f73371e744eeb024ffc50ec6c6de0f28624cfedd44b8eedc2288e70a33c5ff427bbe1a03a5c4d860bed8a9b7df6471c01d4 sun50i-a64-dontbeevil.dts"