diff --git a/sys-kernel/gentoo-kernel/Manifest b/sys-kernel/gentoo-kernel/Manifest index 4a61554b38f82..c0d27f565a30e 100644 --- a/sys-kernel/gentoo-kernel/Manifest +++ b/sys-kernel/gentoo-kernel/Manifest @@ -14,6 +14,8 @@ DIST genpatches-6.1-102.base.tar.xz 5362424 BLAKE2B 74e978125492fec046201698208f DIST genpatches-6.1-102.extras.tar.xz 4052 BLAKE2B 9820e9c0f2e7bf2c64f3195c3491596430ba901951aa3e9174e799100310d038a20f8f82f0ece1fa397daa45fb3adaafc84c31d22367065e05fa7b2c0ce26f87 SHA512 2fadc41f696940abc7f7c02851542c42feff71e81910d779bc795ab2969a0885536054396766de2d071d289a372c79608c75286ea2009a774976da826b885901 DIST genpatches-6.1-103.base.tar.xz 5388276 BLAKE2B 65937527b152c928f416a22f8dd17db2da99a90a0c0e9629f91123eb74b20b9f3679d9a937677e212bcda44ec96a500c1385a91e2de407183e1cb95be7b2e72d SHA512 1fd3c15b85d4da0bbae51038787210345c72364a216f5b7c1aa9e162535c529866fbcb2487ea9eb84de26204de1ea48613107fe83483c47e6b27f36b6bda020c DIST genpatches-6.1-103.extras.tar.xz 4044 BLAKE2B 72b5b73ab28b4b138cbc00cd04a2ea28763b1e95b8fda754c15fb8de5c23f091d536152f71811f165117bb670962b94ee22ef236282cb3f8a47157ee316366c5 SHA512 6cac58d98e3e6590b708b1a506e9e6a7b3bce9a83dd0915f95468e657e066f68d778c8953a574a3e8e9b175f6605b7f982e0235af99437059d282fb26d79a1f9 +DIST genpatches-6.1-104.base.tar.xz 5452728 BLAKE2B 49a8765789436c1bdb34f72e865232942b3b7e2bf4f3c2b4cded7786677f3235982e020aad0ab364a2bac0393dc28837f904fe5bee5a4cea12ec11dbf6ec642c SHA512 cb33672fc2d88e740ee025d9f8d8725fa398132e7bd940a831f60d2de3fdf13e4cb96e39f2707deec9bc5471789706e43501c9eb6044dab78dc34a71f9af60ce +DIST genpatches-6.1-104.extras.tar.xz 4048 BLAKE2B 526ac16b6ffd987dd4f87797eeaa4ab1d25a8f27fb5b924f13651330abaa2a29bcc4d7d56d5be63b6d8f1c25c8f3205fd51ddbef1b324de89f67731271b24283 SHA512 3fe90150711eec1c4277e6b4cee2599e97edf0902ec7efae1ad836ccfe62233e2c6944f7abc30042e7dd5985ba1f8a986bc3de086739f5a8b64d18c2d7025742 DIST genpatches-6.6-39.base.tar.xz 2117476 BLAKE2B ffc2263d43bf5e87e3a57c0370f1cd1ecfac87ddaaee1ed3213f36bedbe4441ecfb062abebd1312572971e9cc9e5a0e8d3e16c7af98862b087906d61fb4e1e10 SHA512 6db496702e671459f3b054ce7068bfa48fc3b2be6bd3cbc3b158f7d4e0a2fa2310b875e46d233adea870775358e6e9b4f19fe8940d146575df9a41bfafeb1ded DIST genpatches-6.6-39.extras.tar.xz 4048 BLAKE2B ee5b09ec6303feb32fcd38a500900d6c96922a7a4032bea83202d25f914f2bb55d8e2e8e8d3b34911d0cc6755dde1e4382365f7351ccffe9901a0f6f671554c1 SHA512 d73671c60a9b57de492432eac1eac98178e1e3cd6fc2b68f4aaa24e6dc0fa4345a91633bd400f78a982e288033c69e0d28abbffc90ac2bdddb3430d2ab3bae91 DIST genpatches-6.6-40.base.tar.xz 2364536 BLAKE2B 53bf04c020921c8d0c2e7ff8466db4cf5078ac8985e95b5b94c5fe9e824747d66344acd5d8675c42364704dc34268cd636fe10bcb02b657cac889ea8d0b4ae48 SHA512 c5852fc2db474fcf697818cec947cfcce0dcff834c57c042c42321889839d94c26d1994dfc275e64e0acba3055c90f0f0cc4e2a07c80a71a71f3ba99f6093401 diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.95.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.95.ebuild new file mode 100644 index 0000000000000..05e46adc1bdab --- /dev/null +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-6.1.95.ebuild @@ -0,0 +1,146 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit kernel-build toolchain-funcs + +MY_P=linux-${PV%.*} +GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 9 )) +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo +CONFIG_VER=6.1.7-gentoo +GENTOO_CONFIG_VER=g13 + +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/${MY_P}.tar.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/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz + -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz + 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} + ) + 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}/${MY_P} + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="debug hardened" +REQUIRED_USE=" + arm? ( savedconfig ) + hppa? ( savedconfig ) + riscv? ( savedconfig ) + sparc? ( savedconfig ) +" + +RDEPEND=" + !sys-kernel/gentoo-kernel-bin:${SLOT} +" +BDEPEND=" + debug? ( dev-util/pahole ) +" +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 +" + +src_prepare() { + local PATCHES=( + # meh, genpatches have no directory + "${WORKDIR}"/*.patch + ) + default + + local biendian=false + + # prepare the default config + case ${ARCH} in + amd64) + cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die + ;; + arm) + return + ;; + arm64) + cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die + biendian=true + ;; + hppa) + return + ;; + ppc) + # assume powermac/powerbook defconfig + # we still package.use.force savedconfig + cp "${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die + ;; + ppc64) + cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die + biendian=true + ;; + riscv) + return + ;; + sparc) + return + ;; + 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 + ) + 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 + + kernel-build_merge_configs "${merge_configs[@]}" +}