- Disable Lua bindings as those fail to build
OBS-URL: https://build.opensuse.org/package/show/games:tools/slade?expand=0&rev=33
This commit is contained in:
parent
e667f8f2e6
commit
adcda23619
231
0001-build-add-cmake-option-to-skip-Lua-components-1175.patch
Normal file
231
0001-build-add-cmake-option-to-skip-Lua-components-1175.patch
Normal 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;
|
||||
}
|
22
gcc10.patch
Normal file
22
gcc10.patch
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
src/External/sol/sol.hpp | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
Index: SLADE-3.1.12/src/External/sol/sol.hpp
|
||||
===================================================================
|
||||
--- SLADE-3.1.12.orig/src/External/sol/sol.hpp
|
||||
+++ SLADE-3.1.12/src/External/sol/sol.hpp
|
||||
@@ -4537,11 +4537,13 @@ namespace sol {
|
||||
return pusher<meta::unqualified_t<T>>{}.push(L, std::forward<T>(t), std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
+#if 0
|
||||
// overload allows to use a pusher of a specific type, but pass in any kind of args
|
||||
template<typename T, typename Arg, typename... Args, typename = std::enable_if_t<!std::is_same<T, Arg>::value>>
|
||||
inline int push(lua_State* L, Arg&& arg, Args&&... args) {
|
||||
return pusher<meta::unqualified_t<T>>{}.push(L, std::forward<Arg>(arg), std::forward<Args>(args)...);
|
||||
}
|
||||
+#endif
|
||||
|
||||
template<typename T, typename... Args>
|
||||
inline int push_reference(lua_State* L, T&& t, Args&&... args) {
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
|
11
slade.spec
11
slade.spec
@ -31,12 +31,13 @@ Patch2: wx.diff
|
||||
Patch3: clzma.diff
|
||||
Patch4: 0001-build-allow-deactivating-the-crash-handler-at-build-.patch
|
||||
Patch10: disable_sse.patch
|
||||
Patch11: 0001-build-add-cmake-option-to-skip-Lua-components-1175.patch
|
||||
# slade 3.2 will need gcc-c++>=8 and pkgconfig(fmt)>=6
|
||||
BuildRequires: ImageMagick
|
||||
BuildRequires: cmake >= 3.1
|
||||
BuildRequires: freeimage-devel
|
||||
BuildRequires: gcc-c++ >= 6
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: strip-nondeterminism
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: wxWidgets-3_0-devel
|
||||
@ -63,13 +64,17 @@ from/to other generic formats such as PNG.
|
||||
%ifnarch %ix86 x86_64
|
||||
%patch10 -p0
|
||||
%endif
|
||||
%if 0%{?suse_version} >= 1550
|
||||
%patch -P 11 -p1
|
||||
%endif
|
||||
|
||||
%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"
|
||||
make %{?_smp_mflags}
|
||||
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="%optflags" \
|
||||
-DNO_LUA:BOOL=TRUE
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
strip-nondeterminism build/slade.pk3
|
||||
|
Loading…
Reference in New Issue
Block a user