git: 1e70e1e8bedb - main - games/DDNet: update 16.5 → 16.7.1

From: Dmitry Marakasov <amdmi3_at_FreeBSD.org>
Date: Fri, 13 Jan 2023 19:13:10 UTC
The branch main has been updated by amdmi3:

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

commit 1e70e1e8bedb7463c4fdf80386093b5abf86084b
Author:     Dmitry Marakasov <amdmi3@FreeBSD.org>
AuthorDate: 2023-01-13 13:00:33 +0000
Commit:     Dmitry Marakasov <amdmi3@FreeBSD.org>
CommitDate: 2023-01-13 19:12:46 +0000

    games/DDNet: update 16.5 → 16.7.1
---
 games/DDNet/Makefile                   | 28 ++++++++++++++++++++++++----
 games/DDNet/distinfo                   | 24 +++++++++++++++++++++---
 games/DDNet/files/patch-CMakeLists.txt | 22 ++++++++++++++++++----
 3 files changed, 63 insertions(+), 11 deletions(-)

diff --git a/games/DDNet/Makefile b/games/DDNet/Makefile
index b299fbda262b..c54df00e8418 100644
--- a/games/DDNet/Makefile
+++ b/games/DDNet/Makefile
@@ -1,7 +1,8 @@
 PORTNAME=	DDNet
-PORTVERSION=	16.5
+PORTVERSION=	16.7.1
 CATEGORIES=	games
 MASTER_SITES=	https://ddnet.tw/downloads/
+DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
 
 MAINTAINER=	amdmi3@FreeBSD.org
 COMMENT=	DDraceNetwork, a cooperative racing mod of Teeworlds
@@ -12,12 +13,26 @@ LICENSE_FILE=	${WRKSRC}/license.txt
 
 LIB_DEPENDS=	libpng.so:graphics/png
 
-USES=		cmake compiler:c++17-lang pkgconfig python sqlite:3 ssl tar:xz
+USES=		cargo cmake compiler:c++17-lang pkgconfig python sqlite:3 ssl tar:xz
 CMAKE_ARGS=	-DPYTHON_EXECUTABLE="${PYTHON_CMD}"
 CMAKE_OFF=	AUTOUPDATE DOWNLOAD_GTEST PREFER_BUNDLED_LIBS
 
 CXXFLAGS+=	-DBINARY_DIR="\\\"${PREFIX}/bin\\\""
 
+CARGO_INSTALL=	no
+CARGO_TEST=	no
+CARGO_CRATES=	cc-1.0.73 \
+		cxx-1.0.71 \
+		cxxbridge-flags-1.0.71 \
+		cxxbridge-macro-1.0.71 \
+		link-cplusplus-1.0.6 \
+		proc-macro2-1.0.40 \
+		quote-1.0.20 \
+		syn-1.0.98 \
+		unicode-ident-1.0.1
+CARGO_TARGET_DIR=${BUILD_WRKSRC}
+CARGO_ENV+=	DDNET_TEST_NO_LINK=1
+
 PORTDATA=	*
 DATADIR=	${PREFIX}/share/ddnet
 
@@ -26,7 +41,7 @@ TEST_ENV=	${MAKE_ENV} GTEST_FILTER=-Io.CurrentExe:Jobs.LookupHost:Io.CurrentExe:
 OPTIONS_DEFINE=		TEST WEBSOCKETS MYSQL VIDEORECORDER UPNP VULKAN
 OPTIONS_MULTI=		COMPONENTS
 OPTIONS_MULTI_COMPONENTS=CLIENT SERVER
-OPTIONS_DEFAULT=	CLIENT SERVER TEST VIDEORECORDER UPNP VULKAN
+OPTIONS_DEFAULT=	CLIENT SERVER VIDEORECORDER UPNP VULKAN
 OPTIONS_SUB=		yes
 
 CLIENT_DESC=		Build game client
@@ -49,7 +64,7 @@ SERVER_BUILD_DEPENDS=	glew>=0:graphics/glew \
 			wavpack>=0:audio/wavpack
 
 TEST_BUILD_DEPENDS=	googletest>=0:devel/googletest
-TEST_TEST_TARGET=	run_tests
+TEST_TEST_TARGET=	run_tests  # tests are broken
 
 WEBSOCKETS_DESC=	Enable WebSocket support for server
 WEBSOCKETS_CMAKE_BOOL=	WEBSOCKETS
@@ -82,6 +97,11 @@ post-extract:
 	@${RM} -r ${WRKSRC}/src/engine/external/${dep}
 .endfor
 
+post-build:
+	@${ECHO_MSG} "===> Returning from cargo build to cmake build"
+	@${FIND} ${BUILD_WRKSRC} -name libddnet_engine_shared.a -exec ${CP} -p {} ${BUILD_WRKSRC}/release/ \;
+	@cd ${BUILD_WRKSRC} && ${DO_MAKE_BUILD} ${ALL_TARGET}
+
 post-patch:
 	@${REINPLACE_CMD} -e '/find_package.*Git/ d' ${WRKSRC}/CMakeLists.txt
 
