You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
4.1 KiB
80 lines
4.1 KiB
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
|