summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2018-12-23 21:40:58 +0200
committerEfraim Flashner <efraim@flashner.co.il>2018-12-23 21:41:16 +0200
commit472c36bd36696cfe744e8a7b8f4d4ac5800e0f68 (patch)
treec8f87fb72c5add933ee72b548f1fd25e8a84b89c /gnu/packages
parent6556c00afa9057df2022df6c4b30d10312ef83ff (diff)
downloadguix-472c36bd36696cfe744e8a7b8f4d4ac5800e0f68.tar.gz
gnu: pingus: Fix building.
* gnu/packages/games.scm (pingus)[source]: Use 'git-fetch'. Add patch to
update used boost headers.
* gnu/packages/patches/pingus-boost-headers.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/games.scm14
-rw-r--r--gnu/packages/patches/pingus-boost-headers.patch379
2 files changed, 387 insertions, 6 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 7b8d2f1bae..2ef93d6247 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1283,14 +1283,16 @@ fight Morgoth, the Lord of Darkness.")
     (version "0.7.6")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/Pingus/pingus/archive/v"
-                           version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+              (url "https://github.com/Pingus/pingus.git")
+              (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
         (base32
-         "0r9v6as5vi7skvvy7b0fcaimhdlzmik64pyy68plgljhsghqkkf4"))
-       (patches (search-patches "pingus-sdl-libs-config.patch"))))
+         "0wp06kcmknsnxz7bjnsndb8x062z7r23fb3yrnbfnj68qhz18y74"))
+       (patches (search-patches "pingus-boost-headers.patch"
+                                "pingus-sdl-libs-config.patch"))))
     (build-system gnu-build-system)
     (native-inputs `(("pkg-config" ,pkg-config)
                      ("scons-python2" ,scons-python2)))
diff --git a/gnu/packages/patches/pingus-boost-headers.patch b/gnu/packages/patches/pingus-boost-headers.patch
new file mode 100644
index 0000000000..f820f5851c
--- /dev/null
+++ b/gnu/packages/patches/pingus-boost-headers.patch
@@ -0,0 +1,379 @@
+https://github.com/Pingus/pingus/commit/fef8cf6512fa4aa09e87643c22ef66de9ec7bb41.patch
+
+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
+--- 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 @@ class Button : public GUI::RectComponent
+   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 @@ class Checkbox : public GUI::RectComponent
+   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 @@ class Combobox : public GUI::RectComponent
+   
+   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 @@ class FileList : public GUI::RectComponent
+   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 @@ class Inputbox : public GUI::RectComponent
+ 
+   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 @@ class MessageBox : public GUI::GroupComponent
+   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 @@ class ObjectSelectorButton : public GUI::RectComponent
+   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 @@ class Viewport : public GUI::RectComponent
+ 
+   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 @@ class CheckBox : public GUI::RectComponent
+ 
+   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 @@ class ChoiceBox : public GUI::RectComponent
+   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 @@ class SliderBox : public GUI::RectComponent
+ 
+   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 @@ class ConfigManager
+ 
+   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 @@ class OptionMenu : public GUIScreen
+   //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;