games-puzzle/pingus: Revbump to EAPI-6. Also fixing build with gcc7.
authorLars Wendler <polynomial-c@gentoo.org>
Tue, 19 Dec 2017 14:24:06 +0000 (15:24 +0100)
committerLars Wendler <polynomial-c@gentoo.org>
Tue, 19 Dec 2017 14:24:20 +0000 (15:24 +0100)
Package-Manager: Portage-2.3.19, Repoman-2.3.6

games-puzzle/pingus/files/pingus-0.7.6-gcc47.patch
games-puzzle/pingus/files/pingus-0.7.6-gcc7.patch [new file with mode: 0644]
games-puzzle/pingus/files/pingus-0.7.6-noopengl.patch
games-puzzle/pingus/pingus-0.7.6-r1.ebuild [new file with mode: 0644]

index b1397da31f687e034842c7eb217c3ff2ee148119..3c1cac5589e44d5a48b219ce2f5ee894c7397f35 100644 (file)
@@ -1,5 +1,5 @@
---- src/pingus/pingus_main.cpp.orig    2012-07-08 14:02:40.343767438 +0200
-+++ src/pingus/pingus_main.cpp 2012-07-08 14:02:54.062768168 +0200
+--- a/src/pingus/pingus_main.cpp
++++ b/src/pingus/pingus_main.cpp
 @@ -465,7 +465,7 @@
  void
  PingusMain::print_greeting_message()
@@ -9,8 +9,8 @@
    greeting += "!";
    std::cout <<  greeting << std::endl;
    for (unsigned int i = 0; i < greeting.length(); ++i)
---- src/pingus/screens/pingus_menu.cpp.orig    2012-07-08 14:03:05.549768782 +0200
-+++ src/pingus/screens/pingus_menu.cpp 2012-07-08 14:03:17.015769393 +0200
+--- a/src/pingus/screens/pingus_menu.cpp
++++ b/src/pingus/screens/pingus_menu.cpp
 @@ -153,7 +153,7 @@
                           gc.get_height()/2 - 280));
  
diff --git a/games-puzzle/pingus/files/pingus-0.7.6-gcc7.patch b/games-puzzle/pingus/files/pingus-0.7.6-gcc7.patch
new file mode 100644 (file)
index 0000000..bf04ccd
--- /dev/null
@@ -0,0 +1,21 @@
+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"
index e474ef7376e522365f20a686e979118552b3fb83..6d1af794b0321f65a97daef3c33c6cddf4bff03a 100644 (file)
@@ -1,5 +1,5 @@
---- src/engine/display/display.cpp.orig        2012-06-30 00:30:13.043995049 -0400
-+++ src/engine/display/display.cpp     2012-06-30 00:30:28.194501544 -0400
+--- a/src/engine/display/display.cpp
++++ b/src/engine/display/display.cpp
 @@ -28,6 +28,7 @@
  #include "engine/display/delta/delta_framebuffer.hpp"
  #include "engine/display/null_framebuffer.hpp"
diff --git a/games-puzzle/pingus/pingus-0.7.6-r1.ebuild b/games-puzzle/pingus/pingus-0.7.6-r1.ebuild
new file mode 100644 (file)
index 0000000..968fa1f
--- /dev/null
@@ -0,0 +1,62 @@
+# Copyright 1999-2017 Gentoo Foundation
+# 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="http://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
+)
+
+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
+}