Download raw body.
fs2open update to 23.2.1
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.
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