git: a6ab03ea3d4d - main - x11-toolkits/scenefx03: add new port

From: Jan Beich <jbeich_at_FreeBSD.org>
Date: Mon, 09 Jun 2025 07:08:50 UTC
The branch main has been updated by jbeich:

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

commit a6ab03ea3d4d293d56a029bd64dacbab9e824989
Author:     Jan Beich <jbeich@FreeBSD.org>
AuthorDate: 2025-06-09 06:28:11 +0000
Commit:     Jan Beich <jbeich@FreeBSD.org>
CommitDate: 2025-06-09 07:07:41 +0000

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

diff --git a/x11-toolkits/Makefile b/x11-toolkits/Makefile
index 25e0331a0875..1a3b2fb5db4a 100644
--- a/x11-toolkits/Makefile
+++ b/x11-toolkits/Makefile
@@ -236,6 +236,7 @@
     SUBDIR += rubygem-vte3
     SUBDIR += rubygem-vte4
     SUBDIR += scenefx02
+    SUBDIR += scenefx03
     SUBDIR += scintilla
     SUBDIR += sdl2_pango
     SUBDIR += sdl_pango
diff --git a/x11-toolkits/scenefx03/Makefile b/x11-toolkits/scenefx03/Makefile
new file mode 100644
index 000000000000..49be9b89163f
--- /dev/null
+++ b/x11-toolkits/scenefx03/Makefile
@@ -0,0 +1,37 @@
+PORTNAME=	scenefx
+DISTVERSION=	0.3
+CATEGORIES=	x11-toolkits
+PKGNAMESUFFIX=	03
+
+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.35:graphics/wayland-protocols
+LIB_DEPENDS=	libdrm.so:graphics/libdrm \
+		libwayland-server.so:graphics/wayland \
+		libwlroots-0.18.so:x11-toolkits/wlroots018 \
+
+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,}
+PLIST_SUB=	SUFFIX=-${DISTVERSION:R}
+PLIST_SUB=	SUFFIX=-${DISTVERSION} # XXX Remove after 0.3.1 update
+
+PORTSCOUT=	limit:^0\.3\.
+
+OPTIONS_DEFINE=	OPENGL
+OPTIONS_DEFAULT=OPENGL
+OPTIONS_SLAVE=	OPENGL # XXX Remove after adding VULKAN
+
+OPENGL_USES=		gl
+OPENGL_USE=		GL=egl,gbm,glesv2
+OPENGL_VARS=		RENDERERS+=gles2
+
+.include <bsd.port.mk>
diff --git a/x11-toolkits/scenefx03/distinfo b/x11-toolkits/scenefx03/distinfo
new file mode 100644
index 000000000000..9a6696e5d39f
--- /dev/null
+++ b/x11-toolkits/scenefx03/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1739733667
+SHA256 (wlrfx-scenefx-0.3_GH0.tar.gz) = aef024ba429ea704100815979371831269326fe2f3e9d76adbab7951060afc6b
+SIZE (wlrfx-scenefx-0.3_GH0.tar.gz) = 86815
diff --git a/x11-toolkits/scenefx03/pkg-descr b/x11-toolkits/scenefx03/pkg-descr
new file mode 100644
index 000000000000..bde5f7ad3ee0
--- /dev/null
+++ b/x11-toolkits/scenefx03/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/scenefx03/pkg-plist b/x11-toolkits/scenefx03/pkg-plist
new file mode 100644
index 000000000000..fcb5fd838ee5
--- /dev/null
+++ b/x11-toolkits/scenefx03/pkg-plist
@@ -0,0 +1,9 @@
+include/scenefx%%SUFFIX%%/scenefx/render/fx_renderer/fx_effect_framebuffers.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/fx/corner_location.h
+include/scenefx%%SUFFIX%%/scenefx/types/wlr_scene.h
+lib/libscenefx%%SUFFIX%%.so
+libdata/pkgconfig/scenefx%%SUFFIX%%.pc