From 7ac63ef814d520d35354b0d56399483b0eb7e9d3 Mon Sep 17 00:00:00 2001 From: Alfred Wingate Date: Wed, 11 Dec 2024 22:18:00 +0200 Subject: [PATCH] sys-kernel/xanmod-kernel: add 6.6.64, 6.11.11, 6.12.4 Signed-off-by: Alfred Wingate --- sys-kernel/xanmod-kernel/Manifest | 9 ++ .../xanmod-kernel-6.11.11.ebuild | 87 +++++++++++++++++++ .../xanmod-kernel/xanmod-kernel-6.12.4.ebuild | 87 +++++++++++++++++++ .../xanmod-kernel/xanmod-kernel-6.6.64.ebuild | 86 ++++++++++++++++++ 4 files changed, 269 insertions(+) create mode 100644 sys-kernel/xanmod-kernel/xanmod-kernel-6.11.11.ebuild create mode 100644 sys-kernel/xanmod-kernel/xanmod-kernel-6.12.4.ebuild create mode 100644 sys-kernel/xanmod-kernel/xanmod-kernel-6.6.64.ebuild diff --git a/sys-kernel/xanmod-kernel/Manifest b/sys-kernel/xanmod-kernel/Manifest index b7c66da..bb45d76 100644 --- a/sys-kernel/xanmod-kernel/Manifest +++ b/sys-kernel/xanmod-kernel/Manifest @@ -4,22 +4,31 @@ DIST genpatches-6.11-11.base.tar.xz 775800 BLAKE2B 96407b5f017dc4f59e07dc51d2622 DIST genpatches-6.11-11.extras.tar.xz 4060 BLAKE2B fda21856e2eb78f116cb26c24bce03c7fe60d0756610351351047f9fffa97ab327851adb1a5aa9ad7c9c63838a64a5498c5343b7499e452f0e3dac6cd17c7e45 SHA512 63d82a5a17472ac3e5f4c0bdb1cb706c0a1dd4e0d0bc2af2868a55e8fcc0138bdaef675b195988c00665a4d61f3c0940f669caa8809fbec17e0127962975c0e6 DIST genpatches-6.11-12.base.tar.xz 809756 BLAKE2B 16a87065f9bef4016c3a19cc4e4ebce8b1dca6b6a165a36f73b5e10737a6df325f2649c609e7cf6489f683c36e52626d21300acad383df486cb866a413416ff7 SHA512 fa57d9fdaedcc5ad31d685fe512cca89f1a8a8fb097001ee069efbcdb9c377000f154c3133757e19cb7d3fe79ae54d996d1720e9eb70ba117f98c935509b3617 DIST genpatches-6.11-12.extras.tar.xz 4060 BLAKE2B 69daca4ed6c2f293f04ece77003f2040b7fbe3a28b80eaa3e7aad8ac65adaec303b433634106b5041d597c33163624a447bddbbf889121c9b917d987febe0bb4 SHA512 33db2d06b7bae72153d24d7dbb21a7459f2010ac9176ca4c3356b01c933f3d61379fe2c307981c66433d3a997d059cb3bb2956d8fea8ffffe7eb0c33bd4b0a5b +DIST genpatches-6.11-13.base.tar.xz 1057764 BLAKE2B af456ba89688ebaf57a0921c3046c4db1d5a83ae5133a5b4721e7521ad72fa2d6d0e44666b22b4b0e3a05c0ee9b45b27a528e8f5e64282d8e48a0f1bf14ac046 SHA512 911558be25d367062afd84df97a3bf01e32fc976c0492c9dbd8010b3ad3d6bc1ec3c14e9d2322bbcb7f7da0eff54e1d0ef0dbb822778e869cf5730602508d433 +DIST genpatches-6.11-13.extras.tar.xz 4056 BLAKE2B c03fd34ce154442a7e5d786d554a5996dd90ada4cc302aca88a00573e4eb3ee4c5cdbe765aee0cbf1a874b5be0dd2f03bde9d50da53f3e62dd0e3e9dc0560a66 SHA512 d8b42dad1b61ea53b83e283fa0abd3cbd6e28f062047b51b3fb0339f1fea650d0ca386ad5848e9a6407006f886f1ef6107f79c179096e63bd968828428aa7652 DIST genpatches-6.12-2.base.tar.xz 6548 BLAKE2B 6872ca3238aa7b9e811ce827260330850fd90bb3bb48abe7a06c5fd36acfff7ceca5983aff7cdc82da2396e27b908cb737ab77c5efc9603d03193473236ef634 SHA512 baae1ebc693f5eebb308d35d8e6571f5f00e95bd98e4aac9c84e6fceffd051b4699762dc5c1f1b02231126e7c4bafbb352e4aa011cfa71d9b0ba84fbfa766536 DIST genpatches-6.12-2.extras.tar.xz 4060 BLAKE2B ce854b442562d86627eed172c94d6766ed27a29e0c7cbd240ec7b18b3fb0965a30289640d828b603eb309f2e911dec157c206740b4f16f40ffc3ce8069fabf3e SHA512 dd14190aaf8dfd51696e0fd3751695889e9c4c6ac9eb36b288f5991f01874b3cafb29240fa115fe54b718ee741c810c154e97aad8f5eb72f988bb3bae0005222 +DIST genpatches-6.12-6.base.tar.xz 365140 BLAKE2B bf281f8314de03b6ac24de430632999188ff1573f46f58cab999f92fbcf0c2e5fd14413892e5a961eb1ee8b64360a253e8cc26d24f8687b413ff9cc1df72a4c2 SHA512 ddca7ef8f67bdc182ccfeb6ed2e5fd08297287fcd5744285c549643a854c7d6148342a3ac1a13ad6cdd87c334acc5abc58a7f6e6a58f34db8ce9dca2b0802152 +DIST genpatches-6.12-6.extras.tar.xz 4056 BLAKE2B 4d3a72ea884a1b6cc84034277d6cfb57f7cc3fd43e9d229b46707c07dcef1af73bbd61aa880805ca5746c3b470335ad48c10d55f442f3396f0aaaa9a7a23c73b SHA512 538ba6590f3f4ff9bcb44131393a95a677ee6c59b6ee67ad2519ff242fb182358cd217d5e0533e11225646ecc92e8efeb4688c332db70d35a977a8e3cb475787 DIST genpatches-6.6-69.base.tar.xz 3711268 BLAKE2B 90b1f63e88059b3a7bf2b934e7bab30b68c71bd3991f749031090f295ec62a43dadc6d44dc2938608d771b3052f3b6d93e76af4a8007c0d52ecf6b50577a8486 SHA512 00c2a2a01f7680ed25a3372c62cd0042de78c48574bc00655f9774051a4704193f030ade5503376395367f34649b018a7894a8f4f8ff67f3bcb19b92e55b8023 DIST genpatches-6.6-69.extras.tar.xz 4060 BLAKE2B f519a90411e0446558cee950fc359b3e11dbd08e9624f4345880d96ad6c0384b0be21603c01eaa5340a9e37e10c1c1f516d42cbf756afc759d4787b952590ff3 SHA512 c21cfd363be608778206e5fa1d41765825336e821b22b58e0bb9a8d84f9795f2d78d12cc9e008aa5d809788d9389689e3045faefe3191e1fb98393a27007006a DIST genpatches-6.6-70.base.tar.xz 3723176 BLAKE2B 19017743aaa0e1c717746592f253a14ca476eae1658742c6e487023ee5a670473fe582a814a1202f2aeefc78d7dd3dd249810d7665299f740fcfceb1c8c11f84 SHA512 dfaa2df7ceb9411e9e35fc9f4822f7d579c1106b49c57805d657ec14699764a54e10d93f717801db7e33698b1c01dbab489e7b9953b1ff23feacbdec5a99c95b DIST genpatches-6.6-70.extras.tar.xz 4060 BLAKE2B 65cc5e2a27894992dd78d6cbfe5601f2e10b21f6e588d8a8d75f1f265f1fdab3ab03dd4d5c18e3ac5f48a6a72f021e2f125c5140224b26f0caeba3def4054042 SHA512 728495f3fa06f52f0ececb3b5e69b1cd4c7aa29d8ca02bc7a537616a2c1cf81859b5f624e125332a1def8176f7a878da58843ef8d363a5d622009b31548879c6 DIST genpatches-6.6-71.base.tar.xz 3745848 BLAKE2B ab33221175b500bce645d302fb32095aa15a536ba475b866c41087d963e57a713579ddde608d93a5f2ea823e7126850599b49522c8c7112cf9435fd85897805f SHA512 eecd342f586e1b594009f91fa1ac12399d90a164dbdbdb454414eeca9bd47ce04a78e0ceee28f889324ccc505112f6a3bb4cc093f88ed10a4c521869769f4e07 DIST genpatches-6.6-71.extras.tar.xz 4056 BLAKE2B def4ae87c4a1b9221a7f8a38cc1b5e66867f599dba38f57b2641690a80ece90851fe9e4484d85894c5d41500d736fc5564c30669becd582898db2b8d3da3dff4 SHA512 66225121d986d43ef542899b32845867f22a9165c2a6ea7d891f6d8d35bc9dd6f6a0aee82e945a1566cb4c523b9b821175921e436f7217c16acaa9a1685bc307 +DIST genpatches-6.6-72.base.tar.xz 3928624 BLAKE2B 65d75de6e47496de435004b9cc85f29517583accbe8b795774c3cc48a9886510b2032a8234da1ef02f28ba42573d3c2ab3aa60e2bfd2bf4a2ed0dff4366c804d SHA512 3432d58a63d5964f7c45b83d108825254bc7b2cc93dbd797f517d18bf3ac37b258503fb544781d8d8fe9ee6d335e7aad13eee5cad45cd68d45b11499d26f32db +DIST genpatches-6.6-72.extras.tar.xz 4056 BLAKE2B 5c3a9d0cc988a15fb2ea4cc3edc0d807d7523814226cd22cdad3d82b7a67138cc860445006d32d34667ae5441201adbc28e250b4c9fdfb6340129e5a23aa13a9 SHA512 6712bf418245ecedd113c451b795be17c6886f3c081ab9204124faac97703c7d4aacb02c7b8a9d68b5d981cb280dfeffc0a168c576c68b3bc4f65ca9cba4702e DIST gentoo-kernel-config-g14.tar.gz 5686 BLAKE2B e5147ff4ffab92428b3e7f1b0897b997f8a298805f4f43b0a4d3047607bbb1a5ebfc268e0bb9688372a5eda561df9f256c78e00cdd7e3caf7868724214722f56 SHA512 f79638f9ff9dd0154512baf0234024216b6708d35a3c03a580ca5913286ad1ea13bdde5ea9b4722c6a7cd8d591c11ec52c1e225111a260343cd56aa1f1a88502 DIST linux-6.11.tar.xz 146900704 BLAKE2B e7750c0878d71a56a0ce52d4c4c912199dad5bf5e2e8f872585a6494afbb37cbd852e612a6858936d2dc9b7776a3933818f540db408d57e90d18ea5249bba7ab SHA512 329c1f94008742e3f0c2ce7e591a16316d1b2cb9ea4596d4f45604097e07b7aa2f64afa40630a07f321a858455c77aa32ba57b271932ddcf4dc27863f9081cea DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581b717617c12b000b16f4a4c59ee348ea886b37147f5f70fb9a7a01c1e2c8f19021078f6b23f5bc62d1c48d5e5e SHA512 a37b1823df7b4f72542f689b65882634740ba0401a42fdcf6601d9efd2e132e5a7650e70450ba76f6cd1f13ca31180f2ccee9d54fe4df89bc0000ade4380a548 DIST linux-6.6.tar.xz 140064536 BLAKE2B 5f02fd8696d42f7ec8c5fbadec8e7270bdcfcb1f9844a6c4db3e1fd461c93ce1ccda650ca72dceb4890ebcbbf768ba8fba0bce91efc49fbd2c307b04e95665f2 SHA512 458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35 DIST patch-6.11.10-xanmod1.xz 886200 BLAKE2B 0bab59a7e444b715a4fb63d6c460b376d2d42551d0f41a459824acf3b226411cdca0e49f28ed3c157e3d386dee0ff1dd1c867db5490daa15c362b57d5039ef4f SHA512 8e34cbc75084639bbfa6b448fb36c597fbc7af98a64efce41c7ae30bed4a1217712799c129f34e7ca9c96a0728936f12a8a914da3e78a444897d804ded1511bd +DIST patch-6.11.11-xanmod1.xz 1121704 BLAKE2B 82488a0b91fbeb0ac58767d0374df1e972741977e83c8419d06ca377eec6dfc6213cef16498bf2d1c00e044ee63aa0f1e9d64a2095c42150356743ecd5ef404b SHA512 5ce7deb3f7f0f3caa6892f7664221821a673c3ce8448c91a86dc6d1b3bf52cb1ae2df123921a8232dc5501157df31fd090563991f56c9a585005a94d5a2a4d19 DIST patch-6.11.8-xanmod1.xz 842268 BLAKE2B f2f282e99bb47759e1c947c98ea2a67b82bc434526dddf3a0a699209951d9a2cd12650d2cf9a1a6d01998d366b62ba7d922552e27fab7498e06193d8c31c3826 SHA512 85740607f43d13050bfd0d54e8f376dc8febc19bbc1dde7a4b7090b87a222afa20869be4ab174cde10735386a6e696e274bbe24475863ec85134051ba246ee1c DIST patch-6.11.9-xanmod1.xz 858648 BLAKE2B 0ffcf70e17896cd3d80b6c10b6308a8f7c66e20372d88cfa7cc5648ed9d73f965032b93168b9e0fc5d2fe1747fc54b465fc2a11e75608144d0d19870e52a2e59 SHA512 c8bedb5bca746d063d27fb4a5b3c26f05086909515f5cb4b461e6b41db14103731d0e715b974cc8090109d4d97e597e608d7cec1934b07246ea954a99431a73c DIST patch-6.12.1-xanmod1.xz 145720 BLAKE2B 4688a1ea9ccb2660b6a2a9053a8dd4cdbb4a72787352ac8acdd482161cc8248a45c223b03cd2aee3bd62b191d2e3f9afa6ff2e41b37d138deff37cd1903ec19d SHA512 d7b1d5a95f7cfe20e03cd308585ceeb4f1df41f0d265420d335e045a409dfc04d55735b2cf32b9d282a69335c1fb6d850aca8336b00636cefe2fc31f92bc9c97 +DIST patch-6.12.4-xanmod1.xz 493260 BLAKE2B c4882a53e60554fef0a044b2d7f8a3d81d4b83a09a7224bc28c2593dea6a5335fef6d7c3ee47b7596a8b19787f30b190d5eb1454d0bfa5e9fad22f2dee0dd9d9 SHA512 add86d6c0cdbbf6da516c312848483dbf5cf97b8358bab4132ecd939a3c1eee0c4ef5268e6013571a74b9d38f3cdc09bb28729a4f1fc8c8b4155b3f961653d23 DIST patch-6.6.61-xanmod1.xz 3410168 BLAKE2B 84796b70d5653e585fcd4d46a58010414078a2eca4fd9b83ce7f90f35e6ef2bd94d30d52a7c6d232867439a562ce9d6cb40469117206c6c7254aa20916081ae1 SHA512 b325b9630f2e339c2b8930a2f8d16d787fe651ea1e942ace296ba62fd1a2be757b2b6d164c7fa8a66ad6b364137abe172a19ef796dd407544aef20a8d83cd78b DIST patch-6.6.62-xanmod1.xz 3420180 BLAKE2B ac855c3214334a96104521f18ac95a4da910707709accd089a462a84d520556811630571b43183caf303fefc3940bf0634d4fd9c9741cd82db8d66cb777abb93 SHA512 2cd0fe34f965bf4944ffc2f37ca990d9ebad0125112a4f261731628e0f92a3a39a02ae740032b0be595ee165d0c7547bf85970ce3ec5d376dd5eb18aba23675a DIST patch-6.6.63-xanmod1.xz 3437300 BLAKE2B a9924951ef3d9bf02368927d0dd2424f3a2eb9a15f8faeeab06bc06e02cf731cd2e462380fe0ad9a90c2ce3f5f26f2d6a4f02ade608463c7c2ccc3e8aea743c0 SHA512 af97e8145814d12c976f4a8e9f8e2b54d84184dbbc6e0558443b1a91d6726a116250b749837833a5de3c28727226b08f524cfc4cf316ece4d8d2171967744a13 +DIST patch-6.6.64-xanmod1.xz 3587324 BLAKE2B e82e71f8ef061a0a448e52005a80d027e5fa299b9c6e4ed9d404029b12127677382aeaf83e861d2aca735c6b14b39339be49ca385a041b4fce23c18fa67852a3 SHA512 42456c7562d41d8e9b7429241684510bb80ffcfb550d38aacf5ed22144aaeb4651a3a085b402bcceb7d3d129b164e55aee17550eec30041c595bb4bb706ec140 diff --git a/sys-kernel/xanmod-kernel/xanmod-kernel-6.11.11.ebuild b/sys-kernel/xanmod-kernel/xanmod-kernel-6.11.11.ebuild new file mode 100644 index 0000000..1cf4888 --- /dev/null +++ b/sys-kernel/xanmod-kernel/xanmod-kernel-6.11.11.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##*.} + 2 )) +GENTOO_CONFIG_VER=g14 + +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 + ) + + 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.12.4.ebuild b/sys-kernel/xanmod-kernel/xanmod-kernel-6.12.4.ebuild new file mode 100644 index 0000000..1cf4888 --- /dev/null +++ b/sys-kernel/xanmod-kernel/xanmod-kernel-6.12.4.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##*.} + 2 )) +GENTOO_CONFIG_VER=g14 + +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 + ) + + 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.64.ebuild b/sys-kernel/xanmod-kernel/xanmod-kernel-6.6.64.ebuild new file mode 100644 index 0000000..ee03bad --- /dev/null +++ b/sys-kernel/xanmod-kernel/xanmod-kernel-6.6.64.ebuild @@ -0,0 +1,86 @@ +# 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##*.} + 8 )) +GENTOO_CONFIG_VER=g14 + +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 + ) + + use secureboot && merge_configs+=( "${dist_conf_path}/secureboot.config" ) + + kernel-build_merge_configs "${merge_configs[@]}" +}