Signed-off-by: Georgy Yakovlev <gyakov...@gentoo.org>
---
 .../gentoo-kernel/gentoo-kernel-5.15.11.ebuild | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/sys-kernel/gentoo-kernel/gentoo-kernel-5.15.11.ebuild 
b/sys-kernel/gentoo-kernel/gentoo-kernel-5.15.11.ebuild
index e4ac32a7019..05ae8331c84 100644
--- a/sys-kernel/gentoo-kernel/gentoo-kernel-5.15.11.ebuild
+++ b/sys-kernel/gentoo-kernel/gentoo-kernel-5.15.11.ebuild
@@ -1,123 +1,135 @@
-# Copyright 2020-2021 Gentoo Authors
+# Copyright 2020-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
 
 inherit kernel-build toolchain-funcs
 
 MY_P=linux-${PV%.*}
 GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 2 ))
 CONFIG_VER=5.15.10
 CONFIG_HASH=4882b85cc85fb2b7df396c4d671cc6432596eca0
 GENTOO_CONFIG_VER=5.15.5
 
 DESCRIPTION="Linux kernel built with Gentoo patches"
 HOMEPAGE="https://www.kernel.org/";
 SRC_URI+=" https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 
1).x/${MY_P}.tar.xz
        
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
        
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
        
https://github.com/mgorny/gentoo-kernel-config/archive/v${GENTOO_CONFIG_VER}.tar.gz
                -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
        amd64? (
                
https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-x86_64-fedora.config
                        -> kernel-x86_64-fedora.config.${CONFIG_VER}
        )
        arm64? (
                
https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-aarch64-fedora.config
                        -> kernel-aarch64-fedora.config.${CONFIG_VER}
        )
        ppc64? (
                
https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-ppc64le-fedora.config
                        -> kernel-ppc64le-fedora.config.${CONFIG_VER}
        )
        x86? (
                
https://src.fedoraproject.org/rpms/kernel/raw/${CONFIG_HASH}/f/kernel-i686-fedora.config
                        -> kernel-i686-fedora.config.${CONFIG_VER}
        )"
 S=${WORKDIR}/${MY_P}
 
 LICENSE="GPL-2"
 KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~x86"
-IUSE="debug hardened"
-REQUIRED_USE="arm? ( savedconfig )"
+IUSE="debug hardened ppc_pagesize_4K +ppc_pagesize_64K"
+REQUIRED_USE="
+       arm? ( savedconfig )
+       ppc64? ( ^^ ( ppc_pagesize_4K ppc_pagesize_64K ) )
+"
 
 RDEPEND="
        !sys-kernel/gentoo-kernel-bin:${SLOT}"
 BDEPEND="
        debug? ( dev-util/pahole )"
 PDEPEND="
        >=virtual/dist-kernel-${PV}"
 
 QA_FLAGS_IGNORED="
        usr/src/linux-.*/scripts/gcc-plugins/.*.so
        usr/src/linux-.*/vmlinux
        usr/src/linux-.*/arch/powerpc/kernel/vdso.*/vdso.*.so.dbg
 "
 
 src_prepare() {
        local PATCHES=(
                # meh, genpatches have no directory
                "${WORKDIR}"/*.patch
        )
        default
 
        local biendian=false
 
        # prepare the default config
        case ${ARCH} in
                amd64)
                        cp 
"${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
                        ;;
                arm)
                        return
                        ;;
                arm64)
                        cp 
"${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die
                        biendian=true
                        ;;
                ppc)
                        # assume powermac/powerbook defconfig
                        # we still package.use.force savedconfig
                        cp 
"${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die
                        ;;
                ppc64)
                        cp 
"${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die
                        biendian=true
                        ;;
                x86)
                        cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" 
.config || die
                        ;;
                *)
                        die "Unsupported arch ${ARCH}"
                        ;;
        esac
 
        local myversion="-gentoo-dist"
        use hardened && myversion+="-hardened"
        echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || 
die
        local 
dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
 
        local merge_configs=(
                "${T}"/version.config
                "${dist_conf_path}"/base.config
        )
        use debug || merge_configs+=(
                "${dist_conf_path}"/no-debug.config
        )
        if use hardened; then
                merge_configs+=( "${dist_conf_path}"/hardened-base.config )
 
                tc-is-gcc && merge_configs+=( 
"${dist_conf_path}"/hardened-gcc-plugins.config )
 
                if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then
                        merge_configs+=( 
"${dist_conf_path}/hardened-${ARCH}.config" )
                fi
        fi
 
        # this covers ppc64 and aarch64_be only for now
        if [[ ${biendian} == true && $(tc-endian) == big ]]; then
                merge_configs+=( "${dist_conf_path}/big-endian.config" )
        fi
 
+       if use ppc_pagesize_4K; then
+               merge_configs+=( "${dist_conf_path}/ppc_pagesize_4K.config" )
+       fi
+
+       if use ppc_pagesize_64K; then
+               merge_configs+=( "${dist_conf_path}/ppc_pagesize_64K.config" )
+       fi
+
+
        kernel-build_merge_configs "${merge_configs[@]}"
 }
-- 
2.34.1


Reply via email to