Index | Thread | Search

From:
Matthieu Herrb <matthieu@openbsd.org>
Subject:
update: wayland/wlroots 0.19
To:
ports@openbsd.org
Date:
Sun, 17 Aug 2025 16:40:11 +0200

Download raw body.

Thread
  • Matthieu Herrb:

    update: wayland/wlroots 0.19

Hi,

Now that pixman 0.46.4 is in xenocara and snapshots with it are
available:

The patch below updates wlroots to version 0.19.
Changelog :
https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0

You need to run a system with the new pixman version to test this.

Note that labwc, sway and wayfire will need updates too, I'm sending
the patches in following mails.

Index: Makefile
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/Makefile,v
diff -u -p -u -r1.13 Makefile
--- Makefile	14 Aug 2025 15:09:26 -0000	1.13
+++ Makefile	15 Aug 2025 16:30:30 -0000
@@ -1,8 +1,7 @@
 COMMENT =	modular Wayland compositor library
 
-V =		${MODWLROOTS_VERSION}.2
+V =		${MODWLROOTS_VERSION}.0
 EPOCH =		0
-REVISION =	1
 DISTNAME =	wlroots-${V}
 CATEGORIES =	wayland
 
@@ -13,7 +12,7 @@ HOMEPAGE =	https://gitlab.freedesktop.or
 # MIT
 PERMIT_PACKAGE = Yes
 
-SHARED_LIBS +=  wlroots-0.18 0.0 # 0.0
+SHARED_LIBS +=  wlroots-0.19 0.0 # 0.0
 
 MODULES =	devel/meson wayland/wlroots
 
@@ -56,6 +55,9 @@ RUN_DEPENDS = \
 		graphics/ffmpeg \
 		graphics/png \
 		wayland/xwayland
+
+CONFIGURE_ARGS = \
+		-Dallocators=gbm
 
 DEBUG_PACKAGES = ${BUILD_PACKAGES}
 
Index: distinfo
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/distinfo,v
diff -u -p -u -r1.8 distinfo
--- distinfo	16 Dec 2024 18:25:23 -0000	1.8
+++ distinfo	15 Aug 2025 16:30:30 -0000
@@ -1,2 +1,2 @@
-SHA256 (wlroots-0.18.2.tar.gz) = z3dsFpFp8nmAjZ6rxlg/SEM43NRUyWaihf8XjIjBBdQ=
-SIZE (wlroots-0.18.2.tar.gz) = 629379
+SHA256 (wlroots-0.19.0.tar.gz) = rvsP4mM7Cq0dZhI7L0GvqwBPtiXip3kEks3TmoBcrJE=
+SIZE (wlroots-0.19.0.tar.gz) = 669326
Index: wlroots.port.mk
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/wlroots.port.mk,v
diff -u -p -u -r1.1 wlroots.port.mk
--- wlroots.port.mk	14 Aug 2025 15:09:26 -0000	1.1
+++ wlroots.port.mk	15 Aug 2025 16:30:30 -0000
@@ -1,4 +1,4 @@
-MODWLROOTS_VERSION =		0.18
+MODWLROOTS_VERSION =		0.19
 
 MODWLROOTS_WANTLIB =		wlroots-${MODWLROOTS_VERSION}
 MODWLROOTS_LIB_DEPENDS =    	wayland/wlroots
Index: patches/patch-backend_drm_backend_c
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/patches/patch-backend_drm_backend_c,v
diff -u -p -u -r1.1 patch-backend_drm_backend_c
--- patches/patch-backend_drm_backend_c	11 Aug 2025 18:34:17 -0000	1.1
+++ patches/patch-backend_drm_backend_c	15 Aug 2025 16:30:30 -0000
@@ -1,7 +1,13 @@
 Index: backend/drm/backend.c
 --- backend/drm/backend.c.orig
 +++ backend/drm/backend.c
-@@ -10,6 +10,7 @@
+@@ -3,11 +3,13 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <wayland-server-core.h>
+ #include <wlr/backend/interface.h>
  #include <wlr/backend/session.h>
  #include <wlr/interfaces/wlr_output.h>
  #include <wlr/util/log.h>
@@ -9,7 +15,7 @@ Index: backend/drm/backend.c
  #include <xf86drm.h>
  #include "backend/drm/drm.h"
  #include "backend/drm/fb.h"
