# Maintainer: MischiefTomato # Contributor: Joan Figueras # Contributor: Torge Matthies # Contributor: Jan Alexander Steffens (heftig) # Contributor: Yoshi2889 # Contributor: Tobias Powalowski # Contributor: Thomas Baechler ## Set 98 (Intel native) or 99 (AMD native) if [ -z ${_microarchitecture+x} ]; then _microarchitecture=0 fi ## Choose between GCC and CLANG config (default is GCC) if [ -z ${_compiler+x} ]; then _compiler=gcc fi # Compress modules with ZSTD (to save disk space) if [ -z ${_compress_modules+x} ]; then _compress_modules=y fi pkgbase=linux-mt _major=5.15 _minor=12 _branch=5.x pkgver=${_major}.${_minor} pkgrel=1 pkgdesc='Linux zen kernel with personal customizations.' _srctag=v${pkgver}-zen1 url="https://kernel.org/" arch=(x86_64) license=(GPL2) makedepends=( bc kmod libelf pahole cpio perl tar xz xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick git ) options=('!strip') _srcname="zen-kernel" source=( "https://cdn.kernel.org/pub/linux/kernel/v${_branch}/linux-${_major}.${_minor}.tar."{xz,sign} # kernel package "https://github.com/zen-kernel/zen-kernel/releases/download/v5.15.12-zen1/${_srctag}.patch."{xz,xz.sig} # zen patches "https://raw.githubusercontent.com/graysky2/kernel_compiler_patch/master/more-uarches-for-kernel-5.15+.patch" # cpu optimizations patch choose-gcc-optimization.sh "https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/linux-zen/trunk/config" # Config file ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman 'A2FF3A36AAA56654109064AB19802F8B0D70FC30' # Jan Alexander Steffens (heftig) 'C7E7849466FE2358343588377258734B41C31549' # David Runge 'C5ADB4F3FEBBCE27A3E54D7D9AE4078033F8024D' # Steven Barrett ) sha256sums=('7de919772b62647591527e904e3b3583783381a29d812404f58a222484e751a0' 'SKIP' '621b0752de444144126bd04a70a5d8d976f55eaa17734ebcf87bc0d731028a78' 'SKIP' '380bcf40cc8396e97bd1d7f2577ab2ace51885858d3f155b1fb2dd5469efd00d' 'f0559045319db718af902f0f9f1ba183b63d89190a4d2dceb0d39d6a814156f7' 'de0f863e315ab2de7671ce512f6755ae14b58a64f21e48bd2b0158d719533011') export KBUILD_BUILD_HOST=${KBUILD_BUILD_HOST:-archlinux} export KBUILD_BUILD_USER=${KBUILD_BUILD_USER:-makepkg} export KBUILD_BUILD_TIMESTAMP=${KBUILD_BUILD_TIMESTAMP:-$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})} prepare() { cd linux-${_major}.${_minor} echo "Setting version..." scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname # Patching local src for src in "${source[@]}"; do src="${src%%::*}" src="${src##*/}" [[ $src = *.patch ]] || continue echo "Applying patch $src..." patch -Np1 < "../$src" done echo "Setting config..." cp ../config .config make olddefconfig diff -u ../config .config || : # Enable NO_HZ_FULL like Fedora scripts/config --enable CONFIG_NO_HZ_FULL # Let's user choose microarchitecture optimization in GCC sh ${srcdir}/choose-gcc-optimization.sh $_microarchitecture make -s kernelrelease > version echo "Prepared $pkgbase version $(