git: c6c49c453563 - main - games/openenroth: new port had been added (+)

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Mon, 30 Jan 2023 12:28:20 UTC
The branch main has been updated by danfe:

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

commit c6c49c453563760b067be12dddd114c7649d5a47
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2023-01-30 12:27:14 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2023-01-30 12:27:14 +0000

    games/openenroth: new port had been added (+)
    
    Might and Magic VI-VIII engine remake using original data and code.
    Allows playing the original game plus introduce customizations and
    modifications.  Currently, only MM7 is playable; support for 6 and
    8 will be added in the future.
    
    Via:    https://www.opennet.ru/opennews/art.shtml?num=58561
---
 games/Makefile                        |  1 +
 games/openenroth/Makefile             | 50 +++++++++++++++++++++++++++++++++++
 games/openenroth/distinfo             | 17 ++++++++++++
 games/openenroth/files/pkg-message.in | 12 +++++++++
 games/openenroth/pkg-descr            |  4 +++
 games/openenroth/pkg-plist            | 21 +++++++++++++++
 6 files changed, 105 insertions(+)

diff --git a/games/Makefile b/games/Makefile
index a43b7b6710f8..905ea1bcf05d 100644
--- a/games/Makefile
+++ b/games/Makefile
@@ -709,6 +709,7 @@
     SUBDIR += openclaw
     SUBDIR += openclonk
     SUBDIR += opendungeons
+    SUBDIR += openenroth
     SUBDIR += openfodder
     SUBDIR += opengfx
     SUBDIR += openglad
