summaryrefslogtreecommitdiff
path: root/games-puzzle
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-04-05 21:17:31 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-04-05 21:17:31 +0100
commitdc7cbdfa65fd814b3b9aa3c56257da201109e807 (patch)
treec85d72f6f31f21f178069c9d41d41a7c1ff4b362 /games-puzzle
parent0706fc6986773f4e4d391deff4ad5143c464ea4e (diff)
gentoo resync : 05.04.2019
Diffstat (limited to 'games-puzzle')
-rw-r--r--games-puzzle/Manifest.gzbin17461 -> 17453 bytes
-rw-r--r--games-puzzle/bastet/Manifest7
-rw-r--r--games-puzzle/bastet/bastet-0.43.2.ebuild37
-rw-r--r--games-puzzle/bastet/bastet-0.43.ebuild32
-rw-r--r--games-puzzle/bastet/files/bastet-0.43-gentoo.patch15
-rw-r--r--games-puzzle/bastet/files/bastet-0.43.2-Makefile.patch33
-rw-r--r--games-puzzle/bastet/files/bastet-0.43.2-boost_include.patch33
-rw-r--r--games-puzzle/pingus/Manifest4
-rw-r--r--games-puzzle/pingus/files/pingus-0.7.6-boost_signals2.patch380
-rw-r--r--games-puzzle/pingus/files/pingus-9999-no_libexec.patch33
-rw-r--r--games-puzzle/pingus/pingus-0.7.6-r2.ebuild63
-rw-r--r--games-puzzle/pingus/pingus-9999.ebuild50
12 files changed, 637 insertions, 50 deletions
diff --git a/games-puzzle/Manifest.gz b/games-puzzle/Manifest.gz
index 4bfaaa4347ad..76a20e2d8670 100644
--- a/games-puzzle/Manifest.gz
+++ b/games-puzzle/Manifest.gz
Binary files differ
diff --git a/games-puzzle/bastet/Manifest b/games-puzzle/bastet/Manifest
index caac8ee082e3..de808fae8bed 100644
--- a/games-puzzle/bastet/Manifest
+++ b/games-puzzle/bastet/Manifest
@@ -1,4 +1,5 @@
-AUX bastet-0.43-gentoo.patch 474 BLAKE2B e05a58a66f3cb5df6dcbbb00c550ed322ee526b207f1e564edfb41af597eeccab1e80b5c45204d37ac73d4f46bd472c5bd1ede35f3a5a7bffaba51ef4bfa8c99 SHA512 8d381ecb59f141cfc16f64ec21eac18d91ece99e01e2ae327117545c8ea354e6e50a17cf966e43dc7bb5fe7ec6b1b3008fcf385098a222791cb15ec67bab400b
-DIST bastet-0.43.tgz 29115 BLAKE2B df8c866da77be5ecbee9ed24c26f506a26d84a218af3916ece8e6b1ea18dc6ff51e3d76a9553ddfe404212e0bed63073892cb53bdbd334e207ee115877ae4989 SHA512 a3683c2cea4df592d9cef2be1b0006acc2b6eddbe6b64aba1c21e81ba39df9bcff6494e0949b67a84f3d1a0fa6837f0d1b7cebb2eb8a551b54392e4a45f2e172
-EBUILD bastet-0.43.ebuild 732 BLAKE2B dd2a3dccf5853d8a5da1711b52ac867c284045857a19c2686b4926eccf3ab37a9ca104540a4ab1e868837160d5df1b807e46941e9068ab4a40af26bed35e01f7 SHA512 900f6161e7232a30624cc82eba64f534a4e8fa67111019f16abd515be3e962c54835da90163f0ff599faaf4149ea5ee3065a4d0ee0373168542a7cab7f8a889a
+AUX bastet-0.43.2-Makefile.patch 1064 BLAKE2B 01fd876030b450c2b6cff52ce0547cdf886f52952ac1aaf5e2deec1f9eecea598aff541ffddbc1ce3b8c90831938aed3257ec868c097a39b03dceec0aae2bba2 SHA512 803e4ab5e2201bbb905dc5527bf5a1b233fbfb63a1cbcf3a74c3521bb63fb9fd95b92e6d61ecee2bf417917d27bb96c538106849b18e44ec58dbcabe496b8de0
+AUX bastet-0.43.2-boost_include.patch 1049 BLAKE2B 46cc528ffbe1b26c71aae5c70941869260e268b294c9dcfe8d565a1a6c03d1c3ab90ca7f7e45553e3b3d90b98ad384925542727ef725b042eb16e141c0382832 SHA512 98008a5781ba27dc318dc991921fe834241b92c493d72b713027834a96fba236e6326aee3c57101b52d53246a3669638ea5a404e8d0da76fcacd5543ede316e3
+DIST bastet-0.43.2.tar.gz 87496 BLAKE2B 3d599751740af033b44aa9266a9c5782223aafc6d9ac104d92acb41a1642fd0f80867b7d2abfcdca2f39acffd68c17af40057fa45b2d3303285f966b4ac7d442 SHA512 e81ca8bf674b537b539b7f6b35b1233a714f03750ce1b3947f84e70ca5f98ed4583902e7b4800c5bdde66ee95a4ef8ed0f5854675c2d149cd26d2498dc187a41
+EBUILD bastet-0.43.2.ebuild 759 BLAKE2B 7394c9b59e89728c45281750b4aa4a1c0d0ede9ec2f026246699a5393e2ffb6b5be1bce76436ff13bc49172241d7a854e61ad4557e739e93b9c595778fd29a42 SHA512 661846be875a89c4d898b9eb7a292829124ef59a0e394751cbf50bd02cd2ff932ada7bdb67e8bf35cebfd7f6b721c78215a824736970ad13604b69bb07f355c7
MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118
diff --git a/games-puzzle/bastet/bastet-0.43.2.ebuild b/games-puzzle/bastet/bastet-0.43.2.ebuild
new file mode 100644
index 000000000000..13a2fe47c44e
--- /dev/null
+++ b/games-puzzle/bastet/bastet-0.43.2.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="a simple, evil, ncurses-based Tetris(R) clone"
+HOMEPAGE="http://fph.altervista.org/prog/bastet.shtml"
+SRC_URI="https://github.com/fph/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE=""
+
+DEPEND="
+ sys-libs/ncurses:0=
+ dev-libs/boost:0=
+"
+RDEPEND="${DEPEND}"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.43.2-Makefile.patch
+ "${FILESDIR}"/${P}-boost_include.patch
+)
+
+src_install() {
+ dobin bastet
+ doman bastet.6
+ dodoc AUTHORS NEWS README
+ dodir /var/games
+ touch "${ED}/var/games/bastet.scores" || die "touch failed"
+ fperms 664 /var/games/bastet.scores
+}
diff --git a/games-puzzle/bastet/bastet-0.43.ebuild b/games-puzzle/bastet/bastet-0.43.ebuild
deleted file mode 100644
index c395170fbcbe..000000000000
--- a/games-puzzle/bastet/bastet-0.43.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit eutils games
-
-DESCRIPTION="a simple, evil, ncurses-based Tetris(R) clone"
-HOMEPAGE="http://fph.altervista.org/prog/bastet.shtml"
-SRC_URI="http://fph.altervista.org/prog/files/${P}.tgz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-IUSE=""
-
-DEPEND="sys-libs/ncurses:0
- dev-libs/boost:0"
-RDEPEND=${DEPEND}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-gentoo.patch
-}
-
-src_install() {
- dogamesbin bastet
- doman bastet.6
- dodoc AUTHORS NEWS README
- dodir "${GAMES_STATEDIR}"
- touch "${D}${GAMES_STATEDIR}/bastet.scores" || die "touch failed"
- fperms 664 "${GAMES_STATEDIR}/bastet.scores"
- prepgamesdirs
-}
diff --git a/games-puzzle/bastet/files/bastet-0.43-gentoo.patch b/games-puzzle/bastet/files/bastet-0.43-gentoo.patch
deleted file mode 100644
index db7671592224..000000000000
--- a/games-puzzle/bastet/files/bastet-0.43-gentoo.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- Makefile.old 2010-12-02 15:43:29.000000000 +0100
-+++ Makefile 2010-12-02 15:47:18.000000000 +0100
-@@ -11,10 +11,10 @@
- depend: *.hpp $(SOURCES)
- $(CXX) -MM $(SOURCES) > depend
-
--include depend
-+-include depend
-
- $(PROGNAME): $(SOURCES:.cpp=.o)
-- $(CXX) -ggdb -o $(PROGNAME) $(SOURCES:.cpp=.o) $(LDFLAGS) -lboost_program_options
-+ $(CXX) ${CXXFLAGS} -o $(PROGNAME) $(SOURCES:.cpp=.o) $(LDFLAGS) -lboost_program_options
-
- clean:
- rm -f $(SOURCES:.cpp=.o) $(PROGNAME)
diff --git a/games-puzzle/bastet/files/bastet-0.43.2-Makefile.patch b/games-puzzle/bastet/files/bastet-0.43.2-Makefile.patch
new file mode 100644
index 000000000000..d3cac50adc2b
--- /dev/null
+++ b/games-puzzle/bastet/files/bastet-0.43.2-Makefile.patch
@@ -0,0 +1,33 @@
+--- bastet-0.43.2/Makefile
++++ bastet-0.43.2/Makefile
+@@ -2,8 +2,10 @@
+ MAIN=main.cpp
+ TESTS=Test.cpp
+ PROGNAME=bastet
++PKG_CONFIG?=pkg-config
+ BOOST_PO?=-lboost_program_options
+-LDFLAGS+=-lncurses $(BOOST_PO)
++NCURSES_LIBS=$(shell $(PKG_CONFIG) --libs ncurses)
++LIBS=$(NCURSES_LIBS) $(BOOST_PO)
+ #CXXFLAGS+=-ggdb -Wall
+ CXXFLAGS+=-DNDEBUG -Wall
+ #CXXFLAGS+=-pg
+@@ -12,15 +14,15 @@
+ all: $(PROGNAME) $(TESTS:.cpp=)
+
+ Test: $(SOURCES:.cpp=.o) $(TESTS:.cpp=.o)
+- $(CXX) -ggdb -o $(TESTS:.cpp=) $(SOURCES:.cpp=.o) $(TESTS:.cpp=.o) $(LDFLAGS)
++ $(CXX) $(CXXFLAGS) -o $(TESTS:.cpp=) $(SOURCES:.cpp=.o) $(TESTS:.cpp=.o) $(LDFLAGS) $(LIBS)
+
+ depend: *.hpp $(SOURCES) $(MAIN) $(TESTS)
+ $(CXX) -MM $(SOURCES) $(MAIN) $(TESTS)> depend
+
+-include depend
++-include depend
+
+ $(PROGNAME): $(SOURCES:.cpp=.o) $(MAIN:.cpp=.o)
+- $(CXX) -ggdb -o $(PROGNAME) $(SOURCES:.cpp=.o) $(MAIN:.cpp=.o) $(LDFLAGS)
++ $(CXX) $(CXXFLAGS) -o $(PROGNAME) $(SOURCES:.cpp=.o) $(MAIN:.cpp=.o) $(LDFLAGS) $(LIBS)
+
+ clean:
+ rm -f $(SOURCES:.cpp=.o) $(TESTS:.cpp=.o) $(MAIN:.cpp=.o) $(PROGNAME)
diff --git a/games-puzzle/bastet/files/bastet-0.43.2-boost_include.patch b/games-puzzle/bastet/files/bastet-0.43.2-boost_include.patch
new file mode 100644
index 000000000000..d1c8d5774cc0
--- /dev/null
+++ b/games-puzzle/bastet/files/bastet-0.43.2-boost_include.patch
@@ -0,0 +1,33 @@
+From 0e03f8d4d6bc6949cf1c447e632ce0d1b98c4be1 Mon Sep 17 00:00:00 2001
+From: Federico Poloni <fpoloni@di.unipi.it>
+Date: Wed, 4 Oct 2017 19:35:01 +0200
+Subject: [PATCH] Changed source of unordered_set (should hopefully fix #6
+ without reopening #1)
+
+---
+ BastetBlockChooser.hpp | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/BastetBlockChooser.hpp b/BastetBlockChooser.hpp
+index 992e556..7ee3b7c 100644
+--- a/BastetBlockChooser.hpp
++++ b/BastetBlockChooser.hpp
+@@ -23,8 +23,7 @@
+
+ #include "Well.hpp"
+
+-#include <boost/tr1/tr1/unordered_set>
+-#include <set>
++#include <boost/unordered_set.hpp>
+ #include <boost/functional/hash.hpp>
+
+ namespace Bastet{
+@@ -75,7 +74,7 @@ namespace Bastet{
+ public:
+ Searcher(BlockType b, const Well *well, Vertex v, WellVisitor *visitor);
+ private:
+- std::tr1::unordered_set<Vertex> _visited;
++ boost::unordered_set<Vertex> _visited;
+ //std::set<Vertex> _visited; ^^ the above is more efficient, we need to do many inserts
+ BlockType _block;
+ const Well *_well;
diff --git a/games-puzzle/pingus/Manifest b/games-puzzle/pingus/Manifest
index 7b9cd8bb1b49..531ce03cbd4b 100644
--- a/games-puzzle/pingus/Manifest
+++ b/games-puzzle/pingus/Manifest
@@ -1,7 +1,11 @@
+AUX pingus-0.7.6-boost_signals2.patch 12316 BLAKE2B 31fef66bd3717ca69c03fc328b0ec9a0ff7595a4395913a37db456a849983464340918f3dc6ee6a7ed46a85355c305fd036426385dde0aa3fcf9be5a47db9086 SHA512 1663a152877e8e76e6540da543c38a2694bf60508e804cb136aeff8f90bf2eab457471a9428db70b86bdc7425becffeed8efb140a4ee2dfebcd8db47220a2714
AUX pingus-0.7.6-echo-e.patch 489 BLAKE2B 4268205c1c12bc5e8d4a4fb44b49b15b460763a10056a0720b28c25e76a23a0fa8568ca8163195f6ab531084fdd25c53c78d6caf8e7301123621cff58f39e10c SHA512 eb9f2859dcd68b2c1158499435a4742062069cb148e6658396c36fed6b1bba7589d9fbace40c25052e6d42a2b05cdca49561be45053dd9716ee9d9f41a5ab612
AUX pingus-0.7.6-gcc47.patch 1096 BLAKE2B 8e7a56634eb69cc1c0797a2fa020b30e0eecf0e2ea7c00a0738915a92fd3dd4b5f51fe6dac3f7bd0cb84fea72f68f9e8edbac398b4d067dd7be2ff76560bb7be SHA512 7be7935ad664cde7c78d4363eef7391783ea868f096fc9dd03ce3e3eaaab69a839da5cb569449c106eae1779c41d9850f1a5683542bea4bf5cb98570f9d18e7d
AUX pingus-0.7.6-gcc7.patch 675 BLAKE2B 76172b7151e30e800ab2210684a02605810b0f15b972ad6942b65c5c333f5f29e6ace7dd37a9d7541468906a2864925df5a899c5c98a6404b65dbfa802a9f5b7 SHA512 7e7fc8d7b23453b33899452d9ee19a134fe7ab1326a2560698624dc686de98108baeb026401704c06dd262c69542499b0cc3727c57d47f924f3a4020ff386027
AUX pingus-0.7.6-noopengl.patch 315 BLAKE2B 49d2f078506c38d7da57847c6189bf0f9fd0b8a87e80b16fb848f52e37a466111be753f68dc9bf889c66d4ad9a4fea8495fe73b860001d644f2dbb0091b319fe SHA512 f375591892ddecea0659f94ab3d4fc6744625b546fdbc6d80524c25d8ee494163a9b4a90671eed9e7fa2724a1fd91ccde2e80b8ba097c21aa76e0e9fb7e6f4a0
+AUX pingus-9999-no_libexec.patch 895 BLAKE2B 2cdbf1faffe66c4b6a9fe3518cbecbfce292995cc08f28ef4929a72d1df00a4f937a0c270d932ab724946986104f59a00af58676496950a429d14b1436386f39 SHA512 91bdecf06f47dca2ff3c019b6bafdbdba560ac05c49389b1fd9d59ab89f20b7251c3cfea62857b6f6de4720a2cba405e1c7bb8df5b36c76b2e2c0bf36fc7a5e4
DIST pingus-0.7.6.tar.bz2 12622268 BLAKE2B 5ea1bbea7191919897bdedcda06f956d9b6cc0cda2ab11e475ef497ef8ba0c0de5a739ac334e2a5c9a0c138e6bfc44a23363dc59d3e4cfaea2b5388bbe57cc85 SHA512 6c8c2ace1a9229b4e3b506aee76aa94c0dd906a64fa2c817902c2cd3854df390cf675c8c6ddd3ba1926a467348b2103818bd44bc095378cc7bf3f2ff7af27188
EBUILD pingus-0.7.6-r1.ebuild 1253 BLAKE2B 919c9b7804a82de227d068eab374816e85162180d34f3e979e2e5f4d96146d5ad0f97487d71ecee65fd81c13f846ab92acd9a1da7135d2e44d18d511fe1f5bf8 SHA512 5108028d928f683cb4ea2d612f7b3078798a88aff38570f9ff73344771580d2b21f0a2c8352054593d15fa01c8af07e756fb8808750f2e9f569458f98423656a
+EBUILD pingus-0.7.6-r2.ebuild 1291 BLAKE2B 1b5289f4ad87dd695fb0dcf14decdcf3362849bddade4b1163bb0153a1a6cb56cf64a94d9c13b1143dc2007be3b3c40ee7f0059439ba94f336cade955159149e SHA512 ead53dde486252dfcd2fc59e49b9694f186982b2e415453f5d00272c639267b10d211cebd4b0acc9e5de2eaeaed5a4b633f1b46f0c75c71c65d27e8e61c6923a
+EBUILD pingus-9999.ebuild 1037 BLAKE2B 2d8d544b06df2ba894cdc04a2eef9a4fe22f1e7cb937cb5a111fcc9cd71b214d7303849178241671e8293475e53ddfa8ab4f97e8d4b7543ce939bc438f2eb72f SHA512 1f7fc762508c3d599c1a560f69397c617f552d76317cd6386b29bc1d6019023a7cec4e782b70199788e4f6bd1f7cb89d272e444e2406a5b2362cdedffc999980
MISC metadata.xml 1283 BLAKE2B 971b7c831e81413f71e70c7f66ef01b493296d33ff6bbb2997690b60c10eb1a4ffa29c47f335bbd4c57c178e35aef3d59586bbe06199bc50df34501f56b3be2d SHA512 04c0f4cb00f8b50e5f589d6bfa48389fb7fb2ff0ac2343c625f98383ec41ea77d63dbdc14d12325f3837e4961c544503f1a76a4298fa061458a71b1e198c8219
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/files/pingus-9999-no_libexec.patch b/games-puzzle/pingus/files/pingus-9999-no_libexec.patch
new file mode 100644
index 000000000000..45da29a42264
--- /dev/null
+++ b/games-puzzle/pingus/files/pingus-9999-no_libexec.patch
@@ -0,0 +1,33 @@
+From ef01ebf5401419a0e98dfe32efa9a0bc8564e26f Mon Sep 17 00:00:00 2001
+From: Lars Wendler <polynomial-c@gentoo.org>
+Date: Wed, 3 Apr 2019 18:35:28 +0200
+Subject: [PATCH] Don't install pingus executable into libexec
+
+This doesn't really make any sense.
+---
+ CMakeLists.txt | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f3a92be64..fa835236d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -213,15 +213,6 @@ if(BUILD_TESTS)
+ endif(BUILD_TESTS)
+
+ install(TARGETS pingus
+- RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR})
+-
+-configure_file(
+- ${CMAKE_CURRENT_SOURCE_DIR}/pingus.sh.in
+- ${CMAKE_BINARY_DIR}/pingus.sh)
+-
+-install(FILES
+- ${CMAKE_BINARY_DIR}/pingus.sh
+- RENAME pingus
+ PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
+ DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+--
+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
+}
diff --git a/games-puzzle/pingus/pingus-9999.ebuild b/games-puzzle/pingus/pingus-9999.ebuild
new file mode 100644
index 000000000000..545884819804
--- /dev/null
+++ b/games-puzzle/pingus/pingus-9999.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit cmake-utils toolchain-funcs flag-o-matic xdg-utils
+
+DESCRIPTION="free Lemmings clone"
+HOMEPAGE="http://pingus.gitlab.io/"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gitlab.com/pingus/pingus.git"
+else
+ SRC_URI="https://github.com/Pingus/pingus/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+LICENSE="GPL-3"
+SLOT="0"
+IUSE=""
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/jsoncpp
+ media-libs/libpng:0=
+ media-libs/libsdl2[joystick,opengl,video]
+ media-libs/sdl2-image[png]
+ media-libs/sdl2-mixer[mod]
+ virtual/opengl
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.6-noopengl.patch
+ "${FILESDIR}"/${P}-no_libexec.patch
+)
+
+src_prepare() {
+ sed '/find_package(Boost/s@ signals@@' -i CMakeLists.txt || die
+ cmake-utils_src_prepare
+ strip-flags
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}