aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/kmod.go
blob: c32e4167d1c91631836424db92d19866840eea69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package rosa

import "hakurei.app/internal/pkg"

func (t Toolchain) newKmod() pkg.Artifact {
	const (
		version  = "34.2"
		checksum = "0K7POeTKxMhExsaTsnKAC6LUNsRSfe6sSZxWONPbOu-GI_pXOw3toU_BIoqfBhJV"
	)
	return t.New("kmod-"+version, 0, []pkg.Artifact{
		t.Load(Python),
		t.Load(Meson),
		t.Load(PkgConfig),
		t.Load(CMake),
		t.Load(Ninja),

		t.Load(Zlib),
		t.Load(Zstd),
		t.Load(OpenSSL),
		t.Load(KernelHeaders),
	}, nil, nil, `
cd "$(mktemp -d)"
meson setup \
	--reconfigure \
	--buildtype=release \
	--prefix=/system \
	-Dsysconfdir=/system/etc \
	-Dbashcompletiondir=no \
	-Dfishcompletiondir=no \
	-Dxz=disabled \
	-Dmanpages=false \
	. /usr/src/kmod
meson compile
meson install \
	--destdir=/work
`, pkg.Path(AbsUsrSrc.Append("kmod"), false, pkg.NewHTTPGetTar(
		nil, "https://www.kernel.org/pub/linux/utils/kernel/"+
			"kmod/kmod-"+version+".tar.gz",
		mustDecode(checksum),
		pkg.TarGzip,
	)))
}
func init() { artifactsF[Kmod] = Toolchain.newKmod }