Saturday, July 11, 2026

Re: [Update] wayland/scenefx 0.5

On 7/11/26 8:00 AM, yaydn@protonmail.com wrote: [...] > scenefx-0.5(wayland/scenefx): > Missing: lcms2.3 from lcms2-2.18pl20260420 (/usr/local/lib/libscenefx-0.5.so.0.0) > WANTLIB += lcms2 Oh crap. Thanks for pointing it out - fix attached. > *** Error 1 in target 'port-lib-depends-check' (ignored) > /usr/local/lib/libscenefx-0.5.so.0.0 --> /usr/ports/pobj/scenefx-0.5/fake-amd64/usr/local/lib/libscenefx-0.5.so.0.0 > No dynamic export changes > Just lcms2 WANTLIB and bumping SHARED_LIBS for scenefx maybe? I would > err on the side of caution. There's really no point in bumping libscenefx-0.5.so because as of yet only libscenefx-0.4.so exists. If the need should arise, we *could* handle scenefx like wlroots and keep multiple versions in ports. But as long as wayland/mango is the only consumer that's a useless exercise :-)

Index: Makefile
===================================================================
RCS file: /cvs/ports/wayland/scenefx/Makefile,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile
--- Makefile	13 Jun 2026 13:41:30 -0000	1.2
+++ Makefile	11 Jul 2026 09:48:59 -0000
@@ -1,29 +1,30 @@
 COMMENT =		drop-in replacement for the wlroots scene API
 
-V =			0.4.1
-SCENEFX_LIBV =		0.4
-REVISION =		0
+V =			0.5
+SCENEFX_LIBV =		0.5
 
 DIST_TUPLE=		github wlrfx scenefx ${V} .
 
 CATEGORIES =		wayland
 
-SHARED_LIBS +=		scenefx-${SCENEFX_LIBV} 0.0 # 0.4
+SHARED_LIBS +=		scenefx-${SCENEFX_LIBV} 0.0 # 0.5
 
 # MIT
 PERMIT_PACKAGE =	Yes
 
+WANTLIB += EGL GLESv2 drm gbm m lcms2 pixman-1 wayland-server
+
 COMPILER =		base-clang ports-gcc
 
 MODULES =		devel/meson wayland/wlroots
 
+MODWLROOTS_VERSION =	0.20
+
 BUILD_DEPENDS =		wayland/wayland-protocols
 
 LIB_DEPENDS =		wayland/wayland
 
 SUBST_VARS +=		SCENEFX_LIBV
-
-WANTLIB += EGL GLESv2 drm gbm m pixman-1 wayland-server
 
 .include <bsd.port.mk>
 
