aboutsummaryrefslogtreecommitdiff
path: root/.builds/freebsd.yml
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-10-27 19:32:44 +0200
committerGitHub <noreply@github.com>2018-10-27 19:32:44 +0200
commitf34b7f88006c3be5fc5283d86f206ac75cf20093 (patch)
tree5b5d06c837680bf551ee4541972c267fbfc0b40b /.builds/freebsd.yml
parent266b3df6781409facd679d680f7335e156446d17 (diff)
parent320d5ea23470b89c0d3af5980bc975619c36d4f7 (diff)
Merge pull request #1336 from swaywm/freebsd
Add FreeBSD build
Diffstat (limited to '.builds/freebsd.yml')
-rw-r--r--.builds/freebsd.yml79
1 files changed, 79 insertions, 0 deletions
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