From 320d5ea23470b89c0d3af5980bc975619c36d4f7 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Sat, 27 Oct 2018 10:33:18 -0400 Subject: Add FreeBSD build --- .build.yml | 28 ------------------ .builds/archlinux.yml | 28 ++++++++++++++++++ .builds/freebsd.yml | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 107 insertions(+), 28 deletions(-) delete mode 100644 .build.yml create mode 100644 .builds/archlinux.yml create mode 100644 .builds/freebsd.yml diff --git a/.build.yml b/.build.yml deleted file mode 100644 index 4b3e197d..00000000 --- a/.build.yml +++ /dev/null @@ -1,28 +0,0 @@ -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: | - mkdir wlroots/build-{gcc,clang} - cd wlroots/build-gcc - CC=gcc meson .. - cd ../build-clang - CC=clang meson .. - - gcc: | - cd wlroots/build-gcc - ninja - - clang: | - cd wlroots/build-clang - ninja scan-build diff --git a/.builds/archlinux.yml b/.builds/archlinux.yml new file mode 100644 index 00000000..4b3e197d --- /dev/null +++ b/.builds/archlinux.yml @@ -0,0 +1,28 @@ +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: | + mkdir wlroots/build-{gcc,clang} + cd wlroots/build-gcc + CC=gcc meson .. + cd ../build-clang + CC=clang meson .. + - gcc: | + cd wlroots/build-gcc + ninja + - clang: | + cd wlroots/build-clang + ninja scan-build diff --git a/.builds/freebsd.yml b/.builds/freebsd.yml new file mode 100644 index 00000000..65e9d41d --- /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: | + cd /usr/ports/graphics/wayland-protocols/ && sudo make install + cd /usr/ports/x11/libinput/ && sudo make install clean + # 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 +- 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 -- cgit v1.2.3