Download raw body.
fs2open update to 23.2.1
On Sat Jan 13, 2024 at 11:57:38PM -0500, Thomas Frohwein wrote:
> Hi,
>
> This diff updates fs2open to the latest version 23.2.1. Using
> DIST_TUPLE now simplifies the submodule handling quite a bit. I
> enabled vulkan again because it builds with it, though I only get a
> test image with a multi-colored triangle when trying to run the game
> with '-vulkan'. The vendored libhidapi needs a dependency on libusb1
> which is added now. I also found that the vendored imgui tries to
> dlopen(3) libGL.so.1 which fails, so patch this to drop the version
> suffix.
>
> Tested with a brief play session and planning to commit the update soon
> if no issues are raised.
Starts without notable issues and the gameplay is still smooth.
OK rsadowski
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/games/fs2open/Makefile,v
> retrieving revision 1.19
> diff -u -p -r1.19 Makefile
> --- Makefile 26 Sep 2023 17:58:07 -0000 1.19
> +++ Makefile 14 Jan 2024 04:52:16 -0000
> @@ -3,11 +3,8 @@ ONLY_FOR_ARCHS = aarch64 amd64 i386
>
> COMMENT = open source game engine based on FreeSpace 2
>
> -V = 23.0.0
> -DISTNAME = fs2open-${V}
> -GH_ACCOUNT = scp-fs2open
> -GH_PROJECT = fs2open.github.com
> -GH_TAGNAME = release_${V:S/./_/g}
> +V = 23.2.1
> +PKGNAME = fs2open-${V}
>
> CATEGORIES = games
>
> @@ -17,21 +14,18 @@ MAINTAINER = Thomas Frohwein <thfr@openb
> PERMIT_PACKAGE = no license at all
> PERMIT_DISTFILES = no license at all
>
> -# if running with vulkan backend, dlopen's vulkan in vulkan.hpp
> -WANTLIB += ${COMPILER_LIBCXX} SDL2 avcodec avformat avutil c freetype
> +# GL is dlopen'd
> +WANTLIB += ${COMPILER_LIBCXX} GL SDL2 avcodec avformat avutil c freetype iconv
> WANTLIB += jansson jpeg ${MODLUA_WANTLIB} m openal png swresample swscale
> -WANTLIB += vulkan z
> +WANTLIB += usb-1.0 vulkan z
>
> -RPAVLIK_CMAKE_MOD = 7cef9577d6fc35057ea57f46b4986a8a28aeff50
> -LIBROCKET = ecd648a43aff8a9f3daf064d75ca5725237d5b38
> -
> -SITES.a = https://github.com/asarium/cmake-modules/archive/
> -SITES.b = https://github.com/asarium/libRocket/archive/
> -
> -DISTFILES.a = ${RPAVLIK_CMAKE_MOD}.tar.gz
> -DISTFILES.b = ${LIBROCKET}.tar.gz
> -
> -DIST_SUBDIR = fs2open-${V}
> +DIST_TUPLE += github scp-fs2open fs2open.github.com release_${V:S/./_/g} .
> +DIST_TUPLE += github asarium cmake-modules \
> + 7cef9577d6fc35057ea57f46b4986a8a28aeff50 \
> + cmake/external/rpavlik-cmake-modules # Boost License 1.0
> +DIST_TUPLE += github asarium libRocket \
> + ecd648a43aff8a9f3daf064d75ca5725237d5b38 \
> + lib/libRocket # MIT
>
> # c++11
> COMPILER = base-clang ports-gcc
> @@ -39,6 +33,7 @@ MODULES = devel/cmake \
> lang/lua
> LIB_DEPENDS = audio/openal \
> devel/jansson \
> + devel/libusb1 \
> devel/sdl2 \
> graphics/ffmpeg \
> graphics/png \
> @@ -47,25 +42,18 @@ LIB_DEPENDS = audio/openal \
> CXXFLAGS += -I${X11BASE}/include -I${LOCALBASE}/include
> MODCMAKE_LDFLAGS = -L${X11BASE}/lib -L${LOCALBASE}/lib
>
> -# Disable Vulkan because of build failure, since upgrade to 1.3.224.1:
> -# code/graphics/vulkan/VulkanRenderer.cpp:794:21: error: no viable overloaded '='
> -# m_graphicsPipeline = m_device->createGraphicsPipelineUnique(nullptr, pipelineInfo);
> CONFIGURE_ARGS = -DCMAKE_INSTALL_PREFIX=${LOCALBASE}/share/fs2open \
> -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=On \
> - -DFSO_BUILD_WITH_VULKAN=Off
> + -DFSO_BUILD_WITH_VULKAN=On
>
> # currently not building; would be ${WRKBUILD}/bin/unittests
> NO_TEST = Yes
>
> +WRKDIST = ${WRKDIR}/fs2open.github.com-release_${V:S/./_/g}
> +
> # remove bundled SDL
> post-extract:
> rm -rf ${WRKSRC}/lib/libsdl
> - rmdir ${WRKSRC}/cmake/external/rpavlik-cmake-modules
> - ln -s ${WRKDIR}/cmake-modules-${RPAVLIK_CMAKE_MOD} \
> - ${WRKSRC}/cmake/external/rpavlik-cmake-modules
> - rmdir ${WRKSRC}/lib/libRocket
> - ln -s ${WRKDIR}/libRocket-${LIBROCKET} \
> - ${WRKSRC}/lib/libRocket
>
> do-gen:
> ${SUBST_CMD} ${WRKSRC}/CMakeLists.txt
> Index: distinfo
> ===================================================================
> RCS file: /cvs/ports/games/fs2open/distinfo,v
> retrieving revision 1.7
> diff -u -p -r1.7 distinfo
> --- distinfo 22 Feb 2023 06:51:24 -0000 1.7
> +++ distinfo 14 Jan 2024 04:52:16 -0000
> @@ -1,6 +1,6 @@
> -SHA256 (fs2open-23.0.0/7cef9577d6fc35057ea57f46b4986a8a28aeff50.tar.gz) = e2kS2gGlbuyljBP4u7B7YSCvjwRyIxZ0fcgTKo7GWso=
> -SHA256 (fs2open-23.0.0/ecd648a43aff8a9f3daf064d75ca5725237d5b38.tar.gz) = JcjDM2xciQqxzt/90Z17tubwjVy+HASUyiAs+5h/Tfc=
> -SHA256 (fs2open-23.0.0/fs2open-23.0.0.tar.gz) = AZok/u73pI+BcPAznFUwEisya9iPtz6ddRW/6eU4Gqg=
> -SIZE (fs2open-23.0.0/7cef9577d6fc35057ea57f46b4986a8a28aeff50.tar.gz) = 267464
> -SIZE (fs2open-23.0.0/ecd648a43aff8a9f3daf064d75ca5725237d5b38.tar.gz) = 2417905
> -SIZE (fs2open-23.0.0/fs2open-23.0.0.tar.gz) = 12210430
> +SHA256 (asarium-cmake-modules-7cef9577d6fc35057ea57f46b4986a8a28aeff50.tar.gz) = e2kS2gGlbuyljBP4u7B7YSCvjwRyIxZ0fcgTKo7GWso=
> +SHA256 (asarium-libRocket-ecd648a43aff8a9f3daf064d75ca5725237d5b38.tar.gz) = JcjDM2xciQqxzt/90Z17tubwjVy+HASUyiAs+5h/Tfc=
> +SHA256 (scp-fs2open-fs2open.github.com-release_23_2_1.tar.gz) = kOF0mdyZk3DmQV+1a0a3VbA7GH8DAUz4qYOjnTrd4Bs=
> +SIZE (asarium-cmake-modules-7cef9577d6fc35057ea57f46b4986a8a28aeff50.tar.gz) = 267464
> +SIZE (asarium-libRocket-ecd648a43aff8a9f3daf064d75ca5725237d5b38.tar.gz) = 2417905
> +SIZE (scp-fs2open-fs2open.github.com-release_23_2_1.tar.gz) = 12091345
> Index: patches/patch-cmake_toolchain-clang_cmake
> ===================================================================
> RCS file: /cvs/ports/games/fs2open/patches/patch-cmake_toolchain-clang_cmake,v
> retrieving revision 1.4
> diff -u -p -r1.4 patch-cmake_toolchain-clang_cmake
> --- patches/patch-cmake_toolchain-clang_cmake 11 Mar 2022 19:04:26 -0000 1.4
> +++ patches/patch-cmake_toolchain-clang_cmake 14 Jan 2024 04:52:16 -0000
> @@ -1,4 +1,4 @@
> -remove hardcoded -O{0,2} flags
> +remove hardcoded optimization flags
>
> Index: cmake/toolchain-clang.cmake
> --- cmake/toolchain-clang.cmake.orig
> @@ -10,7 +10,7 @@ Index: cmake/toolchain-clang.cmake
> -set(COMPILER_FLAGS_RELEASE "-O2 -Wno-unused-variable -Wno-unused-parameter")
> +set(COMPILER_FLAGS_RELEASE "-Wno-unused-variable -Wno-unused-parameter")
>
> --set(COMPILER_FLAGS_DEBUG "-O0 -g -Wshadow")
> +-set(COMPILER_FLAGS_DEBUG "-Og -g -Wshadow")
> +set(COMPILER_FLAGS_DEBUG "-g -Wshadow")
>
> # Always use the base flags and add our compiler flags at the bacl
> Index: patches/patch-cmake_toolchain-gcc_cmake
> ===================================================================
> RCS file: /cvs/ports/games/fs2open/patches/patch-cmake_toolchain-gcc_cmake,v
> retrieving revision 1.5
> diff -u -p -r1.5 patch-cmake_toolchain-gcc_cmake
> --- patches/patch-cmake_toolchain-gcc_cmake 20 Aug 2022 06:27:04 -0000 1.5
> +++ patches/patch-cmake_toolchain-gcc_cmake 14 Jan 2024 04:52:16 -0000
> @@ -1,4 +1,4 @@
> -remove hardcoded -O{0,2} flags
> +remove hardcoded optimization flags
>
> Index: cmake/toolchain-gcc.cmake
> --- cmake/toolchain-gcc.cmake.orig
> @@ -10,7 +10,7 @@ Index: cmake/toolchain-gcc.cmake
> -set(COMPILER_FLAGS_RELEASE "-O2 -Wno-unused-variable -Wno-unused-but-set-variable -Wno-array-bounds -Wno-empty-body -Wno-clobbered -Wno-unused-parameter")
> +set(COMPILER_FLAGS_RELEASE "-Wno-unused-variable -Wno-unused-but-set-variable -Wno-array-bounds -Wno-empty-body -Wno-clobbered -Wno-unused-parameter")
>
> --set(COMPILER_FLAGS_DEBUG "-O0 -g -Wshadow")
> +-set(COMPILER_FLAGS_DEBUG "-Og -g -Wshadow")
> +set(COMPILER_FLAGS_DEBUG "-g -Wshadow")
>
> # Always use the base flags and add our compiler flags at the back
> Index: patches/patch-code_CMakeLists_txt
> ===================================================================
> RCS file: /cvs/ports/games/fs2open/patches/patch-code_CMakeLists_txt,v
> retrieving revision 1.3
> diff -u -p -r1.3 patch-code_CMakeLists_txt
> --- patches/patch-code_CMakeLists_txt 11 Mar 2022 19:04:26 -0000 1.3
> +++ patches/patch-code_CMakeLists_txt 14 Jan 2024 04:52:16 -0000
> @@ -3,7 +3,7 @@ correct capitalization for libSDL2
> Index: code/CMakeLists.txt
> --- code/CMakeLists.txt.orig
> +++ code/CMakeLists.txt
> -@@ -28,7 +28,7 @@ TARGET_LINK_LIBRARIES(code PUBLIC ${PNG_LIBS})
> +@@ -31,7 +31,7 @@ TARGET_LINK_LIBRARIES(code PUBLIC ${PNG_LIBS})
> TARGET_LINK_LIBRARIES(code PUBLIC ${JPEG_LIBS})
> TARGET_LINK_LIBRARIES(code PUBLIC lz4)
>
> Index: patches/patch-lib_imgui_CMakeLists_txt
> ===================================================================
> RCS file: /cvs/ports/games/fs2open/patches/patch-lib_imgui_CMakeLists_txt,v
> retrieving revision 1.1
> diff -u -p -r1.1 patch-lib_imgui_CMakeLists_txt
> --- patches/patch-lib_imgui_CMakeLists_txt 22 Feb 2023 06:51:24 -0000 1.1
> +++ patches/patch-lib_imgui_CMakeLists_txt 14 Jan 2024 04:52:16 -0000
> @@ -1,7 +1,7 @@
> Index: lib/imgui/CMakeLists.txt
> --- lib/imgui/CMakeLists.txt.orig
> +++ lib/imgui/CMakeLists.txt
> -@@ -28,7 +28,7 @@ target_include_directories(imgui SYSTEM PUBLIC "${CMAK
> +@@ -35,7 +35,7 @@ target_include_directories(imgui SYSTEM PUBLIC "${CMAK
> suppress_warnings(imgui)
>
> set_target_properties(imgui PROPERTIES FOLDER "3rdparty")
> @@ -9,4 +9,4 @@ Index: lib/imgui/CMakeLists.txt
> +TARGET_LINK_LIBRARIES(imgui PUBLIC SDL2)
> target_link_libraries(imgui PUBLIC compiler)
>
> -
> + if (FSO_BUILD_WITH_VULKAN)
> Index: patches/patch-lib_imgui_backends_imgui_impl_opengl3_loader_h
> ===================================================================
> RCS file: patches/patch-lib_imgui_backends_imgui_impl_opengl3_loader_h
> diff -N patches/patch-lib_imgui_backends_imgui_impl_opengl3_loader_h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-lib_imgui_backends_imgui_impl_opengl3_loader_h 14 Jan 2024 04:52:16 -0000
> @@ -0,0 +1,14 @@
> +dlopen correctly - leave out Linux version suffix
> +
> +Index: lib/imgui/backends/imgui_impl_opengl3_loader.h
> +--- lib/imgui/backends/imgui_impl_opengl3_loader.h.orig
> ++++ lib/imgui/backends/imgui_impl_opengl3_loader.h
> +@@ -658,7 +658,7 @@ static GL3WglProc (*glx_get_proc_address)(const GLubyt
> +
> + static int open_libgl(void)
> + {
> +- libgl = dlopen("libGL.so.1", RTLD_LAZY | RTLD_LOCAL);
> ++ libgl = dlopen("libGL.so", RTLD_LAZY | RTLD_LOCAL);
> + if (!libgl)
> + return GL3W_ERROR_LIBRARY_OPEN;
> + *(void **)(&glx_get_proc_address) = dlsym(libgl, "glXGetProcAddressARB");
> Index: patches/patch-lib_vulkan-hpp_vulkan_vulkan_hpp
> ===================================================================
> RCS file: patches/patch-lib_vulkan-hpp_vulkan_vulkan_hpp
> diff -N patches/patch-lib_vulkan-hpp_vulkan_vulkan_hpp
> --- patches/patch-lib_vulkan-hpp_vulkan_vulkan_hpp 11 Mar 2022 19:04:26 -0000 1.2
> +++ /dev/null 1 Jan 1970 00:00:00 -0000
> @@ -1,12 +0,0 @@
> -Index: lib/vulkan-hpp/vulkan/vulkan.hpp
> ---- lib/vulkan-hpp/vulkan/vulkan.hpp.orig
> -+++ lib/vulkan-hpp/vulkan/vulkan.hpp
> -@@ -67999,7 +67999,7 @@ namespace VULKAN_HPP_NAMESPACE
> -
> - private:
> - bool m_success;
> --#if defined(__linux__) || defined(__APPLE__)
> -+#if defined(__linux__) || defined(__APPLE__) || defined(__OpenBSD__)
> - void *m_library;
> - #elif defined(_WIN32)
> - HMODULE m_library;
>
fs2open update to 23.2.1