Index | Thread | Search

From:
Matthieu Herrb <matthieu@openbsd.org>
Subject:
Re: update wayland/wayfire current snapshot
To:
Landry Breuil <landry@openbsd.org>, ports@openbsd.org
Date:
Wed, 27 Aug 2025 23:04:34 +0200

Download raw body.

Thread
On Sun, Aug 17, 2025 at 05:00:03PM +0200, Matthieu Herrb wrote:
> Update wayfire to -current snapshot to support wlroots 0.19.
> 
> Note that this frankenstein wf-config / wayfire snapshot is only a
> temporary hack waiting for a real wayfire 0.10 release. I don't know
> when it's going to happen, but the development is pretty active.
> 
> They switched from  nlohmann-json to yyjson for json support.
> 
> An alternative to this hacky snapshot would be to mark the port
> BROKEN, waiting ffor the proper 0.10 release.
> 
0.10.0 has been released. New patch (and while here drop build
dependency on nlohmann-json lib that was replaced by yyjson)

ok ?

Index: Makefile
===================================================================
RCS file: /local/cvs/ports/wayland/wayfire/Makefile,v
diff -u -p -u -r1.12 Makefile
--- Makefile	14 Aug 2025 15:10:34 -0000	1.12
+++ Makefile	27 Aug 2025 20:47:12 -0000
@@ -1,11 +1,10 @@
 COMMENT =	modular and extensible wayland compositor
 
-V =		0.9.0pl18
+V =		0.10.0
 GH_ACCOUNT =	WayfireWM
 GH_PROJECT =	wayfire
-GH_COMMIT =	3d3f426f7de8a24117f6c1d33c8dead1bc80b7e9
+GH_TAGNAME =	v${V}
 DISTNAME =	wayfire-${V}
-REVISION =	1
 
 SHARED_LIBS +=	wf-utils 0.0 # 0.0
 CATEGORIES =	wayland
@@ -18,16 +17,11 @@ PERMIT_PACKAGE =	Yes
 DIST_TUPLE +=	github ${GH_ACCOUNT} wf-utils 08553c418f164bf5e84613d27447a32e380b75f0 subprojects/wf-utils
 DIST_TUPLE +=	github ${GH_ACCOUNT} wf-touch caa156921c6be1dff9c2ccd851330c96de7928bf subprojects/wf-touch
 
-#support for wlroots 0.18
-#https://github.com/WayfireWM/wayfire/pull/2452
-#SITES =		https://github.com/WayfireWM/wayfire/releases/download/v${V}/
-#EXTRACT_SUFX =	.tar.xz
 HOMEPAGE =	https://wayfire.org
 
 MODULES =	devel/meson wayland/wlroots
 BUILD_DEPENDS =	graphics/glm \
 		devel/cmake/core \
-		textproc/nlohmann-json \
 		wayland/wayland-protocols
 
 # include/wayfire/touch/touch.hpp needs glm/vec2.hpp
@@ -41,6 +35,7 @@ CONFIGURE_ARGS =-Duse_system_wfconfig=en
 
 LIB_DEPENDS =	devel/pango \
 		devel/libinotify \
+		devel/yyjson \
 		graphics/jpeg \
 		wayland/libevdev-openbsd \
 		wayland/libinput-openbsd \
@@ -51,6 +46,7 @@ LIB_DEPENDS =	devel/pango \
 WANTLIB += ${COMPILER_LIBCXX} EGL GLESv2 c cairo evdev execinfo
 WANTLIB += gobject-2.0 input jpeg m pango-1.0 pangocairo-1.0 pixman-1
 WANTLIB += png wayland-client wayland-server wf-config xcb xkbcommon
+WANTLIB += yyjson
 WANTLIB += lib/inotify/inotify
 
 # hack for gbm getting -I/usr/local/lib and failing build in wf-touch ?
Index: distinfo
===================================================================
RCS file: /local/cvs/ports/wayland/wayfire/distinfo,v
diff -u -p -u -r1.4 distinfo
--- distinfo	7 Nov 2024 09:56:27 -0000	1.4
+++ distinfo	27 Aug 2025 20:47:12 -0000
@@ -1,6 +1,6 @@
 SHA256 (WayfireWM-wf-touch-caa156921c6be1dff9c2ccd851330c96de7928bf.tar.gz) = q0/N0ruU9TxJNXxBK/vj+VET2GtSaqrffIoenIdDFIo=
 SHA256 (WayfireWM-wf-utils-08553c418f164bf5e84613d27447a32e380b75f0.tar.gz) = onGlZ7RRKlI8B+mP5yTuLTDJA3Uebr7ke4DtWMRowHM=
-SHA256 (wayfire-0.9.0pl18-3d3f426f.tar.gz) = isN/WJt+0taOds+N8ri/kNuEb8bGzUm3cCYY6Es/+mA=
+SHA256 (wayfire-0.10.0.tar.gz) = 9LOZeuDMdk04ImA40FKR9EsCmIeC8nhSwmsEOHudpEA=
 SIZE (WayfireWM-wf-touch-caa156921c6be1dff9c2ccd851330c96de7928bf.tar.gz) = 10571
 SIZE (WayfireWM-wf-utils-08553c418f164bf5e84613d27447a32e380b75f0.tar.gz) = 48541
