diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 23d233c..61a78cb 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -174,6 +174,8 @@ func main() { p = rosa.M4 case "make": p = rosa.Make + case "meson": + p = rosa.Meson case "ninja": p = rosa.Ninja case "patch": diff --git a/internal/rosa/all.go b/internal/rosa/all.go index caf2179..2401e58 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -23,6 +23,7 @@ const ( Libffi M4 Make + Meson Ninja Patch Perl diff --git a/internal/rosa/meson.go b/internal/rosa/meson.go new file mode 100644 index 0000000..05960df --- /dev/null +++ b/internal/rosa/meson.go @@ -0,0 +1,27 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newMeson() pkg.Artifact { + const ( + version = "1.10.1" + checksum = "w895BXF_icncnXatT_OLCFe2PYEtg4KrKooMgUYdN-nQVvbFX3PvYWHGEpogsHtd" + ) + return t.New("meson-"+version, []pkg.Artifact{ + t.Load(Python), + t.Load(Setuptools), + }, nil, nil, ` +cd /usr/src/meson +chmod -R +w meson.egg-info +python3 setup.py \ + install \ + --prefix=/system \ + --root=/work +`, pkg.Path(AbsUsrSrc.Append("meson"), true, pkg.NewHTTPGetTar( + nil, "https://github.com/mesonbuild/meson/releases/download/"+ + version+"/meson-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ))) +} +func init() { artifactsF[Meson] = Toolchain.newMeson }