commit:     89db7d42e15c66343763e1ba783a1477c6ecefb5
Author:     Ivan S. Titov <iohann.s.titov <AT> gmail <DOT> com>
AuthorDate: Thu Jan  1 19:50:18 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Jan  1 23:41:13 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89db7d42

sys-kernel/pf-sources: add 6.18_p4

Signed-off-by: Ivan S. Titov <iohann.s.titov <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/45222
Closes: https://github.com/gentoo/gentoo/pull/45222
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-kernel/pf-sources/Manifest                  |  3 +
 sys-kernel/pf-sources/pf-sources-6.18_p4.ebuild | 99 +++++++++++++++++++++++++
 2 files changed, 102 insertions(+)

diff --git a/sys-kernel/pf-sources/Manifest b/sys-kernel/pf-sources/Manifest
index 1bf85da75d2b..2aec1b06fa68 100644
--- a/sys-kernel/pf-sources/Manifest
+++ b/sys-kernel/pf-sources/Manifest
@@ -4,6 +4,9 @@ DIST genpatches-6.18-1.base.tar.xz 12736 BLAKE2B 
5b7b6c7529510e217844debddb92978
 DIST genpatches-6.18-1.extras.tar.xz 4324 BLAKE2B 
b9d4fe05d9ffa2642a62280aa67227971b00b878a190b03db1d46f0e7564e759702950440c35bfab077cc690315efb14bcd1f49cc5ae0ebabed4782d9aa58392
 SHA512 
8a0b46484272cc7fc771b3353c76b1d211aab430d57822b8946db22be3af2f206afd3eb59ea92e5a9e86a325d444f8f49c9b10cfd5275adc58848c0a41a2778c
 DIST genpatches-6.18-2.base.tar.xz 27772 BLAKE2B 
d1c497a82068ccabd70e76f7df9231a965e801b7bf3e35378c67ebbd704bd3fc3fb183ac0affffbef43d5fa7d44e402e5c2d60e443c9eed544dc87dbc9d99713
 SHA512 
3fdd064a48fe13c9d915e30cfccfb74487dc28078c62080f721a5d92e7a4f0533ad8f05e2ab8f3ab1aead92dab480334997c0a6446248d3c4ad3fffbfe82bb2e
 DIST genpatches-6.18-2.extras.tar.xz 4324 BLAKE2B 
037e692cba93a5bc1397eeeca02061f68afbd13a6ca3d8efb1214f3cfdffb643bb357b5f4a7dc367f10e5837e9cc4633a3771b70f3afdcb1883c117a1b8d859a
 SHA512 
9ce8fb5529294808f837ab002e2d0031f6e9608b1288202030b6f4549930439a30b50f982e05d706233790b5a4f75465a626864cabf7c2485347fb2bf7e9ebe5
+DIST genpatches-6.18-4.base.tar.xz 211912 BLAKE2B 
5250fb6fe7e05f1afdaa9d400defd6cfbe9ccb876a1b606380a30103a3bfbbe7d5fbff2ea8bb8050ec64c16714c6c6dbb4a5c987bee26e66b9e5419eb01986df
 SHA512 
508bb87fb621738adfce5347d461f37f267e264bd234c47a22760b0375cb336d7d83382b87ce12b230a37444efb8306780b98bc2cfaf914d7d60afecb03fbba0
+DIST genpatches-6.18-4.extras.tar.xz 4324 BLAKE2B 
a9e04a9443641fd5fb4926cf97dd09e9c7f8f7f553fa3288c925b0891531e64f5daad21c712b5bee48e4e5713a9b8dd81256c85abc7a2aa9c41a46c95fb16456
 SHA512 
cc393ba03d91eeaaaf10a08b67c194a33ab9a42630de77c86f37ef84adc4bf525607ff852615b653d992ec11453e9739edb2837cc0316db4b171975ea3079b49
 DIST linux-6.17-pf4.tar.gz 253598641 BLAKE2B 
5a6774f02f1ea67e587cf1374c8e826bb2bf73ddaed3741d60f02ae2c84217ea845233b0ff01d2043b61cf360f1b5a289d329deb41cec804106a63e9296e7619
 SHA512 
4abf01fbedbc448b0714f175112e35c6e1d1ace89ce3a4ea93978fb3c7e138daa2710bd718255dd59ec90d9ada554179988ae2bd0ca9798798ee76ab3e24b454
 DIST linux-6.18-pf2.tar.gz 254943201 BLAKE2B 
487fdaae3baf1e4bb62bad1da171869b38addb919753d7a035ab59ebbd8474b9d2dab4775a5654cfb50e1be5d30980ff706c214823b5f92ccc021700e6ff98f5
 SHA512 
1ca5de1570324256b4287f72b40b841273873488b17b6fa3c4fc79e6a716fcef6fe8846161fa6fa6cc8430c926ff4207c82673cbde655cc091fc467e0e8af594
 DIST linux-6.18-pf3.tar.gz 254950500 BLAKE2B 
54a122998f27735f5f05f2d0e3430c0e94fa9d713f1514b97543cee4fb3b3e84eec85135abbe3ac4f773f52e697f5dabcba88818355338b7cb1cd4edd5cd2401
 SHA512 
