diff --git a/dev-python/idna/Manifest b/dev-python/idna/Manifest index 861e3b3266737..4be183e04d671 100644 --- a/dev-python/idna/Manifest +++ b/dev-python/idna/Manifest @@ -1,8 +1,2 @@ -DIST idna-3.11.tar.gz 194582 BLAKE2B aae4678630c54453d924938bca45b75517be531c27e5b4f87ca2f4718b8feae735da43af3f7a0481cfb39b5e60decbca7abcf6e3c89e46945193d75220bc93fe SHA512 f99359b515ae66a124f21336c8b5a4d2842c2ac6f64b2f6f3e25502f376d799bec848fbbf49d886f4ff787e72a0aa49a3416d63f213bc872fc980eaaa977c917 -DIST idna-3.11.tar.gz.provenance 8859 BLAKE2B 838a4027ce6e9f5368eae9a53f75e82823aa5504735dcbcc51f347f77f00946f6d3040c5ad293f00052e28c6ce8a14221130627a63ee8fb122ef29966368ba38 SHA512 2c63f171287a7346007a5d79260afa69b03b244da96d4e3e42dd949461ee29c908006324b6036a9258fedd0bc781e27a281b013fa94599751204a20bfc76ae69 -DIST idna-3.12.tar.gz 194350 BLAKE2B d7a91d278d32bed5f8813df4b26e2387040e471a34135a93b082a2fdf1002765a27f6e7df5cb325896735d65f23271ee170cb2a9543e9b1336125f8cf8b8e137 SHA512 32b24e2ec3661100be9c114d6839cc9edc7c827a096c925868c1f6c12e4c16142d943c1f1049b7552753a1e3451563dc1a893ffb9ac64ae31ee42299de4480ba -DIST idna-3.12.tar.gz.provenance 9315 BLAKE2B 86ef43281fbbd9be9b32c1c85eb3b6bc1939c0d0b1e00c5f616780156e9c5edf1f6f8aa87b0a46c730cd59e3b439781e89c3c37c23f3bc23f1f9a549167acd0f SHA512 fd36a8fa287df7c120d53fd527aa0a1b3485be4ec1d4843ff9eeb11f6275517ee75dc03c5a3e42a657bf291211798cd3265d0b0926236e60683e56c4d6f7d94a -DIST idna-3.13.tar.gz 194210 BLAKE2B 6c98376ee4fc8320a0cce81230e6475dabc788017cd72eef059aea17a78cdc12189b51e3eaf41aa49035274bdd5bbc7827864315dce950724e4d40702c43512f SHA512 831ed3e23808dd85285973e9ac7717dad0dd4dbb5aeef6a0532fbc04b41c0714ce83cdc1a8efb6c8311a0160ce00abcbb8ff7064633e2a2bde32c0c2017e39b5 -DIST idna-3.13.tar.gz.provenance 8998 BLAKE2B 52b74df186a75decb7cc1438339bbf4fc57cce92ef292c0fb9db38abf35b061440b0a6984730499b940c69d4cbb185a5b50d529ea5a3b725b74b06826b93603d SHA512 fca4396722f497e4a13f744b95742857ef177713299678bfe496c0a47660afb02b5736eaa9abf059eebf525b5bbcce5fc239554ff0c3b6a574589b26d6c961a6 DIST idna-3.14.tar.gz 198272 BLAKE2B e7c7084109b82c797a9d04074e77533eedd1b339e334a9f48beee4405c1f62b9bcad02ec726445c71b96354088cedc23ee3b9cd3772a77b004f06a2f66382e76 SHA512 be45700d70b8527445c00c9f760311a448d1a38116883e69549405ebc89b78dded0a939625564841c44c51efaad03e2054ba883f284b152552b9fe84ffdb229b DIST idna-3.14.tar.gz.provenance 8986 BLAKE2B a9cbeae466fc385c997838513fe35efc862741be2f6b80f0c1151272b0bb473d6ed7efaa8584be1d647d8ed76127a524c7aaa102b248d16c1f9d51baf71af0a6 SHA512 e982ee5071a6a3ba7760c9e622419e47fce5fd210583ba78e70c5ac07a78adb3b2d6479020a7f2c8988b4a45b50b3968412a86d054e57df176c8817d1b54338b diff --git a/dev-python/idna/idna-3.11.ebuild b/dev-python/idna/idna-3.11.ebuild deleted file mode 100644 index c4d7fca3e8fee..0000000000000 --- a/dev-python/idna/idna-3.11.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# please keep this ebuild at EAPI 8 -- sys-apps/portage dep -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYPI_VERIFY_REPO=https://github.com/kjd/idna -PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Internationalized Domain Names in Applications (IDNA)" -HOMEPAGE=" - https://github.com/kjd/idna/ - https://pypi.org/project/idna/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" - -distutils_enable_tests unittest diff --git a/dev-python/idna/idna-3.12.ebuild b/dev-python/idna/idna-3.12.ebuild deleted file mode 100644 index 054789caeba9d..0000000000000 --- a/dev-python/idna/idna-3.12.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# please keep this ebuild at EAPI 8 -- sys-apps/portage dep -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYPI_VERIFY_REPO=https://github.com/kjd/idna -PYTHON_COMPAT=( python3_{11..14} python3_{13,14}t pypy3_11 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Internationalized Domain Names in Applications (IDNA)" -HOMEPAGE=" - https://github.com/kjd/idna/ - https://pypi.org/project/idna/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" - -distutils_enable_tests unittest diff --git a/dev-python/idna/idna-3.13.ebuild b/dev-python/idna/idna-3.13.ebuild deleted file mode 100644 index d70ef90abbe98..0000000000000 --- a/dev-python/idna/idna-3.13.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# please keep this ebuild at EAPI 8 -- sys-apps/portage dep -EAPI=8 - -DISTUTILS_USE_PEP517=flit -PYPI_VERIFY_REPO=https://github.com/kjd/idna -PYTHON_COMPAT=( python3_{11..15} python3_{13..15}t pypy3_11 ) - -inherit distutils-r1 pypi - -DESCRIPTION="Internationalized Domain Names in Applications (IDNA)" -HOMEPAGE=" - https://github.com/kjd/idna/ - https://pypi.org/project/idna/ -" - -LICENSE="BSD" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" - -distutils_enable_tests unittest diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass index e0d76123e8357..176a8b33ba9a6 100644 --- a/eclass/distutils-r1.eclass +++ b/eclass/distutils-r1.eclass @@ -1094,7 +1094,7 @@ distutils_pep517_install() { local maturin_args=( "${DISTUTILS_ARGS[@]}" --auditwheel=skip # see bug #831171 - --jobs="$(makeopts_jobs)" + --jobs="$(get_makeopts_jobs)" $(in_iuse debug && usex debug '--profile=dev' '') ) diff --git a/eclass/llvm-r1.eclass b/eclass/llvm-r1.eclass index 55cb0c0cafd0a..f5642bcee68e7 100644 --- a/eclass/llvm-r1.eclass +++ b/eclass/llvm-r1.eclass @@ -57,7 +57,7 @@ inherit llvm-utils # @DESCRIPTION: # Oldest supported LLVM slot. This is used to automatically filter out # unsupported LLVM_COMPAT values. -_LLVM_OLDEST_SLOT=15 +_LLVM_OLDEST_SLOT=16 # @ECLASS_VARIABLE: _LLVM_NEWEST_STABLE # @INTERNAL diff --git a/eclass/llvm-r2.eclass b/eclass/llvm-r2.eclass index f0b0493f83e34..6a3ee23f17a84 100644 --- a/eclass/llvm-r2.eclass +++ b/eclass/llvm-r2.eclass @@ -63,7 +63,7 @@ inherit llvm-utils multilib # @DESCRIPTION: # Oldest supported LLVM slot. This is used to automatically filter out # unsupported LLVM_COMPAT values. -_LLVM_OLDEST_SLOT=15 +_LLVM_OLDEST_SLOT=16 # @ECLASS_VARIABLE: _LLVM_NEWEST_STABLE # @INTERNAL diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass index 592bfe226c966..34ff07b0d9708 100644 --- a/eclass/llvm.eclass +++ b/eclass/llvm.eclass @@ -82,7 +82,7 @@ DEPEND="!!llvm-core/llvm:0" # @INTERNAL # @DESCRIPTION: # Correct values of LLVM slots, newest first. -declare -g -r _LLVM_KNOWN_SLOTS=( {19..8} ) +declare -g -r _LLVM_KNOWN_SLOTS=( {19..16} ) # @ECLASS_VARIABLE: LLVM_ECLASS_SKIP_PKG_SETUP # @INTERNAL diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass index 462126a47970d..6230cba30d92c 100644 --- a/eclass/python-utils-r1.eclass +++ b/eclass/python-utils-r1.eclass @@ -602,7 +602,7 @@ python_optimize() { # default to sitedir [[ ${#} -eq 0 ]] && set -- "${D}$(python_get_sitedir)" - local jobs=$(makeopts_jobs) + local jobs=$(get_makeopts_jobs) local d for d; do einfo "Optimizing Python modules in ${d#${D}}" @@ -1573,7 +1573,7 @@ epytest() { fi if [[ ${EPYTEST_XDIST} ]]; then - local jobs=${EPYTEST_JOBS:-$(makeopts_jobs)} + local jobs=${EPYTEST_JOBS:-$(get_makeopts_jobs)} if [[ ${jobs} -gt 1 ]]; then if [[ ${PYTEST_PLUGINS} != *xdist.plugin* ]]; then args+=( @@ -1588,6 +1588,17 @@ epytest() { # jobs are unevenly distributed --dist=worksteal ) + + if [[ ${MAKEFLAGS} == *--jobserver-auth=* ]]; then + if has_version "dev-python/pytest-jobserver[${PYTHON_USEDEP}]" + then + args+=( -p jobserver ) + elif [[ ! ${_EPYTEST_JOBSERVER_WARNED} ]]; then + ewarn "Jobserver found under pytest-xdist, but cannot be used without:" + ewarn " dev-python/pytest-jobserver" + _EPYTEST_JOBSERVER_WARNED=1 + fi + fi fi fi diff --git a/media-gfx/openvdb/Manifest b/media-gfx/openvdb/Manifest index 6ee3d7a31be3b..46f0050aaeaa1 100644 --- a/media-gfx/openvdb/Manifest +++ b/media-gfx/openvdb/Manifest @@ -1,3 +1 @@ -DIST openvdb-11.0.0-drop-obsolete-isActive-gcc15.patch 3410 BLAKE2B ac63f3bd72891bdc2f51eccceb37fb7077e215edd8474457618f5b49c5603fdbb68ed6a80ce18e0c55107beb10d7517b88c9995c3326520a644c339025bbcc2e SHA512 393d47f98240d1340660461cc4d0bc4882d404302c5944a60e9fa1269bc07060f386280cd617232fffe788ac05a74f88fe2b5f6420b4b2393a1d82bd7fc6a465 -DIST openvdb-11.0.0.tar.gz 4620858 BLAKE2B b970167fffa10f28f89c0a3497c7a6076462702c7ede6aacc098239a81f5f09f408b56c37f84ea68e301cedff24920f02a6d08c1f00a2b9ca48925ef7cdc85c7 SHA512 f2c90ca8435ecbacefda429341000ecb555385c746a3e0233220cd78540cee2a26cc17df7b560fdfe2dc03f2b2e960a2fa226a85980189c3e018164ccc037bd4 DIST openvdb-12.0.1.tar.gz 4708771 BLAKE2B 424f3ccd4f0db741cd0b6fa0fa7eced1d806116f00875ffb2882efe2c2798a0f15b170e0e58d08f9530a58d4af53cae7eae60f247cb027ef6673cc4ab534d30b SHA512 67b859bf77c53e68116faa7915bb6a5a50a8cff10435762890e13348625e8aebdb6661b722017632471648afe31e2f9d4cd2e18456c728192bfd0accd70a40ef diff --git a/media-gfx/openvdb/files/openvdb-10.0.1-fix-linking-of-vdb_tool-with-OpenEXR.patch b/media-gfx/openvdb/files/openvdb-10.0.1-fix-linking-of-vdb_tool-with-OpenEXR.patch deleted file mode 100644 index 00b29db2e17c2..0000000000000 --- a/media-gfx/openvdb/files/openvdb-10.0.1-fix-linking-of-vdb_tool-with-OpenEXR.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 2b6195c6dc479692aa5b7b07356d788b3dd21596 Mon Sep 17 00:00:00 2001 -From: Bernd Waibel -Date: Mon, 5 Dec 2022 07:19:51 +0100 -Subject: [PATCH] fix linking of vdb_tool with OpenEXR - -This patch is Gentoo specific. Ideally it should respect the OpenEXR version -being installed. Because we only support OpenEXR-3 for OpenVDB, the patch -works on Gentoo, but not on setups where OpenEXR-2 is still being used to -build OpenVDB. - -Bug: https://github.com/AcademySoftwareFoundation/openvdb/issues/1541 -Signed-off-by: Bernd Waibel ---- a/openvdb_cmd/vdb_tool/CMakeLists.txt -+++ b/openvdb_cmd/vdb_tool/CMakeLists.txt -@@ -93,7 +93,7 @@ endif() - if(OPENVDB_TOOL_USE_EXR) - target_compile_definitions(vdb_tool_common INTERFACE "VDB_TOOL_USE_EXR") - find_package(OpenEXR REQUIRED) -- target_link_libraries(vdb_tool_common INTERFACE OpenEXR::IlmImf) -+ target_link_libraries(vdb_tool_common INTERFACE OpenEXR::OpenEXR) - endif() - - if(OPENVDB_TOOL_USE_ABC) --- -2.38.1 - diff --git a/media-gfx/openvdb/files/openvdb-11.0.0-constexpr-version.patch b/media-gfx/openvdb/files/openvdb-11.0.0-constexpr-version.patch deleted file mode 100644 index 17377a411d2c3..0000000000000 --- a/media-gfx/openvdb/files/openvdb-11.0.0-constexpr-version.patch +++ /dev/null @@ -1,55 +0,0 @@ -From: Paul Zander - -make Version constexpr so it can be used to decern the API at runtime (see Blender) - ---- a/nanovdb/nanovdb/NanoVDB.h 2023-11-23 15:03:52.227292525 +0100 -+++ b/nanovdb/nanovdb/NanoVDB.h 2023-11-23 15:05:10.508818683 +0100 -@@ -948,34 +948,34 @@ - { - uint32_t mData; // 11 + 11 + 10 bit packing of major + minor + patch - public: -- __hostdev__ Version() -+ __hostdev__ constexpr Version() - : mData(uint32_t(NANOVDB_MAJOR_VERSION_NUMBER) << 21 | - uint32_t(NANOVDB_MINOR_VERSION_NUMBER) << 10 | - uint32_t(NANOVDB_PATCH_VERSION_NUMBER)) - { - } -- __hostdev__ Version(uint32_t data) : mData(data) {} -- __hostdev__ Version(uint32_t major, uint32_t minor, uint32_t patch) -+ __hostdev__ constexpr Version(uint32_t data) : mData(data) {} -+ __hostdev__ constexpr Version(uint32_t major, uint32_t minor, uint32_t patch) - : mData(major << 21 | minor << 10 | patch) - { - NANOVDB_ASSERT(major < (1u << 11)); // max value of major is 2047 - NANOVDB_ASSERT(minor < (1u << 11)); // max value of minor is 2047 - NANOVDB_ASSERT(patch < (1u << 10)); // max value of patch is 1023 - } -- __hostdev__ bool operator==(const Version& rhs) const { return mData == rhs.mData; } -- __hostdev__ bool operator<( const Version& rhs) const { return mData < rhs.mData; } -- __hostdev__ bool operator<=(const Version& rhs) const { return mData <= rhs.mData; } -- __hostdev__ bool operator>( const Version& rhs) const { return mData > rhs.mData; } -- __hostdev__ bool operator>=(const Version& rhs) const { return mData >= rhs.mData; } -- __hostdev__ uint32_t id() const { return mData; } -- __hostdev__ uint32_t getMajor() const { return (mData >> 21) & ((1u << 11) - 1); } -- __hostdev__ uint32_t getMinor() const { return (mData >> 10) & ((1u << 11) - 1); } -- __hostdev__ uint32_t getPatch() const { return mData & ((1u << 10) - 1); } -- __hostdev__ bool isCompatible() const { return this->getMajor() == uint32_t(NANOVDB_MAJOR_VERSION_NUMBER);} -+ __hostdev__ constexpr bool operator==(const Version& rhs) const { return mData == rhs.mData; } -+ __hostdev__ constexpr bool operator<( const Version& rhs) const { return mData < rhs.mData; } -+ __hostdev__ constexpr bool operator<=(const Version& rhs) const { return mData <= rhs.mData; } -+ __hostdev__ constexpr bool operator>( const Version& rhs) const { return mData > rhs.mData; } -+ __hostdev__ constexpr bool operator>=(const Version& rhs) const { return mData >= rhs.mData; } -+ __hostdev__ constexpr uint32_t id() const { return mData; } -+ __hostdev__ constexpr uint32_t getMajor() const { return (mData >> 21) & ((1u << 11) - 1); } -+ __hostdev__ constexpr uint32_t getMinor() const { return (mData >> 10) & ((1u << 11) - 1); } -+ __hostdev__ constexpr uint32_t getPatch() const { return mData & ((1u << 10) - 1); } -+ __hostdev__ constexpr bool isCompatible() const { return this->getMajor() == uint32_t(NANOVDB_MAJOR_VERSION_NUMBER);} - /// @brief Check the major version of this instance relative to NANOVDB_MAJOR_VERSION_NUMBER - /// @return return 0 if the major version equals NANOVDB_MAJOR_VERSION_NUMBER, else a negative age if it is - /// older, i.e. smaller, and a positive age if it's newer, i.e.e larger. -- __hostdev__ int age() const {return int(this->getMajor()) - int(NANOVDB_MAJOR_VERSION_NUMBER);} -+ __hostdev__ constexpr int age() const {return int(this->getMajor()) - int(NANOVDB_MAJOR_VERSION_NUMBER);} - - #ifndef __CUDACC_RTC__ - const char* c_str() const diff --git a/media-gfx/openvdb/metadata.xml b/media-gfx/openvdb/metadata.xml index c74d499d96a34..b00f194bbe1d8 100644 --- a/media-gfx/openvdb/metadata.xml +++ b/media-gfx/openvdb/metadata.xml @@ -27,17 +27,10 @@ Disables newer features to maintain compatibility with ABI10 - - Disables newer features to maintain compatibility with ABI9 - Add support for Alembic through media-gfx/alembic. - - Build the OpenVDB AX module to perform custom manipulation of - OpenVDB data via an expression language: AX - Allow using blosc compression via dev-libs/c-blosc diff --git a/media-gfx/openvdb/openvdb-11.0.0-r1.ebuild b/media-gfx/openvdb/openvdb-11.0.0-r1.ebuild deleted file mode 100644 index e39416b30db13..0000000000000 --- a/media-gfx/openvdb/openvdb-11.0.0-r1.ebuild +++ /dev/null @@ -1,468 +0,0 @@ -# Copyright 1999-2026 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..12} ) -LLVM_OPTIONAL=1 -LLVM_COMPAT=( 15 ) - -inherit cmake cuda flag-o-matic llvm-r2 multibuild python-single-r1 toolchain-funcs - -DESCRIPTION="Library for the efficient manipulation of volumetric data" -HOMEPAGE="https://www.openvdb.org" -SRC_URI=" - https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - https://github.com/AcademySoftwareFoundation/openvdb/commit/930c3acb8e0c7c2f1373f3a70dc197f5d04dfe74.patch - -> ${PN}-11.0.0-drop-obsolete-isActive-gcc15.patch -" - -LICENSE="MPL-2.0" -OPENVDB_ABI=$(ver_cut 1) -SLOT="0/$(ver_cut 1-2)" -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" -IUSE="abi$((OPENVDB_ABI + 1))-compat +abi${OPENVDB_ABI}-compat abi$((OPENVDB_ABI - 1))-compat abi$((OPENVDB_ABI - 2))-compat alembic ax +blosc cpu_flags_x86_avx cpu_flags_x86_sse4_2 - cuda doc examples jpeg +nanovdb numpy openexr png python static-libs test utils zlib" -RESTRICT="!test? ( test )" - -REQUIRED_USE=" - ?? ( - abi$((OPENVDB_ABI + 1))-compat - abi${OPENVDB_ABI}-compat - abi$((OPENVDB_ABI - 1))-compat - abi$((OPENVDB_ABI - 2))-compat - ) - ax? ( ${LLVM_REQUIRED_USE} ) - cpu_flags_x86_avx? ( cpu_flags_x86_sse4_2 ) - python? ( ${PYTHON_REQUIRED_USE} ) - blosc? ( zlib ) -" - -# OPTDEPEND=( -# dev-util/gcovr -# ) - -RDEPEND=" - >=dev-cpp/tbb-2020.3:= - dev-libs/boost:= - dev-libs/jemalloc:= - dev-libs/imath:= - ax? ( - $(llvm_gen_dep ' - llvm-core/llvm:${LLVM_SLOT}= - ') - ) - blosc? ( - dev-libs/c-blosc:= - virtual/zlib:= - ) - nanovdb? ( - zlib? ( - virtual/zlib:= - ) - cuda? ( - dev-util/nvidia-cuda-toolkit:= - ) - ) - python? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-libs/boost:=[numpy?,${PYTHON_USEDEP}] - dev-python/pybind11[${PYTHON_USEDEP}] - numpy? ( dev-python/numpy[${PYTHON_USEDEP}] ) - ') - ) - utils? ( - x11-libs/libXcursor - x11-libs/libXi - x11-libs/libXinerama - x11-libs/libXrandr - media-libs/glfw - media-libs/glu - alembic? ( media-gfx/alembic ) - jpeg? ( media-libs/libjpeg-turbo:= ) - png? ( media-libs/libpng:= ) - openexr? ( >=media-libs/openexr-3:= ) - media-libs/libglvnd[X] - ) - !ax? ( - dev-libs/log4cplus:= - ) -" - -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig - doc? ( - app-text/doxygen - dev-texlive/texlive-bibtexextra - dev-texlive/texlive-fontsextra - dev-texlive/texlive-fontutils - dev-texlive/texlive-latex - dev-texlive/texlive-latexextra - ) - test? ( - dev-cpp/gtest - dev-util/cppunit - ) -" - -PATCHES=( - "${FILESDIR}/${PN}-8.1.0-glfw-libdir.patch" - - "${FILESDIR}/${PN}-9.0.0-fix-atomic.patch" - - "${FILESDIR}/${PN}-10.0.1-fix-linking-of-vdb_tool-with-OpenEXR.patch" - "${FILESDIR}/${PN}-10.0.1-log4cplus-version.patch" - - "${FILESDIR}/${PN}-11.0.0-constexpr-version.patch" - "${FILESDIR}/${PN}-11.0.0-cmake_fixes.patch" -) - -cuda_get_host_compiler() { - if [[ -v NVCC_CCBIN ]]; then - echo "${NVCC_CCBIN}" - return - fi - - if [[ -v CUDAHOSTCXX ]]; then - echo "${CUDAHOSTCXX}" - return - fi - - einfo "Trying to find working CUDA host compiler" - - if ! tc-is-gcc && ! tc-is-clang; then - die "$(tc-get-compiler-type) compiler is not supported (use gcc or clang)" - fi - - local compiler compiler_type compiler_version - local package package_version - local NVCC_CCBIN_default - - compiler_type="$(tc-get-compiler-type)" - compiler_version="$("${compiler_type}-major-version")" - - # try the default compiler first - NVCC_CCBIN="$(tc-getCXX)" - NVCC_CCBIN_default="${NVCC_CCBIN}-${compiler_version}" - - compiler="${NVCC_CCBIN/%-${compiler_version}}" - - # store the package so we can re-use it later - package="sys-devel/${compiler_type}" - package_version="${package}" - - ebegin "testing ${NVCC_CCBIN_default} (default)" - - while ! nvcc -v -ccbin "${NVCC_CCBIN}" - -x cu <<<"int main(){}" &>> "${T}/cuda_get_host_compiler.log" ; do - eend 1 - - while true; do - # prepare next version - if ! package_version="<$(best_version "${package_version}")"; then - die "could not find a supported version of ${compiler}" - fi - - NVCC_CCBIN="${compiler}-$(ver_cut 1 "${package_version/#<${package}-/}")" - - [[ "${NVCC_CCBIN}" != "${NVCC_CCBIN_default}" ]] && break - done - ebegin "testing ${NVCC_CCBIN}" - done - eend $? - - # clean temp file - nonfatal rm -f a.out - - echo "${NVCC_CCBIN}" - export NVCC_CCBIN - - einfo "Using ${NVCC_CCBIN} to build (via ${package} iteration)" -} - -cuda_get_host_native_arch() { - if [[ -n ${CUDAARCHS} ]]; then - echo "${CUDAARCHS}" - return - fi - - if ! SANDBOX_WRITE=/dev/nvidiactl test -w /dev/nvidiactl ; then - eerror - eerror "Can not access the GPU at /dev/nvidiactl." - eerror "User $(id -nu) is not in the group \"video\"." - eerror - ewarn - ewarn "Can not query the native device. Not setting CUDAARCHS." - ewarn "Continuing with default value. Set CUDAARCHS manually if needed." - ewarn - return 1 - fi - - __nvcc_device_query || eerror "failed to query the native device" -} - -pkg_setup() { - use ax && llvm-r2_pkg_setup - use python && python-single-r1_pkg_setup - - if use cuda; then - # sets up /dev files as a side-effect - # needs to be run in pkg_setup as root - nvidia-smi -L >/dev/null - fi -} - -src_prepare() { - MULTIBUILD_VARIANTS=( install ) - use test && MULTIBUILD_VARIANTS+=( test ) - - rm "cmake/Find"{OpenEXR,TBB}".cmake" || die - - if use nanovdb; then - sed \ - -e 's#message(WARNING " - OpenVDB required to build#message(VERBOSE " - OpenVDB required to build#g' \ - -i "nanovdb/nanovdb/"*"/CMakeLists.txt" || die - - # backported gcc-15 fix #938253 - cp "${DISTDIR}/${PN}-11.0.0-drop-obsolete-isActive-gcc15.patch" "${T}" || die - - sed -e "s#nanovdb/nanovdb/tools/GridBuilder.h#nanovdb/nanovdb/util/GridBuilder.h#g" \ - -i "${T}/${PN}-11.0.0-drop-obsolete-isActive-gcc15.patch" || die - - eapply "${T}/${PN}-11.0.0-drop-obsolete-isActive-gcc15.patch" - - sed -e '24i #include ' -i nanovdb/nanovdb/unittest/TestNanoVDB.cu || die - fi - - cmake_src_prepare - - sed -e 's|/usr/local/bin/python|/usr/bin/python|' \ - -i "${S}"/openvdb/openvdb/python/test/TestOpenVDB.py || die -} - -my_src_configure() { - local version abi_version - version=$(ver_cut 1) - abi_version="${version}" - if use "abi$(( version + 1 ))-compat"; then - abi_version=$(( version + 1 )) - elif use "abi$(( version - 1 ))-compat"; then - abi_version=$(( version - 1 )) - elif use "abi$(( version - 2 ))-compat"; then - abi_version=$(( version - 2 )) - fi - - local mycmakeargs=( - -DCMAKE_FIND_PACKAGE_PREFER_CONFIG="yes" - -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}/" - - -DOPENVDB_ABI_VERSION_NUMBER="${abi_version}" - -DOPENVDB_BUILD_DOCS="$(usex doc)" - -DOPENVDB_BUILD_UNITTESTS="$(usex test)" - -DOPENVDB_BUILD_VDB_LOD="$(usex utils)" - -DOPENVDB_BUILD_VDB_RENDER="$(usex utils)" - -DOPENVDB_BUILD_VDB_TOOL="$(usex utils)" - -DOPENVDB_BUILD_VDB_VIEW="$(usex utils)" - -DOPENVDB_CORE_SHARED="yes" - -DOPENVDB_CORE_STATIC="$(usex static-libs)" - # -DOPENVDB_CXX_STRICT="yes" - -DOPENVDB_ENABLE_UNINSTALL="no" - - -DUSE_AX="$(usex ax)" - - -DOPENVDB_BUILD_HOUDINI_PLUGIN="no" - # -DOPENVDB_DOXYGEN_HOUDINI="no" - - -DUSE_BLOSC="$(usex blosc)" - -DUSE_CCACHE="no" - -DUSE_COLORED_OUTPUT="yes" - # OpenEXR is only needed by the vdb_render tool and defaults to OFF - -DUSE_EXR="$(usex openexr "$(usex utils)")" - # not packaged - -DUSE_HOUDINI="no" - # replaces openexr half - -DUSE_IMATH_HALF="yes" - -DUSE_LOG4CPLUS="$(usex !ax)" - -DUSE_PKGCONFIG="yes" - # PNG is only needed by the vdb_render tool and defaults to OFF - -DUSE_PNG="$(usex png "$(usex utils)")" - -DUSE_TBB="yes" - -DUSE_ZLIB="$(usex zlib)" - - "-DOPENVDB_USE_FUTURE_ABI_$(( version + 1 ))=$(usex "abi$(( version + 1 ))-compat")" - "-DOPENVDB_USE_DEPRECATED_ABI_$(( version - 1 ))=$(usex "abi$(( version - 1 ))-compat")" - "-DOPENVDB_USE_DEPRECATED_ABI_$(( version - 2 ))=$(usex "abi$(( version - 2 ))-compat")" - ) - - if use ax; then - mycmakeargs+=( - -DOPENVDB_AX_STATIC="$(usex static-libs)" - -DOPENVDB_DOXYGEN_AX="$(usex doc)" - # due to multibuild - # -DOPENVDB_AX_TEST_CMD="$(usex test)" - # -DOPENVDB_AX_TEST_CMD_DOWNLOADS="$(usex test)" - -DOPENVDB_BUILD_AX_UNITTESTS="$(usex test)" # FIXME: log4cplus init and other errors - -DOPENVDB_BUILD_VDB_AX="$(usex utils)" - ) - fi - - if use nanovdb; then - mycmakeargs+=( - -DUSE_NANOVDB="yes" - # NOTE intentional so it breaks in sandbox if files are missing - -DNANOVDB_ALLOW_FETCHCONTENT="yes" - -DNANOVDB_BUILD_EXAMPLES="$(usex examples)" - -DNANOVDB_BUILD_TOOLS="$(usex utils)" - -DNANOVDB_BUILD_UNITTESTS="$(usex test)" - -DNANOVDB_USE_BLOSC="$(usex blosc)" - -DNANOVDB_USE_CUDA="$(usex cuda)" - -DNANOVDB_USE_ZLIB="$(usex zlib)" - - # TODO add openvdb use flag or split nanovdb as they can be build independent of each other - -DNANOVDB_USE_OPENVDB="yes" - ) - if use cpu_flags_x86_avx || use cpu_flags_x86_sse4_2; then - mycmakeargs+=( - -DNANOVDB_USE_INTRINSICS="yes" - ) - fi - - if use cuda; then - cuda_add_sandbox -w - addwrite "/proc/self/task/" - addpredict "/dev/char" - - if [[ ! -v "${CUDAARCHS}" ]]; then - local -x CUDAARCHS - CUDAARCHS="$(cuda_get_host_native_arch)" - einfo "Building with CUDAARCHS=${CUDAARCHS}" - fi - - if [[ ! -v CUDAHOSTCXX ]]; then - local -x CUDAHOSTCXX - CUDAHOSTCXX="$(cuda_get_host_compiler)" - fi - if [[ ! -v CUDAHOSTLD ]]; then - local -x CUDAHOSTLD - CUDAHOSTLD="$(tc-getCXX)" - fi - - if tc-is-gcc; then - # Filter out IMPLICIT_LINK_DIRECTORIES picked up by CMAKE_DETERMINE_COMPILER_ABI(CUDA) - # See /usr/share/cmake/Help/variable/CMAKE_LANG_IMPLICIT_LINK_DIRECTORIES.rst - CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES_EXCLUDE=$( - "${CUDAHOSTLD}" -E -v - <<<"int main(){}" |& \ - grep LIBRARY_PATH | cut -d '=' -f 2 | cut -d ':' -f 1 - ) - fi - fi - - if use utils; then - mycmakeargs+=( - -DOPENVDB_TOOL_USE_NANO="yes" - -DOPENVDB_TOOL_NANO_USE_BLOSC="$(usex blosc)" - -DOPENVDB_TOOL_NANO_USE_ZIP="$(usex zlib)" - ) - fi - fi - - if use python; then - mycmakeargs+=( - -DOPENVDB_BUILD_PYTHON_MODULE="yes" - -DUSE_NUMPY="$(usex numpy)" - -DPYOPENVDB_INSTALL_DIRECTORY="$(python_get_sitedir)" - -DPython_INCLUDE_DIR="$(python_get_includedir)" - ) - use test && mycmakeargs+=( - -DPython_EXECUTABLE="${PYTHON}" - -DOPENVDB_BUILD_PYTHON_UNITTESTS="yes" - ) - fi - - # options for the new vdb_tool binary - if use utils; then - mycmakeargs+=( - -DBUILD_TEST="$(usex test)" - -DOPENVDB_BUILD_VDB_AX="$(usex ax)" - - -DOPENVDB_TOOL_USE_ABC="$(usex alembic)" # Alembic - -DOPENVDB_TOOL_USE_EXR="$(usex openexr)" # OpenEXR - -DOPENVDB_TOOL_USE_JPG="$(usex jpeg)" # libjpeg-turbo - -DOPENVDB_TOOL_USE_PNG="$(usex png)" # libpng - ) - fi - - if use cpu_flags_x86_avx; then - mycmakeargs+=( -DOPENVDB_SIMD="AVX" ) - elif use cpu_flags_x86_sse4_2; then - mycmakeargs+=( -DOPENVDB_SIMD="SSE42" ) - fi - - if [[ "${MULTIBUILD_VARIANT}" == "test" ]]; then - # NOTE Certain tests expect bit equality and don't set tolerance violating the C standard - # 6.5 8) - # A floating expression may be contracted, that is, evaluated as though it were an atomic operation, - # thereby omitting rounding errors implied by the source code and the expression evaluation method. - # The FP_CONTRACT pragma in provides a way to disallow contracted expressions. - # Otherwise, whether and how expressions are contracted is implementation-defined. - # - # To reproduce the upstream tests the testsuite is compiled separate with FP_CONTRACT=OFF - append-cflags "-ffp-contract=off" - append-cxxflags "-ffp-contract=off" - if use ax; then - mycmakeargs+=( - -DOPENVDB_AX_TEST_CMD="yes" - -DOPENVDB_AX_TEST_CMD_DOWNLOADS="yes" - ) - fi - fi - - cmake_src_configure -} - -my_src_test() { - [[ "${MULTIBUILD_VARIANT}" != "test" ]] && return - - if use ax; then - ln -sr "${CMAKE_USE_DIR}/openvdb_ax/openvdb_ax/test" "${BUILD_DIR}/test" || die - fi - - if use cuda; then - cuda_add_sandbox -w - fi - - local -x GTEST_FILTER="!TestUtil.testCpuTimer" - local -x CMAKE_SKIP_TESTS=( - "^pytest$" - ) - - cmake_src_test -} - -my_src_install() { - [[ "${MULTIBUILD_VARIANT}" == "test" ]] && return - cmake_src_install -} - -src_configure() { - # -Werror=strict-aliasing - # https://bugs.gentoo.org/926820 - # https://github.com/AcademySoftwareFoundation/openvdb/issues/1784 - append-flags -fno-strict-aliasing - filter-lto - - multibuild_foreach_variant my_src_configure -} - -src_compile() { - multibuild_foreach_variant cmake_src_compile -} - -src_test() { - multibuild_foreach_variant my_src_test -} - -src_install() { - multibuild_foreach_variant my_src_install -} diff --git a/profiles/base/use.mask b/profiles/base/use.mask index 54832168515a0..c95e0d57f0891 100644 --- a/profiles/base/use.mask +++ b/profiles/base/use.mask @@ -15,11 +15,6 @@ python_single_target_python3_15t # LLVM slots with no keyworded releases yet. llvm_slot_23 -# Michał Górny (2026-01-13) -# LLVM 15 is only required by masked packages. It will be removed when -# the reverse dependencies are gone. Bug #920536. -llvm_slot_15 - # Sam James (2025-12-02) # GCC 16 is not yet released ada_target_gcc_16 diff --git a/profiles/desc/llvm_slot.desc b/profiles/desc/llvm_slot.desc index 688a2f4a01ea3..9a8a2a20b35c8 100644 --- a/profiles/desc/llvm_slot.desc +++ b/profiles/desc/llvm_slot.desc @@ -1,7 +1,6 @@ -# Copyright 2024-2025 Gentoo Authors +# Copyright 2024-2026 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -15 - Use LLVM 15. 16 - Use LLVM 16. 17 - Use LLVM 17. 18 - Use LLVM 18. diff --git a/sys-kernel/gentoo-kernel-bin/Manifest b/sys-kernel/gentoo-kernel-bin/Manifest index 0518dc516d9cf..6ad48c456c476 100644 --- a/sys-kernel/gentoo-kernel-bin/Manifest +++ b/sys-kernel/gentoo-kernel-bin/Manifest @@ -18,6 +18,10 @@ DIST gentoo-kernel-6.18.28-1.amd64.gpkg.tar 464773120 BLAKE2B 607984ec9150073ee5 DIST gentoo-kernel-6.18.28-1.arm64.gpkg.tar 451256320 BLAKE2B de27338c24a3871e24195060d4df115277a40cb05c0aaef02f1731404ca1a549145a0e144d989cd4fa8952b31b3169eb47162e1820d10dbe0797ef836b26677c SHA512 7179a3248480b1fae653adeae504c81d272485ee1cab02d9e44538f62a389e9823dc7e20336914240140af1a8a8ea3e697c222a0657c351678dded51d15c7167 DIST gentoo-kernel-6.18.28-1.ppc64le.gpkg.tar 77178880 BLAKE2B 778d7b0dc1c88ebb8940aea118cd106d0971076f0118dd374e89bb238852f99f5f64c5268e99ce5ae546c969897c594c9fc563dbb1045153def5e5e611deefc2 SHA512 17b701dec61d604f34fa139badbe29156c7ed8c060382ad70a661cf8f8adcaeb1e2ebc41388c6da9517dfd07a29ec6fb93b21f9236c4ae7f149476e3b49454be DIST gentoo-kernel-6.18.28-1.x86.gpkg.tar 83578880 BLAKE2B 5be60978fd7a8b36be3272797e7653c5c7f3af92079e3f702f5fdff90e3a05e1b92e9feaac18091fce2fae38116026a063511d6cbcfb5ef6e26e00e94d9dd766 SHA512 93094f925d52b2a4e85bb48e7a305373c53d58b8114812b1d5e72bb9e3aad4ffe2e1372c281d1a2b4fe3e628da563b878a439d653d6e37d2cf4db689fe2f1469 +DIST gentoo-kernel-6.18.29-1.amd64.gpkg.tar 464834560 BLAKE2B 4ee9ca8559a81e8c002a2ba81def1aaf1d8395af369f66862a98c1ef1d153a1f45a272fb0e6b0c56e354dd57bed091c0b1385333097922ae7dc86f3f28147dec SHA512 b74c9fecdbb9a7b0583f9fb7ed74017fe2daa990b1ff075d3b857350f4995c60dc7044a2b41ef16f72d550d86575bde2f6201123bdd93810c04ed3643ef8e9f6 +DIST gentoo-kernel-6.18.29-1.arm64.gpkg.tar 451256320 BLAKE2B 4501f4dd629ce2ee9f5abb9c48bcc7b8a451ccf0a75b8a5e857bf7b2aa9a54fd9e2aca14dade311b680aa4322b133b22197eaf08284ea4e79548c85ec1abc748 SHA512 51fc9f743a48459c74abbd1a47aaf4b2cb55525ec784e49e57836312cf1b51225e85e802fbabca0774b9f32fd7cea4ddfd0136d531f63a3015b2c7d4844a47cd +DIST gentoo-kernel-6.18.29-1.ppc64le.gpkg.tar 77137920 BLAKE2B b0370b261b76630c0e2998b8b85673d1f2281d0ee86c6a023ead784226cd6529122b3235e9e1a4834f28d3a88320f22a5b01e588661914fc3bfc848a235d3c40 SHA512 f7b95f05bb966ea6d6d10a13b3f08f0f7fd731d0cb644258166bd414ffc5dca2a7225b8ca0d02fba90ef1d2c85bb342783bf37c1033561d8b9c4242ffd448f1c +DIST gentoo-kernel-6.18.29-1.x86.gpkg.tar 83578880 BLAKE2B f6d2dd9992bef23029a300933b141b42d646672ad165a55ab7faad090c2226564cb9e0d3cfd9590e5f68f2be123d76236b87314bc65d6191b19ff41f9765e29e SHA512 974e4a5c15cefda6f215440786a381e8c50b6ecaa1b6cee24509042f213929502dd5bc86ce277cd8e51aaf7587de2645f46771b5d6031f0672548b0ed666b2a1 DIST gentoo-kernel-6.6.138-1.amd64.gpkg.tar 289361920 BLAKE2B 1cbfe1a2b72a605cc7c0d464506433de53b4f976a225f05fdaad25efd501fb3e19e73bccf790d5f8f79ef7bbe50ebebaa0709deef81d90cfcd5c9cdb5cf74ffe SHA512 6ed7da94aa5b5b7cad53a2285dd2f6557798d1110eeea3cefc269e3a5e6eeea32a39a252341ddaa8315b74b91bbc4a7b4c83021d2cc83290d9bf7d4830cfd9b9 DIST gentoo-kernel-6.6.138-1.arm64.gpkg.tar 259706880 BLAKE2B 9393d04735c059b545af8cb5963fbd09a4f49fc8e5d3d6f1568c7b1fbb80aec6c46f7405fcb4f2fbfea4f6e5b9a470fbbe56961a3d0dff5bcb5d4fbbbfd83598 SHA512 54a84194b938f13a0ba752afd8f5ab69ac0b2caa2b1ea0cf51e6634d6f2a63eab8c41233f34c09311df4696f7778482bfc3247f60489dfd484f4b52a0cb3bb67 DIST gentoo-kernel-6.6.138-1.ppc64le.gpkg.tar 65259520 BLAKE2B 2c1884b8402baae54d1a1b9c1fb17d3a8e3693129e6cacadaf984ac5b2d9dd499d9f9890d3f59a2ee06a3d1a715eff3ee5e0fb1da7d351e718fc28090b990e00 SHA512 5a6e3f1dd8824edc2866e5ed750b5575dc829ac48dda7595fc01080b60077667f10e0bf6bac6be7caf21f4582a410008078ad216b6694a420eb3526d2d4d4dfc @@ -26,6 +30,10 @@ DIST gentoo-kernel-7.0.5-1.amd64.gpkg.tar 354252800 BLAKE2B 289631dcdc1d4c04694a DIST gentoo-kernel-7.0.5-1.arm64.gpkg.tar 326103040 BLAKE2B da717874d9755dfc0bb32384d5927eb49570089cc5caed578b286f6cf1602c769e877ebdf3c30c1c3db91320c7688822e1f8153eba2a1eaa0b0a613baaba67cf SHA512 747bca19cf5aad4b426cd23c814c6aee50f538a22566b8325452ca0de1eebc884781006f395cfc9c87ff9962af40e610c09dfa8e3e880eb561b1c0384bf83957 DIST gentoo-kernel-7.0.5-1.ppc64le.gpkg.tar 78622720 BLAKE2B 1c436d14d12b5f6ef7d6cfd04f875530142036015e4577def6869a2a6058445521d638375af8db36463d6afe0b878f00ad39cc960816f85e4dc20fdc4e5cf861 SHA512 94a1a038b9bd4dfe47d86f3304dbf38ae170f357ebcf1d7514637b53ac760fb443bab2d5a1735e7ba028e907fb1368552dca0bc64c99bf1bc5439a854d2e3685 DIST gentoo-kernel-7.0.5-1.x86.gpkg.tar 85360640 BLAKE2B 29dfa94b71d02c9528d67f4160b5cc5349b1c1c4271eca2f9fcf9ac0cb46d0dfa67cd6dfb691210e9b5eab934ea26e243f85ff0a0ae1d9701b89afa5cadda8f1 SHA512 081cced0aef477444292bc73438743d5b03d87793632b48b56967dc4da289826f234ac8503570d5d0f903aa3174f03840e05cce7425785acbc284c09de95f8c9 +DIST gentoo-kernel-7.0.6-1.amd64.gpkg.tar 354263040 BLAKE2B 88077e54265e379bfe5c064ee318cc745b258aa059a1aa8a06d51a1a6b261445aff28f1409c59b328d20e48d52d3b648804fb99efe464a86907a458fcdad34cb SHA512 2c9a820cb347a897845a80c54009c59c4884be7310c504048abbd352a69064dcbd93167e1e2b3533dd3915e40cc6d9f55160474d41d2215c5f94633e734388a7 +DIST gentoo-kernel-7.0.6-1.arm64.gpkg.tar 326082560 BLAKE2B 062a7f4b68429f9dee5d80e7dea692a9b0e02e96e7676447a24ffc170b757ac5d0eec50bba886b1f68068d680a8df4d7a72f4a23013b6daa6e39a65af3fd0beb SHA512 346f5128fd315f720e03d381c115d99f5a72b69122916ffc694520c54024941e8077959c4001285df48c545380d0049f87e97588a9ce23e5cff274f9ad0aa5f0 +DIST gentoo-kernel-7.0.6-1.ppc64le.gpkg.tar 78622720 BLAKE2B 9f0febf4450126e2be0d9d1ee7f8116fd65d68062df6017b1155ae671200098d3bba3954b71dccc8fb287c65099509fae376b8e4e1359adb300a92dbf0b83eeb SHA512 7fd99a4506eee65d63032077cb28115c4d129cf0e0d4081b8c8ab066cb859705c2ade4d74135441cdb5f2efe459a68f7ac1447feb50b8a321a29f49709f7278a +DIST gentoo-kernel-7.0.6-1.x86.gpkg.tar 85350400 BLAKE2B 02bdcb2c0bbedac354df9ff1be72f87b13114cfa14c6c22fa6c410412c57de62a9830e69fdb9a18c3f9197509ed29d319e7204114e06c49cbf106b57c96d8bcc SHA512 bdadbb3dd23334e46c224093cd9aabddd436e88286b5bddfa719dc7d5ee27d18a56a61528e7d189317cb36b758cf1fade6c08ac3397ad13b4ed681ce51604772 DIST linux-5.10.tar.xz 116606704 BLAKE2B b923d7b66309224f42f35f8a5fa219421b0a9362d2adacdadd8d96251f61f7230878ea297a269a7f3b3c56830f0b177e068691e1d7f88501a05653b0a13274d1 SHA512 95bc137d0cf9148da6a9d1f1a878698dc27b40f68e22c597544010a6c591ce1b256f083489d3ff45ff77753289b535135590194d88ef9f007d0ddab3d74de70e DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a DIST linux-5.x-sha256sums-20260508.asc 377333 BLAKE2B 559ebeef5ea40e4c23309e6efbe3554b02db012856adcccbaac2c920ed6e3e76d0ed19a195da462fd631fc73f9cf2f9036a59e4e0285b4e608415de19254ca98 SHA512 2ba895511e09b02b5a269812dd35947c751d4295c04189b0209b1034fbaa709083751f0e5199edc3a55de6369e1f3fc715e094b3e399aab617f717c6280f3a79 @@ -34,19 +42,25 @@ DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581 DIST linux-6.18.tar.xz 154309096 BLAKE2B b94b7b9bf18aca0c3e50baf79b009a1448fc6cd9c3ee019f641cc247dcf53a4abef4274ee0608ad8cd4943af69854363a95d26e117ff23620bb07dccb158859f SHA512 88599ffdec96d150c1feb9b261ba93bb0301a9d0e1ad6bef7aeab1f5372cbfc57d8b43c7e902bd8f76921d1dbd8189663c142ea869e51d0e2b483b150ee00fe0 DIST linux-6.6.tar.xz 140064536 BLAKE2B 5f02fd8696d42f7ec8c5fbadec8e7270bdcfcb1f9844a6c4db3e1fd461c93ce1ccda650ca72dceb4890ebcbbf768ba8fba0bce91efc49fbd2c307b04e95665f2 SHA512 458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35 DIST linux-6.x-sha256sums-20260508.asc 221993 BLAKE2B aca425a56e6bbba54718db6eecb86898f0da945447b1cf7ddf7ab890709e89893d2fee78dd7a61bb6432d06f474f15ccb3c1050a292bb5b4099cbb86f038490c SHA512 0382b7555ce0070254cde3367696682034317dafc319bc0009262d499f93727c57a76d66fe8c74103272dcb9db6cc5a567a359693b0d0fcd2c9d38db895f3e9f +DIST linux-6.x-sha256sums-20260511.asc 222675 BLAKE2B 10e4a2ec381beaa1cbb9f95b5d5dfe979a28e591a4996b23125eaa5748011f3f956140843c88b64dbfec0d343c3df515b16de61efa39b9957010cf473e15dbf8 SHA512 529174a3d484a9d06178d8b97f4d886d1fbdc0e4796ffb7cd46602a572c7713f4ddb91fb6f399c53274ceed076dc46e87c22fe81c16cd18b774654847d72a764 DIST linux-7.0.tar.xz 157143652 BLAKE2B 3d9795083c8938f80f480de0d10bfd9c525640e59d5c7f22983de3f12ee42c84c31be902cafb05579ddb1c32bac5ed06b0d4953f9705450be185bd2d9ab08f89 SHA512 8c85b708342f8f09ca25b2234b22e93b62b144a9ef919fbb21827f52fa47498e778c79db1559524dd7fb360f95b2ce174171443c1859656c281be41d2b6c5a0b DIST linux-7.x-sha256sums-20260508.asc 2872 BLAKE2B f6bd251e543edaf6f8fc1c5f49cfbf4463893ec9ce3fc8763182bcf5c7705812f056010d6647e0b9068cd60f3c5b7f3df28ec89b971bc21f42d7c742c1a92870 SHA512 f22fc5633df2be72a5eae7c391b20786c0109e214f42709d47ff13311eddc22e31f953958211122ae786fee595d1f06915f16717aafaa7b2557ff88dd7a1e3fb +DIST linux-7.x-sha256sums-20260511.asc 3205 BLAKE2B 39ecf2b39946ee610e2973603fdf57d22c0011aa5fb3b7663b939fab3c71afe45fa3458cd9afe8c69816af21accf91981837112fc98fa3a489aa306649877144 SHA512 1e8006d6fb4aad9367ea81f84ac4dfb2e7fe7e244af2fb099e30cacb19df06d54586057ea94d601bd156a0f9d6ab525ff0ffd1a950c7853dd3afaa8ed2cc4c2c DIST linux-gentoo-patches-5.10.255.tar.xz 24772 BLAKE2B 0b3a0b77f0e415d30cb5679f787d1539087f55b5fb0d81cd571e4081b036ffae1d4184469515eafa72403fff791f650fd1398122f7bf106780c653c27000045d SHA512 e6d8bd9e944e84d19a8c402cf27c090e8bdc75269540bc6b5b4ee0b66e4898120ca9714e240cf3408bd46ca969066494a09b2c197175c16f4496ec6f2edd6af9 DIST linux-gentoo-patches-5.15.205.tar.xz 10888 BLAKE2B 268434fcf46e4fdd892c5f42a7cffe8ffe832eec8f396c71c0cf392c1d766abf57174999968fe08732ee473105449e57e8dbd8d7b0b359b4f7e532eceaab6f42 SHA512 a72ac83b7ecedd5bb683aad3383832095792a773c65f6b98f8e72a934b07e10b6a9aab6ae5f1b256de7f49aaf981430c582e64e7c6e5db1a37b1a1336ae54ace DIST linux-gentoo-patches-6.1.171.tar.xz 29564 BLAKE2B a843335a9ccda7384438822332a53748804fbc58df7198d9d1026436f4e261e640a185f78fc32f615e8527a61970d237ba0d6fb0726bb78aa4aa39ee808941aa SHA512 b8c83de0bf9e5515b46ab77c2b338c5d84ad284578efdce66f424a4a11f202d1846a095dd618de0ebe4faf7123234ed38fad814faba414bc1293e3bd25686c6c DIST linux-gentoo-patches-6.12.87.tar.xz 20828 BLAKE2B 3d900956f1ffd0cdced9f0850ec8e785b271933855856cfce7e58542b123a5b8357aa22ea541171da249f173502d4aa7039ba136f730c13208ce408ce1e21e63 SHA512 f6a2813941244d3f03fe0fc6ff9a6f738fbb33263d279e412b5de82a74940fbf2fb687eb0f620cd61842e67f71f78a2e475ffeafc712d2b022a1f4d54ada5824 DIST linux-gentoo-patches-6.18.28.tar.xz 11732 BLAKE2B 33e143b5e0d03f94e797b152af7bbeb2dbf8a438fae48612306849faaae3dc45c2abcdd9949477b2c5d59ed75e6bee2106a1236b29ce4eb6fab17bf1dbdb22f3 SHA512 73df64fda24def43a8a346edadb18a778a5fe7125af4292f661ea14d6c8ac7ec3ebf39158062de91c3f99a1d71eb68a803af2b19163b4d4aaeefd70553d1e481 +DIST linux-gentoo-patches-6.18.29.tar.xz 11644 BLAKE2B 967e17c2cf07f2126370238a8112b7271369931ff25f8f80cefd57ecefa774d0daa39286e63ac76a034c9f90c11a614c2a8ede4f74d047446d9e6f71f072c6fb SHA512 f3834ff6388cc53e2f5191c2999ff5df5a406fad226e5d7ee79b56cb2610658e8401714d94739da2342f19718dd2783d626047658e4703c55fcd59d35536dcd0 DIST linux-gentoo-patches-6.6.138.tar.xz 43476 BLAKE2B fdc188c3ec6cc96a8fefbf94dd656e29ea4bc37c1cabd622b1eefd9f7d3f7da40f6370e20257a093c785d05e4feedd12c05c269ac3102f4213481b0a4937a78c SHA512 4e2eb5406d5d4ba27777028bf5fdaa9b68682e509a7edd24d14098beb229efe4a3e04a2aacc7fb94907183c9ef2281e6d2d41210c5794d50d5dc0dc3d71030ef DIST linux-gentoo-patches-7.0.5.tar.xz 10460 BLAKE2B 3cfbfc4b66555e7a50d5d8fda78549bd2d8a499bf1d7b481a0e93771ac9982f5750f832d4d3696c11ff9f9926f25b1eb02cf2037302d8ff8d27a27a4f34c7f99 SHA512 0f9de75ef244b15e4424551cd2fd3c9a72021a01d3ac9969a2889468a1a315451dd16822c6f333e1d958e2a1b1b1532d7a9be8e60cfd9e6d0298b738e818d024 +DIST linux-gentoo-patches-7.0.6.tar.xz 10384 BLAKE2B dc260ca39a14749c2b00336482d9b22e6569f305b6a706c0bbcbe0f36565490bc6272708260f69b9abf9bd63ae46c41496e9079077f74e008111e7e33167f322 SHA512 7bf03034ad58d1c1f06b2b6fa9a24ca2d543f45d4d0e3d6466a2f116fd4541534c1d582c1e449e4274d2d71dcbd72828b30acc98ee637d7889d684a93e931cc8 DIST patch-5.10.255.xz 7255244 BLAKE2B 98334dc40a3176537c704eae6639e9b9a697857ea4911814d87d8ce92cce9a668ba166f27d850b8cf7325d15fe392ae56dab21ac62c7ceca1df46d36456858d8 SHA512 858cf5512d2e9e1217c98eea14be877c87aedee10db3304672719a83efc11839c1ea104b04b5e4bfedc4669707e5a2064e78d6ff293a21c527455dc0b90c8b33 DIST patch-5.15.205.xz 7681604 BLAKE2B f725a94358f57c05205d7d9c129d1611289ee313283117b52509fed61f9de71193711a16e4e5753ed9385759a6c0af1ee253e600d3021739407202c3fe98f86e SHA512 54f3005e068a0586955a326b2de6833ae17150590ecee5a5d926ef4b29664e8274d447b6a8950653e7f6af4a567d6f7a5801c9c65895dd882f889da4b255dc81 DIST patch-6.1.171.xz 7323648 BLAKE2B 3fa194654ef07a94b8a1304025fc926e439684726d52b079ca4c9facec9f5dbf1b80e5406f585b02eaef12cefbadc320ace0f96c23c9823b27a4c52205ebcc50 SHA512 6703f221326ba65198614fc60f900d7fb30ff79c51351400d23d67f375a9a0f6b84b27ab696f5a50679300b12d2d2052c6e5b985b8a7e9d74180d189c9e2e80b DIST patch-6.12.87.xz 4429580 BLAKE2B 0ceac68ca76cd09e0ca7156cb5e75effdaf02a323ee43f840ce2d5dbe62bdb494b30faf9dc29e44480cba972d2c5704931c3a7c5e60a8ba99399b774936974a9 SHA512 c952f2e4e92bda8b2a75cd19794cd4b3bbd3c57255fd674dfed2f67526032dda726bfc5b1d89d2433f0b8a47c1a0e0941996d2081ca0531ab843df0e08d804ff DIST patch-6.18.28.xz 1610468 BLAKE2B a791ded8cc7033f0ad127b8e81e02ddb9677041430c637613cc4926e686741ee63b444cc0d0f5a75bb3d0e343f31e322792027f7042ee017c04cb5dd1e029817 SHA512 9c827950cb26ff1bef00de1f88c7a05a018d35ceb34a14c6b51eca2d3fb7fc1ae3a0ecf1de225c992e362fe635945fbfd854acfcc85f2715da4014fce7335b07 +DIST patch-6.18.29.xz 1610444 BLAKE2B 509248828530c95638a40925c85de0bb89b88517dc8ef8616db7d1a3222c99edfd1e84caa75a26268b94bf1387fb8fb05147a64831b8e87624738d2d2b6959cc SHA512 4cdeacf78da0293d166fcc9917ae96d0ef7864030156bdfd0b45b5568f6a01a11445ccf7a6f0f6da411a0ebabd4ba4fa97f211a5e7dbd79f5232dbad0101a905 DIST patch-6.6.138.xz 5910560 BLAKE2B dc27122eb68f8ebc460789a97159ceeec3cfb2d285f73f48595ff26e8a1a9ef4ca7fd27eae2e9a6dca898414bdacc7a684a7ec9ae9f8f2ff176d09039dd8128f SHA512 f42a15164ead291ba5f91002855fdc50e958a020ae144047f950891abc01a4dc0ffca68ddebc46125faa53e7e65aeae5d50873c0f35c75e34bf8b7fd1b08dab8 DIST patch-7.0.5.xz 152956 BLAKE2B 9f2938654db3b0a404890b91417715670b1dd5bed543ebef4073fe0d1e4fe5c5d54cbd44bb9e4843040c396d73dd65eb5d8725087865bd1793c8b6c84713d9aa SHA512 00bdf97eb85f8740c2b13a647230ec24b2371a5a3a344118e501fe3eb02a31905b53421cfea47fcf78e2b49819b3e741fcc703a92e85eebfa4e81435d8923f67 +DIST patch-7.0.6.xz 152952 BLAKE2B a1033fc1fc56d497815ee34006add9b63faee3756fd63a9c4b834e10f9e3382c68a278cc3ee90718346e6b94e6f3c8ccdf65189260d97311dced30e95b507ac8 SHA512 91b2a5b4fdbb9b4ab48dd5638ae28bb988215ccf36430133dcbd1aa5e4c1724d3d0d388531552cfb472ec30cf250962e97b7a520bb5bf38c1a05ceffea681fee diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.29.ebuild b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.29.ebuild new file mode 100644 index 0000000000000..63d821c7ed902 --- /dev/null +++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.29.ebuild @@ -0,0 +1,233 @@ +# 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-install toolchain-funcs unpacker verify-sig + +BASE_P=linux-${PV%.*} +PATCH_PV=${PV%_p*} +PATCHSET=linux-gentoo-patches-6.18.29 +BINPKG=${P/-bin}-1 +SHA256SUM_DATE=20260511 + +DESCRIPTION="Pre-built Linux kernel 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://distfiles.gentoo.org/pub/proj/dist-kernel/patchsets/$(ver_cut 1-2)/${PATCHSET}.tar.xz + 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://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/amd64/$(ver_cut 1-2)/${BINPKG}.amd64.gpkg.tar + ) + arm64? ( + https://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/arm64/$(ver_cut 1-2)/${BINPKG}.arm64.gpkg.tar + ) + ppc64? ( + https://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/ppc64le/$(ver_cut 1-2)/${BINPKG}.ppc64le.gpkg.tar + ) + x86? ( + https://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/x86/$(ver_cut 1-2)/${BINPKG}.x86.gpkg.tar + ) +" +S=${WORKDIR} + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="debug" + +RDEPEND=" + !sys-kernel/gentoo-kernel:${SLOT} +" +PDEPEND=" + >=virtual/dist-kernel-${PATCH_PV} +" +BDEPEND=" + app-alternatives/bc + app-alternatives/lex + dev-util/pahole + virtual/libelf + app-alternatives/yacc + amd64? ( app-crypt/sbsigntools ) + arm64? ( app-crypt/sbsigntools ) + verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 ) +" + +KV_LOCALVERSION='-gentoo-dist' +KV_FULL=${PV/_p/-p}${KV_LOCALVERSION} + +QA_PREBUILT='*' + +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 + + unpacker +} + +src_prepare() { + local patch + cd "${BASE_P}" || die + eapply "${WORKDIR}/patch-${PATCH_PV}" + for patch in "${WORKDIR}/${PATCHSET}"/*.patch; do + eapply "${patch}" + # non-experimental patches always finish with Gentoo Kconfig + # we built -bins without them + if [[ ${patch} == *Add-Gentoo-Linux-support-config-settings* ]] + then + break + fi + done + + default + + # add Gentoo patchset version + local extraversion=${PV#${PATCH_PV}} + sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${extraversion/_/-}:" Makefile || die +} + +src_configure() { + # force ld.bfd if we can find it easily + local HOSTLD="$(tc-getBUILD_LD)" + if type -P "${HOSTLD}.bfd" &>/dev/null; then + HOSTLD+=.bfd + fi + local LD="$(tc-getLD)" + if type -P "${LD}.bfd" &>/dev/null; then + LD+=.bfd + fi + tc-export_build_env + local makeargs=( + V=1 + WERROR=0 + + HOSTCC="$(tc-getBUILD_CC)" + HOSTCXX="$(tc-getBUILD_CXX)" + HOSTLD="${HOSTLD}" + HOSTAR="$(tc-getBUILD_AR)" + HOSTCFLAGS="${BUILD_CFLAGS}" + HOSTLDFLAGS="${BUILD_LDFLAGS}" + + CROSS_COMPILE=${CHOST}- + AS="$(tc-getAS)" + CC="$(tc-getCC)" + LD="${LD}" + AR="$(tc-getAR)" + NM="$(tc-getNM)" + STRIP="$(tc-getSTRIP)" + OBJCOPY="$(tc-getOBJCOPY)" + OBJDUMP="$(tc-getOBJDUMP)" + READELF="$(tc-getREADELF)" + + # we need to pass it to override colliding Gentoo envvar + ARCH="$(tc-arch-kernel)" + + O="${WORKDIR}"/modprep + ) + + local kernel_dir="${BINPKG}/image/usr/src/linux-${KV_FULL}" + + # If this is set it will have an effect on the name of the output + # image. Set this variable to track this setting. + if grep -q "CONFIG_EFI_ZBOOT=y" "${kernel_dir}/.config"; then + KERNEL_EFI_ZBOOT=1 + elif use arm64 && use generic-uki; then + die "USE=generic-uki requires a CONFIG_EFI_ZBOOT enabled build" + fi + + local image="${kernel_dir}/$(dist-kernel_get_image_path)" + local uki="${image%/*}/uki.efi" + + # Override user variable with the cert used during build + openssl x509 \ + -inform DER -in "${kernel_dir}/certs/signing_key.x509" \ + -outform PEM -out "${T}/cert.pem" || + die "Failed to convert pcrpkey to PEM format" + export SECUREBOOT_SIGN_CERT=${T}/cert.pem + + if [[ -s ${uki} ]]; then + # We need to extract the plain image for the test phase + # and USE=-generic-uki. + kernel-install_extract_from_uki linux "${uki}" "${image}" + fi + + mkdir modprep || die + cp "${kernel_dir}/.config" modprep/ || die + emake -C "${BASE_P}" "${makeargs[@]}" modules_prepare +} + +src_test() { + local kernel_dir="${BINPKG}/image/usr/src/linux-${KV_FULL}" + kernel-install_test "${KV_FULL}" \ + "${WORKDIR}/${kernel_dir}/$(dist-kernel_get_image_path)" \ + "${BINPKG}/image/lib/modules/${KV_FULL}" \ + "${WORKDIR}/${kernel_dir}/.config" +} + +src_install() { + local rel_kernel_dir=/usr/src/linux-${KV_FULL} + local kernel_dir="${BINPKG}/image${rel_kernel_dir}" + local image="${kernel_dir}/$(dist-kernel_get_image_path)" + local uki="${image%/*}/uki.efi" + if [[ -s ${uki} ]]; then + # Keep the kernel image type we don't want out of install tree + # Replace back with placeholder + if use generic-uki; then + > "${image}" || die + else + > "${uki}" || die + fi + fi + + # Overwrite the identifier in the prebuilt package + echo "${CATEGORY}/${PF}:${SLOT}" > "${kernel_dir}/dist-kernel" || die + + mv "${BINPKG}"/image/{lib,usr} "${ED}"/ || die + + # FIXME: requires proper mount-boot + if [[ -d ${BINPKG}/image/boot/dtbs ]]; then + mv "${BINPKG}"/image/boot "${ED}"/ || die + fi + + # strip out-of-source build stuffs from modprep + # and then copy built files + find modprep -type f '(' \ + -name Makefile -o \ + -name '*.[ao]' -o \ + '(' -name '.*' -a -not -name '.config' ')' \ + ')' -delete || die + rm modprep/source || die + cp -p -R modprep/. "${ED}${rel_kernel_dir}"/ || die + + # Update timestamps on all modules to ensure cleanup works correctly + # when switching USE=modules-compress. + find "${ED}/lib" -name '*.ko' -exec touch {} + || die + + # Modules were already stripped before signing + dostrip -x /lib/modules + kernel-install_compress_modules + + # Mirror the logic from kernel-build_src_install, for architectures + # where USE=debug is used. + if use ppc64; then + dostrip -x "${rel_kernel_dir}/$(dist-kernel_get_image_path)" + elif use debug && { use amd64 || use arm64; }; then + dostrip -x "${rel_kernel_dir}/vmlinux" + dostrip -x "${rel_kernel_dir}/vmlinux.ctfa" + fi +} diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-7.0.6.ebuild b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-7.0.6.ebuild new file mode 100644 index 0000000000000..490e95418df4b --- /dev/null +++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-7.0.6.ebuild @@ -0,0 +1,234 @@ +# 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-install toolchain-funcs unpacker verify-sig + +BASE_P=linux-${PV%.*} +PATCH_PV=${PV%_p*} +PATCHSET=linux-gentoo-patches-7.0.6 +BINPKG=${P/-bin}-1 +SHA256SUM_DATE=20260511 + +DESCRIPTION="Pre-built Linux kernel 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://distfiles.gentoo.org/pub/proj/dist-kernel/patchsets/$(ver_cut 1-2)/${PATCHSET}.tar.xz + 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://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/amd64/$(ver_cut 1-2)/${BINPKG}.amd64.gpkg.tar + ) + arm64? ( + https://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/arm64/$(ver_cut 1-2)/${BINPKG}.arm64.gpkg.tar + ) + ppc64? ( + https://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/ppc64le/$(ver_cut 1-2)/${BINPKG}.ppc64le.gpkg.tar + ) + x86? ( + https://distfiles.gentoo.org/pub/proj/dist-kernel/binpkg/x86/$(ver_cut 1-2)/${BINPKG}.x86.gpkg.tar + ) +" +S=${WORKDIR} + +KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +IUSE="debug" + +RDEPEND=" + !sys-kernel/gentoo-kernel:${SLOT} +" +PDEPEND=" + >=virtual/dist-kernel-${PATCH_PV} +" +BDEPEND=" + app-alternatives/bc + app-alternatives/lex + app-alternatives/yacc + dev-util/pahole + sys-libs/binutils-libs + virtual/libelf + amd64? ( app-crypt/sbsigntools ) + arm64? ( app-crypt/sbsigntools ) + verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 ) +" + +KV_LOCALVERSION='-gentoo-dist' +KV_FULL=${PV/_p/-p}${KV_LOCALVERSION} + +QA_PREBUILT='*' + +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 + + unpacker +} + +src_prepare() { + local patch + cd "${BASE_P}" || die + eapply "${WORKDIR}/patch-${PATCH_PV}" + for patch in "${WORKDIR}/${PATCHSET}"/*.patch; do + eapply "${patch}" + # non-experimental patches always finish with Gentoo Kconfig + # we built -bins without them + if [[ ${patch} == *Add-Gentoo-Linux-support-config-settings* ]] + then + break + fi + done + + default + + # add Gentoo patchset version + local extraversion=${PV#${PATCH_PV}} + sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${extraversion/_/-}:" Makefile || die +} + +src_configure() { + # force ld.bfd if we can find it easily + local HOSTLD="$(tc-getBUILD_LD)" + if type -P "${HOSTLD}.bfd" &>/dev/null; then + HOSTLD+=.bfd + fi + local LD="$(tc-getLD)" + if type -P "${LD}.bfd" &>/dev/null; then + LD+=.bfd + fi + tc-export_build_env + local makeargs=( + V=1 + WERROR=0 + + HOSTCC="$(tc-getBUILD_CC)" + HOSTCXX="$(tc-getBUILD_CXX)" + HOSTLD="${HOSTLD}" + HOSTAR="$(tc-getBUILD_AR)" + HOSTCFLAGS="${BUILD_CFLAGS}" + HOSTLDFLAGS="${BUILD_LDFLAGS}" + + CROSS_COMPILE=${CHOST}- + AS="$(tc-getAS)" + CC="$(tc-getCC)" + LD="${LD}" + AR="$(tc-getAR)" + NM="$(tc-getNM)" + STRIP="$(tc-getSTRIP)" + OBJCOPY="$(tc-getOBJCOPY)" + OBJDUMP="$(tc-getOBJDUMP)" + READELF="$(tc-getREADELF)" + + # we need to pass it to override colliding Gentoo envvar + ARCH="$(tc-arch-kernel)" + + O="${WORKDIR}"/modprep + ) + + local kernel_dir="${BINPKG}/image/usr/src/linux-${KV_FULL}" + + # If this is set it will have an effect on the name of the output + # image. Set this variable to track this setting. + if grep -q "CONFIG_EFI_ZBOOT=y" "${kernel_dir}/.config"; then + KERNEL_EFI_ZBOOT=1 + elif use arm64 && use generic-uki; then + die "USE=generic-uki requires a CONFIG_EFI_ZBOOT enabled build" + fi + + local image="${kernel_dir}/$(dist-kernel_get_image_path)" + local uki="${image%/*}/uki.efi" + + # Override user variable with the cert used during build + openssl x509 \ + -inform DER -in "${kernel_dir}/certs/signing_key.x509" \ + -outform PEM -out "${T}/cert.pem" || + die "Failed to convert pcrpkey to PEM format" + export SECUREBOOT_SIGN_CERT=${T}/cert.pem + + if [[ -s ${uki} ]]; then + # We need to extract the plain image for the test phase + # and USE=-generic-uki. + kernel-install_extract_from_uki linux "${uki}" "${image}" + fi + + mkdir modprep || die + cp "${kernel_dir}/.config" modprep/ || die + emake -C "${BASE_P}" "${makeargs[@]}" modules_prepare +} + +src_test() { + local kernel_dir="${BINPKG}/image/usr/src/linux-${KV_FULL}" + kernel-install_test "${KV_FULL}" \ + "${WORKDIR}/${kernel_dir}/$(dist-kernel_get_image_path)" \ + "${BINPKG}/image/lib/modules/${KV_FULL}" \ + "${WORKDIR}/${kernel_dir}/.config" +} + +src_install() { + local rel_kernel_dir=/usr/src/linux-${KV_FULL} + local kernel_dir="${BINPKG}/image${rel_kernel_dir}" + local image="${kernel_dir}/$(dist-kernel_get_image_path)" + local uki="${image%/*}/uki.efi" + if [[ -s ${uki} ]]; then + # Keep the kernel image type we don't want out of install tree + # Replace back with placeholder + if use generic-uki; then + > "${image}" || die + else + > "${uki}" || die + fi + fi + + # Overwrite the identifier in the prebuilt package + echo "${CATEGORY}/${PF}:${SLOT}" > "${kernel_dir}/dist-kernel" || die + + mv "${BINPKG}"/image/{lib,usr} "${ED}"/ || die + + # FIXME: requires proper mount-boot + if [[ -d ${BINPKG}/image/boot/dtbs ]]; then + mv "${BINPKG}"/image/boot "${ED}"/ || die + fi + + # strip out-of-source build stuffs from modprep + # and then copy built files + find modprep -type f '(' \ + -name Makefile -o \ + -name '*.[ao]' -o \ + '(' -name '.*' -a -not -name '.config' ')' \ + ')' -delete || die + rm modprep/source || die + cp -p -R modprep/. "${ED}${rel_kernel_dir}"/ || die + + # Update timestamps on all modules to ensure cleanup works correctly + # when switching USE=modules-compress. + find "${ED}/lib" -name '*.ko' -exec touch {} + || die + + # Modules were already stripped before signing + dostrip -x /lib/modules + kernel-install_compress_modules + + # Mirror the logic from kernel-build_src_install, for architectures + # where USE=debug is used. + if use ppc64; then + dostrip -x "${rel_kernel_dir}/$(dist-kernel_get_image_path)" + elif use debug && { use amd64 || use arm64; }; then + dostrip -x "${rel_kernel_dir}/vmlinux" + dostrip -x "${rel_kernel_dir}/vmlinux.ctfa" + fi +} diff --git a/sys-kernel/gentoo-kernel/Manifest b/sys-kernel/gentoo-kernel/Manifest index a06ea08e9e72d..179fc924c8f3e 100644 --- a/sys-kernel/gentoo-kernel/Manifest +++ b/sys-kernel/gentoo-kernel/Manifest @@ -35,19 +35,25 @@ DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581 DIST linux-6.18.tar.xz 154309096 BLAKE2B b94b7b9bf18aca0c3e50baf79b009a1448fc6cd9c3ee019f641cc247dcf53a4abef4274ee0608ad8cd4943af69854363a95d26e117ff23620bb07dccb158859f SHA512 88599ffdec96d150c1feb9b261ba93bb0301a9d0e1ad6bef7aeab1f5372cbfc57d8b43c7e902bd8f76921d1dbd8189663c142ea869e51d0e2b483b150ee00fe0 DIST linux-6.6.tar.xz 140064536 BLAKE2B 5f02fd8696d42f7ec8c5fbadec8e7270bdcfcb1f9844a6c4db3e1fd461c93ce1ccda650ca72dceb4890ebcbbf768ba8fba0bce91efc49fbd2c307b04e95665f2 SHA512 458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35 DIST linux-6.x-sha256sums-20260508.asc 221993 BLAKE2B aca425a56e6bbba54718db6eecb86898f0da945447b1cf7ddf7ab890709e89893d2fee78dd7a61bb6432d06f474f15ccb3c1050a292bb5b4099cbb86f038490c SHA512 0382b7555ce0070254cde3367696682034317dafc319bc0009262d499f93727c57a76d66fe8c74103272dcb9db6cc5a567a359693b0d0fcd2c9d38db895f3e9f +DIST linux-6.x-sha256sums-20260511.asc 222675 BLAKE2B 10e4a2ec381beaa1cbb9f95b5d5dfe979a28e591a4996b23125eaa5748011f3f956140843c88b64dbfec0d343c3df515b16de61efa39b9957010cf473e15dbf8 SHA512 529174a3d484a9d06178d8b97f4d886d1fbdc0e4796ffb7cd46602a572c7713f4ddb91fb6f399c53274ceed076dc46e87c22fe81c16cd18b774654847d72a764 DIST linux-7.0.tar.xz 157143652 BLAKE2B 3d9795083c8938f80f480de0d10bfd9c525640e59d5c7f22983de3f12ee42c84c31be902cafb05579ddb1c32bac5ed06b0d4953f9705450be185bd2d9ab08f89 SHA512 8c85b708342f8f09ca25b2234b22e93b62b144a9ef919fbb21827f52fa47498e778c79db1559524dd7fb360f95b2ce174171443c1859656c281be41d2b6c5a0b DIST linux-7.x-sha256sums-20260508.asc 2872 BLAKE2B f6bd251e543edaf6f8fc1c5f49cfbf4463893ec9ce3fc8763182bcf5c7705812f056010d6647e0b9068cd60f3c5b7f3df28ec89b971bc21f42d7c742c1a92870 SHA512 f22fc5633df2be72a5eae7c391b20786c0109e214f42709d47ff13311eddc22e31f953958211122ae786fee595d1f06915f16717aafaa7b2557ff88dd7a1e3fb +DIST linux-7.x-sha256sums-20260511.asc 3205 BLAKE2B 39ecf2b39946ee610e2973603fdf57d22c0011aa5fb3b7663b939fab3c71afe45fa3458cd9afe8c69816af21accf91981837112fc98fa3a489aa306649877144 SHA512 1e8006d6fb4aad9367ea81f84ac4dfb2e7fe7e244af2fb099e30cacb19df06d54586057ea94d601bd156a0f9d6ab525ff0ffd1a950c7853dd3afaa8ed2cc4c2c DIST linux-gentoo-patches-5.10.255.tar.xz 24772 BLAKE2B 0b3a0b77f0e415d30cb5679f787d1539087f55b5fb0d81cd571e4081b036ffae1d4184469515eafa72403fff791f650fd1398122f7bf106780c653c27000045d SHA512 e6d8bd9e944e84d19a8c402cf27c090e8bdc75269540bc6b5b4ee0b66e4898120ca9714e240cf3408bd46ca969066494a09b2c197175c16f4496ec6f2edd6af9 DIST linux-gentoo-patches-5.15.205.tar.xz 10888 BLAKE2B 268434fcf46e4fdd892c5f42a7cffe8ffe832eec8f396c71c0cf392c1d766abf57174999968fe08732ee473105449e57e8dbd8d7b0b359b4f7e532eceaab6f42 SHA512 a72ac83b7ecedd5bb683aad3383832095792a773c65f6b98f8e72a934b07e10b6a9aab6ae5f1b256de7f49aaf981430c582e64e7c6e5db1a37b1a1336ae54ace DIST linux-gentoo-patches-6.1.171.tar.xz 29564 BLAKE2B a843335a9ccda7384438822332a53748804fbc58df7198d9d1026436f4e261e640a185f78fc32f615e8527a61970d237ba0d6fb0726bb78aa4aa39ee808941aa SHA512 b8c83de0bf9e5515b46ab77c2b338c5d84ad284578efdce66f424a4a11f202d1846a095dd618de0ebe4faf7123234ed38fad814faba414bc1293e3bd25686c6c DIST linux-gentoo-patches-6.12.87.tar.xz 20828 BLAKE2B 3d900956f1ffd0cdced9f0850ec8e785b271933855856cfce7e58542b123a5b8357aa22ea541171da249f173502d4aa7039ba136f730c13208ce408ce1e21e63 SHA512 f6a2813941244d3f03fe0fc6ff9a6f738fbb33263d279e412b5de82a74940fbf2fb687eb0f620cd61842e67f71f78a2e475ffeafc712d2b022a1f4d54ada5824 DIST linux-gentoo-patches-6.18.28.tar.xz 11732 BLAKE2B 33e143b5e0d03f94e797b152af7bbeb2dbf8a438fae48612306849faaae3dc45c2abcdd9949477b2c5d59ed75e6bee2106a1236b29ce4eb6fab17bf1dbdb22f3 SHA512 73df64fda24def43a8a346edadb18a778a5fe7125af4292f661ea14d6c8ac7ec3ebf39158062de91c3f99a1d71eb68a803af2b19163b4d4aaeefd70553d1e481 +DIST linux-gentoo-patches-6.18.29.tar.xz 11644 BLAKE2B 967e17c2cf07f2126370238a8112b7271369931ff25f8f80cefd57ecefa774d0daa39286e63ac76a034c9f90c11a614c2a8ede4f74d047446d9e6f71f072c6fb SHA512 f3834ff6388cc53e2f5191c2999ff5df5a406fad226e5d7ee79b56cb2610658e8401714d94739da2342f19718dd2783d626047658e4703c55fcd59d35536dcd0 DIST linux-gentoo-patches-6.6.138.tar.xz 43476 BLAKE2B fdc188c3ec6cc96a8fefbf94dd656e29ea4bc37c1cabd622b1eefd9f7d3f7da40f6370e20257a093c785d05e4feedd12c05c269ac3102f4213481b0a4937a78c SHA512 4e2eb5406d5d4ba27777028bf5fdaa9b68682e509a7edd24d14098beb229efe4a3e04a2aacc7fb94907183c9ef2281e6d2d41210c5794d50d5dc0dc3d71030ef DIST linux-gentoo-patches-7.0.5.tar.xz 10460 BLAKE2B 3cfbfc4b66555e7a50d5d8fda78549bd2d8a499bf1d7b481a0e93771ac9982f5750f832d4d3696c11ff9f9926f25b1eb02cf2037302d8ff8d27a27a4f34c7f99 SHA512 0f9de75ef244b15e4424551cd2fd3c9a72021a01d3ac9969a2889468a1a315451dd16822c6f333e1d958e2a1b1b1532d7a9be8e60cfd9e6d0298b738e818d024 +DIST linux-gentoo-patches-7.0.6.tar.xz 10384 BLAKE2B dc260ca39a14749c2b00336482d9b22e6569f305b6a706c0bbcbe0f36565490bc6272708260f69b9abf9bd63ae46c41496e9079077f74e008111e7e33167f322 SHA512 7bf03034ad58d1c1f06b2b6fa9a24ca2d543f45d4d0e3d6466a2f116fd4541534c1d582c1e449e4274d2d71dcbd72828b30acc98ee637d7889d684a93e931cc8 DIST patch-5.10.255.xz 7255244 BLAKE2B 98334dc40a3176537c704eae6639e9b9a697857ea4911814d87d8ce92cce9a668ba166f27d850b8cf7325d15fe392ae56dab21ac62c7ceca1df46d36456858d8 SHA512 858cf5512d2e9e1217c98eea14be877c87aedee10db3304672719a83efc11839c1ea104b04b5e4bfedc4669707e5a2064e78d6ff293a21c527455dc0b90c8b33 DIST patch-5.15.205.xz 7681604 BLAKE2B f725a94358f57c05205d7d9c129d1611289ee313283117b52509fed61f9de71193711a16e4e5753ed9385759a6c0af1ee253e600d3021739407202c3fe98f86e SHA512 54f3005e068a0586955a326b2de6833ae17150590ecee5a5d926ef4b29664e8274d447b6a8950653e7f6af4a567d6f7a5801c9c65895dd882f889da4b255dc81 DIST patch-6.1.171.xz 7323648 BLAKE2B 3fa194654ef07a94b8a1304025fc926e439684726d52b079ca4c9facec9f5dbf1b80e5406f585b02eaef12cefbadc320ace0f96c23c9823b27a4c52205ebcc50 SHA512 6703f221326ba65198614fc60f900d7fb30ff79c51351400d23d67f375a9a0f6b84b27ab696f5a50679300b12d2d2052c6e5b985b8a7e9d74180d189c9e2e80b DIST patch-6.12.87.xz 4429580 BLAKE2B 0ceac68ca76cd09e0ca7156cb5e75effdaf02a323ee43f840ce2d5dbe62bdb494b30faf9dc29e44480cba972d2c5704931c3a7c5e60a8ba99399b774936974a9 SHA512 c952f2e4e92bda8b2a75cd19794cd4b3bbd3c57255fd674dfed2f67526032dda726bfc5b1d89d2433f0b8a47c1a0e0941996d2081ca0531ab843df0e08d804ff DIST patch-6.18.28.xz 1610468 BLAKE2B a791ded8cc7033f0ad127b8e81e02ddb9677041430c637613cc4926e686741ee63b444cc0d0f5a75bb3d0e343f31e322792027f7042ee017c04cb5dd1e029817 SHA512 9c827950cb26ff1bef00de1f88c7a05a018d35ceb34a14c6b51eca2d3fb7fc1ae3a0ecf1de225c992e362fe635945fbfd854acfcc85f2715da4014fce7335b07 +DIST patch-6.18.29.xz 1610444 BLAKE2B 509248828530c95638a40925c85de0bb89b88517dc8ef8616db7d1a3222c99edfd1e84caa75a26268b94bf1387fb8fb05147a64831b8e87624738d2d2b6959cc SHA512 4cdeacf78da0293d166fcc9917ae96d0ef7864030156bdfd0b45b5568f6a01a11445ccf7a6f0f6da411a0ebabd4ba4fa97f211a5e7dbd79f5232dbad0101a905 DIST patch-6.6.138.xz 5910560 BLAKE2B dc27122eb68f8ebc460789a97159ceeec3cfb2d285f73f48595ff26e8a1a9ef4ca7fd27eae2e9a6dca898414bdacc7a684a7ec9ae9f8f2ff176d09039dd8128f SHA512 f42a15164ead291ba5f91002855fdc50e958a020ae144047f950891abc01a4dc0ffca68ddebc46125faa53e7e65aeae5d50873c0f35c75e34bf8b7fd1b08dab8 DIST patch-7.0.5.xz 152956 BLAKE2B 9f2938654db3b0a404890b91417715670b1dd5bed543ebef4073fe0d1e4fe5c5d54cbd44bb9e4843040c396d73dd65eb5d8725087865bd1793c8b6c84713d9aa SHA512 00bdf97eb85f8740c2b13a647230ec24b2371a5a3a344118e501fe3eb02a31905b53421cfea47fcf78e2b49819b3e741fcc703a92e85eebfa4e81435d8923f67 +DIST patch-7.0.6.xz 152952 BLAKE2B a1033fc1fc56d497815ee34006add9b63faee3756fd63a9c4b834e10f9e3382c68a278cc3ee90718346e6b94e6f3c8ccdf65189260d97311dced30e95b507ac8 SHA512 91b2a5b4fdbb9b4ab48dd5638ae28bb988215ccf36430133dcbd1aa5e4c1724d3d0d388531552cfb472ec30cf250962e97b7a520bb5bf38c1a05ceffea681fee diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-6.18.29.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-6.18.29.ebuild new file mode 100644 index 0000000000000..8b2b72268b576 --- /dev/null +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-6.18.29.ebuild @@ -0,0 +1,175 @@ +# 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.18.29 +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo +CONFIG_VER=6.18.12-gentoo +GENTOO_CONFIG_VER=g18 +SHA256SUM_DATE=20260511 + +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://distfiles.gentoo.org/pub/proj/dist-kernel/patchsets/$(ver_cut 1-2)/${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 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}" + eapply "${WORKDIR}/${PATCHSET}" + + 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[@]}" +} diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-7.0.6.ebuild b/sys-kernel/gentoo-kernel/gentoo-kernel-7.0.6.ebuild new file mode 100644 index 0000000000000..ba354cd9c3dc7 --- /dev/null +++ b/sys-kernel/gentoo-kernel/gentoo-kernel-7.0.6.ebuild @@ -0,0 +1,175 @@ +# 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-7.0.6 +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo +CONFIG_VER=7.0.1-gentoo +GENTOO_CONFIG_VER=g18 +SHA256SUM_DATE=20260511 + +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://distfiles.gentoo.org/pub/proj/dist-kernel/patchsets/$(ver_cut 1-2)/${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 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}" + eapply "${WORKDIR}/${PATCHSET}" + + 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[@]}" +} diff --git a/sys-kernel/vanilla-kernel/Manifest b/sys-kernel/vanilla-kernel/Manifest index 7a9c0ef864110..df51d1b1b5551 100644 --- a/sys-kernel/vanilla-kernel/Manifest +++ b/sys-kernel/vanilla-kernel/Manifest @@ -40,12 +40,16 @@ DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581 DIST linux-6.18.tar.xz 154309096 BLAKE2B b94b7b9bf18aca0c3e50baf79b009a1448fc6cd9c3ee019f641cc247dcf53a4abef4274ee0608ad8cd4943af69854363a95d26e117ff23620bb07dccb158859f SHA512 88599ffdec96d150c1feb9b261ba93bb0301a9d0e1ad6bef7aeab1f5372cbfc57d8b43c7e902bd8f76921d1dbd8189663c142ea869e51d0e2b483b150ee00fe0 DIST linux-6.6.tar.xz 140064536 BLAKE2B 5f02fd8696d42f7ec8c5fbadec8e7270bdcfcb1f9844a6c4db3e1fd461c93ce1ccda650ca72dceb4890ebcbbf768ba8fba0bce91efc49fbd2c307b04e95665f2 SHA512 458b2c34d46206f9b4ccbac54cc57aeca1eaecaf831bc441e59701bac6eadffc17f6ce24af6eadd0454964e843186539ac0d63295ad2cc32d112b60360c39a35 DIST linux-6.x-sha256sums-20260508.asc 221993 BLAKE2B aca425a56e6bbba54718db6eecb86898f0da945447b1cf7ddf7ab890709e89893d2fee78dd7a61bb6432d06f474f15ccb3c1050a292bb5b4099cbb86f038490c SHA512 0382b7555ce0070254cde3367696682034317dafc319bc0009262d499f93727c57a76d66fe8c74103272dcb9db6cc5a567a359693b0d0fcd2c9d38db895f3e9f +DIST linux-6.x-sha256sums-20260511.asc 222675 BLAKE2B 10e4a2ec381beaa1cbb9f95b5d5dfe979a28e591a4996b23125eaa5748011f3f956140843c88b64dbfec0d343c3df515b16de61efa39b9957010cf473e15dbf8 SHA512 529174a3d484a9d06178d8b97f4d886d1fbdc0e4796ffb7cd46602a572c7713f4ddb91fb6f399c53274ceed076dc46e87c22fe81c16cd18b774654847d72a764 DIST linux-7.0.tar.xz 157143652 BLAKE2B 3d9795083c8938f80f480de0d10bfd9c525640e59d5c7f22983de3f12ee42c84c31be902cafb05579ddb1c32bac5ed06b0d4953f9705450be185bd2d9ab08f89 SHA512 8c85b708342f8f09ca25b2234b22e93b62b144a9ef919fbb21827f52fa47498e778c79db1559524dd7fb360f95b2ce174171443c1859656c281be41d2b6c5a0b DIST linux-7.x-sha256sums-20260508.asc 2872 BLAKE2B f6bd251e543edaf6f8fc1c5f49cfbf4463893ec9ce3fc8763182bcf5c7705812f056010d6647e0b9068cd60f3c5b7f3df28ec89b971bc21f42d7c742c1a92870 SHA512 f22fc5633df2be72a5eae7c391b20786c0109e214f42709d47ff13311eddc22e31f953958211122ae786fee595d1f06915f16717aafaa7b2557ff88dd7a1e3fb +DIST linux-7.x-sha256sums-20260511.asc 3205 BLAKE2B 39ecf2b39946ee610e2973603fdf57d22c0011aa5fb3b7663b939fab3c71afe45fa3458cd9afe8c69816af21accf91981837112fc98fa3a489aa306649877144 SHA512 1e8006d6fb4aad9367ea81f84ac4dfb2e7fe7e244af2fb099e30cacb19df06d54586057ea94d601bd156a0f9d6ab525ff0ffd1a950c7853dd3afaa8ed2cc4c2c DIST patch-5.10.255.xz 7255244 BLAKE2B 98334dc40a3176537c704eae6639e9b9a697857ea4911814d87d8ce92cce9a668ba166f27d850b8cf7325d15fe392ae56dab21ac62c7ceca1df46d36456858d8 SHA512 858cf5512d2e9e1217c98eea14be877c87aedee10db3304672719a83efc11839c1ea104b04b5e4bfedc4669707e5a2064e78d6ff293a21c527455dc0b90c8b33 DIST patch-5.15.205.xz 7681604 BLAKE2B f725a94358f57c05205d7d9c129d1611289ee313283117b52509fed61f9de71193711a16e4e5753ed9385759a6c0af1ee253e600d3021739407202c3fe98f86e SHA512 54f3005e068a0586955a326b2de6833ae17150590ecee5a5d926ef4b29664e8274d447b6a8950653e7f6af4a567d6f7a5801c9c65895dd882f889da4b255dc81 DIST patch-6.1.171.xz 7323648 BLAKE2B 3fa194654ef07a94b8a1304025fc926e439684726d52b079ca4c9facec9f5dbf1b80e5406f585b02eaef12cefbadc320ace0f96c23c9823b27a4c52205ebcc50 SHA512 6703f221326ba65198614fc60f900d7fb30ff79c51351400d23d67f375a9a0f6b84b27ab696f5a50679300b12d2d2052c6e5b985b8a7e9d74180d189c9e2e80b DIST patch-6.12.87.xz 4429580 BLAKE2B 0ceac68ca76cd09e0ca7156cb5e75effdaf02a323ee43f840ce2d5dbe62bdb494b30faf9dc29e44480cba972d2c5704931c3a7c5e60a8ba99399b774936974a9 SHA512 c952f2e4e92bda8b2a75cd19794cd4b3bbd3c57255fd674dfed2f67526032dda726bfc5b1d89d2433f0b8a47c1a0e0941996d2081ca0531ab843df0e08d804ff DIST patch-6.18.28.xz 1610468 BLAKE2B a791ded8cc7033f0ad127b8e81e02ddb9677041430c637613cc4926e686741ee63b444cc0d0f5a75bb3d0e343f31e322792027f7042ee017c04cb5dd1e029817 SHA512 9c827950cb26ff1bef00de1f88c7a05a018d35ceb34a14c6b51eca2d3fb7fc1ae3a0ecf1de225c992e362fe635945fbfd854acfcc85f2715da4014fce7335b07 +DIST patch-6.18.29.xz 1610444 BLAKE2B 509248828530c95638a40925c85de0bb89b88517dc8ef8616db7d1a3222c99edfd1e84caa75a26268b94bf1387fb8fb05147a64831b8e87624738d2d2b6959cc SHA512 4cdeacf78da0293d166fcc9917ae96d0ef7864030156bdfd0b45b5568f6a01a11445ccf7a6f0f6da411a0ebabd4ba4fa97f211a5e7dbd79f5232dbad0101a905 DIST patch-6.6.138.xz 5910560 BLAKE2B dc27122eb68f8ebc460789a97159ceeec3cfb2d285f73f48595ff26e8a1a9ef4ca7fd27eae2e9a6dca898414bdacc7a684a7ec9ae9f8f2ff176d09039dd8128f SHA512 f42a15164ead291ba5f91002855fdc50e958a020ae144047f950891abc01a4dc0ffca68ddebc46125faa53e7e65aeae5d50873c0f35c75e34bf8b7fd1b08dab8 DIST patch-7.0.5.xz 152956 BLAKE2B 9f2938654db3b0a404890b91417715670b1dd5bed543ebef4073fe0d1e4fe5c5d54cbd44bb9e4843040c396d73dd65eb5d8725087865bd1793c8b6c84713d9aa SHA512 00bdf97eb85f8740c2b13a647230ec24b2371a5a3a344118e501fe3eb02a31905b53421cfea47fcf78e2b49819b3e741fcc703a92e85eebfa4e81435d8923f67 +DIST patch-7.0.6.xz 152952 BLAKE2B a1033fc1fc56d497815ee34006add9b63faee3756fd63a9c4b834e10f9e3382c68a278cc3ee90718346e6b94e6f3c8ccdf65189260d97311dced30e95b507ac8 SHA512 91b2a5b4fdbb9b4ab48dd5638ae28bb988215ccf36430133dcbd1aa5e4c1724d3d0d388531552cfb472ec30cf250962e97b7a520bb5bf38c1a05ceffea681fee diff --git a/sys-kernel/vanilla-kernel/vanilla-kernel-6.18.29.ebuild b/sys-kernel/vanilla-kernel/vanilla-kernel-6.18.29.ebuild new file mode 100644 index 0000000000000..dd699a2d1f830 --- /dev/null +++ b/sys-kernel/vanilla-kernel/vanilla-kernel-6.18.29.ebuild @@ -0,0 +1,162 @@ +# 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%.*} +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo +CONFIG_VER=6.18.12-gentoo +GENTOO_CONFIG_VER=g18 +SHA256SUM_DATE=20260511 + +DESCRIPTION="Linux kernel built from vanilla upstream sources" +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-${PV}.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 hardened" +REQUIRED_USE=" + arm? ( savedconfig ) + hppa? ( savedconfig ) + sparc? ( savedconfig ) +" + +BDEPEND=" + debug? ( dev-util/pahole ) + verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 ) +" +PDEPEND=" + >=virtual/dist-kernel-${PV} +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kernel.org.asc + +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_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-${PV}.xz" + cd "${WORKDIR}" || die + fi + + default +} + +src_prepare() { + eapply "${WORKDIR}/patch-${PV}" + default + + 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="-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[@]}" +} diff --git a/sys-kernel/vanilla-kernel/vanilla-kernel-7.0.6.ebuild b/sys-kernel/vanilla-kernel/vanilla-kernel-7.0.6.ebuild new file mode 100644 index 0000000000000..886fc0318f792 --- /dev/null +++ b/sys-kernel/vanilla-kernel/vanilla-kernel-7.0.6.ebuild @@ -0,0 +1,162 @@ +# 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%.*} +# https://koji.fedoraproject.org/koji/packageinfo?packageID=8 +# forked to https://github.com/projg2/fedora-kernel-config-for-gentoo +CONFIG_VER=7.0.1-gentoo +GENTOO_CONFIG_VER=g18 +SHA256SUM_DATE=20260511 + +DESCRIPTION="Linux kernel built from vanilla upstream sources" +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-${PV}.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 hardened" +REQUIRED_USE=" + arm? ( savedconfig ) + hppa? ( savedconfig ) + sparc? ( savedconfig ) +" + +BDEPEND=" + debug? ( dev-util/pahole ) + verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 ) +" +PDEPEND=" + >=virtual/dist-kernel-${PV} +" + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kernel.org.asc + +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_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-${PV}.xz" + cd "${WORKDIR}" || die + fi + + default +} + +src_prepare() { + eapply "${WORKDIR}/patch-${PV}" + default + + 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="-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[@]}" +} diff --git a/virtual/dist-kernel/dist-kernel-6.18.29.ebuild b/virtual/dist-kernel/dist-kernel-6.18.29.ebuild new file mode 100644 index 0000000000000..13848dc136b6a --- /dev/null +++ b/virtual/dist-kernel/dist-kernel-6.18.29.ebuild @@ -0,0 +1,16 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Virtual to depend on any Distribution Kernel" +SLOT="0/${PVR}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + || ( + ~sys-kernel/gentoo-kernel-${PV} + ~sys-kernel/gentoo-kernel-bin-${PV} + ~sys-kernel/vanilla-kernel-${PV%_p*} + ) +" diff --git a/virtual/dist-kernel/dist-kernel-7.0.6.ebuild b/virtual/dist-kernel/dist-kernel-7.0.6.ebuild new file mode 100644 index 0000000000000..13848dc136b6a --- /dev/null +++ b/virtual/dist-kernel/dist-kernel-7.0.6.ebuild @@ -0,0 +1,16 @@ +# Copyright 2021-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Virtual to depend on any Distribution Kernel" +SLOT="0/${PVR}" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + +RDEPEND=" + || ( + ~sys-kernel/gentoo-kernel-${PV} + ~sys-kernel/gentoo-kernel-bin-${PV} + ~sys-kernel/vanilla-kernel-${PV%_p*} + ) +"