Files
pmaports-rtwo/device/main/linux-postmarketos-stable/APKBUILD
T

140 lines
4.7 KiB
Bash

# Co-Maintainer: Achill Gilgenast <achill@achill.org>
maintainer="Aelin <aelin@postmarketos.org>"
pkgname=linux-postmarketos-stable
pkgver=7.1.7
pkgrel=0
_kver=${pkgver%.*}
pkgdesc="Stable Kernel"
# armhf: pmbootstrap cannot dynamically choose a defconfig, so it ends up using multi_v7_defconfig which isn't correct
# s390x: kconfigcheck is not ready for it yet
arch="all !armhf !s390x"
_flavor="stable"
url="https://kernel.org"
license="GPL-2.0-only"
options="
!check
!strip
!tracedeps
pmb:cross-native
pmb:generic-kernel
pmb:kconfigcheck-community
pmb:kconfigcheck-immutable
pmb:kconfigcheck-lockdown
pmb:kconfigcheck-rust
pmb:kconfigcheck-selinux
pmb:kconfigcheck-uefi
pmb:kconfigcheck-virt
"
makedepends="
bash
bison
clang
clang-libclang
diffutils
elfutils-dev
findutils
flex
grep
kmod
linux-headers
lld
llvm
openssl-dev
pahole
perl
postmarketos-installkernel
python3
rust
rust-bindgen
rust-src
rustfmt
sed
zstd
"
replaces="linux-stable"
# powerpc boot wrapper patches:
# Necessary for compilation without cross GCC in PATH, cherry-picked from
# Nathan's fork, he does not have time to upstream them right now but would be
# happy if someone else did:
# https://lore.kernel.org/linuxppc-dev/aXs8sgAcci9FKKpx@luna/
source="
linux-$_kver.tar.xz::https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kver.tar.xz
0001-WIP-arch-powerpc-boot-Support-LLVM-1-in-wrapper-scri.patch
0002-WIP-arch-powerpc-boot-Use-z-notext-for-pseries-image.patch
0003-WIP-arch-powerpc-boot-Add-z-norelro.patch
config-stable.aarch64
config-stable.armv7
config-stable.loongarch64
config-stable.ppc64le
config-stable.riscv64
config-stable.x86
config-stable.x86_64
"
builddir="$srcdir/linux-$_kver"
if [ "${pkgver%.0}" = "$pkgver" ]; then
# Prepend to apply first
source="patch-$pkgver.patch.xz::https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/patch-$pkgver.xz $source"
fi
case "$CARCH" in
aarch64*) _carch="arm64" ;;
arm*) _carch="arm" ;;
loongarch*) _carch="loongarch" ;;
ppc*) _carch="powerpc" ;;
riscv*) _carch="riscv" ;;
s390x) _carch="s390" ;;
x86) _carch="i386" ;;
x86_64) _carch="x86_64" ;;
esac
prepare() {
default_prepare
cp "$srcdir/config-$_flavor.$CARCH" .config
}
build() {
unset LDFLAGS
make ARCH="$_carch" LLVM=1 HOSTLDFLAGS="-fuse-ld=lld" \
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-$_flavor"
}
package() {
local _install
case "$CARCH" in
arm*|aarch64|riscv*) _install="zinstall dtbs_install" ;;
*) _install="install" ;;
esac
make modules_install $_install \
ARCH="$_carch" \
LLVM=1 \
INSTALL_PATH="$pkgdir"/boot \
INSTALL_MOD_PATH="$pkgdir"/usr \
INSTALL_MOD_STRIP=1 \
INSTALL_DTBS_PATH="$pkgdir"/boot/dtbs
rm -f "$pkgdir"/usr/lib/modules/*/build "$pkgdir"/usr/lib/modules/*/source
install -D "$builddir"/include/config/kernel.release \
"$pkgdir"/usr/share/kernel/"$_flavor"/kernel.release
}
sha512sums="
ec8107785cc22510ff8fca179ef837fb7dd2db2a7c11b31f3e859dbd77170419d5f5f72837bcba8e3a3c617c19707a04c841aa373c60aceeab86329860c7a5cd patch-7.1.7.patch.xz
d4d9c45261813559341c67ea53d4a47f5a04d1ad15e3c2b8222a09b5483380d2bfd31b8c675e144db2eb91f560d6cb28f66187a5ea4f24f6dfb82a4ad48064cc linux-7.1.tar.xz
1f11df2480e9f691573283597160b4c806e492cdca4825f3acb3afb70bde43abfab487bcde1f5553b431a702a0039479d041b0ce7859970e706b5a51d2ad8fb0 0001-WIP-arch-powerpc-boot-Support-LLVM-1-in-wrapper-scri.patch
26521a9c9ea769534095dc4e306babadc8bcbaf03d7faa523c377e41ba0f742ecd0490fa27791d895f729c3ae8845297dca59b4db2475e7f078e689c447430bc 0002-WIP-arch-powerpc-boot-Use-z-notext-for-pseries-image.patch
302c20c85559fc9b3b2420ed25be1bfbb76c87f2a470e4141c32e9542cf1f5c6b3b5a7847231a3eaa0f6bc0e5942d0c1599e807175dcf5e63469704c3d6adde3 0003-WIP-arch-powerpc-boot-Add-z-norelro.patch
ae67d3960f701c7f8ee18c3efec145f4514640a798375bf56397f84c433cab05e2b95a5153cb8fb65f2d2ab4b80e04d93ccb82e8884cc8fb6d8581c4a76ad91d config-stable.aarch64
623f3439aafec75b59efbf996916d709d61ac45d0a83649ff9b87b3b1d72e838c85b7746f443f7154f0168e5d6bf0342ccbf9f529e63bd023f1a87af08bdbbed config-stable.armv7
eeef652373f53ca66926cf050e1b8871790963434573615ae83005723ecca6ce5d04d6c3fee89948c2b38d209bb7757c5e9c9a34a62c21a88de929256af5adbb config-stable.loongarch64
22d26d4d75d549e6ba85f9d34cb309a9193d01606310ea039f4f0894e4a55451a2163f36d8db021008e887a45027028d111b64b0865c3de3dfb103d53efb3236 config-stable.ppc64le
9b1c1aec4faf1389d280f8941a437ba13c00830335fcbb8476dff392ef8c9343503efa84a8c29391ee00ea79fb5e7955e1576cbd63668b55b8da563807f43a91 config-stable.riscv64
88b9f4be2a987f4e347e4d60dc9f1f0489636b0bfa36639f827fb73364e1482249d10026f76316c16fa7686a2b0f39f4e3cddce7f24daef464a26589e60a1eb1 config-stable.x86
eb0a392aec94ee87200ebf962d15ac5db6ec745a651798faf17b88a8a28d7fc39d92e133954e270434fe99ec52dd4357c4af96b26a34df3905eebc99a42fadb1 config-stable.x86_64
"