git: 50d379b63431 - main - x11-toolkits/wlroots017: version shared library a la 2d64423989c1

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Sat, 15 Feb 2025 09:18:09 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=50d379b63431da5f3d56f80d966152f2689218a1

commit 50d379b63431da5f3d56f80d966152f2689218a1
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2024-11-16 09:42:55 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2025-02-15 09:16:59 +0000

    x11-toolkits/wlroots017: version shared library a la 2d64423989c1
    
    Prevent 0.18 consumers from accidentally picking up 0.17 headers.
    
    See also https://github.com/phkaeser/wlmaker/issues/117
---
 x11-toolkits/scenefx/Makefile                      |   4 +-
 x11-toolkits/scenefx/files/patch-wlroots017        |  15 ++
 x11-toolkits/wlroots017/Makefile                   |   8 +-
 x11-toolkits/wlroots017/distinfo                   |   4 +
 x11-toolkits/wlroots017/pkg-plist                  | 219 ++++++++++-----------
 x11-wm/gamescope/Makefile                          |   4 +-
 x11-wm/gamescope/files/patch-src_meson.build       |  14 ++
 x11-wm/swayfx/Makefile                             |   4 +-
 x11-wm/swayfx/files/patch-wlroots017               |  15 ++
 x11-wm/wayfire-plugins-extra/Makefile              |   3 +-
 .../wayfire-plugins-extra/files/patch-wlroots017   |  30 +++
 x11-wm/wayfire/Makefile                            |   4 +-
 x11-wm/wayfire/files/patch-wlroots017              |  32 +++
 13 files changed, 236 insertions(+), 120 deletions(-)

diff --git a/x11-toolkits/scenefx/Makefile b/x11-toolkits/scenefx/Makefile
index dc10e9018d30..d54aeba596ac 100644
--- a/x11-toolkits/scenefx/Makefile
+++ b/x11-toolkits/scenefx/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	scenefx
 DISTVERSION=	0.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	x11-toolkits
 
 MAINTAINER=	jbeich@FreeBSD.org
@@ -13,7 +13,7 @@ LICENSE_FILE=	${WRKSRC}/LICENSE
 BUILD_DEPENDS=	wayland-protocols>=1.27:graphics/wayland-protocols
 LIB_DEPENDS=	libdrm.so:graphics/libdrm \
 		libwayland-server.so:graphics/wayland \
-		libwlroots.so:x11-toolkits/wlroots017
+		libwlroots-0.17.so:x11-toolkits/wlroots017
 
 USES=		compiler:c11 meson pkgconfig xorg
 USE_GITHUB=	yes
