aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--cmd/mbf/main.go2
-rw-r--r--internal/rosa/all.go1
-rw-r--r--internal/rosa/wayland.go39
3 files changed, 42 insertions, 0 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go
index 1b35f673..54608b8a 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 116dd1b2..47d3fe82 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 00000000..f6702168
--- /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 }