diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 9867564..c72cc0e 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 e11e7b8..7bfd9df 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 34dc3e3..fbee922 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 }