From 4d29333807af6ba481aad62eff22bfcf57688d1d Mon Sep 17 00:00:00 2001 From: Ophestra Date: Mon, 26 Jan 2026 05:13:30 +0900 Subject: [PATCH] internal/rosa: wayland-protocols artifact Required by hakurei. Signed-off-by: Ophestra --- cmd/mbf/main.go | 2 ++ internal/rosa/all.go | 1 + internal/rosa/wayland.go | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 54608b8..9867564 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 47d3fe8..e11e7b8 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 f670216..a9e4ada 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 }