ea8424660654b89e3c4996f4bbd246658705814d2bdc0be12b8aeae9fdc8a20a235942671aaac43cdc04bcae67ed64911e9967b300e8525fe3103617cb359a0c
+DIST linux-6.18-pf4.tar.gz 254951916 BLAKE2B 
11c3884870e438ceb2f3c6a2c4f175369f7ddeca8f7ef47f5b7503f83c475a43f972ec640781ef5c62748fab2f1163d8b7c05053a13ae272050b16ada1b838a7
 SHA512 
a8bf049b6888f134b3f399e1c799b1d0641d7aabdbca2ed7204b2b3a7fd91e2a9e2fff451ec157916957371e1d2fea63bbd3793f199d9b1b36ba9586c499cc38

diff --git a/sys-kernel/pf-sources/pf-sources-6.18_p4.ebuild 
b/sys-kernel/pf-sources/pf-sources-6.18_p4.ebuild
new file mode 100644
index 000000000000..dd3d20376971
--- /dev/null
+++ b/sys-kernel/pf-sources/pf-sources-6.18_p4.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Define what default functions to run.
+ETYPE="sources"
+
+# Use genpatches but don't include the 'experimental' use flag.
+K_EXP_GENPATCHES_NOUSE="1"
+
+# Genpatches version to use. -pf patch set already includes vanilla linux 
updates. Regularly "1"
+# is the wanted value here, but the genpatches patch set can be bumped if it 
includes some
+# important fixes. src_prepare() will handle deleting the updated vanilla 
linux patches.
+# See https://archives.gentoo.org/gentoo-kernel/ (or subscribe to the list) to 
see all patches.
+K_GENPATCHES_VER="4"
+
+# -pf patch set already sets EXTRAVERSION to kernel Makefile.
+K_NOSETEXTRAVERSION="1"
+
+# pf-sources is not officially supported/covered by the Gentoo security team.
+K_SECURITY_UNSUPPORTED="1"
+
+# Define which parts to use from genpatches - experimental is already included 
in the -pf patch
+# set.
+K_WANT_GENPATCHES="base extras"
+
+# Major kernel version, e.g. 5.14.
+SHPV="${PV/_p*/}"
+
+# Replace "_p" with "-pf", since using "-pf" is not allowed for an ebuild name 
by PMS.
+PFPV="${PV/_p/-pf}"
+
+inherit kernel-2 optfeature
+detect_version
+
+DESCRIPTION="Linux kernel fork that includes the pf-kernel patchset and 
Gentoo's genpatches"
+HOMEPAGE="https://pfkernel.natalenko.name/
+       https://dev.gentoo.org/~alicef/genpatches/";
+SRC_URI="https://codeberg.org/pf-kernel/linux/archive/v${PFPV}.tar.gz -> 
linux-${PFPV}.tar.gz
+       ${GENPATCHES_URI}"
+
+S="${WORKDIR}/linux-${PFPV}"
+
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+K_EXTRAEINFO="For more info on pf-sources and details on how to report 
problems,
+       see: ${HOMEPAGE}."
+
+pkg_setup() {
+       ewarn ""
+       ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any 
way."
+       ewarn "If you need support, please contact the pf developers directly."
+       ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues 
with"
+       ewarn "the ebuilds. Thank you."
+       ewarn ""
+
+       kernel-2_pkg_setup
+}
+
+src_unpack() {
+       # Since the Codeberg-hosted pf-sources include full kernel sources, we 
need to manually override
+       # the src_unpack phase because kernel-2_src_unpack() does a lot of 
unwanted magic here.
+       unpack ${A}
+
+       mv linux linux-${PFPV} || die "Failed to move source directory"
+}
+
+src_prepare() {
+       # When genpatches basic version is bumped, it also includes vanilla 
linux updates. Those are
+       # already in the -pf patch set, so need to remove the vanilla linux 
patches to avoid conflicts.
+       if [[ ${K_GENPATCHES_VER} -ne 1 ]]; then
+               find "${WORKDIR}"/ -type f -name '10*linux*patch' -delete ||
+                       die "Failed to delete vanilla linux patches in 
src_prepare."
+       fi
+       # removing this particulat patch for now as it conflicts with pf-patches
+       if [[ ${K_GENPATCHES_VER} -ne 1 ]]; then
+               find "${WORKDIR}"/ -type f -name 
'2701-drm-amdgpu-don-t-attach-the-tlb-fence-for-SI.patch' -delete ||
+                       die "Failed to delete vanilla linux patches in 
src_prepare."
+       fi
+
+       # kernel-2_src_prepare doesn't apply PATCHES(). Chosen genpatches are 
also applied here.
+       eapply "${WORKDIR}"/*.patch
+       default
+}
+
+pkg_postinst() {
+       # Fixes "wrongly" detected directory name, bgo#862534.
+       local KV_FULL="${PFPV}"
+       kernel-2_pkg_postinst
+
+       optfeature "userspace KSM helper" sys-process/uksmd
+}
+
+pkg_postrm() {
+       # Same here, bgo#862534.
+       local KV_FULL="${PFPV}"
+       kernel-2_pkg_postrm
+}

Reply via email to