aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2021-06-24 17:53:05 +0000
committerJan Beich <jbeich@FreeBSD.org>2021-12-17 11:30:04 +0000
commit2af7805da5c5fc73eb28fba4065cead63c4bb5ab (patch)
tree3889adf5bcdd95c4a592baac0a15e919f869456e
parentbe1d7baff997b2f169f609e0c61620d7408cc864 (diff)
downloadports-2af7805da5c5fc73eb28fba4065cead63c4bb5ab.tar.gz
ports-2af7805da5c5fc73eb28fba4065cead63c4bb5ab.zip
x11-toolkits/wlroots: update to 0.15.0
Changes: https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.15.0 Reported by: upstream (tracking bug)
-rw-r--r--x11-toolkits/wlroots/Makefile60
-rw-r--r--x11-toolkits/wlroots/distinfo70
-rw-r--r--x11-toolkits/wlroots/pkg-message1
-rw-r--r--x11-toolkits/wlroots/pkg-plist15
-rw-r--r--x11-wm/cage/Makefile6
-rw-r--r--x11-wm/cage/distinfo4
-rw-r--r--x11-wm/hikari/Makefile4
-rw-r--r--x11-wm/hikari/files/patch-wlroots-0.15256
-rw-r--r--x11-wm/kwinft/Makefile1
-rw-r--r--x11-wm/labwc/Makefile14
-rw-r--r--x11-wm/labwc/distinfo16
-rw-r--r--x11-wm/river/Makefile2
-rw-r--r--x11-wm/sway/Makefile20
-rw-r--r--x11-wm/sway/distinfo32
-rw-r--r--x11-wm/wayfire-plugins-extra/Makefile5
-rw-r--r--x11-wm/wayfire-plugins-extra/distinfo2
-rw-r--r--x11-wm/wayfire-plugins-extra/files/patch-wlroots-0.1527
-rw-r--r--x11-wm/wayfire/Makefile15
-rw-r--r--x11-wm/wayfire/distinfo22
-rw-r--r--x11-wm/wayfire/files/patch-wlroots-0.15121
20 files changed, 568 insertions, 125 deletions
diff --git a/x11-toolkits/wlroots/Makefile b/x11-toolkits/wlroots/Makefile
index 97beb25a28d6..7eea12d52baa 100644
--- a/x11-toolkits/wlroots/Makefile
+++ b/x11-toolkits/wlroots/Makefile
@@ -1,11 +1,12 @@
PORTNAME= wlroots
-DISTVERSION= 0.14.1
-PORTREVISION= 2
+DISTVERSION= 0.15.0
+DISTVERSIONSUFFIX= -g${GL_COMMIT:C/(.{12}).*/\1/}
CATEGORIES= x11-toolkits
PATCH_SITES= https://github.com/swaywm/${GL_PROJECT}/commit/
PATCHFILES+= 7c0e2a271a4c.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2064
PATCHFILES+= 55a8d225cf8c.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2064
+PATCHFILES+= 347b32642fb6.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3318
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Modular Wayland compositor library
@@ -13,12 +14,11 @@ COMMENT= Modular Wayland compositor library
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= wayland-protocols>=1.21:graphics/wayland-protocols
+BUILD_DEPENDS= wayland-protocols>=1.24:graphics/wayland-protocols
LIB_DEPENDS= libudev.so:devel/libudev-devd \
libdrm.so:graphics/libdrm \
libwayland-server.so:graphics/wayland \
libseat.so:sysutils/seatd \
- libinput.so:x11/libinput \
libxkbcommon.so:x11/libxkbcommon
USES= compiler:c11 gl meson pkgconfig xorg
@@ -27,16 +27,20 @@ USE_GL= gbm
USE_XORG= pixman
USE_LDCONFIG= yes
GL_SITE= https://gitlab.freedesktop.org
-GL_COMMIT= 49a574420138646845fb664862db03982cfd9f5b
-MESON_ARGS= -Dexamples=false -Drenderers=${RENDERERS:ts,}
+GL_COMMIT= 9f41627aa10a94d9427bc315fa3d363a61b94d7c
+MESON_ARGS= -Dexamples=false -Dbackends=${BACKENDS:ts,} -Drenderers=${RENDERERS:ts,}
-OPTIONS_DEFINE= NVIDIA OPENGL VULKAN X11
-OPTIONS_DEFAULT=OPENGL VULKAN X11
+OPTIONS_DEFINE= DRM NVIDIA OPENGL VULKAN X11
+OPTIONS_DEFAULT=DRM OPENGL VULKAN X11
OPTIONS_SUB= yes
+DRM_DESC= KMS console support
+DRM_LIB_DEPENDS= libinput.so:x11/libinput
+DRM_VARS= BACKENDS+="drm libinput"
+
NVIDIA_DESC= EGLStreams support for DRM backend (experimental)
NVIDIA_PATCH_SITES= https://github.com/danvd/${GL_PROJECT}-eglstreams/commit/:nvidia
-NVIDIA_PATCHFILES= d9acdb6b21ec.patch:-p1:nvidia # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2769
+NVIDIA_PATCHFILES= 7660c54541d5.patch:-p1:nvidia # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2769
NVIDIA_IMPLIES= OPENGL
.if make(makesum)
.MAKEFLAGS: WITH+=NVIDIA
@@ -46,45 +50,12 @@ OPENGL_RUN_DEPENDS= mesa-dri>0:graphics/mesa-dri
OPENGL_USE= GL=egl,glesv2
OPENGL_VARS= RENDERERS+=gles2
-VULKAN_DESC= Vulkan renderer (experimental)
-VULKAN_PATCHFILES+= 8c700c534556.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 0464af8573f9.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= e3e9250ea6d8.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 1af1d1694195.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 93319aa2b633.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 0028938735d1.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 6885b636508c.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 76534695a8d3.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 445142e6a1f9.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= f029ae1dac4b.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= ad1fab0b3704.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 4407b8e5a3a7.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= e021c068d02f.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 2cc710bda83c.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= f0888604d6ce.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 4fdd5efc9260.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 59c119829f1c.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= cfbd8aa6cf24.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 3f6dbe428e8b.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= a83943798aef.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= f64a98d49d25.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 9885ccb4b0b1.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 71f9f33e3bf2.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= bd8c520dbd9a.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 2d89dc9b8651.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 8f9aeda46d8a.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= e3d16970433f.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 79f10d929b72.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 1a16e8fc56a9.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= dd039c56d93a.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/2771
-VULKAN_PATCHFILES+= 347b32642fb6.patch:-p1 # https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3318
+VULKAN_DESC= Vulkan renderer
VULKAN_BUILD_DEPENDS= glslangValidator:graphics/glslang \
vulkan-headers>0:graphics/vulkan-headers
VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
VULKAN_RUN_DEPENDS= mesa-dri>0:graphics/mesa-dri
VULKAN_VARS= RENDERERS+=vulkan
-VULKAN_PLIST_FILES= include/wlr/types/wlr_drm.h \
- %%VULKAN%%include/wlr/render/vulkan.h
X11_LIB_DEPENDS= libxcb-errors.so:x11/xcb-util-errors \
libxcb-render-util.so:x11/xcb-util-renderutil \
@@ -93,7 +64,8 @@ X11_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
xwayland-devel>0:x11-servers/xwayland-devel
X11_RUN_DEPENDS= xwayland-devel>0:x11-servers/xwayland-devel
X11_USE= XORG=xcb
-X11_MESON_ENABLED= x11-backend xwayland
+X11_MESON_ENABLED= xwayland
+X11_VARS= BACKENDS+=x11
post-patch:
# Extract (snapshot) version from the port instead of meson.build
diff --git a/x11-toolkits/wlroots/distinfo b/x11-toolkits/wlroots/distinfo
index b81c6f1c79eb..56318da77266 100644
--- a/x11-toolkits/wlroots/distinfo
+++ b/x11-toolkits/wlroots/distinfo
@@ -1,71 +1,11 @@
-TIMESTAMP = 1625757481
-SHA256 (wlroots-wlroots-49a574420138646845fb664862db03982cfd9f5b_GL0.tar.gz) = 9d5ba3dbd415730a7e3f6270cca35d70382fb97b0ea3537e096af67bb7addeb9
-SIZE (wlroots-wlroots-49a574420138646845fb664862db03982cfd9f5b_GL0.tar.gz) = 505990
+TIMESTAMP = 1639578848
+SHA256 (wlroots-wlroots-9f41627aa10a94d9427bc315fa3d363a61b94d7c_GL0.tar.gz) = 31381f649538bb52c5fa0b3c0d2a2d9a1fc3f0dd22367c39a12abbe53b53bb04
+SIZE (wlroots-wlroots-9f41627aa10a94d9427bc315fa3d363a61b94d7c_GL0.tar.gz) = 565273
SHA256 (7c0e2a271a4c.patch) = 2b92d3dde7640061ed85ab1690031f7627bebc2366e8c4da217017188ba7195e
SIZE (7c0e2a271a4c.patch) = 5729
SHA256 (55a8d225cf8c.patch) = f9df98540fdabe35c61ed828f6d64633aab72edf0ba1c7ad0849594f10383ce7
SIZE (55a8d225cf8c.patch) = 4209
-SHA256 (d9acdb6b21ec.patch) = b78414c89ebf93b4af02d955f9345d886d05ea0865d48f5c05e1e415adf3c45e
-SIZE (d9acdb6b21ec.patch) = 91660
-SHA256 (8c700c534556.patch) = d004493cde08be574d81e3e6024491cd1c4312ddadbdc0f5ea818327a558165a
-SIZE (8c700c534556.patch) = 49189
-SHA256 (0464af8573f9.patch) = f4870fb2a232885513ab18594ff97463483e132ebbac09f367f3017c510d3823
-SIZE (0464af8573f9.patch) = 110532
-SHA256 (e3e9250ea6d8.patch) = d5f2764df5b99c57b106a87af160ffa955a0afe1de33bd90131eced1c39f44a1
-SIZE (e3e9250ea6d8.patch) = 11220
-SHA256 (1af1d1694195.patch) = 16d705e33b0939a8b11ea3d0f9355ddcb7c0cb85f8d7f668f4c016370be80c11
-SIZE (1af1d1694195.patch) = 2056
-SHA256 (93319aa2b633.patch) = 0bbbb871aefacdf8b85b72a7bcafcfe9757e48653b345d1e1a96988f88680753
-SIZE (93319aa2b633.patch) = 35376
-SHA256 (0028938735d1.patch) = d110d2fd139497f04ba7c8c0d649d03d28224ba6b33aaab95f4d233077234db9
-SIZE (0028938735d1.patch) = 39808
-SHA256 (6885b636508c.patch) = b7c8d57224db108cc40420ba06aa7c227d2a48a8418f9430f2d0381447c68e62
-SIZE (6885b636508c.patch) = 694
-SHA256 (76534695a8d3.patch) = 084e97edd02f5ffd5d0181f9f9d0eea0f76bebe2b55b20f0dd78b182b0fe58cf
-SIZE (76534695a8d3.patch) = 9670
-SHA256 (445142e6a1f9.patch) = e6b88f71a7e2b4ba340e53dc356748bc8d280a295e2188fde834aa0e45608f63
-SIZE (445142e6a1f9.patch) = 2876
-SHA256 (f029ae1dac4b.patch) = f87e1128f3f8f34dc250bc2d4948275ee35b6def3026667758952dd74c0829e7
-SIZE (f029ae1dac4b.patch) = 835
-SHA256 (ad1fab0b3704.patch) = 1aa049ea5b83e8148d44e5c8b18b2a17188bb027220201e25d957181dc48f953
-SIZE (ad1fab0b3704.patch) = 1543
-SHA256 (4407b8e5a3a7.patch) = e882f50f0c06224e44c34f06dc9321aba84630c6e5146bdf3289f8c9fac67c96
-SIZE (4407b8e5a3a7.patch) = 7109
-SHA256 (e021c068d02f.patch) = bfe830161b0946187107f3eaba5c1eacc7118011a02375991f951124dc969f89
-SIZE (e021c068d02f.patch) = 1365
-SHA256 (2cc710bda83c.patch) = b8c6b3d354fc531bc7042312c006770c78b6ab61628a6d83d3417761372e478f
-SIZE (2cc710bda83c.patch) = 8937
-SHA256 (f0888604d6ce.patch) = 4d354bd7324d308ec5fc9ce211cdf81e6fdcee2bbc62dc4fff41a34a5f77c00a
-SIZE (f0888604d6ce.patch) = 21680
-SHA256 (4fdd5efc9260.patch) = 96d8e057c8b0d987e78d34ea5fdb6ec35ed3878eb5d1ee83319dcb29af198bd8
-SIZE (4fdd5efc9260.patch) = 5628
-SHA256 (59c119829f1c.patch) = 34408bc1edac183fbcb86f3a22d5a43e7c5f47b2dd5226b1e60b140e8387214c
-SIZE (59c119829f1c.patch) = 1005
-SHA256 (cfbd8aa6cf24.patch) = 62027ea791c9e8f0ea4ced680ab688f6c57d1dddae04cbfe70e108ad8b439a58
-SIZE (cfbd8aa6cf24.patch) = 4007
-SHA256 (3f6dbe428e8b.patch) = e6b7339027d7e653f955da9df579167e2da56311ab294187b24f709b70026952
-SIZE (3f6dbe428e8b.patch) = 11424
-SHA256 (a83943798aef.patch) = 408e5a26afec05b88768451c65c7712fe87de3b8a3193c3655e7adfeb63b323c
-SIZE (a83943798aef.patch) = 679
-SHA256 (f64a98d49d25.patch) = ec753b6fad3afd5db8e06983689f549e0966305b4ea892f82078cf879d9a0640
-SIZE (f64a98d49d25.patch) = 4998
-SHA256 (9885ccb4b0b1.patch) = 83c2f06446c0519523885627a210d77fdbdd23491e3ec0145c4aebec199c23a6
-SIZE (9885ccb4b0b1.patch) = 7855
-SHA256 (71f9f33e3bf2.patch) = 75ad6be6c4ab195e3015647fdb1365f5dab534155eed11153f13f61a30cb4792
-SIZE (71f9f33e3bf2.patch) = 12943
-SHA256 (bd8c520dbd9a.patch) = 7ff9eb420a1870177b16227ba7b380084eaaaffeac2bac39b8c0e329515af36a
-SIZE (bd8c520dbd9a.patch) = 55639
-SHA256 (2d89dc9b8651.patch) = 488722edd6da814cfb20156e8bd2a50b54743334506dfab69576990ebd8bb365
-SIZE (2d89dc9b8651.patch) = 15460
-SHA256 (8f9aeda46d8a.patch) = 8241a0003819e6355cc495a512ea8eed0bb521cbb416aa26068a72f12d9a991b
-SIZE (8f9aeda46d8a.patch) = 7070
-SHA256 (e3d16970433f.patch) = e4641123a64519921991a1db7437ff3d2fe007662ec35ba9572aa3a60b188228
-SIZE (e3d16970433f.patch) = 1180
-SHA256 (79f10d929b72.patch) = b3b5fe1ef223bae812c00b4d98f09c1bba5688fdcfa38e150551020232f32553
-SIZE (79f10d929b72.patch) = 10811
-SHA256 (1a16e8fc56a9.patch) = 2bc8e01099fdf6410f07392147e6d376cc5f89b3bb3dda6133c4e4c9ead05883
-SIZE (1a16e8fc56a9.patch) = 1422
-SHA256 (dd039c56d93a.patch) = 533707ab9512b75a9a66ca50b95340883ba51fb2daa294f9b0ff0b7c5dbef572
-SIZE (dd039c56d93a.patch) = 1258
SHA256 (347b32642fb6.patch) = 961ff1069ef3eb1b4a71cd915947cdc6acbf2b9b98bae7e3bb41de87d115da9d
SIZE (347b32642fb6.patch) = 3800
+SHA256 (7660c54541d5.patch) = 543174148ab998ee67ea8e540f703d63c5c37dc2d1b78603cea047a4f0946407
+SIZE (7660c54541d5.patch) = 147050
diff --git a/x11-toolkits/wlroots/pkg-message b/x11-toolkits/wlroots/pkg-message
index 0b0bf2ceaf83..8ce805eb0b35 100644
--- a/x11-toolkits/wlroots/pkg-message
+++ b/x11-toolkits/wlroots/pkg-message
@@ -3,6 +3,7 @@
message: <<EOM
Known issues:
- NVIDIA may be affected by https://github.com/aritger/eglstreams-kms-example/issues/7
+- VULKAN currently requires mesa-devel
EOM
}
]
diff --git a/x11-toolkits/wlroots/pkg-plist b/x11-toolkits/wlroots/pkg-plist
index a0e52cd844d1..0651a6d62807 100644
--- a/x11-toolkits/wlroots/pkg-plist
+++ b/x11-toolkits/wlroots/pkg-plist
@@ -1,10 +1,9 @@
include/wlr/backend.h
-include/wlr/backend/drm.h
+%%DRM%%include/wlr/backend/drm.h
include/wlr/backend/headless.h
include/wlr/backend/interface.h
-include/wlr/backend/libinput.h
+%%DRM%%include/wlr/backend/libinput.h
include/wlr/backend/multi.h
-include/wlr/backend/noop.h
include/wlr/backend/session.h
include/wlr/backend/wayland.h
%%X11%%include/wlr/backend/x11.h
@@ -17,12 +16,14 @@ 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/pixman.h
+%%VULKAN%%include/wlr/render/vulkan.h
include/wlr/render/wlr_renderer.h
include/wlr/render/wlr_texture.h
include/wlr/types/wlr_box.h
@@ -31,6 +32,8 @@ include/wlr/types/wlr_compositor.h
include/wlr/types/wlr_cursor.h
include/wlr/types/wlr_data_control_v1.h
include/wlr/types/wlr_data_device.h
+include/wlr/types/wlr_drm.h
+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_fullscreen_shell_v1.h
@@ -45,7 +48,6 @@ 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_list.h
include/wlr/types/wlr_matrix.h
include/wlr/types/wlr_output.h
include/wlr/types/wlr_output_damage.h
@@ -60,6 +62,7 @@ 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_server_decoration.h
@@ -81,6 +84,8 @@ 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
@@ -88,5 +93,5 @@ include/wlr/version.h
include/wlr/xcursor.h
%%X11%%include/wlr/xwayland.h
lib/libwlroots.so
-lib/libwlroots.so.9
+lib/libwlroots.so.10
libdata/pkgconfig/wlroots.pc
diff --git a/x11-wm/cage/Makefile b/x11-wm/cage/Makefile
index 9727763f9694..163fed29419b 100644
--- a/x11-wm/cage/Makefile
+++ b/x11-wm/cage/Makefile
@@ -1,12 +1,14 @@
PORTNAME= cage
DISTVERSIONPREFIX= v
DISTVERSION= 0.1.4
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES+= 70ecdcb02ea0.patch:-p1 # https://github.com/Hjdskes/cage/pull/148
PATCHFILES+= 31a3571a7798.patch:-p1 # https://github.com/Hjdskes/cage/pull/209
+PATCHFILES+= 1a3ab3eb3ad0.patch:-p1 # https://github.com/Hjdskes/cage/pull/198
+PATCHFILES+= ee748fec3adf.patch:-p1 # https://github.com/Hjdskes/cage/pull/197
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Wayland kiosk
@@ -16,7 +18,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>=1.14:graphics/wayland-protocols \
- wlroots>=0.14.0:x11-toolkits/wlroots
+ wlroots>=0.15.0:x11-toolkits/wlroots
LIB_DEPENDS= libwayland-server.so:graphics/wayland \
libwlroots.so:x11-toolkits/wlroots \
libxkbcommon.so:x11/libxkbcommon
diff --git a/x11-wm/cage/distinfo b/x11-wm/cage/distinfo
index 25caebd32116..4cf877a2040e 100644
--- a/x11-wm/cage/distinfo
+++ b/x11-wm/cage/distinfo
@@ -5,3 +5,7 @@ SHA256 (70ecdcb02ea0.patch) = 2dd0e99d181986c6b2d5e04e89f692e3d77b8bd2a3a08f94cf
SIZE (70ecdcb02ea0.patch) = 2137
SHA256 (31a3571a7798.patch) = 2bedfc37fd7ef5e623e1ba4202be8c2fe2837a495d716c05ae19c41f561f69aa
SIZE (31a3571a7798.patch) = 880
+SHA256 (1a3ab3eb3ad0.patch) = 7a652a0bb0cfc54da5f4687c55c5576b7413615b171582871c22a6217fc75013
+SIZE (1a3ab3eb3ad0.patch) = 1417
+SHA256 (ee748fec3adf.patch) = 641d86dfac45f471b953b3bfd1884944a1e3292d5d8327bbdbc588e71f9969a6
+SIZE (ee748fec3adf.patch) = 10111
diff --git a/x11-wm/hikari/Makefile b/x11-wm/hikari/Makefile
index 20ff7980580e..f03452ab7ef1 100644
--- a/x11-wm/hikari/Makefile
+++ b/x11-wm/hikari/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hikari
DISTVERSION= 2.3.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-wm
MASTER_SITES= https://hikari.acmelabs.space/releases/
@@ -12,7 +12,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>=1.14:graphics/wayland-protocols \
- wlroots>=0.14.0<0.15.0:x11-toolkits/wlroots
+ wlroots>=0.15.0<0.16.0:x11-toolkits/wlroots
LIB_DEPENDS= libinput.so:x11/libinput \
libucl.so:textproc/libucl \
libwayland-server.so:graphics/wayland \
diff --git a/x11-wm/hikari/files/patch-wlroots-0.15 b/x11-wm/hikari/files/patch-wlroots-0.15
new file mode 100644
index 000000000000..dde7380f765f
--- /dev/null
+++ b/x11-wm/hikari/files/patch-wlroots-0.15
@@ -0,0 +1,256 @@
+src/layer_shell.c:202:37: error: no member named 'client_pending' in 'struct wlr_layer_surface_v1'
+ layer->layer = wlr_layer_surface->client_pending.layer;
+ ~~~~~~~~~~~~~~~~~ ^
+
+src/layer_shell.c:312:51: error: no member named 'geometry' in 'struct wlr_xdg_surface'
+ int popup_sx = popup->geometry.x - popup->base->geometry.x;
+ ~~~~~~~~~~~ ^
+src/layer_shell.c:313:51: error: no member named 'geometry' in 'struct wlr_xdg_surface'
+ int popup_sy = popup->geometry.y - popup->base->geometry.y;
+ ~~~~~~~~~~~ ^
+
+src/output.c:199:5: warning: implicit declaration of function 'wlr_layer_surface_v1_close' is invalid in C99 [-Wimplicit-function-declaration]
+ wlr_layer_surface_v1_close(layer->surface);
+ ^
+src/workspace.c:123:5: warning: implicit declaration of function 'wlr_layer_surface_v1_close' is invalid in C99 [-Wimplicit-function-declaration]
+ wlr_layer_surface_v1_close(focus_layer->surface);
+ ^
+
+src/view.c:812:47: error: no member named 'subsurfaces_below' in 'struct wlr_surface'
+ wl_list_for_each (wlr_subsurface, &surface->subsurfaces_below, parent_link) {
+ ~~~~~~~ ^
+/usr/local/include/wayland-util.h:443:30: note: expanded from macro 'wl_list_for_each'
+ for (pos = wl_container_of((head)->next, pos, member); \
+ ^~~~
+/usr/local/include/wayland-util.h:409:32: note: expanded from macro 'wl_container_of'
+ (__typeof__(sample))((char *)(ptr) - \
+ ^~~
+
+src/xdg_view.c:50:30: error: no member named 'configure_serial' in 'struct wlr_xdg_surface'
+ uint32_t serial = surface->configure_serial;
+ ~~~~~~~ ^
+
+ld: error: undefined symbol: wlr_backend_get_renderer
+>>> referenced by indicator_bar.c
+>>> indicator_bar.o:(hikari_indicator_bar_update)
+>>> referenced by lock_indicator.c
+>>> lock_indicator.o:(init_indicator_circle)
+>>> referenced by output.c
+>>> output.o:(hikari_output_load_background)
+>>> referenced 2 more times
+
+src/server.c:9:10: fatal error: 'wlr/backend/noop.h' file not found
+#include <wlr/backend/noop.h>
+ ^~~~~~~~~~~~~~~~~~~~
+
+--- include/hikari/server.h.orig 2021-04-09 17:37:23 UTC
++++ include/hikari/server.h
+@@ -51,6 +51,7 @@ struct hikari_server {
+ struct wl_event_loop *event_loop;
+ struct wlr_backend *backend;
+ struct wlr_renderer *renderer;
++ struct wlr_allocator *allocator;
+ struct wlr_xdg_output_manager_v1 *output_manager;
+ struct wlr_data_device_manager *data_device_manager;
+
+--- src/indicator_bar.c.orig 2021-04-10 08:38:40 UTC
++++ src/indicator_bar.c
+@@ -80,8 +80,7 @@ hikari_indicator_bar_update(struct hikari_indicator_ba
+ struct hikari_font *font = &hikari_configuration->font;
+ int width = hikari_configuration->font.character_width * len + 8;
+ int height = hikari_configuration->font.height;
+- struct wlr_renderer *wlr_renderer =
+- wlr_backend_get_renderer(output->wlr_output->backend);
++ struct wlr_renderer *wlr_renderer = output->wlr_output->renderer;
+
+ indicator_bar->width = width;
+
+--- src/layer_shell.c.orig 2021-03-28 17:02:57 UTC
++++ src/layer_shell.c
+@@ -199,7 +199,7 @@ hikari_layer_init(
+ layer->node.focus = focus;
+ layer->node.for_each_surface = for_each_surface;
+ layer->output = output;
+- layer->layer = wlr_layer_surface->client_pending.layer;
++ layer->layer = wlr_layer_surface->pending.layer;
+ layer->surface = wlr_layer_surface;
+ layer->mapped = false;
+
+@@ -309,8 +309,8 @@ damage_popup(struct hikari_layer_popup *layer_popup, b
+ struct wlr_xdg_popup *popup = layer_popup->popup;
+ struct wlr_surface *surface = popup->base->surface;
+
+- int popup_sx = popup->geometry.x - popup->base->geometry.x;
+- int popup_sy = popup->geometry.y - popup->base->geometry.y;
++ int popup_sx = popup->geometry.x - popup->base->current.geometry.x;
++ int popup_sy = popup->geometry.y - popup->base->current.geometry.y;
+ int ox = popup_sx, oy = popup_sy;
+
+ struct hikari_layer *layer;
+--- src/lock_indicator.c.orig 2021-04-10 11:39:20 UTC
++++ src/lock_indicator.c
+@@ -19,8 +19,7 @@ init_indicator_circle(float color[static 4])
+ const int size = 100;
+
+ struct wlr_texture *texture;
+- struct wlr_renderer *wlr_renderer =
+- wlr_backend_get_renderer(hikari_server.backend);
++ struct wlr_renderer *wlr_renderer = hikari_server.renderer;
+
+ cairo_surface_t *surface =
+ cairo_image_surface_create(CAIRO_FORMAT_ARGB32, size, size);
+--- src/output.c.orig 2021-07-20 21:52:59 UTC
++++ src/output.c
+@@ -84,8 +84,7 @@ hikari_output_load_background(struct hikari_output *ou
+ unsigned char *data = cairo_image_surface_get_data(output_surface);
+ int stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, output_width);
+
+- struct wlr_renderer *renderer =
+- wlr_backend_get_renderer(output->wlr_output->backend);
++ struct wlr_renderer *renderer = output->wlr_output->renderer;
+
+ output->background = wlr_texture_from_pixels(
+ renderer, DRM_FORMAT_ARGB8888, stride, output_width, output_height, data);
+@@ -196,7 +195,7 @@ close_layers(struct wl_list *layers)
+ {
+ struct hikari_layer *layer, *layer_temp;
+ wl_list_for_each_safe (layer, layer_temp, layers, layer_surfaces) {
+- wlr_layer_surface_v1_close(layer->surface);
++ wlr_layer_surface_v1_destroy(layer->surface);
+ layer->output = NULL;
+ }
+ }
+@@ -257,7 +256,7 @@ hikari_output_init(struct hikari_output *output, struc
+
+ if (!wl_list_empty(&wlr_output->modes)) {
+ struct wlr_output_mode *mode =
+- wl_container_of(wlr_output->modes.prev, mode, link);
++ wl_container_of(wlr_output->modes.next, mode, link);
+ wlr_output_set_mode(wlr_output, mode);
+ }
+
+--- src/renderer.c.orig 2021-03-28 17:02:57 UTC
++++ src/renderer.c
+@@ -487,8 +487,7 @@ static inline void
+ render_output(struct hikari_output *output, pixman_region32_t *damage)
+ {
+ struct wlr_output *wlr_output = output->wlr_output;
+- struct wlr_renderer *wlr_renderer =
+- wlr_backend_get_renderer(wlr_output->backend);
++ struct wlr_renderer *wlr_renderer = wlr_output->renderer;
+
+ struct hikari_renderer renderer = {
+ .wlr_output = wlr_output, .wlr_renderer = wlr_renderer, .damage = damage
+--- src/server.c.orig 2021-07-20 21:52:59 UTC
++++ src/server.c
+@@ -5,9 +5,11 @@
+ #include <unistd.h>
+
+ #include <wlr/backend.h>
++#include <wlr/backend/headless.h>
+ #include <wlr/backend/libinput.h>
+-#include <wlr/backend/noop.h>
+ #include <wlr/backend/session.h>
++#include <wlr/render/allocator.h>
++#include <wlr/render/wlr_renderer.h>
+ #include <wlr/types/wlr_compositor.h>
+ #include <wlr/types/wlr_data_control_v1.h>
+ #include <wlr/types/wlr_data_device.h>
+@@ -213,6 +215,10 @@ new_output_handler(struct wl_listener *listener, void
+ struct wlr_output *wlr_output = data;
+ struct hikari_output *output = hikari_malloc(sizeof(struct hikari_output));
+
++ if (!wlr_output_init_render(wlr_output, server->allocator, server->renderer)) {
++ exit(EXIT_FAILURE);
++ }
++
+ hikari_output_init(output, wlr_output);
+ hikari_cursor_reset_image(&server->cursor);
+ }
+@@ -766,9 +772,9 @@ done:
+ static void
+ init_noop_output(struct hikari_server *server)
+ {
+- server->noop_backend = wlr_noop_backend_create(server->display);
++ server->noop_backend = wlr_headless_backend_create(server->display);
+
+- struct wlr_output *wlr_output = wlr_noop_add_output(server->noop_backend);
++ struct wlr_output *wlr_output = wlr_headless_add_output(server->noop_backend, 800, 600);
+ struct hikari_output *noop_output =
+ hikari_malloc(sizeof(struct hikari_output));
+
+@@ -816,14 +822,19 @@ server_init(struct hikari_server *server, char *config
+
+ signal(SIGPIPE, SIG_IGN);
+
+- server->renderer = wlr_backend_get_renderer(server->backend);
+-
++ server->renderer = wlr_renderer_autocreate(server->backend);
+ if (server->renderer == NULL) {
+ wl_display_destroy(server->display);
+ exit(EXIT_FAILURE);
+ }
+
+ wlr_renderer_init_wl_display(server->renderer, server->display);
++
++ server->allocator = wlr_allocator_autocreate(server->backend, server->renderer);
++ if (server->allocator == NULL) {
++ wl_display_destroy(server->display);
++ exit(EXIT_FAILURE);
++ }
+
+ server->socket = wl_display_add_socket_auto(server->display);
+ if (server->socket == NULL) {
+--- src/view.c.orig 2021-07-20 21:52:59 UTC
++++ src/view.c
+@@ -809,13 +809,13 @@ hikari_view_map(struct hikari_view *view, struct wlr_s
+ wl_signal_add(&surface->events.new_subsurface, &view->new_subsurface);
+
+ struct wlr_subsurface *wlr_subsurface;
+- wl_list_for_each (wlr_subsurface, &surface->subsurfaces_below, parent_link) {
++ wl_list_for_each (wlr_subsurface, &surface->current.subsurfaces_below, current.link) {
+ struct hikari_view_subsurface *subsurface =
+ (struct hikari_view_subsurface *)malloc(
+ sizeof(struct hikari_view_subsurface));
+ hikari_view_subsurface_init(subsurface, view, wlr_subsurface);
+ }
+- wl_list_for_each (wlr_subsurface, &surface->subsurfaces_above, parent_link) {
++ wl_list_for_each (wlr_subsurface, &surface->current.subsurfaces_above, current.link) {
+ struct hikari_view_subsurface *subsurface =
+ (struct hikari_view_subsurface *)malloc(
+ sizeof(struct hikari_view_subsurface));
+@@ -1695,10 +1695,10 @@ hikari_view_child_init(struct hikari_view_child *view_
+ wl_list_insert(&parent->children, &view_child->link);
+
+ struct wlr_subsurface *subsurface;
+- wl_list_for_each (subsurface, &surface->subsurfaces_below, parent_link) {
++ wl_list_for_each (subsurface, &surface->current.subsurfaces_below, current.link) {
+ view_subsurface_create(subsurface, parent);
+ }
+- wl_list_for_each (subsurface, &surface->subsurfaces_above, parent_link) {
++ wl_list_for_each (subsurface, &surface->current.subsurfaces_above, current.link) {
+ view_subsurface_create(subsurface, parent);
+ }
+ }
+--- src/workspace.c.orig 2021-04-09 17:37:23 UTC
++++ src/workspace.c
+@@ -120,7 +120,7 @@ hikari_workspace_quit_view(struct hikari_workspace *wo
+
+ if (focus_layer != NULL) {
+ assert(focus_view == NULL);
+- wlr_layer_surface_v1_close(focus_layer->surface);
++ wlr_layer_surface_v1_destroy(focus_layer->surface);
+ return;
+ }
+ #endif
+--- src/xdg_view.c.orig 2021-03-28 17:02:57 UTC
++++ src/xdg_view.c
+@@ -47,7 +47,7 @@ commit_handler(struct wl_listener *listener, void *dat
+
+ struct hikari_view *view = (struct hikari_view *)xdg_view;
+ struct wlr_xdg_surface *surface = xdg_view->surface;
+- uint32_t serial = surface->configure_serial;
++ uint32_t serial = surface->current.configure_serial;
+
+ assert(view->surface != NULL);
+
diff --git a/x11-wm/kwinft/Makefile b/x11-wm/kwinft/Makefile
index db7dddc78693..f69e232f1b3d 100644
--- a/x11-wm/kwinft/Makefile
+++ b/x11-wm/kwinft/Makefile
@@ -1,6 +1,7 @@
PORTNAME= kwinft
DISTVERSIONPREFIX= ${PORTNAME}@
DISTVERSION= 5.23.2
+PORTREVISION= 1
CATEGORIES= x11-wm
PATCH_SITES= ${GL_SITE}/${GL_ACCOUNT}/${GL_PROJECT}/-/commit/
diff --git a/x11-wm/labwc/Makefile b/x11-wm/labwc/Makefile
index de9f4b68cb4d..0d6c14afe20a 100644
--- a/x11-wm/labwc/Makefile
+++ b/x11-wm/labwc/Makefile
@@ -1,15 +1,25 @@
PORTNAME= labwc
DISTVERSION= 0.3.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-wm
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= a1ae16c1cf17.patch:-p1 # wlroots 0.15
+PATCHFILES+= 6fe058358dbc.patch:-p1 # wlroots 0.15
+PATCHFILES+= 3d15444b3aa8.patch:-p1 # wlroots 0.15
+PATCHFILES+= d11643bea5a4.patch:-p1 # wlroots 0.15
+PATCHFILES+= 329ca691da63.patch:-p1 # wlroots 0.15
+PATCHFILES+= 940577cb643b.patch:-p1 # wlroots 0.15
+PATCHFILES+= 73b8f06a262b.patch:-p1 # wlroots 0.15
+PATCHFILES+= 5db2ee171c54.patch:-p1 # wlroots 0.15
+
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Wayland stacking compositor
LICENSE= GPLv2
BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols \
- wlroots>=0.14.0<0.15.0:x11-toolkits/wlroots
+ wlroots>=0.15.0<0.16.0:x11-toolkits/wlroots
LIB_DEPENDS= libwayland-server.so:graphics/wayland \
libwlroots.so:x11-toolkits/wlroots \
libinput.so:x11/libinput \
diff --git a/x11-wm/labwc/distinfo b/x11-wm/labwc/distinfo
index e1bba827eb17..4c6691f37bc7 100644
--- a/x11-wm/labwc/distinfo
+++ b/x11-wm/labwc/distinfo
@@ -1,3 +1,19 @@
TIMESTAMP = 1637485788
SHA256 (labwc-labwc-0.3.0_GH0.tar.gz) = 035ae57bfdfa2b6453d07359cb0baf3c7ffd8192db63316a0f48db589c025787
SIZE (labwc-labwc-0.3.0_GH0.tar.gz) = 69020
+SHA256 (a1ae16c1cf17.patch) = 4963630c31e7639b6140d7170911114546abf4a03dd728923d1d96fc5a2441f5
+SIZE (a1ae16c1cf17.patch) = 679
+SHA256 (6fe058358dbc.patch) = 2446fd25203ee67d15bcf151900ace0a892a58ead70204bc598dc57a17a6b3de
+SIZE (6fe058358dbc.patch) = 1192
+SHA256 (3d15444b3aa8.patch) = 0f21320be80b8b969080f0116b442f634989d9ac9863c052e0e4fec47a764ec5
+SIZE (3d15444b3aa8.patch) = 967
+SHA256 (d11643bea5a4.patch) = 07e40be07c12e8a619e0eb0f5a111e33b5f99d4c0f37961d5865673cd335f330
+SIZE (d11643bea5a4.patch) = 736
+SHA256 (329ca691da63.patch) = 3329e1d84c362866bdcab4de83266d904f3242f8744850075e8836f0eeac546b
+SIZE (329ca691da63.patch) = 1177
+SHA256 (940577cb643b.patch) = 0931720d617f5999f09f302694c1415d69531cf6dcf603c588c97215ef670ee4
+SIZE (940577cb643b.patch) = 2202
+SHA256 (73b8f06a262b.patch) = 2166cf99db8bb2a79c3adaa231e4af0b46d5573570c582f143f9f0f2eeaa9d59
+SIZE (73b8f06a262b.patch) = 1596
+SHA256 (5db2ee171c54.patch) = 05438ce2665a8362b089abc97d0da831974170ba55f9d17433067d2532561ef9
+SIZE (5db2ee171c54.patch) = 5222
diff --git a/x11-wm/river/Makefile b/x11-wm/river/Makefile
index ff22e7611859..5ba4c5e55a9e 100644
--- a/x11-wm/river/Makefile
+++ b/x11-wm/river/Makefile
@@ -13,6 +13,8 @@ COMMENT= Dynamic tiling Wayland compositor
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
+BROKEN= fails to build with wlroots 0.15: outdated Zig bindings
+
BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>0:graphics/wayland-protocols \
wlroots>=0.14.0:x11-toolkits/wlroots \
diff --git a/x11-wm/sway/Makefile b/x11-wm/sway/Makefile
index 2c8917be79db..cdefc08c0bcc 100644
--- a/x11-wm/sway/Makefile
+++ b/x11-wm/sway/Makefile
@@ -1,6 +1,6 @@
PORTNAME= sway
DISTVERSION= 1.6.1
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@@ -8,6 +8,22 @@ PATCHFILES+= cd9d1038a822.patch:-p1 # https://github.com/swaywm/sway/pull/5090
PATCHFILES+= f98ca3ab7ca1.patch:-p1 # https://github.com/swaywm/sway/pull/5090
PATCHFILES+= 86b08e3257a4.patch:-p1 # WLR_RENDERER=vulkan
PATCHFILES+= ff468584abdd.patch:-p1 # https://github.com/swaywm/sway/pull/6566
+PATCHFILES+= c53ef023850f.patch:-p1 # wlroots 0.15
+PATCHFILES+= fd36289faa86.patch:-p1 # wlroots 0.15
+PATCHFILES+= 95a51aefc38a.patch:-p1 # wlroots 0.15
+PATCHFILES+= 711403015921.patch:-p1 # wlroots 0.15
+PATCHFILES+= c9060bcc12d0.patch:-p1 # wlroots 0.15
+PATCHFILES+= ae80bdedf998.patch:-p1 # wlroots 0.15
+PATCHFILES+= eb03298b4606.patch:-p1 # wlroots 0.15
+PATCHFILES+= b7b3ef6dcf90.patch:-p1 # wlroots 0.15
+PATCHFILES+= c11b5db4d6c1.patch:-p1 # wlroots 0.15
+PATCHFILES+= f67ed6772c27.patch:-p1 # wlroots 0.15
+PATCHFILES+= 5fd5d6434e9e.patch:-p1 # wlroots 0.15
+PATCHFILES+= 94680d1aa044.patch:-p1 # wlroots 0.15
+PATCHFILES+= 0c210a5e68ea.patch:-p1 # wlroots 0.15
+PATCHFILES+= 3e2f3f5d67b8.patch:-p1 # wlroots 0.15
+PATCHFILES+= 729e18bff5ff.patch:-p1 # wlroots 0.15
+PATCHFILES+= d475eb2d8089.patch:-p1 # wlroots 0.15
MAINTAINER= jbeich@FreeBSD.org
COMMENT= i3-compatible Wayland compositor
@@ -17,7 +33,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
wayland-protocols>=1.14:graphics/wayland-protocols \
- wlroots>=0.14.0<0.15.0:x11-toolkits/wlroots
+ wlroots>=0.15.0<0.16.0:x11-toolkits/wlroots
LIB_DEPENDS= libjson-c.so:devel/json-c \
libevdev.so:devel/libevdev \
libudev.so:devel/libudev-devd \
diff --git a/x11-wm/sway/distinfo b/x11-wm/sway/distinfo
index d4a6d66154dd..f572dc41ebad 100644
--- a/x11-wm/sway/distinfo
+++ b/x11-wm/sway/distinfo
@@ -9,3 +9,35 @@ SHA256 (86b08e3257a4.patch) = ff3399269a1d1cbdf9cd38255c7e4ce072c9562c3665784036
SIZE (86b08e3257a4.patch) = 932
SHA256 (ff468584abdd.patch) = 9803de05490e2e84b2c79d634837aeb880ba5b29c1c485707593af40fdddc3f6
SIZE (ff468584abdd.patch) = 2131
+SHA256 (c53ef023850f.patch) = 1bb46925d7e9085a20d4cb979f05bb9b4b0a1fd885faaf3af3f7100d6280d8d9
+SIZE (c53ef023850f.patch) = 705
+SHA256 (fd36289faa86.patch) = b62f414f719d2b2304551b990fd3a8d0651e24d78650ba0b082a693ee0224920
+SIZE (fd36289faa86.patch) = 8876
+SHA256 (95a51aefc38a.patch) = 0e23eaeea342e642a9ba38ef5768099e84dd03b447b91495c0a4f2e2a1e79dae
+SIZE (95a51aefc38a.patch) = 5118
+SHA256 (711403015921.patch) = 8b9cdd43cf4c7f6febc00049b8ff41b9407eda911fef83126f1f7b2ec7bf25d5
+SIZE (711403015921.patch) = 3101
+SHA256 (c9060bcc12d0.patch) = 19f8876995162e244a277019e4eaf76291b0bbe4013d74ded8509ea9eeccf8e6
+SIZE (c9060bcc12d0.patch) = 1760
+SHA256 (ae80bdedf998.patch) = c8065ac08cdd4c51eff7ea2261a8536942e64d016ad008baf58080dc61d2c94a
+SIZE (ae80bdedf998.patch) = 1772
+SHA256 (eb03298b4606.patch) = bd2140b5038d97cc7715dca952fec1f59dc79b243b9da3b088d291e6686eba54
+SIZE (eb03298b4606.patch) = 861
+SHA256 (b7b3ef6dcf90.patch) = 42d77ac75de836ada68acf038a2c2278981028a895bd7fad2a4517117a314150
+SIZE (b7b3ef6dcf90.patch) = 2340
+SHA256 (c11b5db4d6c1.patch) = 96d478208d9390b49b6f429653e082fc7b33afaeaccae503f977f5abef7d9199
+SIZE (c11b5db4d6c1.patch) = 854
+SHA256 (f67ed6772c27.patch) = 1042e40c9bb23e06c8b5d17a29de4508a14706013beafbe8602d18ad9f3d6231
+SIZE (f67ed6772c27.patch) = 2585
+SHA256 (5fd5d6434e9e.patch) = 4bf8eec44673cd3e1ffb05b418e76a028425f8d46e05accb7c8faf41e58047db
+SIZE (5fd5d6434e9e.patch) = 3051
+SHA256 (94680d1aa044.patch) = b7f4f09f3882d825c647127e60775f3b3a3563e4a24f323d6f1ca0bcb82a6125
+SIZE (94680d1aa044.patch) = 2971
+SHA256 (0c210a5e68ea.patch) = 85a1d824087adff2b12b0d6e36c33238be28a760889b6d36647d7608d6538254
+SIZE (0c210a5e68ea.patch) = 825
+SHA256 (3e2f3f5d67b8.patch) = 93afa35c723a687c80f4fb097e740b4cc4e064712b0e20aeac68dd9e047e8ffc
+SIZE (3e2f3f5d67b8.patch) = 6930
+SHA256 (729e18bff5ff.patch) = 84057f5efe10ccf4e7b5b2536edf37aa39ba230dcdf7cffc8dc7af7b9fc0c8b2
+SIZE (729e18bff5ff.patch) = 1285
+SHA256 (d475eb2d8089.patch) = 01ae1c03758fed3d58a86cbf442613f5b57f7dc7dacb0057869b85f543458841
+SIZE (d475eb2d8089.patch) = 9277
diff --git a/x11-wm/wayfire-plugins-extra/Makefile b/x11-wm/wayfire-plugins-extra/Makefile
index 379cc9d3e200..b062448b2aa7 100644
--- a/x11-wm/wayfire-plugins-extra/Makefile
+++ b/x11-wm/wayfire-plugins-extra/Makefile
@@ -1,9 +1,12 @@
PORTNAME= wayfire-plugins-extra
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= x11-wm
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= a8eca14c44b9.patch:-p1 # https://github.com/WayfireWM/wayfire-plugins-extra/pull/106
+
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Additional plugins for Wayfire
diff --git a/x11-wm/wayfire-plugins-extra/distinfo b/x11-wm/wayfire-plugins-extra/distinfo
index fda1482173f6..2af881fe3ae3 100644
--- a/x11-wm/wayfire-plugins-extra/distinfo
+++ b/x11-wm/wayfire-plugins-extra/distinfo
@@ -1,3 +1,5 @@
TIMESTAMP = 1611938557
SHA256 (WayfireWM-wayfire-plugins-extra-v0.7.0_GH0.tar.gz) = e6377e7f2cd6b0a19fe0a256c819f801ee1d963524ed4e4930b702474bc04287
SIZE (WayfireWM-wayfire-plugins-extra-v0.7.0_GH0.tar.gz) = 50385
+SHA256 (a8eca14c44b9.patch) = 99dd5f51ff2a27bbff2165ee80707ea3954c25c438bef5969f85bedcda410c7f
+SIZE (a8eca14c44b9.patch) = 1059
diff --git a/x11-wm/wayfire-plugins-extra/files/patch-wlroots-0.15 b/x11-wm/wayfire-plugins-extra/files/patch-wlroots-0.15
new file mode 100644
index 000000000000..6124414c61e5
--- /dev/null
+++ b/x11-wm/wayfire-plugins-extra/files/patch-wlroots-0.15
@@ -0,0 +1,27 @@
+../src/mag.cpp:176:30: error: no member named 'front_buffer' in 'wlr_output'
+ if (!output->handle->front_buffer)
+ ~~~~~~~~~~~~~~ ^
+../src/mag.cpp:184:52: error: no member named 'front_buffer' in 'wlr_output'
+ if (!wlr_buffer_get_dmabuf(output->handle->front_buffer, &dmabuf_attribs))
+ ~~~~~~~~~~~~~~ ^
+
+--- src/mag.cpp.orig 2021-01-29 16:42:37 UTC
++++ src/mag.cpp
+@@ -173,7 +173,7 @@ class wayfire_magnifier : public wf::plugin_interface_
+ {
+ wlr_dmabuf_attributes dmabuf_attribs;
+
+- if (!output->handle->front_buffer)
++ if (!output->handle->back_buffer)
+ {
+ LOGE("Got empty buffer on ", output->handle->name);
+ return;
+@@ -181,7 +181,7 @@ class wayfire_magnifier : public wf::plugin_interface_
+
+ /* This plugin only works if this function succeeds. It will not
+ * work with the x11 backend but works with drm, for example. */
+- if (!wlr_buffer_get_dmabuf(output->handle->front_buffer, &dmabuf_attribs))
++ if (!wlr_buffer_get_dmabuf(output->handle->back_buffer, &dmabuf_attribs))
+ {
+ LOGE("Failed reading output contents");
+ deactivate();
diff --git a/x11-wm/wayfire/Makefile b/x11-wm/wayfire/Makefile
index bb001929462a..8dd77be0c092 100644
--- a/x11-wm/wayfire/Makefile
+++ b/x11-wm/wayfire/Makefile
@@ -1,11 +1,22 @@
PORTNAME= wayfire
DISTVERSIONPREFIX= v
DISTVERSION= 0.7.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11-wm
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES+= 7b664f055249.patch:-p1 # https://github.com/WayfireWM/wayfire/pull/1230
+PATCHFILES+= 8096b2f6d190.patch:-p1 # wlroots 0.15
+PATCHFILES+= 394fc3a86db4.patch:-p1 # wlroots 0.15
+PATCHFILES+= 839c11ec4d39.patch:-p1 # wlroots 0.15
+PATCHFILES+= be3113dda0c9.patch:-p1 # wlroots 0.15
+PATCHFILES+= 2d212482870a.patch:-p1 # wlroots 0.15
+PATCHFILES+= e6f403af09cc.patch:-p1 # wlroots 0.15
+PATCHFILES+= 7355cf0f1f64.patch:-p1 # wlroots 0.15
+PATCHFILES+= f9446a5d7496.patch:-p1 # wlroots 0.15
+PATCHFILES+= a4e83480ad60.patch:-p1 # wlroots 0.15
+PATCHFILES+= 292b0d28aab5.patch:-p1 # wlroots 0.15
+PATCHFILES+= 6603ba65e1c4.patch:-p1 # wlroots 0.15
MAINTAINER= jbeich@FreeBSD.org
COMMENT= 3D Wayland compositor
@@ -18,7 +29,7 @@ BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
${LOCALBASE}/include/xf86drmMode.h:graphics/libdrm \
wayland-protocols>=1.12:graphics/wayland-protocols \
glm>=0.9.8:math/glm \
- wlroots>=0.14.0<0.15.0:x11-toolkits/wlroots
+ wlroots>=0.15.0<0.16.0:x11-toolkits/wlroots
LIB_DEPENDS= libinotify.so:devel/libinotify \
libwf-config.so:devel/wf-config \
libpng.so:graphics/png \
diff --git a/x11-wm/wayfire/distinfo b/x11-wm/wayfire/distinfo
index 589e5ae10034..bc581a9fb07b 100644
--- a/x11-wm/wayfire/distinfo
+++ b/x11-wm/wayfire/distinfo
@@ -7,3 +7,25 @@ SHA256 (WayfireWM-wf-utils-889fdaf_GH0.tar.gz) = 8848592f4a04dec60c3e09a996f15d1
SIZE (WayfireWM-wf-utils-889fdaf_GH0.tar.gz) = 48477
SHA256 (7b664f055249.patch) = 080c3674c9f27cd49fb1c32e0aec0dc126f901368643653e93f6c0e3e390f269
SIZE (7b664f055249.patch) = 625
+SHA256 (8096b2f6d190.patch) = 4e28fac7d3f3e7240febfe41a69a66b47498406f60314f21168488c7245f54b0
+SIZE (8096b2f6d190.patch) = 1021
+SHA256 (394fc3a86db4.patch) = 749541ea922f24ce2b2db6e435f0e8b579b4cbbd19bc17e2b80659094dfd91e1
+SIZE (394fc3a86db4.patch) = 763
+SHA256 (839c11ec4d39.patch) = d9b7065820448e7acd169c79979d818534913ae71abe5cb203d2699bb7690c78
+SIZE (839c11ec4d39.patch) = 1200
+SHA256 (be3113dda0c9.patch) = 7603ac5f6008a4f275f208683bcc2618e078943053308c5292670b902a628927
+SIZE (be3113dda0c9.patch) = 3224
+SHA256 (2d212482870a.patch) = ecb6c2f2f91ee19a808ef209e0d141c466b02d28c3bc593a6830988014d399e6
+SIZE (2d212482870a.patch) = 1249
+SHA256 (e6f403af09cc.patch) = d7ea1e35a74a8a8368e8c09d1d3ba4611409862e1437ec600655470ec44d9ecd
+SIZE (e6f403af09cc.patch) = 1308
+SHA256 (7355cf0f1f64.patch) = dbc57120e2e45e95f97027ad6c52d0d74b388f304bdea3b3c3a13120fdfc103c
+SIZE (7355cf0f1f64.patch) = 1327
+SHA256 (f9446a5d7496.patch) = 52959a1c416c3ec8ef0c262cce71267523bf970f71ceba77cc94b99c7423605d
+SIZE (f9446a5d7496.patch) = 1230
+SHA256 (a4e83480ad60.patch) = f1e5aae88a83182cf5fc8522ff88399e31d6cd7c91985c3d89bd5cc31d75e150
+SIZE (a4e83480ad60.patch) = 917
+SHA256 (292b0d28aab5.patch) = e97d20b71a13bc152f2dd004dce8e92196013652b502ace11a947e0b69f42b1c
+SIZE (292b0d28aab5.patch) = 3585
+SHA256 (6603ba65e1c4.patch) = e4a31e4fd9b959a13c5ab4fd749f74b053821983ae0db75f0447e673acf33140
+SIZE (6603ba65e1c4.patch) = 918
diff --git a/x11-wm/wayfire/files/patch-wlroots-0.15 b/x11-wm/wayfire/files/patch-wlroots-0.15
new file mode 100644
index 000000000000..0aa3a5a6cea2
--- /dev/null
+++ b/x11-wm/wayfire/files/patch-wlroots-0.15
@@ -0,0 +1,121 @@
+https://github.com/WayfireWM/wayfire/issues/1351
+
+In file included from ../src/core/core.cpp:17:
+../src/api/wayfire/nonstd/wlroots-full.hpp:85:10: fatal error: 'wlr/backend/noop.h' file not found
+#include <wlr/backend/noop.h>
+ ^~~~~~~~~~~~~~~~~~~~
+../src/core/output-layout.cpp:630:25: error: no member named 'front_buffer' in 'wlr_output'
+ if (wo->handle->front_buffer == NULL)
+ ~~~~~~~~~~ ^
+../src/core/output-layout.cpp:637:48: error: no member named 'front_buffer' in 'wlr_output'
+ if (!wlr_buffer_get_dmabuf(wo->handle->front_buffer, &attributes))
+ ~~~~~~~~~~ ^
+
+--- plugins/single_plugins/preserve-output.cpp.orig 2021-06-23 13:11:20 UTC
++++ plugins/single_plugins/preserve-output.cpp
+@@ -297,7 +297,7 @@ class wayfire_preserve_output : public wf::plugin_inte
+ public:
+ void init() override
+ {
+- if (wlr_output_is_noop(output->handle))
++ if (wlr_output_is_headless(output->handle))
+ {
+ // Don't do anything for NO-OP outputs
+ return;
+--- src/api/wayfire/nonstd/wlroots-full.hpp.orig 2021-06-23 13:11:20 UTC
++++ src/api/wayfire/nonstd/wlroots-full.hpp
+@@ -81,7 +81,7 @@ extern "C"
+ #if WLR_HAS_X11_BACKEND
+ #include <wlr/backend/x11.h>
+ #endif
+-#include <wlr/backend/noop.h>
++#include <wlr/backend/headless.h>
+ #include <wlr/backend/wayland.h>
+ #undef static
+ #include <wlr/backend/libinput.h>
+--- src/core/output-layout.cpp.orig 2021-06-23 13:11:20 UTC
++++ src/core/output-layout.cpp
+@@ -439,7 +439,7 @@ struct output_layout_output_t
+ * focused */
+ wlr_output *focused = get_core().get_active_output() ?
+ get_core().get_active_output()->handle : nullptr;
+- if (!focused || wlr_output_is_noop(focused))
++ if (!focused || wlr_output_is_headless(focused))
+ {
+ get_core().focus_output(wo);
+ }
+@@ -627,14 +627,14 @@ struct output_layout_output_t
+ }
+
+ wlr_dmabuf_attributes attributes;
+- if (wo->handle->front_buffer == NULL)
++ if (wo->handle->back_buffer == NULL)
+ {
+ LOGE("Got empty buffer on ", wo->handle->name);
+
+ return;
+ }
+
+- if (!wlr_buffer_get_dmabuf(wo->handle->front_buffer, &attributes))
++ if (!wlr_buffer_get_dmabuf(wo->handle->back_buffer, &attributes))
+ {
+ LOGE("Failed reading mirrored output contents from ", wo->handle->name);
+
+@@ -653,7 +653,7 @@ struct output_layout_output_t
+
+ void set_enabled(bool enabled)
+ {
+- if (wlr_output_is_noop(handle))
++ if (wlr_output_is_headless(handle))
+ {
+ return;
+ }
+@@ -740,7 +740,7 @@ struct output_layout_output_t
+ */
+ void emit_configuration_changed(uint32_t changed_fields)
+ {
+- if (!wlr_output_is_noop(handle) && changed_fields)
++ if (!wlr_output_is_headless(handle) && changed_fields)
+ {
+ wf::output_configuration_changed_signal data{current_state};
+ data.output = output.get();
+@@ -903,7 +903,7 @@ class output_layout_t::impl
+ on_config_reload = [=] (void*) { reconfigure_from_config(); };
+ get_core().connect_signal("reload-config", &on_config_reload);
+
+- noop_backend = wlr_noop_backend_create(get_core().display);
++ noop_backend = wlr_headless_backend_create(get_core().display);
+ wlr_backend_start(noop_backend);
+
+ get_core().connect_signal("_backend_started", &on_backend_started);
+@@ -989,7 +989,7 @@ class output_layout_t::impl
+
+ if (!noop_output)
+ {
+- auto handle = wlr_noop_add_output(noop_backend);
++ auto handle = wlr_headless_add_output(noop_backend, 800, 600);
+ noop_output = std::make_unique<output_layout_output_t>(handle);
+ }
+
+--- src/core/wm.cpp.orig 2021-06-23 13:11:20 UTC
++++ src/core/wm.cpp
+@@ -48,7 +48,7 @@ void wayfire_exit::init()
+ int cnt_other_outputs = 0;
+ for (auto& wo : wf::get_core().output_layout->get_outputs())
+ {
+- if ((wo != output) && !wlr_output_is_noop(wo->handle))
++ if ((wo != output) && !wlr_output_is_headless(wo->handle))
+ {
+ ++cnt_other_outputs;
+ }
+--- src/output/render-manager.cpp 2021-06-23 13:11:20 UTC
++++ src/output/render-manager.cpp
+@@ -691,7 +691,7 @@ class wf::render_manager::impl
+
+ on_frame.set_callback([&] (void*)
+ {
+- if (wlr_output_is_noop(output->handle))
++ if (wlr_output_is_headless(output->handle))
+ {
+ return;
+ }