diff --git a/.gitignore b/.gitignore index 77e46fc..6949f5e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,3 @@ boswars-2.6-src.tar.gz /boswars-2.7-src.tar.gz /boswars-2.7-fixed-images-for-libpng-1.6.tar.xz /boswars_2.7+svn160110.orig.tar.xz -/boswars-2.8-src.tar.gz diff --git a/boswars-0001-Convert-to-UTF-8.patch b/boswars-0001-Convert-to-UTF-8.patch deleted file mode 100644 index 9edd1ea..0000000 --- a/boswars-0001-Convert-to-UTF-8.patch +++ /dev/null @@ -1,19 +0,0 @@ -From: Peter Lemenkov -Date: Mon, 27 May 2024 18:16:44 +0200 -Subject: [PATCH] Convert to UTF-8 - -Signed-off-by: Peter Lemenkov - -diff --git a/doc/guichan-copyright.txt b/doc/guichan-copyright.txt -index 42847137..318740f7 100644 ---- a/doc/guichan-copyright.txt -+++ b/doc/guichan-copyright.txt -@@ -8,7 +8,7 @@ - * - * Copyright (c) 2004, 2005 darkbits Js_./ - * Per Larsson a.k.a finalman _RqZ{a<^_aa -- * Olof Naessén a.k.a jansem/yakslem _asww7!uY`> )\a// -+ * Olof Naessén a.k.a jansem/yakslem _asww7!uY`> )\a// - * _Qhm`] _f "'c 1!5m - * Visit: http://guichan.darkbits.org )Qk