diff --git a/games/DDNet/distinfo b/games/DDNet/distinfo
index 0b4fcd28a8ae..6666480f0c29 100644
--- a/games/DDNet/distinfo
+++ b/games/DDNet/distinfo
@@ -1,3 +1,21 @@
-TIMESTAMP = 1666797498
-SHA256 (DDNet-16.5.tar.xz) = 40393ca0c760bd256ef1b7f62f537dbad5593ba8e208170954ea4844ab66a066
-SIZE (DDNet-16.5.tar.xz) = 28656532
+TIMESTAMP = 1673548691
+SHA256 (DDNet-16.7.1.tar.xz) = a7042620123eccc209534da2d98cb5aa17b63303565dc1aca6b57f3fcd713f9d
+SIZE (DDNet-16.7.1.tar.xz) = 28692288
+SHA256 (rust/crates/cc-1.0.73.crate) = 2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11
+SIZE (rust/crates/cc-1.0.73.crate) = 57880
+SHA256 (rust/crates/cxx-1.0.71.crate) = 5469a6f42296f4fd40789b397383718f9a0bd75d2f9b7cedbb249996811fba27
+SIZE (rust/crates/cxx-1.0.71.crate) = 195479
+SHA256 (rust/crates/cxxbridge-flags-1.0.71.crate) = 0fef2b4ffdc935c973bc7817d541fc936fdc8a85194cfdd9c761aca8387edd48
+SIZE (rust/crates/cxxbridge-flags-1.0.71.crate) = 5593
+SHA256 (rust/crates/cxxbridge-macro-1.0.71.crate) = 9d3a240a54f5526967ffae81fdcda1fc80564964220d90816960b2eae2eab7f4
+SIZE (rust/crates/cxxbridge-macro-1.0.71.crate) = 59620
+SHA256 (rust/crates/link-cplusplus-1.0.6.crate) = f8cae2cd7ba2f3f63938b9c724475dfb7b9861b545a90324476324ed21dbc8c8
+SIZE (rust/crates/link-cplusplus-1.0.6.crate) = 8150
+SHA256 (rust/crates/proc-macro2-1.0.40.crate) = dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7
+SIZE (rust/crates/proc-macro2-1.0.40.crate) = 40559
+SHA256 (rust/crates/quote-1.0.20.crate) = 3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804
+SIZE (rust/crates/quote-1.0.20.crate) = 28160
+SHA256 (rust/crates/syn-1.0.98.crate) = c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd
+SIZE (rust/crates/syn-1.0.98.crate) = 235451
+SHA256 (rust/crates/unicode-ident-1.0.1.crate) = 5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c
+SIZE (rust/crates/unicode-ident-1.0.1.crate) = 33770
diff --git a/games/DDNet/files/patch-CMakeLists.txt b/games/DDNet/files/patch-CMakeLists.txt
index d87f98845d88..042f61282d11 100644
--- a/games/DDNet/files/patch-CMakeLists.txt
+++ b/games/DDNet/files/patch-CMakeLists.txt
@@ -1,6 +1,20 @@
---- CMakeLists.txt.orig	2022-02-12 22:26:38 UTC
+--- CMakeLists.txt.orig	2023-01-12 00:16:06 UTC
 +++ CMakeLists.txt
-@@ -2566,11 +2566,17 @@ if(NOT DEV)
+@@ -963,13 +963,6 @@ if(NOT CMAKE_OSX_ARCHITECTURES)
+     )
+     list(APPEND RUST_OUTPUTS "${PROJECT_BINARY_DIR}/${CARGO_BUILD_DIR}/${LIBRARY_NAME}")
+   endforeach()
+-  add_custom_command(
+-    OUTPUT ${RUST_OUTPUTS}
+-    COMMAND ${CARGO_BUILD}
+-    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+-    USES_TERMINAL
+-    DEPENDS ${RUST_SRC}
+-  )
+ else()
+   foreach(rust_target ${RUST_TARGETS})
+     set(LIBRARY_NAME "${CMAKE_STATIC_LIBRARY_PREFIX}ddnet_${rust_target}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+@@ -3004,11 +2997,17 @@ if(NOT DEV)
      install(TARGETS ${TARGET_ANTIBOT} DESTINATION ${CMAKE_INSTALL_LIBDIR}/ddnet COMPONENT server)
    endif()
    install(TARGETS ${TARGETS_TOOLS} DESTINATION ${CMAKE_INSTALL_LIBDIR}/ddnet COMPONENT tools)
@@ -20,5 +34,5 @@
 +      install(FILES other/icons/DDNet-Server_${SIZE}x${SIZE}x32.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME ddnet-server.png COMPONENT server)
 +    endif()
    endforeach()
- endif()
- 
+   foreach(file ${VULKAN_SHADER_FILE_LIST})
+     install(FILES ${PROJECT_BINARY_DIR}/${file} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/ddnet/data/shader/vulkan COMPONENT client)