From f7c5a9c9e0781f884124a1431acefd79fcda3d78 Mon Sep 17 00:00:00 2001 From: Alfred Wingate Date: Tue, 1 Oct 2024 01:48:15 +0300 Subject: [PATCH] sys-kernel/xanmod-kernel: add 6.6.53, 6.10.12, 6.11.1 Signed-off-by: Alfred Wingate --- sys-kernel/xanmod-kernel/Manifest | 9 ++ .../xanmod-kernel-6.10.12.ebuild | 88 +++++++++++++++++++ .../xanmod-kernel/xanmod-kernel-6.11.1.ebuild | 88 +++++++++++++++++++ .../xanmod-kernel/xanmod-kernel-6.6.53.ebuild | 87 ++++++++++++++++++ 4 files changed, 272 insertions(+) create mode 100644 sys-kernel/xanmod-kernel/xanmod-kernel-6.10.12.ebuild create mode 100644 sys-kernel/xanmod-kernel/xanmod-kernel-6.11.1.ebuild create mode 100644 sys-kernel/xanmod-kernel/xanmod-kernel-6.6.53.ebuild diff --git a/sys-kernel/xanmod-kernel/Manifest b/sys-kernel/xanmod-kernel/Manifest index 2fee350..d07d44c 100644 --- a/sys-kernel/xanmod-kernel/Manifest +++ b/sys-kernel/xanmod-kernel/Manifest @@ -4,22 +4,31 @@ DIST genpatches-6.10-13.base.tar.xz 727116 BLAKE2B 5125f8971fee0c7f78d28a555932e DIST genpatches-6.10-13.extras.tar.xz 4056 BLAKE2B f44d2635322562c13ede3ee395900b963e4a151786a6417fdedfbdce20708f277f7b732d5302606b6e9acc09c9bc7a4be4c1fcacf32a670a50bd9ddd5e8910f2 SHA512 16cb15c66948c48ab27c989226c1394ecc5041e1ed0323246e0f611fee4907029b23346ddfdc1b11d6a0824f2609f448dcc623dedf05dc94a2a3c4385f181c14 DIST genpatches-6.10-14.base.tar.xz 759584 BLAKE2B d08dc14d5126e73155a6b1977ce2b9790a5717b6bf1fa31309838c3884a81baf945661093da2e3f69bf892f472db60defe1a001afa4b9a6846deee11cdf6cec2 SHA512 6e41093c8ee9690ec279a3f35c01d058ef02c3a9eac7b9eaa3908c14463c8d3c85497665b875111fd1a29e8d406706aa6f6791a44e0bc31d8c51053259a18d87 DIST genpatches-6.10-14.extras.tar.xz 4056 BLAKE2B 63d33a29efc77a7839f4961de62c54f2383bcc7a119fce5ca7f80cdb66515537bb1e1bd55bb50f297b8f0a9c74f75bb237ee2893a859abe6d7f05864ae21e38b SHA512 c9adea40fdfd3faa5ee24a60be9ad4444819a8fbcb417ea98ce2f7a02fdd1e70c6f1168380cf6efd5a4d1820bea14db48c3064b271afaad8e1d23f0a8263a48f +DIST genpatches-6.10-15.base.tar.xz 774884 BLAKE2B e5363896fadb615a40b43b90c4146f93aee696c0aeff3ceee6a8d60882112f90b8bb1df838a827353d290cfb37aada5b53b673cc21dc611e774a4b7376fd12ad SHA512 dc45ee28cad09a1ea2005e6eed656b4fbe7e9d291571583eaa57388b0b3d08f769bf10752aeb7a519dfd1bad679bf277114fafe49c8243f78b9bd7548935a21f +DIST genpatches-6.10-15.extras.tar.xz 4056 BLAKE2B c80ea0b763a9c37e6f3aa5192b712c0acc7849be3dab66c911b175af94a8e8b22afc7cb56a10f7fcd91a34e0ff5d295abebfbfd5de260f86c800e3227a3c651b SHA512 7e50e426d10736a8d3fb51180d58e434097b70b9675bc23b89539834a09ed343772764945925a2e556b1140af8561fa7231622513f185fdaacb81d7763dd6d02 DIST genpatches-6.11-1.base.tar.xz 5964 BLAKE2B 8be1c3247179ca906348591dff7b8801d57e1bbf6f4e10e60f4ee406adaa1e128ca773b03dda4441fd41e8a501f3593f3bc4abb6572ef14921844fa7adf13b13 SHA512 bbc003883c60a188537d30fc7fcb20074a1e2ce68aa36feda986e820a817212f3104cfbb891a9692507b1a59d6121a2bb5ef3925d9cfe5f73ccef652ef60d91d DIST genpatches-6.11-1.extras.tar.xz 4056 BLAKE2B e983a357142a10c6f73f73c0be8f8fc2612a2a3e0e113cc39c5b129eaba7a793d49e5817a3d9e8c5cf64bc6c1b6884fbac419f89810dbb8ae6244b49094aa9d2 SHA512 6cfb2e6d763bafd379299541a67028d6c73e0687746e373bc85f7677e9bb49d6f0a85091e216fe2ffa0e00b253c32a61dd2c4b8e800b33b9410c908fa37b8518 +DIST genpatches-6.11-2.base.tar.xz 31476 BLAKE2B d32c81fb764115748f4f25a0f9af671d84df7a156215df6af4d6f1c7c205efaa60d31f78950ec604d9b615d1641ab0463ba2523191a3a618b81795ad94a6f40b SHA512 3c9d3afc85a16d0caf49d0d81beb0e312973e23fed7fc0e41f15f822d389d6f8cd39d5e497f71009716883c3e4ed5cbdf3e3d597d76a0b81391244f97707bd46 +DIST genpatches-6.11-2.extras.tar.xz 4056 BLAKE2B 3f465186cd74ddde1200eef68b11a8c9fbdf6f4e6806ad32f6c89919dfd6fc670af4442408a10c5857d74d0955becc88a46dd09ef93cf462d4a6ab3e7c917090 SHA512 0fe772dba8abf415f5bc7837be2669abb0cc6ebaf162b0779ed320da76ea3a97f044fda2e88f5a2b904a78e37bc2e93f89e4b0a07c64cfc6c577e7b2016d0241 DIST genpatches-6.6-57.base.tar.xz 3079200 BLAKE2B d0f16f9b2f09f182c02fdb6cfa4b76f3d9d41f22b149d50faff129daa677b97830128a40c8c2f98b2534b722865b49b8a60b5f205b7d3284ef94a67946a4b460 SHA512 c6d16e6d814d363f0e34f3e7d569757f787340889f395ef9b3a273582a3d72d60b692e872764e5f411ac9a8648d886c9f6522342c238a421e423b2cd0e6b40fa DIST genpatches-6.6-57.extras.tar.xz 4056 BLAKE2B 9b071880383921fcc8cd2da092e1219e3b40684e6ffd04bd2ab75fd53624cdcb7289f1c40ae9256e0343bbea92393c153724ee628e8d164596ba4d7f8bb413df SHA512 a61cbf855e718ca7afed0b15614ad2e9bea740412e8251b35417d10f4b936364cc3820951acc45be2b18cba635cd1c43da8caeb4ac315747d02201be39148c8b DIST genpatches-6.6-58.base.tar.xz 3154204 BLAKE2B 5b9456e93cb0984599e065fab0d05e40b7efbc8079763ede75ed7a6e7f0e241de96f0c6438cde52f64a5074f5bfcc5d55b5d3c21a9e9528138ea5c36e164ea58 SHA512 e775ac64564c201c3e1293d34a70f347a5afd5691a006d958f69959d2eea0af690cf66f7bdd450034ef9eb43daeccbedd58819dc688cd3e7e9933da9312cbf75 DIST genpatches-6.6-58.extras.tar.xz 4060 BLAKE2B 7e16c5d713aaf221335b81f3a301e9bb1e7f243d9bc6739c3dd07bb3cfedbe6bd5a763ce418172c838fbd3de82909cabff7c2e5c4b4f1b675098b709ddc5203e SHA512 315bfdf633398b3b1a9650dae88fdd0c1442336cabe45a3f2722e968f510da13050657e8d35acf8a313981bd9403f5056abea182a0115a79952a2740ceb4ff88 DIST genpatches-6.6-59.base.tar.xz 3174716 BLAKE2B 8eded8d4d4c343869f587ecc2a218d124c34618494ded9d17b493f26894e545658021ad9cfa05bafd14389de07406f43a722c37276cc14096a3a7a00040e2ae7 SHA512 88e5ef8de0954f349e5c0745adb8f718dcabcd2e166c597c9de753c892eaad42c936984279fde86974b307858959cdef401f92f6f62a98bf1d4bed14cbff821e DIST genpatches-6.6-59.extras.tar.xz 4056 BLAKE2B 8d68a426082bcb168f74abb849a7a58090268c9cf098aa8982d9e700fab754a6f42dd833c1ee5d44d52f58d1a6b3da018a954d873ba131a2049a286a39ca3099 SHA512 ee133a7efaeba2abe242482825f4490e1c1b17fca64f9183713dca601fc64048288aa79125f7b8c0715f6c4fb158ea3a230e76b39b63d1a59dbecf80697ac000 +DIST genpatches-6.6-60.base.tar.xz 3204668 BLAKE2B 4076b1d74984ff1777a6d41d6c71a1a67139571314da88597e88ac0bd0067ce49ba7954b26690f8bb21009708e99be5e29abbb6871d8ab7c39740c243efc74d4 SHA512 91d0d2bef786151f9bb94370e26e8cc488a57e8307de018e068c3d4f07ff20cdb59516de1ab6718943286323812b999bf2b43ab63c9a79d70bdc7dd2ece68ee3 +DIST genpatches-6.6-60.extras.tar.xz 4056 BLAKE2B 605705101398b9b0954b1b1050c7a35ca0cf9db76cb8b83a8686e4d895e96cdb5852b82fb47808a811eec73dbdb730550b4bdc09a9ce12c9a6f08f1c5fbcd2fa SHA512 6809450ccae6d26a77195a10997fc1c28408d8b1dd64cbe9985b1364d29ba520f4d1035e55fab34e6f169c92357a30fa95c2a9197da35366b09a5c634b9950a5 DIST gentoo-kernel-config-g13.tar.gz 5759 BLAKE2B 831f89078e539c8b4ce244528dfd847c12a45b52d540eb10d85ec0d9deb1c14288d8de12456865c92d16e3523ec3595676787a8f3b79545d76870b0fb68deb5d SHA512 2a7230cce57a67e3333f9a88a311afe4a928e27ce76036747451cb77d3186569ad11d7a5b827748ad53290a17ad63637a8362ca896516f85ff0944a8d68265a6 DIST linux-6.10.tar.xz 145142812 BLAKE2B bb243ea7493b9d63aa2df2050a3f1ae2b89ee84a20015239cf157e3f4f51c7ac5efedc8a51132b2d7482f9276ac418de6624831c8a3b806130d9c2d2124c539b SHA512 baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2 DIST linux-6.11.tar.xz 146900704 BLAKE2B e7750c0878d71a56a0ce52d4c4c912199dad5bf5e2e8f872585a6494afbb37cbd852e612a6858936d2dc9b7776a3933818f540db408d57e90d18ea5249bba7ab SHA512 329c1f94008742e3f0c2ce7e591a16316d1b2cb9ea4596d4f45604097e07b7aa2f64afa40630a07f321a858455c77aa32ba57b271932ddcf4dc27863f9081cea DIST linux-6.6.tar.xz 140064536 BLAKE2B 5f02fd8696d42f7ec8c5fbadec8e7270bdcfcb1f9844a6c4db3e1fd461c93ce1ccda650ca72dceb4890ebcbbf768ba8fba0bce91efc49fbd2c307b04e95665f2 SHA512 458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35 DIST patch-6.10.10-xanmod1.xz 803212 BLAKE2B 4dc879f893e67727b0ca13209273cb41c6dd93e86d0c8ce5cc6a38716b94d069c1c3318870997426004891a96378aa07d63598ca03c0da76a90a5976eb8b25fc SHA512 34f6ba42d15f8f3319b8cfee07560f0654b1470428eee003727c8e22225bf9215c27d9a41f78425299264532e33e0b09462373649f0ffb386467c3097032af42 DIST patch-6.10.11-xanmod1.xz 832544 BLAKE2B 22901777267830d36e6bf6920b671977b1d51720255e8ab39702d7984fbae16fab231367201b3bc6f3522d916752f7749d19d0d7421631318dd11a381fac5868 SHA512 b1b023c5b05a0b1950ee315c6e29e3edc95806876e2f0e654619802ad0be3acfb53ac1071a734a47b5ce6cb6a0b9301568c1d365eb89dbee24a0366ef0ea8b83 +DIST patch-6.10.12-xanmod1.xz 846320 BLAKE2B 9c2abbccdef3d5a9b64f191fc31440ac26552173b274b289a97d0b71a461b37f709aeaa70010f640cf3e3be523dc205f1eb312d5baec070b0b60d2418301fb49 SHA512 d6ff09142d46f641903f63007f5bff2e4de4e5c0ad3b0de605071617662d7db38933adbcd28a6a4b5d84f3502bc55c902ea1b12d32a73d1fc8e0b38df19a3d04 DIST patch-6.10.9-xanmod1.xz 683468 BLAKE2B f858033a4a612b4bb7a0a31ec7aba11c415ec6e7cb1e5ce2357ec723c43c87f01de28b1cc674fc521a8a6c96b038bfd80747022ed7bd421ee95ccac30d9ac8bf SHA512 f3734b48733e68750cd880175b1aa404192491e29f86805275f5f0ed0cbc7eff3cf47226b533ccecd76ead4f6318fc3501a91cc29d1593cd8fe8f7dee6b54a1f DIST patch-6.11.0-xanmod1.xz 143036 BLAKE2B cee881362d9085a53e239cac571b5b50bbee610260635f3ddec71d18d4ceb4cc9240754a467730ea39646c1d787b1101b878b380fd9dc7010e04cd912eae1a87 SHA512 7989a36833a60ef31d092890a33905ad33c2b58b655fe230418f951c6ab59ab3c362937701e8de5cb50dd97a80fc493aa8791abb4a24bdf4d052e6bbe3e49bc1 +DIST patch-6.11.1-xanmod1.xz 148676 BLAKE2B acc0fa1ab98d5899525f1d1ff29daa168be7c3d7b7c801b9ed6f5b70b069d3f620dc0d7e385f3106aa0d8758bb1ce653731e0c29c6383e5a8e3a3e56ee470d23 SHA512 9757f307d54bde1a70339b80da71fd68f7ecc564fbbec9b9f57e2bab98a5ba3a36818ff8adaad907dc61ca24d06b5339d2244b1c478165bfaee3ba5e1b0ba4ee DIST patch-6.6.50-xanmod1.xz 2907580 BLAKE2B 3bb60205a08400a4713bab32dda17aed40e468462e4b4ed6c69b2a71ea8d2d09b4a6556ea6826fc9aebd442e64163b13c43ec99bdb452d1ee2eeb5dbd25dc0eb SHA512 7e055006b24197be51657b069f58c2f9fce873343117cfdb48a7e1debc67eae263e3af1232608e1bb1fd80de8275989ef45081d1b3151e2f28113273d8b3461a DIST patch-6.6.51-xanmod1.xz 2968548 BLAKE2B 2f20589cf44d0ae515200505c441f6572900ba5bff8e68e31064f00e40f57f2fe543b3be505fa41b93bb13c335c8ca44d4ccb347559a7c79f757db2118c11514 SHA512 fa645c7a1b9d04da27621b7f5952d500d23b2ff49af15fa19cf6946853f7e087b1a4ed38ac977a5aaae45810fabad9442f1ee82214438b4aadfe606bca0f0c85 DIST patch-6.6.52-xanmod1.xz 2985336 BLAKE2B 6b62429471f2df2f973557412b99c897cd98eb42c850ba1d900095b3ed8c3ebbb9d9a2ce4587e1f7714ae0e277f97b28787da71b14a2d9fe04f8bc5c720930f3 SHA512 c43513c42fce3f39e4616147ee3b5dfc7bc5a2ba21f5c142351860e1dccb75695e9181064b41f213041d72dbfccdcf7ef9241a20826863bdec86700ae7032304 +DIST patch-6.6.53-xanmod1.xz 2995720 BLAKE2B 1c5906756776526deddc5e5c25f6b22c9c03abd652d3b9cb99823dc1eeef48fe69c8c98f0735f1be7797ee0f97a0a3a9596eaa29ba03e0d9d30beb851462f365 SHA512 c19cac9ed592a7231eda768237c0cddbe2931bacbd447c4f89112429e900b1c0017ff669787ab1660f8d939939d72b31f1f07a227754114d331b53e1de9e2954 diff --git a/sys-kernel/xanmod-kernel/xanmod-kernel-6.10.12.ebuild b/sys-kernel/xanmod-kernel/xanmod-kernel-6.10.12.ebuild new file mode 100644 index 0000000..fc59315 --- /dev/null +++ b/sys-kernel/xanmod-kernel/xanmod-kernel-6.10.12.ebuild @@ -0,0 +1,88 @@ +# 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%.*} +GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 3 )) +GENTOO_CONFIG_VER=g13 + +XANMOD_VERSION="1" + +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-${PV}-xanmod${XANMOD_VERSION}.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" +KEYWORDS="-* ~amd64" + +IUSE="debug" + +RDEPEND=" + !sys-kernel/xanmod-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 +" + +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-${PV}-xanmod${XANMOD_VERSION} + "${WORKDIR}"/*.patch + ) + default + + # prepare the default config + case ${ARCH} in + amd64) + cp "${S}/CONFIGS/xanmod/gcc/config_x86-64-v2" .config || die + ;; + *) + die "Unsupported arch ${ARCH}" + ;; + esac + + rm "${S}/localversion" || die + local myversion="-xanmod${XANMOD_VERSION}-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 + "${FILESDIR}"/x86-64-v1.config # keep v1 for simplicity, distribution kernels support user modification. + ) + use debug || merge_configs+=( + "${dist_conf_path}"/no-debug.config + "${FILESDIR}"/no-debug-extra.config + ) + + use secureboot && merge_configs+=( "${dist_conf_path}/secureboot.config" ) + + kernel-build_merge_configs "${merge_configs[@]}" +} diff --git a/sys-kernel/xanmod-kernel/xanmod-kernel-6.11.1.ebuild b/sys-kernel/xanmod-kernel/xanmod-kernel-6.11.1.ebuild new file mode 100644 index 0000000..ff9925d --- /dev/null +++ b/sys-kernel/xanmod-kernel/xanmod-kernel-6.11.1.ebuild @@ -0,0 +1,88 @@ +# 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%.*} +GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 1 )) +GENTOO_CONFIG_VER=g13 + +XANMOD_VERSION="1" + +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-${PV}-xanmod${XANMOD_VERSION}.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" +KEYWORDS="-* ~amd64" + +IUSE="debug" + +RDEPEND=" + !sys-kernel/xanmod-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 +" + +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-${PV}-xanmod${XANMOD_VERSION} + "${WORKDIR}"/*.patch + ) + default + + # prepare the default config + case ${ARCH} in + amd64) + cp "${S}/CONFIGS/xanmod/gcc/config_x86-64-v2" .config || die + ;; + *) + die "Unsupported arch ${ARCH}" + ;; + esac + + rm "${S}/localversion" || die + local myversion="-xanmod${XANMOD_VERSION}-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 + "${FILESDIR}"/x86-64-v1.config # keep v1 for simplicity, distribution kernels support user modification. + ) + use debug || merge_configs+=( + "${dist_conf_path}"/no-debug.config + "${FILESDIR}"/no-debug-extra.config + ) + + use secureboot && merge_configs+=( "${dist_conf_path}/secureboot.config" ) + + kernel-build_merge_configs "${merge_configs[@]}" +} diff --git a/sys-kernel/xanmod-kernel/xanmod-kernel-6.6.53.ebuild b/sys-kernel/xanmod-kernel/xanmod-kernel-6.6.53.ebuild new file mode 100644 index 0000000..06d484f --- /dev/null +++ b/sys-kernel/xanmod-kernel/xanmod-kernel-6.6.53.ebuild @@ -0,0 +1,87 @@ +# 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%.*} +GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 7 )) +GENTOO_CONFIG_VER=g13 + +XANMOD_VERSION="1" + +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-${PV}-xanmod${XANMOD_VERSION}.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" +KEYWORDS="-* ~amd64" + +IUSE="debug" + +RDEPEND=" + !sys-kernel/xanmod-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 +" + +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-${PV}-xanmod${XANMOD_VERSION} + "${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="-xanmod${XANMOD_VERSION}-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 + ) + + use secureboot && merge_configs+=( "${dist_conf_path}/secureboot.config" ) + + kernel-build_merge_configs "${merge_configs[@]}" +}