Merge pull request #1319 from OriPoin/master
[gentoo-zh.git] / sys-kernel / xanmod-lts / xanmod-lts-5.10.75.ebuild
blob7ed327ffe9dac0b7de5a0b56df81e819f024c2ef
1 # Copyright 2020-2021 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
4 EAPI=7
6 inherit kernel-build toolchain-funcs
8 MY_P=linux-${PV%.*}
9 GENPATCHES_P=genpatches-${PV%.*}-$((${PV##*.} + 6))
10 LINUX_CONFIG_VER=5.10.75
11 LINUX_CONFIG_DIR="${WORKDIR}/linux-config-${LINUX_CONFIG_VER}"
13 DESCRIPTION="XanMod lts kernel built with Gentoo patches and cjktty"
14 HOMEPAGE="https://www.kernel.org/"
15 SRC_URI+=" https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz
16 https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
17 https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
18 https://github.com/xanmod/linux/releases/download/${PV}-xanmod1/patch-${PV}-xanmod1.xz
19 https://github.com/OriPoin/linux-config/archive/refs/tags/${LINUX_CONFIG_VER}.tar.gz -> linux-config-${LINUX_CONFIG_VER}.tar.gz
20 https://raw.githubusercontent.com/zhmars/cjktty-patches/master/v5.x/cjktty-5.10.patch"
21 S=${WORKDIR}/${MY_P}
23 LICENSE="GPL-2"
24 KEYWORDS="amd64"
25 IUSE="systemd zstd debug hardened cjk"
27 PDEPEND="
28 >=virtual/dist-kernel-${PV}"
30 QA_FLAGS_IGNORED="usr/src/linux-.*/scripts/gcc-plugins/.*.so"
32 src_prepare() {
33 # delete linux version patches
34 rm "${WORKDIR}"/10*.patch || die
36 local PATCHES=(
37 # genpatches
38 "${WORKDIR}"/*.patch
39 # xanmod patches
40 "${WORKDIR}"/patch-${PV}-xanmod1
42 if use cjk; then
43 PATCHES+=("${DISTDIR}/cjktty-5.10.patch")
45 default
47 # prepare the default config
48 case ${ARCH} in
49 amd64)
50 cp "${S}/CONFIGS/xanmod/gcc/config" .config || die
53 die "Unsupported arch ${ARCH}"
55 esac
57 local myversion="-xanmod-lts"
58 echo "CONFIG_LOCALVERSION=\"${myversion}\"" >"${T}"/version.config || die
60 local merge_configs=(
61 "${T}"/version.config
62 "${LINUX_CONFIG_DIR}"/base.config
64 use debug || merge_configs+=(
65 "${LINUX_CONFIG_DIR}"/no-debug.config
68 if use zstd; then
69 merge_configs+=("${LINUX_CONFIG_DIR}"/zstd.config)
71 if use systemd; then
72 merge_configs+=("${LINUX_CONFIG_DIR}"/systemd.config)
75 if use hardened; then
76 merge_configs+=("${LINUX_CONFIG_DIR}"/hardened-base.config)
78 tc-is-gcc && merge_configs+=("${LINUX_CONFIG_DIR}"/hardened-gcc-plugins.config)
80 if [[ -f "${LINUX_CONFIG_DIR}/hardened-${ARCH}.config" ]]; then
81 merge_configs+=("${LINUX_CONFIG_DIR}/hardened-${ARCH}.config")
85 kernel-build_merge_configs "${merge_configs[@]}"