Install this version:
emerge -a =sys-kernel/xanmod-kernel-7.2.4
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =sys-kernel/xanmod-kernel-7.2.4
Or alternatively:
emerge --autounmask-write -a =sys-kernel/xanmod-kernel-7.2.4
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 7.2.4 | 8 | ~amd64 |
# Copyright 2020-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LLVM_COMPAT=(19 20 21 22)
DESCRIPTION="XanMod kernel built with Gentoo patches and cjktty"
HOMEPAGE="
https://www.kernel.org/
https://xanmod.org/
"
CJKTTY_PV="7.2"
inherit kernel-build toolchain-funcs llvm-r2 cjktty
MY_P=linux-${PV%.*}
# Note: to bump xanmod, check PATCHSET in sys-kernel/gentoo-kernel
PATCHSET=linux-gentoo-patches-7.1.9
XV="1"
SRC_URI+="
https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
https://distfiles.gentoo.org/pub/proj/dist-kernel/patchsets/$(ver_cut 1-2)/${PATCHSET}.tar.xz
https://downloads.sourceforge.net/project/xanmod/releases/main/${PV}-xanmod1/patch-${PV}-xanmod1.xz
"
S=${WORKDIR}/${MY_P}
LICENSE+=" GPL-2"
KEYWORDS="~amd64"
IUSE+=" cjk clang debug"
BDEPEND="
clang? (
$(llvm_gen_dep '
llvm-core/llvm:${LLVM_SLOT}
llvm-core/clang:${LLVM_SLOT}
llvm-core/lld:${LLVM_SLOT}
')
)
sys-libs/binutils-libs
"
PDEPEND="
=virtual/dist-kernel-${PV}-r100
"
QA_FLAGS_IGNORED="usr/src/linux-.*/scripts/gcc-plugins/.*.so usr/src/linux-.*/certs/.*.o"
pkg_setup() {
ewarn ""
ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
ewarn "You have to configure the kernel by yourself."
ewarn "Generally emerge this package using default config will fail to boot."
ewarn "If you need support, please contact the ${HOMEPAGE} or maintainer directly."
ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
ewarn "the ebuilds. Thank you."
ewarn ""
if use clang && ! tc-is-clang; then
export LLVM_IAS=1
export LLVM=1
export CC=clang
export LD=ld.lld
export AR=llvm-ar
export NM=llvm-nm
export OBJCOPY=llvm-objcopy
export OBJDUMP=llvm-objdump
export READELF=llvm-readelf
export STRIP=llvm-strip
else
tc-export CXX CC
fi
}
src_prepare() {
local PATCHES=(
# xanmod patches
"${WORKDIR}"/patch-${PV}-xanmod${XV}
# genpatches
"${WORKDIR}/${PATCHSET}"/*.patch
)
eapply "${PATCHES[@]}"
cjktty_apply_patches
eapply_user
# prepare the default config
case ${ARCH} in
amd64)
cp "${S}/CONFIGS/x86_64/config" .config || die
XV="${XV}-x64v3"
;;
*)
die "Unsupported arch ${ARCH}"
;;
esac
echo "CONFIG_MODPROBE_PATH=\"/sbin/modprobe\"" >"${T}"/modprobe.config || die
local merge_configs=(
"${T}"/modprobe.config
)
if use cjk; then
local cjk32_config='# CONFIG_FONT_CJK_32x32 is not set'
use cjk32 && cjk32_config='CONFIG_FONT_CJK_32x32=y'
cat > "${T}"/cjk.config <<-EOF || die
CONFIG_FONTS=y
CONFIG_FONT_CJK_16x16=y
${cjk32_config}
EOF
merge_configs+=( "${T}"/cjk.config )
fi
kernel-build_merge_configs "${merge_configs[@]}"
# delete localversion
rm "${S}/localversion" || die
}
Manage flags for this package:
euse -i <flag> -p sys-kernel/xanmod-kernel |
euse -E <flag> -p sys-kernel/xanmod-kernel |
euse -D <flag> -p sys-kernel/xanmod-kernel
clang? ( $(llvm_gen_dep ' llvm-core/llvm:${LLVM_SLOT} llvm-core/clang:${LLVM_SLOT} llvm-core/lld:${LLVM_SLOT} ') ) sys-libs/binutils-libs