# Reference: # Maintainer: Alistair Francis # Co-Maintainer: Newbyte # Contributor: Clayton Craft pkgname=linux-purism-librem5 pkgver=6.6.40 pkgrel=1 # NOTE: Don't forget to rebase the config! See prepare() for instructions. _purismrel=2 # . _purismver=${pkgver}pureos$_purismrel pkgdesc="Purism Librem 5 phone kernel fork" arch="aarch64" _carch="arm64" _flavor="purism-librem5" url="https://source.puri.sm/Librem5/linux" license="GPL-2.0-only" options="!strip !check !tracedeps pmb:cross-native pmb:kconfigcheck-community " makedepends=" bash bison devicepkg-dev findutils flex installkernel openssl-dev perl rsync xz " install="$pkgname.post-upgrade" # Source _repository="linux" # kconfig generated with: ARCH=arm64 make defconfig KBUILD_DEFCONFIG=librem5_defconfig _config="config-$_flavor.$arch" source=" $pkgname-$_purismver.tar.gz::https://source.puri.sm/Librem5/linux/-/archive/pureos/$_purismver/linux-pureos-$_purismver.tar.gz $_config " builddir="$srcdir/$_repository-pureos-$_purismver" prepare() { default_prepare REPLACE_GCCH=0 \ . downstreamkernel_prepare ####### Rebase config # The kernel config needs to be periodically rebased to enable new # modules/features that Purism has enabled in their defconfig. This is done # by: 1) generate .config using librem5_defconfig, 2) diff that .config # with the config in this package, 3) carefully going over the diff and # selecting new things enabled in their config. # # This can be uncommented to help generate the defconfig using "pmbootstrap # build linux-purism-librem5". The build will fail (exit 1) to let you grab # the config before it starts building the kernel: # make ARCH="$_carch" CC="${CC:-gcc}" \ # defconfig KBUILD_DEFCONFIG=librem5_defconfig # exit 1 # # After that run the following # cp \ # device/main/linux-purism-librem5/config-purism-librem5.aarch64 # pmbootstrap kconfig edit linux-purism-librem5 # pmbootstrap kconfig check linux-purism-librem5 } build() { unset LDFLAGS make ARCH="$_carch" CC="${CC:-gcc}" \ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS" \ LOCALVERSION=".$_purismrel" } package() { downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" make modules_install dtbs_install \ ARCH="$_carch" \ INSTALL_MOD_PATH="$pkgdir" \ INSTALL_DTBS_PATH="$pkgdir/boot/dtbs" } sha512sums=" b16f6d040024d826d4ac7a33ad23137fafbf1ac7ac8adeef3fd80a80dc308b70cf572de6e4a451eb607b1d18ad58c03493108c7a1ff9b26fa2bd03a475002903 linux-purism-librem5-6.6.40pureos2.tar.gz 2982f5950820153cef5167b2cfebff7310b682266fda67fa370cebb8b6a93877f331a0f0877b127fc5ad186a72c9e6ed8b181ceeb6eb9ce74a56a4e9e4805ad2 config-purism-librem5.aarch64 "