diff --git a/sys-kernel/xanmod-rt-kernel/Manifest b/sys-kernel/xanmod-rt-kernel/Manifest index 277be42..48cf2c4 100644 --- a/sys-kernel/xanmod-rt-kernel/Manifest +++ b/sys-kernel/xanmod-rt-kernel/Manifest @@ -1,5 +1,9 @@ DIST genpatches-6.6-31.base.tar.xz 1700036 BLAKE2B 52497ce73dc1a0eaac0a73b7c9a8bcd02925afae9d3064e4709e17dd89184100177c6c1b8b6819448a89246cde6a6f29b82a51d906a362df0dd40b182992f872 SHA512 e4933aa19770d54e5524efc03e02be8a0c9b1eea62a53458584603e5add1d8123d279ba41cc8c33d65152a0a0649ae53ce0fd8a88b5582b39865f83b84a031e0 DIST genpatches-6.6-31.extras.tar.xz 3704 BLAKE2B 25bfb920528a71136639dcd536f1b8182ce687d5e8059c29539ed6ea348928cab361867afeb0eef55b040fa3860c44d7510ae9d453a805785567515a7157d009 SHA512 f7e7e6b2407752f2f868afef958e88dcdfd1788bb518f17eb60baaec43e55cc69b9185ae55c515b9bc617dc1aa7d1a958b8980ffafd95228aa3322ca104a8fa3 +DIST genpatches-6.6-37.base.tar.xz 1986828 BLAKE2B 003cfae8adc04f3ea319ecff4344662e27df5d501bcdcb1801d6b429ac85a60834a896a9222e0b9ba7c173376fa137a2470cb04f08289abd6805a2f0b07b0b0e SHA512 e21bc0eac8103091dae7d3e5d29ceebb4e47eb3e1fe63d577b0d000444837d723568c13bfac4f5deb61132dc3adc153e8de4661a15e6880b38fb097bb143bbf1 +DIST genpatches-6.6-37.extras.tar.xz 3736 BLAKE2B e54e5dc4b2cc854dbac9fc0d03dad93cbe4aa639142090271abcc0e797ab28e3377986f46767df8d6802edaed058e1b3999067c96d05ec8bbb42f48e33f96cb6 SHA512 be6299eedccde2d9e4cd37d4df14ef6c6a404892f18c40c4acfac31dfd20f1f0c28be767fccd8a7ee0817b32490057c76fc01d895f979686ade5a0357a59515b DIST gentoo-kernel-config-g11.tar.gz 5077 BLAKE2B dc17ded74f79baddd703a78084113b85e7130877b300b5fe60453cde515fe37c52ece7877049bb0ef384f74ecfc73d59d7d4a513f8fef7bf4f651599946383e8 SHA512 e91156765ef2a48396370f884fdecd7bb1d600e5167f6bad51130520f886e9198adae375adf3e40fa803abc5d5482057775fb0275ab2589bd8f94d8af4a03c4e +DIST gentoo-kernel-config-g13.tar.gz 5759 BLAKE2B 831f89078e539c8b4ce244528dfd847c12a45b52d540eb10d85ec0d9deb1c14288d8de12456865c92d16e3523ec3595676787a8f3b79545d76870b0fb68deb5d SHA512 2a7230cce57a67e3333f9a88a311afe4a928e27ce76036747451cb77d3186569ad11d7a5b827748ad53290a17ad63637a8362ca896516f85ff0944a8d68265a6 DIST linux-6.6.tar.xz 140064536 BLAKE2B 5f02fd8696d42f7ec8c5fbadec8e7270bdcfcb1f9844a6c4db3e1fd461c93ce1ccda650ca72dceb4890ebcbbf768ba8fba0bce91efc49fbd2c307b04e95665f2 SHA512 458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35 DIST patch-6.6.25-rt29-xanmod1.xz 1807652 BLAKE2B 187e9ba979bc90371047defe682700754fbbbf0a0d360dc2e3221ca52bc775ba99bfc88a8acc657078ecd3e9b7aec47edbd963d9b52efb1f33c652b976db3007 SHA512 7d180b2976392c7799a69290a4152f8bd9ae75e6b544236bc42cbf7f69481edfa21f7efa7059875f733c3e24502c28c2d575fc877de78a323c407808c10becd2 +DIST patch-6.6.30-rt30-xanmod1.xz 2045864 BLAKE2B 3ec29bda7b75a908498163f5ce6baef6ec67186c05fb627d88a7362ea6a4001355b299437a59b2cb5e1a9da7b2c712ee082486164b209b8ef304b09c832a08d0 SHA512 a3e3b59eff8c0b9b72e34378ffc50675ec5f1b3371045c2a891f2a702b0834a65103abbf3543d55812ba902da4eb15ed4d32c5baade8ee907cd89066c0b610fe diff --git a/sys-kernel/xanmod-rt-kernel/xanmod-rt-kernel-6.6.30_p30.ebuild b/sys-kernel/xanmod-rt-kernel/xanmod-rt-kernel-6.6.30_p30.ebuild new file mode 100644 index 0000000..4b050be --- /dev/null +++ b/sys-kernel/xanmod-rt-kernel/xanmod-rt-kernel-6.6.30_p30.ebuild @@ -0,0 +1,109 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KERNEL_IUSE_GENERIC_UKI=1 +KERNEL_IUSE_MODULES_SIGN=1 + +inherit kernel-build + +MY_P=linux-${PV%.*} +MY_PV="${PV%_p*}" + +GENPATCHES_P=genpatches-${MY_PV%.*}-$(( ${MY_PV##*.} + 7 )) +GENTOO_CONFIG_VER=g13 + +RT_PATCHSET="${PV/*_p}" + +DESCRIPTION="Linux kernel built with XanMod and Gentoo patches" +HOMEPAGE="https://www.kernel.org/ https://xanmod.org/" +SRC_URI=" + https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz + https://downloads.sourceforge.net/xanmod/patch-${MY_PV}-rt${RT_PATCHSET}-xanmod1.xz + https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz + https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz + https://github.com/mgorny/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz + -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz +" +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2" +SLOT="${MY_PV}" +KEYWORDS="-* ~amd64" +IUSE="debug" + +RDEPEND=" + !sys-kernel/xanmod-kernel-bin:${SLOT} +" +BDEPEND=" + debug? ( dev-util/pahole ) +" +PDEPEND=" + >=virtual/dist-kernel-${MY_PV} +" + +QA_FLAGS_IGNORED=" + usr/src/linux-.*/scripts/gcc-plugins/.*.so + usr/src/linux-.*/vmlinux +" + +src_prepare() { + # Remove linux-stable patches (see 0000_README) + find "${WORKDIR}" -maxdepth 1 -name "1[0-4][0-9][0-9]*.patch" -exec rm {} + || die + + local PATCHES=( + # meh, genpatches have no directory + "${WORKDIR}"/patch-${MY_PV}-rt${RT_PATCHSET}-xanmod1 + "${WORKDIR}"/*.patch + ) + default + + # prepare the default config + case ${ARCH} in + amd64) + cp "${S}/CONFIGS/xanmod/gcc/config_x86-64-v1" .config || die + ;; + *) + die "Unsupported arch ${ARCH}" + ;; + esac + + rm "${S}"/localversion* || die + local myversion="-rt${RT_PATCHSET}-xanmod1-dist" + echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die + local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}" + + local merge_configs=( + "${T}"/version.config + "${dist_conf_path}"/base.config + ) + use debug || merge_configs+=( + "${dist_conf_path}"/no-debug.config + "${FILESDIR}"/no-debug-extra.config + ) + + kernel-build_merge_configs "${merge_configs[@]}" +} + +# lazy workaround +kernel-install_pkg_preinst() { + debug-print-function ${FUNCNAME} "${@}" + + local dir_ver=${PV}${KV_LOCALVERSION} + local kernel_dir=${ED}/usr/src/linux-${dir_ver} + local relfile=${kernel_dir}/include/config/kernel.release + [[ ! -d ${kernel_dir} ]] && + die "Kernel directory ${kernel_dir} not installed!" + [[ ! -f ${relfile} ]] && + die "Release file ${relfile} not installed!" + local release + release="$(<"${relfile}")" || die + + if [[ -L ${EROOT}/lib && ${EROOT}/lib -ef ${EROOT}/usr/lib ]]; then + # Adjust symlinks for merged-usr. + rm "${ED}/lib/modules/${release}"/{build,source} || die + dosym "../../../src/linux-${dir_ver}" "/usr/lib/modules/${release}/build" + dosym "../../../src/linux-${dir_ver}" "/usr/lib/modules/${release}/source" + fi +}