git: 4105a1774b06 - main - x11-toolkits/scenefx05: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Thu, 09 Jul 2026 00:47:13 UTC
The branch main has been updated by jbeich:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4105a1774b06a39a3281dbecc932a2c266103b8e

commit 4105a1774b06a39a3281dbecc932a2c266103b8e
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2026-06-28 05:36:32 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2026-07-09 00:45:09 +0000

    x11-toolkits/scenefx05: add new port
    
    Changes:        https://github.com/wlrfx/scenefx/releases/tag/0.5
    Reported by:    GitHub (watch releases)
---
 x11-toolkits/Makefile            |  1 +
 x11-toolkits/scenefx05/Makefile  | 40 ++++++++++++++++++++++++++++++++++++++++
 x11-toolkits/scenefx05/distinfo  |  3 +++
 x11-toolkits/scenefx05/pkg-descr |  9 +++++++++
 x11-toolkits/scenefx05/pkg-plist |  9 +++++++++
 5 files changed, 62 insertions(+)

diff --git a/x11-toolkits/Makefile b/x11-toolkits/Makefile
index 6354c07d46c6..927bfaa8ade1 100644
--- a/x11-toolkits/Makefile
+++ b/x11-toolkits/Makefile
@@ -243,6 +243,7 @@
     SUBDIR += rubygem-vte3
     SUBDIR += rubygem-vte4
     SUBDIR += scenefx04
+    SUBDIR += scenefx05
     SUBDIR += sdl2_pango
     SUBDIR += sdl_pango
     SUBDIR += skinlf
diff --git a/x11-toolkits/scenefx05/Makefile b/x11-toolkits/scenefx05/Makefile
new file mode 100644
index 000000000000..5eca89d5462c
--- /dev/null
+++ b/x11-toolkits/scenefx05/Makefile
@@ -0,0 +1,40 @@
+PORTNAME=	scenefx
+DISTVERSION=	0.5
+CATEGORIES=	x11-toolkits
+PKGNAMESUFFIX=	05
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	wlroots scene API, but with eye candy!
+WWW=		https://github.com/wlrfx/scenefx
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	wayland-protocols>=1.41:graphics/wayland-protocols
+LIB_DEPENDS=	libdrm.so:graphics/libdrm \
+		libwayland-server.so:graphics/wayland \
+		libwlroots-0.20.so:x11-toolkits/wlroots020 \
+
+USES=		compiler:c11 meson pkgconfig xorg
+USE_GITHUB=	yes
+USE_LDCONFIG=	yes
+USE_XORG=	pixman
+GH_ACCOUNT=	wlrfx
+MESON_ARGS=	-Dexamples=false -Drenderers=${RENDERERS:ts,}
+CFLAGS+=	-Wno-unused-function # *corner_radii*
+PLIST_SUB=	SUFFIX=-${DISTVERSION}
+
+PORTSCOUT=	limit:^0\.5\.
+
+OPTIONS_DEFINE=	LCMS2 OPENGL
+OPTIONS_DEFAULT=LCMS2 OPENGL
+OPTIONS_SLAVE=	OPENGL # XXX Remove after adding VULKAN
+
+LCMS2_LIB_DEPENDS=	liblcms2.so:graphics/lcms2
+LCMS2_MESON_ENABLED=	color-management
+
+OPENGL_USES=		gl
+OPENGL_USE=		GL=egl,gbm,glesv2
+OPENGL_VARS=		RENDERERS+=gles2
+
+.include <bsd.port.mk>
diff --git a/x11-toolkits/scenefx05/distinfo b/x11-toolkits/scenefx05/distinfo
new file mode 100644
index 000000000000..07bf5b96f9c5
--- /dev/null
+++ b/x11-toolkits/scenefx05/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1782624992
+SHA256 (wlrfx-scenefx-0.5_GH0.tar.gz) = 0fa8ecca0e310f813efd052624c5ed7d9153d6a0fdead5cc957d34c07f9a86c6
+SIZE (wlrfx-scenefx-0.5_GH0.tar.gz) = 109708
diff --git a/x11-toolkits/scenefx05/pkg-descr b/x11-toolkits/scenefx05/pkg-descr
new file mode 100644
index 000000000000..bde5f7ad3ee0
--- /dev/null
+++ b/x11-toolkits/scenefx05/pkg-descr
@@ -0,0 +1,9 @@
+wlroots is the de-facto library for building wayland compositors, and
+its scene api is a great stride in simplifying wayland compositor
+development. The problem with the scene api (for compositors looking
+for eye candy), however, is that it forces you to use the wlr
+renderer, which is powerful yet simple. SceneFX is a project that
+takes the scene api and replaces the wlr renderer with our own fx
+renderer, capable of rendering surfaces with eye-candy effects
+including blur, shadows, and rounded corners, while maintaining the
+benefits of simplicity gained from using the scene api.
diff --git a/x11-toolkits/scenefx05/pkg-plist b/x11-toolkits/scenefx05/pkg-plist
new file mode 100644
index 000000000000..642cf3129baa
--- /dev/null
+++ b/x11-toolkits/scenefx05/pkg-plist
@@ -0,0 +1,9 @@
+include/scenefx%%SUFFIX%%/scenefx/render/fx_renderer/fx_offscreen_buffers.h
+include/scenefx%%SUFFIX%%/scenefx/render/fx_renderer/fx_renderer.h
+include/scenefx%%SUFFIX%%/scenefx/render/pass.h
+include/scenefx%%SUFFIX%%/scenefx/types/fx/blur_data.h
+include/scenefx%%SUFFIX%%/scenefx/types/fx/clipped_region.h
+include/scenefx%%SUFFIX%%/scenefx/types/linked_node.h
+include/scenefx%%SUFFIX%%/scenefx/types/wlr_scene.h
+lib/libscenefx%%SUFFIX%%.so
+libdata/pkgconfig/scenefx%%SUFFIX%%.pc