diff options
Diffstat (limited to '.builds')
-rw-r--r-- | .builds/alpine.yml | 22 | ||||
-rw-r--r-- | .builds/archlinux.yml | 26 | ||||
-rw-r--r-- | .builds/freebsd.yml | 79 |
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 |