aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-01-26 03:03:21 +0900
committerOphestra <cat@gensokyo.uk>2026-01-26 03:03:21 +0900
commitc6a95f5a6a7a91b35dfff29991ecf4b03719bc56 (patch)
treec1f41c6b019b1c32757b0ffec6578f45d96ceb5d
parent228489371d31b0cef27f1f4f09b60c87efa171a6 (diff)
internal/rosa: meson artifact
Required by wayland and pipewire. 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/meson.go27
3 files changed, 30 insertions, 0 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go
index 23d233c3..61a78cb0 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 caf21792..2401e582 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 00000000..05960dfb
--- /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 }