diff --git a/x11-toolkits/scenefx/files/patch-wlroots017 b/x11-toolkits/scenefx/files/patch-wlroots017
new file mode 100644
index 000000000000..b1364601cf92
--- /dev/null
+++ b/x11-toolkits/scenefx/files/patch-wlroots017
@@ -0,0 +1,15 @@
+Run-time dependency wlroots found: NO (tried pkgconfig and cmake)
+
+meson.build:103:10: ERROR: Dependency "wlroots" not found, tried pkgconfig and cmake
+
+--- meson.build.orig	2024-04-19 21:18:47 UTC
++++ meson.build
+@@ -100,7 +100,7 @@ wlroots_is_sub = subproject(
+ 	required: false,
+ 	version: wlroots_version,
+ ).found()
+-wlroots = dependency('wlroots',
++wlroots = dependency('wlroots-0.17',
+ 	version: wlroots_version,
+ 	default_options: wlroots_options,
+ )
diff --git a/x11-toolkits/wlroots017/Makefile b/x11-toolkits/wlroots017/Makefile
index 8517b6819115..07ecdfb53341 100644
--- a/x11-toolkits/wlroots017/Makefile
+++ b/x11-toolkits/wlroots017/Makefile
@@ -1,9 +1,14 @@
 PORTNAME=	wlroots
 DISTVERSION=	0.17.4
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	x11-toolkits
 PKGNAMESUFFIX=	017
 
+PATCH_SITES+=	https://github.com/swaywm/${GL_PROJECT}/commit/:github
+PATCHFILES+=	62358b6c4dbf.patch:-p1:github # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4488
+PATCH_SITES+=	${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/
+PATCHFILES+=	4b4f76cc1357.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4614
+
 MAINTAINER=	jbeich@FreeBSD.org
 COMMENT=	Modular Wayland compositor library (deprecated 0.17.* series)
 WWW=		https://gitlab.freedesktop.org/wlroots/wlroots
@@ -23,6 +28,7 @@ USE_XORG=	pixman
 USE_LDCONFIG=	yes
 GL_SITE=	https://gitlab.freedesktop.org
 MESON_ARGS=	-Dexamples=false -Dbackends=${BACKENDS:ts,} -Drenderers=${RENDERERS:ts,}
+PLIST_SUB=	SUFFIX=-${DISTVERSION:R}
 
 PORTSCOUT=	limit:^0\.17\.
 
diff --git a/x11-toolkits/wlroots017/distinfo b/x11-toolkits/wlroots017/distinfo
index c97bf46ee8a9..7ef099cd2aef 100644
--- a/x11-toolkits/wlroots017/distinfo
+++ b/x11-toolkits/wlroots017/distinfo
@@ -1,3 +1,7 @@
 TIMESTAMP = 1719512708
 SHA256 (wlroots-0.17.4.tar.bz2) = 76cea5143c966640000efad32d5961b1d2303744497d30ef5e78aaf50360288d
 SIZE (wlroots-0.17.4.tar.bz2) = 454301
+SHA256 (62358b6c4dbf.patch) = cb4c109ea43f3db4f35190eecc7e903ae87fb8f1260d2571608bd984d258a2c4
+SIZE (62358b6c4dbf.patch) = 1369
+SHA256 (4b4f76cc1357.patch) = 163500bf90d39365a6ce8a9d24d48b2e65135d2f548c9532d933ed19b1097d53
+SIZE (4b4f76cc1357.patch) = 2512
diff --git a/x11-toolkits/wlroots017/pkg-plist b/x11-toolkits/wlroots017/pkg-plist
index 453bcf649184..0e9bbeea7fd5 100644
--- a/x11-toolkits/wlroots017/pkg-plist
+++ b/x11-toolkits/wlroots017/pkg-plist
@@ -1,110 +1,109 @@
-include/wlr/backend.h
-%%DRM%%include/wlr/backend/drm.h
-include/wlr/backend/headless.h
-include/wlr/backend/interface.h
-%%DRM%%include/wlr/backend/libinput.h
-include/wlr/backend/multi.h
-%%DRM%%include/wlr/backend/session.h
-include/wlr/backend/wayland.h
-%%X11%%include/wlr/backend/x11.h
-include/wlr/config.h
-include/wlr/interfaces/wlr_buffer.h
-include/wlr/interfaces/wlr_keyboard.h
-include/wlr/interfaces/wlr_output.h
-include/wlr/interfaces/wlr_pointer.h
-include/wlr/interfaces/wlr_switch.h
-include/wlr/interfaces/wlr_tablet_pad.h
-include/wlr/interfaces/wlr_tablet_tool.h
-include/wlr/interfaces/wlr_touch.h
-include/wlr/render/allocator.h
-include/wlr/render/dmabuf.h
-include/wlr/render/drm_format_set.h
-%%OPENGL%%include/wlr/render/egl.h
-%%OPENGL%%include/wlr/render/gles2.h
-include/wlr/render/interface.h
-include/wlr/render/pass.h
-include/wlr/render/pixman.h
-include/wlr/render/swapchain.h
-%%VULKAN%%include/wlr/render/vulkan.h
-include/wlr/render/wlr_renderer.h
-include/wlr/render/wlr_texture.h
-include/wlr/types/wlr_buffer.h
-include/wlr/types/wlr_compositor.h
-include/wlr/types/wlr_content_type_v1.h
-include/wlr/types/wlr_cursor.h
-include/wlr/types/wlr_cursor_shape_v1.h
-include/wlr/types/wlr_damage_ring.h
-include/wlr/types/wlr_data_control_v1.h
-include/wlr/types/wlr_data_device.h
-include/wlr/types/wlr_drm.h
-%%DRM%%include/wlr/types/wlr_drm_lease_v1.h
-include/wlr/types/wlr_export_dmabuf_v1.h
-include/wlr/types/wlr_foreign_toplevel_management_v1.h
-include/wlr/types/wlr_fractional_scale_v1.h
-include/wlr/types/wlr_fullscreen_shell_v1.h
-include/wlr/types/wlr_gamma_control_v1.h
-include/wlr/types/wlr_idle_inhibit_v1.h
-include/wlr/types/wlr_idle_notify_v1.h
-include/wlr/types/wlr_input_device.h
-include/wlr/types/wlr_input_inhibitor.h
-include/wlr/types/wlr_input_method_v2.h
-include/wlr/types/wlr_keyboard.h
-include/wlr/types/wlr_keyboard_group.h
-include/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h
-include/wlr/types/wlr_layer_shell_v1.h
-include/wlr/types/wlr_linux_dmabuf_v1.h
-include/wlr/types/wlr_matrix.h
-include/wlr/types/wlr_output.h
-include/wlr/types/wlr_output_layer.h
-include/wlr/types/wlr_output_layout.h
-include/wlr/types/wlr_output_management_v1.h
-include/wlr/types/wlr_output_power_management_v1.h
-include/wlr/types/wlr_pointer.h
-include/wlr/types/wlr_pointer_constraints_v1.h
-include/wlr/types/wlr_pointer_gestures_v1.h
-include/wlr/types/wlr_presentation_time.h
-include/wlr/types/wlr_primary_selection.h
-include/wlr/types/wlr_primary_selection_v1.h
-include/wlr/types/wlr_region.h
-include/wlr/types/wlr_relative_pointer_v1.h
-include/wlr/types/wlr_scene.h
-include/wlr/types/wlr_screencopy_v1.h
-include/wlr/types/wlr_seat.h
-include/wlr/types/wlr_security_context_v1.h
-include/wlr/types/wlr_server_decoration.h
-include/wlr/types/wlr_session_lock_v1.h
-include/wlr/types/wlr_shm.h
-include/wlr/types/wlr_single_pixel_buffer_v1.h
-include/wlr/types/wlr_subcompositor.h
-include/wlr/types/wlr_switch.h
-include/wlr/types/wlr_tablet_pad.h
-include/wlr/types/wlr_tablet_tool.h
-include/wlr/types/wlr_tablet_v2.h
-include/wlr/types/wlr_tearing_control_v1.h
-include/wlr/types/wlr_text_input_v3.h
-include/wlr/types/wlr_touch.h
-include/wlr/types/wlr_viewporter.h
-include/wlr/types/wlr_virtual_keyboard_v1.h
-include/wlr/types/wlr_virtual_pointer_v1.h
-include/wlr/types/wlr_xcursor_manager.h
-include/wlr/types/wlr_xdg_activation_v1.h
-include/wlr/types/wlr_xdg_decoration_v1.h
-include/wlr/types/wlr_xdg_foreign_registry.h
-include/wlr/types/wlr_xdg_foreign_v1.h
-include/wlr/types/wlr_xdg_foreign_v2.h
-include/wlr/types/wlr_xdg_output_v1.h
-include/wlr/types/wlr_xdg_shell.h
-include/wlr/util/addon.h
-include/wlr/util/box.h
-include/wlr/util/edges.h
-include/wlr/util/log.h
-include/wlr/util/region.h
-include/wlr/version.h
-include/wlr/xcursor.h
-%%X11%%include/wlr/xwayland.h
-%%X11%%include/wlr/xwayland/server.h
-%%X11%%include/wlr/xwayland/shell.h
-%%X11%%include/wlr/xwayland/xwayland.h
-lib/libwlroots.so
-lib/libwlroots.so.12
-libdata/pkgconfig/wlroots.pc
+include/wlroots%%SUFFIX%%/wlr/backend.h
+%%DRM%%include/wlroots%%SUFFIX%%/wlr/backend/drm.h
+include/wlroots%%SUFFIX%%/wlr/backend/headless.h
+include/wlroots%%SUFFIX%%/wlr/backend/interface.h
+%%DRM%%include/wlroots%%SUFFIX%%/wlr/backend/libinput.h
+include/wlroots%%SUFFIX%%/wlr/backend/multi.h
+%%DRM%%include/wlroots%%SUFFIX%%/wlr/backend/session.h
+include/wlroots%%SUFFIX%%/wlr/backend/wayland.h
+%%X11%%include/wlroots%%SUFFIX%%/wlr/backend/x11.h
+include/wlroots%%SUFFIX%%/wlr/config.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_buffer.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_keyboard.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_output.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_pointer.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_switch.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_tablet_pad.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_tablet_tool.h
+include/wlroots%%SUFFIX%%/wlr/interfaces/wlr_touch.h
+include/wlroots%%SUFFIX%%/wlr/render/allocator.h
+include/wlroots%%SUFFIX%%/wlr/render/dmabuf.h
+include/wlroots%%SUFFIX%%/wlr/render/drm_format_set.h
+%%OPENGL%%include/wlroots%%SUFFIX%%/wlr/render/egl.h
+%%OPENGL%%include/wlroots%%SUFFIX%%/wlr/render/gles2.h
+include/wlroots%%SUFFIX%%/wlr/render/interface.h
+include/wlroots%%SUFFIX%%/wlr/render/pass.h
+include/wlroots%%SUFFIX%%/wlr/render/pixman.h
+include/wlroots%%SUFFIX%%/wlr/render/swapchain.h
+%%VULKAN%%include/wlroots%%SUFFIX%%/wlr/render/vulkan.h
+include/wlroots%%SUFFIX%%/wlr/render/wlr_renderer.h
+include/wlroots%%SUFFIX%%/wlr/render/wlr_texture.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_buffer.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_compositor.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_content_type_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_cursor.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_cursor_shape_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_damage_ring.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_data_control_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_data_device.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_drm.h
+%%DRM%%include/wlroots%%SUFFIX%%/wlr/types/wlr_drm_lease_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_export_dmabuf_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_foreign_toplevel_management_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_fractional_scale_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_fullscreen_shell_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_gamma_control_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_idle_inhibit_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_idle_notify_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_input_device.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_input_inhibitor.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_input_method_v2.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_keyboard.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_keyboard_group.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_keyboard_shortcuts_inhibit_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_layer_shell_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_linux_dmabuf_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_matrix.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output_layer.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output_layout.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output_management_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_output_power_management_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_pointer.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_pointer_constraints_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_pointer_gestures_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_presentation_time.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_primary_selection.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_primary_selection_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_region.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_relative_pointer_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_scene.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_screencopy_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_seat.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_security_context_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_server_decoration.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_session_lock_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_shm.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_single_pixel_buffer_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_subcompositor.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_switch.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_tablet_pad.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_tablet_tool.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_tablet_v2.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_tearing_control_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_text_input_v3.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_touch.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_viewporter.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_virtual_keyboard_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_virtual_pointer_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xcursor_manager.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_activation_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_decoration_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_foreign_registry.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_foreign_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_foreign_v2.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_output_v1.h
+include/wlroots%%SUFFIX%%/wlr/types/wlr_xdg_shell.h
+include/wlroots%%SUFFIX%%/wlr/util/addon.h
+include/wlroots%%SUFFIX%%/wlr/util/box.h
+include/wlroots%%SUFFIX%%/wlr/util/edges.h
+include/wlroots%%SUFFIX%%/wlr/util/log.h
+include/wlroots%%SUFFIX%%/wlr/util/region.h
+include/wlroots%%SUFFIX%%/wlr/version.h
+include/wlroots%%SUFFIX%%/wlr/xcursor.h
+%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland.h
+%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland/server.h
+%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland/shell.h
+%%X11%%include/wlroots%%SUFFIX%%/wlr/xwayland/xwayland.h
+lib/libwlroots%%SUFFIX%%.so
+libdata/pkgconfig/wlroots%%SUFFIX%%.pc
diff --git a/x11-wm/gamescope/Makefile b/x11-wm/gamescope/Makefile
index 21767d578599..639d96253bcc 100644
--- a/x11-wm/gamescope/Makefile
+++ b/x11-wm/gamescope/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	gamescope
 DISTVERSION=	3.13.8
-PORTREVISION=	6
+PORTREVISION=	7
 CATEGORIES=	x11-wm wayland
 
 PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@@ -28,7 +28,7 @@ LIB_DEPENDS=	libdrm.so:graphics/libdrm \
 		libvulkan.so:graphics/vulkan-loader \
 		libwayland-server.so:graphics/wayland \
 		libdisplay-info.so:sysutils/libdisplay-info \
-		libwlroots.so:x11-toolkits/wlroots017 \
+		libwlroots-0.17.so:x11-toolkits/wlroots017 \
 		libxkbcommon.so:x11/libxkbcommon
 RUN_DEPENDS=	hwdata>0:misc/hwdata
 
diff --git a/x11-wm/gamescope/files/patch-src_meson.build b/x11-wm/gamescope/files/patch-src_meson.build
index c061816afdbf..b4d2e99c3073 100644
--- a/x11-wm/gamescope/files/patch-src_meson.build
+++ b/x11-wm/gamescope/files/patch-src_meson.build
@@ -1,3 +1,8 @@
+Run-time dependency wlroots found: NO (tried pkgconfig and cmake)
+Looking for a fallback subproject for the dependency wlroots
+
+src/meson.build:22:14: ERROR: Neither a subproject directory nor a wlroots.wrap file was found.
+
 Dependency libdisplay-info found: NO found 0.2.0 but need: '< 0.2.0' ; matched: '>= 0.0.0'
 Run-time dependency libdisplay-info found: NO (tried pkgconfig and cmake)
 Looking for a fallback subproject for the dependency libdisplay-info
@@ -6,6 +11,15 @@ src/meson.build:29:18: ERROR: Subproject exists but has no meson.build file.
 
 --- src/meson.build.orig	2023-11-21 21:40:30 UTC
 +++ src/meson.build
+@@ -20,7 +20,7 @@ wlroots_dep = dependency(
+ stb_dep = dependency('stb')
+ 
+ wlroots_dep = dependency(
+-  'wlroots',
++  'wlroots-0.17',
+   version: ['>= 0.17.0', '< 0.18.0'],
+   fallback: ['wlroots', 'wlroots'],
+   default_options: ['default_library=static', 'examples=false', 'xwayland=enabled', 'backends=libinput', 'renderers=[]', 'allocators=[]', 'session=enabled'],
 @@ -28,7 +28,6 @@ displayinfo_dep = dependency(
  
  displayinfo_dep = dependency(
diff --git a/x11-wm/swayfx/Makefile b/x11-wm/swayfx/Makefile
index 05da83031af0..2c0adb18a124 100644
--- a/x11-wm/swayfx/Makefile
+++ b/x11-wm/swayfx/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	sway
 DISTVERSION=	0.4
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	x11-wm wayland
 PKGNAMESUFFIX=	${GH_PROJECT:S/${PORTNAME}//}
 
@@ -19,7 +19,7 @@ LIB_DEPENDS=	libjson-c.so:devel/json-c \
 		libpcre2-8.so:devel/pcre2 \
 		libwayland-egl.so:graphics/wayland \
 		libscenefx.so:x11-toolkits/scenefx \
-		libwlroots.so:x11-toolkits/wlroots017 \
+		libwlroots-0.17.so:x11-toolkits/wlroots017 \
 		libinput.so:x11/libinput \
 		libxkbcommon.so:x11/libxkbcommon
 
diff --git a/x11-wm/swayfx/files/patch-wlroots017 b/x11-wm/swayfx/files/patch-wlroots017
new file mode 100644
index 000000000000..97de7a8a5379
--- /dev/null
+++ b/x11-wm/swayfx/files/patch-wlroots017
@@ -0,0 +1,15 @@
+Run-time dependency wlroots found: NO (tried pkgconfig and cmake)
+
+meson.build:54:10: ERROR: Dependency "wlroots" not found, tried pkgconfig and cmake
+
+--- meson.build.orig	2024-04-29 05:33:43 UTC
++++ meson.build
+@@ -51,7 +51,7 @@ subproject(
+ 	required: false,
+ 	version: wlroots_version,
+ )
+-wlroots = dependency('wlroots', version: wlroots_version)
++wlroots = dependency('wlroots-0.17', version: wlroots_version)
+ wlroots_features = {
+ 	'xwayland': false,
+ 	'libinput_backend': false,
diff --git a/x11-wm/wayfire-plugins-extra/Makefile b/x11-wm/wayfire-plugins-extra/Makefile
index 1295fdf4c182..a4a1179f9345 100644
--- a/x11-wm/wayfire-plugins-extra/Makefile
+++ b/x11-wm/wayfire-plugins-extra/Makefile
@@ -1,6 +1,7 @@
 PORTNAME=	wayfire-plugins-extra
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.9.0
+PORTREVISION=	1
 CATEGORIES=	x11-wm wayland
 
 MAINTAINER=	jbeich@FreeBSD.org
@@ -17,7 +18,7 @@ BUILD_DEPENDS=	evdev-proto>0:devel/evdev-proto \
 LIB_DEPENDS=	libevdev.so:devel/libevdev \
 		libwf-config.so:devel/wf-config \
 		libwayland-server.so:graphics/wayland \
-		libwlroots.so:x11-toolkits/wlroots017
+		libwlroots-0.17.so:x11-toolkits/wlroots017
 
 USES=		compiler:c++17-lang gnome meson pkgconfig
 USE_GITHUB=	yes
diff --git a/x11-wm/wayfire-plugins-extra/files/patch-wlroots017 b/x11-wm/wayfire-plugins-extra/files/patch-wlroots017
new file mode 100644
index 000000000000..43194a59e84f
--- /dev/null
+++ b/x11-wm/wayfire-plugins-extra/files/patch-wlroots017
@@ -0,0 +1,30 @@
+wayfire-shadows| Run-time dependency wlroots found: NO (tried pkgconfig and cmake)
+
+subprojects/wayfire-shadows/meson.build:17:11: ERROR: Dependency "wlroots" not found, tried pkgconfig and cmake
+
+windecor| Run-time dependency wlroots found: NO (tried pkgconfig and cmake)
+
+subprojects/windecor/meson.build:18:11: ERROR: Dependency "wlroots" not found, tried pkgconfig and cmake
+
+--- subprojects/wayfire-shadows/meson.build.orig	2023-09-08 22:38:12 UTC
++++ subprojects/wayfire-shadows/meson.build
+@@ -14,7 +14,7 @@ wayfire  = dependency('wayfire')
+ )
+ 
+ wayfire  = dependency('wayfire')
+-wlroots  = dependency('wlroots')
++wlroots  = dependency('wlroots-0.17')
+ wfconfig = dependency('wf-config')
+ 
+ add_project_arguments(['-DWLR_USE_UNSTABLE'], language: ['cpp', 'c'])
+--- subprojects/windecor/meson.build.orig	2023-09-30 05:08:04 UTC
++++ subprojects/windecor/meson.build
+@@ -15,7 +15,7 @@ pixman   = dependency('pixman-1')
+ 
+ wayfire  = dependency('wayfire')
+ pixman   = dependency('pixman-1')
+-wlroots  = dependency('wlroots')
++wlroots  = dependency('wlroots-0.17')
+ wfconfig = dependency('wf-config')
+ cairo    = dependency('cairo')
+ rsvg     = dependency( 'librsvg-2.0' )
diff --git a/x11-wm/wayfire/Makefile b/x11-wm/wayfire/Makefile
index b659514d6f0f..c8af247557e0 100644
--- a/x11-wm/wayfire/Makefile
+++ b/x11-wm/wayfire/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	wayfire
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.9.0
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	x11-wm wayland
 
 MAINTAINER=	jbeich@FreeBSD.org
@@ -22,7 +22,7 @@ LIB_DEPENDS=	libevdev.so:devel/libevdev \
 		libwf-config.so:devel/wf-config \
 		libpng.so:graphics/png \
 		libwayland-server.so:graphics/wayland \
-		libwlroots.so:x11-toolkits/wlroots017 \
+		libwlroots-0.17.so:x11-toolkits/wlroots017 \
 		libinput.so:x11/libinput \
 		libxkbcommon.so:x11/libxkbcommon
 RUN_DEPENDS=	nlohmann-json>0:devel/nlohmann-json
diff --git a/x11-wm/wayfire/files/patch-wlroots017 b/x11-wm/wayfire/files/patch-wlroots017
new file mode 100644
index 000000000000..28311aebc9a3
--- /dev/null
+++ b/x11-wm/wayfire/files/patch-wlroots017
@@ -0,0 +1,32 @@
+Run-time dependency wlroots found: NO (tried pkgconfig and cmake)
+Looking for a fallback subproject for the dependency wlroots
+
+meson.build:45:11: ERROR: Subproject exists but has no meson.build file.
+
+--- meson.build.orig	2024-08-24 11:04:54 UTC
++++ meson.build
+@@ -42,11 +42,11 @@ elif get_option('use_system_wlroots').enabled()
+ 
+ elif get_option('use_system_wlroots').enabled()
+ 	use_system_wlroots = true
+-	wlroots = dependency('wlroots', version: ['>=0.17.0', '<0.18.0'], required: true)
++	wlroots = dependency('wlroots-0.17', version: ['>=0.17.0', '<0.18.0'], required: true)
+ 
+ elif get_option('use_system_wlroots').auto()
+ 	message( 'SEARCHING FOR WLROOTS' )
+-	wlroots = dependency('wlroots', version: ['>=0.17.0', '<0.18.0'], required: false)
++	wlroots = dependency('wlroots-0.17', version: ['>=0.17.0', '<0.18.0'], required: false)
+ 	use_system_wlroots = true
+ 	if not wlroots.found()
+ 		use_system_wlroots = false
+--- src/meson.build.orig	2024-08-24 11:04:54 UTC
++++ src/meson.build
+@@ -147,7 +147,7 @@ public_api_requirements = [
+     wayland_server,
+     pixman,
+     # These might be subprojects so we need to pass them as strings
+-    'wlroots',
++    'wlroots-0.17',
+     'wf-config',
+ ]
+