git: d94c661643a3 - main - devel/shadered: New port: Lightweight, cross-platform & full-featured shader IDE

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 20 Jan 2023 04:18:34 UTC
The branch main has been updated by yuri:

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

commit d94c661643a322598164c9e58d15f3e992137eb8
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2023-01-20 04:17:51 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2023-01-20 04:18:32 +0000

    devel/shadered: New port: Lightweight, cross-platform & full-featured shader IDE
---
 devel/Makefile                            |  1 +
 devel/shadered/Makefile                   | 41 +++++++++++++++++++++++++++
 devel/shadered/distinfo                   | 19 +++++++++++++
 devel/shadered/files/patch-CMakeLists.txt | 11 ++++++++
 devel/shadered/pkg-descr                  |  9 ++++++
 devel/shadered/pkg-plist                  | 46 +++++++++++++++++++++++++++++++
 6 files changed, 127 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 5fd8c2f98d01..21abbf5e04cc 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -7283,6 +7283,7 @@
     SUBDIR += sfml1
     SUBDIR += sfsexp
     SUBDIR += sgb
+    SUBDIR += shadered
     SUBDIR += shapelib
     SUBDIR += shards
     SUBDIR += shell-toolbox
diff --git a/devel/shadered/Makefile b/devel/shadered/Makefile
new file mode 100644
index 000000000000..7644abd29239
--- /dev/null
+++ b/devel/shadered/Makefile
@@ -0,0 +1,41 @@
+PORTNAME=	shadered
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.5.6
+CATEGORIES=	devel
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Lightweight, cross-platform & full-featured shader IDE
+WWW=		https://shadered.org/
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	glm>0:math/glm
+LIB_DEPENDS=	\
+		libinotify.so:devel/libinotify
+
+USES=		cmake:insource compiler:c++17-lang gl localbase:ldflags pkgconfig python:build sdl # outsource build fails, see https://github.com/dfranx/SHADERed/issues/303
+USE_GL=		glew glu opengl
+USE_SDL=	sdl2
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	dfranx
+GH_PROJECT=	SHADERed
+GH_TUPLE=	dfranx:assimp:2012451:assimp/libs/assimp \
+		dfranx:imgui:b29c8de:imgui/libs/imgui \
+		dfranx:ImGuiColorTextEdit:fb08648:ImGuiColorTextEdit/libs/ImGuiColorTextEdit \
+		dfranx:SpvGenTwo:5fba6bd:SpvGenTwo/libs/SpvGenTwo \
+		dfranx:ShaderExpressionParser:2f9cb35:ShaderExpressionParser/libs/ShaderExpressionParser \
+		dfranx:SPIRV-VM:439434f:spirv_vm/libs/SPIRV-VM \
+		KhronosGroup:glslang:c594de2:glslang/libs/glslang \
+		zeux:pugixml:40be014:pugixml/libs/pugixml
+
+LDFLAGS+=	-linotify
+
+post-install: # workaround for https://github.com/dfranx/SHADERed/issues/304
+	${RM} -r \
+		${STAGEDIR}${PREFIX}/include \
+		${STAGEDIR}${PREFIX}/lib \
+		${STAGEDIR}${PREFIX}/libdata
+
+.include <bsd.port.mk>
diff --git a/devel/shadered/distinfo b/devel/shadered/distinfo
new file mode 100644
index 000000000000..a2f2a6f7ad31
--- /dev/null
+++ b/devel/shadered/distinfo
@@ -0,0 +1,19 @@
+TIMESTAMP = 1674162667
+SHA256 (dfranx-SHADERed-v1.5.6_GH0.tar.gz) = 8d28fbb1676bd5edcf7c614dc7d1d0f862ff5bcdea90fe272b795e14ab90a13b
+SIZE (dfranx-SHADERed-v1.5.6_GH0.tar.gz) = 14739835
+SHA256 (dfranx-assimp-2012451_GH0.tar.gz) = 475e18ba956867090015575e318af0f9c99e6708d149bbe0a1a003605466dc23
+SIZE (dfranx-assimp-2012451_GH0.tar.gz) = 46980655
+SHA256 (dfranx-imgui-b29c8de_GH0.tar.gz) = 8f4677a884be21436a149b2e8339293aa0410aa94d0d6908bd291eef438331fb
+SIZE (dfranx-imgui-b29c8de_GH0.tar.gz) = 1451355
+SHA256 (dfranx-ImGuiColorTextEdit-fb08648_GH0.tar.gz) = 4e37e088f1b00b19ec1a9f72e69b287e142cfb6ccba66f50c4ff0825ba6774d3
+SIZE (dfranx-ImGuiColorTextEdit-fb08648_GH0.tar.gz) = 56224
+SHA256 (dfranx-SpvGenTwo-5fba6bd_GH0.tar.gz) = 399483e4cbc0aeffc334236b6de5116cc2740b455b513adb9e47249ff8169477
+SIZE (dfranx-SpvGenTwo-5fba6bd_GH0.tar.gz) = 548238
+SHA256 (dfranx-ShaderExpressionParser-2f9cb35_GH0.tar.gz) = 29f6652b66bc48f4d6f3e6ddcb0aba3558a48dcbf1daccdb8f08be12ced23c13
+SIZE (dfranx-ShaderExpressionParser-2f9cb35_GH0.tar.gz) = 10602
+SHA256 (dfranx-SPIRV-VM-439434f_GH0.tar.gz) = 59db95f0cb4e88e790136eaf3c501a64af6ece2e9a11ebb7bd4b34310841c77b
+SIZE (dfranx-SPIRV-VM-439434f_GH0.tar.gz) = 49985
+SHA256 (KhronosGroup-glslang-c594de2_GH0.tar.gz) = efb7973e3e9c606be69a96ac863d62f6b0132e8c575eeb34d8ed4df669e4026a
+SIZE (KhronosGroup-glslang-c594de2_GH0.tar.gz) = 3284571
+SHA256 (zeux-pugixml-40be014_GH0.tar.gz) = e36312bbf6bb2ed7d5a6a29d073e66a23d5d5fe79a1d0eb4c45ae1e1130813b0
+SIZE (zeux-pugixml-40be014_GH0.tar.gz) = 564438
diff --git a/devel/shadered/files/patch-CMakeLists.txt b/devel/shadered/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..1a9fcecd5517
--- /dev/null
+++ b/devel/shadered/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig	2023-01-19 21:30:11 UTC
++++ CMakeLists.txt
+@@ -222,7 +222,7 @@ elseif(UNIX AND NOT APPLE)
+ 	target_link_libraries(SHADERed ${GLEW_LIBRARIES} ${SDL2_LIBRARIES} ${GTK_LIBRARIES} ${CMAKE_DL_LIBS})
+ 
+ 	if (NOT DONT_LINK_FILESYSTEM)
+-		target_link_libraries(SHADERed stdc++fs pthread m dl)
++		target_link_libraries(SHADERed pthread m dl)
+ 	endif()
+ elseif(APPLE)
+ 	target_link_libraries(SHADERed GLEW::GLEW ${SDL2_LIBRARIES} ${GTK_LIBRARIES} ${CMAKE_DL_LIBS})
diff --git a/devel/shadered/pkg-descr b/devel/shadered/pkg-descr
new file mode 100644
index 000000000000..add45bb52412
--- /dev/null
+++ b/devel/shadered/pkg-descr
@@ -0,0 +1,9 @@
+Shader debugger lets you easily find bugs in your shader code. It is simple to
+use - you just need to pause the preview and select the pixel that you want to
+debug. After starting the debugger, you will be able to:
+* step through your shader code line by line
+* run immediate expressions
+* add watches
+* place (conditional) breakpoints
+* see list of all variables and their values
+* hover over expressions and see their value
diff --git a/devel/shadered/pkg-plist b/devel/shadered/pkg-plist
new file mode 100644
index 000000000000..b1ac8c59087d
--- /dev/null
+++ b/devel/shadered/pkg-plist
@@ -0,0 +1,46 @@
+bin/shadered
+share/applications/shadered.desktop
+share/icons/hicolor/128x128/apps/shadered.png
+share/icons/hicolor/256x256/apps/shadered.png
+share/icons/hicolor/32x32/apps/shadered.png
+share/icons/hicolor/64x64/apps/shadered.png
+share/pixmaps/shadered.svg
+%%DATADIR%%/data/NotoSans.ttf
+%%DATADIR%%/data/export/cpp/CMakeLists.txt
+%%DATADIR%%/data/export/cpp/FindGLM.cmake
+%%DATADIR%%/data/export/cpp/stb_image.h
+%%DATADIR%%/data/export/cpp/template.cpp
+%%DATADIR%%/data/gizmo.obj
+%%DATADIR%%/data/gui.dat
+%%DATADIR%%/data/icofont.ttf
+%%DATADIR%%/data/inconsolata.ttf
+%%DATADIR%%/data/preload.dat
+%%DATADIR%%/data/shortcuts.kb
+%%DATADIR%%/data/splash_screen_logo.png
+%%DATADIR%%/data/splash_screen_text_black.png
+%%DATADIR%%/data/splash_screen_text_white.png
+%%DATADIR%%/data/sponsors/DigitalOcean-black.png
+%%DATADIR%%/data/sponsors/DigitalOcean-white.png
+%%DATADIR%%/data/sponsors/Embark-black.png
+%%DATADIR%%/data/sponsors/Embark-white.png
+%%DATADIR%%/data/vector_handle.obj
+%%DATADIR%%/data/vector_point.obj
+%%DATADIR%%/data/workspace.dat
+%%DATADIR%%/plugins/README.txt
+%%DATADIR%%/templates/GLSL/shaders/SimplePS.glsl
+%%DATADIR%%/templates/GLSL/shaders/SimpleVS.glsl
+%%DATADIR%%/templates/GLSL/template.sprj
+%%DATADIR%%/templates/HLSL/shaders/SimplePS.hlsl
+%%DATADIR%%/templates/HLSL/shaders/SimpleVS.hlsl
+%%DATADIR%%/templates/HLSL/template.sprj
+%%DATADIR%%/templates/QuadGLSL/shaders/SimplePS.glsl
+%%DATADIR%%/templates/QuadGLSL/shaders/SimpleVS.glsl
+%%DATADIR%%/templates/QuadGLSL/template.sprj
+%%DATADIR%%/templates/QuadHLSL/shaders/SimplePS.hlsl
+%%DATADIR%%/templates/QuadHLSL/shaders/SimpleVS.hlsl
+%%DATADIR%%/templates/QuadHLSL/template.sprj
+%%DATADIR%%/themes/cherry.ini
+%%DATADIR%%/themes/corporategray.ini
+%%DATADIR%%/themes/dracula.ini
+%%DATADIR%%/themes/gray.ini
+%%DATADIR%%/themes/lightgreen.ini