Index: distinfo
===================================================================
RCS file: /cvs/ports/wayland/scenefx/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- distinfo	6 Apr 2026 19:17:09 -0000	1.1.1.1
+++ distinfo	11 Jul 2026 09:48:59 -0000
@@ -1,2 +1,2 @@
-SHA256 (wlrfx-scenefx-0.4.1.tar.gz) = +iP2/1CRaNSl6wxafvO4zz054/uhgyDCglbmyRyF2f8=
-SIZE (wlrfx-scenefx-0.4.1.tar.gz) = 92158
+SHA256 (wlrfx-scenefx-0.5.tar.gz) = D6jsyg4xD4E+/QUmJMXtfZFT1qD96tXMlX00wH+ahsY=
+SIZE (wlrfx-scenefx-0.5.tar.gz) = 109708
Index: patches/patch-include_scenefx_types_fx_clipped_region_h
===================================================================
RCS file: patches/patch-include_scenefx_types_fx_clipped_region_h
diff -N patches/patch-include_scenefx_types_fx_clipped_region_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-include_scenefx_types_fx_clipped_region_h	11 Jul 2026 09:48:59 -0000
@@ -0,0 +1,58 @@
+Index: include/scenefx/types/fx/clipped_region.h
+--- include/scenefx/types/fx/clipped_region.h.orig
++++ include/scenefx/types/fx/clipped_region.h
+@@ -15,7 +15,7 @@ struct fx_corner_radii {
+ 
+ #define CORNER_RADIUS_MAX (UINT16_MAX)
+ 
+-static __always_inline uint16_t corner_radius_clamp(int radius) {
++static inline uint16_t corner_radius_clamp(int radius) {
+ 	if (radius <= 0) {
+ 		return 0;
+ 	}
+@@ -27,7 +27,7 @@ static __always_inline uint16_t corner_radius_clamp(in
+ 	return radius;
+ }
+ 
+-static __always_inline struct fx_corner_radii corner_radii_new(int top_left, int top_right, int bottom_right, int bottom_left) {
++static inline struct fx_corner_radii corner_radii_new(int top_left, int top_right, int bottom_right, int bottom_left) {
+ 	return (struct fx_corner_radii) {
+ 		corner_radius_clamp(top_left),
+ 		corner_radius_clamp(top_right),
+@@ -36,15 +36,15 @@ static __always_inline struct fx_corner_radii corner_r
+ 	};
+ }
+ 
+-static __always_inline struct fx_corner_radii corner_radii_all(int radius) {
++static inline struct fx_corner_radii corner_radii_all(int radius) {
+ 	return corner_radii_new(radius, radius, radius, radius);
+ }
+ 
+-static __always_inline struct fx_corner_radii corner_radii_none(void) {
++static inline struct fx_corner_radii corner_radii_none(void) {
+ 	return corner_radii_all(0);
+ }
+ 
+-#define corner_radii_func(name, tl, tr, br, bl) static __always_inline struct fx_corner_radii corner_radii_##name(int radius) { return corner_radii_new(tl, tr, br, bl); }
++#define corner_radii_func(name, tl, tr, br, bl) static inline struct fx_corner_radii corner_radii_##name(int radius) { return corner_radii_new(tl, tr, br, bl); }
+ 
+ corner_radii_func(top, radius, radius, 0, 0);
+ corner_radii_func(bottom, 0, 0, radius, radius);
+@@ -63,7 +63,7 @@ bool fx_corner_radii_eq(struct fx_corner_radii lhs, st
+  *
+  * This can be compared to an `AND` operation
+  */
+-static __always_inline struct fx_corner_radii fx_corner_radii_filter(struct fx_corner_radii input, struct fx_corner_radii filter) {
++static inline struct fx_corner_radii fx_corner_radii_filter(struct fx_corner_radii input, struct fx_corner_radii filter) {
+ 	return corner_radii_new(
+ 		input.top_left && filter.top_left ? input.top_left : 0,
+ 		input.top_right && filter.top_right ? input.top_right : 0,
+@@ -77,7 +77,7 @@ static __always_inline struct fx_corner_radii fx_corne
+  *
+  * This can be compared to an `OR` operation
+  */
+-static __always_inline struct fx_corner_radii fx_corner_radii_pick(struct fx_corner_radii lhs, struct fx_corner_radii rhs) {
++static inline struct fx_corner_radii fx_corner_radii_pick(struct fx_corner_radii lhs, struct fx_corner_radii rhs) {
+ 	return corner_radii_new(
+ 		lhs.top_left ? lhs.top_left : rhs.top_left,
+ 		lhs.top_right ? lhs.top_right : rhs.top_right,
Index: patches/patch-include_types_fx_clipped_region_h
===================================================================
RCS file: patches/patch-include_types_fx_clipped_region_h
diff -N patches/patch-include_types_fx_clipped_region_h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-include_types_fx_clipped_region_h	11 Jul 2026 09:48:59 -0000
@@ -0,0 +1,12 @@
+Index: include/types/fx/clipped_region.h
+--- include/types/fx/clipped_region.h.orig
++++ include/types/fx/clipped_region.h
+@@ -20,7 +20,7 @@ struct clipped_fregion {
+     struct fx_corner_fradii corners;
+ };
+ 
+-static __always_inline bool clipped_fregion_is_valid(const struct clipped_fregion *fregion) {
++static inline bool clipped_fregion_is_valid(const struct clipped_fregion *fregion) {
+ 	return !fx_corner_fradii_is_empty(&fregion->corners) && !wlr_box_empty(&fregion->area);
+ };
+ 
Index: patches/patch-meson_build
===================================================================
RCS file: /cvs/ports/wayland/scenefx/patches/patch-meson_build,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 patch-meson_build
--- patches/patch-meson_build	6 Apr 2026 19:17:09 -0000	1.1.1.1
+++ patches/patch-meson_build	11 Jul 2026 09:48:59 -0000
@@ -3,7 +3,7 @@ No librt on OpenBSD
 Index: meson.build
 --- meson.build.orig
 +++ meson.build
-@@ -110,7 +110,6 @@ pixman = dependency('pixman-1',
+@@ -128,7 +128,6 @@ pixman = dependency('pixman-1',
  	default_options: ['werror=false'],
  )
  math = cc.find_library('m')
@@ -11,11 +11,11 @@ Index: meson.build
  
  scenefx_files = []
  scenefx_deps = [
-@@ -120,7 +119,6 @@ scenefx_deps = [
+@@ -138,7 +137,6 @@ scenefx_deps = [
  	xkbcommon,
  	pixman,
  	math,
 -	rt,
  ]
  
- subdir('protocol')
+ # Tracy
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/wayland/scenefx/pkg/PLIST,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 PLIST
--- pkg/PLIST	6 Apr 2026 19:17:09 -0000	1.1.1.1
+++ pkg/PLIST	11 Jul 2026 09:48:59 -0000
@@ -2,14 +2,14 @@ include/scenefx-${SCENEFX_LIBV}/
 include/scenefx-${SCENEFX_LIBV}/scenefx/
 include/scenefx-${SCENEFX_LIBV}/scenefx/render/
 include/scenefx-${SCENEFX_LIBV}/scenefx/render/fx_renderer/
-include/scenefx-${SCENEFX_LIBV}/scenefx/render/fx_renderer/fx_effect_framebuffers.h
+include/scenefx-${SCENEFX_LIBV}/scenefx/render/fx_renderer/fx_offscreen_buffers.h
 include/scenefx-${SCENEFX_LIBV}/scenefx/render/fx_renderer/fx_renderer.h
 include/scenefx-${SCENEFX_LIBV}/scenefx/render/pass.h
 include/scenefx-${SCENEFX_LIBV}/scenefx/types/
 include/scenefx-${SCENEFX_LIBV}/scenefx/types/fx/
 include/scenefx-${SCENEFX_LIBV}/scenefx/types/fx/blur_data.h
 include/scenefx-${SCENEFX_LIBV}/scenefx/types/fx/clipped_region.h
-include/scenefx-${SCENEFX_LIBV}/scenefx/types/fx/corner_location.h
+include/scenefx-${SCENEFX_LIBV}/scenefx/types/linked_node.h
 include/scenefx-${SCENEFX_LIBV}/scenefx/types/wlr_scene.h
 @lib lib/libscenefx-${SCENEFX_LIBV}.so.${LIBscenefx-${SCENEFX_LIBV}_VERSION}
 lib/pkgconfig/scenefx-${SCENEFX_LIBV}.pc

No comments:

Post a Comment