-SIZE (wayfire-0.9.0pl18-3d3f426f.tar.gz) = 481872
+SIZE (wayfire-0.10.0.tar.gz) = 507994
Index: patches/patch-meson_build
===================================================================
RCS file: /local/cvs/ports/wayland/wayfire/patches/patch-meson_build,v
diff -u -p -u -r1.4 patch-meson_build
--- patches/patch-meson_build	7 Nov 2024 09:56:27 -0000	1.4
+++ patches/patch-meson_build	27 Aug 2025 20:47:12 -0000
@@ -1,15 +1,15 @@
 Index: meson.build
 --- meson.build.orig
 +++ meson.build
-@@ -32,7 +32,6 @@ glm            = dependency('glm', required: false)
+@@ -41,7 +41,6 @@ glm            = dependency('glm', required: false)
  libinput       = dependency('libinput', version: '>=1.7.0')
  pixman         = dependency('pixman-1')
  xkbcommon      = dependency('xkbcommon')
--libdl          = meson.get_compiler('cpp').find_library('dl')
- json           = dependency('nlohmann_json', version: '>= 3.11.2')
+-libdl          = cpp.find_library('dl')
+ udev           = dependency('libudev')
+ json           = dependency('yyjson', required: false)
  
- # We're not to use system wlroots: So we'll use the subproject
-@@ -94,7 +93,7 @@ if get_option('use_system_wfconfig').disabled()
+@@ -117,7 +116,7 @@ if get_option('use_system_wfconfig').disabled()
  
  elif get_option('use_system_wfconfig').enabled()
  	use_system_wfconfig = true
@@ -18,7 +18,7 @@ Index: meson.build
  
  elif get_option('use_system_wfconfig').auto()
  	wfconfig = dependency('wf-config', version: ['>=0.10.0', '<0.11.0'], required: false)
