diff --git a/games/warzone2100/Makefile b/games/warzone2100/Makefile index 39fb8651f567..49f4f3913d88 100644 --- a/games/warzone2100/Makefile +++ b/games/warzone2100/Makefile @@ -1,80 +1,79 @@ PORTNAME= warzone2100 -DISTVERSION= 4.6.3 -PORTREVISION= 2 +DISTVERSION= 4.7.0 CATEGORIES= games MASTER_SITES= https://github.com/Warzone2100/warzone2100/releases/download/${DISTVERSION}/ DISTNAME= ${PORTNAME}_src DIST_SUBDIR= ${PORTNAME}-${PORTVERSION} MAINTAINER= amdmi3@FreeBSD.org COMMENT= Innovative 3D real-time strategy game WWW= https://wz2100.net/ -BROKEN= Fails to build, error: no member named 'eVkColorspaceSrgbNonlinear' in 'vk::ColorSpaceKHR' - LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= 7zz:archivers/7-zip \ a2x:textproc/asciidoc LIB_DEPENDS= libcurl.so:ftp/curl \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libminiupnpc.so:net/miniupnpc \ libogg.so:audio/libogg \ libopus.so:audio/opus \ libopusfile.so:audio/opusfile \ libphysfs.so:devel/physfs \ libpng.so:graphics/png \ libprotobuf.so:devel/protobuf \ libsodium.so:security/libsodium \ libtheoradec.so:multimedia/libtheora \ libvorbis.so:audio/libvorbis \ - libzip.so:archivers/libzip + libzip.so:archivers/libzip \ + libturbojpeg.so:graphics/libjpeg-turbo RUN_DEPENDS= ${LOCALBASE}/share/fonts/dejavu/DejaVuSans.ttf:x11-fonts/dejavu USES= cmake bison compiler:c++11-lib gl openal:al pkgconfig \ sdl sqlite tar:xz USE_GL= gl USE_SDL= sdl3 CMAKE_ON= WZ_DISABLE_FETCHCONTENT_GIT_CLONE \ CMAKE_DISABLE_FIND_PACKAGE_Asciidoctor \ CMAKE_DISABLE_FIND_PACKAGE_Git \ - FETCHCONTENT_FULLY_DISCONNECTED + WZ_USE_SYSTEM_LIBJPEG_TURBO \ + WZ_SKIP_ELF_SEPARATE_DEBUG CMAKE_OFF= FMT_INSTALL \ WZ_DOWNLOAD_PREBUILT_PACKAGES \ WZ_ENABLE_WARNINGS_AS_ERRORS \ WZ_FORCE_MINIMAL_OPUSFILE CMAKE_ARGS= -DWZ_DISTRIBUTOR="FreeBSD ports" WRKSRC= ${WRKDIR}/${PORTNAME} PORTDOCS= * PORTDATA= * OPTIONS_DEFINE= VULKAN FRIBIDI DOCS NLS OPTIONS_DEFAULT=VULKAN FRIBIDI OPTIONS_SUB= yes NLS_USES= gettext NLS_CMAKE_BOOL= ENABLE_NLS VULKAN_DESC= Enable Vulkan backend VULKAN_BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers \ ${LOCALBASE}/bin/glslc:graphics/shaderc VULKAN_CMAKE_BOOL= WZ_ENABLE_BACKEND_VULKAN FRIBIDI_LIB_DEPENDS= libfribidi.so:converters/fribidi FRIBIDI_CMAKE_OFF= -DCMAKE_DISABLE_FIND_PACKAGE_Fribidi=TRUE post-patch: @${FIND} ${WRKSRC} -type f -iname "*cmake*" -exec \ ${REINPLACE_CMD} -i '' -e '/find_package(Git/d' {} \; post-extract: .for bundled in miniupnp SQLiteCpp/sqlite3 @${RM} -rf ${WRKSRC}/3rdparty/${bundled} .endfor @${RM} -rf ${WRKSRC}/lib/sound/3rdparty .include diff --git a/games/warzone2100/distinfo b/games/warzone2100/distinfo index 2e27f41c31f0..6175d2060b1b 100644 --- a/games/warzone2100/distinfo +++ b/games/warzone2100/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1770289432 -SHA256 (warzone2100-4.6.3/warzone2100_src.tar.xz) = 431fe2436cff96878e2ed4edc6d0739453ad6293d6430b5832de9b522ff0b13a -SIZE (warzone2100-4.6.3/warzone2100_src.tar.xz) = 491362256 +TIMESTAMP = 1778612735 +SHA256 (warzone2100-4.7.0/warzone2100_src.tar.xz) = 95ee4d5b88680ea1b1cf230b67ea84028e08a2458b84605ac9f7fb9eb97c4e37 +SIZE (warzone2100-4.7.0/warzone2100_src.tar.xz) = 521127404 diff --git a/games/warzone2100/files/patch-lib_ivis__opengl_CMakeLists.txt b/games/warzone2100/files/patch-lib_ivis__opengl_CMakeLists.txt new file mode 100644 index 000000000000..8a0ac7baea28 --- /dev/null +++ b/games/warzone2100/files/patch-lib_ivis__opengl_CMakeLists.txt @@ -0,0 +1,15 @@ +--- lib/ivis_opengl/CMakeLists.txt.orig 2026-06-08 11:42:23 UTC ++++ lib/ivis_opengl/CMakeLists.txt +@@ -178,9 +178,9 @@ if (WZ_USE_SYSTEM_LIBJPEG_TURBO) + option(WZ_USE_SYSTEM_LIBJPEG_TURBO "Build with the system libjpeg-turbo library" ${_DEFAULT_WZ_USE_SYSTEM_LIBJPEG_TURBO_VALUE}) + + if (WZ_USE_SYSTEM_LIBJPEG_TURBO) +- find_package(libjpeg-turbo CONFIG REQUIRED) +- target_link_libraries(ivis-opengl PRIVATE $,libjpeg-turbo::turbojpeg,libjpeg-turbo::turbojpeg-static>) +- ++ find_package(PkgConfig REQUIRED) ++ pkg_check_modules(libturbojpeg REQUIRED IMPORTED_TARGET libturbojpeg) ++ target_link_libraries(ivis-opengl PRIVATE PkgConfig::libturbojpeg) + else() + include(ExternalProject) + diff --git a/games/warzone2100/files/patch-lib_ivis__opengl_gfx_api_vk.cpp b/games/warzone2100/files/patch-lib_ivis__opengl_gfx_api_vk.cpp new file mode 100644 index 000000000000..3b7d8527ee09 --- /dev/null +++ b/games/warzone2100/files/patch-lib_ivis__opengl_gfx_api_vk.cpp @@ -0,0 +1,26 @@ +--- lib/ivis_opengl/gfx_api_vk.cpp.orig 2026-04-07 13:57:52 UTC ++++ lib/ivis_opengl/gfx_api_vk.cpp +@@ -4255,10 +4255,10 @@ vk::SurfaceFormatKHR chooseSwapSurfaceFormat(const std + vk::SurfaceFormatKHR chooseSwapSurfaceFormat(const std::vector& availableFormats) + { + const auto desiredFormats = std::array { +- vk::SurfaceFormatKHR{ vk::Format::eA2B10G10R10UnormPack32, vk::ColorSpaceKHR::eVkColorspaceSrgbNonlinear }, +- vk::SurfaceFormatKHR{ vk::Format::eA2R10G10B10UnormPack32, vk::ColorSpaceKHR::eVkColorspaceSrgbNonlinear }, +- vk::SurfaceFormatKHR{ vk::Format::eB8G8R8A8Unorm, vk::ColorSpaceKHR::eVkColorspaceSrgbNonlinear }, +- vk::SurfaceFormatKHR{ vk::Format::eR8G8B8A8Unorm, vk::ColorSpaceKHR::eVkColorspaceSrgbNonlinear } ++ vk::SurfaceFormatKHR{ vk::Format::eA2B10G10R10UnormPack32, vk::ColorSpaceKHR::eSrgbNonlinear }, ++ vk::SurfaceFormatKHR{ vk::Format::eA2R10G10B10UnormPack32, vk::ColorSpaceKHR::eSrgbNonlinear }, ++ vk::SurfaceFormatKHR{ vk::Format::eB8G8R8A8Unorm, vk::ColorSpaceKHR::eSrgbNonlinear }, ++ vk::SurfaceFormatKHR{ vk::Format::eR8G8B8A8Unorm, vk::ColorSpaceKHR::eSrgbNonlinear } + }; + + if(availableFormats.size() == 1 +@@ -4266,7 +4266,7 @@ vk::SurfaceFormatKHR chooseSwapSurfaceFormat(const std + { + // don't appear to be any preferred formats, so create one + vk::SurfaceFormatKHR format; +- format.colorSpace = vk::ColorSpaceKHR::eVkColorspaceSrgbNonlinear; ++ format.colorSpace = vk::ColorSpaceKHR::eSrgbNonlinear; + format.format = vk::Format::eB8G8R8A8Unorm; + return format; + }