1 # Copyright 2020-2024 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
6 inherit kernel-build toolchain-funcs
9 #Note: to bump xanmod, check GENPATCHES_P in sys-kernel/gentoo-kernel
10 GENPATCHES_P
=genpatches-
${PV%.*}-$
((${PV##*.} + 2))
13 DESCRIPTION
="XanMod lts kernel built with Gentoo patches and cjktty"
14 HOMEPAGE
="https://www.kernel.org/"
15 SRC_URI
+=" https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
16 https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
17 https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
18 https://download.sourceforge.net/xanmod/patch-${PV}-xanmod1.xz"
23 IUSE
="clang debug +x86-64-v2 x86-64-v3 x86-64-v4"
24 REQUIRED_USE
="^^ ( x86-64-v2 x86-64-v3 x86-64-v4 )"
27 >=virtual/dist-kernel-${PV}"
29 QA_FLAGS_IGNORED
="usr/src/linux-.*/scripts/gcc-plugins/.*.so"
33 ewarn
"${PN} is *not* supported by the Gentoo Kernel Project in any way."
34 ewarn
"You have to configure the kernel by yourself."
35 ewarn
"Generally emerge this package using default config will fail to boot."
36 ewarn
"If you need support, please contact the ${HOMEPAGE} or maintainer directly."
37 ewarn
"Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
38 ewarn
"the ebuilds. Thank you."
40 if use clang
&& ! tc-is-clang
; then
47 export OBJCOPY
=llvm-objcopy
48 export OBJDUMP
=llvm-objdump
49 export READELF
=llvm-readelf
50 export STRIP
=llvm-strip
58 # delete linux version patches
59 rm "${WORKDIR}"/*${MY_P}*.
patch
63 "${WORKDIR}"/patch-${PV}-xanmod${XV}
69 # prepare the default config
72 if use x86-64-v2; then
73 cp "${S}/CONFIGS
/xanmod
/gcc
/config_x86-64-v2
" .config || die
75 elif use x86-64-v3; then
76 cp "${S}/CONFIGS
/xanmod
/gcc
/config_x86-64-v3
" .config || die
78 elif use x86-64-v4; then
79 cp "${S}/CONFIGS
/xanmod
/gcc
/config_x86-64-v4
" .config || die
84 die "Unsupported arch
${ARCH}"
88 local myversion="-xanmod${XV}"
89 echo "CONFIG_LOCALVERSION
=\"${myversion}\"" >"${T}"/version.config || die
90 echo "CONFIG_MODPROBE_PATH
=\"/sbin
/modprobe
\"" >"${T}"/modprobe.config || die
94 "${T}"/modprobe.config
97 kernel-build_merge_configs "${merge_configs[@]}"
99 rm "${S}/localversion
" || die