-@@ -114,7 +113,7 @@ backtrace = meson.get_compiler('cpp').find_library('ex
+@@ -137,7 +136,7 @@ backtrace = cpp.find_library('execinfo', required: fal
  wfutils = subproject('wf-utils').get_variable('wfutils')
  wftouch = subproject('wf-touch').get_variable('wftouch')
  
Index: patches/patch-plugins_ipc-rules_ipc-input-methods_hpp
===================================================================
RCS file: patches/patch-plugins_ipc-rules_ipc-input-methods_hpp
diff -N patches/patch-plugins_ipc-rules_ipc-input-methods_hpp
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-plugins_ipc-rules_ipc-input-methods_hpp	27 Aug 2025 20:47:12 -0000
@@ -0,0 +1,12 @@
+Index: plugins/ipc-rules/ipc-input-methods.hpp
+--- plugins/ipc-rules/ipc-input-methods.hpp.orig
++++ plugins/ipc-rules/ipc-input-methods.hpp
+@@ -56,7 +56,7 @@ class ipc_rules_input_methods_t
+         for (auto& device : wf::get_core().get_input_devices())
+         {
+             wf::json_t d;
+-            d["id"]     = (intptr_t)device->get_wlr_handle();
++            d["id"]     = device->get_wlr_handle();
+             d["name"]   = nonull(device->get_wlr_handle()->name);
+             d["vendor"] = "unknown";
+             d["product"] = "unknown";
Index: patches/patch-plugins_wobbly_meson_build
===================================================================
RCS file: patches/patch-plugins_wobbly_meson_build
diff -N patches/patch-plugins_wobbly_meson_build
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-plugins_wobbly_meson_build	27 Aug 2025 20:47:12 -0000
@@ -0,0 +1,11 @@
+Needs includedir for GLESv2
+
+Index: plugins/wobbly/meson.build
+--- plugins/wobbly/meson.build.orig
++++ plugins/wobbly/meson.build
+@@ -1,4 +1,4 @@
+-wobbly_c_model = static_library('wobbly-c-model', ['wobbly.c'], install: false)
++wobbly_c_model = static_library('wobbly-c-model', ['wobbly.c'], dependencies: [glesv2], install: false)
+ 
+ wobbly = shared_module('wobbly',
+                        ['wobbly.cpp'],
Index: patches/patch-src_meson_build
===================================================================
RCS file: /local/cvs/ports/wayland/wayfire/patches/patch-src_meson_build,v
diff -u -p -u -r1.3 patch-src_meson_build
--- patches/patch-src_meson_build	27 Aug 2024 17:25:22 -0000	1.3
+++ patches/patch-src_meson_build	27 Aug 2025 20:47:12 -0000
@@ -3,16 +3,16 @@
 Index: src/meson.build
 --- src/meson.build.orig
 +++ src/meson.build
-@@ -63,7 +63,7 @@ wayfire_sources = ['geometry.cpp',
+@@ -65,7 +65,7 @@ wayfire_sources = ['geometry.cpp',
                     'output/workspace-impl.cpp']
  
  wayfire_dependencies = [wayland_server, wlroots, xkbcommon, libinput,
 -                       pixman, drm, egl, glesv2, glm, wf_protos, libdl,
 +                       pixman, drm, egl, glesv2, glm, wf_protos,
-                        wfconfig, libinotify, backtrace, wfutils, xcb, wftouch, json]
+                        wfconfig, libinotify, backtrace, wfutils, xcb,
+                        wftouch, json, udev]
  
- if conf_data.get('BUILD_WITH_IMAGEIO')
-@@ -134,6 +134,7 @@ shared_module('default-config-backend', 'default-confi
+@@ -136,6 +136,7 @@ shared_module('default-config-backend', 'default-confi
      dependencies: wayfire_dependencies,
      include_directories: [wayfire_conf_inc, wayfire_api_inc],
      cpp_args: debug_arguments,
Index: pkg/PLIST
===================================================================
RCS file: /local/cvs/ports/wayland/wayfire/pkg/PLIST,v
diff -u -p -u -r1.4 PLIST
--- pkg/PLIST	7 Nov 2024 09:56:27 -0000	1.4
+++ pkg/PLIST	27 Aug 2025 20:47:12 -0000
@@ -25,10 +25,9 @@ include/wayfire/lexer/lexer.hpp
 include/wayfire/lexer/literal.hpp
 include/wayfire/lexer/symbol.hpp
 include/wayfire/matcher.hpp
-include/wayfire/nonstd/
+include/wayfire/nonstd/json.hpp
 include/wayfire/nonstd/observer_ptr.h
 include/wayfire/nonstd/reverse.hpp
-include/wayfire/nonstd/safe-list.hpp
 include/wayfire/nonstd/tracking-allocator.hpp
 include/wayfire/nonstd/wlroots-full.hpp
 include/wayfire/nonstd/wlroots.hpp
@@ -45,6 +44,8 @@ include/wayfire/parser/rule_parser.hpp
 include/wayfire/per-output-plugin.hpp
 include/wayfire/plugin.hpp
 include/wayfire/plugins/
+include/wayfire/plugins/animate/
+include/wayfire/plugins/animate/animate.hpp
 include/wayfire/plugins/blur/
 include/wayfire/plugins/blur/blur.hpp
 include/wayfire/plugins/common/
@@ -56,7 +57,6 @@ include/wayfire/plugins/common/move-drag
 include/wayfire/plugins/common/preview-indication.hpp
 include/wayfire/plugins/common/shared-core-data.hpp
 include/wayfire/plugins/common/simple-text-node.hpp
-include/wayfire/plugins/common/simple-texture.hpp
 include/wayfire/plugins/common/util.hpp
 include/wayfire/plugins/common/workspace-wall.hpp
 include/wayfire/plugins/crossfade.hpp
@@ -75,6 +75,7 @@ include/wayfire/plugins/wobbly/
 include/wayfire/plugins/wobbly/wobbly-signal.hpp
 include/wayfire/region.hpp
 include/wayfire/render-manager.hpp
+include/wayfire/render.hpp
 include/wayfire/rule/
 include/wayfire/rule/lambda_rule.hpp
 include/wayfire/rule/rule.hpp
@@ -115,6 +116,8 @@ include/wayfire/workarea.hpp
 include/wayfire/workspace-set.hpp
 include/wayfire/workspace-stream.hpp
 @so lib/libwayfire-blur-base.so
+@static-lib lib/libwayfire-move-drag-interface.a
+@static-lib lib/libwayfire-workspace-wall.a
 @lib lib/libwf-utils.so.${LIBwf-utils_VERSION}
 @static-lib lib/libwftouch.a
 lib/pkgconfig/wayfire.pc
@@ -128,7 +131,6 @@ lib/wayfire/
 @so lib/wayfire/libcube.so
 @so lib/wayfire/libdecoration.so
 @so lib/wayfire/libdefault-config-backend.so
-@so lib/wayfire/libdemo-ipc.so
 @so lib/wayfire/libexpo.so
 @so lib/wayfire/libextra-gestures.so
 @so lib/wayfire/libfast-switcher.so
@@ -153,6 +155,7 @@ lib/wayfire/
 @so lib/wayfire/libsimple-tile.so
 @so lib/wayfire/libstipc.so
 @so lib/wayfire/libswitcher.so
+@so lib/wayfire/libvk-color-management.so
 @so lib/wayfire/libvswipe.so
 @so lib/wayfire/libvswitch.so
 @so lib/wayfire/libwayfire-shell.so
@@ -219,3 +222,5 @@ share/wayfire/protocols/unstable/
 share/wayfire/protocols/unstable/wayfire-shell-unstable-v2.xml
 share/wayland-sessions/
 share/wayland-sessions/wayfire.desktop
+share/xdg-desktop-portal/
+share/xdg-desktop-portal/wayfire-portals.conf

-- 
Matthieu Herrb