diff --git a/0001-build-allow-deactivating-the-crash-handler-at-build-.patch b/0001-build-allow-deactivating-the-crash-handler-at-build-.patch index c34cbdd..ea20b39 100644 --- a/0001-build-allow-deactivating-the-crash-handler-at-build-.patch +++ b/0001-build-allow-deactivating-the-crash-handler-at-build-.patch @@ -14,10 +14,9 @@ SLADE's own crash handler has two problems: Fixes: #1166 --- - COMPILE.md | 1 + - src/Application/SLADEWxApp.cpp | 2 +- - src/CMakeLists.txt | 4 ++++ - 3 files changed, 6 insertions(+), 1 deletion(-) + src/Application/SLADEWxApp.cpp | 2 +- + src/CMakeLists.txt | 4 ++++ + 2 files changed, 5 insertions(+), 1 deletion(-) Index: SLADE-3.2.6/src/Application/SLADEWxApp.cpp =================================================================== diff --git a/basepk3.diff b/basepk3.diff index 98ce621..63326f1 100644 --- a/basepk3.diff +++ b/basepk3.diff @@ -8,23 +8,23 @@ which is not used in Linux distros.) src/Archive/ArchiveManager.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -Index: SLADE-3.1.11/src/Archive/ArchiveManager.cpp +Index: SLADE-3.2.6/src/Archive/ArchiveManager.cpp =================================================================== ---- SLADE-3.1.11.orig/src/Archive/ArchiveManager.cpp -+++ SLADE-3.1.11/src/Archive/ArchiveManager.cpp -@@ -153,14 +153,12 @@ bool ArchiveManager::init() +--- SLADE-3.2.6.orig/src/Archive/ArchiveManager.cpp ++++ SLADE-3.2.6/src/Archive/ArchiveManager.cpp +@@ -132,14 +132,12 @@ bool ArchiveManager::init() } // Find slade3.pk3 directory -- string dir_slade_pk3 = App::path("slade.pk3", App::Dir::Resources); -+ string dir_slade_pk3 = App::path("slade.pk3", App::Dir::User); - if (!wxFileExists(dir_slade_pk3)) - dir_slade_pk3 = App::path("slade.pk3", App::Dir::Data); - if (!wxFileExists(dir_slade_pk3)) - dir_slade_pk3 = App::path("slade.pk3", App::Dir::Executable); - if (!wxFileExists(dir_slade_pk3)) -- dir_slade_pk3 = App::path("slade.pk3", App::Dir::User); -- if (!wxFileExists(dir_slade_pk3)) +- auto dir_slade_pk3 = app::path("slade.pk3", app::Dir::Resources); ++ auto dir_slade_pk3 = app::path("slade.pk3", app::Dir::User); + if (!fileutil::fileExists(dir_slade_pk3)) + dir_slade_pk3 = app::path("slade.pk3", app::Dir::Data); + if (!fileutil::fileExists(dir_slade_pk3)) + dir_slade_pk3 = app::path("slade.pk3", app::Dir::Executable); + if (!fileutil::fileExists(dir_slade_pk3)) +- dir_slade_pk3 = app::path("slade.pk3", app::Dir::User); +- if (!fileutil::fileExists(dir_slade_pk3)) dir_slade_pk3 = "slade.pk3"; // Open slade.pk3 diff --git a/clzma.diff b/clzma.diff index 535b786..6a6a0f8 100644 --- a/clzma.diff +++ b/clzma.diff @@ -2,23 +2,30 @@ From: Jan Engelhardt Date: 2020-06-22 21:16:10.343429323 +0200 Make use of the clzma library in openSUSE. +[openSUSE-specific patch. I was under the impression that Debian and/or Ubuntu shipped +lzma-sdk-dev too, but, upon checking, do not do so (anymore) as of 2024-11-27.] --- - src/External/CMakeLists.txt | 3 +-- + thirdparty/CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -Index: SLADE-3.1.12/src/External/CMakeLists.txt +Index: SLADE-3.2.6/thirdparty/CMakeLists.txt =================================================================== ---- SLADE-3.1.12.orig/src/External/CMakeLists.txt -+++ SLADE-3.1.12/src/External/CMakeLists.txt -@@ -26,10 +26,9 @@ file(GLOB_RECURSE EXTERNAL_SOURCES - *.cxx - dumb/*.c - lua/*.c +--- SLADE-3.2.6.orig/thirdparty/CMakeLists.txt ++++ SLADE-3.2.6/thirdparty/CMakeLists.txt +@@ -17,7 +17,6 @@ endif() + set(EXTERNAL_SOURCES + ) + file(GLOB_RECURSE EXTERNAL_SOURCES - lzma/C/LzmaDec.c - ${SLADE_HEADERS} - ) + mus2mid/mus2mid.cpp + zreaders/*.cpp + glad/src/*.c +@@ -43,7 +42,7 @@ add_subdirectory(lunasvg/3rdparty/softwa + add_subdirectory(lunasvg/3rdparty/plutovg) add_library(external STATIC ${EXTERNAL_SOURCES}) --target_link_libraries(external ${ZLIB_LIBRARY} ${wxWidgets_LIBRARIES}) -+target_link_libraries(external ${ZLIB_LIBRARY} ${wxWidgets_LIBRARIES} -lclzma) +-target_link_libraries(external ${ZLIB_LIBRARY} lunasvg fmt::fmt ${CMAKE_DL_LIBS}) ++target_link_libraries(external ${ZLIB_LIBRARY} -lclzma lunasvg fmt::fmt ${CMAKE_DL_LIBS}) set(EXTERNAL_LIBRARIES external PARENT_SCOPE) + + if(USE_SYSTEM_DUMB) diff --git a/disable_sse.patch b/disable_sse.patch new file mode 100644 index 0000000..71c9897 --- /dev/null +++ b/disable_sse.patch @@ -0,0 +1,29 @@ +From: Jan Engelhardt +Date: 2024-11-27 17:12:00 +0100 +Original-Submitter: guillaume.gardet@opensuse.org +Original-Date: 2018-04-18 14:26:53 + +SSE is not guaranteed to be available on i586. +Testing the compiler for SSE availability is wrong — if anything, +the test needs to happen at runtime. + +--- + cmake/unix.cmake | 5 ----- + 1 file changed, 5 deletions(-) + +Index: SLADE-3.2.6/cmake/unix.cmake +=================================================================== +--- SLADE-3.2.6.orig/cmake/unix.cmake ++++ SLADE-3.2.6/cmake/unix.cmake +@@ -150,11 +150,6 @@ endif(APPLE) + + # Enable SSE instructions for dumb library + include(CheckCCompilerFlag) +-check_c_compiler_flag(-msse HAVE_SSE) +-if(HAVE_SSE) +- add_compile_options(-msse) +- add_definitions(-D_USE_SSE) +-endif() + + # Enable debug symbols for glib (so gdb debugging works properly with strings etc.) + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_GLIBCXX_DEBUG") diff --git a/slade.changes b/slade.changes index c78777a..72c5cad 100644 --- a/slade.changes +++ b/slade.changes @@ -2,16 +2,19 @@ Wed Nov 27 12:15:46 UTC 2024 - Bjørn Lie - Update to version 3.2.6: - * Please see Release Notes upstream at - https://github.com/sirjuddington/SLADE/releases -- Drop patches fixed upstream: - * disable_sse.patch - * 0001-build-add-cmake-option-to-skip-Lua-components-1175.patch -- Disable patches that needs rebase or dropping: - * basepk3.diff - * wx.diff - * clzma.diff -- Rebase 0001-build-allow-deactivating-the-crash-handler-at-build-.patch + * Support for vertical toolbars in the UI + * Support creation of Quake PAK archives. Support for reading + WebP and Ion Fury .art files. + * Added EDGE-Classic support + * Added support for Doom 32X map format + * Added support for MBF21 features via new 'Boom + MBF21' port + configuration + * Added missing ZDoom special 107 + * mapeditor: Moving a sector now also moves things within it + * ME: Added keybinds to rotate things in 2d mode (< and > by default) + * ME: Added toggleable point light previews in 2D things mode + * Added (experimental, unfinished) 3d floor preview support in + 3D mode (turned off by default) - Replace wxWidgets-3_0-devel for wxWidgets-devel BuildRequires: Package builds just fine with the newer 3.2 version. - Add pkgconfig(libmpg123) BuildRequires: New dependency. diff --git a/slade.spec b/slade.spec index 6e1f24d..795f760 100644 --- a/slade.spec +++ b/slade.spec @@ -23,12 +23,12 @@ Summary: An editor for DOOM maps and WAD/PK3 archives License: GPL-2.0-or-later Group: Amusements/Games/3D/Shoot URL: https://github.com/sirjuddington/SLADE -Source: %{url}/archive/refs/tags/%version.tar.gz +Source: https://github.com/sirjuddington/SLADE/archive/refs/tags/%version.tar.gz Patch1: basepk3.diff Patch2: wx.diff Patch3: clzma.diff Patch4: 0001-build-allow-deactivating-the-crash-handler-at-build-.patch - +Patch10: disable_sse.patch BuildRequires: ImageMagick BuildRequires: cmake >= 3.1 BuildRequires: freeimage-devel @@ -56,9 +56,7 @@ game-specific formats, and even convert between some of them, or from/to other generic formats such as PNG. %prep -%setup -q -n SLADE-%version -#%%patch -P 1 -P 2 -P 3 -p1 -%patch -P 4 -p1 +%autosetup -p1 -n SLADE-%version %build %define _lto_cflags %nil diff --git a/wx.diff b/wx.diff index 4d0c8fd..1e38f00 100644 --- a/wx.diff +++ b/wx.diff @@ -1,41 +1,28 @@ From: Jan Engelhardt Date: 2020-04-18 20:10:34.215071041 +0200 -external.so references wx functions (including those present in base), but does -not link them => add wx libs to the link. +Under SLADE 3.1.x, I observed: [ 12s] /usr/include/wx-3.0/wx/filename.h:139: undefined reference to `wxFileName::Assign(wxString const&, wxPathFormat)' [ 12s] /usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: CMakeFiles/external.dir/email/wxEmailMessage.o: in function `wxEmailMessage::DoAddAttachment(wxString const&, wxString&) const': -Furthermore, external.so references MemChunk:: functions, but does not link -them => change to STATIC because I am too lazy. +While external.so is gone in SLADE 3.2.6, the function is still used, +and so we should add "base" to WX_LIBS regardless. --- - src/CMakeLists.txt | 2 +- - src/External/CMakeLists.txt | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) + cmake/unix.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) -Index: SLADE-3.1.12/src/CMakeLists.txt +Index: SLADE-3.2.6/cmake/unix.cmake =================================================================== ---- SLADE-3.1.12.orig/src/CMakeLists.txt -+++ SLADE-3.1.12/src/CMakeLists.txt -@@ -52,7 +52,7 @@ if (WX_GTK3) +--- SLADE-3.2.6.orig/cmake/unix.cmake ++++ SLADE-3.2.6/cmake/unix.cmake +@@ -65,7 +65,7 @@ if (WX_GTK3) set(wxWidgets_CONFIG_OPTIONS --toolkit=gtk3) endif (WX_GTK3) --SET(WX_LIBS std aui gl stc richtext propgrid media) -+SET(WX_LIBS base std aui gl stc richtext propgrid media) +-SET(WX_LIBS std aui gl stc richtext propgrid) ++SET(WX_LIBS base std aui gl stc richtext propgrid) if (NO_WEBVIEW) SET(WX_LIBS ${WX_LIBS} html) else (NO_WEBVIEW) -Index: SLADE-3.1.12/src/External/CMakeLists.txt -=================================================================== ---- SLADE-3.1.12.orig/src/External/CMakeLists.txt -+++ SLADE-3.1.12/src/External/CMakeLists.txt -@@ -31,5 +31,5 @@ file(GLOB_RECURSE EXTERNAL_SOURCES - ) - - add_library(external STATIC ${EXTERNAL_SOURCES}) --target_link_libraries(external ${ZLIB_LIBRARY}) -+target_link_libraries(external ${ZLIB_LIBRARY} ${wxWidgets_LIBRARIES}) - set(EXTERNAL_LIBRARIES external PARENT_SCOPE)