-@@ -167,6 +168,8 @@ static void handle_parent_destroy(struct wl_listener *
+@@ -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) {
@@ -18,7 +24,7 @@ Index: backend/drm/backend.c
  	assert(session && dev);
  	assert(!parent || wlr_backend_is_drm(parent));
  
-@@ -267,6 +270,28 @@ struct wlr_backend *wlr_drm_backend_create(struct wlr_
+@@ -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);
  
Index: patches/patch-backend_drm_drm_c
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/patches/patch-backend_drm_drm_c,v
diff -u -p -u -r1.1 patch-backend_drm_drm_c
--- patches/patch-backend_drm_drm_c	11 Aug 2025 18:34:17 -0000	1.1
+++ patches/patch-backend_drm_drm_c	15 Aug 2025 16:30:30 -0000
@@ -1,7 +1,7 @@
 Index: backend/drm/drm.c
 --- backend/drm/drm.c.orig
 +++ backend/drm/drm.c
-@@ -9,6 +9,7 @@
+@@ -8,6 +8,7 @@
  #include <stdlib.h>
  #include <string.h>
  #include <strings.h>
@@ -19,7 +19,7 @@ Index: backend/drm/drm.c
  	if (drm->iface->finish != NULL) {
  		drm->iface->finish(drm);
  	}
-@@ -2113,6 +2117,18 @@ int handle_drm_event(int fd, uint32_t mask, void *data
+@@ -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);
  	}
Index: patches/patch-include_backend_drm_drm_h
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/patches/patch-include_backend_drm_drm_h,v
diff -u -p -u -r1.1 patch-include_backend_drm_drm_h
--- patches/patch-include_backend_drm_drm_h	11 Aug 2025 18:34:17 -0000	1.1
+++ patches/patch-include_backend_drm_drm_h	15 Aug 2025 16:30:30 -0000
@@ -1,7 +1,7 @@
 Index: include/backend/drm/drm.h
 --- include/backend/drm/drm.h.orig
 +++ include/backend/drm/drm.h
-@@ -85,6 +85,7 @@ struct wlr_drm_backend {
+@@ -92,6 +92,7 @@ struct wlr_drm_backend {
  	bool addfb2_modifiers;
  
  	int fd;
@@ -9,7 +9,7 @@ Index: include/backend/drm/drm.h
  	char *name;
  	struct wlr_device *dev;
  	struct liftoff_device *liftoff;
-@@ -96,6 +97,7 @@ struct wlr_drm_backend {
+@@ -103,6 +104,7 @@ struct wlr_drm_backend {
  	struct wlr_drm_plane *planes;
  
  	struct wl_event_source *drm_event;
@@ -17,9 +17,9 @@ Index: include/backend/drm/drm.h
  
  	struct wl_listener session_destroy;
  	struct wl_listener session_active;
-@@ -215,6 +217,7 @@ bool commit_drm_device(struct wlr_drm_backend *drm,
+@@ -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);
- void restore_drm_device(struct wlr_drm_backend *drm);
  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);
Index: patches/patch-meson_build
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/patches/patch-meson_build,v
diff -u -p -u -r1.2 patch-meson_build
--- patches/patch-meson_build	7 Nov 2024 09:44:27 -0000	1.2
+++ patches/patch-meson_build	15 Aug 2025 16:30:30 -0000
@@ -3,7 +3,7 @@ No librt on OpenBSD
 Index: meson.build
 --- meson.build.orig
 +++ meson.build
-@@ -134,7 +134,6 @@ pixman = dependency('pixman-1',
+@@ -121,7 +121,6 @@ pixman = dependency('pixman-1',
  	default_options: ['werror=false'],
  )
  math = cc.find_library('m')
@@ -11,7 +11,7 @@ Index: meson.build
  
  wlr_files = []
  wlr_deps = [
-@@ -143,7 +142,6 @@ wlr_deps = [
+@@ -130,7 +129,6 @@ wlr_deps = [
  	xkbcommon,
  	pixman,
  	math,
Index: patches/patch-render_drm_syncobj_c
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/patches/patch-render_drm_syncobj_c,v
diff -u -p -u -r1.1 patch-render_drm_syncobj_c
--- patches/patch-render_drm_syncobj_c	7 Nov 2024 09:44:27 -0000	1.1
+++ patches/patch-render_drm_syncobj_c	15 Aug 2025 16:30:30 -0000
@@ -3,7 +3,7 @@ ETIMEDOUT on OpenBSD, not ETIME
 Index: render/drm_syncobj.c
 --- render/drm_syncobj.c.orig
 +++ render/drm_syncobj.c
-@@ -126,7 +126,7 @@ out:
+@@ -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;
Index: pkg/PLIST
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/pkg/PLIST,v
diff -u -p -u -r1.5 PLIST
--- pkg/PLIST	14 Aug 2025 15:09:26 -0000	1.5
+++ pkg/PLIST	15 Aug 2025 16:30:30 -0000
@@ -13,6 +13,7 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
 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
@@ -38,6 +39,7 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
 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
@@ -48,10 +50,12 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
 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_fullscreen_shell_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
@@ -63,7 +67,6 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
 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_matrix.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
@@ -76,7 +79,6 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
 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_region.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
@@ -101,11 +103,14 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
 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

-- 
Matthieu Herrb