From: Matthieu Herrb Subject: update wayland/wayfire current snapshot To: ports@openbsd.org Date: Sun, 17 Aug 2025 17:00:03 +0200 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. Comments ? Index: Makefile =================================================================== RCS file: /cvs/OpenBSD/ports/wayland/wayfire/Makefile,v diff -u -r1.12 Makefile --- Makefile 14 Aug 2025 15:10:34 -0000 1.12 +++ Makefile 17 Aug 2025 14:55:21 -0000 @@ -1,11 +1,10 @@ COMMENT = modular and extensible wayland compositor -V = 0.9.0pl18 +V = 0.9.0pl19 GH_ACCOUNT = WayfireWM GH_PROJECT = wayfire -GH_COMMIT = 3d3f426f7de8a24117f6c1d33c8dead1bc80b7e9 +GH_COMMIT = 9ab04b00c699499ff8812220db430ae760b5089b DISTNAME = wayfire-${V} -REVISION = 1 SHARED_LIBS += wf-utils 0.0 # 0.0 CATEGORIES = wayland @@ -18,16 +17,11 @@ 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 @@ LIB_DEPENDS = devel/pango \ devel/libinotify \ + devel/yyjson \ graphics/jpeg \ wayland/libevdev-openbsd \ wayland/libinput-openbsd \ @@ -51,6 +46,7 @@ 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: /cvs/OpenBSD/ports/wayland/wayfire/distinfo,v diff -u -r1.4 distinfo --- distinfo 7 Nov 2024 09:56:27 -0000 1.4 +++ distinfo 17 Aug 2025 14:55:21 -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.9.0pl19-9ab04b00.tar.gz) = sOz1KnRrWQ7XYwmF1rr+wg3nRBwTmew7fC0gSgsLFTg= 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.9.0pl19-9ab04b00.tar.gz) = 506438 Index: patches/patch-meson_build =================================================================== RCS file: /cvs/OpenBSD/ports/wayland/wayfire/patches/patch-meson_build,v diff -u -r1.4 patch-meson_build --- patches/patch-meson_build 7 Nov 2024 09:56:27 -0000 1.4 +++ patches/patch-meson_build 17 Aug 2025 14:55:21 -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 @@ 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 17 Aug 2025 14:55:21 -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 17 Aug 2025 14:55:21 -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: /cvs/OpenBSD/ports/wayland/wayfire/patches/patch-src_meson_build,v diff -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 17 Aug 2025 14:55:21 -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: /cvs/OpenBSD/ports/wayland/wayfire/pkg/PLIST,v diff -u -r1.4 PLIST --- pkg/PLIST 7 Nov 2024 09:56:27 -0000 1.4 +++ pkg/PLIST 17 Aug 2025 14:55:21 -0000 @@ -25,10 +25,9 @@ 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/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/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/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/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 @@ @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 @@ @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/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