diff --git a/games/openenroth/Makefile b/games/openenroth/Makefile
new file mode 100644
index 000000000000..11d8fd314767
--- /dev/null
+++ b/games/openenroth/Makefile
@@ -0,0 +1,50 @@
+PORTNAME=	${GH_PROJECT:[1]:tl}
+PORTVERSION=	g20230128
+CATEGORIES=	games
+
+MAINTAINER=	danfe@FreeBSD.org
+COMMENT=	Open reimplementation of Might and Magic VI-VIII game engine
+WWW=		https://github.com/OpenEnroth/OpenEnroth
+
+LICENSE=	LGPL3
+
+LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg \
+		libfmt.so:devel/libfmt
+
+USES=		cmake gl openal sdl
+USE_GL=		gl
+USE_SDL=	sdl2
+SUB_FILES=	pkg-message
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	OpenEnroth CLIUtils:cli11 fastfloat:ff g-truc:glm \
+		LuaJIT:lj Neargye:me pulzed:mini nlohmann:nj
+GH_PROJECT=	OpenEnroth CLI11:cli11 fast_float:ff glm:glm \
+		LuaJIT:lj magic_enum:me mINI:mini json:nj
+GH_TAGNAME=	093e253 a227cd1:cli11 1ea4f27:ff 6ad79aa:glm \
+		03080b7:lj d01a4f9:me a1ff72e:mini 4c6cde7:nj
+GH_SUBDIR=	thirdparty/cli11:cli11 thirdparty/fast_float:ff \
+		thirdparty/glm:glm thirdparty/luajit/luajit:lj \
+		thirdparty/magic_enum:me thirdparty/mini:mini \
+		thirdparty/nlohmann_json:nj
+
+post-patch:
+	@${REINPLACE_CMD} -e '/CMAKE_CXX_STANDARD/s,23,20,' \
+		${WRKSRC}/CMakeLists.txt
+	@${REINPLACE_CMD} -e \
+	    '/PROJECT_VERSION/s,unknown,git-${GH_TAGNAME:[1]},' \
+		${WRKSRC}/CMakeModules/Git.cmake
+	@${REINPLACE_CMD} -e '/fmt/d' \
+		${WRKSRC}/thirdparty/CMakeLists.txt
+	@${REINPLACE_CMD} -e '/^target_link_libraries/s,fmt::,pthread ,' \
+		${WRKSRC}/src/Utility/CMakeLists.txt
+	@${REINPLACE_CMD} -e 's, c++abi,,' \
+		${WRKSRC}/thirdparty/luajit/cmake/src/CMakeLists.txt
+
+do-install:
+	${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/OpenEnroth \
+		${STAGEDIR}${PREFIX}/bin
+	@${MKDIR} ${STAGEDIR}${DATADIR}
+	${CP} -a ${WRKSRC}/resources/shaders ${STAGEDIR}${DATADIR}
+
+.include <bsd.port.mk>
diff --git a/games/openenroth/distinfo b/games/openenroth/distinfo
new file mode 100644
index 000000000000..f6d675a492ff
--- /dev/null
+++ b/games/openenroth/distinfo
@@ -0,0 +1,17 @@
+TIMESTAMP = 1674869919
+SHA256 (OpenEnroth-OpenEnroth-g20230128-093e253_GH0.tar.gz) = b22ff7f7e9a75d79b15378297323fa8f44e5458b5336267269e53d292c160bc3
+SIZE (OpenEnroth-OpenEnroth-g20230128-093e253_GH0.tar.gz) = 1733730
+SHA256 (CLIUtils-CLI11-a227cd1_GH0.tar.gz) = 2120cc49c90afa0917f790bf84b8835bc386cd422d077d2fe91d3055c4d18cf8
+SIZE (CLIUtils-CLI11-a227cd1_GH0.tar.gz) = 313164
+SHA256 (fastfloat-fast_float-1ea4f27_GH0.tar.gz) = 0152d47ba6c6fd679bab36ef49d3968939ba3489885c824a867cee7b99d452bc
+SIZE (fastfloat-fast_float-1ea4f27_GH0.tar.gz) = 79251
+SHA256 (g-truc-glm-6ad79aa_GH0.tar.gz) = 5f02ae3b05118f7a11e2c1e851d8f74fde2e93c36489c0715d3810278f2730ec
+SIZE (g-truc-glm-6ad79aa_GH0.tar.gz) = 4385032
+SHA256 (LuaJIT-LuaJIT-03080b7_GH0.tar.gz) = e0e0fe47bb6a01730e6463fbbb5f0b1958c5e919076e7964238fa267a8594227
+SIZE (LuaJIT-LuaJIT-03080b7_GH0.tar.gz) = 1073401
+SHA256 (Neargye-magic_enum-d01a4f9_GH0.tar.gz) = 7334e1dcb3af741ff6e4d5ab13771d1b39d291bb35b740a4ca795419c93ad2fa
+SIZE (Neargye-magic_enum-d01a4f9_GH0.tar.gz) = 171928
+SHA256 (pulzed-mINI-a1ff72e_GH0.tar.gz) = 786340f60b220e564409bba5947a94ec88ddfd558775902dba28608619f6ff7b
+SIZE (pulzed-mINI-a1ff72e_GH0.tar.gz) = 26037
+SHA256 (nlohmann-json-4c6cde7_GH0.tar.gz) = 14598c3044c1b2662920ed5f73fd004657e3437b747b4b3d5afa8792c4098b72
+SIZE (nlohmann-json-4c6cde7_GH0.tar.gz) = 8033257
diff --git a/games/openenroth/files/pkg-message.in b/games/openenroth/files/pkg-message.in
new file mode 100644
index 000000000000..d0d13d57a170
--- /dev/null
+++ b/games/openenroth/files/pkg-message.in
@@ -0,0 +1,12 @@
+[
+{ type: install
+  message: <<EOM
+OpenEnroth requires original or GoG version of Might and Magic VII
+game assets available in the current directory or the path pointed
+by the OPENENROTH_MM7_PATH environment variable.
+
+Additionally, then you would have to copy (or create symbolic link
+to) the `%%DATADIR%%/shaders' directory there.
+EOM
+}
+]
diff --git a/games/openenroth/pkg-descr b/games/openenroth/pkg-descr
new file mode 100644
index 000000000000..ad76ef5fddb6
--- /dev/null
+++ b/games/openenroth/pkg-descr
@@ -0,0 +1,4 @@
+Might and Magic VI-VIII engine remake using original data and code.
+Allows playing the original game plus introduce customizations and
+modifications.  Currently, only MM7 is playable; support for 6 and
+8 will be added in the future.
diff --git a/games/openenroth/pkg-plist b/games/openenroth/pkg-plist
new file mode 100644
index 000000000000..278e918f48ce
--- /dev/null
+++ b/games/openenroth/pkg-plist
@@ -0,0 +1,21 @@
+bin/OpenEnroth
+%%DATADIR%%/shaders/glbillbshader.frag
+%%DATADIR%%/shaders/glbillbshader.vert
+%%DATADIR%%/shaders/glbspshader.frag
+%%DATADIR%%/shaders/glbspshader.vert
+%%DATADIR%%/shaders/gldecalshader.frag
+%%DATADIR%%/shaders/gldecalshader.vert
+%%DATADIR%%/shaders/glforcepershader.frag
+%%DATADIR%%/shaders/glforcepershader.vert
+%%DATADIR%%/shaders/gllinesshader.frag
+%%DATADIR%%/shaders/gllinesshader.vert
+%%DATADIR%%/shaders/glnuklear.frag
+%%DATADIR%%/shaders/glnuklear.vert
+%%DATADIR%%/shaders/gloutbuild.frag
+%%DATADIR%%/shaders/gloutbuild.vert
+%%DATADIR%%/shaders/glterrain.frag
+%%DATADIR%%/shaders/glterrain.vert
+%%DATADIR%%/shaders/gltextshader.frag
+%%DATADIR%%/shaders/gltextshader.vert
+%%DATADIR%%/shaders/gltwodshader.frag
+%%DATADIR%%/shaders/gltwodshader.vert