diff --git a/common/shlibs b/common/shlibs
index 677802f70a0..5eb5ecd4472 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -4524,3 +4524,4 @@ libopenrazer.so.0 libopenrazer-0.2.0_1
 libstaroffice-0.0.so.0 libstaroffice-0.0.7_1
 libbox2d.so.2 box2d-2.4.1_1
 libhwy.so.1 highway-1.2.0_1
+libscenefx.so.1 scenefx-0.1_1
diff --git a/srcpkgs/scenefx-devel b/srcpkgs/scenefx-devel
new file mode 120000
index 00000000000..fc7da0f1644
--- /dev/null
+++ b/srcpkgs/scenefx-devel
@@ -0,0 +1 @@
+scenefx
\ No newline at end of file
diff --git a/srcpkgs/scenefx/template b/srcpkgs/scenefx/template
new file mode 100644
index 00000000000..3e475369ee1
--- /dev/null
+++ b/srcpkgs/scenefx/template
@@ -0,0 +1,30 @@
+# Template file for 'scenefx'
+pkgname=scenefx
+version=0.1
+revision=1
+build_style=meson
+configure_args="-Dwerror=false -Db_ndebug=false"
+hostmakedepends="pkg-config wayland-devel scdoc"
+makedepends="wlroots0.17-devel"
+short_desc="Drop-in replacement for the wlroots scene API"
+maintainer="Christopher K. 'Shmish' Schmitt <me@shmish.dev>"
+license="MIT"
+homepage="https://github.com/wlrfx/scenefx"
+changelog="https://github.com/wlrfx/scenefx/releases/"
+distfiles="https://github.com/wlrfx/scenefx/archive/refs/tags/${version}.tar.gz"
+checksum=f5c889f4c826a4216628bf1e7e48071fc33e7774b5e3d51e6fee6e571e420827
+
+post_install() {
+	vlicense LICENSE
+}
+
+scenefx-devel_package() {
+	short_desc+=" - development files"
+	depends="${sourcepkg}>=${version}_${revision}"
+
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.so"
+	}
+}