aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-01-26 05:25:01 +0900
committerOphestra <cat@gensokyo.uk>2026-01-26 05:25:39 +0900
commit3eadd5c580c6b38f468f53549497c64201c00605 (patch)
treed9d7ca1c80d5cd71642c5db74c8c513d67b8d9ed
parent4d29333807af6ba481aad62eff22bfcf57688d1d (diff)
internal/rosa: gperf artifact
Required by libseccomp. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--cmd/mbf/main.go2
-rw-r--r--internal/rosa/all.go1
-rw-r--r--internal/rosa/gnu.go22
3 files changed, 25 insertions, 0 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go
index 98675645..c72cc0e2 100644
--- a/cmd/mbf/main.go
+++ b/cmd/mbf/main.go
@@ -166,6 +166,8 @@ func main() {
p = rosa.Git
case "go":
p = rosa.Go
+ case "gperf":
+ p = rosa.Gperf
case "kernel-headers":
p = rosa.KernelHeaders
case "libexpat":
diff --git a/internal/rosa/all.go b/internal/rosa/all.go
index e11e7b80..7bfd9dfa 100644
--- a/internal/rosa/all.go
+++ b/internal/rosa/all.go
@@ -19,6 +19,7 @@ const (
Gettext
Git
Go
+ Gperf
KernelHeaders
Libexpat
Libffi
diff --git a/internal/rosa/gnu.go b/internal/rosa/gnu.go
index 34dc3e31..fbee922b 100644
--- a/internal/rosa/gnu.go
+++ b/internal/rosa/gnu.go
@@ -223,3 +223,25 @@ make DESTDIR=/work install
)))
}
func init() { artifactsF[Coreutils] = Toolchain.newCoreutils }
+
+func (t Toolchain) newGperf() pkg.Artifact {
+ const (
+ version = "3.3"
+ checksum = "RtIy9pPb_Bb8-31J2Nw-rRGso2JlS-lDlVhuNYhqR7Nt4xM_nObznxAlBMnarJv7"
+ )
+ return t.New("gperf-"+version, []pkg.Artifact{
+ t.Load(Make),
+ }, nil, nil, `
+cd "$(mktemp -d)"
+/usr/src/gperf/configure \
+ --prefix=/system \
+ --build="${ROSA_TRIPLE}"
+make "-j$(nproc)" check
+make DESTDIR=/work install
+`, pkg.Path(AbsUsrSrc.Append("gperf"), true, pkg.NewHTTPGetTar(
+ nil, "https://ftp.gnu.org/pub/gnu/gperf/gperf-"+version+".tar.gz",
+ mustDecode(checksum),
+ pkg.TarGzip,
+ )))
+}
+func init() { artifactsF[Gperf] = Toolchain.newGperf }