rebuilt with current libboost, patches added [release 0.7.6-3mamba;Tue May 07 2024]

This commit is contained in:
Silvan Calarco 2024-05-07 15:25:22 +02:00
parent 88341eeea9
commit 2ba0a77d1d
6 changed files with 458 additions and 38 deletions

View File

@ -1,23 +0,0 @@
diff -Nru pingus-0.7.2.orig/src/input/evdev_device.cpp pingus-0.7.2/src/input/evdev_device.cpp
--- pingus-0.7.2.orig/src/input/evdev_device.cpp 2007-10-01 19:24:54.000000000 +0200
+++ pingus-0.7.2/src/input/evdev_device.cpp 2009-06-04 14:33:13.000000000 +0200
@@ -25,6 +25,8 @@
#include <stdexcept>
#include <iostream>
#include <errno.h>
+#include <cstdio>
+#include <string.h>
#include "evdev_device.hpp"
diff -Nru pingus-0.7.2.orig/src/tinygettext/po_file_reader.cpp pingus-0.7.2/src/tinygettext/po_file_reader.cpp
--- pingus-0.7.2.orig/src/tinygettext/po_file_reader.cpp 2007-10-18 19:54:01.000000000 +0200
+++ pingus-0.7.2/src/tinygettext/po_file_reader.cpp 2009-06-04 14:33:27.000000000 +0200
@@ -18,6 +18,7 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <config.h>
+#include <cstdio>
#include <vector>
#include <iconv.h>
#include <errno.h>

View File

