From f80d174e8b179f3af80f7990529c3b0440846dca Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Mon, 7 Jan 2019 08:07:32 +0000 Subject: [PATCH 1/2] Simplify evdev includes on FreeBSD by relying on up-to-date package As evdev-proto is installed by CI some files have been missed: ../examples/pointer-constraints.c:2:10: fatal error: 'linux/input-event-codes.h' file not found #include ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../examples/relative-pointer-unstable-v1.c:5:10: fatal error: 'linux/input-event-codes.h' file not found #include ^~~~~~~~~~~~~~~~~~~~~~~~~~~ --- backend/session/direct-freebsd.c | 2 +- backend/session/direct-ipc.c | 2 +- backend/x11/input_device.c | 4 ---- examples/idle-inhibit.c | 4 ---- examples/layer-shell.c | 4 ---- rootston/cursor.c | 4 ---- 6 files changed, 2 insertions(+), 18 deletions(-) diff --git a/backend/session/direct-freebsd.c b/backend/session/direct-freebsd.c index 342d0d4e..391cc3fd 100644 --- a/backend/session/direct-freebsd.c +++ b/backend/session/direct-freebsd.c @@ -1,5 +1,5 @@ #include -#include +#include #include #include #include diff --git a/backend/session/direct-ipc.c b/backend/session/direct-ipc.c index 2b9634da..42ca00e1 100644 --- a/backend/session/direct-ipc.c +++ b/backend/session/direct-ipc.c @@ -1,7 +1,7 @@ #define _POSIX_C_SOURCE 200809L #ifdef __FreeBSD__ #define __BSD_VISIBLE 1 -#include +#include #endif #include #include diff --git a/backend/x11/input_device.c b/backend/x11/input_device.c index a50f478a..915d9958 100644 --- a/backend/x11/input_device.c +++ b/backend/x11/input_device.c @@ -2,11 +2,7 @@ #include -#ifdef __linux__ #include -#elif __FreeBSD__ -#include -#endif #include #include diff --git a/examples/idle-inhibit.c b/examples/idle-inhibit.c index 48c812e8..348892ab 100644 --- a/examples/idle-inhibit.c +++ b/examples/idle-inhibit.c @@ -8,11 +8,7 @@ #include "idle-inhibit-unstable-v1-client-protocol.h" #include "xdg-shell-client-protocol.h" -#ifdef __linux__ #include -#elif __FreeBSD__ -#include -#endif /** * Usage: idle-inhibit diff --git a/examples/layer-shell.c b/examples/layer-shell.c index 77b2f6c3..59e2512d 100644 --- a/examples/layer-shell.c +++ b/examples/layer-shell.c @@ -1,9 +1,5 @@ #define _POSIX_C_SOURCE 200112L -#ifdef __linux__ #include -#elif __FreeBSD__ -#include -#endif #include #include #include diff --git a/rootston/cursor.c b/rootston/cursor.c index d2d3b510..b7ecc813 100644 --- a/rootston/cursor.c +++ b/rootston/cursor.c @@ -7,11 +7,7 @@ #include #include #include -#ifdef __linux__ #include -#elif __FreeBSD__ -#include -#endif #include "rootston/cursor.h" #include "rootston/desktop.h" #include "rootston/view.h" From bfd0254485f51c2c185a7321bbc9d56aada730ab Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Mon, 7 Jan 2019 08:25:36 +0000 Subject: [PATCH 2/2] Update FreeBSD build - Switch to packages - Drop unused dependencies --- .builds/freebsd.yml | 71 +++++++++++---------------------------------- 1 file changed, 17 insertions(+), 54 deletions(-) diff --git a/.builds/freebsd.yml b/.builds/freebsd.yml index 7199af85..f1c3d839 100644 --- a/.builds/freebsd.yml +++ b/.builds/freebsd.yml @@ -1,64 +1,26 @@ image: freebsd packages: -- devel/automake +- devel/evdev-proto +- devel/libepoll-shim +- devel/libudev-devd +- devel/meson # implies ninja +- devel/pkgconf +- graphics/libdrm +- graphics/mesa-libs +- graphics/png +- graphics/wayland +- graphics/wayland-protocols - multimedia/ffmpeg -- devel/gmake -- devel/json-c -- devel/libtool +- x11/libX11 +- x11/libinput +- x11/libxcb - x11/libxkbcommon -- textproc/libxslt -- x11-toolkits/pango -- devel/pkgconf -- print/texinfo -- x11/xcb-util-image +- x11/pixman +# - x11/xcb-util-errors # too recent, not in /quarterly - 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 @@ -70,7 +32,8 @@ tasks: Description: epoll shim implemented using kevent Version: 0 Requires: - Libs: -L${libdir} -L${sharedlibdir} -lepoll-shim -lthr + Libs: -L${libdir} -L${sharedlibdir} -lepoll-shim + Libs.private: -pthread -lrt Cflags: -I${includedir} EOF - wlroots: |