diff --git a/sys-kernel/gentoo-kernel/Manifest b/sys-kernel/gentoo-kernel/Manifest index be69d793a5829..e7c4daedc6a3d 100644 --- a/sys-kernel/gentoo-kernel/Manifest +++ b/sys-kernel/gentoo-kernel/Manifest @@ -77,6 +77,7 @@ DIST patch-6.12.74.xz 3867664 BLAKE2B 1bebcfc1bdaafcfb9205870d72c815fcd69225ae62 DIST patch-6.12.77.xz 4122856 BLAKE2B 3f4be903ad737df00882bb90a0640aacccfa9588d7c407b964897f0c10aeb6d85be5285afe56433d018bb4908cae12b2f1890469db19c3417a9e758bbfea758e SHA512 cd1b18ee8af12f0d18c17f7695cbbd74d78f9ff39cc642319b5c7c22f66ab73c83aaa1cca289004fc88d769af8df37d3664e4447854d0eaa15212d916f79d691 DIST patch-6.12.78.xz 4225144 BLAKE2B 026cf9d6336fdbb682fdb1ae9c6491d3673b1acd3043a4e6c329ab724f516aef9bf48aba2a7071ad99004ebeb20642b5eb2b149e9db3e13342628fb622e3cc40 SHA512 5a388c8b8c6677c9a7971d799c276e5a3bd7f0c8fe71082ad0c5e238c55e57b9416ba93b6f91cd54c9d990c9e4d943877efd4ff7d675299d2e548ba3d32f0c26 DIST patch-6.12.79.xz 4224224 BLAKE2B fedea64f08e7aa61d47e34d7930c639a1edae0f4973d64c840ae0e85e37cdf7cd338970671dffd139c89b858079383e53ac2e5ac16f298685f1fe332e65f6905 SHA512 27f249af0c31e1fc11a1233ea87ce99ec4d5126ca31850222f00766326554a89c88e5e3ae95e5c6bda985d129ba5d9a8f72bb8fa046e07235e10c59e8a68a189 +DIST patch-6.12.80.xz 4282436 BLAKE2B 09415fecf058a7ee198b2f64505491c45631e2b9c07de2414f7435e815a1bbf434d77c8386d943dd4945ca50844dcbcc55821f92fa218ccbfd42485c40ca207f SHA512 d171279c4abe891e85da50207d25d5feaf0df13a4b77d47020e0c64b4923ad9f183597869f39896fe91acfcf93b3eb985f4440d0aeb91cb06d04635f9aa6095b DIST patch-6.18.12.xz 670328 BLAKE2B 777a3043ffd89dda18c6373e447b0181dbbc1d123efddd7a0d669cbcd02ae9e7d07529ee6380641976a56c7ca23c5c4a521c55d5824e07df6ed1fc9f40c9dec0 SHA512 b71074dfff3fb28d781b1cabc5aed4207de286a7e6f1b896e4aa40ecc794a38243496f8325bbacc39431fed71e283bec030157777b701da099ee772af5e100cf DIST patch-6.18.18.xz 1190664 BLAKE2B 528b75f7963d3e1dd2e24cd282510388c528cd93a43982a135cb5ca85583f3d36c01bf67fe854354b0c36e02f9fa2edbf2dc597e4044d2d43dd49efb36949d89 SHA512 b242e9ea9c744a61529abb2447d3eb8de31167272b669e132666447a619b24730c4a9fcdb6d7a4132b5aa83cc9ee47f85d7d4d72e25aef383f8929cc7107acd6 DIST patch-6.18.19.xz 1261900 BLAKE2B b39f17eedc96c9388720b877ae76796b4d75e02976ad59c0c5461be9be8f90de814c08c63e35b188e7ca65d7c08838fa317597cbb5c6927085642021659e9184 SHA512 f5793b02109ce16d5558b6367d9b1429a4917488d60922859626ba25c76883ace75501f0e1259bfdf52d26d62a71e12f212134c28162ffcd01f540618a35b2a4 diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-6.12.80.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-6.12.80.ebuild new file mode 100644 index 0000000000000..a56eaed6e917e --- /dev/null +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-6.12.80.ebuild @@ -0,0 +1,184 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KERNEL_IUSE_GENERIC_UKI=1 + +inherit kernel-build toolchain-funcs verify-sig + +BASE_P=linux-${PV%.*} +PATCH_PV=${PV%_p*} +PATCHSET=linux-gentoo-patches-6.12.75 +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo +CONFIG_VER=6.12.41-gentoo +GENTOO_CONFIG_VER=g18 +SHA256SUM_DATE=20260404 + +DESCRIPTION="Linux kernel built with Gentoo patches" +HOMEPAGE=" + https://wiki.gentoo.org/wiki/Project:Distribution_Kernel + https://www.kernel.org/ +" +SRC_URI+=" + https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${BASE_P}.tar.xz + https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/patch-${PATCH_PV}.xz + https://dev.gentoo.org/~mgorny/dist/linux/${PATCHSET}.tar.xz + https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz + -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz + verify-sig? ( + https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/sha256sums.asc + -> linux-$(ver_cut 1).x-sha256sums-${SHA256SUM_DATE}.asc + ) + amd64? ( + https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config + -> kernel-x86_64-fedora.config.${CONFIG_VER} + ) + arm64? ( + https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-aarch64-fedora.config + -> kernel-aarch64-fedora.config.${CONFIG_VER} + ) + ppc64? ( + https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-ppc64le-fedora.config + -> kernel-ppc64le-fedora.config.${CONFIG_VER} + ) + riscv? ( + https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-riscv64-fedora.config + -> kernel-riscv64-fedora.config.${CONFIG_VER} + ) + x86? ( + https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-i686-fedora.config + -> kernel-i686-fedora.config.${CONFIG_VER} + ) +" +S=${WORKDIR}/${BASE_P} + +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="debug experimental hardened" +REQUIRED_USE=" + arm? ( savedconfig ) + hppa? ( savedconfig ) + sparc? ( savedconfig ) +" + +RDEPEND=" + !sys-kernel/gentoo-kernel-bin:${SLOT} +" +BDEPEND=" + debug? ( dev-util/pahole ) + verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 ) +" +PDEPEND=" + >=virtual/dist-kernel-${PV} +" + +QA_FLAGS_IGNORED=" + usr/src/linux-.*/scripts/gcc-plugins/.*.so + usr/src/linux-.*/vmlinux + usr/src/linux-.*/arch/powerpc/kernel/vdso.*/vdso.*.so.dbg +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kernel.org.asc + +src_unpack() { + if use verify-sig; then + cd "${DISTDIR}" || die + verify-sig_verify_signed_checksums \ + "linux-$(ver_cut 1).x-sha256sums-${SHA256SUM_DATE}.asc" \ + sha256 "${BASE_P}.tar.xz patch-${PATCH_PV}.xz" + cd "${WORKDIR}" || die + fi + + default +} + +src_prepare() { + local patch + eapply "${WORKDIR}/patch-${PATCH_PV}" + for patch in "${WORKDIR}/${PATCHSET}"/*.patch; do + eapply "${patch}" + # non-experimental patches always finish with Gentoo Kconfig + # when ! use experimental, stop applying after it + if [[ ${patch} == *Add-Gentoo-Linux-support-config-settings* ]] && + ! use experimental + then + break + fi + done + + default + + # add Gentoo patchset version + local extraversion=${PV#${PATCH_PV}} + sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${extraversion/_/-}:" Makefile || die + + local biendian=false + + # prepare the default config + case ${ARCH} in + arm | hppa | loong | sparc) + > .config || die + ;; + amd64) + cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die + ;; + arm64) + cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die + biendian=true + ;; + ppc) + # assume powermac/powerbook defconfig + # we still package.use.force savedconfig + cp "${WORKDIR}/${BASE_P}/arch/powerpc/configs/pmac32_defconfig" .config || die + ;; + ppc64) + cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die + biendian=true + ;; + riscv) + cp "${DISTDIR}/kernel-riscv64-fedora.config.${CONFIG_VER}" .config || die + ;; + x86) + cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die + ;; + *) + die "Unsupported arch ${ARCH}" + ;; + esac + + local myversion="-gentoo-dist" + use hardened && myversion+="-hardened" + 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 + "${dist_conf_path}"/6.12+.config + ) + use debug || merge_configs+=( + "${dist_conf_path}"/no-debug.config + ) + if use hardened; then + merge_configs+=( "${dist_conf_path}"/hardened-base.config ) + + tc-is-gcc && merge_configs+=( "${dist_conf_path}"/hardened-gcc-plugins.config ) + + if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then + merge_configs+=( "${dist_conf_path}/hardened-${ARCH}.config" ) + fi + fi + + # this covers ppc64 and aarch64_be only for now + if [[ ${biendian} == true && $(tc-endian) == big ]]; then + merge_configs+=( "${dist_conf_path}/big-endian.config" ) + fi + + use secureboot && merge_configs+=( + "${dist_conf_path}/secureboot.config" + "${dist_conf_path}/zboot.config" + ) + + kernel-build_merge_configs "${merge_configs[@]}" +}