On Sat, Jan 28, 2023 at 11:46:10AM +0200, Timo Myyrä wrote: > Thomas Frohwein <[email protected]> writes: > > > Hi, > > > > This diff updates gzdoom to latest version 4.10.0. I've been trying out > > a few gzdoom games and ended up updating this port in the process, even > > though not strictly necessary to run the one I mainly tested - the demo > > of Beyond Sunset [1]. Hands of Necromancy also works. > > > > The diff drops 2 patches that are no longer needed. Adds a new one to > > bypass get_current_dir_name() in i_system.cpp. > > > > CC'ing maintainer > > > > [1] https://metacorp.itch.io/beyond-sunset
[...] > Hi, > > Great that someone has play-tested the update so it works. > The I_GetCWD should be patched correctly instead of bypassing the > logic. It seems to be used when adding WAD files from directory so this > version would break that functionality. The other function may be > patched as well but I recall that was only used for debugging so it is > not that important. > > Timo A couple of months later, but I finally got around to figuring out the fix. This can also run the early access version of "Supplice" [1]. The change in GH_ACCOUNT is because the previous repo now forwards to https://github.com/ZDoom/gzdoom anyway. ok? [1] https://store.steampowered.com/app/1693280/Supplice/ Index: Makefile =================================================================== RCS file: /cvs/ports/games/gzdoom/Makefile,v retrieving revision 1.17 diff -u -p -r1.17 Makefile --- Makefile 18 Jul 2022 08:27:45 -0000 1.17 +++ Makefile 5 Aug 2023 02:58:11 -0000 @@ -6,8 +6,8 @@ ONLY_FOR_ARCHS = i386 amd64 COMMENT = OpenGL engine for idTech 1 games like doom,hexen,heretic... -V = 4.8.2 -GH_ACCOUNT = coelckers +V = 4.10.0 +GH_ACCOUNT = ZDoom GH_PROJECT = gzdoom GH_TAGNAME = g${V} DISTNAME = gzdoom-${V} Index: distinfo =================================================================== RCS file: /cvs/ports/games/gzdoom/distinfo,v retrieving revision 1.7 diff -u -p -r1.7 distinfo --- distinfo 18 Jul 2022 08:27:45 -0000 1.7 +++ distinfo 5 Aug 2023 02:58:11 -0000 @@ -1,2 +1,2 @@ -SHA256 (gzdoom-4.8.2.tar.gz) = Tt1g+AlMncPft0AL28DrsKXldLCmdH7uTI2fH2r3cSc= -SIZE (gzdoom-4.8.2.tar.gz) = 24247668 +SHA256 (gzdoom-4.10.0.tar.gz) = hwJSLAUEjf1KdlxqyConDYvQlC6BPVvG9LaXlaXSOiA= +SIZE (gzdoom-4.10.0.tar.gz) = 24319337 Index: patches/patch-libraries_discordrpc_CMakeLists_txt =================================================================== RCS file: patches/patch-libraries_discordrpc_CMakeLists_txt diff -N patches/patch-libraries_discordrpc_CMakeLists_txt --- patches/patch-libraries_discordrpc_CMakeLists_txt 31 Jul 2022 20:50:40 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -don't pick up clang-format is present - -Index: libraries/discordrpc/CMakeLists.txt ---- libraries/discordrpc/CMakeLists.txt.orig -+++ libraries/discordrpc/CMakeLists.txt -@@ -10,7 +10,8 @@ file(GLOB_RECURSE ALL_SOURCE_FILES - ) - - # Set CLANG_FORMAT_SUFFIX if you are using custom clang-format, e.g. clang-format-5.0 --find_program(CLANG_FORMAT_CMD clang-format${CLANG_FORMAT_SUFFIX}) -+#find_program(CLANG_FORMAT_CMD clang-format${CLANG_FORMAT_SUFFIX}) -+set(CLANG_FORMAT_CMD, FALSE) - - if (CLANG_FORMAT_CMD) - add_custom_target( Index: patches/patch-src_common_platform_posix_sdl_i_system_cpp =================================================================== RCS file: patches/patch-src_common_platform_posix_sdl_i_system_cpp diff -N patches/patch-src_common_platform_posix_sdl_i_system_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_common_platform_posix_sdl_i_system_cpp 5 Aug 2023 02:58:11 -0000 @@ -0,0 +1,42 @@ +use getcwd(3) instead of non-portable get_current_dir_name() + +Index: src/common/platform/posix/sdl/i_system.cpp +--- src/common/platform/posix/sdl/i_system.cpp.orig ++++ src/common/platform/posix/sdl/i_system.cpp +@@ -52,6 +52,8 @@ + #include <linux/perf_event.h> + #include <sys/mman.h> + #include "printf.h" ++#elif defined(__OpenBSD__) ++#include "printf.h" + #endif + + #include <SDL.h> +@@ -408,11 +410,10 @@ FString I_GetFromClipboard (bool use_primary_selection + + FString I_GetCWD() + { +- char* curdir = get_current_dir_name(); +- if (!curdir) +- { +- return ""; +- } ++ char curdir[PATH_MAX]; ++ ++ if (getcwd(curdir, sizeof(curdir)) == nullptr) ++ return ""; + FString ret(curdir); + free(curdir); + return ret; +@@ -447,7 +448,10 @@ unsigned int I_MakeRNGSeed() + + void I_OpenShellFolder(const char* infolder) + { +- char* curdir = get_current_dir_name(); ++ char curdir[PATH_MAX]; ++ ++ if (getcwd(curdir, sizeof(curdir)) == nullptr) ++ Printf("Unable to get current working directory\n"); + + if (!chdir(infolder)) + { Index: patches/patch-src_d_main_cpp =================================================================== RCS file: patches/patch-src_d_main_cpp diff -N patches/patch-src_d_main_cpp --- patches/patch-src_d_main_cpp 18 Jul 2022 08:27:46 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,24 +0,0 @@ -fix gzdoom.pk3 not found error, backport of -https://github.com/coelckers/gzdoom/pull/1665 - -Index: src/d_main.cpp ---- src/d_main.cpp.orig -+++ src/d_main.cpp -@@ -3534,6 +3534,8 @@ static int D_DoomMain_Internal (void) - - std::set_new_handler(NewFailure); - const char *batchout = Args->CheckValue("-errorlog"); -+ -+ D_DoomInit(); - - // [RH] Make sure zdoom.pk3 is always loaded, - // as it contains magic stuff we need. -@@ -3567,8 +3569,6 @@ static int D_DoomMain_Internal (void) - } - - if (!batchrun) Printf(PRINT_LOG, "%s version %s\n", GAMENAME, GetVersionString()); -- -- D_DoomInit(); - - extern void D_ConfirmSendStats(); - D_ConfirmSendStats();
