Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: "Michał Górny" <mgorny@g.o>
Subject: [gentoo-dev] [PATCH v2 3/4] sys-kernel/vanilla-kernel: Migrate to kernel-build.eclass
Date: Sun, 05 Jan 2020 06:28:56
Message-Id: 20200105062741.82357-3-mgorny@gentoo.org
In Reply to: [gentoo-dev] [PATCH v2 1/4] kernel-install.eclass: Install logic for dist-kernels by "Michał Górny"
1 Signed-off-by: Michał Górny <mgorny@g.o>
2 ---
3 .../vanilla-kernel-5.4.7-r1.ebuild | 66 +++++++++++++++++++
4 1 file changed, 66 insertions(+)
5 create mode 100644 sys-kernel/vanilla-kernel/vanilla-kernel-5.4.7-r1.ebuild
6
7 diff --git a/sys-kernel/vanilla-kernel/vanilla-kernel-5.4.7-r1.ebuild b/sys-kernel/vanilla-kernel/vanilla-kernel-5.4.7-r1.ebuild
8 new file mode 100644
9 index 000000000000..980ee832584f
10 --- /dev/null
11 +++ b/sys-kernel/vanilla-kernel/vanilla-kernel-5.4.7-r1.ebuild
12 @@ -0,0 +1,66 @@
13 +# Copyright 2020 Gentoo Authors
14 +# Distributed under the terms of the GNU General Public License v2
15 +
16 +EAPI=7
17 +
18 +inherit kernel-build
19 +
20 +MY_P=linux-${PV}
21 +AMD64_CONFIG_VER=5.4.7.arch1-1
22 +AMD64_CONFIG_HASH=ff79453bc0451a9083bdaa02c3901372d61a9982
23 +I686_CONFIG_VER=5.4.3-arch1
24 +I686_CONFIG_HASH=076a52d43a08c4b3a3eacd1f2f9a855fb3b62f42
25 +
26 +DESCRIPTION="Linux kernel built from vanilla upstream sources"
27 +HOMEPAGE="https://www.kernel.org/"
28 +SRC_URI+=" https://cdn.kernel.org/pub/linux/kernel/v5.x/${MY_P}.tar.xz
29 + amd64? (
30 + https://git.archlinux.org/svntogit/packages.git/plain/trunk/config?h=packages/linux&id=${AMD64_CONFIG_HASH}
31 + -> linux-${AMD64_CONFIG_VER}.amd64.config
32 + )
33 + x86? (
34 + https://git.archlinux32.org/packages/plain/core/linux/config.i686?id=${I686_CONFIG_HASH}
35 + -> linux-${I686_CONFIG_VER}.i686.config
36 + )"
37 +S=${WORKDIR}/${MY_P}
38 +
39 +LICENSE="GPL-2"
40 +KEYWORDS="~amd64 ~x86"
41 +
42 +RDEPEND="
43 + !sys-kernel/vanilla-kernel-bin:${SLOT}"
44 +
45 +pkg_pretend() {
46 + mount-boot_pkg_pretend
47 +
48 + ewarn "This is an experimental package. The built kernel and/or initramfs"
49 + ewarn "may not work at all or fail with your bootloader configuration. Please"
50 + ewarn "make sure to keep a backup kernel available before testing it."
51 +}
52 +
53 +src_prepare() {
54 + default
55 +
56 + # prepare the default config
57 + case ${ARCH} in
58 + amd64)
59 + cp "${DISTDIR}"/linux-${AMD64_CONFIG_VER}.amd64.config .config || die
60 + ;;
61 + x86)
62 + cp "${DISTDIR}"/linux-${I686_CONFIG_VER}.i686.config .config || die
63 + ;;
64 + *)
65 + die "Unsupported arch ${ARCH}"
66 + ;;
67 + esac
68 +
69 + # while Arch config is cool, we don't want gcc plugins as they
70 + # break distcc
71 + sed -i -e '/GCC_PLUGIN/d' .config || die
72 + # module compression prevents us from stripping them post-inst
73 + sed -i -e '/MODULE_COMPRESS/d' .config || die
74 + # shove our theft under the carpet!
75 + sed -i -e '/HOSTNAME/s:archlinux:gentoo:' .config || die
76 + # hey, we do support x32
77 + sed -i -e '/CONFIG_X86_X32/s:.*:CONFIG_X86_X32=y:' .config || die
78 +}
79 --
80 2.24.1