aboutsummaryrefslogtreecommitdiff
path: root/.builds
diff options
context:
space:
mode:
Diffstat (limited to '.builds')
-rw-r--r--.builds/alpine.yml22
-rw-r--r--.builds/archlinux.yml26
-rw-r--r--.builds/freebsd.yml79
3 files changed, 127 insertions, 0 deletions
diff --git a/.builds/alpine.yml b/.builds/alpine.yml
new file mode 100644
index 00000000..9751dc8a
--- /dev/null
+++ b/.builds/alpine.yml
@@ -0,0 +1,22 @@
+image: alpine/edge
+packages:
+ - eudev-dev
+ - ffmpeg-dev
+ - libcap-dev
+ - libinput-dev
+ - libxkbcommon-dev
+ - mesa-dev
+ - meson
+ - pixman-dev
+ - wayland-dev
+ - wayland-protocols
+ - xcb-util-image-dev
+sources:
+ - https://github.com/swaywm/wlroots
+tasks:
+ - setup: |
+ cd wlroots
+ meson build
+ - build: |
+ cd wlroots
+ ninja -C build
diff --git a/.builds/archlinux.yml b/.builds/archlinux.yml
new file mode 100644
index 00000000..2a4b5fc0
--- /dev/null
+++ b/.builds/archlinux.yml
@@ -0,0 +1,26 @@
+image: archlinux
+packages:
+ - clang
+ - ffmpeg
+ - libcap
+ - libinput
+ - libxkbcommon
+ - mesa
+ - meson
+ - pixman
+ - wayland
+ - wayland-protocols
+ - xcb-util-image
+sources:
+ - https://github.com/swaywm/wlroots
+tasks:
+ - setup: |
+ cd wlroots
+ CC=gcc meson build-gcc
+ CC=clang meson build-clang
+ - gcc: |
+ cd wlroots/build-gcc
+ ninja
+ - clang: |
+ cd wlroots/build-clang
+ ninja
diff --git a/.builds/freebsd.yml b/.builds/freebsd.yml
new file mode 100644
index 00000000..7199af85
--- /dev/null
+++ b/.builds/freebsd.yml
@@ -0,0 +1,79 @@
+image: freebsd
+packages:
+- devel/automake
+- multimedia/ffmpeg
+- devel/gmake
+- devel/json-c
+- devel/libtool
+- x11/libxkbcommon
+- textproc/libxslt
+- x11-toolkits/pango
+- devel/pkgconf
+- print/texinfo
+- x11/xcb-util-image
+- x11/xcb-util-wm
+- python36
+- py36-setuptools
+sources:
+- https://github.com/swaywm/wlroots
+tasks:
+- setup: |
+ # Don't build unnecessary stuff
+ echo "OPTIONS_UNSET+= NLS DOCS EXAMPLES LIBWACOM" | sudo tee -a /etc/make.conf
+ # Note: this could probably be set in the FreeBSD base image
+ echo "BATCH=yes" | sudo tee -a /etc/make.conf
+- ports_tree: |
+ # This is ugly, but fetching and extracting the whole ports tree takes a
+ # really-really long time...
+ # First we need a clean tree, and renaming is faster than deleting.
+ sudo mv /usr/ports /usr/ports.orig
+ sudo mkdir /usr/ports
+ # Fetch only needed ports
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/GIDs /usr/ports/GIDs
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/Keywords /usr/ports/Keywords
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/Makefile /usr/ports/Makefile
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/Mk /usr/ports/Mk
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/Templates /usr/ports/Templates
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/Tools /usr/ports/Tools
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/UIDs /usr/ports/UIDs
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/libevdev /usr/ports/devel/libevdev
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/libmtdev /usr/ports/devel/libmtdev
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/libudev-devd /usr/ports/devel/libudev-devd
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/meson /usr/ports/devel/meson
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/ninja /usr/ports/devel/ninja
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/py-evdev /usr/ports/devel/py-evdev
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/devel/py-six /usr/ports/devel/py-six
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/graphics/wayland-protocols /usr/ports/graphics/wayland-protocols
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/graphics/wayland /usr/ports/graphics/wayland
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/lang/python27 /usr/ports/lang/python27
+ sudo svnlite export --force https://svn.FreeBSD.org/ports/head/lang/python36 /usr/ports/lang/python36
+- fixup_libinput: |
+ sudo svnlite export https://github.com/FreeBSDDesktop/freebsd-ports/branches/feature/input/devel/libepoll-shim /usr/ports/devel/libepoll-shim
+ sudo svnlite export https://github.com/FreeBSDDesktop/freebsd-ports/branches/feature/input/x11/libinput /usr/ports/x11/libinput
+ sudo svnlite export https://github.com/FreeBSDDesktop/freebsd-ports/branches/feature/input/devel/evdev-proto /usr/ports/devel/evdev-proto
+ sudo svnlite export https://github.com/FreeBSDDesktop/freebsd-ports/branches/feature/input/devel/py-pyudev /usr/ports/devel/py-pyudev
+- ports_build: |
+ # v4l_compat is a dependency of libinput, but the version in the ports tree
+ # conflicts with the new evdev-proto. It can be safely removed though.
+ sudo pkg remove -fy v4l_compat
+ cd /usr/ports/devel/evdev-proto && sudo make install clean
+ cd /usr/ports/graphics/wayland-protocols/ && sudo make install
+ cd /usr/ports/x11/libinput/ && sudo make install clean
+- fixup_epoll: |
+ cat << 'EOF' | sudo tee /usr/local/libdata/pkgconfig/epoll-shim.pc
+ prefix=/usr/local
+ exec_prefix=\$\{\$prefix\}
+ libdir=${prefix}/lib
+ sharedlibdir=${prefix}/lib
+ includedir=${prefix}/include/libepoll-shim
+ Name: epoll-shim
+ Description: epoll shim implemented using kevent
+ Version: 0
+ Requires:
+ Libs: -L${libdir} -L${sharedlibdir} -lepoll-shim -lthr
+ Cflags: -I${includedir}
+ EOF
+- wlroots: |
+ cd wlroots
+ meson build
+ ninja -C build