summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-puzzle/pingus/files/pingus-0.7.6-boost_signals2.patch380
-rw-r--r--games-puzzle/pingus/pingus-0.7.6-r2.ebuild63
2 files changed, 443 insertions, 0 deletions
diff --git a/games-puzzle/pingus/files/pingus-0.7.6-boost_signals2.patch b/games-puzzle/pingus/files/pingus-0.7.6-boost_signals2.patch
new file mode 100644
index 000000000000..df4d44945036
--- /dev/null
+++ b/games-puzzle/pingus/files/pingus-0.7.6-boost_signals2.patch
@@ -0,0 +1,380 @@
+From 6b5f2eb72359ce9cece7543eebb02f2c1ac0dcf9 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 54b64680d..9caa931b6 100644
+--- a/SConscript
++++ b/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
+--- a/src/editor/button.hpp
++++ b/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
+--- a/src/editor/checkbox.hpp
++++ b/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
+--- a/src/editor/combobox.hpp
++++ b/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
+--- a/src/editor/file_list.hpp
++++ b/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
+--- a/src/editor/inputbox.hpp
++++ b/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
+--- a/src/editor/message_box.hpp
++++ b/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
+--- a/src/editor/object_selector.cpp
++++ b/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
+--- a/src/editor/viewport.hpp
++++ b/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
+--- a/src/pingus/components/check_box.hpp
++++ b/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
+--- a/src/pingus/components/choice_box.hpp
++++ b/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
+--- a/src/pingus/components/slider_box.hpp
++++ b/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
+--- a/src/pingus/config_manager.hpp
++++ b/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
+--- a/src/pingus/screens/option_menu.hpp
++++ b/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.21.0
+
diff --git a/games-puzzle/pingus/pingus-0.7.6-r2.ebuild b/games-puzzle/pingus/pingus-0.7.6-r2.ebuild
new file mode 100644
index 000000000000..7a222f34d4f2
--- /dev/null
+++ b/games-puzzle/pingus/pingus-0.7.6-r2.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit scons-utils toolchain-funcs flag-o-matic xdg-utils
+
+DESCRIPTION="free Lemmings clone"
+HOMEPAGE="https://pingus.seul.org"
+SRC_URI="https://pingus.googlecode.com/files/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="opengl music"
+
+RDEPEND="media-libs/libsdl[joystick,opengl?,video]
+ media-libs/sdl-image[png]
+ media-libs/sdl-mixer
+ music? ( media-libs/sdl-mixer[mod] )
+ opengl? ( virtual/opengl )
+ media-libs/libpng:0=
+ dev-libs/boost:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-noopengl.patch
+ "${FILESDIR}"/${P}-gcc47.patch
+ "${FILESDIR}"/${P}-echo-e.patch
+ "${FILESDIR}"/${P}-gcc7.patch
+ "${FILESDIR}"/${P}-boost_signals2.patch
+)
+
+src_prepare() {
+ default
+ strip-flags
+}
+
+src_compile() {
+ escons \
+ CXX="$(tc-getCXX)" \
+ CCFLAGS="${CXXFLAGS}" \
+ LINKFLAGS="${LDFLAGS}" \
+ with_opengl=$(usex opengl 1 0)
+}
+
+src_install() {
+ emake install-exec install-data \
+ DESTDIR="${D}" \
+ PREFIX="/usr"
+ doman doc/man/pingus.6
+ doicon data/images/icons/pingus.svg
+ make_desktop_entry ${PN} Pingus
+ dodoc AUTHORS NEWS README TODO
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}