From 3aeb3df72294ba99aaa32cfedd0af8e3ccee9f7d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 07:01:23 +0000 Subject: [PATCH 01/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 129fab8..f7f9f49 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 10.svn160110%{?dist} +Release: 11.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game Group: Amusements/Games License: GPLv2 @@ -90,6 +90,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* 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) From 5f6ac0feafc1edf457d87a9a736dd8a4b1b36df0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 04:10:48 +0000 Subject: [PATCH 02/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index f7f9f49..6c39708 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 11.svn160110%{?dist} +Release: 12.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game Group: Amusements/Games License: GPLv2 @@ -90,6 +90,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* 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 From 214eda3c171f99d3e5840681a527afcd1934d8ef Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 18:23:56 +0000 Subject: [PATCH 03/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 6c39708..3f66012 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 12.svn160110%{?dist} +Release: 13.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game Group: Amusements/Games License: GPLv2 @@ -90,6 +90,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* 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 From 2dd1c2a8a2ec26062454e3b1b2199ba3049fc1e6 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Sun, 7 Jan 2018 19:41:21 +0100 Subject: [PATCH 04/31] Remove obsolete scriptlets Signed-off-by: Igor Gnatenko --- boswars.spec | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/boswars.spec b/boswars.spec index 3f66012..695489f 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 13.svn160110%{?dist} +Release: 14.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game Group: Amusements/Games License: GPLv2 @@ -65,19 +65,6 @@ mkdir -p $RPM_BUILD_ROOT%{_mandir}/man6 install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6 -%post -touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : - -%postun -if [ $1 -eq 0 ] ; then - touch --no-create %{_datadir}/icons/hicolor &>/dev/null - gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : -fi - -%posttrans -gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : - - %files %doc README.txt CHANGELOG doc/*.html %license COPYRIGHT.txt LICENSE.txt guichan-copyright.txt @@ -90,6 +77,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %changelog +* 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 From 085e102bfd4e666fc68171f650b40162df5fda11 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 04:07:37 +0000 Subject: [PATCH 05/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 695489f..1a819c1 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 14.svn160110%{?dist} +Release: 15.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game Group: Amusements/Games License: GPLv2 @@ -77,6 +77,9 @@ install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From c75b56af4aa80a21eceacced4570f2ff86dfdb8f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 21:16:50 +0000 Subject: [PATCH 06/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 1a819c1..2997263 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 15.svn160110%{?dist} +Release: 16.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game Group: Amusements/Games License: GPLv2 @@ -77,6 +77,9 @@ install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From 24004be221b4017868c2c24ba6dd8291df077c7b Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:40 +0100 Subject: [PATCH 07/31] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- boswars.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 2997263..3e72b30 100644 --- a/boswars.spec +++ b/boswars.spec @@ -2,7 +2,6 @@ Name: boswars Version: 2.7 Release: 16.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game -Group: Amusements/Games 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 From f6933f6a28f5571fa89eef76af455a84eb3d943c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 14:51:41 +0000 Subject: [PATCH 08/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 3e72b30..03f0957 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 16.svn160110%{?dist} +Release: 17.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -76,6 +76,9 @@ install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From 90eab6641f895a1a404e8d9becc18b743593892f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 18 Feb 2019 13:59:25 +0100 Subject: [PATCH 09/31] Fix FTBFS with scons-3.0.4 (rhbz#1674710) Switch to python3-scons --- boswars-2.7-sconstruct-py3.patch | 148 +++++++++++++++++++++++++++++++ boswars.spec | 17 ++-- 2 files changed, 158 insertions(+), 7 deletions(-) create mode 100644 boswars-2.7-sconstruct-py3.patch 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.spec b/boswars.spec index 03f0957..c5d3216 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 17.svn160110%{?dist} +Release: 18.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -17,9 +17,10 @@ Patch0: boswars-2.4.1-SConstruct.patch #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: libtheora-devel libvorbis-devel SDL-devel libGL-devel -BuildRequires: compat-tolua++-devel libpng-devel scons desktop-file-utils -BuildRequires: libappstream-glib +BuildRequires: compat-tolua++-devel libpng-devel python3-scons +BuildRequires: libappstream-glib desktop-file-utils Requires: hicolor-icon-theme xorg-x11-utils %description @@ -29,9 +30,7 @@ Bos Wars aims to create a completly original and fun open source RTS game. %prep -%setup -q -n %{name} -%patch0 -p1 -%patch3 -p1 +%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 {} ';' # we want to use the system version of these @@ -39,7 +38,7 @@ rm engine/tolua/*.h engine/tolua/tolua_*.cpp %build -scons %{?_smp_mflags} opengl=1 CC="gcc $RPM_OPT_FLAGS" CXX="g++ $RPM_OPT_FLAGS" +scons-3 %{?_smp_mflags} opengl=1 CC="gcc $RPM_OPT_FLAGS" CXX="g++ $RPM_OPT_FLAGS" LIBPATH=%{_libdir} %install @@ -76,6 +75,10 @@ install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From 249c3c9ac20ab3976881fa4295840d2df8fe232e Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 18 Feb 2019 14:30:46 +0100 Subject: [PATCH 10/31] Add missing BuildRequires: gcc gcc-c++ --- boswars.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/boswars.spec b/boswars.spec index c5d3216..6184c3c 100644 --- a/boswars.spec +++ b/boswars.spec @@ -18,6 +18,7 @@ Patch0: boswars-2.4.1-SConstruct.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 From 4a3b72c6af4553f99fa8fcf1339dffbe62a010d4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 19:31:20 +0000 Subject: [PATCH 11/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 6184c3c..dc19424 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 18.svn160110%{?dist} +Release: 19.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -76,6 +76,9 @@ install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From 30811a12d627c4f34e0a95cf33db81ed3ae74fff Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 13:13:41 +0000 Subject: [PATCH 12/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index dc19424..fc1d0bf 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 19.svn160110%{?dist} +Release: 20.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -76,6 +76,9 @@ install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From 17482deb324d445262e22d14033f0f1de376d9da Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sun, 16 Feb 2020 16:01:40 +0100 Subject: [PATCH 13/31] Fix FTBFS with scons-3.0.4 (rhbz#1799199) Replace icon with 128x128 icon --- boswars-2.7-sconstruct-py3.patch | 9 +++++++++ boswars.png | Bin 4226 -> 15840 bytes boswars.rpmlintrc | 4 ++++ boswars.spec | 12 ++++++++---- 4 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 boswars.rpmlintrc diff --git a/boswars-2.7-sconstruct-py3.patch b/boswars-2.7-sconstruct-py3.patch index 907fc71..96126e7 100644 --- a/boswars-2.7-sconstruct-py3.patch +++ b/boswars-2.7-sconstruct-py3.patch @@ -146,3 +146,12 @@ diff -up boswars/SConstruct.orig boswars/SConstruct cache.Update(env) AutoConfigureIfNeeded(env, '') +@@ -262,7 +262,7 @@ if sys.platform.startswith('linux') or s + def DefineVariant(venv, v, vv = None): + if vv == None: + vv = '-' + v +- BuildDir('build/' + v, engineSourceDir, duplicate = 0) ++ VariantDir('build/' + v, engineSourceDir, duplicate = 0) + r = venv.Program('build/boswars' + vv, buildSourcesList('build/' + v)) + Alias(v, 'boswars' + vv) + return r diff --git a/boswars.png b/boswars.png index 9656ae3a88d1228acca18f77ff5c823e51559aba..960ab612e93825d5ce4e2d7db7c1d227462f4a28 100644 GIT binary patch literal 15840 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 literal 4226 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 diff --git a/boswars.rpmlintrc b/boswars.rpmlintrc new file mode 100644 index 0000000..e90b73f --- /dev/null +++ b/boswars.rpmlintrc @@ -0,0 +1,4 @@ +# 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 fc1d0bf..b14179b 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 20.svn160110%{?dist} +Release: 21.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -53,9 +53,9 @@ cp -a campaigns graphics intro maps scripts sounds units patches \ 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 +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps install -p -m 644 %{SOURCE2} \ - $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/appdata appstream-util validate-relax --nonet \ @@ -71,11 +71,15 @@ install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6 %{_datadir}/%{name} %{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/applications/%{name}.desktop -%{_datadir}/icons/hicolor/48x48/apps/%{name}.png +%{_datadir}/icons/hicolor/128x128/apps/%{name}.png %{_mandir}/man6/%{name}.6* %changelog +* 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 From 1bd82281c32713addffcbadd5bf3034dc1aa9c82 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 4 Mar 2020 13:38:46 +0100 Subject: [PATCH 14/31] Replace 128x128 icon with a better version Restore original 48x48 icon for cases where we need a lower res icon --- boswars-128.png | Bin 0 -> 16689 bytes boswars-48.png | Bin 0 -> 4226 bytes boswars.png | Bin 15840 -> 0 bytes boswars.spec | 24 ++++++++++++++++-------- 4 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 boswars-128.png create mode 100644 boswars-48.png delete mode 100644 boswars.png diff --git a/boswars-128.png b/boswars-128.png new file mode 100644 index 0000000000000000000000000000000000000000..3c6aca8036093e757d9b1ef102364120246dfca7 GIT binary patch literal 16689 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%0DPZTVq%(_HzMUs64TsmE6n77Ph>gK6R-C;oc2 zy%bEdtyNeN3|uN2y#3vpVW<7CYSR+Cp6Xj8XZYJ~4s+M4;5YCmwhQ!6A;>r2WtF7j z0YdW|TmuWV3hTG<&APKXBV<82@QRLkR^JQLan6g)g0me*i92c|f00|j!U%$-0n#9z zEVeg7y9{CLM+cG&=06&Yf3?+O;Fg>^F1C|i{Po{(J^5dUhcSQE3B0J)zvuDgRDxn6U7#iuN*iB3q2T0j!>?P64}52KRjO$dN%iY|k}w;AM7SwQ@whd#>g~1^@u2 zvukIu+f6O51-fC9Rw-%_oKrUV>5I#wveJy4L&IN3YmEco9pEb?gLNR&`>bP>5^!dp4- zZJJ2$|}$ literal 0 HcmV?d00001 diff --git a/boswars-48.png b/boswars-48.png new file mode 100644 index 0000000000000000000000000000000000000000..9656ae3a88d1228acca18f77ff5c823e51559aba GIT binary patch literal 4226 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 literal 0 HcmV?d00001 diff --git a/boswars.png b/boswars.png deleted file mode 100644 index 960ab612e93825d5ce4e2d7db7c1d227462f4a28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15840 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 diff --git a/boswars.spec b/boswars.spec index b14179b..e5bbe2f 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,14 +1,15 @@ Name: boswars Version: 2.7 -Release: 21.svn160110%{?dist} +Release: 22.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game 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}.png -Source3: %{name}.appdata.xml -Source4: %{name}.6 +Source2: %{name}-48.png +Source3: %{name}-128.png +Source4: %{name}.appdata.xml +Source5: %{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! @@ -53,15 +54,18 @@ cp -a campaigns graphics intro maps scripts sounds units patches \ 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 mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps install -p -m 644 %{SOURCE2} \ - $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/%{name}.png +install -p -m 644 %{SOURCE3} \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps/%{name}.png mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata -install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/appdata +install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/appdata appstream-util validate-relax --nonet \ $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 +install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %files @@ -71,11 +75,15 @@ install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man6 %{_datadir}/%{name} %{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/applications/%{name}.desktop -%{_datadir}/icons/hicolor/128x128/apps/%{name}.png +%{_datadir}/icons/hicolor/*/apps/%{name}.png %{_mandir}/man6/%{name}.6* %changelog +* 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 From b8a11d357e242f34415f6a692dbc6214277c0ff8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 13:19:56 +0000 Subject: [PATCH 15/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index e5bbe2f..c48a5b9 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 22.svn160110%{?dist} +Release: 23.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From e6838be826e7f275e88ee0c17bf6444f429033d3 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Tue, 28 Jul 2020 13:05:22 -0400 Subject: [PATCH 16/31] Drop long-unnecessary Requires: xorg-x11-utils --- boswars.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/boswars.spec b/boswars.spec index c48a5b9..fc5078f 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 23.svn160110%{?dist} +Release: 24.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -23,7 +23,7 @@ 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 +Requires: hicolor-icon-theme %description Bos Wars is a futuristic real-time strategy game. It is possible to play @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From 908f3c30310761978b01ac12e273673dad808699 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 01:19:57 +0000 Subject: [PATCH 17/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index fc5078f..29ffd44 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 24.svn160110%{?dist} +Release: 25.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From 7df1c665b87d488abf62934b969268263e6c2e73 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 13:51:37 +0000 Subject: [PATCH 18/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From 21cad737af9db88235be24f25c8ac3fe0fe7e449 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 18:48:49 +0000 Subject: [PATCH 19/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 29ffd44..d3237bd 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 25.svn160110%{?dist} +Release: 26.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From f51951dbdfe5ac42aaf9e6166a78af048f3f193c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 22:32:26 +0000 Subject: [PATCH 20/31] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index d3237bd..7ff9407 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 26.svn160110%{?dist} +Release: 27.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From bbf9502eae8e2f7f8d0ac3d99b99c5fc3673d0d9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 22:11:58 +0000 Subject: [PATCH 21/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 7ff9407..da172f7 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 27.svn160110%{?dist} +Release: 28.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From 2947fb15d212a1018e830d1ca9b29a80c95db719 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 23:05:57 +0000 Subject: [PATCH 22/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index da172f7..558e4a4 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 28.svn160110%{?dist} +Release: 29.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From 1815977ead7910042b268704e34face298118b5e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 14:51:04 +0000 Subject: [PATCH 23/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 558e4a4..0942d22 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 29.svn160110%{?dist} +Release: 30.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From e2f59e4b0a62006a9cfd02271a614b61fc01f75d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 14:37:39 +0000 Subject: [PATCH 24/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 0942d22..5a55fae 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 30.svn160110%{?dist} +Release: 31.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From 8141b36709121c45c04bb610943cc68e2e047d5e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 23 Jan 2024 00:43:18 +0000 Subject: [PATCH 25/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- boswars.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/boswars.spec b/boswars.spec index 5a55fae..39c150e 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 31.svn160110%{?dist} +Release: 32.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From c815aaa0306884fd362c51bcaf0aa966e52088a3 Mon Sep 17 00:00:00 2001 From: Sandro Date: Tue, 30 Jan 2024 12:48:47 +0100 Subject: [PATCH 26/31] Change executable name to 'scons' (RHBZ#2261017) `python3-scons` no longer provides /usr/bin/scons-3. --- boswars.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/boswars.spec b/boswars.spec index 39c150e..a90a29a 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 32.svn160110%{?dist} +Release: 33.svn160110%{?dist} Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -40,7 +40,7 @@ rm engine/tolua/*.h engine/tolua/tolua_*.cpp %build -scons-3 %{?_smp_mflags} opengl=1 CC="gcc $RPM_OPT_FLAGS" CXX="g++ $RPM_OPT_FLAGS" LIBPATH=%{_libdir} +scons %{?_smp_mflags} opengl=1 CC="gcc $RPM_OPT_FLAGS" CXX="g++ $RPM_OPT_FLAGS" LIBPATH=%{_libdir} %install @@ -80,6 +80,9 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog +* 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 From d8e9c8c8663ef804d49b95070c74fc7a480a8548 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 27 May 2024 18:11:49 +0200 Subject: [PATCH 27/31] Convert to %autorelease and %autochangelog [skip changelog] --- boswars.spec | 170 +-------------------------------------------------- changelog | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 169 insertions(+), 168 deletions(-) create mode 100644 changelog diff --git a/boswars.spec b/boswars.spec index a90a29a..06f6fb1 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,6 +1,6 @@ Name: boswars Version: 2.7 -Release: 33.svn160110%{?dist} +Release: %autorelease Summary: Bos Wars is a futuristic real-time strategy game License: GPLv2 URL: http://www.boswars.org/ @@ -80,170 +80,4 @@ install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 %changelog -* 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 +%autochangelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..3684b2b --- /dev/null +++ b/changelog @@ -0,0 +1,167 @@ +* 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 From cf24034fe4bbb2541b58941182c0eb5b2f383eeb Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Mon, 27 May 2024 18:30:50 +0200 Subject: [PATCH 28/31] New upstream release 2.8 Signed-off-by: Peter Lemenkov --- .gitignore | 1 + boswars-0001-Convert-to-UTF-8.patch | 19 + ...ove-deprecated-calls-to-os.stat_floa.patch | 39 ++ ...ct-alternative-name-for-Lua-5.1-libs.patch | 20 + boswars-2.4.1-SConstruct.patch | 13 - boswars-2.4.1-guichan26.patch | 392 ------------------ boswars-2.6.1-lua-5.2.patch | 216 ---------- boswars-2.7-compat-lua-5.1.patch | 17 - boswars-2.7-sconstruct-py3.patch | 157 ------- boswars.spec | 82 ++-- sources | 2 +- 11 files changed, 120 insertions(+), 838 deletions(-) create mode 100644 boswars-0001-Convert-to-UTF-8.patch create mode 100644 boswars-0002-fabricate.py-remove-deprecated-calls-to-os.stat_floa.patch create mode 100644 boswars-0003-build-detect-alternative-name-for-Lua-5.1-libs.patch delete mode 100644 boswars-2.4.1-SConstruct.patch delete mode 100644 boswars-2.4.1-guichan26.patch delete mode 100644 boswars-2.6.1-lua-5.2.patch delete mode 100644 boswars-2.7-compat-lua-5.1.patch delete mode 100644 boswars-2.7-sconstruct-py3.patch diff --git a/.gitignore b/.gitignore index 6949f5e..77e46fc 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ 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 new file mode 100644 index 0000000..9edd1ea --- /dev/null +++ b/boswars-0001-Convert-to-UTF-8.patch @@ -0,0 +1,19 @@ +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 new file mode 100644 index 0000000..29d280e --- /dev/null +++ b/boswars-0003-build-detect-alternative-name-for-Lua-5.1-libs.patch @@ -0,0 +1,20 @@ +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-2.4.1-SConstruct.patch b/boswars-2.4.1-SConstruct.patch deleted file mode 100644 index ce124f3..0000000 --- a/boswars-2.4.1-SConstruct.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 deleted file mode 100644 index 7736d2a..0000000 --- a/boswars-2.4.1-guichan26.patch +++ /dev/null @@ -1,392 +0,0 @@ -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 deleted file mode 100644 index 391df18..0000000 --- a/boswars-2.6.1-lua-5.2.patch +++ /dev/null @@ -1,216 +0,0 @@ -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 deleted file mode 100644 index 7328870..0000000 --- a/boswars-2.7-compat-lua-5.1.patch +++ /dev/null @@ -1,17 +0,0 @@ -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 deleted file mode 100644 index 96126e7..0000000 --- a/boswars-2.7-sconstruct-py3.patch +++ /dev/null @@ -1,157 +0,0 @@ -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, '') -@@ -262,7 +262,7 @@ if sys.platform.startswith('linux') or s - def DefineVariant(venv, v, vv = None): - if vv == None: - vv = '-' + v -- BuildDir('build/' + v, engineSourceDir, duplicate = 0) -+ VariantDir('build/' + v, engineSourceDir, duplicate = 0) - r = venv.Program('build/boswars' + vv, buildSourcesList('build/' + v)) - Alias(v, 'boswars' + vv) - return r diff --git a/boswars.spec b/boswars.spec index 06f6fb1..82520f3 100644 --- a/boswars.spec +++ b/boswars.spec @@ -1,29 +1,33 @@ Name: boswars -Version: 2.7 +Version: 2.8 Release: %autorelease Summary: Bos Wars is a futuristic real-time strategy game -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 +License: GPL-2.0-only +URL: https://www.boswars.org/ +Source0: https://www.boswars.org/dist/releases/boswars-2.8-src.tar.gz Source1: %{name}.desktop Source2: %{name}-48.png Source3: %{name}-128.png Source4: %{name}.appdata.xml Source5: %{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 +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++) %description Bos Wars is a futuristic real-time strategy game. It is possible to play @@ -32,45 +36,39 @@ Bos Wars aims to create a completly original and fun open source RTS game. %prep -%autosetup -p1 -n %{name} -iconv -f ISO-8859-1 -t UTF8 doc/guichan-copyright.txt > guichan-copyright.txt +%autosetup -p1 -n %{name}-%{version}-src +sed -i -e "s|-Wall -fsigned-char -D_GNU_SOURCE=1 -D_REENTRANT|%{optflags}|g" make.py find campaigns engine maps -type f -executable -exec chmod -x {} ';' -# we want to use the system version of these -rm engine/tolua/*.h engine/tolua/tolua_*.cpp +# FIXME we want to use the system version of compat-tolua++ +# rm engine/tolua/*.h engine/tolua/tolua_*.cpp %build -scons %{?_smp_mflags} opengl=1 CC="gcc $RPM_OPT_FLAGS" CXX="g++ $RPM_OPT_FLAGS" LIBPATH=%{_libdir} - +/usr/bin/python3 make.py %install -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} +mkdir -p %{buildroot}%{_datadir}/%{name}/languages +install -D -p -m 755 fbuild/release/boswars %{buildroot}%{_bindir}/%{name} install -p -m 644 languages/*.po languages/*.pot \ - $RPM_BUILD_ROOT%{_datadir}/%{name}/languages + %{buildroot}%{_datadir}/%{name}/languages cp -a campaigns graphics intro maps scripts sounds units patches \ - $RPM_BUILD_ROOT%{_datadir}/%{name} + %{buildroot}%{_datadir}/%{name} -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 -mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps -install -p -m 644 %{SOURCE2} \ - $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/%{name}.png -install -p -m 644 %{SOURCE3} \ - $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/128x128/apps/%{name}.png -mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata -install -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/appdata +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 appstream-util validate-relax --nonet \ - $RPM_BUILD_ROOT%{_datadir}/appdata/%{name}.appdata.xml -mkdir -p $RPM_BUILD_ROOT%{_mandir}/man6 -install -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man6 + %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml +install -D -p -m 644 %{SOURCE5} %{buildroot}%{_mandir}/man6/%{name}.6 %files %doc README.txt CHANGELOG doc/*.html -%license COPYRIGHT.txt LICENSE.txt guichan-copyright.txt +%license COPYRIGHT.txt LICENSE.txt doc/guichan-copyright.txt %{_bindir}/%{name} %{_datadir}/%{name} %{_datadir}/appdata/%{name}.appdata.xml diff --git a/sources b/sources index d490cbc..0be1aff 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ad0a664e1d6cdc41283189349b070f5d boswars_2.7+svn160110.orig.tar.xz +SHA512 (boswars-2.8-src.tar.gz) = c99654c25cd82f923214749518f75db2edd88a672da9a10033a44f8f689c453e50708f673759c9b82c2ffaaa08c44d4fee478ec23f56cc8d6c2a3547edc19cf9 From 7e25314faa616237154edd26cb2b0193cc8e1a39 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 18:31:44 +0000 Subject: [PATCH 29/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 15689c65693d62e991c11ffd0486f23a3db75c72 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 12:47:06 +0000 Subject: [PATCH 30/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 0041e276900f1e26a702e2c39b0278a6848571ac Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 17:50:20 +0000 Subject: [PATCH 31/31] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild