NOTE: This is untested!

- 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
- 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.

OBS-URL: https://build.opensuse.org/package/show/games:tools/slade?expand=0&rev=44
This commit is contained in:
Jan Engelhardt 2024-11-27 16:03:11 +00:00 committed by Git OBS Bridge
commit 6afcedf9d0
12 changed files with 687 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,231 @@
From a54f12b4c29e949458949d5bede2f74b1aa8a34a Mon Sep 17 00:00:00 2001
From: jengelh <jengelh@inai.de>
Date: Mon, 29 Jun 2020 03:43:01 +0200
Subject: [PATCH] build: add cmake option to skip Lua components (#1175)
sol.hpp has a lot of templates which, when building with -g
-fsanitize=address -fsanitize=undefined, incur long compile time and
high memory usage (~8500MB) [applies to Scripting/Export/Archive.cpp
and Scripting/Export/Graphics.cpp].
Add a cmake option so I can skip building some parts and focus on
the rest.
Co-authored-by: Simon Judd <sirjuddington@gmail.com>
---
src/Application/App.cpp | 8 ++++++++
src/CMakeLists.txt | 11 ++++++++++-
src/MainEditor/UI/ArchivePanel.cpp | 10 ++++++++++
src/MainEditor/UI/MainWindow.cpp | 2 ++
src/MapEditor/UI/MapEditorWindow.cpp | 6 ++++++
5 files changed, 36 insertions(+), 1 deletion(-)
Index: SLADE-3.1.12/src/Application/App.cpp
===================================================================
--- SLADE-3.1.12.orig/src/Application/App.cpp
+++ SLADE-3.1.12/src/Application/App.cpp
@@ -450,8 +450,10 @@ bool App::init(vector<string>& args, dou
SAction::setBaseWxId(26000);
SAction::initActions();
+#ifdef USE_LUA
// Init lua
Lua::init();
+#endif
// Init UI
UI::init(ui_scale);
@@ -515,8 +517,10 @@ bool App::init(vector<string>& args, dou
Log::info("Loading game configurations");
Game::init();
+#ifdef USE_LUA
// Init script manager
ScriptManager::init();
+#endif
// Show the main window
MainEditor::windowWx()->Show(true);
@@ -644,8 +648,10 @@ void App::exit(bool save_config)
// Save custom special presets
Game::saveCustomSpecialPresets();
+#ifdef USE_LUA
// Save custom scripts
ScriptManager::saveUserScripts();
+#endif
}
// Close all open archives
@@ -666,8 +672,10 @@ void App::exit(bool save_config)
files = temp.GetNext(&filename);
}
+#ifdef USE_LUA
// Close lua
Lua::close();
+#endif
// Close DUMB
dumb_exit();
Index: SLADE-3.1.12/src/CMakeLists.txt
===================================================================
--- SLADE-3.1.12.orig/src/CMakeLists.txt
+++ SLADE-3.1.12/src/CMakeLists.txt
@@ -105,6 +105,9 @@ find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
find_package(Freetype REQUIRED)
find_package(CURL REQUIRED)
+if (NOT NO_LUA)
+ find_package(Lua REQUIRED)
+endif()
include_directories(
${FREEIMAGE_INCLUDE_DIR}
${SFML_INCLUDE_DIR}
@@ -133,6 +136,7 @@ endif ()
set(SLADE_SOURCES
)
+set(SLADE_SCRIPTING_SOURCES)
# Don't include external libraries here as they should be compiled separately
file(GLOB_RECURSE SLADE_SOURCES
Application/*.cpp
@@ -147,9 +151,14 @@ file(GLOB_RECURSE SLADE_SOURCES
OpenGL/*.cpp
UI/*.cpp
Utility/*.cpp
- Scripting/*.cpp
TextEditor/*.cpp
)
+if (NOT NO_LUA)
+ file(GLOB_RECURSE SLADE_SCRIPTING_SOURCES Scripting/*.cpp)
+ set(SLADE_SOURCES ${SLADE_SOURCES} ${SLADE_SCRIPTING_SOURCES})
+ ADD_DEFINITIONS(-DUSE_LUA)
+else ()
+endif ()
set(SLADE_HEADERS
)
file(GLOB_RECURSE SLADE_HEADERS *.h *.hpp)
Index: SLADE-3.1.12/src/MainEditor/UI/ArchivePanel.cpp
===================================================================
--- SLADE-3.1.12.orig/src/MainEditor/UI/ArchivePanel.cpp
+++ SLADE-3.1.12/src/MainEditor/UI/ArchivePanel.cpp
@@ -522,7 +522,9 @@ void ArchivePanel::addMenus()
SAction::fromId("arch_replace_maps")->addToMenu(menu_clean);
menu_archive->AppendSubMenu(menu_clean, "&Maintenance");
auto menu_scripts = new wxMenu();
+#ifdef USE_LUA
ScriptManager::populateEditorScriptMenu(menu_scripts, ScriptManager::ScriptType::Archive, "arch_script");
+#endif
menu_archive->AppendSubMenu(menu_scripts, "&Run Script");
}
if (!menu_entry)
@@ -546,7 +548,9 @@ void ArchivePanel::addMenus()
menu_entry->AppendSeparator();
SAction::fromId("arch_entry_bookmark")->addToMenu(menu_entry);
auto menu_scripts = new wxMenu();
+#ifdef USE_LUA
ScriptManager::populateEditorScriptMenu(menu_scripts, ScriptManager::ScriptType::Entry, "arch_entry_script");
+#endif
menu_entry->AppendSubMenu(menu_scripts, "&Run Script");
}
@@ -3189,9 +3193,11 @@ bool ArchivePanel::handleAction(string i
dlg.ShowModal();
}
+#ifdef USE_LUA
// Archive->Scripts->...
else if (id == "arch_script")
ScriptManager::runArchiveScript(archive_, wx_id_offset);
+#endif
// ------------------------------------------------------------------------
@@ -3269,9 +3275,11 @@ bool ArchivePanel::handleAction(string i
else if (id == "arch_entry_openext")
openEntryExternal();
+#ifdef USE_LUA
// Entry->Run Script
else if (id == "arch_entry_script")
ScriptManager::runEntryScript(entry_list_->getSelectedEntries(), wx_id_offset, MainEditor::windowWx());
+#endif
// Context menu actions
@@ -3785,6 +3793,7 @@ void ArchivePanel::onEntryListRightClick
#endif
}
+#ifdef USE_LUA
// Entry scripts
if (!ScriptManager::editorScripts(ScriptManager::ScriptType::Entry).empty())
{
@@ -3793,6 +3802,7 @@ void ArchivePanel::onEntryListRightClick
context.AppendSeparator();
context.AppendSubMenu(menu_scripts, "Run &Script");
}
+#endif
// Popup the context menu
PopupMenu(&context);
Index: SLADE-3.1.12/src/MainEditor/UI/MainWindow.cpp
===================================================================
--- SLADE-3.1.12.orig/src/MainEditor/UI/MainWindow.cpp
+++ SLADE-3.1.12/src/MainEditor/UI/MainWindow.cpp
@@ -661,12 +661,14 @@ bool MainWindow::handleAction(string id)
if (id == "main_showstartpage")
openStartPageTab();
+#ifdef USE_LUA
// Tools->Run Script
if (id == "main_runscript")
{
ScriptManager::open();
return true;
}
+#endif
// Help->About
if (id == "main_about")
Index: SLADE-3.1.12/src/MapEditor/UI/MapEditorWindow.cpp
===================================================================
--- SLADE-3.1.12.orig/src/MapEditor/UI/MapEditorWindow.cpp
+++ SLADE-3.1.12/src/MapEditor/UI/MapEditorWindow.cpp
@@ -269,7 +269,9 @@ void MapEditorWindow::setupMenu()
// Tools menu
wxMenu* menu_tools = new wxMenu("");
menu_scripts_ = new wxMenu();
+#ifdef USE_LUA
ScriptManager::populateEditorScriptMenu(menu_scripts_, ScriptManager::ScriptType::Map, "mapw_script");
+#endif
menu_tools->AppendSubMenu(menu_scripts_, "Run Script");
SAction::fromId("mapw_runscript")->addToMenu(menu_tools);
menu->Append(menu_tools, "&Tools");
@@ -1136,7 +1138,9 @@ void MapEditorWindow::reloadScriptsMenu(
while (menu_scripts_->FindItemByPosition(0))
menu_scripts_->Delete(menu_scripts_->FindItemByPosition(0));
+#ifdef USE_LUA
ScriptManager::populateEditorScriptMenu(menu_scripts_, ScriptManager::ScriptType::Map, "mapw_script");
+#endif
}
// ----------------------------------------------------------------------------
@@ -1436,6 +1440,7 @@ bool MapEditorWindow::handleAction(strin
return true;
}
+#ifdef USE_LUA
// Tools->Run Script
else if (id == "mapw_script")
{
@@ -1449,6 +1454,7 @@ bool MapEditorWindow::handleAction(strin
ScriptManager::open();
return true;
}
+#endif
return false;
}

View File

@ -0,0 +1,46 @@
From 519a5a5f87527a344ab04efa0947d5d8e75294e5 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Sun, 28 Jun 2020 12:38:40 +0200
Subject: [PATCH] build: allow deactivating the crash handler at build time
(#1166)
SLADE's own crash handler has two problems:
* it inhibits the generation of a proper crashdump
* it calls functions that not async-signal safe and/or re-entrant,
such as malloc (by way of backtrace(3)), which can lead to a hang
when the initial crash happened in malloc,
Fixes: #1166
---
COMPILE.md | 1 +
src/Application/SLADEWxApp.cpp | 2 +-
src/CMakeLists.txt | 4 ++++
3 files changed, 6 insertions(+), 1 deletion(-)
Index: SLADE-3.2.6/src/Application/SLADEWxApp.cpp
===================================================================
--- SLADE-3.2.6.orig/src/Application/SLADEWxApp.cpp
+++ SLADE-3.2.6/src/Application/SLADEWxApp.cpp
@@ -449,7 +449,7 @@ bool SLADEWxApp::OnInit()
#endif
// Handle exceptions using wxDebug stuff, but only in release mode
-#ifdef NDEBUG
+#if defined(USE_CRASHHANDLER) && defined(NDEBUG)
wxHandleFatalExceptions(true);
#endif
Index: SLADE-3.2.6/src/CMakeLists.txt
===================================================================
--- SLADE-3.2.6.orig/src/CMakeLists.txt
+++ SLADE-3.2.6/src/CMakeLists.txt
@@ -41,3 +41,7 @@ if (WIN32 AND MSVC)
else ()
include("unix") # Linux or MacOS
endif ()
+if (NOT NO_CRASHHANDLER)
+ add_definitions(-DUSE_CRASHHANDLER)
+endif ()
+

BIN
3.1.13.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
3.2.6.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

30
basepk3.diff Normal file
View File

@ -0,0 +1,30 @@
From: Jan Engelhardt <jengelh@inai.de>
Search for the resource file in /usr/share/slade, and prefer ~/.slade
over anything else.
(DIR_RES is /usr/share/appinfo according to wxWidgets,
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
===================================================================
--- SLADE-3.1.11.orig/src/Archive/ArchiveManager.cpp
+++ SLADE-3.1.11/src/Archive/ArchiveManager.cpp
@@ -153,14 +153,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))
dir_slade_pk3 = "slade.pk3";
// Open slade.pk3

24
clzma.diff Normal file
View File

@ -0,0 +1,24 @@
From: Jan Engelhardt <jengelh@inai.de>
Date: 2020-06-22 21:16:10.343429323 +0200
Make use of the clzma library in openSUSE.
---
src/External/CMakeLists.txt | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
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
@@ -26,10 +26,9 @@ file(GLOB_RECURSE EXTERNAL_SOURCES
*.cxx
dumb/*.c
lua/*.c
- lzma/C/LzmaDec.c
${SLADE_HEADERS}
)
add_library(external STATIC ${EXTERNAL_SOURCES})
-target_link_libraries(external ${ZLIB_LIBRARY} ${wxWidgets_LIBRARIES})
+target_link_libraries(external ${ZLIB_LIBRARY} ${wxWidgets_LIBRARIES} -lclzma)
set(EXTERNAL_LIBRARIES external PARENT_SCOPE)

12
disable_sse.patch Normal file
View File

@ -0,0 +1,12 @@
--- SLADE-3.1.13/src/CMakeLists.txt.orig 2021-06-15 14:13:13.473287606 +0200
+++ SLADE-3.1.13/src/CMakeLists.txt 2021-06-15 14:13:28.233451010 +0200
@@ -159,9 +159,6 @@ if(APPLE)
set_source_files_properties(${OSX_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
endif(APPLE)
-# enable SSE instructions for dumb library
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_USE_SSE -msse")
-
if(USE_SANITIZER)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address")

189
slade.changes Normal file
View File

@ -0,0 +1,189 @@
-------------------------------------------------------------------
Wed Nov 27 12:15:46 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- 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
- 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.
-------------------------------------------------------------------
Mon Feb 26 13:25:20 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Use %patch -P N instead of deprecated %patchN.
-------------------------------------------------------------------
Tue Jun 15 12:14:46 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Refresh patch to fix build on aarch64:
* disable_sse.patch
-------------------------------------------------------------------
Tue Jun 1 11:00:31 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.1.13
* Updated ZDoom, MAPINFO and ACS language definitions
* Added extra UDMF flags
* Fixed an issue with the "optional" keyword in TEXTURES
-------------------------------------------------------------------
Thu Apr 29 10:58:07 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>
- Update to 3.1.12a
* Provide metainfo
- Install upstream provided metainfo and desktop file
* Drop our versions
- Use cmake_install macro
-------------------------------------------------------------------
Sun Oct 11 09:18:41 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Disable Lua bindings as those fail to build
- Add 0001-build-add-cmake-option-to-skip-Lua-components-1175.patch
for Factory.
-------------------------------------------------------------------
Sun Jun 28 10:44:36 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Add 0001-build-allow-deactivating-the-crash-handler-at-build-.patch
Deactivate the crash handler, because it hangs. Let the kernel
generate a standard dump instead.
-------------------------------------------------------------------
Mon Jun 22 20:16:13 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Add clzma.diff to use system-provided clzma library.
-------------------------------------------------------------------
Tue May 26 08:26:11 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.1.12
* 'Run Archive' and 'Run Map' configurations have been
separated, so they should now make more sense for each
context.
* Fixed an issue where clicking a toolbar and pressing enter
would show/hide the 2nd group in the toolbar (this is what
was causing some people to randomly lose the zoom slider in
the gfx editor, for example).
* Added SRB2 .dta as a valid wad file extension.
* Resource Editor:
* Fixed adjusted offsets not being saved after cropping an
image.
* Fixed wrong files being deleted in some situations when
saving a directory.
* Fixed "Open map in DB2" not working for maps in zip/directory
archives.
* Map Editor:
* Added support for GZDoom slope plane UDMF properties.
* Added basic support for ZScript inheritance for thing types.
-------------------------------------------------------------------
Wed Apr 29 12:45:36 UTC 2020 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Refresh disable_sse.patch
-------------------------------------------------------------------
Sat Apr 18 17:06:32 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Update to release 3.1.11
* Added a Lua scripting engine
* Updated the start page with a new look and layout
* Improved console panel
* Improved support for high DPI displays
* Added support for vanilla-compatible tall gfx patches
* Added support for SiN archives
* Translations now work on truecolour images
* ZScript parsing
- Remove reproducible.patch (merged), wxChar.patch (no longer
applicable), added wx.diff
-------------------------------------------------------------------
Tue Jun 26 10:46:19 UTC 2018 - bwiedemann@suse.com
- Add reproducible.patch to not store extra timestamps in zip
to make build reproducible
-------------------------------------------------------------------
Tue Jun 12 12:46:57 UTC 2018 - jengelh@inai.de
- Fix build failure... slade wants zip, not p7zip.
- Wrap %desktop_* into a 42.x/13.x guard.
-------------------------------------------------------------------
Wed Apr 18 14:26:53 UTC 2018 - guillaume.gardet@opensuse.org
- Disable SSE with disable_sse.patch on non x86* archs
-------------------------------------------------------------------
Tue Jun 27 23:26:49 UTC 2017 - luke.nukem.jones@gmail.com
- Fix broken appdata xml
-------------------------------------------------------------------
Sun May 7 09:00:30 UTC 2017 - bwiedemann@suse.com
- use p7zip for deterministic archive file order
and strip-nondeterminism to have fully reproducible builds
-------------------------------------------------------------------
Tue May 2 13:04:33 UTC 2017 - bwiedemann@suse.com
- use convert -strip to make build more reproducible
-------------------------------------------------------------------
Fri Feb 10 01:19:39 UTC 2017 - luke.nukem.jones@gmail.com
- Update to 3.1.1.5
- Add appdata.xml
- General
* Added an option to always show acc compiler output, even on
success
* Various updates to game and language configurations
- Resource Editor
* Added a button to clear the entry list filter
* Fixed some issues when importing a palette from a PNG
* Fixed some potential crashes when loading corrupted Doom gfx
entries
* Fixed some issues with converting to doom flat format
- Texture Editor
* Patch and texture operations should now work on the correct
item when the texture or patch list is sorted
* Fixed PNG alpha channel being ignored for CopyAlpha/Overlay
patches
- Map Editor
* Added the option not to build nodes when saving a map (select
"Don't build nodes" as the node builder)
* Fixed a potential crash when building nodes
-------------------------------------------------------------------
Wed Dec 28 19:57:42 UTC 2016 - jengelh@inai.de
- Restore basepk3.diff for proper search order
-------------------------------------------------------------------
Mon Dec 19 05:19:27 UTC 2016 - luke.nukem.jones@gmail.com
- Update to version 3.1.1.4
- Remove patch basepk3.diff
- Add patch wxChar.diff
+ Corrects an issue with conversion from wxString to wxChar in
column sort
-------------------------------------------------------------------
Sun Jul 17 01:15:06 UTC 2016 - jengelh@inai.de
- Add basepk3.diff
-------------------------------------------------------------------
Tue Oct 20 14:31:10 UTC 2015 - jengelh@inai.de
- Initial package (version 3.1.0.5) for build.opensuse.org

84
slade.spec Normal file
View File

@ -0,0 +1,84 @@
#
# spec file for package slade
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: slade
Version: 3.2.6
Release: 0
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
Patch1: basepk3.diff
Patch2: wx.diff
Patch3: clzma.diff
Patch4: 0001-build-allow-deactivating-the-crash-handler-at-build-.patch
BuildRequires: ImageMagick
BuildRequires: cmake >= 3.1
BuildRequires: freeimage-devel
BuildRequires: gcc-c++ >= 8
BuildRequires: pkg-config
BuildRequires: strip-nondeterminism
BuildRequires: update-desktop-files
BuildRequires: wxWidgets-devel
BuildRequires: zip
BuildRequires: pkgconfig(clzma)
BuildRequires: pkgconfig(fluidsynth)
BuildRequires: pkgconfig(ftgl)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glew)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libmpg123)
BuildRequires: pkgconfig(sfml-all)
BuildRequires: pkgconfig(x11)
Provides: bundled(dumb) = 0.9.3
%description
SLADE is an editor for Doom-engine based games and source
ports. It has the ability to view, modify, and write many different
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
%build
%define _lto_cflags %nil
%cmake -DNO_WEBVIEW=ON -DWX_GTK3=OFF -DNO_CRASHHANDLER=ON \
-DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="%optflags" \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="%optflags" \
-DNO_LUA:BOOL=TRUE
%cmake_build
%install
strip-nondeterminism build/slade.pk3
%cmake_install
%files
%license LICENSE
%doc README.md
%_bindir/slade
%_datadir/slade3/
%_datadir/icons/hicolor/scalable/apps/net.mancubus.SLADE.svg
%_datadir/applications/net.mancubus.SLADE.desktop
%_datadir/metainfo/net.mancubus.SLADE.metainfo.xml
%changelog

41
wx.diff Normal file
View File

@ -0,0 +1,41 @@
From: Jan Engelhardt <jengelh@inai.de>
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.
[ 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.
---
src/CMakeLists.txt | 2 +-
src/External/CMakeLists.txt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: SLADE-3.1.12/src/CMakeLists.txt
===================================================================
--- SLADE-3.1.12.orig/src/CMakeLists.txt
+++ SLADE-3.1.12/src/CMakeLists.txt
@@ -52,7 +52,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)
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)