git: 2367a223013c - main - x11-wm/hyprland: update to 0.19.1.b
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 08 Dec 2022 11:34:32 UTC
The branch main has been updated by jbeich: URL: https://cgit.FreeBSD.org/ports/commit/?id=2367a223013c949592ba09c474f7f5f8bff0e6cb commit 2367a223013c949592ba09c474f7f5f8bff0e6cb Author: Jan Beich <jbeich@FreeBSD.org> AuthorDate: 2022-12-06 13:15:18 +0000 Commit: Jan Beich <jbeich@FreeBSD.org> CommitDate: 2022-12-08 11:34:18 +0000 x11-wm/hyprland: update to 0.19.1.b Changes: https://github.com/hyprwm/Hyprland/releases/tag/v0.19.0beta Changes: https://github.com/hyprwm/Hyprland/releases/tag/v0.19.1beta Reported by: GitHub (watch releases) --- x11-wm/hyprland/Makefile | 10 ++- x11-wm/hyprland/distinfo | 8 +- x11-wm/hyprland/files/patch-wlroots-0.16 | 136 +++++++++++++++++++++++++++++++ 3 files changed, 150 insertions(+), 4 deletions(-) diff --git a/x11-wm/hyprland/Makefile b/x11-wm/hyprland/Makefile index 2db2ecf6876b..d39f1dba76f8 100644 --- a/x11-wm/hyprland/Makefile +++ b/x11-wm/hyprland/Makefile @@ -1,6 +1,6 @@ PORTNAME= hyprland DISTVERSIONPREFIX= v -DISTVERSION= 0.18.0beta +DISTVERSION= 0.19.1beta CATEGORIES= x11-wm wayland MAINTAINER= jbeich@FreeBSD.org @@ -26,6 +26,7 @@ USE_GNOME= cairo USE_XORG= pixman GH_ACCOUNT= hyprwm GH_PROJECT= Hyprland +GH_TUPLE= hyprwm:hyprland-protocols:0dcff94:hyprland_protocols/subprojects/hyprland-protocols LDFLAGS+= -static-libstdc++ -static-libgcc # avoid libc++ conflict OPTIONS_DEFINE= X11 @@ -45,4 +46,11 @@ post-patch: @${REINPLACE_CMD} 's,/usr/share,${DATADIR:H},' \ ${WRKSRC}/src/render/OpenGL.cpp +.ifdef GH_TUPLE +post-install: +# XXX USES=meson invokes ninja directly, so doesn't support --skip-subprojects + @${RM} -r ${STAGEDIR}${PREFIX}/share/pkgconfig + @${RM} -r ${STAGEDIR}${PREFIX}/share/protocols +.endif + .include <bsd.port.mk> diff --git a/x11-wm/hyprland/distinfo b/x11-wm/hyprland/distinfo index 84b9c28bad08..b989da06ee8c 100644 --- a/x11-wm/hyprland/distinfo +++ b/x11-wm/hyprland/distinfo @@ -1,3 +1,5 @@ -TIMESTAMP = 1668612936 -SHA256 (hyprwm-Hyprland-v0.18.0beta_GH0.tar.gz) = 6b2c07263fbd874faa498d211f801191a947ea41b370cbd0f1fa0a58b7fe5a54 -SIZE (hyprwm-Hyprland-v0.18.0beta_GH0.tar.gz) = 686959 +TIMESTAMP = 1670439422 +SHA256 (hyprwm-Hyprland-v0.19.1beta_GH0.tar.gz) = 69b3fac34ec565bb4b3ae5d89c264e65f196d8eb08cfb4b4214bf541fe81c2b6 +SIZE (hyprwm-Hyprland-v0.19.1beta_GH0.tar.gz) = 697744 +SHA256 (hyprwm-hyprland-protocols-0dcff94_GH0.tar.gz) = 8a98166d88af0a59dd57ead5b3991f774eac6846f3fe713a6ef9d5754137d025 +SIZE (hyprwm-hyprland-protocols-0dcff94_GH0.tar.gz) = 4689 diff --git a/x11-wm/hyprland/files/patch-wlroots-0.16 b/x11-wm/hyprland/files/patch-wlroots-0.16 new file mode 100644 index 000000000000..1d488a5289f4 --- /dev/null +++ b/x11-wm/hyprland/files/patch-wlroots-0.16 @@ -0,0 +1,136 @@ +Revert to wlroots 0.16 API as 0.17 is a moving target, so hard to +use as system package with more than one consumer. + +https://github.com/hyprwm/Hyprland/commit/df132e5ff339 +https://github.com/hyprwm/Hyprland/commit/c012e3d66b21 +https://github.com/hyprwm/Hyprland/commit/d6b3bfc48e22 + +--- src/Compositor.cpp.orig 2022-12-06 13:15:18 UTC ++++ src/Compositor.cpp +@@ -53,7 +53,7 @@ CCompositor::CCompositor() { + wl_event_loop_add_signal(m_sWLEventLoop, SIGTERM, handleCritSignal, nullptr); + //wl_event_loop_add_signal(m_sWLEventLoop, SIGINT, handleCritSignal, nullptr); + +- m_sWLRBackend = wlr_backend_autocreate(m_sWLDisplay, &m_sWLRSession); ++ m_sWLRBackend = wlr_backend_autocreate(m_sWLDisplay); + + if (!m_sWLRBackend) { + Debug::log(CRIT, "m_sWLRBackend was NULL!"); +@@ -76,10 +76,11 @@ CCompositor::CCompositor() { + wlr_renderer_init_wl_shm(m_sWLRRenderer, m_sWLDisplay); + + if (wlr_renderer_get_dmabuf_texture_formats(m_sWLRRenderer)) { +- if (wlr_renderer_get_drm_fd(m_sWLRRenderer) >= 0) ++ if (wlr_renderer_get_drm_fd(m_sWLRRenderer) >= 0) { + wlr_drm_create(m_sWLDisplay, m_sWLRRenderer); ++ } + +- m_sWLRLinuxDMABuf = wlr_linux_dmabuf_v1_create_with_renderer(m_sWLDisplay, 4, m_sWLRRenderer); ++ m_sWLRLinuxDMABuf = wlr_linux_dmabuf_v1_create(m_sWLDisplay, m_sWLRRenderer); + } + + m_sWLRAllocator = wlr_allocator_autocreate(m_sWLRBackend, m_sWLRRenderer); +@@ -131,7 +132,7 @@ CCompositor::CCompositor() { + + m_sWLRIdle = wlr_idle_create(m_sWLDisplay); + +- m_sWLRLayerShell = wlr_layer_shell_v1_create(m_sWLDisplay, 4); ++ m_sWLRLayerShell = wlr_layer_shell_v1_create(m_sWLDisplay); + + m_sWLRServerDecoMgr = wlr_server_decoration_manager_create(m_sWLDisplay); + m_sWLRXDGDecoMgr = wlr_xdg_decoration_manager_v1_create(m_sWLDisplay); +@@ -171,6 +172,8 @@ CCompositor::CCompositor() { + wlr_xdg_foreign_v2_create(m_sWLDisplay, m_sWLRForeignRegistry); + + m_sWLRPointerGestures = wlr_pointer_gestures_v1_create(m_sWLDisplay); ++ ++ m_sWLRSession = wlr_backend_get_session(m_sWLRBackend); + + m_sWLRTextInputMgr = wlr_text_input_manager_v3_create(m_sWLDisplay); + +--- src/events/Events.hpp.orig 2022-12-06 13:15:18 UTC ++++ src/events/Events.hpp +@@ -96,7 +96,6 @@ namespace Events { + // Monitor part 2 the sequel + DYNLISTENFUNC(monitorFrame); + DYNLISTENFUNC(monitorDestroy); +- DYNLISTENFUNC(monitorStateRequest); + + // XWayland + LISTENER(readyXWayland); +--- src/events/Monitors.cpp.orig 2022-12-06 13:15:18 UTC ++++ src/events/Monitors.cpp +@@ -266,10 +266,11 @@ void Events::listener_monitorFrame(void* owner, void* + damageBlinkCleanup = 0; + } + +- if (wlr_renderer_begin(g_pCompositor->m_sWLRRenderer, PMONITOR->vecPixelSize.x, PMONITOR->vecPixelSize.y)) { +- wlr_output_render_software_cursors(PMONITOR->output, NULL); +- wlr_renderer_end(g_pCompositor->m_sWLRRenderer); +- } ++ wlr_renderer_begin(g_pCompositor->m_sWLRRenderer, PMONITOR->vecPixelSize.x, PMONITOR->vecPixelSize.y); ++ ++ wlr_output_render_software_cursors(PMONITOR->output, NULL); ++ ++ wlr_renderer_end(g_pCompositor->m_sWLRRenderer); + } + + g_pHyprOpenGL->end(); +@@ -354,11 +355,4 @@ void Events::listener_monitorDestroy(void* owner, void + pMostHzMonitor = pMonitorMostHz; + } + } +-} +- +-void Events::listener_monitorStateRequest(void* owner, void* data) { +- const auto PMONITOR = (CMonitor*)owner; +- const auto E = (wlr_output_event_request_state*)data; +- +- wlr_output_commit_state(PMONITOR->output, E->state); + } +--- src/helpers/Monitor.cpp.orig 2022-12-06 13:15:18 UTC ++++ src/helpers/Monitor.cpp +@@ -5,10 +5,8 @@ void CMonitor::onConnect(bool noRule) { + void CMonitor::onConnect(bool noRule) { + hyprListener_monitorDestroy.removeCallback(); + hyprListener_monitorFrame.removeCallback(); +- hyprListener_monitorStateRequest.removeCallback(); + hyprListener_monitorFrame.initCallback(&output->events.frame, &Events::listener_monitorFrame, this); + hyprListener_monitorDestroy.initCallback(&output->events.destroy, &Events::listener_monitorDestroy, this); +- hyprListener_monitorStateRequest.initCallback(&output->events.request_state, &Events::listener_monitorStateRequest, this); + + if (m_bEnabled) { + wlr_output_enable(output, 1); +@@ -185,7 +183,7 @@ void CMonitor::onDisconnect() { + if (!BACKUPMON) { + Debug::log(WARN, "Unplugged last monitor, entering an unsafe state. Good luck my friend."); + +- hyprListener_monitorStateRequest.removeCallback(); ++ hyprListener_monitorMode.removeCallback(); + hyprListener_monitorDestroy.removeCallback(); + + g_pCompositor->m_bUnsafeState = true; +--- src/helpers/Monitor.hpp.orig 2022-12-06 13:15:18 UTC ++++ src/helpers/Monitor.hpp +@@ -56,7 +56,7 @@ class CMonitor { (public) + + DYNLISTENER(monitorFrame); + DYNLISTENER(monitorDestroy); +- DYNLISTENER(monitorStateRequest); ++ DYNLISTENER(monitorMode); + + // hack: a group = workspaces on a monitor. + // I don't really care lol :P +--- src/helpers/SubsurfaceTree.cpp.orig 2022-12-06 13:15:18 UTC ++++ src/helpers/SubsurfaceTree.cpp +@@ -3,8 +3,8 @@ void addSurfaceGlobalOffset(SSurfaceTreeNode* node, in + #include "../Compositor.hpp" + + void addSurfaceGlobalOffset(SSurfaceTreeNode* node, int* lx, int* ly) { +- *lx += node->pSurface->current.dx; +- *ly += node->pSurface->current.dy; ++ *lx += node->pSurface->sx; ++ *ly += node->pSurface->sy; + + if (node->offsetfn) { + // This is the root node