git: ddd8debe464e - main - x11-wm/hyprland: unbreak after 7a0f9a28e0d3

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Sat, 03 Jun 2023 14:58:40 UTC
The branch main has been updated by jbeich:

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

commit ddd8debe464e1cdedba0042e74a109ea7ad9fe76
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2023-06-03 12:34:55 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2023-06-03 14:56:48 +0000

    x11-wm/hyprland: unbreak after 7a0f9a28e0d3
    
    ../src/events/Misc.cpp:113:91: error: no member named 'map' in 'wlr_drag_icon::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_data_device.h:97:2)'
            g_pInputManager->m_sDrag.hyprListener_mapIcon.initCallback(&wlrDrag->icon->events.map, &Events::listener_mapDragIcon, &g_pInputManager->m_sDrag, "DragIcon");
                                                                        ~~~~~~~~~~~~~~~~~~~~~ ^
    ../src/events/Misc.cpp:114:93: error: no member named 'unmap' in 'wlr_drag_icon::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_data_device.h:97:2)'
            g_pInputManager->m_sDrag.hyprListener_unmapIcon.initCallback(&wlrDrag->icon->events.unmap, &Events::listener_unmapDragIcon, &g_pInputManager->m_sDrag, "DragIcon");
                                                                          ~~~~~~~~~~~~~~~~~~~~~ ^
    ../src/helpers/SubsurfaceTree.cpp:153:72: error: no member named 'map' in 'wlr_subsurface::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_subcompositor.h:45:2)'
        PNEWSUBSURFACE->hyprListener_map.initCallback(&PSUBSURFACE->events.map, &Events::listener_mapSubsurface, PNEWSUBSURFACE, "Subsurface");
                                                       ~~~~~~~~~~~~~~~~~~~ ^
    ../src/helpers/SubsurfaceTree.cpp:154:74: error: no member named 'unmap' in 'wlr_subsurface::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_subcompositor.h:45:2)'
        PNEWSUBSURFACE->hyprListener_unmap.initCallback(&PSUBSURFACE->events.unmap, &Events::listener_unmapSubsurface, PNEWSUBSURFACE, "Subsurface");
                                                         ~~~~~~~~~~~~~~~~~~~ ^
    ../src/helpers/SubsurfaceTree.cpp:159:22: error: no member named 'mapped' in 'wlr_subsurface'
        if (PSUBSURFACE->mapped)
            ~~~~~~~~~~~  ^
    ../src/events/Layers.cpp:47:86: error: no member named 'map' in 'wlr_layer_surface_v1::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_layer_shell_v1.h:92:2)'
        layerSurface->hyprListener_mapLayerSurface.initCallback(&WLRLAYERSURFACE->events.map, &Events::listener_mapLayerSurface, layerSurface, "layerSurface");
                                                                 ~~~~~~~~~~~~~~~~~~~~~~~ ^
    ../src/events/Layers.cpp:48:88: error: no member named 'unmap' in 'wlr_layer_surface_v1::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_layer_shell_v1.h:92:2)'
        layerSurface->hyprListener_unmapLayerSurface.initCallback(&WLRLAYERSURFACE->events.unmap, &Events::listener_unmapLayerSurface, layerSurface, "layerSurface");
                                                                   ~~~~~~~~~~~~~~~~~~~~~~~ ^
    ../src/events/Layers.cpp:112:33: error: no member named 'mapped' in 'wlr_layer_surface_v1'
        layersurface->layerSurface->mapped = true;
        ~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
    ../src/events/Layers.cpp:207:37: error: no member named 'mapped' in 'wlr_layer_surface_v1'
        if (layersurface->layerSurface->mapped)
            ~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
    ../src/events/Layers.cpp:208:37: error: no member named 'mapped' in 'wlr_layer_surface_v1'
            layersurface->layerSurface->mapped = false;
            ~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
    ../src/events/Popups.cpp:59:76: error: no member named 'map' in 'wlr_xdg_surface::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_xdg_shell.h:263:2)'
        pHyprPopup->hyprListener_mapPopupXDG.initCallback(&popup->base->events.map, &Events::listener_mapPopupXDG, pHyprPopup, "HyprPopup");
                                                           ~~~~~~~~~~~~~~~~~~~ ^
    ../src/events/Popups.cpp:60:78: error: no member named 'unmap' in 'wlr_xdg_surface::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_xdg_shell.h:263:2)'
        pHyprPopup->hyprListener_unmapPopupXDG.initCallback(&popup->base->events.unmap, &Events::listener_unmapPopupXDG, pHyprPopup, "HyprPopup");
                                                             ~~~~~~~~~~~~~~~~~~~ ^
    ../src/managers/input/InputMethodRelay.cpp:143:88: error: no member named 'map' in 'wlr_input_popup_surface_v2::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_input_method_v2.h:68:2)'
                PNEWPOPUP->hyprListener_mapPopup.initCallback(&PNEWPOPUP->pSurface->events.map, &Events::listener_mapInputPopup, PNEWPOPUP, "IME Popup");
                                                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
    ../src/managers/input/InputMethodRelay.cpp:144:90: error: no member named 'unmap' in 'wlr_input_popup_surface_v2::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_input_method_v2.h:68:2)'
                PNEWPOPUP->hyprListener_unmapPopup.initCallback(&PNEWPOPUP->pSurface->events.unmap, &Events::listener_unmapInputPopup, PNEWPOPUP, "IME Popup");
                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
    ../src/managers/input/InputMethodRelay.cpp:168:28: error: no member named 'mapped' in 'wlr_input_popup_surface_v2'
        if (!pPopup->pSurface->mapped)
             ~~~~~~~~~~~~~~~~  ^
    ../src/managers/input/InputMethodRelay.cpp:283:28: error: no member named 'mapped' in 'wlr_input_popup_surface_v2'
        if (!pPopup->pSurface->mapped)
             ~~~~~~~~~~~~~~~~  ^
    ../src/Window.cpp:400:83: error: no member named 'unmap' in 'wlr_xwayland_surface::(unnamed struct at /usr/local/wlroots-devel/include/wlr/xwayland/xwayland.h:143:2)'
        hyprListener_unmapWindow.initCallback(m_bIsX11 ? &m_uSurface.xwayland->events.unmap : &m_uSurface.xdg->events.unmap, &Events::listener_unmapWindow, this, "CWindow");
                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
    ../src/Window.cpp:400:115: error: no member named 'unmap' in 'wlr_xdg_surface::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_xdg_shell.h:263:2)'
        hyprListener_unmapWindow.initCallback(m_bIsX11 ? &m_uSurface.xwayland->events.unmap : &m_uSurface.xdg->events.unmap, &Events::listener_unmapWindow, this, "CWindow");
                                                                                               ~~~~~~~~~~~~~~~~~~~~~~ ^
    ../src/events/Windows.cpp:862:44: error: no member named 'mapped' in 'wlr_xwayland_surface'
            if (!PWINDOW->m_uSurface.xwayland->mapped)
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
    ../src/events/Windows.cpp:957:40: error: no member named 'mapped' in 'wlr_xwayland_surface'
        if (!PWINDOW->m_uSurface.xwayland->mapped || !PWINDOW->m_bMappedX11) {
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
    ../src/events/Windows.cpp:1059:72: error: no member named 'map' in 'wlr_xwayland_surface::(unnamed struct at /usr/local/wlroots-devel/include/wlr/xwayland/xwayland.h:143:2)'
        PNEWWINDOW->hyprListener_mapWindow.initCallback(&XWSURFACE->events.map, &Events::listener_mapWindow, PNEWWINDOW, "XWayland Window");
                                                         ~~~~~~~~~~~~~~~~~ ^
    ../src/events/Windows.cpp:1077:73: error: no member named 'map' in 'wlr_xdg_surface::(unnamed struct at /usr/local/wlroots-devel/include/wlr/types/wlr_xdg_shell.h:263:2)'
        PNEWWINDOW->hyprListener_mapWindow.initCallback(&XDGSURFACE->events.map, &Events::listener_mapWindow, PNEWWINDOW, "XDG Window");
                                                         ~~~~~~~~~~~~~~~~~~ ^
    ../src/Compositor.cpp:989:91: error: no member named 'mapped' in 'wlr_layer_surface_v1'
            if (ls->fadingOut || !ls->layerSurface || (ls->layerSurface && !ls->layerSurface->mapped) || ls->alpha.fl() == 0.f)
                                                                            ~~~~~~~~~~~~~~~~  ^
---
 x11-wm/hyprland/Makefile | 17 ++++++++++++++---
 x11-wm/hyprland/distinfo |  4 ++++
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile
index b3f5e77f135c..c72c15473855 100644
--- a/x11-wm/hyprland/Makefile
+++ b/x11-wm/hyprland/Makefile
@@ -1,8 +1,13 @@
 PORTNAME=	hyprland
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.26.0
+PORTREVISION=	1
 CATEGORIES=	x11-wm wayland
 
+PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+=	147e96237006.patch:-p1 # wlroots 0.17
+PATCHFILES+=	c5a7202cd9a4.patch:-p1 # wlroots 0.17
+
 MAINTAINER=	jbeich@FreeBSD.org
 COMMENT=	Dynamic tiling Wayland compositor that doesn't sacrifice on its looks #'
 WWW=		https://hyprland.org/
@@ -10,12 +15,10 @@ WWW=		https://hyprland.org/
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BROKEN=		fails to build after https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4043
-
 BUILD_DEPENDS=	cmake:devel/cmake-core \
 		evdev-proto>0:devel/evdev-proto \
 		wayland-protocols>=1.25:graphics/wayland-protocols \
-		wlroots>=0.16.0.346<0.17.0:x11-toolkits/wlroots
+		wlroots>=0.16.0.474<0.17.0:x11-toolkits/wlroots
 LIB_DEPENDS=	libwayland-server.so:graphics/wayland \
 		libwlroots.so:x11-toolkits/wlroots \
 		libinput.so:x11/libinput \
@@ -38,6 +41,14 @@ OPTIONS_DEFAULT=X11
 X11_USE=		XORG=xcb
 X11_MESON_ENABLED=	xwayland
 
+post-extract:
+.if defined(PATCHFILES) && ${PATCHFILES:M147e96237006*}
+# Pretend to be a regular file for vendor patch to apply as is
+	@${RMDIR} ${WRKSRC}/subprojects/wlroots
+	@${ECHO_CMD} "Subproject commit 6668c822b3bf58ca5af5d370ef03b075be3e4d27" \
+		>${WRKSRC}/subprojects/wlroots
+.endif
+
 post-patch:
 # Extract (snapshot) version from the port instead of meson.build
 	@${REINPLACE_CMD} -i .nogit -e "/GIT_BRANCH/s/run_command.*/'main'/" \
diff --git a/x11-wm/hyprland/distinfo b/x11-wm/hyprland/distinfo
index 9a6834bb5a6f..b1a9d8090327 100644
--- a/x11-wm/hyprland/distinfo
+++ b/x11-wm/hyprland/distinfo
@@ -7,3 +7,7 @@ SHA256 (canihavesomecoffee-udis86-1.7.2-186-g5336633_GH0.tar.gz) = 69aff959179ff
 SIZE (canihavesomecoffee-udis86-1.7.2-186-g5336633_GH0.tar.gz) = 116938
 SHA256 (llvm-llvm-project-llvmorg-16.0.1_GH0.tar.gz) = b5a9ff1793b1e2d388a3819bf35797002b1d2e40bb35a10c65605e0ea1435271
 SIZE (llvm-llvm-project-llvmorg-16.0.1_GH0.tar.gz) = 179289803
+SHA256 (147e96237006.patch) = ec9576ce850dfc325fe9a72bcb4174b73de2b9e0310a5e9f457b44580db574ab
+SIZE (147e96237006.patch) = 16889
+SHA256 (c5a7202cd9a4.patch) = bd7c9f3c4d7b5dc15a94541d8d8d3efa385eeac4dff1b3726e734beaa77e369e
+SIZE (c5a7202cd9a4.patch) = 1027