diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-01-26 05:13:30 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-01-26 05:13:30 +0900 |
| commit | 4d29333807af6ba481aad62eff22bfcf57688d1d (patch) | |
| tree | 2b69ab46ad826f6c40e146ac9dbb8f0d2e83303b | |
| parent | e1533fa4c6b2e42607575cff29df14a1295676b5 (diff) | |
internal/rosa: wayland-protocols artifact
Required by hakurei.
Signed-off-by: Ophestra <cat@gensokyo.uk>
| -rw-r--r-- | cmd/mbf/main.go | 2 | ||||
| -rw-r--r-- | internal/rosa/all.go | 1 | ||||
| -rw-r--r-- | internal/rosa/wayland.go | 36 |
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 } |
