wlroots/.builds/freebsd.yml

80 lines
4.1 KiB
YAML

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