diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 1b35f67..54608b8 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -196,6 +196,8 @@ func main() { p = rosa.Rsync case "setuptools": p = rosa.Setuptools + case "wayland": + p = rosa.Wayland case "zlib": p = rosa.Zlib diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 116dd1b..47d3fe8 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -34,6 +34,7 @@ const ( Python Rsync Setuptools + Wayland 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 new file mode 100644 index 0000000..f670216 --- /dev/null +++ b/internal/rosa/wayland.go @@ -0,0 +1,39 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newWayland() pkg.Artifact { + const ( + version = "1.24.0" + checksum = "JxgLiFRRGw2D3uhVw8ZeDbs3V7K_d4z_ypDog2LBqiA_5y2vVbUAk5NT6D5ozm0m" + ) + return t.New("wayland-"+version, []pkg.Artifact{ + t.Load(Python), + t.Load(Meson), + t.Load(PkgConfig), + t.Load(CMake), + t.Load(Ninja), + + t.Load(Libffi), + t.Load(Libexpat), + t.Load(Libxml2), + }, nil, nil, ` +cd "$(mktemp -d)" +meson setup \ + --reconfigure \ + --buildtype=release \ + --prefix=/system \ + --prefer-static \ + -Ddocumentation=false \ + . /usr/src/wayland +meson compile +meson install \ + --destdir=/work +`, pkg.Path(AbsUsrSrc.Append("wayland"), false, pkg.NewHTTPGetTar( + nil, "https://gitlab.freedesktop.org/wayland/wayland/"+ + "-/archive/"+version+"/wayland-"+version+".tar.bz2", + mustDecode(checksum), + pkg.TarBzip2, + ))) +} +func init() { artifactsF[Wayland] = Toolchain.newWayland }