-Date: Wed, 5 Jul 2023 10:39:48 +0200 -Subject: [PATCH] fabricate.py: remove deprecated calls to - os.stat_float_times() - -Since Python 2.5, stat times use floats and we require at least -Python 2.7. os.stat_float_times() is deprecated since Python -3.1 and has been completely removed in Python 3.7. - -References in Python doc and issue tracker: -* https://docs.python.org/3/whatsnew/changelog.html?highlight=stat_float_times#id409 -* https://bugs.python.org/issue31827 - -This fixes one of the bugs detected by Luiz Gabriel Jung in bug #64375 -"Can't run new game version 2.8". - -diff --git a/fabricate.py b/fabricate.py -index d63901d3..8fe46002 100644 ---- a/fabricate.py -+++ b/fabricate.py -@@ -378,10 +378,6 @@ class AtimesRunner(Runner): - """ Run command and return its dependencies and outputs, using before - and after access times to determine dependencies. """ - -- # For Python pre-2.5, ensure os.stat() returns float atimes -- old_stat_float = os.stat_float_times() -- os.stat_float_times(True) -- - originals = self.file_times() - if self.atimes == 2: - befores = originals -@@ -425,7 +421,6 @@ class AtimesRunner(Runner): - if original != afters.get(name, None): - self._utime(name, original[0], original[1]) - -- os.stat_float_times(old_stat_float) # restore stat_float_times value - return deps, outputs - - class StraceProcess(object): diff --git a/boswars-0003-build-detect-alternative-name-for-Lua-5.1-libs.patch b/boswars-0003-build-detect-alternative-name-for-Lua-5.1-libs.patch deleted file mode 100644 index 29d280e..0000000 --- a/boswars-0003-build-detect-alternative-name-for-Lua-5.1-libs.patch +++ /dev/null @@ -1,20 +0,0 @@ -From: Francois Beerten -Date: Thu, 6 Jul 2023 22:53:53 +0200 -Subject: [PATCH] build: detect alternative name for Lua 5.1 libs - -Some distros like Fedora, OpenSuse or Mageia use a name for the -Lua package (lua-5.1) that wasn't in our list of candiate names. - -diff --git a/make.py b/make.py -index dd39ed46..a821779c 100755 ---- a/make.py -+++ b/make.py -@@ -275,7 +275,7 @@ def detectLua(b): - # Prefer that because it will call our C++ destructors on unwind. - # This avoids memory leaks that would be very cumbersome to fix in - # any other way. -- libs = 'lua5.1-c++ lua5.1 lua51 lua'.split() -+ libs = 'lua5.1-c++ lua5.1 lua51 lua-5.1 lua'.split() - if b.usepkgconfig: - for i in libs: - if pkgconfig(b, i): diff --git a/boswars-128.png b/boswars-128.png deleted file mode 100644 index 3c6aca8..0000000 Binary files a/boswars-128.png and /dev/null differ diff --git a/boswars-2.4.1-SConstruct.patch b/boswars-2.4.1-SConstruct.patch new file mode 100644 index 0000000..ce124f3 --- /dev/null +++ b/boswars-2.4.1-SConstruct.patch @@ -0,0 +1,13 @@ +diff -up boswars-2.6-src/SConstruct.orig boswars-2.6-src/SConstruct +--- boswars-2.6-src/SConstruct.orig 2010-04-11 14:13:04.000000000 +0200 ++++ boswars-2.6-src/SConstruct 2010-04-16 16:06:09.693718391 +0200 +@@ -265,7 +265,8 @@ addBosWarsPaths(env) + + # define the different build environments (variants) + release = env.Clone() +-release.Append(CCFLAGS = Split('-O2 -pipe -fomit-frame-pointer -fexpensive-optimizations -ffast-math')) ++release.Append(CCFLAGS = Split('-ffast-math')) ++release.Append(LIBS = '-ltolua++') + + if mingw['extrapath']: + mingw.Tool('crossmingw', toolpath = ['tools/scons/']) diff --git a/boswars-2.4.1-guichan26.patch b/boswars-2.4.1-guichan26.patch new file mode 100644 index 0000000..7736d2a --- /dev/null +++ b/boswars-2.4.1-guichan26.patch @@ -0,0 +1,392 @@ +diff -up boswars-2.4.1-src/SConstruct.hdg boswars-2.4.1-src/SConstruct +--- boswars-2.4.1-src/SConstruct.hdg 2007-09-02 21:44:44.000000000 +0200 ++++ boswars-2.4.1-src/SConstruct 2007-09-07 19:32:04.000000000 +0200 +@@ -75,7 +75,6 @@ def globSources(sourceDirs, builddir): + + def buildSourcesList(builddir): + sources = globSources("action ai editor game map network pathfinder sound stratagus ui unit video tolua", builddir) +- sources.append(globSources("guichan guichan/sdl guichan/widgets", builddir)) + return sources + sourcesEngine = buildSourcesList('build') + +@@ -274,7 +273,6 @@ AutoConfigureIfNeeded(env, '') + def addBosWarsPaths(env): + # Stratagus build specifics + env.Append(CPPPATH=engineSourceDir+'/include') +- env.Append(CPPPATH=engineSourceDir+'/guichan/include') + addBosWarsPaths(env) + + # define the different build environments (variants) +diff -up boswars-2.4.1-src/engine/include/widgets.h.hdg boswars-2.4.1-src/engine/include/widgets.h +--- boswars-2.4.1-src/engine/include/widgets.h.hdg 2007-09-07 19:32:04.000000000 +0200 ++++ boswars-2.4.1-src/engine/include/widgets.h 2007-09-07 20:35:09.000000000 +0200 +@@ -111,9 +111,9 @@ public: + virtual void drawBox(gcn::Graphics *graphics); + virtual void draw(gcn::Graphics *graphics); + +- virtual void mousePress(int x, int y, int button); +- virtual void mouseRelease(int x, int y, int button); +- virtual void mouseClick(int x, int y, int button, int count); ++ virtual void mousePressed(gcn::MouseEvent &mouseEvent); ++ virtual void mouseReleased(gcn::MouseEvent &mouseEvent); ++ virtual void mouseClicked(gcn::MouseEvent &mouseEvent); + virtual void adjustSize(); + + void setUncheckedNormalImage(gcn::Image *image) { uncheckedNormalImage = image; } +@@ -137,9 +137,9 @@ public: + virtual void draw(gcn::Graphics *graphics); + virtual void drawBox(gcn::Graphics *graphics); + +- virtual void mousePress(int x, int y, int button); +- virtual void mouseRelease(int x, int y, int button); +- virtual void mouseClick(int x, int y, int button, int count); ++ virtual void mousePressed(gcn::MouseEvent &mouseEvent); ++ virtual void mouseReleased(gcn::MouseEvent &mouseEvent); ++ virtual void mouseClicked(gcn::MouseEvent &mouseEvent); + virtual void adjustSize(); + + void setUncheckedNormalImage(gcn::Image *image) { uncheckedNormalImage = image; } +@@ -229,7 +229,7 @@ public: + Windows(const std::string &text, int width, int height); + void add(gcn::Widget *widget, int x, int y); + private: +- virtual void mouseMotion(int x, int y); ++ virtual void mouseDragged (gcn::MouseEvent &mouseEvent); + virtual void setBackgroundColor(const gcn::Color &color); + virtual void setBaseColor(const gcn::Color &color); + private: +diff -up boswars-2.4.1-src/engine/include/font.h.hdg boswars-2.4.1-src/engine/include/font.h +--- boswars-2.4.1-src/engine/include/font.h.hdg 2007-09-02 21:44:40.000000000 +0200 ++++ boswars-2.4.1-src/engine/include/font.h 2007-09-07 19:32:04.000000000 +0200 +@@ -58,7 +58,7 @@ + ----------------------------------------------------------------------------*/ + + #include "video.h" +-#include "guichan/font.h" ++#include "guichan/font.hpp" + + /*---------------------------------------------------------------------------- + -- Declarations +diff -up boswars-2.4.1-src/engine/include/video.h.hdg boswars-2.4.1-src/engine/include/video.h +--- boswars-2.4.1-src/engine/include/video.h.hdg 2007-09-02 21:44:40.000000000 +0200 ++++ boswars-2.4.1-src/engine/include/video.h 2007-09-07 19:32:04.000000000 +0200 +@@ -32,7 +32,7 @@ + + #include "SDL.h" + #include "SDL_opengl.h" +-#include "guichan/image.h" ++#include "guichan/image.hpp" + + class CFont; + +diff -up boswars-2.4.1-src/engine/editor/editloop.cpp.hdg boswars-2.4.1-src/engine/editor/editloop.cpp +--- boswars-2.4.1-src/engine/editor/editloop.cpp.hdg 2007-07-03 23:57:45.000000000 +0200 ++++ boswars-2.4.1-src/engine/editor/editloop.cpp 2007-09-07 19:32:04.000000000 +0200 +@@ -56,7 +56,7 @@ + #include "iolib.h" + #include "iocompat.h" + #include "commands.h" +-#include "guichan.h" ++#include "guichan.hpp" + + #include "script.h" + +@@ -109,7 +109,7 @@ static int CalculateUnitIcons(void); + class EditorSliderListener : public gcn::ActionListener + { + public: +- virtual void action(const std::string &eventId) { ++ virtual void action(const gcn::ActionEvent& actionEvent) { + int iconsPerStep = CalculateUnitIcons(); + int steps = (Editor.ShownUnitTypes.size() + iconsPerStep - 1) / iconsPerStep; + double value = editorSlider->getValue(); +@@ -464,7 +464,7 @@ static void CleanEditResource() + class CEditResourceOKActionListener : public gcn::ActionListener + { + public: +- virtual void action(const std::string &eventId) { ++ virtual void action(const gcn::ActionEvent& actionEvent) { + int amount = atoi(editResourceTextField->getText().c_str()); + for (int i = 0; i < MaxCosts; ++i) { + UnitUnderCursor->ResourcesHeld[i] = amount * CYCLES_PER_SECOND; +@@ -477,7 +477,7 @@ static CEditResourceOKActionListener Edi + class CEditResourceCancelActionListener : public gcn::ActionListener + { + public: +- virtual void action(const std::string &eventId) { ++ virtual void action(const gcn::ActionEvent& actionEvent) { + editResourceMenu->stop(); + } + }; +@@ -514,7 +514,6 @@ static void EditorEditResource(void) + editResourceMenu->add(editResourceTextField, 40, 46); + + editResourceOKButton = new gcn::Button(_("~!OK")); +- editResourceOKButton->setHotKey("o"); + editResourceOKButton->setSize(106, 28); + editResourceOKButton->setBackgroundColor(gcn::Color(38, 38, 78, 130)); + editResourceOKButton->setBaseColor(gcn::Color(38, 38, 78, 130)); +@@ -522,7 +521,6 @@ static void EditorEditResource(void) + editResourceMenu->add(editResourceOKButton, 24, 88); + + editResourceCancelButton = new gcn::Button(_("~!Cancel")); +- editResourceCancelButton->setHotKey("c"); + editResourceCancelButton->setSize(106, 28); + editResourceCancelButton->setBackgroundColor(gcn::Color(38, 38, 78, 130)); + editResourceCancelButton->setBaseColor(gcn::Color(38, 38, 78, 130)); +diff -up boswars-2.4.1-src/engine/ui/widgets.cpp.hdg boswars-2.4.1-src/engine/ui/widgets.cpp +--- boswars-2.4.1-src/engine/ui/widgets.cpp.hdg 2007-09-02 21:44:42.000000000 +0200 ++++ boswars-2.4.1-src/engine/ui/widgets.cpp 2007-09-07 22:32:09.000000000 +0200 +@@ -361,7 +361,7 @@ void ImageButton::draw(gcn::Graphics *gr + img = disabledImage ? disabledImage : normalImage; + } else if (isPressed()) { + img = pressedImage ? pressedImage : normalImage; +- } else if (0 && hasMouse()) { ++ } else if (0 && mHasMouse) { + // FIXME: add mouse-over image + img = NULL; + } else { +@@ -396,7 +396,7 @@ void ImageButton::draw(gcn::Graphics *gr + graphics->drawText(getCaption(), textX + 2, textY + 2, getAlignment()); + } + +- if (hasFocus()) { ++ if (isFocused()) { + graphics->drawRectangle(gcn::Rectangle(0, 0, getWidth(), getHeight())); + } + } +@@ -491,7 +491,7 @@ void ImageRadioButton::draw(gcn::Graphic + + graphics->drawText(getCaption(), width - 2, 0); + +- if (hasFocus()) { ++ if (isFocused()) { + graphics->drawRectangle(gcn::Rectangle(width - 4, 0, getWidth() - width + 3, getHeight())); + } + } +@@ -499,9 +499,9 @@ void ImageRadioButton::draw(gcn::Graphic + /** + ** Mouse button pressed callback + */ +-void ImageRadioButton::mousePress(int x, int y, int button) ++void ImageRadioButton::mousePressed(gcn::MouseEvent &mouseEvent) + { +- if (button == gcn::MouseInput::LEFT && hasMouse()) { ++ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) { + mMouseDown = true; + } + } +@@ -509,9 +509,9 @@ void ImageRadioButton::mousePress(int x, + /** + ** Mouse button released callback + */ +-void ImageRadioButton::mouseRelease(int x, int y, int button) ++void ImageRadioButton::mouseReleased(gcn::MouseEvent &mouseEvent) + { +- if (button == gcn::MouseInput::LEFT) { ++ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) { + mMouseDown = false; + } + } +@@ -519,9 +519,9 @@ void ImageRadioButton::mouseRelease(int + /** + ** Mouse clicked callback + */ +-void ImageRadioButton::mouseClick(int x, int y, int button, int count) ++void ImageRadioButton::mouseClicked(gcn::MouseEvent &mouseEvent) + { +- if (button == gcn::MouseInput::LEFT) { ++ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) { + setMarked(true); + generateAction(); + } +@@ -598,7 +598,7 @@ void ImageCheckBox::draw(gcn::Graphics * + + graphics->drawText(getCaption(), width - 2, 0); + +- if (hasFocus()) { ++ if (isFocused()) { + graphics->drawRectangle(gcn::Rectangle(width - 4, 0, getWidth() - width + 3, getHeight())); + } + } +@@ -635,9 +635,9 @@ void ImageCheckBox::drawBox(gcn::Graphic + /** + ** Mouse button pressed callback + */ +-void ImageCheckBox::mousePress(int x, int y, int button) ++void ImageCheckBox::mousePressed(gcn::MouseEvent &mouseEvent) + { +- if (button == gcn::MouseInput::LEFT && hasMouse()) { ++ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) { + mMouseDown = true; + } + } +@@ -645,9 +645,9 @@ void ImageCheckBox::mousePress(int x, in + /** + ** Mouse button released callback + */ +-void ImageCheckBox::mouseRelease(int x, int y, int button) ++void ImageCheckBox::mouseReleased(gcn::MouseEvent &mouseEvent) + { +- if (button == gcn::MouseInput::LEFT) { ++ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) { + mMouseDown = false; + } + } +@@ -655,9 +655,9 @@ void ImageCheckBox::mouseRelease(int x, + /** + ** Mouse clicked callback + */ +-void ImageCheckBox::mouseClick(int x, int y, int button, int count) ++void ImageCheckBox::mouseClicked(gcn::MouseEvent &mouseEvent) + { +- if (button == gcn::MouseInput::LEFT) { ++ if (mouseEvent.getButton() == gcn::MouseInput::LEFT) { + toggle(); + } + } +@@ -1109,7 +1109,7 @@ Windows::Windows(const std::string &titl + { + container.setDimension(gcn::Rectangle(0, 0, width, height)); + scroll.setDimension(gcn::Rectangle(0, 0, width, height)); +- this->setContent(&scroll); ++ this->add((gcn::Widget *)&scroll, 0, 0); + scroll.setContent(&container); + this->resizeToContent(); + } +@@ -1146,9 +1146,9 @@ void Windows::add(gcn::Widget *widget, i + ** when the container is a "scrollable" ScrollArea with the cursor. + ** The cursor can go outside the visual area. + */ +-void Windows::mouseMotion(int x, int y) ++void Windows::mouseDragged (gcn::MouseEvent &mouseEvent) + { +- gcn::BasicContainer *bcontainer = getParent(); ++ gcn::Widget *bcontainer = getParent(); + int diffx; + int diffy; + int criticalx; +@@ -1156,18 +1156,18 @@ void Windows::mouseMotion(int x, int y) + int absx; + int absy; + +- if (!mMouseDrag || !isMovable()) { ++ if (!isMovable()) { + return; + } + +- diffx = x - mMouseXOffset; +- diffy = y - mMouseYOffset; ++ diffx = mouseEvent.getX() - mDragOffsetX; ++ diffy = mouseEvent.getY() - mDragOffsetY; + if (blockwholewindow) { + criticalx = getX(); + criticaly = getY(); + } else { +- criticalx = getX() + mMouseXOffset; +- criticaly = getY() + mMouseYOffset; ++ criticalx = getX() + mDragOffsetX; ++ criticaly = getY() + mDragOffsetY; + } + + +@@ -1190,15 +1190,13 @@ void Windows::mouseMotion(int x, int y) + } + + // Place the window. +- x = getX() + diffx; +- y = getY() + diffy; +- setPosition(x, y); ++ setPosition(getX() + diffx, getY() + diffy); + + // Move the cursor. + // Usefull only when window reachs the limit. + getAbsolutePosition(absx, absy); +- CursorX = absx + mMouseXOffset; +- CursorY = absy + mMouseYOffset; ++ CursorX = absx + mDragOffsetX; ++ CursorY = absy + mDragOffsetY; + } + + /** +@@ -1377,7 +1375,7 @@ void DropDownWidget::setList(lua_State * + void DropDownWidget::setSize(int width, int height) + { + DropDown::setSize(width, height); +- this->getListBox()->setSize(width, height); ++ this->mListBox->setSize(width, height); + } + + /*---------------------------------------------------------------------------- +@@ -1571,7 +1569,7 @@ void MenuScreen::draw(gcn::Graphics *gra + Gui->getGraphics()->popClipArea(); + Gui->draw(); + Gui->setTop(w); +- w->_getFocusHandler()->setFocus(f); ++ f->requestFocus(); + Gui->getGraphics()->pushClipArea(r); + } + gcn::Container::draw(graphics); +diff -up boswars-2.4.1-src/engine/ui/interface.cpp.hdg boswars-2.4.1-src/engine/ui/interface.cpp +--- boswars-2.4.1-src/engine/ui/interface.cpp.hdg 2007-07-03 23:57:47.000000000 +0200 ++++ boswars-2.4.1-src/engine/ui/interface.cpp 2007-09-07 19:32:04.000000000 +0200 +@@ -836,8 +836,6 @@ static int InputKey(int key) + + default: + if (key >= ' ') { +- gcn::Key k(key); +- std::string kstr = k.toString(); + if (key == '~') { + if (InputIndex < (int)sizeof(Input) - 2) { + Input[InputIndex++] = key; +@@ -845,10 +843,8 @@ static int InputKey(int key) + Input[InputIndex] = '\0'; + ShowInput(); + } +- } else if (InputIndex < (int)(sizeof(Input) - kstr.size())) { +- for (size_t i = 0; i < kstr.size(); ++i) { +- Input[InputIndex++] = kstr[i]; +- } ++ } else if (InputIndex < (int)sizeof(Input) - 1) { ++ Input[InputIndex++] = key; + Input[InputIndex] = '\0'; + ShowInput(); + } +diff -up boswars-2.4.1-src/engine/stratagus/mainloop.cpp.hdg boswars-2.4.1-src/engine/stratagus/mainloop.cpp +--- boswars-2.4.1-src/engine/stratagus/mainloop.cpp.hdg 2007-07-03 23:57:48.000000000 +0200 ++++ boswars-2.4.1-src/engine/stratagus/mainloop.cpp 2007-09-07 19:32:04.000000000 +0200 +@@ -68,7 +68,7 @@ + #include "editor.h" + #include "sound.h" + +-#include ++#include + void DrawGuichanWidgets(); + + //---------------------------------------------------------------------------- +diff -up boswars-2.4.1-src/engine/stratagus/stratagus.cpp.hdg boswars-2.4.1-src/engine/stratagus/stratagus.cpp +--- boswars-2.4.1-src/engine/stratagus/stratagus.cpp.hdg 2007-09-02 21:44:43.000000000 +0200 ++++ boswars-2.4.1-src/engine/stratagus/stratagus.cpp 2007-09-07 19:32:04.000000000 +0200 +@@ -205,7 +205,7 @@ extern int getopt(int argc, char *const + #include "widgets.h" + #include "iolib.h" + #include "util.h" +-#include "guichan.h" ++#include "guichan.hpp" + + extern void CreateUserDirectories(void); + +diff -up boswars-2.4.1-src/engine/include/widgets.h~ boswars-2.4.1-src/engine/include/widgets.h +--- boswars-2.4.1-src/engine/include/widgets.h~ 2007-09-09 09:44:18.000000000 +0200 ++++ boswars-2.4.1-src/engine/include/widgets.h 2007-09-09 09:44:18.000000000 +0200 +@@ -28,8 +28,8 @@ + #ifndef __WIDGETS_H__ + #define __WIDGETS_H__ + +-#include +-#include ++#include ++#include + + typedef int lua_Object; // from tolua++.h + diff --git a/boswars-2.6.1-lua-5.2.patch b/boswars-2.6.1-lua-5.2.patch new file mode 100644 index 0000000..391df18 --- /dev/null +++ b/boswars-2.6.1-lua-5.2.patch @@ -0,0 +1,216 @@ +diff -up boswars-2.7-src/engine/ai/ai.cpp.lua52 boswars-2.7-src/engine/ai/ai.cpp +--- boswars-2.7-src/engine/ai/ai.cpp.lua52 2013-06-02 14:41:06.000000000 +0200 ++++ boswars-2.7-src/engine/ai/ai.cpp 2014-12-17 13:04:50.353074926 +0100 +@@ -160,7 +160,7 @@ static void AiExecuteFunction(const char + { + if (AiPlayer->AiType != NULL) + { +- lua_getfield(Lua, LUA_GLOBALSINDEX, "AiTypes"); ++ lua_getglobal(Lua, "AiTypes"); + lua_getfield(Lua, -1, AiPlayer->AiType->Name.c_str()); + lua_getfield(Lua, -1, field); + if (!lua_isnil(Lua, -1)) +@@ -492,7 +492,7 @@ void AiInit(CPlayer *player) + + // Initialize the AI state of the player if it has not been + // already initialized, i.e. we're not loading a saved game. +- lua_getfield(Lua, LUA_GLOBALSINDEX, "AiState"); // stack: AiState ++ lua_getglobal(Lua, "AiState"); // stack: AiState + Assert(lua_istable(Lua, -1)); + lua_pushnumber(Lua, player->Index); // stack: AiState, player + lua_gettable(Lua, -2); // stack: AiState, AiState[player] +diff -up boswars-2.7-src/engine/ai/script_ai.cpp.lua52 boswars-2.7-src/engine/ai/script_ai.cpp +--- boswars-2.7-src/engine/ai/script_ai.cpp.lua52 2013-06-02 14:41:06.000000000 +0200 ++++ boswars-2.7-src/engine/ai/script_ai.cpp 2014-12-17 13:04:50.354074903 +0100 +@@ -340,7 +340,7 @@ static int CclDefineAiType(lua_State *l) + // + // Add to the AiTypes Lua variable. + // +- lua_getfield(l, LUA_GLOBALSINDEX, "AiTypes"); ++ lua_getglobal(l, "AiTypes"); + lua_pushvalue(l, ident_index); + lua_pushvalue(l, aitype_index); + lua_settable(l, -3); +diff -up boswars-2.6.1-src/engine/game/trigger.cpp.lua-52 boswars-2.6.1-src/engine/game/trigger.cpp +--- boswars-2.6.1-src/engine/game/trigger.cpp.lua-52 2013-05-13 10:28:01.768320516 -0400 ++++ boswars-2.6.1-src/engine/game/trigger.cpp 2013-05-13 10:31:23.566323544 -0400 +@@ -557,17 +557,14 @@ static int CclAddTrigger(lua_State *l) + // Make a list of all triggers. + // A trigger is a pair of condition and action + // +- lua_pushstring(l, "_triggers_"); +- lua_gettable(l, LUA_GLOBALSINDEX); ++ lua_getglobal(l, "_triggers_"); + + if (lua_isnil(l, -1)) { + DebugPrint("Trigger not set, defining trigger\n"); + lua_pop(l, 1); +- lua_pushstring(l, "_triggers_"); + lua_newtable(l); +- lua_settable(l, LUA_GLOBALSINDEX); +- lua_pushstring(l, "_triggers_"); +- lua_gettable(l, LUA_GLOBALSINDEX); ++ lua_setglobal(l, "_triggers_"); ++ lua_getglobal(l, "_triggers_"); + } + + i = lua_objlen(l, -1); +@@ -668,8 +665,7 @@ void TriggersEachCycle(void) + int triggers; + int base = lua_gettop(Lua); + +- lua_pushstring(Lua, "_triggers_"); +- lua_gettable(Lua, LUA_GLOBALSINDEX); ++ lua_getglobal(Lua, "_triggers_"); + triggers = lua_objlen(Lua, -1); + + if (nextTrigger >= triggers) { +@@ -729,8 +725,7 @@ void SaveTriggers(CFile *file) + int i; + int triggers; + +- lua_pushstring(Lua, "_triggers_"); +- lua_gettable(Lua, LUA_GLOBALSINDEX); ++ lua_getglobal(Lua, "_triggers_"); + triggers = lua_objlen(Lua, -1); + + file->printf("SetActiveTriggers("); +@@ -769,11 +764,9 @@ void InitTriggers(void) + // + // FIXME: choose the triggers for game type + +- lua_pushstring(Lua, "_triggers_"); +- lua_gettable(Lua, LUA_GLOBALSINDEX); ++ lua_getglobal(Lua, "_triggers_"); + if (lua_isnil(Lua, -1)) { +- lua_pushstring(Lua, "SinglePlayerTriggers"); +- lua_gettable(Lua, LUA_GLOBALSINDEX); ++ lua_getglobal(Lua, "SinglePlayerTriggers"); + LuaCall(0, 1); + } + lua_pop(Lua, 1); +@@ -784,9 +777,8 @@ void InitTriggers(void) + */ + void CleanTriggers(void) + { +- lua_pushstring(Lua, "_triggers_"); + lua_pushnil(Lua); +- lua_settable(Lua, LUA_GLOBALSINDEX); ++ lua_setglobal(Lua, "_triggers_"); + + nextTrigger = 0; + +diff -up boswars-2.6.1-src/engine/include/script.h.lua-52 boswars-2.6.1-src/engine/include/script.h +--- boswars-2.6.1-src/engine/include/script.h.lua-52 2008-01-26 18:02:48.000000000 -0500 ++++ boswars-2.6.1-src/engine/include/script.h 2013-05-13 10:19:18.323312662 -0400 +@@ -46,6 +46,10 @@ extern "C" { + } + #endif + ++#ifndef lua_objlen ++#define lua_objlen(L,i) lua_rawlen(L, (i)) ++#endif ++ + /*---------------------------------------------------------------------------- + -- Declarations + ----------------------------------------------------------------------------*/ +diff -up boswars-2.6.1-src/engine/sound/music.cpp.lua-52 boswars-2.6.1-src/engine/sound/music.cpp +--- boswars-2.6.1-src/engine/sound/music.cpp.lua-52 2013-05-13 10:33:00.200324994 -0400 ++++ boswars-2.6.1-src/engine/sound/music.cpp 2013-05-13 10:33:21.527325314 -0400 +@@ -84,8 +84,7 @@ void CheckMusicFinished(bool force) + SDL_UnlockMutex(MusicFinishedMutex); + + if ((proceed || force) && SoundEnabled() && IsMusicEnabled() && CallbackMusic) { +- lua_pushstring(Lua, "MusicStopped"); +- lua_gettable(Lua, LUA_GLOBALSINDEX); ++ lua_getglobal(Lua, "MusicStopped"); + if (!lua_isfunction(Lua, -1)) { + fprintf(stderr, "No MusicStopped function in Lua\n"); + StopMusic(); +diff -up boswars-2.7-src/engine/stratagus/script.cpp.lua52 boswars-2.7-src/engine/stratagus/script.cpp +--- boswars-2.7-src/engine/stratagus/script.cpp.lua52 2013-06-02 14:41:07.000000000 +0200 ++++ boswars-2.7-src/engine/stratagus/script.cpp 2014-12-17 13:04:50.354074903 +0100 +@@ -156,8 +156,7 @@ static int report(int status, bool exitO + */ + int luatraceback(lua_State *L) + { +- lua_pushliteral(L, "debug"); +- lua_gettable(L, LUA_GLOBALSINDEX); ++ lua_getglobal(L, "debug"); + if (!lua_istable(L, -1)) { + lua_pop(L, 1); + return 1; +@@ -1428,7 +1427,7 @@ char *SaveGlobal(lua_State *l, bool is_r + { + CSerializeLua serialize(l); + if (is_root) { +- lua_pushvalue(l, LUA_GLOBALSINDEX); ++ lua_pushglobaltable(l); + } + CSerializeLua::Result result + = serialize.AppendLuaFields(lua_gettop(l), is_root); +@@ -1045,8 +1043,7 @@ void SavePreferences(void) + FILE *fd; + std::string path; + +- lua_pushstring(Lua, "preferences"); +- lua_gettable(Lua, LUA_GLOBALSINDEX); ++ lua_getglobal(Lua, "preferences"); + if (lua_type(Lua, -1) == LUA_TTABLE) { + path = UserDirectory + "preferences.lua"; + +diff -up boswars-2.7-src/engine/ui/interface.cpp.lua52 boswars-2.7-src/engine/ui/interface.cpp +--- boswars-2.7-src/engine/ui/interface.cpp.lua52 2013-06-02 14:41:08.000000000 +0200 ++++ boswars-2.7-src/engine/ui/interface.cpp 2014-12-17 13:04:50.354074903 +0100 +@@ -474,8 +474,7 @@ bool HandleCommandKey(int key) + bool ret; + int base = lua_gettop(Lua); + +- lua_pushstring(Lua, "HandleCommandKey"); +- lua_gettable(Lua, LUA_GLOBALSINDEX); ++ lua_getglobal(Lua, "HandleCommandKey"); + if (!lua_isfunction(Lua, -1)) { + DebugPrint("No HandleCommandKey function in lua.\n"); + return false; +@@ -695,8 +695,7 @@ int HandleCheats(const std::string &inpu + } + #endif + int base = lua_gettop(Lua); +- lua_pushstring(Lua, "HandleCheats"); +- lua_gettable(Lua, LUA_GLOBALSINDEX); ++ lua_getglobal(Lua, "HandleCheats"); + if (!lua_isfunction(Lua, -1)) { + DebugPrint("No HandleCheats function in lua.\n"); + } else { +diff -up boswars-2.6.1-src/engine/ui/script_ui.cpp.lua-52 boswars-2.6.1-src/engine/ui/script_ui.cpp +--- boswars-2.6.1-src/engine/ui/script_ui.cpp.lua-52 2013-05-13 10:27:36.691320140 -0400 ++++ boswars-2.6.1-src/engine/ui/script_ui.cpp 2013-05-13 10:27:41.517320212 -0400 +@@ -703,15 +703,12 @@ static int CclDefineButtonStyle(lua_Stat + */ + int AddHandler(lua_State *l) + { +- lua_pushstring(l, "_handlers_"); +- lua_gettable(l, LUA_GLOBALSINDEX); ++ lua_getglobal(l, "_handlers_"); + if (lua_isnil(l, -1)) { + lua_pop(l, 1); +- lua_pushstring(l, "_handlers_"); + lua_newtable(l); +- lua_settable(l, LUA_GLOBALSINDEX); +- lua_pushstring(l, "_handlers_"); +- lua_gettable(l, LUA_GLOBALSINDEX); ++ lua_setglobal(l, "_handlers_"); ++ lua_getglobal(l, "_handlers_"); + } + lua_pushvalue(l, -2); + lua_rawseti(l, -2, HandleCount); +@@ -725,8 +722,7 @@ int AddHandler(lua_State *l) + */ + void CallHandler(unsigned int handle, int value) + { +- lua_pushstring(Lua, "_handlers_"); +- lua_gettable(Lua, LUA_GLOBALSINDEX); ++ lua_getglobal(Lua, "_handlers_"); + lua_rawgeti(Lua, -1, handle); + lua_pushnumber(Lua, value); + LuaCall(1, 1); diff --git a/boswars-2.7-compat-lua-5.1.patch b/boswars-2.7-compat-lua-5.1.patch new file mode 100644 index 0000000..7328870 --- /dev/null +++ b/boswars-2.7-compat-lua-5.1.patch @@ -0,0 +1,17 @@ +diff -up boswars-2.7-src/SConstruct~ boswars-2.7-src/SConstruct +--- boswars-2.7-src/SConstruct~ 2013-08-03 13:56:39.000000000 +0200 ++++ boswars-2.7-src/SConstruct 2013-08-03 14:10:15.589042624 +0200 +@@ -170,11 +170,11 @@ def CheckOpenGL(env, conf): + def CheckLuaLib(env, conf): + if not 'USE_WIN32' in env['CPPDEFINES']: + if env.WhereIs('pkg-config'): +- for packagename in ['lua5.1', 'lua51', 'lua']: ++ for packagename in ['lua-5.1', 'lua51', 'lua']: + exitcode,_ = ParseConfig(env, 'pkg-config --cflags --libs ' + packagename) + if exitcode == 0: + break +- if conf.CheckLibWithHeader('lua51', 'lua.h', 'c'): ++ if conf.CheckLibWithHeader('lua-5.1', 'lua.h', 'c'): + return 1 + if conf.CheckLibWithHeader('lua5.1', 'lua.h', 'c'): + return 1 diff --git a/boswars-2.7-sconstruct-py3.patch b/boswars-2.7-sconstruct-py3.patch new file mode 100644 index 0000000..907fc71 --- /dev/null +++ b/boswars-2.7-sconstruct-py3.patch @@ -0,0 +1,148 @@ +diff -up boswars/SConstruct.orig boswars/SConstruct +--- boswars/SConstruct.orig 2019-02-18 13:24:41.686792985 +0100 ++++ boswars/SConstruct 2019-02-18 13:25:32.790212451 +0100 +@@ -81,63 +81,6 @@ def buildSourcesList(builddir): + return sources + sourcesEngine = buildSourcesList('build') + +-def ParseConfig(env, command, function=None): +- import subprocess +- +- """ +- Copied from the scons, copyright 2001-2004 The SCons Foundation. +- Adapted by Francois Beerten to use the exit value of pkg-config. +- """ +- # the default parse function +- def parse_conf(env, output): +- flags = { +- 'ASFLAGS' : [], +- 'CCFLAGS' : [], +- 'CPPFLAGS' : [], +- 'CPPPATH' : [], +- 'LIBPATH' : [], +- 'LIBS' : [], +- 'LINKFLAGS' : [], +- } +- static_libs = [] +- +- params = output.split() +- for arg in params: +- if arg[0] != '-': +- static_libs.append(arg) +- elif arg[:2] == '-L': +- flags['LIBPATH'].append(arg[2:]) +- elif arg[:2] == '-l': +- flags['LIBS'].append(arg[2:]) +- elif arg[:2] == '-I': +- flags['CPPPATH'].append(arg[2:]) +- elif arg[:4] == '-Wa,': +- flags['ASFLAGS'].append(arg) +- elif arg[:4] == '-Wl,': +- flags['LINKFLAGS'].append(arg) +- elif arg[:4] == '-Wp,': +- flags['CPPFLAGS'].append(arg) +- elif arg == '-pthread': +- flags['CCFLAGS'].append(arg) +- flags['LINKFLAGS'].append(arg) +- else: +- flags['CCFLAGS'].append(arg) +- apply(env.Append, (), flags) +- return static_libs +- +- if function is None: +- function = parse_conf +- if type(command) is type(""): +- command = [env.subst(i) for i in command.split()] +- p = subprocess.Popen(command, shell=False, stdout=subprocess.PIPE, +- stderr=subprocess.PIPE) +- read,_ = p.communicate() +- exitcode = p.wait() +- if exitcode == 0: +- return (0, function(env, read)) +- else: +- return (exitcode, []) +- + def CheckOpenGL(env, conf): + opengl = {} + opengl['linux'] = { +@@ -169,12 +169,7 @@ def CheckOpenGL(env, conf): + return True + + def CheckLuaLib(env, conf): +- if not 'USE_WIN32' in env['CPPDEFINES']: +- if env.WhereIs('pkg-config'): +- for packagename in ['lua-5.1', 'lua51', 'lua']: +- exitcode,_ = ParseConfig(env, 'pkg-config --cflags --libs ' + packagename) +- if exitcode == 0: +- break ++ env.ParseConfig('pkg-config --cflags --libs lua-5.1') + if conf.CheckLibWithHeader('lua-5.1', 'lua.h', 'c'): + return 1 + if conf.CheckLibWithHeader('lua5.1', 'lua.h', 'c'): +@@ -185,22 +127,34 @@ def CheckLuaLib(env, conf): + def AutoConfigure(env): + conf = Configure(env) + ++ ## Ensure all these are in the env dict, to avoid key errors later ++ flags = { ++ 'ASFLAGS' : [], ++ 'CCFLAGS' : [], ++ 'CPPFLAGS' : [], ++ 'CPPPATH' : [], ++ 'LIBPATH' : [], ++ 'LIBS' : [], ++ 'LINKFLAGS' : [], ++ } ++ env.Append(*(), **flags) ++ + ## check for required libs ## + if not conf.CheckLibWithHeader('png', 'png.h', 'c'): +- print 'Did not find png library or headers, exiting!' ++ print('Did not find png library or headers, exiting!') + Exit(1) + if not conf.CheckLibWithHeader('z', 'zlib.h', 'c'): +- print 'Did not find the zlib library or headers, exiting!' ++ print('Did not find the zlib library or headers, exiting!') + Exit(1) + if not 'USE_WIN32' in env['CPPDEFINES'] and not sys.platform.startswith('freebsd'): + if not conf.CheckLib('dl'): +- print 'Did not find dl library or header which is needed on some systems for lua. Exiting!' ++ print('Did not find dl library or header which is needed on some systems for lua. Exiting!') + Exit(1) + if not CheckLuaLib(env, conf): +- print 'Did not find required lua library. Exiting!' ++ print('Did not find required lua library. Exiting!') + Exit(1) + if not CheckOpenGL(env, conf): +- print 'Did not find required OpenGL library. Exiting!' ++ print('Did not find required OpenGL library. Exiting!') + Exit(1) + + # Check for optional libraries # +@@ -232,7 +232,7 @@ def AutoConfigure(env): + env.ParseConfig('sdl-config --libs') + if sys.platform != "darwin" and not '-Dmain=SDL_main' in env['CCFLAGS']: + if not conf.CheckLibWithHeader('SDL', 'SDL.h', 'c'): +- print 'Did not find SDL library or headers, exiting!' ++ print('Did not find SDL library or headers, exiting!') + Exit(1) + + env = conf.Finish() +@@ -245,14 +245,14 @@ def AutoConfigureIfNeeded(env, name): + # Remove outdated cache file + os.remove(cachename) + if optionsChanged or not os.path.exists(cachename): +- print cachename + " doesn't exist or out of date." +- print "Generating new build config cache ..." ++ print(cachename + " doesn't exist or out of date.") ++ print("Generating new build config cache ...") + cache = DefineOptions(cachename, {}) + AutoConfigure(env) + cache.Save(cachename, env) + else: + cache = DefineOptions(cachename, {}) +- print "Using " + cachename ++ print("Using " + cachename) + cache.Update(env) + + AutoConfigureIfNeeded(env, '') diff --git a/boswars-48.png b/boswars.png similarity index 100% rename from boswars-48.png rename to boswars.png diff --git a/boswars.rpmlintrc b/boswars.rpmlintrc deleted file mode 100644 index e90b73f..0000000 --- a/boswars.rpmlintrc +++ /dev/null @@ -1,4 +0,0 @@ -# spellingcheck does not like "Bos" -addFilter("W: spelling-error.*") -# Ignore stupid error -addFilter("E: incorrect-fsf-address.*") diff --git a/boswars.spec b/boswars.spec index 82520f3..6184c3c 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,33 +1,28 @@ Name: boswars -Version: 2.8 -Release: %autorelease +Version: 2.7 +Release: 18.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game -License: GPL-2.0-only -URL: https://www.boswars.org/ -Source0: https://www.boswars.org/dist/releases/boswars-2.8-src.tar.gz +License: GPLv2 +URL: http://www.boswars.org/ +Source0: ftp://ftp.nluug.nl/pub/os/Linux/distr/debian/pool/main/b/boswars/boswars_2.7+svn160110.orig.tar.xz Source1: %{name}.desktop -Source2: %{name}-48.png -Source3: %{name}-128.png -Source4: %{name}.appdata.xml -Source5: %{name}.6 -Patch1: boswars-0001-Convert-to-UTF-8.patch -Patch2: boswars-0002-fabricate.py-remove-deprecated-calls-to-os.stat_floa.patch -Patch3: boswars-0003-build-detect-alternative-name-for-Lua-5.1-libs.patch -BuildRequires: SDL-devel -BuildRequires: compat-lua-devel -#BuildRequires: compat-tolua++-devel -BuildRequires: desktop-file-utils -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: libGL-devel -BuildRequires: libappstream-glib -BuildRequires: libpng-devel -BuildRequires: libtheora-devel -BuildRequires: libvorbis-devel -BuildRequires: python3 -Requires: hicolor-icon-theme -Provides: bundled(guichan) -Provides: bundled(tolua++) +Source2: %{name}.png +Source3: %{name}.appdata.xml +Source4: %{name}.6 +Patch0: boswars-2.4.1-SConstruct.patch +# incomplete patch to port boswars to the system guichan-0.6 instead of +# using the included guichan-0.4. Incomplete, NOT finished and NOT working! +#Patch1: boswars-2.4.1-guichan26.patch +# Incomplete Lua 5.2 patch, this fixes the C-code but not the actual lua scripts +#Patch2: boswars-2.6.1-lua-5.2.patch +# Use compat-lua51 for now +Patch3: boswars-2.7-compat-lua-5.1.patch +Patch4: boswars-2.7-sconstruct-py3.patch +BuildRequires: gcc gcc-c++ +BuildRequires: libtheora-devel libvorbis-devel SDL-devel libGL-devel +BuildRequires: compat-tolua++-devel libpng-devel python3-scons +BuildRequires: libappstream-glib desktop-file-utils +Requires: hicolor-icon-theme xorg-x11-utils %description Bos Wars is a futuristic real-time strategy game. It is possible to play @@ -36,46 +31,168 @@ Bos Wars aims to create a completly original and fun open source RTS game. %prep -%autosetup -p1 -n %{name}-%{version}-src -sed -i -e "s|-Wall -fsigned-char -D_GNU_SOURCE=1 -D_REENTRANT|%{optflags}|g" make.py +%autosetup -p1 -n %{name} +iconv -f ISO-8859-1 -t UTF8 doc/guichan-copyright.txt > guichan-copyright.txt find campaigns engine maps -type f -executable -exec chmod -x {} ';' -# FIXME we want to use the system version of compat-tolua++ -# rm engine/tolua/*.h engine/tolua/tolua_*.cpp +# we want to use the system version of these +rm engine/tolua/*.h engine/tolua/tolua_*.cpp %build -/usr/bin/python3 make.py +scons-3 %{?_smp_mflags} opengl=1 CC="gcc $RPM_OPT_FLAGS" CXX="g++ $RPM_OPT_FLAGS" LIBPATH=%{_libdir} + %install -mkdir -p %{buildroot}%{_datadir}/%{name}/languages -install -D -p -m 755 fbuild/release/boswars %{buildroot}%{_bindir}/%{name} +mkdir -p $RPM_BUILD_ROOT%{_bindir} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/languages +install -m 755 build/boswars-release $RPM_BUILD_ROOT%{_bindir}/%{name} install -p -m 644 languages/*.po languages/*.pot \ - %{buildroot}%{_datadir}/%{name}/languages + $RPM_BUILD_ROOT%{_datadir}/%{name}/languages cp -a campaigns graphics intro maps scripts sounds units patches \ - %{buildroot}%{_datadir}/%{name} + $RPM_BUILD_ROOT%{_datadir}/%{name} -mkdir -p %{buildroot}%{_datadir}/applications -desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE1} -install -D -p -m 644 %{SOURCE2} \ - %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/%{name}.png -install -D -p -m 644 %{SOURCE3} \ - %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/%{name}.png -install -D -p -m 644 %{SOURCE4} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml +mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications +desktop-file-install --dir $RPM_BUILD_ROOT%{_datadir}/applications %{SOURCE1} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps +install -p -m 644 %{SOURCE2} \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps +mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata +install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/appdata appstream-util validate-relax --nonet \ - %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml -install -D -p -m 644 %{SOURCE5} %{buildroot}%{_mandir}/man6/%{name}.6 + $RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man6 +install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6 %files %doc README.txt CHANGELOG doc/*.html -%license COPYRIGHT.txt LICENSE.txt doc/guichan-copyright.txt +%license COPYRIGHT.txt LICENSE.txt guichan-copyright.txt %{_bindir}/%{name} %{_datadir}/%{name} %{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/applications/%{name}.desktop -%{_datadir}/icons/hicolor/*/apps/%{name}.png +%{_datadir}/icons/hicolor/48x48/apps/%{name}.png %{_mandir}/man6/%{name}.6* %changelog -%autochangelog +* Mon Feb 18 2019 Hans de Goede - 2.7-18.svn160110 +- Fix FTBFS with scons-3.0.4 (rhbz#1674710) +- Switch to python3-scons + +* Thu Jan 31 2019 Fedora Release Engineering - 2.7-17.svn160110 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Jul 12 2018 Fedora Release Engineering - 2.7-16.svn160110 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 2.7-15.svn160110 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Jan 07 2018 Igor Gnatenko - 2.7-14.svn160110 +- Remove obsolete scriptlets + +* Wed Aug 02 2017 Fedora Release Engineering - 2.7-13.svn160110 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 2.7-12.svn160110 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 2.7-11.svn160110 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Hans de Goede - 2.7-10.svn160110 +- Update to upstream svn snapshot to bring in some bugfixes + extra maps +- Fix some stray executable permissions (rpmlint) +- Add higher res icon +- Add appdata +- Add manpage + +* Mon Feb 01 2016 Tim Niemueller - 2.7-9 +- rebuild for updated tolua++ + +* Wed Jun 17 2015 Fedora Release Engineering - 2.7-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 2.7-7 +- Rebuilt for GCC 5 C++11 ABI change + +* Mon Feb 23 2015 Hans de Goede - 2.7-6 +- Build against compat-tolua++-5.1 as boswars is not compatible with lua 5.2 + +* Fri Aug 15 2014 Fedora Release Engineering - 2.7-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Aug 13 2013 Hans de Goede - 2.7-3 +- Replace a number of broken png images (rhbz#995862) + +* Sat Aug 3 2013 Hans de Goede - 2.7-2 +- Build with compat-lua-devel on f20+ + +* Fri Aug 2 2013 Hans de Goede - 2.7-1 +- New upstream release 2.7 (rhbz#970057) + +* Mon May 13 2013 Tom Callaway - 2.6.1-9 +- lua 5.2 + +* Thu Feb 14 2013 Rahul Sundaram - 2.6.1-8 +- remove vendor tag from desktop file. https://fedorahosted.org/fpc/ticket/247 +- clean up spec to follow current guidelines + +* Wed Feb 13 2013 Fedora Release Engineering - 2.6.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 2.6.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Feb 28 2012 Fedora Release Engineering - 2.6.1-5 +- Rebuilt for c++ ABI breakage + +* Thu Jan 12 2012 Fedora Release Engineering - 2.6.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sun Nov 06 2011 Bruno Wolff III - 2.6.1-3 +- Rebuild for libpng 1.5 + +* Wed Apr 27 2011 Hans de Goede - 2.6.1-2 +- Fix missing patches / textures (#691251) + +* Sun Mar 13 2011 Hans de Goede - 2.6.1-1 +- New upstream release 2.6.1 + +* Mon Feb 07 2011 Fedora Release Engineering - 2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Apr 16 2010 Hans de Goede 2.6-1 +- New upstream release 2.6 + +* Fri Jul 24 2009 Fedora Release Engineering - 2.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Feb 23 2009 Fedora Release Engineering - 2.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Feb 21 2009 Hans de Goede 2.5-2 +- Fix build with gcc 4.4 + +* Sun Mar 2 2008 Hans de Goede 2.5-1 +- New upstream release 2.5 + +* Tue Feb 19 2008 Fedora Release Engineering - 2.4.1-5 +- Autorebuild for GCC 4.3 + +* Sat Jan 12 2008 Hans de Goede 2.4.1-4 +- Fix compilation with gcc 4.3 +- Drop workaround for intel graphics crash, this is "fixed" in SDL now + +* Tue Oct 30 2007 Hans de Goede 2.4.1-3 +- Add workaround for boswars crashing on intel integrated video (bz 310841) + +* Mon Sep 10 2007 Hans de Goede 2.4.1-2 +- Add missing BuildRequires libpng-devel + +* Sun Sep 9 2007 Hans de Goede 2.4.1-1 +- Initial Fedora package diff --git a/changelog b/changelog deleted file mode 100644 index 3684b2b..0000000 --- a/changelog +++ /dev/null @@ -1,167 +0,0 @@ -* Tue Jan 30 2024 Sandro - 2.7-33.svn160110 -- Change executable name to scons (RHBZ#2261017) - -* Tue Jan 23 2024 Fedora Release Engineering - 2.7-32.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 2.7-31.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jul 19 2023 Fedora Release Engineering - 2.7-30.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jan 18 2023 Fedora Release Engineering - 2.7-29.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jul 20 2022 Fedora Release Engineering - 2.7-28.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jan 19 2022 Fedora Release Engineering - 2.7-27.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 2.7-26.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jan 26 2021 Fedora Release Engineering - 2.7-25.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Adam Jackson - 2.7-24.svn160110 -- Drop long-unnecessary Requires: xorg-x11-utils - -* Mon Jul 27 2020 Fedora Release Engineering - 2.7-23.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Mar 4 2020 Hans de Goede - 2.7-22.svn160110 -- Replace 128x128 icon with a better version -- Restore original 48x48 icon for cases where we need a lower res icon - -* Sun Feb 16 2020 Hans de Goede - 2.7-21.svn160110 -- Fix FTBFS with scons-3.0.4 (rhbz#1799199) -- Replace icon with 128x128 icon - -* Tue Jan 28 2020 Fedora Release Engineering - 2.7-20.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Jul 24 2019 Fedora Release Engineering - 2.7-19.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Mon Feb 18 2019 Hans de Goede - 2.7-18.svn160110 -- Fix FTBFS with scons-3.0.4 (rhbz#1674710) -- Switch to python3-scons - -* Thu Jan 31 2019 Fedora Release Engineering - 2.7-17.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jul 12 2018 Fedora Release Engineering - 2.7-16.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Feb 07 2018 Fedora Release Engineering - 2.7-15.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sun Jan 07 2018 Igor Gnatenko - 2.7-14.svn160110 -- Remove obsolete scriptlets - -* Wed Aug 02 2017 Fedora Release Engineering - 2.7-13.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Wed Jul 26 2017 Fedora Release Engineering - 2.7-12.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Feb 10 2017 Fedora Release Engineering - 2.7-11.svn160110 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Wed Feb 03 2016 Hans de Goede - 2.7-10.svn160110 -- Update to upstream svn snapshot to bring in some bugfixes + extra maps -- Fix some stray executable permissions (rpmlint) -- Add higher res icon -- Add appdata -- Add manpage - -* Mon Feb 01 2016 Tim Niemueller - 2.7-9 -- rebuild for updated tolua++ - -* Wed Jun 17 2015 Fedora Release Engineering - 2.7-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Sat May 02 2015 Kalev Lember - 2.7-7 -- Rebuilt for GCC 5 C++11 ABI change - -* Mon Feb 23 2015 Hans de Goede - 2.7-6 -- Build against compat-tolua++-5.1 as boswars is not compatible with lua 5.2 - -* Fri Aug 15 2014 Fedora Release Engineering - 2.7-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Jun 07 2014 Fedora Release Engineering - 2.7-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Tue Aug 13 2013 Hans de Goede - 2.7-3 -- Replace a number of broken png images (rhbz#995862) - -* Sat Aug 3 2013 Hans de Goede - 2.7-2 -- Build with compat-lua-devel on f20+ - -* Fri Aug 2 2013 Hans de Goede - 2.7-1 -- New upstream release 2.7 (rhbz#970057) - -* Mon May 13 2013 Tom Callaway - 2.6.1-9 -- lua 5.2 - -* Thu Feb 14 2013 Rahul Sundaram - 2.6.1-8 -- remove vendor tag from desktop file. https://fedorahosted.org/fpc/ticket/247 -- clean up spec to follow current guidelines - -* Wed Feb 13 2013 Fedora Release Engineering - 2.6.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Wed Jul 18 2012 Fedora Release Engineering - 2.6.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Tue Feb 28 2012 Fedora Release Engineering - 2.6.1-5 -- Rebuilt for c++ ABI breakage - -* Thu Jan 12 2012 Fedora Release Engineering - 2.6.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Sun Nov 06 2011 Bruno Wolff III - 2.6.1-3 -- Rebuild for libpng 1.5 - -* Wed Apr 27 2011 Hans de Goede - 2.6.1-2 -- Fix missing patches / textures (#691251) - -* Sun Mar 13 2011 Hans de Goede - 2.6.1-1 -- New upstream release 2.6.1 - -* Mon Feb 07 2011 Fedora Release Engineering - 2.6-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Fri Apr 16 2010 Hans de Goede 2.6-1 -- New upstream release 2.6 - -* Fri Jul 24 2009 Fedora Release Engineering - 2.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Mon Feb 23 2009 Fedora Release Engineering - 2.5-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Sat Feb 21 2009 Hans de Goede 2.5-2 -- Fix build with gcc 4.4 - -* Sun Mar 2 2008 Hans de Goede 2.5-1 -- New upstream release 2.5 - -* Tue Feb 19 2008 Fedora Release Engineering - 2.4.1-5 -- Autorebuild for GCC 4.3 - -* Sat Jan 12 2008 Hans de Goede 2.4.1-4 -- Fix compilation with gcc 4.3 -- Drop workaround for intel graphics crash, this is "fixed" in SDL now - -* Tue Oct 30 2007 Hans de Goede 2.4.1-3 -- Add workaround for boswars crashing on intel integrated video (bz 310841) - -* Mon Sep 10 2007 Hans de Goede 2.4.1-2 -- Add missing BuildRequires libpng-devel - -* Sun Sep 9 2007 Hans de Goede 2.4.1-1 -- Initial Fedora package diff --git a/sources b/sources index 0be1aff..d490cbc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (boswars-2.8-src.tar.gz) = c99654c25cd82f923214749518f75db2edd88a672da9a10033a44f8f689c453e50708f673759c9b82c2ffaaa08c44d4fee478ec23f56cc8d6c2a3547edc19cf9 +ad0a664e1d6cdc41283189349b070f5d boswars_2.7+svn160110.orig.tar.xz