aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/libffi.go
blob: 9e112cdca60527c8bfe8ad8e71933f43daeed48e (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
package rosa

import "hakurei.app/internal/pkg"

func (t Toolchain) newLibffi() pkg.Artifact {
	const (
		version  = "3.4.5"
		checksum = "apIJzypF4rDudeRoI_n3K7N-zCeBLTbQlHRn9NSAZqdLAWA80mR0gXPTpHsL7oMl"
	)
	return t.New("libffi-"+version, 0, []pkg.Artifact{
		t.Load(Make),
		t.Load(KernelHeaders),
	}, nil, nil, `
cd "$(mktemp -d)"
/usr/src/libffi/configure \
	--prefix=/system \
	--build="${ROSA_TRIPLE}" \
	--enable-static
make "-j$(nproc)" check
make DESTDIR=/work install
`, pkg.Path(AbsUsrSrc.Append("libffi"), false, pkg.NewHTTPGetTar(
		nil,
		"https://github.com/libffi/libffi/releases/download/"+
			"v"+version+"/libffi-"+version+".tar.gz",
		mustDecode(checksum),
		pkg.TarGzip,
	)))
}
func init() { artifactsF[Libffi] = Toolchain.newLibffi }