Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gzdoom for openSUSE:Factory checked in at 2024-05-27 11:54:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gzdoom (Old) and /work/SRC/openSUSE:Factory/.gzdoom.new.24587 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gzdoom" Mon May 27 11:54:37 2024 rev:35 rq:1176784 version:4.12.2 Changes: -------- --- /work/SRC/openSUSE:Factory/gzdoom/gzdoom.changes 2024-05-15 21:29:30.127901717 +0200 +++ /work/SRC/openSUSE:Factory/.gzdoom.new.24587/gzdoom.changes 2024-05-27 12:02:36.800787278 +0200 @@ -1,0 +2,8 @@ +Fri May 17 22:04:47 UTC 2024 - Jan Engelhardt <jeng...@inai.de> + +- Delete gzdoom-waddir.patch (substitute by logic in build recipe), + delete 0001-Revert-use-static_assert-to-make-32-bit-builds-fail.patch + and 0001-removed-some-32bit-only-CMake-code.patch + (merged into more-32bit.patch) + +------------------------------------------------------------------- Old: ---- 0001-Revert-use-static_assert-to-make-32-bit-builds-fail.patch 0001-removed-some-32bit-only-CMake-code.patch gzdoom-waddir.patch BETA DEBUG BEGIN: Old:- Delete gzdoom-waddir.patch (substitute by logic in build recipe), delete 0001-Revert-use-static_assert-to-make-32-bit-builds-fail.patch and 0001-removed-some-32bit-only-CMake-code.patch Old: delete 0001-Revert-use-static_assert-to-make-32-bit-builds-fail.patch and 0001-removed-some-32bit-only-CMake-code.patch (merged into more-32bit.patch) Old: - Delete gzdoom-waddir.patch (substitute by logic in build recipe), delete 0001-Revert-use-static_assert-to-make-32-bit-builds-fail.patch BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gzdoom.spec ++++++ --- /var/tmp/diff_new_pack.3lvFqo/_old 2024-05-27 12:02:37.392809014 +0200 +++ /var/tmp/diff_new_pack.3lvFqo/_new 2024-05-27 12:02:37.392809014 +0200 @@ -26,13 +26,10 @@ #Git-Clone: https://github.com/zdoom/gzdoom Source: https://github.com/zdoom/gzdoom/archive/g%version.tar.gz -Patch1: gzdoom-waddir.patch Patch2: gzdoom-discord.patch Patch3: 0001-Revert-Switch-to-miniz-from-zlib.patch Patch4: gzdoom-lzma-simd.patch Patch5: gzdoom-lzma.patch -Patch6: 0001-removed-some-32bit-only-CMake-code.patch -Patch7: 0001-Revert-use-static_assert-to-make-32-bit-builds-fail.patch Patch8: more-32bit.patch BuildRequires: cmake >= 2.8.7 BuildRequires: discord-rpc-devel @@ -81,16 +78,19 @@ %prep %autosetup -n %name-g%version -p1 %if 0%{?suse_version} < 1599 +# system lzma-sdk too old, use bundled copy %patch -P 5 -R -p1 %endif -perl -i -pe 's{__DATE__}{"does not matter when"}g' src/common/platform/posix/sdl/i_main.cpp -perl -i -pe 's{<unknown version>}{%version}g' tools/updaterevision/UpdateRevision.cmake +# osc/rpm always has the version identifier (only has an effect when snapshots are used via _service files) +perl -i -pe "s{<unknown version>}{%version}g" tools/updaterevision/UpdateRevision.cmake +# https://en.opensuse.org/openSUSE:Reproducible_Builds +perl -i -pe "s{__DATE__}{$SOURCE_DATE_EPOCH}g" src/common/platform/posix/sdl/i_main.cpp %build -# There is handcrafted assembler, which LTO does not play nice with. +# Disable LTO, which does not like seeing handcrafted assembler %define _lto_cflags %nil -export CXXFLAGS="$CXXFLAGS -I$PWD/extra_include" +export CXXFLAGS="$CXXFLAGS -DSHARE_DIR=\\\"%_datadir/doom\\\"" %cmake -DNO_STRIP=1 \ -DCMAKE_SHARED_LINKER_FLAGS="" \ -DCMAKE_EXE_LINKER_FLAGS="" -DCMAKE_MODULE_LINKER_FLAGS="" \ ++++++ 0001-Revert-Switch-to-miniz-from-zlib.patch ++++++ --- /var/tmp/diff_new_pack.3lvFqo/_old 2024-05-27 12:02:37.412809748 +0200 +++ /var/tmp/diff_new_pack.3lvFqo/_new 2024-05-27 12:02:37.416809895 +0200 @@ -1,29 +1,33 @@ -From b0910739a3fe9ade92356f2ed510049ebbccbec9 Mon Sep 17 00:00:00 2001 -From: Jan Engelhardt <jeng...@inai.de> +From: Jan Engelhardt <e...@inai.de> Date: Fri, 27 Oct 2023 09:01:47 +0200 -Subject: [PATCH] Revert "Switch to miniz from zlib" -This reverts commit ba9ce0e83f6e25e3ddef5000bd51d53f2e3947a2. +Use system-provided zlib. Heed + +Heed +https://en.opensuse.org/openSUSE:Bundled_software_policy +https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ + +(This reverts commit ba9ce0e83f6e25e3ddef5000bd51d53f2e3947a2.) + --- - CMakeLists.txt | 13 ++++++++++++- + CMakeLists.txt | 2 +- src/CMakeLists.txt | 4 ++-- src/common/audio/music/i_music.cpp | 3 ++- src/common/engine/serializer.cpp | 3 ++- src/common/filesystem/source/files_decompress.cpp | 3 ++- src/common/filesystem/source/filesystem.cpp | 3 ++- src/common/filesystem/source/resourcefile.cpp | 3 ++- - src/common/models/model.cpp | 13 +++++++++++-- + src/common/models/model.cpp | 9 +++++++-- src/common/platform/win32/i_crash.cpp | 3 ++- src/common/textures/m_png.cpp | 3 ++- - src/common/thirdparty/m_crc32.h | 6 ++++-- + src/common/thirdparty/m_crc32.h | 4 +++- src/g_pch.h | 3 ++- src/g_pch2.h | 3 ++- src/maploader/glnodes.cpp | 3 ++- src/serializer_doom.cpp | 3 ++- tools/zipdir/CMakeLists.txt | 4 ++-- tools/zipdir/zipdir.c | 3 ++- - vcpkg.json | 4 ++++ - 18 files changed, 59 insertions(+), 21 deletions(-) + 17 files changed, 39 insertions(+), 20 deletions(-) Index: gzdoom-g4.12.2/CMakeLists.txt =================================================================== @@ -37,32 +41,7 @@ include( TargetArch ) -@@ -332,6 +333,7 @@ set( CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE - set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${REL_C_FLAGS}" ) - set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${DEB_C_FLAGS} -D_DEBUG" ) - -+option(FORCE_INTERNAL_ZLIB "Use internal zlib") - option(FORCE_INTERNAL_BZIP2 "Use internal bzip2") - option(FORCE_INTERNAL_ASMJIT "Use internal asmjit" ON) - mark_as_advanced( FORCE_INTERNAL_ASMJIT ) -@@ -348,6 +350,16 @@ set( DRPC_INCLUDE_DIR "-I/ignore" ) - set( DRPC_LIBRARIES -ldiscord-rpc ) - set( DRPC_LIBRARY -ldiscord-rpc ) - -+if( ZLIB_FOUND AND NOT FORCE_INTERNAL_ZLIB ) -+ message( STATUS "Using system zlib, includes found at ${ZLIB_INCLUDE_DIR}" ) -+else() -+ message( STATUS "Using internal zlib" ) -+ set( SKIP_INSTALL_ALL TRUE ) # Avoid installing zlib -+ set( ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libraries/zlib ) -+ set( ZLIB_LIBRARIES z ) -+ set( ZLIB_LIBRARY z ) -+endif() -+ - if( HAVE_VM_JIT AND UNIX ) - check_symbol_exists( "backtrace" "execinfo.h" HAVE_BACKTRACE ) - if( NOT HAVE_BACKTRACE ) -@@ -406,7 +418,6 @@ install(DIRECTORY docs/ +@@ -406,7 +407,6 @@ install(DIRECTORY docs/ option( DYN_OPENAL "Dynamically load OpenAL" ON ) add_subdirectory( libraries/lzma ) @@ -174,21 +153,17 @@ #include "filesystem.h" #include "cmdlib.h" -@@ -132,7 +131,17 @@ FTextureID LoadSkin(const char * path, c +@@ -132,7 +131,13 @@ FTextureID LoadSkin(const char * path, c int ModelFrameHash(FSpriteModelFrame * smf) { - return crc32(0, (const unsigned char *)(&smf->type), offsetof(FSpriteModelFrame, hashnext) - offsetof(FSpriteModelFrame, type)); + const uint32_t *table = GetCRCTable (); + uint32_t hash = 0xffffffff; -+ + const char * s = (const char *)(&smf->type); // this uses type, sprite and frame for hashing + const char * se= (const char *)(&smf->hashnext); -+ + for (; s<se; s++) -+ { + hash = CRC1 (hash, *s, table); -+ } + return hash ^ 0xffffffff; } @@ -234,8 +209,7 @@ +#include <zlib.h> #include <stdint.h> --// miniz includes some CRC32 stuff, so just use that -+// zlib includes some CRC32 stuff, so just use that + // miniz includes some CRC32 stuff, so just use that +inline const uint32_t *GetCRCTable () { return (const uint32_t *)get_crc_table(); } inline uint32_t CalcCRC32 (const uint8_t *buf, unsigned int len) @@ -327,19 +301,4 @@ #include "bzlib.h" #include "LzmaEnc.h" #include "7zVersion.h" -Index: gzdoom-g4.12.2/vcpkg.json -=================================================================== ---- gzdoom-g4.12.2.orig/vcpkg.json -+++ gzdoom-g4.12.2/vcpkg.json -@@ -28,6 +28,10 @@ - }, - "dependencies": [ - { -+ "name": "zlib", -+ "platform": "!windows | (windows & static & staticcrt)" -+ }, -+ { - "name": "bzip2", - "platform": "(!windows & static) | (windows & static & staticcrt)" - }, ++++++ gzdoom-discord.patch ++++++ --- /var/tmp/diff_new_pack.3lvFqo/_old 2024-05-27 12:02:37.432810482 +0200 +++ /var/tmp/diff_new_pack.3lvFqo/_new 2024-05-27 12:02:37.436810629 +0200 @@ -1,7 +1,11 @@ -From: Jan Engelhardt <jeng...@inai.de> +From: Jan Engelhardt <e...@inai.de> Date: 2022-06-12 10:37:00.984596068 +0200 -Unbundle discord-rpc. +Use system-provided discord-rpc library. Heed + +* https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ +* https://en.opensuse.org/openSUSE:Bundled_software_policy + --- CMakeLists.txt | 6 +++--- libraries/discordrpc/src/CMakeLists.txt | 2 +- @@ -18,7 +22,7 @@ -set( DRPC_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libraries/discordrpc/include" ) -set( DRPC_LIBRARIES discord-rpc ) -set( DRPC_LIBRARY discord-rpc ) -+set( DRPC_INCLUDE_DIR "-I/ignore" ) ++set( DRPC_INCLUDE_DIR "/ignore" ) +set( DRPC_LIBRARIES -ldiscord-rpc ) +set( DRPC_LIBRARY -ldiscord-rpc ) ++++++ gzdoom-lzma-simd.patch ++++++ --- /var/tmp/diff_new_pack.3lvFqo/_old 2024-05-27 12:02:37.452811216 +0200 +++ /var/tmp/diff_new_pack.3lvFqo/_new 2024-05-27 12:02:37.452811216 +0200 @@ -1,8 +1,10 @@ -From: Jan Engelhardt <jeng...@inai.de> +From: Jan Engelhardt <e...@inai.de> Date: 2024-05-01 00:14:04.625759204 +0200 Subject: Fix build failures involving SIMD code -Fix build failure on Leap 15.6/gcc-7 amd64: +When using the bundled copy of lzma-sdk, there is a build failure +on Leap 15.6/gcc-7 amd64: + [ 31s] C/SwapBytes.c:312:7: error: incompatible types when initializing type '__m256i {aka const __vector(4) long long int}' using type 'int' ++++++ gzdoom-lzma.patch ++++++ --- /var/tmp/diff_new_pack.3lvFqo/_old 2024-05-27 12:02:37.468811803 +0200 +++ /var/tmp/diff_new_pack.3lvFqo/_new 2024-05-27 12:02:37.472811950 +0200 @@ -1,7 +1,10 @@ -From: Jan Engelhardt <jeng...@inai.de> +From: Jan Engelhardt <e...@inai.de> Date: 2018-01-08 13:48:59+0100 -Use LZMA system libraries instead of bundled code. +Use system-provided lzma-sdk. Heed + +* https://docs.fedoraproject.org/en-US/fesco/Bundled_Software_policy/ +* https://en.opensuse.org/openSUSE:Bundled_software_policy --- CMakeLists.txt | 4 ++-- ++++++ more-32bit.patch ++++++ --- /var/tmp/diff_new_pack.3lvFqo/_old 2024-05-27 12:02:37.484812391 +0200 +++ /var/tmp/diff_new_pack.3lvFqo/_new 2024-05-27 12:02:37.488812538 +0200 @@ -1,20 +1,55 @@ -From: Jan Engelhardt <jeng...@inai.de> -Date: 2023-11-03 10:46:06.423636287 +0100 +From: Jan Engelhardt <e...@inai.de> +Date: Wed, 8 May 2024 13:33:41 +0200 +Subject: [PATCH] build: portability fixes +References: https://github.com/ZDoom/gzdoom/pull/2562 -VkSurfaceKHR is an alias to `struct something *` on 64-bit platforms, but to -`uint64_t` on 32-bit. Using {} will clear it without running into a type error: +Different architectures have different type sizes and alignments. +Don't test void* for a hardcoded size if there is not an inherent +dependency on the size. I have hereby tested gzdoom.i586 runs +inside a chroot-on-x64. -[ 88s] sdlglvideo.cpp:294:54: error: cannot convert 'std::nullptr_t' to -'VkSurfaceKHR' {aka 'long long unsigned int'} in initialization -[ 88s] 294 | VkSurfaceKHR surfacehandle = nullptr; - -static_assert for particle_t also failed, because it's 120 on ILP32. +VkSurfaceKHR is not a pointer on some platforms but an integral type. +Using {} will clear it without running into a type error: + sdlglvideo.cpp:294:54: error: cannot convert 'std::nullptr_t' to + 'VkSurfaceKHR' {aka 'long long unsigned int'} in initialization + VkSurfaceKHR surfacehandle = nullptr; --- + src/CMakeLists.txt | 5 +++++ + src/common/engine/i_interface.cpp | 2 -- src/common/platform/posix/sdl/sdlglvideo.cpp | 2 +- src/playsim/p_effect.h | 7 +++++-- - 2 files changed, 6 insertions(+), 3 deletions(-) + 4 files changed, 11 insertions(+), 5 deletions(-) +Index: gzdoom-g4.12.2/src/CMakeLists.txt +=================================================================== +--- gzdoom-g4.12.2.orig/src/CMakeLists.txt ++++ gzdoom-g4.12.2/src/CMakeLists.txt +@@ -44,6 +44,11 @@ if( ${TARGET_ARCHITECTURE} MATCHES "x86_ + set( X64 64 ) + add_definitions( -DARCH_IA32 ) + endif() ++if( ${TARGET_ARCHITECTURE} MATCHES "i386" ) ++ # The production of _mm_load_si128 instructions requires flags. ++ # (This is independent of whether or not they are executed later.) ++ add_definitions( -mmmx -msse -msse2 -mfpmath=sse -DARCH_IA32 ) ++endif() + + if( NOT PROJECT_LIBRARIES ) + set( PROJECT_LIBRARIES "" ) +Index: gzdoom-g4.12.2/src/common/engine/i_interface.cpp +=================================================================== +--- gzdoom-g4.12.2.orig/src/common/engine/i_interface.cpp ++++ gzdoom-g4.12.2/src/common/engine/i_interface.cpp +@@ -5,8 +5,6 @@ + #include "c_cvars.h" + #include "gstrings.h" + +-static_assert(sizeof(void*) == 8, "32 builds are not supported"); +- + // Some global engine variables taken out of the backend code. + FStartupScreen* StartWindow; + SystemCallbacks sysCallbacks; Index: gzdoom-g4.12.2/src/common/platform/posix/sdl/sdlglvideo.cpp =================================================================== --- gzdoom-g4.12.2.orig/src/common/platform/posix/sdl/sdlglvideo.cpp