@ -0,0 +1,380 @@
From fef8cf6512fa4aa09e87643c22ef66de9ec7bb41 Mon Sep 17 00:00:00 2001
From: Ingo Ruhnke <grumbel@gmail.com>
Date: Sat, 26 Jul 2014 20:49:11 +0200
Subject: [PATCH] Switched to boost::signals2
---
SConscript | 5 ++---
src/editor/button.hpp | 4 ++--
src/editor/checkbox.hpp | 4 ++--
src/editor/combobox.hpp | 4 ++--
src/editor/file_list.hpp | 4 ++--
src/editor/inputbox.hpp | 6 +++---
src/editor/message_box.hpp | 2 +-
src/editor/object_selector.cpp | 4 ++--
src/editor/viewport.hpp | 4 ++--
src/pingus/components/check_box.hpp | 4 ++--
src/pingus/components/choice_box.hpp | 4 ++--
src/pingus/components/slider_box.hpp | 4 ++--
src/pingus/config_manager.hpp | 28 ++++++++++++++--------------
src/pingus/screens/option_menu.hpp | 4 ++--
14 files changed, 40 insertions(+), 41 deletions(-)
diff --git a/SConscript b/SConscript
index 758567f51..c4d25a8a9 100644
--- SConscript
+++ SConscript
@@ -187,9 +187,8 @@ class Project:
'src/engine/input/xinput/xinput_device.cpp'])
def configure_boost(self):
- if not self.conf.CheckLibWithHeader('boost_signals', 'boost/signals.hpp', 'c++'):
- if not self.conf.CheckLibWithHeader('boost_signals-mt', 'boost/signals.hpp', 'c++'):
- self.fatal_error += " * library 'boost_signals' not found\n"
+ if not self.conf.CheckHeader('boost/signals2.hpp', '<>', 'c++'):
+ self.fatal_error += " * library 'boost_signals2' not found\n"
def configure_png(self):
if self.conf.CheckMyProgram('pkg-config'):
diff --git a/src/editor/button.hpp b/src/editor/button.hpp
index c85d7da9e..d89dfe669 100644
--- src/editor/button.hpp
+++ src/editor/button.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_EDITOR_BUTTON_HPP
#define HEADER_PINGUS_EDITOR_BUTTON_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/gui/rect_component.hpp"
@@ -48,7 +48,7 @@ public:
void enable() { enabled = true; }
void disable() { enabled = false; }
- boost::signal<void()> on_click;
+ boost::signals2::signal<void()> on_click;
private:
Button (const Button&);
diff --git a/src/editor/checkbox.hpp b/src/editor/checkbox.hpp
index 7c3bc835f..66382d79b 100644
--- src/editor/checkbox.hpp
+++ src/editor/checkbox.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_EDITOR_CHECKBOX_HPP
#define HEADER_PINGUS_EDITOR_CHECKBOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/gui/rect_component.hpp"
@@ -40,7 +40,7 @@ public:
bool is_checked() const { return checked; }
void on_primary_button_press(int x, int y);
- boost::signal<void (bool)> on_change;
+ boost::signals2::signal<void (bool)> on_change;
private:
Checkbox (const Checkbox&);
diff --git a/src/editor/combobox.hpp b/src/editor/combobox.hpp
index 0ca742593..603556bd9 100644
--- src/editor/combobox.hpp
+++ src/editor/combobox.hpp
@@ -18,7 +18,7 @@
#ifndef HEADER_PINGUS_EDITOR_COMBOBOX_HPP
#define HEADER_PINGUS_EDITOR_COMBOBOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/display/sprite.hpp"
#include "engine/gui/rect_component.hpp"
@@ -88,7 +88,7 @@ public:
void update_layout() {}
- boost::signal<void (const ComboItem&)> on_select;
+ boost::signals2::signal<void (const ComboItem&)> on_select;
private:
Combobox();
diff --git a/src/editor/file_list.hpp b/src/editor/file_list.hpp
index cc4bba2de..85efe6aa0 100644
--- src/editor/file_list.hpp
+++ src/editor/file_list.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_EDITOR_FILE_LIST_HPP
#define HEADER_PINGUS_EDITOR_FILE_LIST_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/display/sprite.hpp"
#include "engine/gui/rect_component.hpp"
@@ -61,7 +61,7 @@ public:
bool has_more_next_pages();
bool has_more_prev_pages();
- boost::signal<void (const System::DirectoryEntry&)> on_click;
+ boost::signals2::signal<void (const System::DirectoryEntry&)> on_click;
private:
int items_per_page();
diff --git a/src/editor/inputbox.hpp b/src/editor/inputbox.hpp
index cad9663ec..87321dbba 100644
--- src/editor/inputbox.hpp
+++ src/editor/inputbox.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_EDITOR_INPUTBOX_HPP
#define HEADER_PINGUS_EDITOR_INPUTBOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/gui/rect_component.hpp"
@@ -40,8 +40,8 @@ public:
void update_layout() {}
- boost::signal<void (const std::string&)> on_change;
- boost::signal<void (const std::string&)> on_enter;
+ boost::signals2::signal<void (const std::string&)> on_change;
+ boost::signals2::signal<void (const std::string&)> on_enter;
private:
Inputbox (const Inputbox&);
diff --git a/src/editor/message_box.hpp b/src/editor/message_box.hpp
index 385387a61..d885767cf 100644
--- src/editor/message_box.hpp
+++ src/editor/message_box.hpp
@@ -45,7 +45,7 @@ public:
void on_cancel_button();
public:
- boost::signal<void()> on_ok;
+ boost::signals2::signal<void()> on_ok;
private:
MessageBox(const MessageBox&);
diff --git a/src/editor/object_selector.cpp b/src/editor/object_selector.cpp
index 28e306826..f3a36b5e8 100644
--- src/editor/object_selector.cpp
+++ src/editor/object_selector.cpp
@@ -16,7 +16,7 @@
#include "editor/object_selector.hpp"
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "editor/generic_level_obj.hpp"
#include "editor/gui_style.hpp"
@@ -47,7 +47,7 @@ private:
std::string tooltip;
public:
- boost::signal<void()> on_click;
+ boost::signals2::signal<void()> on_click;
public:
ObjectSelectorButton(ObjectSelectorList* object_list_,
diff --git a/src/editor/viewport.hpp b/src/editor/viewport.hpp
index 1ae9eff7c..18868254d 100644
--- src/editor/viewport.hpp
+++ src/editor/viewport.hpp
@@ -18,7 +18,7 @@
#ifndef HEADER_PINGUS_EDITOR_VIEWPORT_HPP
#define HEADER_PINGUS_EDITOR_VIEWPORT_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include <set>
#include "editor/selection.hpp"
@@ -148,7 +148,7 @@ public:
void clear_selection();
- boost::signal<void (const Selection&)> selection_changed;
+ boost::signals2::signal<void (const Selection&)> selection_changed;
private:
Viewport();
Viewport (const Viewport&);
diff --git a/src/pingus/components/check_box.hpp b/src/pingus/components/check_box.hpp
index 00e23b764..5bef50f6b 100644
--- src/pingus/components/check_box.hpp
+++ src/pingus/components/check_box.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_PINGUS_COMPONENTS_CHECK_BOX_HPP
#define HEADER_PINGUS_PINGUS_COMPONENTS_CHECK_BOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/display/sprite.hpp"
#include "engine/gui/rect_component.hpp"
@@ -39,7 +39,7 @@ public:
void set_state(bool v, bool send_signal);
- boost::signal<void (bool)> on_change;
+ boost::signals2::signal<void (bool)> on_change;
private:
CheckBox (const CheckBox&);
diff --git a/src/pingus/components/choice_box.hpp b/src/pingus/components/choice_box.hpp
index 49d6e1948..ef51b6dd2 100644
--- src/pingus/components/choice_box.hpp
+++ src/pingus/components/choice_box.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_PINGUS_COMPONENTS_CHOICE_BOX_HPP
#define HEADER_PINGUS_PINGUS_COMPONENTS_CHOICE_BOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/gui/rect_component.hpp"
@@ -36,7 +36,7 @@ public:
void add_choice(const std::string& str);
void set_current_choice(int choice);
- boost::signal<void (std::string)> on_change;
+ boost::signals2::signal<void (std::string)> on_change;
private:
ChoiceBox (const ChoiceBox&);
diff --git a/src/pingus/components/slider_box.hpp b/src/pingus/components/slider_box.hpp
index ae4d92406..75118eac2 100644
--- src/pingus/components/slider_box.hpp
+++ src/pingus/components/slider_box.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_PINGUS_COMPONENTS_SLIDER_BOX_HPP
#define HEADER_PINGUS_PINGUS_COMPONENTS_SLIDER_BOX_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "engine/gui/rect_component.hpp"
@@ -39,7 +39,7 @@ public:
void set_value(int v);
- boost::signal<void (int)> on_change;
+ boost::signals2::signal<void (int)> on_change;
private:
SliderBox (const SliderBox&);
diff --git a/src/pingus/config_manager.hpp b/src/pingus/config_manager.hpp
index b07b83e65..4cf08e046 100644
--- src/pingus/config_manager.hpp
+++ src/pingus/config_manager.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_PINGUS_CONFIG_MANAGER_HPP
#define HEADER_PINGUS_PINGUS_CONFIG_MANAGER_HPP
-#include <boost/signal.hpp>
+#include <boost/signals2.hpp>
#include "math/size.hpp"
#include "pingus/options.hpp"
@@ -39,55 +39,55 @@ public:
void set_master_volume(int);
int get_master_volume() const;
- boost::signal<void(int)> on_master_volume_change;
+ boost::signals2::signal<void(int)> on_master_volume_change;
void set_sound_volume(int);
int get_sound_volume() const;
- boost::signal<void(int)> on_sound_volume_change;
+ boost::signals2::signal<void(int)> on_sound_volume_change;
void set_music_volume(int);
int get_music_volume() const;
- boost::signal<void(int)> on_music_volume_change;
+ boost::signals2::signal<void(int)> on_music_volume_change;
void set_fullscreen_resolution(const Size& size);
Size get_fullscreen_resolution() const;
- boost::signal<void(Size)> on_fullscreen_resolution_change;
+ boost::signals2::signal<void(Size)> on_fullscreen_resolution_change;
void set_fullscreen(bool);
bool get_fullscreen() const;
- boost::signal<void(bool)> on_fullscreen_change;
+ boost::signals2::signal<void(bool)> on_fullscreen_change;
void set_renderer(FramebufferType type);
FramebufferType get_renderer() const;
- boost::signal<void(FramebufferType)> on_renderer_change;
+ boost::signals2::signal<void(FramebufferType)> on_renderer_change;
void set_resizable(bool);
bool get_resizable() const;
- boost::signal<void(bool)> on_resizable_change;
+ boost::signals2::signal<void(bool)> on_resizable_change;
void set_mouse_grab(bool);
bool get_mouse_grab() const;
- boost::signal<void(bool)> on_mouse_grab_change;
+ boost::signals2::signal<void(bool)> on_mouse_grab_change;
void set_print_fps(bool);
bool get_print_fps() const;
- boost::signal<void(bool)> on_print_fps_change;
+ boost::signals2::signal<void(bool)> on_print_fps_change;
void set_language(const tinygettext::Language&);
tinygettext::Language get_language() const;
- boost::signal<void(const tinygettext::Language&)> on_language_change;
+ boost::signals2::signal<void(const tinygettext::Language&)> on_language_change;
void set_software_cursor(bool);
bool get_software_cursor() const;
- boost::signal<void(bool)> on_software_cursor_change;
+ boost::signals2::signal<void(bool)> on_software_cursor_change;
void set_auto_scrolling(bool);
bool get_auto_scrolling() const;
- boost::signal<void(bool)> on_auto_scrolling_change;
+ boost::signals2::signal<void(bool)> on_auto_scrolling_change;
void set_drag_drop_scrolling(bool);
bool get_drag_drop_scrolling() const;
- boost::signal<void(bool)> on_drag_drop_scrolling_change;
+ boost::signals2::signal<void(bool)> on_drag_drop_scrolling_change;
private:
ConfigManager (const ConfigManager&);
diff --git a/src/pingus/screens/option_menu.hpp b/src/pingus/screens/option_menu.hpp
index 60b1578d2..154ef0f69 100644
--- src/pingus/screens/option_menu.hpp
+++ src/pingus/screens/option_menu.hpp
@@ -17,7 +17,7 @@
#ifndef HEADER_PINGUS_PINGUS_SCREENS_OPTION_MENU_HPP
#define HEADER_PINGUS_PINGUS_SCREENS_OPTION_MENU_HPP
-#include <boost/signals.hpp>
+#include <boost/signals2.hpp>
#include <map>
#include <vector>
@@ -66,7 +66,7 @@ private:
//Label* defaults_label;
//CheckBox* defaults_box;
- typedef std::vector<boost::signals::connection> Connections;
+ typedef std::vector<boost::signals2::connection> Connections;
Connections connections;
tinygettext::Language m_language;
--
2.18.1

View File

@ -0,0 +1,22 @@
From df6e2f445d3e2925a94d22faeb17be9444513e92 Mon Sep 17 00:00:00 2001
From: Jonathan Wakely <jwakely@redhat.com>
Date: Mon, 30 Jan 2017 15:41:53 +0000
Subject: [PATCH] Add missing header for std::function and std::bind
---
src/pingus/screens/demo_session.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/pingus/screens/demo_session.cpp b/src/pingus/screens/demo_session.cpp
index e3ec49a2c..f887e50f0 100644
--- a/src/pingus/screens/demo_session.cpp
+++ b/src/pingus/screens/demo_session.cpp
@@ -18,6 +18,7 @@
#include <algorithm>
#include <iostream>
+#include <functional>
#include "engine/gui/gui_manager.hpp"
#include "engine/gui/surface_button.hpp"

View File

@ -0,0 +1,12 @@
diff --git a/src/util/pathname.hpp b/src/util/pathname.hpp
index c30df0a83..c7d1c7ca0 100644
--- a/src/util/pathname.hpp
+++ b/src/util/pathname.hpp
@@ -19,6 +19,7 @@
#include <string>
#include <vector>
+#include <cstdint>
/** Simple class to allow a distinction of paths that refer to the
* filesystem and paths that refer to the datadir, it also hides

View File

@ -0,0 +1,19 @@
--- pingus-0.7.6/SConscript.orig 2019-07-27 08:28:23.143619494 +0000
+++ pingus-0.7.6/SConscript 2019-07-27 08:29:35.844531921 +0000
@@ -126,12 +126,12 @@
def configure_end(self):
self.env = self.conf.Finish()
- print "Reports:"
- print self.reports
+ print ("Reports:")
+ print (self.reports)
if not self.fatal_error == "":
- print "Fatal Errors:"
- print self.fatal_error
+ print ("Fatal Errors:")
+ print (self.fatal_error)
Exit(1)
def configure_gxx(self):

View File

@ -1,44 +1,51 @@
Name: pingus
Version: 0.7.6
Release: 2mamba
Release: 3mamba
Summary: A free Lemmings clone for GNU/Linux
Group: Graphical Desktop/Applications/Games
Vendor: openmamba
Distribution: openmamba
Packager: Tiziana Ferro <tiziana.ferro@email.it>
URL: http://pingus.seul.org/
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://pingus.seul.org/
Source: http://pingus.googlecode.com/files/pingus-%{version}.tar.bz2
Patch0: %{name}-0.7.2-gcc44.patch
Patch1: pingus-0.7.6-gcc-4.7.patch
Patch2: pingus-0.7.6-scons-4.7.0.patch
Patch3: pingus-0.7.6-boost-1.69.patch
Patch4: pingus-0.7.6-gcc-13.2.0.patch
Patch5: pingus-0.7.6-gcc-13.2.0-missing-header.patch
License: GPL
## AUTOBUILDREQ-BEGIN
#BuildRequires: file /usr/lib/libboost_signals-mt.so is not owned by any package
BuildRequires: glibc-devel
BuildRequires: libgcc
BuildRequires: libpng-devel
BuildRequires: libSDL-devel
BuildRequires: libSDL_image-devel
BuildRequires: libSDL_mixer-devel
BuildRequires: libgcc
BuildRequires: libglvnd-devel
BuildRequires: libpng-devel
BuildRequires: libsdl12-compat-devel
BuildRequires: libstdc++6-devel
## AUTOBUILDREQ-END
BuildRequires: libboost-devel
BuildRequires: scons
BuildRequires: libXi-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
BuildRequires: scons
%description
Pingus is a free Lemmings clone for GNU/Linux. The player takes command in the game of a bunch of small animals and has to guide them around in levels. Since the animals walk on their own, the player can only influence them by giving them commands, like build a bridge, dig a hole or redirect all animals in the other direction. The goal of each level is to reach the exit, for fix multiple combination of commands are necessary.
%debug_package
%prep
%setup -q
#%patch0 -p1
%patch 1 -p1
%patch 2 -p1 -b .scons-4.7.0
%patch 3 -p0 -b .boost-1.69
%patch 4 -p1 -b .gcc-13.2.0
%patch 5 -p1 -b .gcc-13.2.0-missing-header
# note: it loads *.po files directly, no need to use msgfmt
mv -f data/po/sr{,@latin}.po
rm -f data/po/pingus.pot
%build
scons
%install
@ -57,10 +64,10 @@ GenericName=A Lemmings clone
Comment[it]=Un clone di Lemmings
GenericName[it]=Un clone di Lemmings
Exec=pingus
Icon=tux
Icon=/usr/share/pingus/images/core/editor/actions.png
Terminal=0
Type=Application
Categories=KDE;Game;ArcadeGame;
Categories=Application;Game;ArcadeGame;
EOF
mv %{buildroot}%{_mandir}/man1 %{buildroot}%{_mandir}/man6
@ -84,6 +91,9 @@ mv %{buildroot}%{_mandir}/man1 %{buildroot}%{_mandir}/man6
# ChangeLog NEWS README TODO
%changelog
* Tue May 07 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 0.7.6-3mamba
- rebuilt with current libboost, patches added
* Sat Dec 15 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 0.7.6-2mamba
- libboost 1.52 mass rebuild