sys-kernel/linux-tkg-sources: Bump to v5.14.15
[gentoo-zh.git] / sys-kernel / linux-tkg-sources / linux-tkg-sources-5.14.15.ebuild
blob19ccb96a36316db9a63fcddaf21b661b0c15c930
1 # Copyright 1999-2021 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
4 EAPI=8
6 # Define what default functions to run
7 ETYPE="sources"
9 # No 'experimental' USE flag provided, but we still want to use genpatches
10 K_EXP_GENPATCHES_NOUSE="1"
12 # Just get basic genpatches, -xanmod patch set already includes main updates
13 K_GENPATCHES_VER="1"
15 # -linux-tkg-bmq-sources already sets EXTRAVERSION to kernel Makefile
16 K_NOSETEXTRAVERSION="1"
18 # Not supported by the Gentoo security team
19 K_SECURITY_UNSUPPORTED="1"
21 # We want the very basic patches from gentoo-sources, experimental patch is
22 # already included in -linux-tkg-bmq-sources
23 K_WANT_GENPATCHES="base extras"
25 # Default enable BMQ, Because I do think this one is best of them.
26 # If you want to choose other, USE could be help you.
27 IUSE="+bmq pds cacule"
28 REQUIRED_USE="^^ ( bmq pds cacule )"
30 # Linux-TkG default depends pahole and bpf
31 DEPEND="dev-util/pahole
32 dev-libs/libbpf
33 app-arch/cpio
36 inherit kernel-2
37 detect_version
39 DESCRIPTION="Linux-TkG, cjktty, patchset for main kernel tree"
40 HOMEPAGE="https://github.com/Frogging-Family/linux-tkg"
41 LICENSE+=" CDDL"
43 SRC_URI="
44 ${KERNEL_BASE_URI}/linux-5.14.tar.xz
45 ${KERNEL_BASE_URI}/patch-${PV}.xz
46 ${GENPATCHES_URI}
47 https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-patches/5.14/0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch -> v1-0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
48 https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-patches/5.14/0001-mm-Support-soft-dirty-flag-reset-for-VA-range.patch -> v1-0001-mm-Support-soft-dirty-flag-reset-for-VA-range.patch
49 https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-patches/5.14/0002-clear-patches.patch -> v1-0002-clear-patches.patch
50 https://gitlab.com/sirlucjan/kernel-patches/-/raw/master/5.14/ll-patches/0001-LL-kconfig-add-750Hz-timer-interrupt-kernel-config-o.patch -> v1-750HZ.patch
51 https://github.com/HougeLangley/customkernel/releases/download/v5.14-others/v1-cacule-5.14-full.patch
52 https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-patches/5.14/0002-mm-Support-soft-dirty-flag-read-with-reset.patch -> v1-0002-mm-Support-soft-dirty-flag-read-with-reset.patch
53 https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-patches/5.14/0003-glitched-base.patch -> v2-0003-glitched-base.patch
54 https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-patches/5.14/0003-glitched-cfs-additions.patch -> v1-0003-glitched-cfs-additions.patch
55 https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-patches/5.14/0006-add-acs-overrides_iommu.patch -> v1-0006-add-acs-overrides_iommu.patch
56 https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-patches/5.14/0007-v5.14-futex2_interface.patch -> v1-0007-v5.14-futex2_interface.patch
57 https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-patches/5.14/0007-v5.14-fsync.patch -> v1-0007-v5.14-fsync.patch
58 https://raw.githubusercontent.com/Frogging-Family/linux-tkg/master/linux-tkg-patches/5.14/0007-v5.14-winesync.patch -> v1-0007-v5.14-winesync.patch
59 https://gitlab.com/alfredchen/projectc/-/raw/master/5.14/prjc_v5.14-r3.patch
60 https://github.com/HougeLangley/customkernel/releases/download/v5.14-others/v2-0012-misc-additions.patch
61 https://github.com/HougeLangley/customkernel/releases/download/v5.14-others/v1-cjktty-5.14.patch
62 https://gitlab.com/sirlucjan/kernel-patches/-/raw/master/5.14/bbr2-patches/0001-bbr2-5.14-introduce-BBRv2.patch -> v1-bbr2.patch
63 https://github.com/HougeLangley/customkernel/releases/download/v5.14-others/v2-0001-cpu-5.14-merge-graysky-s-patchset.patch -> v2-gcc-01.patch
64 https://github.com/HougeLangley/customkernel/releases/download/v5.14-others/v2-0003-init-Kconfig-add-O1-flag.patch -> v2-gcc-03.patch
65 https://github.com/HougeLangley/customkernel/releases/download/v5.14-others/v2-0004-Makefile-Turn-off-loop-vectorization-for-GCC-O3-opti.patch -> v2-gcc-04.patch
67 KEYWORDS="~amd64"
69 S="${WORKDIR}/linux-${PV}-linux"
71 UNIPATCH_LIST_DEFAULT=( "${DISTDIR}/patch-${PV}.xz" )
73 PATCHES=( "${DISTDIR}/v1-0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch"
74 "${DISTDIR}/v1-0001-mm-Support-soft-dirty-flag-reset-for-VA-range.patch"
75 "${DISTDIR}/v1-0002-clear-patches.patch"
76 "${DISTDIR}/v1-750HZ.patch"
77 "${DISTDIR}/v1-cacule-5.14-full.patch"
78 "${DISTDIR}/v1-0002-mm-Support-soft-dirty-flag-read-with-reset.patch"
79 "${DISTDIR}/v2-0003-glitched-base.patch"
80 "${DISTDIR}/v1-0003-glitched-cfs-additions.patch"
81 "${DISTDIR}/v1-0006-add-acs-overrides_iommu.patch"
82 "${DISTDIR}/v1-0007-v5.14-futex2_interface.patch"
83 "${DISTDIR}/v1-0007-v5.14-fsync.patch"
84 "${DISTDIR}/v1-0007-v5.14-winesync.patch"
85 "${DISTDIR}/prjc_v5.14-r3.patch"
86 "${DISTDIR}/v2-0012-misc-additions.patch"
87 "${DISTDIR}/v1-cjktty-5.14.patch"
88 "${DISTDIR}/v1-bbr2.patch"
89 "${DISTDIR}/v2-gcc-01.patch"
90 "${DISTDIR}/v2-gcc-03.patch"
91 "${DISTDIR}/v2-gcc-04.patch" )
93 K_EXTRAEINFO="For more info on linux-tkg-sources and details on how to report problems, see: ${HOMEPAGE}."
95 src_prepare() {
96 # Default apply Linux-TkG BMQ patches, Do not forget copy BMQ.config to .config.
97 if use bmq ; then
98 eapply "${DISTDIR}/v1-0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch" || die
99 eapply "${DISTDIR}/v1-0001-mm-Support-soft-dirty-flag-reset-for-VA-range.patch" || die
100 eapply "${DISTDIR}/v1-0002-clear-patches.patch" || die
101 eapply "${DISTDIR}/v1-750HZ.patch" || die
102 eapply "${DISTDIR}/v1-0002-mm-Support-soft-dirty-flag-read-with-reset.patch" || die
103 eapply "${DISTDIR}/v2-0003-glitched-base.patch" || die
104 eapply "${DISTDIR}/v1-0003-glitched-cfs-additions.patch" || die
105 eapply "${DISTDIR}/v1-0006-add-acs-overrides_iommu.patch" || die
106 eapply "${DISTDIR}/v1-0007-v5.14-futex2_interface.patch" || die
107 eapply "${DISTDIR}/v1-0007-v5.14-fsync.patch" || die
108 eapply "${DISTDIR}/v1-0007-v5.14-winesync.patch" || die
109 eapply "${DISTDIR}/prjc_v5.14-r3.patch" || die
110 eapply "${DISTDIR}/v2-0012-misc-additions.patch" || die
111 eapply "${DISTDIR}/v1-cjktty-5.14.patch" || die
112 eapply "${DISTDIR}/v1-bbr2.patch" || die
113 eapply "${DISTDIR}/v2-gcc-01.patch" || die
114 eapply "${DISTDIR}/v2-gcc-03.patch" || die
115 eapply "${DISTDIR}/v2-gcc-04.patch" || die
117 # Apply Linux-TkG PDS patches, Do not forget copy PDS.config to .config.
118 if use pds ; then
119 eapply "${DISTDIR}/v1-0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch" || die
120 eapply "${DISTDIR}/v1-0001-mm-Support-soft-dirty-flag-reset-for-VA-range.patch" || die
121 eapply "${DISTDIR}/v1-0002-clear-patches.patch" || die
122 eapply "${DISTDIR}/v1-750HZ.patch" || die
123 eapply "${DISTDIR}/v1-0002-mm-Support-soft-dirty-flag-read-with-reset.patch" || die
124 eapply "${DISTDIR}/v2-0003-glitched-base.patch" || die
125 eapply "${DISTDIR}/v1-0003-glitched-cfs-additions.patch" || die
126 eapply "${DISTDIR}/v1-0006-add-acs-overrides_iommu.patch" || die
127 eapply "${DISTDIR}/v1-0007-v5.14-futex2_interface.patch" || die
128 eapply "${DISTDIR}/v1-0007-v5.14-fsync.patch" || die
129 eapply "${DISTDIR}/v1-0007-v5.14-winesync.patch" || die
130 eapply "${DISTDIR}/prjc_v5.14-r3.patch" || die
131 eapply "${DISTDIR}/v2-0012-misc-additions.patch" || die
132 eapply "${DISTDIR}/v1-cjktty-5.14.patch" || die
133 eapply "${DISTDIR}/v1-bbr2.patch" || die
134 eapply "${DISTDIR}/v2-gcc-01.patch" || die
135 eapply "${DISTDIR}/v2-gcc-03.patch" || die
136 eapply "${DISTDIR}/v2-gcc-04.patch" || die
138 # Apply Linux-TKG CacULE patches
139 if use cacule ; then
140 eapply "${DISTDIR}/v1-0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch" || die
141 eapply "${DISTDIR}/v1-0001-mm-Support-soft-dirty-flag-reset-for-VA-range.patch" || die
142 eapply "${DISTDIR}/v1-0002-clear-patches.patch" || die
143 eapply "${DISTDIR}/v1-750HZ.patch" || die
144 eapply "${DISTDIR}/v1-cacule-5.14-full.patch" || die
145 eapply "${DISTDIR}/v1-0002-mm-Support-soft-dirty-flag-read-with-reset.patch" || die
146 eapply "${DISTDIR}/v2-0003-glitched-base.patch" || die
147 eapply "${DISTDIR}/v1-0006-add-acs-overrides_iommu.patch" || die
148 eapply "${DISTDIR}/v1-0007-v5.14-futex2_interface.patch" || die
149 eapply "${DISTDIR}/v1-0007-v5.14-fsync.patch" || die
150 eapply "${DISTDIR}/v1-0007-v5.14-winesync.patch" || die
151 eapply "${DISTDIR}/v2-0012-misc-additions.patch" || die
152 eapply "${DISTDIR}/v1-cjktty-5.14.patch" || die
153 eapply "${DISTDIR}/v1-bbr2.patch" || die
154 eapply "${DISTDIR}/v2-gcc-01.patch" || die
155 eapply "${DISTDIR}/v2-gcc-03.patch" || die
156 eapply "${DISTDIR}/v2-gcc-04.patch" || die
159 kernel-2_src_prepare
162 pkg_setup() {
163 ewarn ""
164 ewarn "${PN} is *not* supported by the Gentoo Kernel Project in any way."
165 ewarn "If you need support, please contact the ${HOMEPAGE} directly."
166 ewarn "Do *not* open bugs in Gentoo's bugzilla unless you have issues with"
167 ewarn "the ebuilds. Thank you."
168 ewarn ""
170 kernel-2_pkg_setup
173 pkg_postinst() {
174 elog "MICROCODES"
175 elog "Use linux-tkg-sources with microcodes"
176 elog "Read https://wiki.gentoo.org/wiki/Intel_microcode"