aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-01-26 05:13:30 +0900
committerOphestra <cat@gensokyo.uk>2026-01-26 05:13:30 +0900
commit4d29333807af6ba481aad62eff22bfcf57688d1d (patch)
tree2b69ab46ad826f6c40e146ac9dbb8f0d2e83303b
parente1533fa4c6b2e42607575cff29df14a1295676b5 (diff)
internal/rosa: wayland-protocols artifact
Required by hakurei. 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/wayland.go36
3 files changed, 39 insertions, 0 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go
index 54608b8a..98675645 100644
--- a/cmd/mbf/main.go
+++ b/cmd/mbf/main.go
@@ -198,6 +198,8 @@ func main() {
p = rosa.Setuptools
case "wayland":
p = rosa.Wayland
+ case "wayland-protocols":
+ p = rosa.WaylandProtocols
case "zlib":
p = rosa.Zlib
diff --git a/internal/rosa/all.go b/internal/rosa/all.go
index 47d3fe82..e11e7b80 100644
--- a/internal/rosa/all.go
+++ b/internal/rosa/all.go
@@ -35,6 +35,7 @@ const (
Rsync
Setuptools
Wayland
+ WaylandProtocols
Zlib
// _presetEnd is the total number of presets and does not denote a preset.
diff --git a/internal/rosa/wayland.go b/internal/rosa/wayland.go
index f6702168..a9e4ada5 100644
--- a/internal/rosa/wayland.go
+++ b/internal/rosa/wayland.go
@@ -37,3 +37,39 @@ meson install \
)))
}
func init() { artifactsF[Wayland] = Toolchain.newWayland }
+
+func (t Toolchain) newWaylandProtocols() pkg.Artifact {
+ const (
+ version = "1.47"
+ checksum = "B_NodZ7AQfCstcx7kgbaVjpkYOzbAQq0a4NOk-SA8bQixAE20FY3p1-6gsbPgHn9"
+ )
+ return t.New("wayland-protocols-"+version, []pkg.Artifact{
+ t.Load(Python),
+ t.Load(Meson),
+ t.Load(PkgConfig),
+ t.Load(CMake),
+ t.Load(Ninja),
+
+ t.Load(Wayland),
+ t.Load(Libffi),
+ t.Load(Libexpat),
+ t.Load(Libxml2),
+ }, nil, nil, `
+cd "$(mktemp -d)"
+meson setup \
+ --reconfigure \
+ --buildtype=release \
+ --prefix=/system \
+ --prefer-static \
+ . /usr/src/wayland-protocols
+meson compile
+meson install \
+ --destdir=/work
+`, pkg.Path(AbsUsrSrc.Append("wayland-protocols"), false, pkg.NewHTTPGetTar(
+ nil, "https://gitlab.freedesktop.org/wayland/wayland-protocols/"+
+ "-/archive/"+version+"/wayland-protocols-"+version+".tar.bz2",
+ mustDecode(checksum),
+ pkg.TarBzip2,
+ )))
+}
+func init() { artifactsF[WaylandProtocols] = Toolchain.newWaylandProtocols }