1PORTNAME= devilutionX 2DISTVERSION= 1.5.4 3CATEGORIES= games 4MASTER_SITES= https://github.com/diasurgical/devilutionx-assets/releases/download/${DATA_VERSION}/:data 5DISTFILES= devilutionx.mpq?tag=${DATA_VERSION}:data 6EXTRACT_ONLY= ${DISTFILES:N*\:data:C/:.*//} 7 8MAINTAINER= ports@MidnightBSD.org 9COMMENT= Diablo I engine for modern operating systems 10WWW= https://github.com/diasurgical/DevilutionX 11 12LICENSE= CC-BY-NC-SA-4.0 OFL11 SUL 13LICENSE_COMB= multi 14LICENSE_NAME_SUL= Sustainable Use License 15LICENSE_FILE_SUL= ${WRKSRC}/LICENSE.md 16LICENSE_PERMS_SUL= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept 17 18BUILD_DEPENDS= ${LOCALBASE}/include/SimpleIni.h:devel/simpleini 19LIB_DEPENDS= libfmt.so:devel/libfmt 20 21USES= cmake compiler:c++11-lang dos2unix gettext-tools pkgconfig sdl 22DOS2UNIX_GLOB= *.cpp *.h CMakeLists.txt Dependencies.cmake 23USE_GITHUB= yes 24GH_ACCOUNT= diasurgical 25GH_PROJECT= DevilutionX 26GH_TUPLE= diasurgical:libsmackerdec:91e732bb6953489077430572f43fc802bf2c75b2:libsmackerdec/_deps/libsmackerdec-src \ 27 diasurgical:libmpq:b78d66c6fee6a501cc9b95d8556a129c68841b05:libmpq/_deps/libmpq-src 28USE_SDL= sdl2 image2 29 30CMAKE_ARGS= -DCMAKE_INSTALL_SHAREDIR:PATH=${PREFIX}/share \ 31 -DVERSION_NUM="${PORTVERSION}.0" 32CMAKE_ON= DDEVILUTIONX_SYSTEM_LIBFMT \ 33 FETCHCONTENT_FULLY_DISCONNECTED 34 35DATA_VERSION= v4 36DATADIR= ${PREFIX}/share/diasurgical/devilutionx 37 38OPTIONS_DEFINE= TEST SOUND LTO DEBUG 39OPTIONS_GROUP= NETWORKING 40OPTIONS_GROUP_NETWORKING= NETWORK TCP ZEROTIER ENCRYPTION 41OPTIONS_DEFAULT= LTO NETWORK TCP ENCRYPTION SOUND 42 43TEST_CMAKE_BOOL= BUILD_TESTING 44TEST_BUILD_DEPENDS= googletest>0:devel/googletest 45 46NETWORK_DESC= Enable network support 47NETWORK_CMAKE_BOOL_OFF= NONET 48 49TCP_DESC= TCP multiplayer option 50TCP_CMAKE_BOOL_OFF= DISABLE_TCP 51TCP_IMPLIES= NETWORK 52TCP_GH_TUPLE= diasurgical:asio:4bcf552fcea3e1ae555dde2ab33bc9fa6770da4d:asio/_deps/asio-src 53 54ZEROTIER_DESC= ZeroTier multiplayer option (broken) 55ZEROTIER_BROKEN= does not build: fatal error: 'sys/appleapiopts.h' file not found 56ZEROTIER_CMAKE_BOOL_OFF=DISABLE_ZERO_TIER 57ZEROTIER_IMPLIES= NETWORK 58ZEROTIER_GH_TUPLE= diasurgical:libzt:d6c6a069a5041a3e89594c447ced3f15d77618b8:libzt/_deps/libzt-src \ 59 diasurgical:ZeroTierOne:b1350ac91118d1bd6bb71c0c41be5f4a30196838:ZeroTierOne/_deps/libzt-src/ext/ZeroTierOne \ 60 diasurgical:lwip:1bf7e011caf4e992ad139f6cb8c9818a9c1fbe1b:lwip/_deps/libzt-src/ext/lwip \ 61 diasurgical:lwip-contrib:1f9e26e221a41542563834222c4ec8399be1908f:lwipcontrib/_deps/libzt-src/ext/lwip-contrib 62 63ENCRYPTION_DESC= Encrypt network packets 64ENCRYPTION_CMAKE_BOOL= PACKET_ENCRYPTION 65ENCRYPTION_IMPLIES= NETWORK 66ENCRYPTION_LIB_DEPENDS= libsodium.so:security/libsodium 67 68SOUND_CMAKE_BOOL_OFF= NOSOUND 69SOUND_LIB_DEPENDS= libSDL_audiolib.so:audio/sdl_audiolib 70 71LTO_CMAKE_BOOL_OFF= DISABLE_LTO 72 73DEBUG_CMAKE_BOOL= DEBUG 74 75post-extract: 76 @${MKDIR} ${BUILD_WRKSRC} 77 @${LN} -s ${WRKSRC}/_deps ${BUILD_WRKSRC}/_deps 78 79post-patch: 80 @${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|' ${WRKSRC}/Source/init.cpp 81 82do-install: 83 ${INSTALL_PROGRAM} ${BUILD_WRKSRC}/devilutionx ${PREFIX}/bin 84 ${INSTALL_DATA} ${WRKSRC}/Packaging/nix/devilutionx.desktop ${PREFIX}/share/applications 85 ${INSTALL_DATA} ${WRKSRC}/Packaging/nix/devilutionx-hellfire.desktop ${PREFIX}/share/applications 86 @${MKDIR} ${PREFIX}/share/icons/hicolor/512x512/apps 87 ${INSTALL_DATA} ${WRKSRC}/Packaging/resources/icon.png ${PREFIX}/share/icons/hicolor/512x512/apps/devilutionx.png 88 ${INSTALL_DATA} ${WRKSRC}/Packaging/resources/hellfire.png ${PREFIX}/share/icons/hicolor/512x512/apps/devilutionx-hellfire.png 89 @${MKDIR} ${DATADIR} 90 ${INSTALL_DATA} ${DISTDIR}/devilutionx.mpq?tag=${DATA_VERSION} ${DATADIR}/devilutionx.mpq 91 92do-test-TEST-on: 93 @cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${LOCALBASE}/bin/ctest -V 94 95.if make(makesum) 96GH_TUPLE+= ${TCP_GH_TUPLE} \ 97 ${ZEROTIER_GH_TUPLE} \ 98 ${SOUND_GH_TUPLE} 99.endif 100 101.include <bsd.port.mk> 102