View | Details | Raw Unified | Return to bug 264064
Collapse All | Expand All

(-)games/devilutionX/Makefile (-22 / +84 lines)
Lines 1-39 Link Here
1
PORTNAME=	devilutionX
1
PORTNAME=	devilutionX
2
DISTVERSION=	1.2.1
2
DISTVERSION=	1.4
3
PORTREVISION=	1
4
CATEGORIES=	games
3
CATEGORIES=	games
4
MASTER_SITES=	https://github.com/diasurgical/devilutionx-assets/releases/download/${DATA_VERSION}/:data
5
DISTFILES=	devilutionx.mpq?tag=${DATA_VERSION}:data
6
EXTRACT_ONLY=	${DISTFILES:N*\:data:C/:.*//}
5
7
6
MAINTAINER=	eduardo@FreeBSD.org
8
MAINTAINER=	eduardo@FreeBSD.org
7
COMMENT=	Diablo I engine for modern operating systems
9
COMMENT=	Diablo I engine for modern operating systems
8
10
9
LICENSE=	UNLICENSE
11
LICENSE=	UNLICENSE CC-BY-NC-SA-4.0 OFL11
10
LICENSE_FILE=	${WRKSRC}/LICENSE
12
LICENSE_COMB=	multi
13
LICENSE_FILE_UNLICENSE=	${WRKSRC}/LICENSE
11
14
12
_MY_DEPENDS=	CharisSIL>0:x11-fonts/charis
15
BUILD_DEPENDS=	CharisSIL>0:x11-fonts/charis
13
BUILD_DEPENDS=	${_MY_DEPENDS}
16
RUN_DEPENDS=	CharisSIL>0:x11-fonts/charis
14
LIB_DEPENDS=	libsodium.so:security/libsodium
17
LIB_DEPENDS=	libfmt.so:devel/libfmt
15
RUN_DEPENDS=	${_MY_DEPENDS}
16
18
17
USES=		cmake compiler:c++11-lang dos2unix sdl
19
USES=		cmake compiler:c++11-lang dos2unix gettext-tools pkgconfig sdl
18
DOS2UNIX_GLOB=	*.c *.h CMakeLists.txt
20
DOS2UNIX_GLOB=	*.cpp *.h CMakeLists.txt
19
USE_GITHUB=	yes
21
USE_GITHUB=	yes
20
GH_ACCOUNT=	diasurgical
22
GH_ACCOUNT=	diasurgical
21
USE_SDL=	mixer2 sdl2 ttf2
23
GH_TUPLE=	diasurgical:libsmackerdec:2997ee0e41e91bb723003bc09234be553b190e38:libsmackerdec/_deps/libsmackerdec-src \
24
		brofield:simpleini:9b3ed7ec815997bc8c5b9edf140d6bde653e1458:simpleini/_deps/simpleini-src \
25
		diasurgical:libmpq:0f10bd1600f406b13932bf5351ba713361262184:libmpq/_deps/libmpq-src
26
USE_SDL=	sdl2 image2
22
27
23
CMAKE_ARGS=	-DCMAKE_INSTALL_SHAREDIR:PATH=${PREFIX}/share \
28
CMAKE_ARGS=	-DCMAKE_INSTALL_SHAREDIR:PATH=${PREFIX}/share \
24
		-DVERSION_NUM=${PORTVERSION}
29
		-DVERSION_NUM="${PORTVERSION}.0"
25
30
CMAKE_ON=	FETCHCONTENT_FULLY_DISCONNECTED
26
.if defined(WITH_DEBUG)
27
CMAKE_ON=	DEBUG
28
.else
29
CMAKE_ON=	BINARY_RELEASE
30
.endif
31
31
32
CXXFLAGS+=	-DTTF_FONT_NAME=\\\"${LOCALBASE}/share/fonts/CharisSIL/CharisSIL-Bold.ttf\\\"
32
CXXFLAGS+=	-DTTF_FONT_NAME=\\\"${LOCALBASE}/share/fonts/CharisSIL/CharisSIL-Bold.ttf\\\"
33
33
34
PLIST_FILES=	bin/devilutionx \
34
DATA_VERSION=	v2
35
		share/applications/devilutionx.desktop \
35
DATADIR=	${PREFIX}/share/diasurgical/devilutionx
36
		share/icons/hicolor/512x512/apps/devilutionx.png \
36
37
		share/icons/hicolor/512x512/apps/devilutionx_solid.png
37
OPTIONS_DEFINE=		TEST SOUND LTO DEBUG
38
OPTIONS_GROUP=		NETWORKING
39
OPTIONS_GROUP_NETWORKING=	NETWORK TCP ZEROTIER ENCRYPTION
40
OPTIONS_DEFAULT=	LTO NETWORK TCP ENCRYPTION SOUND
41
42
TEST_CMAKE_BOOL=	BUILD_TESTING
43
TEST_BUILD_DEPENDS=	googletest>0:devel/googletest
44
45
NETWORK_DESC=		Enable network support
46
NETWORK_CMAKE_BOOL_OFF=	NONET
47
48
TCP_DESC=		TCP multiplayer option
49
TCP_CMAKE_BOOL_OFF=	DISABLE_TCP
50
TCP_IMPLIES=		NETWORK
51
TCP_GH_TUPLE=		diasurgical:asio:ebeff99f539da23d27c2e8d4bdbc1ee011968644:asio/_deps/asio-src
52
53
ZEROTIER_DESC=		ZeroTier multiplayer option (broken)
54
ZEROTIER_BROKEN=	does not build: fatal error: 'sys/appleapiopts.h' file not found
55
ZEROTIER_CMAKE_BOOL_OFF=DISABLE_ZERO_TIER
56
ZEROTIER_IMPLIES=	NETWORK
57
ZEROTIER_GH_TUPLE=	diasurgical:libzt:a34ba7f1cc2e41b05badd25d1b01fdc5fd2f4e02:libzt/_deps/libzt-src \
58
			diasurgical:ZeroTierOne:b1350ac91118d1bd6bb71c0c41be5f4a30196838:ZeroTierOne/_deps/libzt-src/ext/ZeroTierOne \
59
			diasurgical:lwip:1bf7e011caf4e992ad139f6cb8c9818a9c1fbe1b:lwip/_deps/libzt-src/ext/lwip \
60
			diasurgical:lwip-contrib:1f9e26e221a41542563834222c4ec8399be1908f:lwipcontrib/_deps/libzt-src/ext/lwip-contrib
61
62
ENCRYPTION_DESC=	Encrypt network packets
63
ENCRYPTION_CMAKE_BOOL=	PACKET_ENCRYPTION
64
ENCRYPTION_IMPLIES=	NETWORK
65
ENCRYPTION_LIB_DEPENDS=	libsodium.so:security/libsodium
66
67
SOUND_CMAKE_BOOL_OFF=	NOSOUND
68
SOUND_GH_TUPLE=		realnc:SDL_audiolib:1a69135313c79817b38a3a99826d4ac28d627fdf:SDL_audiolib/_deps/sdl_audiolib-src
69
70
LTO_CMAKE_BOOL_OFF=	DISABLE_LTO
71
72
DEBUG_CMAKE_BOOL=	DEBUG
73
74
post-extract:
75
	@${MKDIR} ${BUILD_WRKSRC}
76
	@${LN} -s ${WRKSRC}/_deps ${BUILD_WRKSRC}/_deps
77
78
post-patch:
79
	@${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|' ${WRKSRC}/Source/init.cpp
80
81
do-install:
82
	${INSTALL_PROGRAM} ${BUILD_WRKSRC}/devilutionx ${STAGEDIR}${PREFIX}/bin
83
	${INSTALL_DATA} ${WRKSRC}/Packaging/nix/devilutionx.desktop ${STAGEDIR}${PREFIX}/share/applications
84
	${INSTALL_DATA} ${WRKSRC}/Packaging/nix/devilutionx-hellfire.desktop ${STAGEDIR}${PREFIX}/share/applications
85
	@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/512x512/apps
86
	${INSTALL_DATA} ${WRKSRC}/Packaging/resources/icon.png ${STAGEDIR}${PREFIX}/share/icons/hicolor/512x512/apps/devilutionx.png
87
	${INSTALL_DATA} ${WRKSRC}/Packaging/resources/hellfire.png ${STAGEDIR}${PREFIX}/share/icons/hicolor/512x512/apps/devilutionx-hellfire.png
88
	${INSTALL_DATA} ${WRKSRC}/Packaging/resources/icon_solid.png ${STAGEDIR}${PREFIX}/share/icons/hicolor/512x512/apps/devilutionx_solid.png
89
	@${MKDIR} ${STAGEDIR}${DATADIR}
90
	${INSTALL_DATA} ${DISTDIR}/devilutionx.mpq?tag=${DATA_VERSION} ${STAGEDIR}${DATADIR}/devilutionx.mpq
91
92
do-test-TEST-on:
93
	@cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${LOCALBASE}/bin/ctest -V
94
95
.if make(makesum)
96
GH_TUPLE+=	${TCP_GH_TUPLE} \
97
		${ZEROTIER_GH_TUPLE} \
98
		${SOUND_GH_TUPLE}
99
.endif
38
100
39
.include <bsd.port.mk>
101
.include <bsd.port.mk>
(-)games/devilutionX/distinfo (-3 / +23 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1619323414
1
TIMESTAMP = 1652828881
2
SHA256 (diasurgical-devilutionX-1.2.1_GH0.tar.gz) = 002dcbd4d4a5bdf8db1a3ec01139e5bfbed46d6a1caa32b17c9f2df161ad3521
2
SHA256 (devilutionx.mpq?tag=v2) = 90467c15f5e0ac902b2b8ac916f63a1fe2dd4b554ca36ab218bcd27f5121e988
3
SIZE (diasurgical-devilutionX-1.2.1_GH0.tar.gz) = 3573200
3
SIZE (devilutionx.mpq?tag=v2) = 4959860
4
SHA256 (diasurgical-devilutionX-1.4_GH0.tar.gz) = 02efcb59c0b4c9f9332a93c9d9056d828381b261f00727d10e461b5b6a052c71
5
SIZE (diasurgical-devilutionX-1.4_GH0.tar.gz) = 7559966
6
SHA256 (diasurgical-libsmackerdec-2997ee0e41e91bb723003bc09234be553b190e38_GH0.tar.gz) = 40c0dc21943de22e153d56a7992c621a42a0c56c7cd833f8b84f90e48da753ea
7
SIZE (diasurgical-libsmackerdec-2997ee0e41e91bb723003bc09234be553b190e38_GH0.tar.gz) = 18556
8
SHA256 (brofield-simpleini-9b3ed7ec815997bc8c5b9edf140d6bde653e1458_GH0.tar.gz) = f7792eca9f3f7b0ee8916ffa4e124cb4b319b11d5849e15c5eef58eb910b0451
9
SIZE (brofield-simpleini-9b3ed7ec815997bc8c5b9edf140d6bde653e1458_GH0.tar.gz) = 62870
10
SHA256 (diasurgical-libmpq-0f10bd1600f406b13932bf5351ba713361262184_GH0.tar.gz) = ee173f5edb20f162482658cbc9d4bb84b640f651041d686c0ad7b2af12baf2a1
11
SIZE (diasurgical-libmpq-0f10bd1600f406b13932bf5351ba713361262184_GH0.tar.gz) = 69570
12
SHA256 (diasurgical-asio-ebeff99f539da23d27c2e8d4bdbc1ee011968644_GH0.tar.gz) = 88bb72f7bbdde7dbd050789bd73ff2abb2e9eacd8f9c889202b502f222230b6e
13
SIZE (diasurgical-asio-ebeff99f539da23d27c2e8d4bdbc1ee011968644_GH0.tar.gz) = 1614738
14
SHA256 (diasurgical-libzt-a34ba7f1cc2e41b05badd25d1b01fdc5fd2f4e02_GH0.tar.gz) = 40fd669e429b477bf2463e94c730b1db26752aafe06e4337dd76a112933ae1bf
15
SIZE (diasurgical-libzt-a34ba7f1cc2e41b05badd25d1b01fdc5fd2f4e02_GH0.tar.gz) = 390951
16
SHA256 (diasurgical-ZeroTierOne-b1350ac91118d1bd6bb71c0c41be5f4a30196838_GH0.tar.gz) = 39c1b7e28f9d4d92edaaa831007715358465a068019fe84a56b5366b386a1363
17
SIZE (diasurgical-ZeroTierOne-b1350ac91118d1bd6bb71c0c41be5f4a30196838_GH0.tar.gz) = 13122622
18
SHA256 (diasurgical-lwip-1bf7e011caf4e992ad139f6cb8c9818a9c1fbe1b_GH0.tar.gz) = 1477b5a427672480d0035b5af3e2cfae01c691afa9cace4500b43fcd262fa0bf
19
SIZE (diasurgical-lwip-1bf7e011caf4e992ad139f6cb8c9818a9c1fbe1b_GH0.tar.gz) = 1136882
20
SHA256 (diasurgical-lwip-contrib-1f9e26e221a41542563834222c4ec8399be1908f_GH0.tar.gz) = 0fd240b20ec56da41f5072161b8d1f1ad4367f994e183579bb5de9576394dcda
21
SIZE (diasurgical-lwip-contrib-1f9e26e221a41542563834222c4ec8399be1908f_GH0.tar.gz) = 395250
22
SHA256 (realnc-SDL_audiolib-1a69135313c79817b38a3a99826d4ac28d627fdf_GH0.tar.gz) = 8e013245bf8e676d4e2c61661d7cee6cb9de74f97a475c9e6b35a25d5e7a7715
23
SIZE (realnc-SDL_audiolib-1a69135313c79817b38a3a99826d4ac28d627fdf_GH0.tar.gz) = 304183
(-)games/devilutionX/files/patch-CMakeLists.txt (-12 / +8 lines)
Lines 1-14 Link Here
1
--- CMakeLists.txt.orig	2021-04-08 06:20:26 UTC
1
--- CMakeLists.txt.orig	2022-04-25 02:21:41 UTC
2
+++ CMakeLists.txt
2
+++ CMakeLists.txt
3
@@ -873,6 +873,11 @@ if(CPACK)
3
@@ -156,7 +156,6 @@ if(NONET)
4
     set(CPACK_GENERATOR "DragNDrop")
4
   set(PACKET_ENCRYPTION OFF)
5
   endif()
5
 endif()
6
 
6
 
7
+install(TARGETS devilutionx 				DESTINATION ${CMAKE_INSTALL_BINDIR})
7
-find_program(CCACHE_PROGRAM ccache)
8
+install(FILES   Packaging/fedora/devilutionx.desktop 	DESTINATION ${CMAKE_INSTALL_SHAREDIR}/applications)
8
 if(CCACHE_PROGRAM)
9
+install(FILES   Packaging/resources/icon.png 		DESTINATION ${CMAKE_INSTALL_SHAREDIR}/icons/hicolor/512x512/apps RENAME devilutionx.png)
9
   set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
10
+install(FILES   Packaging/resources/icon_solid.png 	DESTINATION ${CMAKE_INSTALL_SHAREDIR}/icons/hicolor/512x512/apps RENAME devilutionx_solid.png)
10
 endif()
11
+
12
   set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
13
   set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
14
   set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
(-)games/devilutionX/files/patch-Packaging_fedora_devilutionx.desktop (-17 lines)
Removed Link Here
1
--- Packaging/fedora/devilutionx.desktop.orig	2021-04-06 05:51:05 UTC
2
+++ Packaging/fedora/devilutionx.desktop
3
@@ -1,10 +1,10 @@
4
 [Desktop Entry]
5
 Name=DevilutionX
6
 GenericName=DevilutionX
7
-Comment=Play Diablo I on Linux
8
-Comment[da]=Spil Diablo I på Linux
9
-Comment[hr]=Igrajte Diablo I na Linuxu
10
-Comment[it]=Gioca a Diablo I su Linux
11
+Comment=Play Diablo
12
+Comment[da]=Spil Diablo I
13
+Comment[hr]=Igrajte Diablo I
14
+Comment[it]=Gioca a Diablo I
15
 Exec=devilutionx --diablo
16
 Icon=devilutionx
17
 Terminal=false
(-)games/devilutionX/files/patch-Source_engine_random.cpp (+14 lines)
Added Link Here
1
https://github.com/diasurgical/devilutionX/pull/4588
2
3
--- Source/engine/random.cpp.orig	2022-04-25 02:21:41 UTC
4
+++ Source/engine/random.cpp
5
@@ -29,7 +29,8 @@ uint32_t GetLCGEngineState()
6
 
7
 int32_t GetRndSeed()
8
 {
9
-	return abs(static_cast<int32_t>(sglGameSeed));
10
+	const int32_t seed = static_cast<int32_t>(sglGameSeed);
11
+	return seed == -2147483648 ? -2147483648 : abs(seed);
12
 }
13
 
14
 int32_t AdvanceRndSeed()
(-)games/devilutionX/files/patch-Source_init.cpp (+11 lines)
Added Link Here
1
--- Source/init.cpp.orig	2022-04-25 02:21:41 UTC
2
+++ Source/init.cpp
3
@@ -90,7 +90,7 @@ std::vector<std::string> GetMPQSearchPaths()
4
 	if (paths[0] == paths[1])
5
 		paths.pop_back();
6
 
7
-#if defined(__linux__) && !defined(__ANDROID__)
8
+#if (defined(__linux__) && !defined(__ANDROID__)) || defined(__FreeBSD__)
9
 	paths.emplace_back("/usr/share/diasurgical/devilutionx/");
10
 	paths.emplace_back("/usr/local/share/diasurgical/devilutionx/");
11
 #elif defined(__3DS__) || defined(__SWITCH__)
(-)games/devilutionX/files/patch-Source_sound.h (+14 lines)
Added Link Here
1
--- Source/sound.h.orig	2022-05-17 15:57:06 UTC
2
+++ Source/sound.h
3
@@ -60,7 +60,11 @@ struct TSnd {
4
 };
5
 
6
 extern bool gbSndInited;
7
+#ifndef NOSOUND
8
 extern _music_id sgnMusicTrack;
9
+#else
10
+inline const _music_id sgnMusicTrack = NUM_MUSIC;
11
+#endif
12
 
13
 void ClearDuplicateSounds();
14
 void snd_stop_snd(TSnd *pSnd);
(-)games/devilutionX/pkg-message (-2 / +1 lines)
Lines 4-11 Link Here
4
This game requires a datafile from the original Diablo(tm) CD or the GOG release.
4
This game requires a datafile from the original Diablo(tm) CD or the GOG release.
5
If you don't own it yet, you can buy it at https://www.gog.com/game/diablo
5
If you don't own it yet, you can buy it at https://www.gog.com/game/diablo
6
6
7
Copy DIABDAT.MPQ to ~/.local/share/diasurgical/devilution/diabdat.mpq
7
Copy DIABDAT.MPQ to ~/.local/share/diasurgical/devilution/
8
Pay attention to the case, the resulting file needs to be entirely lowercase!
9
8
10
If you have any issues with this game, please file a bug report on the GitHub page:
9
If you have any issues with this game, please file a bug report on the GitHub page:
11
https://github.com/diasurgical/devilutionX/issues
10
https://github.com/diasurgical/devilutionX/issues
(-)games/devilutionX/pkg-plist (+7 lines)
Added Link Here
1
bin/devilutionx
2
share/applications/devilutionx.desktop
3
share/applications/devilutionx-hellfire.desktop
4
%%DATADIR%%/devilutionx.mpq
5
share/icons/hicolor/512x512/apps/devilutionx-hellfire.png
6
share/icons/hicolor/512x512/apps/devilutionx.png
7
share/icons/hicolor/512x512/apps/devilutionx_solid.png

Return to bug 264064