git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit3e355376ce732dbdc6a6857296c626068c2cd8c3
parent2d9009360f
authorHugo Machet <[email protected]>
date2022-02-05 22:34
ci: Add sourcehut builds

- alpine (musl)
- archlinux (glibc)
- freebsd

 .builds/alpine.yml    | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++
 .builds/archlinux.yml | 57 +++++++++++++++++++++++++++++++++++++++++++++++
 .builds/freebsd.yml   | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 178 insertions(+)

diff --git a/.builds/alpine.yml b/.builds/alpine.yml
new file mode 100644
index 0000000..8a90ce8
--- /dev/null
+++ b/.builds/alpine.yml
@@ -0,0 +1,60 @@
+image: alpine/edge
+packages:
+  - eudev-dev
+  - libinput-dev
+  - libseat-dev
+  - mesa-dev
+  - libffi-dev
+  - expat-dev
+  - libxkbcommon-dev
+  - xcb-util-image-dev
+  - xcb-util-renderutil-dev
+  - xcb-util-wm-dev
+  - pixman-dev
+  - libevdev-dev
+  - wayland-protocols
+  - xwayland
+  - meson
+  - scdoc
+  - tar
+  - wget
+  - xz
+sources:
+  - https://gitlab.freedesktop.org/wayland/wayland.git
+  - https://gitlab.freedesktop.org/wlroots/wlroots.git
+  - https://github.com/riverwm/river.git
+tasks:
+  - install_deps: |
+      cd wayland
+      git checkout 1.20.0
+      meson build -Ddocumentation=false -Dtests=false --prefix /usr
+      sudo ninja -C build install
+      cd ..
+
+      cd wlroots
+      git checkout 0.15.1
+      meson build --auto-features=enabled -Drenderers=gles2 -Dexamples=false \
+            -Dwerror=false -Db_ndebug=false -Dxcb-errors=disabled --prefix /usr
+      sudo ninja -C build/ install
+      cd ..
+
+      wget https://ziglang.org/download/0.9.0/zig-linux-x86_64-0.9.0.tar.xz
+      # Remove a lot of useless lines from tar output.
+      tar -xvf zig-linux-x86_64-0.9.0.tar.xz 1>/dev/null
+      sudo mv zig-linux-x86_64-0.9.0/zig /usr/bin/
+      sudo mv zig-linux-x86_64-0.9.0/lib /usr/lib/zig
+  - build: |
+      cd river
+      zig build
+  - build_xwayland: |
+      cd river
+      zig build -Dxwayland
+  - xwayland_test: |
+      cd river
+      zig build -Dxwayland test
+  - fmt: |
+      cd river
+      zig fmt --check river/
+      zig fmt --check riverctl/
+      zig fmt --check rivertile/
+      zig fmt --check build.zig
diff --git a/.builds/archlinux.yml b/.builds/archlinux.yml
new file mode 100644
index 0000000..a01f17d
--- /dev/null
+++ b/.builds/archlinux.yml
@@ -0,0 +1,57 @@
+image: archlinux
+packages:
+  - libinput
+  - libxkbcommon
+  - mesa
+  - meson
+  - pixman
+  - wayland
+  - wayland-protocols
+  - xcb-util-errors
+  - xcb-util-image
+  - xcb-util-renderutil
+  - xcb-util-wm
+  - xorg-xwayland
+  - seatd
+  - tar
+  - wget
+  - xz
+sources:
+  - https://gitlab.freedesktop.org/wayland/wayland.git
+  - https://gitlab.freedesktop.org/wlroots/wlroots.git
+  - https://github.com/riverwm/river.git
+tasks:
+  - install_deps: |
+      cd wayland
+      git checkout 1.20.0
+      meson build -Ddocumentation=false -Dtests=false --prefix /usr
+      sudo ninja -C build install
+      cd ..
+
+      cd wlroots
+      git checkout 0.15.1
+      meson build --auto-features=enabled -Drenderers=gles2 -Dexamples=false \
+            -Dwerror=false -Db_ndebug=false --prefix /usr
+      sudo ninja -C build/ install
+      cd ..
+
+      wget https://ziglang.org/download/0.9.0/zig-linux-x86_64-0.9.0.tar.xz
+      # Remove a lot of useless lines from tar output.
+      tar -xvf zig-linux-x86_64-0.9.0.tar.xz 1>/dev/null
+      sudo mv zig-linux-x86_64-0.9.0/zig /usr/bin/
+      sudo mv zig-linux-x86_64-0.9.0/lib /usr/lib/zig
+  - build: |
+      cd river
+      zig build
+  - build_xwayland: |
+      cd river
+      zig build -Dxwayland
+  - xwayland_test: |
+      cd river
+      zig build -Dxwayland test
+  - fmt: |
+      cd river
+      zig fmt --check river/
+      zig fmt --check riverctl/
+      zig fmt --check rivertile/
+      zig fmt --check build.zig
diff --git a/.builds/freebsd.yml b/.builds/freebsd.yml
new file mode 100644
index 0000000..9f4a9d2
--- /dev/null
+++ b/.builds/freebsd.yml
@@ -0,0 +1,61 @@
+image: freebsd/latest
+packages:
+  - devel/evdev-proto
+  - devel/libepoll-shim
+  - devel/libudev-devd
+  - devel/meson
+  - devel/pkgconf
+  - graphics/mesa-libs
+  - graphics/wayland-protocols
+  - x11/libX11
+  - x11/libinput
+  - x11/libxcb
+  - x11/libxkbcommon
+  - x11/pixman
+  - x11/xcb-util-errors
+  - x11/xcb-util-renderutil
+  - x11/xcb-util-wm
+  - x11-servers/xwayland
+  - sysutils/seatd
+  - gmake
+  - scdoc
+  - wget
+sources:
+  - https://gitlab.freedesktop.org/wayland/wayland.git
+  - https://gitlab.freedesktop.org/wlroots/wlroots.git
+  - https://github.com/riverwm/river.git
+tasks:
+  - install_deps: |
+      cd wayland
+      git checkout 1.20.0
+      meson build -Ddocumentation=false -Dtests=false --prefix /usr
+      sudo ninja -C build install
+      cd ..
+
+      cd wlroots
+      git checkout 0.15.1
+      meson build --auto-features=enabled -Drenderers=gles2 -Dexamples=false \
+            -Dwerror=false -Db_ndebug=false --prefix /usr
+      sudo ninja -C build/ install
+      cd ..
+
+      wget https://ziglang.org/download/0.9.0/zig-freebsd-x86_64-0.9.0.tar.xz
+      # Remove a lot of useless lines from tar output.
+      tar -xvf zig-freebsd-x86_64-0.9.0.tar.xz 1>/dev/null
+      sudo mv zig-freebsd-x86_64-0.9.0/zig /usr/bin/
+      sudo mv zig-freebsd-x86_64-0.9.0/lib /usr/lib/zig
+  - build: |
+      cd river
+      zig build
+  - build_xwayland: |
+      cd river
+      zig build -Dxwayland
+  - xwayland_test: |
+      cd river
+      zig build -Dxwayland test
+  - fmt: |
+      cd river
+      zig fmt --check river/
+      zig fmt --check riverctl/
+      zig fmt --check rivertile/
+      zig fmt --check build.zig