aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2023-01-30 12:27:14 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2023-01-30 12:27:14 +0000
commitc6c49c453563760b067be12dddd114c7649d5a47 (patch)
treee302c8cfefac34cfe16dc9ca3032c6931752b224
parent939cc7c118a35b0fdd8f17720710e9dd1d92222e (diff)
downloadports-c6c49c453563760b067be12dddd114c7649d5a47.tar.gz
ports-c6c49c453563760b067be12dddd114c7649d5a47.zip
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
-rw-r--r--games/Makefile1
-rw-r--r--games/openenroth/Makefile50
-rw-r--r--games/openenroth/distinfo17
-rw-r--r--games/openenroth/files/pkg-message.in12
-rw-r--r--games/openenroth/pkg-descr4
-rw-r--r--games/openenroth/pkg-plist21
6 files changed, 105 insertions, 0 deletions
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