Index: Makefile =================================================================== RCS file: /cvs/ports/wayland/wlroots/Makefile,v retrieving revision 1.18 diff -u -p -r1.18 Makefile --- Makefile 20 Feb 2026 21:35:37 -0000 1.18 +++ Makefile 7 Jun 2026 11:16:07 -0000 @@ -1,60 +1,5 @@ -COMMENT = modular Wayland compositor library +SUBDIR = +SUBDIR += 0.19 +SUBDIR += 0.20 -V = ${MODWLROOTS_VERSION}.2 -REVISION = 1 -EPOCH = 0 -DISTNAME = wlroots-${V} -CATEGORIES = wayland - -SITES = ${HOMEPAGE}/wlroots/-/releases/${V}/downloads/ - -HOMEPAGE = https://gitlab.freedesktop.org/wlroots - -# MIT -PERMIT_PACKAGE = Yes - -SHARED_LIBS += wlroots-0.19 0.0 # 0.0 - -COMPILER = base-clang ports-gcc -COMPILER_LANGS= c -MODULES = devel/meson wayland/wlroots - -MODWLROOTS_LIBDEP = No - -WANTLIB += EGL GLESv2 drm gbm m pixman-1 -WANTLIB += display-info lcms2 liftoff udev -WANTLIB += input seat -WANTLIB += vulkan wayland-client wayland-server -WANTLIB += xcb xcb-composite xcb-dri3 xcb-errors xcb-ewmh -WANTLIB += xcb-icccm xcb-present xcb-render xcb-render-util -WANTLIB += xcb-res xcb-shm xcb-xfixes xcb-xinput -WANTLIB += xkbcommon - -BUILD_DEPENDS = \ - graphics/glslang \ - graphics/vulkan-headers \ - misc/hwdata \ - wayland/wayland-protocols \ - wayland/xwayland - -LIB_DEPENDS = \ - graphics/lcms2 \ - graphics/libliftoff \ - graphics/vulkan-loader \ - sysutils/libdisplay-info \ - sysutils/libudev-openbsd \ - sysutils/seatd \ - wayland/libinput-openbsd \ - wayland/wayland \ - x11/xcb-util-errors \ - x11/xkbcommon - -RUN_DEPENDS = wayland/xwayland - -CONFIGURE_ARGS = \ - -Dexamples=false \ - -Dallocators=gbm - -DEBUG_PACKAGES = ${BUILD_PACKAGES} - -.include +.include Index: Makefile.inc =================================================================== RCS file: Makefile.inc diff -N Makefile.inc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ Makefile.inc 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,55 @@ +COMMENT ?= modular Wayland compositor library (${MODWLROOTS_VERSION}) + +DISTNAME = wlroots-${V} +PKGSTEM ?= wlroots-${MODWLROOTS_VERSION} +CATEGORIES = wayland +EPOCH = 0 + +SITES = ${HOMEPAGE}/wlroots/-/releases/${V}/downloads/ + +HOMEPAGE = https://gitlab.freedesktop.org/wlroots + +# MIT +PERMIT_PACKAGE = Yes + +COMPILER = base-clang ports-gcc +COMPILER_LANGS= c +MODULES = devel/meson wayland/wlroots + +MODWLROOTS_LIBDEP = No + +WANTLIB += EGL GLESv2 drm gbm m pixman-1 +WANTLIB += display-info lcms2 liftoff udev +WANTLIB += input seat +WANTLIB += vulkan wayland-client wayland-server +WANTLIB += xcb xcb-composite xcb-dri3 xcb-errors xcb-ewmh +WANTLIB += xcb-icccm xcb-present xcb-render xcb-render-util +WANTLIB += xcb-res xcb-shm xcb-xfixes xcb-xinput +WANTLIB += xkbcommon + +BUILD_DEPENDS = \ + graphics/glslang \ + graphics/vulkan-headers \ + misc/hwdata \ + wayland/wayland-protocols \ + wayland/xwayland + +LIB_DEPENDS = \ + graphics/lcms2 \ + graphics/libliftoff \ + graphics/vulkan-loader \ + sysutils/libdisplay-info \ + sysutils/libudev-openbsd \ + sysutils/seatd \ + wayland/libinput-openbsd \ + wayland/wayland \ + x11/xcb-util-errors \ + x11/xkbcommon + +RUN_DEPENDS = wayland/xwayland + +CONFIGURE_ARGS = \ + -Dexamples=false \ + -Dallocators=gbm + +DEBUG_PACKAGES = ${BUILD_PACKAGES} Index: distinfo =================================================================== RCS file: distinfo diff -N distinfo --- distinfo 19 Nov 2025 08:58:58 -0000 1.10 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,2 +0,0 @@ -SHA256 (wlroots-0.19.2.tar.gz) = CaCo1gEEyLB3L+5PYLp2qJrtflnf92WdAJYPuga98mc= -SIZE (wlroots-0.19.2.tar.gz) = 670983 Index: wlroots.port.mk =================================================================== RCS file: /cvs/ports/wayland/wlroots/wlroots.port.mk,v retrieving revision 1.2 diff -u -p -r1.2 wlroots.port.mk --- wlroots.port.mk 28 Aug 2025 21:01:27 -0000 1.2 +++ wlroots.port.mk 7 Jun 2026 11:16:07 -0000 @@ -1,13 +1,13 @@ -MODWLROOTS_VERSION = 0.19 +MODWLROOTS_VERSION ?= 0.19 MODWLROOTS_WANTLIB = wlroots-${MODWLROOTS_VERSION} -MODWLROOTS_LIB_DEPENDS = wayland/wlroots +MODWLROOTS_LIB_DEPENDS = wayland/wlroots/${MODWLROOTS_VERSION} MODWLROOTS_LIBDEP?= Yes .if ${MODWLROOTS_LIBDEP:L} == "yes" LIB_DEPENDS += ${MODWLROOTS_LIB_DEPENDS} -WANTLIB += ${MODWLROOTS_WANTLIB} +WANTLIB += ${MODWLROOTS_WANTLIB} .endif SUBST_VARS += MODWLROOTS_VERSION Index: 0.19/Makefile =================================================================== RCS file: 0.19/Makefile diff -N 0.19/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/Makefile 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,9 @@ +MODWLROOTS_VERSION = 0.19 + +V = ${MODWLROOTS_VERSION}.3 + +SHARED_LIBS += wlroots-0.19 0.0 # 0.0 + +PKGSPEC = wlroots->=0.19v0,<0.20v0 + +.include Index: 0.19/distinfo =================================================================== RCS file: 0.19/distinfo diff -N 0.19/distinfo --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/distinfo 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,2 @@ +SHA256 (wlroots-0.19.3.tar.gz) = XQJpMXXlr9mvXxDj5JdtbpJJ3DmpDrF9I/pfVLElzMU= +SIZE (wlroots-0.19.3.tar.gz) = 671529 Index: 0.19/patches/patch-backend_drm_backend_c =================================================================== RCS file: 0.19/patches/patch-backend_drm_backend_c diff -N 0.19/patches/patch-backend_drm_backend_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/patches/patch-backend_drm_backend_c 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,55 @@ +Index: backend/drm/backend.c +--- backend/drm/backend.c.orig ++++ backend/drm/backend.c +@@ -3,11 +3,13 @@ + #include + #include + #include ++#include + #include + #include + #include + #include + #include ++#include + #include + #include "backend/drm/drm.h" + #include "backend/drm/fb.h" +@@ -207,6 +209,8 @@ static bool init_mgpu_renderer(struct wlr_drm_backend + + struct wlr_backend *wlr_drm_backend_create(struct wlr_session *session, + struct wlr_device *dev, struct wlr_backend *parent) { ++ int kq; ++ struct kevent kev; + assert(session && dev); + assert(!parent || wlr_backend_is_drm(parent)); + +@@ -283,6 +287,28 @@ struct wlr_backend *wlr_drm_backend_create(struct wlr_ + drm->session_destroy.notify = handle_session_destroy; + wl_signal_add(&session->events.destroy, &drm->session_destroy); + ++ if ((kq = kqueue()) <= 0) ++ goto continue_without_kqueue; ++ ++ EV_SET(&kev, dev->fd, EVFILT_DEVICE, EV_ADD | EV_ENABLE | EV_CLEAR, ++ NOTE_CHANGE, 0, NULL); ++ ++ if (kevent(kq, &kev, 1, NULL, 0, NULL) < 0) { ++ close(kq); ++ goto continue_without_kqueue; ++ } ++ ++ drm->drm_kevent = wl_event_loop_add_fd(session->event_loop, kq, ++ WL_EVENT_READABLE, handle_drm_kevent, drm); ++ if (!drm->drm_kevent) { ++ wlr_log(WLR_ERROR, "Failed to create DRM kevent source"); ++ close(kq); ++ goto continue_without_kqueue; ++ } ++ drm->kq = kq; ++ wlr_log(WLR_INFO, "DRM kevent source added"); ++ ++continue_without_kqueue: + return &drm->backend; + + error_mgpu_renderer: Index: 0.19/patches/patch-backend_drm_drm_c =================================================================== RCS file: 0.19/patches/patch-backend_drm_drm_c diff -N 0.19/patches/patch-backend_drm_drm_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/patches/patch-backend_drm_drm_c 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,40 @@ +Index: backend/drm/drm.c +--- backend/drm/drm.c.orig ++++ backend/drm/drm.c +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -375,6 +376,9 @@ void finish_drm_resources(struct wlr_drm_backend *drm) + return; + } + ++ if (drm->kq) ++ close(drm->kq); ++ + if (drm->iface->finish != NULL) { + drm->iface->finish(drm); + } +@@ -2050,6 +2054,18 @@ int handle_drm_event(int fd, uint32_t mask, void *data + wlr_log(WLR_ERROR, "drmHandleEvent failed"); + wlr_backend_destroy(&drm->backend); + } ++ return 1; ++} ++ ++int handle_drm_kevent(int fd, uint32_t mask, void *data) { ++ struct kevent kev; ++ struct wlr_drm_backend *drm = data; ++ ++ if ((kevent(fd, NULL, 0, &kev, 1, NULL)) && kev.fflags & NOTE_CHANGE) { ++ wlr_log(WLR_INFO, "DRM hotplug detected"); ++ scan_drm_connectors(drm, NULL); ++ } ++ + return 1; + } + Index: 0.19/patches/patch-include_backend_drm_drm_h =================================================================== RCS file: 0.19/patches/patch-include_backend_drm_drm_h diff -N 0.19/patches/patch-include_backend_drm_drm_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/patches/patch-include_backend_drm_drm_h 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,27 @@ +Index: include/backend/drm/drm.h +--- include/backend/drm/drm.h.orig ++++ include/backend/drm/drm.h +@@ -92,6 +92,7 @@ struct wlr_drm_backend { + bool addfb2_modifiers; + + int fd; ++ int kq; + char *name; + struct wlr_device *dev; + struct liftoff_device *liftoff; +@@ -103,6 +104,7 @@ struct wlr_drm_backend { + struct wlr_drm_plane *planes; + + struct wl_event_source *drm_event; ++ struct wl_event_source *drm_kevent; + + struct wl_listener session_destroy; + struct wl_listener session_active; +@@ -226,6 +228,7 @@ void scan_drm_leases(struct wlr_drm_backend *drm); + bool commit_drm_device(struct wlr_drm_backend *drm, + const struct wlr_backend_output_state *states, size_t states_len, bool test_only); + int handle_drm_event(int fd, uint32_t mask, void *data); ++int handle_drm_kevent(int fd, uint32_t mask, void *data); + void destroy_drm_connector(struct wlr_drm_connector *conn); + bool drm_connector_is_cursor_visible(struct wlr_drm_connector *conn); + size_t drm_crtc_get_gamma_lut_size(struct wlr_drm_backend *drm, Index: 0.19/patches/patch-meson_build =================================================================== RCS file: 0.19/patches/patch-meson_build diff -N 0.19/patches/patch-meson_build --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/patches/patch-meson_build 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,21 @@ +No librt on OpenBSD + +Index: meson.build +--- meson.build.orig ++++ meson.build +@@ -121,7 +121,6 @@ pixman = dependency('pixman-1', + default_options: ['werror=false'], + ) + math = cc.find_library('m') +-rt = cc.find_library('rt') + + wlr_files = [] + wlr_deps = [ +@@ -130,7 +129,6 @@ wlr_deps = [ + xkbcommon, + pixman, + math, +- rt, + ] + + subdir('protocol') Index: 0.19/patches/patch-render_drm_syncobj_c =================================================================== RCS file: 0.19/patches/patch-render_drm_syncobj_c diff -N 0.19/patches/patch-render_drm_syncobj_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/patches/patch-render_drm_syncobj_c 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,14 @@ +ETIMEDOUT on OpenBSD, not ETIME + +Index: render/drm_syncobj.c +--- render/drm_syncobj.c.orig ++++ render/drm_syncobj.c +@@ -161,7 +161,7 @@ out: + bool wlr_drm_syncobj_timeline_check(struct wlr_drm_syncobj_timeline *timeline, + uint64_t point, uint32_t flags, bool *result) { + int etime; +-#if defined(__FreeBSD__) ++#if defined(__FreeBSD__) || defined(__OpenBSD__) + etime = ETIMEDOUT; + #else + etime = ETIME; Index: 0.19/patches/patch-render_vulkan_vulkan_c =================================================================== RCS file: 0.19/patches/patch-render_vulkan_vulkan_c diff -N 0.19/patches/patch-render_vulkan_vulkan_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/patches/patch-render_vulkan_vulkan_c 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,11 @@ +otherwise makedev() function isnt found + +Index: render/vulkan/vulkan.c +--- render/vulkan/vulkan.c.orig ++++ render/vulkan/vulkan.c +@@ -1,4 +1,4 @@ +-#if defined(__FreeBSD__) ++#if defined(__FreeBSD__) || defined(__OpenBSD__) + #undef _POSIX_C_SOURCE + #endif + #include Index: 0.19/patches/patch-xcursor_xcursor_c =================================================================== RCS file: 0.19/patches/patch-xcursor_xcursor_c diff -N 0.19/patches/patch-xcursor_xcursor_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/patches/patch-xcursor_xcursor_c 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,12 @@ +Index: xcursor/xcursor.c +--- xcursor/xcursor.c.orig ++++ xcursor/xcursor.c +@@ -490,7 +490,7 @@ xcursor_xc_file_load_images(FILE *file, int size) + #endif + + #ifndef XCURSORPATH +-#define XCURSORPATH "~/.icons:/usr/share/icons:/usr/share/pixmaps:~/.cursors:/usr/share/cursors/xorg-x11:"ICONDIR ++#define XCURSORPATH "~/.icons:/usr/X11R6/include/pixmaps:/usr/local/share/icons:/usr/local/lib/X11/icons:/usr/share/icons:/usr/share/pixmaps:~/.cursors:/usr/share/cursors/xorg-x11:"ICONDIR + #endif + + #define XDG_DATA_HOME_FALLBACK "~/.local/share" Index: 0.19/pkg/DESCR =================================================================== RCS file: 0.19/pkg/DESCR diff -N 0.19/pkg/DESCR --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/pkg/DESCR 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,38 @@ +Pluggable, composable, unopinionated modules for building a Wayland +compositor; or about 60,000 lines of code you were going to write +anyway. + + * wlroots provides backends that abstract the underlying display and + input hardware, including KMS/DRM, libinput, Wayland, X11, and + headless backends, plus any custom backends you choose to write, + which can all be created or destroyed at runtime and used in + concert with each other. + + * wlroots provides unopinionated, mostly standalone implementations + of many Wayland interfaces, both from wayland.xml and various + protocol extensions. We also promote the standardization of + portable extensions across many compositors. + + * wlroots provides several powerful, standalone, and optional tools + that implement components common to many compositors, such as the + arrangement of outputs in physical space. + + * wlroots provides an Xwayland abstraction that allows you to have + excellent Xwayland support without worrying about writing your own + X11 window manager on top of writing your compositor. + + * wlroots provides a renderer abstraction that simple compositors can + use to avoid writing GL code directly, but which steps out of the + way when your needs demand custom rendering code. + +wlroots implements a huge variety of Wayland compositor features and +implements them right, so you can focus on the features that make your +compositor unique. By using wlroots, you get high performance, +excellent hardware compatibility, broad support for many wayland +interfaces, and comfortable development tools - or any subset of these +features you like, because all of them work independently of one +another and freely compose with anything you want to implement +yourself. + +A variety of wrapper libraries are available for using it with your +favorite programming language. Index: 0.19/pkg/PLIST =================================================================== RCS file: 0.19/pkg/PLIST diff -N 0.19/pkg/PLIST --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.19/pkg/PLIST 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,133 @@ +@option no-default-conflict +@option is-branch +@conflict wlroots->=0.19v0,<0.20v0 +@pkgpath wayland/wlroots +include/wlroots-${MODWLROOTS_VERSION}/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/drm.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/headless.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/interface.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/libinput.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/multi.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/session.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/wayland.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/x11.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/config.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_buffer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_ext_image_capture_source_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_keyboard.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_output.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_pointer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_switch.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_tablet_pad.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_tablet_tool.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_touch.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/allocator.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/color.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/dmabuf.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/drm_format_set.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/drm_syncobj.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/egl.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/gles2.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/interface.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/pass.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/pixman.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/swapchain.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/vulkan.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/wlr_renderer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/wlr_texture.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_alpha_modifier_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_buffer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_color_management_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_compositor.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_content_type_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_cursor.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_cursor_shape_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_damage_ring.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_data_control_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_data_device.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_drm.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_drm_lease_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_export_dmabuf_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_data_control_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_foreign_toplevel_list_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_image_capture_source_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_image_copy_capture_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_foreign_toplevel_management_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_fractional_scale_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_gamma_control_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_idle_inhibit_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_idle_notify_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_input_device.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_input_method_v2.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_keyboard.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_keyboard_group.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_layer_shell_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_linux_dmabuf_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_linux_drm_syncobj_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_layer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_layout.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_management_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_power_management_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_swapchain_manager.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_pointer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_pointer_constraints_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_pointer_gestures_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_presentation_time.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_primary_selection.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_primary_selection_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_relative_pointer_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_scene.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_screencopy_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_seat.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_security_context_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_server_decoration.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_session_lock_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_shm.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_single_pixel_buffer_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_subcompositor.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_switch.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tablet_pad.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tablet_tool.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tablet_v2.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tearing_control_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_text_input_v3.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_touch.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_transient_seat_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_viewporter.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_virtual_keyboard_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_virtual_pointer_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xcursor_manager.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_activation_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_decoration_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_dialog_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_registry.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_v2.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_output_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_shell.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_system_bell_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_toplevel_icon_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/addon.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/box.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/edges.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/log.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/region.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/transform.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/version.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/xcursor.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/server.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/shell.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/xwayland.h +@lib lib/libwlroots-${MODWLROOTS_VERSION}.so.${LIBwlroots-${MODWLROOTS_VERSION}_VERSION} +lib/pkgconfig/wlroots-${MODWLROOTS_VERSION}.pc Index: 0.20/Makefile =================================================================== RCS file: 0.20/Makefile diff -N 0.20/Makefile --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/Makefile 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,9 @@ +MODWLROOTS_VERSION = 0.20 + +V = ${MODWLROOTS_VERSION}.1 + +SHARED_LIBS += wlroots-0.20 0.0 # 0.0 + +PKGSPEC = wlroots->=0.20v0,<0.21v0 + +.include Index: 0.20/distinfo =================================================================== RCS file: 0.20/distinfo diff -N 0.20/distinfo --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/distinfo 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,2 @@ +SHA256 (wlroots-0.20.1.tar.gz) = qFQRh7rsqiYgk4r6zeiCZst++lkoywnVedjvsHvEkBs= +SIZE (wlroots-0.20.1.tar.gz) = 700814 Index: 0.20/patches/patch-backend_drm_backend_c =================================================================== RCS file: 0.20/patches/patch-backend_drm_backend_c diff -N 0.20/patches/patch-backend_drm_backend_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/patches/patch-backend_drm_backend_c 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,55 @@ +Index: backend/drm/backend.c +--- backend/drm/backend.c.orig ++++ backend/drm/backend.c +@@ -3,11 +3,13 @@ + #include + #include + #include ++#include + #include + #include + #include + #include + #include ++#include + #include + #include "backend/drm/drm.h" + #include "backend/drm/fb.h" +@@ -207,6 +209,8 @@ static bool init_mgpu_renderer(struct wlr_drm_backend + + struct wlr_backend *wlr_drm_backend_create(struct wlr_session *session, + struct wlr_device *dev, struct wlr_backend *parent) { ++ int kq; ++ struct kevent kev; + assert(session && dev); + assert(!parent || wlr_backend_is_drm(parent)); + +@@ -283,6 +287,28 @@ struct wlr_backend *wlr_drm_backend_create(struct wlr_ + drm->session_destroy.notify = handle_session_destroy; + wl_signal_add(&session->events.destroy, &drm->session_destroy); + ++ if ((kq = kqueue()) <= 0) ++ goto continue_without_kqueue; ++ ++ EV_SET(&kev, dev->fd, EVFILT_DEVICE, EV_ADD | EV_ENABLE | EV_CLEAR, ++ NOTE_CHANGE, 0, NULL); ++ ++ if (kevent(kq, &kev, 1, NULL, 0, NULL) < 0) { ++ close(kq); ++ goto continue_without_kqueue; ++ } ++ ++ drm->drm_kevent = wl_event_loop_add_fd(session->event_loop, kq, ++ WL_EVENT_READABLE, handle_drm_kevent, drm); ++ if (!drm->drm_kevent) { ++ wlr_log(WLR_ERROR, "Failed to create DRM kevent source"); ++ close(kq); ++ goto continue_without_kqueue; ++ } ++ drm->kq = kq; ++ wlr_log(WLR_INFO, "DRM kevent source added"); ++ ++continue_without_kqueue: + return &drm->backend; + + error_mgpu_renderer: Index: 0.20/patches/patch-backend_drm_drm_c =================================================================== RCS file: 0.20/patches/patch-backend_drm_drm_c diff -N 0.20/patches/patch-backend_drm_drm_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/patches/patch-backend_drm_drm_c 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,40 @@ +Index: backend/drm/drm.c +--- backend/drm/drm.c.orig ++++ backend/drm/drm.c +@@ -8,6 +8,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -387,6 +388,9 @@ void finish_drm_resources(struct wlr_drm_backend *drm) + return; + } + ++ if (drm->kq) ++ close(drm->kq); ++ + if (drm->iface->finish != NULL) { + drm->iface->finish(drm); + } +@@ -2098,6 +2102,18 @@ int handle_drm_event(int fd, uint32_t mask, void *data + wlr_log(WLR_ERROR, "drmHandleEvent failed"); + wlr_backend_destroy(&drm->backend); + } ++ return 1; ++} ++ ++int handle_drm_kevent(int fd, uint32_t mask, void *data) { ++ struct kevent kev; ++ struct wlr_drm_backend *drm = data; ++ ++ if ((kevent(fd, NULL, 0, &kev, 1, NULL)) && kev.fflags & NOTE_CHANGE) { ++ wlr_log(WLR_INFO, "DRM hotplug detected"); ++ scan_drm_connectors(drm, NULL); ++ } ++ + return 1; + } + Index: 0.20/patches/patch-include_backend_drm_drm_h =================================================================== RCS file: 0.20/patches/patch-include_backend_drm_drm_h diff -N 0.20/patches/patch-include_backend_drm_drm_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/patches/patch-include_backend_drm_drm_h 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,27 @@ +Index: include/backend/drm/drm.h +--- include/backend/drm/drm.h.orig ++++ include/backend/drm/drm.h +@@ -96,6 +96,7 @@ struct wlr_drm_backend { + bool addfb2_modifiers; + + int fd; ++ int kq; + char *name; + struct wlr_device *dev; + struct liftoff_device *liftoff; +@@ -107,6 +108,7 @@ struct wlr_drm_backend { + struct wlr_drm_plane *planes; + + struct wl_event_source *drm_event; ++ struct wl_event_source *drm_kevent; + + struct wl_listener session_destroy; + struct wl_listener session_active; +@@ -236,6 +238,7 @@ void scan_drm_leases(struct wlr_drm_backend *drm); + bool commit_drm_device(struct wlr_drm_backend *drm, + const struct wlr_backend_output_state *states, size_t states_len, bool test_only); + int handle_drm_event(int fd, uint32_t mask, void *data); ++int handle_drm_kevent(int fd, uint32_t mask, void *data); + void destroy_drm_connector(struct wlr_drm_connector *conn); + bool drm_connector_is_cursor_visible(struct wlr_drm_connector *conn); + size_t drm_crtc_get_gamma_lut_size(struct wlr_drm_backend *drm, Index: 0.20/patches/patch-meson_build =================================================================== RCS file: 0.20/patches/patch-meson_build diff -N 0.20/patches/patch-meson_build --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/patches/patch-meson_build 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,21 @@ +No librt on OpenBSD + +Index: meson.build +--- meson.build.orig ++++ meson.build +@@ -121,7 +121,6 @@ pixman = dependency('pixman-1', + default_options: ['werror=false'], + ) + math = cc.find_library('m') +-rt = cc.find_library('rt') + + wlr_files = [] + wlr_deps = [ +@@ -130,7 +129,6 @@ wlr_deps = [ + xkbcommon, + pixman, + math, +- rt, + ] + + subdir('protocol') Index: 0.20/patches/patch-render_drm_syncobj_c =================================================================== RCS file: 0.20/patches/patch-render_drm_syncobj_c diff -N 0.20/patches/patch-render_drm_syncobj_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/patches/patch-render_drm_syncobj_c 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,14 @@ +ETIMEDOUT on OpenBSD, not ETIME + +Index: render/drm_syncobj.c +--- render/drm_syncobj.c.orig ++++ render/drm_syncobj.c +@@ -161,7 +161,7 @@ out: + bool wlr_drm_syncobj_timeline_check(struct wlr_drm_syncobj_timeline *timeline, + uint64_t point, uint32_t flags, bool *result) { + int etime; +-#if defined(__FreeBSD__) ++#if defined(__FreeBSD__) || defined(__OpenBSD__) + etime = ETIMEDOUT; + #else + etime = ETIME; Index: 0.20/patches/patch-render_vulkan_vulkan_c =================================================================== RCS file: 0.20/patches/patch-render_vulkan_vulkan_c diff -N 0.20/patches/patch-render_vulkan_vulkan_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/patches/patch-render_vulkan_vulkan_c 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,11 @@ +otherwise makedev() function isnt found + +Index: render/vulkan/vulkan.c +--- render/vulkan/vulkan.c.orig ++++ render/vulkan/vulkan.c +@@ -1,4 +1,4 @@ +-#if defined(__FreeBSD__) ++#if defined(__FreeBSD__) || defined(__OpenBSD__) + #undef _POSIX_C_SOURCE + #endif + #include Index: 0.20/patches/patch-xcursor_xcursor_c =================================================================== RCS file: 0.20/patches/patch-xcursor_xcursor_c diff -N 0.20/patches/patch-xcursor_xcursor_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/patches/patch-xcursor_xcursor_c 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,12 @@ +Index: xcursor/xcursor.c +--- xcursor/xcursor.c.orig ++++ xcursor/xcursor.c +@@ -490,7 +490,7 @@ xcursor_xc_file_load_images(FILE *file, int size) + #endif + + #ifndef XCURSORPATH +-#define XCURSORPATH "~/.icons:/usr/share/icons:/usr/share/pixmaps:~/.cursors:/usr/share/cursors/xorg-x11:"ICONDIR ++#define XCURSORPATH "~/.icons:/usr/X11R6/include/pixmaps:/usr/local/share/icons:/usr/local/lib/X11/icons:/usr/share/icons:/usr/share/pixmaps:~/.cursors:/usr/share/cursors/xorg-x11:"ICONDIR + #endif + + #define XDG_DATA_HOME_FALLBACK "~/.local/share" Index: 0.20/pkg/DESCR =================================================================== RCS file: 0.20/pkg/DESCR diff -N 0.20/pkg/DESCR --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/pkg/DESCR 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,38 @@ +Pluggable, composable, unopinionated modules for building a Wayland +compositor; or about 60,000 lines of code you were going to write +anyway. + + * wlroots provides backends that abstract the underlying display and + input hardware, including KMS/DRM, libinput, Wayland, X11, and + headless backends, plus any custom backends you choose to write, + which can all be created or destroyed at runtime and used in + concert with each other. + + * wlroots provides unopinionated, mostly standalone implementations + of many Wayland interfaces, both from wayland.xml and various + protocol extensions. We also promote the standardization of + portable extensions across many compositors. + + * wlroots provides several powerful, standalone, and optional tools + that implement components common to many compositors, such as the + arrangement of outputs in physical space. + + * wlroots provides an Xwayland abstraction that allows you to have + excellent Xwayland support without worrying about writing your own + X11 window manager on top of writing your compositor. + + * wlroots provides a renderer abstraction that simple compositors can + use to avoid writing GL code directly, but which steps out of the + way when your needs demand custom rendering code. + +wlroots implements a huge variety of Wayland compositor features and +implements them right, so you can focus on the features that make your +compositor unique. By using wlroots, you get high performance, +excellent hardware compatibility, broad support for many wayland +interfaces, and comfortable development tools - or any subset of these +features you like, because all of them work independently of one +another and freely compose with anything you want to implement +yourself. + +A variety of wrapper libraries are available for using it with your +favorite programming language. Index: 0.20/pkg/PLIST =================================================================== RCS file: 0.20/pkg/PLIST diff -N 0.20/pkg/PLIST --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ 0.20/pkg/PLIST 7 Jun 2026 11:16:07 -0000 @@ -0,0 +1,136 @@ +@option no-default-conflict +@option is-branch +@conflict wlroots->=0.20v0,<0.21v0 +include/wlroots-${MODWLROOTS_VERSION}/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/drm.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/headless.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/interface.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/libinput.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/multi.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/session.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/wayland.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/x11.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/config.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_buffer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_ext_image_capture_source_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_keyboard.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_output.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_pointer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_switch.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_tablet_pad.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_tablet_tool.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_touch.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/allocator.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/color.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/dmabuf.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/drm_format_set.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/drm_syncobj.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/egl.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/gles2.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/interface.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/pass.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/pixman.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/swapchain.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/vulkan.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/wlr_renderer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/render/wlr_texture.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_alpha_modifier_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_buffer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_color_management_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_color_representation_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_compositor.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_content_type_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_cursor.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_cursor_shape_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_damage_ring.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_data_control_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_data_device.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_drm.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_drm_lease_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_export_dmabuf_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_data_control_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_foreign_toplevel_list_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_image_capture_source_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_image_copy_capture_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_workspace_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_fixes.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_foreign_toplevel_management_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_fractional_scale_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_gamma_control_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_idle_inhibit_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_idle_notify_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_input_device.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_input_method_v2.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_keyboard.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_keyboard_group.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_layer_shell_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_linux_dmabuf_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_linux_drm_syncobj_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_layer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_layout.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_management_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_power_management_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_swapchain_manager.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_pointer.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_pointer_constraints_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_pointer_gestures_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_presentation_time.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_primary_selection.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_primary_selection_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_relative_pointer_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_scene.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_screencopy_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_seat.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_security_context_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_server_decoration.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_session_lock_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_shm.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_single_pixel_buffer_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_subcompositor.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_switch.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tablet_pad.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tablet_tool.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tablet_v2.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tearing_control_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_text_input_v3.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_touch.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_transient_seat_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_viewporter.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_virtual_keyboard_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_virtual_pointer_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xcursor_manager.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_activation_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_decoration_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_dialog_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_registry.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_v2.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_output_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_shell.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_system_bell_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_toplevel_icon_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_toplevel_tag_v1.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/addon.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/box.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/edges.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/log.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/region.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/util/transform.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/version.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/xcursor.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/ +include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/server.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/shell.h +include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/xwayland.h +@lib lib/libwlroots-${MODWLROOTS_VERSION}.so.${LIBwlroots-${MODWLROOTS_VERSION}_VERSION} +lib/pkgconfig/wlroots-${MODWLROOTS_VERSION}.pc Index: patches/patch-backend_drm_backend_c =================================================================== RCS file: patches/patch-backend_drm_backend_c diff -N patches/patch-backend_drm_backend_c --- patches/patch-backend_drm_backend_c 28 Aug 2025 21:01:27 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,55 +0,0 @@ -Index: backend/drm/backend.c ---- backend/drm/backend.c.orig -+++ backend/drm/backend.c -@@ -3,11 +3,13 @@ - #include - #include - #include -+#include - #include - #include - #include - #include - #include -+#include - #include - #include "backend/drm/drm.h" - #include "backend/drm/fb.h" -@@ -207,6 +209,8 @@ static bool init_mgpu_renderer(struct wlr_drm_backend - - struct wlr_backend *wlr_drm_backend_create(struct wlr_session *session, - struct wlr_device *dev, struct wlr_backend *parent) { -+ int kq; -+ struct kevent kev; - assert(session && dev); - assert(!parent || wlr_backend_is_drm(parent)); - -@@ -283,6 +287,28 @@ struct wlr_backend *wlr_drm_backend_create(struct wlr_ - drm->session_destroy.notify = handle_session_destroy; - wl_signal_add(&session->events.destroy, &drm->session_destroy); - -+ if ((kq = kqueue()) <= 0) -+ goto continue_without_kqueue; -+ -+ EV_SET(&kev, dev->fd, EVFILT_DEVICE, EV_ADD | EV_ENABLE | EV_CLEAR, -+ NOTE_CHANGE, 0, NULL); -+ -+ if (kevent(kq, &kev, 1, NULL, 0, NULL) < 0) { -+ close(kq); -+ goto continue_without_kqueue; -+ } -+ -+ drm->drm_kevent = wl_event_loop_add_fd(session->event_loop, kq, -+ WL_EVENT_READABLE, handle_drm_kevent, drm); -+ if (!drm->drm_kevent) { -+ wlr_log(WLR_ERROR, "Failed to create DRM kevent source"); -+ close(kq); -+ goto continue_without_kqueue; -+ } -+ drm->kq = kq; -+ wlr_log(WLR_INFO, "DRM kevent source added"); -+ -+continue_without_kqueue: - return &drm->backend; - - error_mgpu_renderer: Index: patches/patch-backend_drm_drm_c =================================================================== RCS file: patches/patch-backend_drm_drm_c diff -N patches/patch-backend_drm_drm_c --- patches/patch-backend_drm_drm_c 28 Aug 2025 21:01:27 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,40 +0,0 @@ -Index: backend/drm/drm.c ---- backend/drm/drm.c.orig -+++ backend/drm/drm.c -@@ -8,6 +8,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -375,6 +376,9 @@ void finish_drm_resources(struct wlr_drm_backend *drm) - return; - } - -+ if (drm->kq) -+ close(drm->kq); -+ - if (drm->iface->finish != NULL) { - drm->iface->finish(drm); - } -@@ -2050,6 +2054,18 @@ int handle_drm_event(int fd, uint32_t mask, void *data - wlr_log(WLR_ERROR, "drmHandleEvent failed"); - wlr_backend_destroy(&drm->backend); - } -+ return 1; -+} -+ -+int handle_drm_kevent(int fd, uint32_t mask, void *data) { -+ struct kevent kev; -+ struct wlr_drm_backend *drm = data; -+ -+ if ((kevent(fd, NULL, 0, &kev, 1, NULL)) && kev.fflags & NOTE_CHANGE) { -+ wlr_log(WLR_INFO, "DRM hotplug detected"); -+ scan_drm_connectors(drm, NULL); -+ } -+ - return 1; - } - Index: patches/patch-include_backend_drm_drm_h =================================================================== RCS file: patches/patch-include_backend_drm_drm_h diff -N patches/patch-include_backend_drm_drm_h --- patches/patch-include_backend_drm_drm_h 28 Aug 2025 21:01:27 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,27 +0,0 @@ -Index: include/backend/drm/drm.h ---- include/backend/drm/drm.h.orig -+++ include/backend/drm/drm.h -@@ -92,6 +92,7 @@ struct wlr_drm_backend { - bool addfb2_modifiers; - - int fd; -+ int kq; - char *name; - struct wlr_device *dev; - struct liftoff_device *liftoff; -@@ -103,6 +104,7 @@ struct wlr_drm_backend { - struct wlr_drm_plane *planes; - - struct wl_event_source *drm_event; -+ struct wl_event_source *drm_kevent; - - struct wl_listener session_destroy; - struct wl_listener session_active; -@@ -226,6 +228,7 @@ void scan_drm_leases(struct wlr_drm_backend *drm); - bool commit_drm_device(struct wlr_drm_backend *drm, - const struct wlr_backend_output_state *states, size_t states_len, bool test_only); - int handle_drm_event(int fd, uint32_t mask, void *data); -+int handle_drm_kevent(int fd, uint32_t mask, void *data); - void destroy_drm_connector(struct wlr_drm_connector *conn); - bool drm_connector_is_cursor_visible(struct wlr_drm_connector *conn); - size_t drm_crtc_get_gamma_lut_size(struct wlr_drm_backend *drm, Index: patches/patch-meson_build =================================================================== RCS file: patches/patch-meson_build diff -N patches/patch-meson_build --- patches/patch-meson_build 28 Aug 2025 21:01:27 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,21 +0,0 @@ -No librt on OpenBSD - -Index: meson.build ---- meson.build.orig -+++ meson.build -@@ -121,7 +121,6 @@ pixman = dependency('pixman-1', - default_options: ['werror=false'], - ) - math = cc.find_library('m') --rt = cc.find_library('rt') - - wlr_files = [] - wlr_deps = [ -@@ -130,7 +129,6 @@ wlr_deps = [ - xkbcommon, - pixman, - math, -- rt, - ] - - subdir('protocol') Index: patches/patch-render_drm_syncobj_c =================================================================== RCS file: patches/patch-render_drm_syncobj_c diff -N patches/patch-render_drm_syncobj_c --- patches/patch-render_drm_syncobj_c 28 Aug 2025 21:01:27 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -ETIMEDOUT on OpenBSD, not ETIME - -Index: render/drm_syncobj.c ---- render/drm_syncobj.c.orig -+++ render/drm_syncobj.c -@@ -161,7 +161,7 @@ out: - bool wlr_drm_syncobj_timeline_check(struct wlr_drm_syncobj_timeline *timeline, - uint64_t point, uint32_t flags, bool *result) { - int etime; --#if defined(__FreeBSD__) -+#if defined(__FreeBSD__) || defined(__OpenBSD__) - etime = ETIMEDOUT; - #else - etime = ETIME; Index: patches/patch-render_vulkan_vulkan_c =================================================================== RCS file: patches/patch-render_vulkan_vulkan_c diff -N patches/patch-render_vulkan_vulkan_c --- patches/patch-render_vulkan_vulkan_c 7 Nov 2024 09:44:27 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,11 +0,0 @@ -otherwise makedev() function isnt found - -Index: render/vulkan/vulkan.c ---- render/vulkan/vulkan.c.orig -+++ render/vulkan/vulkan.c -@@ -1,4 +1,4 @@ --#if defined(__FreeBSD__) -+#if defined(__FreeBSD__) || defined(__OpenBSD__) - #undef _POSIX_C_SOURCE - #endif - #include Index: patches/patch-xcursor_xcursor_c =================================================================== RCS file: patches/patch-xcursor_xcursor_c diff -N patches/patch-xcursor_xcursor_c --- patches/patch-xcursor_xcursor_c 7 Nov 2024 09:44:27 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: xcursor/xcursor.c ---- xcursor/xcursor.c.orig -+++ xcursor/xcursor.c -@@ -490,7 +490,7 @@ xcursor_xc_file_load_images(FILE *file, int size) - #endif - - #ifndef XCURSORPATH --#define XCURSORPATH "~/.icons:/usr/share/icons:/usr/share/pixmaps:~/.cursors:/usr/share/cursors/xorg-x11:"ICONDIR -+#define XCURSORPATH "~/.icons:/usr/X11R6/include/pixmaps:/usr/local/share/icons:/usr/local/lib/X11/icons:/usr/share/icons:/usr/share/pixmaps:~/.cursors:/usr/share/cursors/xorg-x11:"ICONDIR - #endif - - #define XDG_DATA_HOME_FALLBACK "~/.local/share" Index: pkg/DESCR =================================================================== RCS file: pkg/DESCR diff -N pkg/DESCR --- pkg/DESCR 5 Jan 2026 07:31:07 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,41 +0,0 @@ -Pluggable, composable, unopinionated modules for building a Wayland -compositor; or about 60,000 lines of code you were going to write -anyway. - - * wlroots provides backends that abstract the underlying display and - input hardware, including KMS/DRM, libinput, Wayland, X11, and - headless backends, plus any custom backends you choose to write, - which can all be created or destroyed at runtime and used in - concert with each other. - - * wlroots provides unopinionated, mostly standalone implementations - of many Wayland interfaces, both from wayland.xml and various - protocol extensions. We also promote the standardization of - portable extensions across many compositors. - - * wlroots provides several powerful, standalone, and optional tools - that implement components common to many compositors, such as the - arrangement of outputs in physical space. - - * wlroots provides an Xwayland abstraction that allows you to have - excellent Xwayland support without worrying about writing your own - X11 window manager on top of writing your compositor. - - * wlroots provides a renderer abstraction that simple compositors can - use to avoid writing GL code directly, but which steps out of the - way when your needs demand custom rendering code. - -wlroots implements a huge variety of Wayland compositor features and -implements them right, so you can focus on the features that make your -compositor unique. By using wlroots, you get high performance, -excellent hardware compatibility, broad support for many wayland -interfaces, and comfortable development tools - or any subset of these -features you like, because all of them work independently of one -another and freely compose with anything you want to implement -yourself. - -Check out our wiki to get started with wlroots. Join our IRC channel: -#wlroots on Libera Chat. - -A variety of wrapper libraries are available for using it with your -favorite programming language. Index: pkg/PLIST =================================================================== RCS file: pkg/PLIST diff -N pkg/PLIST --- pkg/PLIST 28 Aug 2025 21:01:27 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,129 +0,0 @@ -include/wlroots-${MODWLROOTS_VERSION}/ -include/wlroots-${MODWLROOTS_VERSION}/wlr/ -include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/ -include/wlroots-${MODWLROOTS_VERSION}/wlr/backend.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/drm.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/headless.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/interface.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/libinput.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/multi.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/session.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/wayland.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/backend/x11.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/config.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/ -include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_buffer.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_ext_image_capture_source_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_keyboard.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_output.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_pointer.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_switch.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_tablet_pad.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_tablet_tool.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_touch.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/ -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/allocator.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/color.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/dmabuf.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/drm_format_set.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/drm_syncobj.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/egl.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/gles2.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/interface.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/pass.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/pixman.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/swapchain.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/vulkan.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/wlr_renderer.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/render/wlr_texture.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/ -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_alpha_modifier_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_buffer.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_color_management_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_compositor.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_content_type_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_cursor.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_cursor_shape_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_damage_ring.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_data_control_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_data_device.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_drm.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_drm_lease_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_export_dmabuf_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_data_control_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_foreign_toplevel_list_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_image_capture_source_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_image_copy_capture_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_foreign_toplevel_management_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_fractional_scale_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_gamma_control_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_idle_inhibit_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_idle_notify_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_input_device.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_input_method_v2.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_keyboard.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_keyboard_group.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_layer_shell_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_linux_dmabuf_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_linux_drm_syncobj_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_layer.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_layout.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_management_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_power_management_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_swapchain_manager.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_pointer.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_pointer_constraints_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_pointer_gestures_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_presentation_time.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_primary_selection.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_primary_selection_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_relative_pointer_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_scene.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_screencopy_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_seat.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_security_context_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_server_decoration.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_session_lock_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_shm.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_single_pixel_buffer_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_subcompositor.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_switch.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tablet_pad.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tablet_tool.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tablet_v2.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_tearing_control_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_text_input_v3.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_touch.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_transient_seat_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_viewporter.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_virtual_keyboard_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_virtual_pointer_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xcursor_manager.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_activation_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_decoration_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_dialog_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_registry.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_v2.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_output_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_shell.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_system_bell_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_toplevel_icon_v1.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/util/ -include/wlroots-${MODWLROOTS_VERSION}/wlr/util/addon.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/util/box.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/util/edges.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/util/log.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/util/region.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/util/transform.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/version.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/xcursor.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/ -include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/server.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/shell.h -include/wlroots-${MODWLROOTS_VERSION}/wlr/xwayland/xwayland.h -@lib lib/libwlroots-${MODWLROOTS_VERSION}.so.${LIBwlroots-${MODWLROOTS_VERSION}_VERSION} -lib/pkgconfig/wlroots-${MODWLROOTS_VERSION}.pc