aboutsummaryrefslogtreecommitdiff
path: root/x11-wm
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2022-12-06 13:15:18 +0000
committerJan Beich <jbeich@FreeBSD.org>2022-12-08 11:34:18 +0000
commit2367a223013c949592ba09c474f7f5f8bff0e6cb (patch)
tree6f32d51d4c68d1ae869e3a7d934500f6c385e12a /x11-wm
parentc292cfa4cd828ef4e54c8a80ea2d300554c58a1e (diff)
downloadports-2367a223013c949592ba09c474f7f5f8bff0e6cb.tar.gz
ports-2367a223013c949592ba09c474f7f5f8bff0e6cb.zip
x11-wm/hyprland: update to 0.19.1.b
Diffstat (limited to 'x11-wm')
-rw-r--r--x11-wm/hyprland/Makefile10
-rw-r--r--x11-wm/hyprland/distinfo8
-rw-r--r--x11-wm/hyprland/files/patch-wlroots-0.16136
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