games-strategy/freeorion: Fix boost-1.61 compat

Fixes bug 584354, thanks Markus Oehme

Package-Manager: portage-2.3.0
This commit is contained in:
Thomas Kahle
2016-08-21 18:04:56 +02:00
parent 8c0f6d8eb8
commit 4bb0ba67db
2 changed files with 238 additions and 0 deletions

View File

@@ -0,0 +1,137 @@
From 0a0bfecac11ec376263815f559e4b1b33ff6b4c3 Mon Sep 17 00:00:00 2001
From: "Markus (root)" <mo@wurzel.org>
Date: Thu, 21 Jul 2016 21:15:20 +0200
Subject: [PATCH] Make destructors public
---
universe/Building.h | 2 +-
universe/Field.h | 2 +-
universe/Fleet.h | 2 +-
universe/Planet.h | 2 +-
universe/Ship.h | 2 +-
universe/System.h | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/universe/Building.h b/universe/Building.h
index 2cb59b0..dec0080 100644
--- a/universe/Building.h
+++ b/universe/Building.h
@@ -52,6 +52,7 @@ public:
virtual void ResetTargetMaxUnpairedMeters();
//@}
+ ~Building() {}
protected:
friend class Universe;
@@ -68,7 +69,6 @@ protected:
template <class T> friend void boost::python::detail::value_destroyer<false>::execute(T const volatile* p);
template <class T> friend void boost::checked_delete(T* x);
- ~Building() {}
virtual Building* Clone(int empire_id = ALL_EMPIRES) const; ///< returns new copy of this Building
//@}
diff --git a/universe/Field.h b/universe/Field.h
index 5b30bb3..f193710 100644
--- a/universe/Field.h
+++ b/universe/Field.h
@@ -39,6 +39,7 @@ public:
virtual void ResetTargetMaxUnpairedMeters();
//@}
+ ~Field() {}
protected:
friend class Universe;
@@ -48,7 +49,6 @@ protected:
template <class T> friend void boost::python::detail::value_destroyer<false>::execute(T const volatile* p);
template <class T> friend void boost::checked_delete(T* x);
- ~Field() {}
virtual Field* Clone(int empire_id = ALL_EMPIRES) const; ///< returns new copy of this Field
//@}
diff --git a/universe/Fleet.h b/universe/Fleet.h
index f133af0..ac602ac 100644
--- a/universe/Fleet.h
+++ b/universe/Fleet.h
@@ -129,6 +129,7 @@ public:
static const int ETA_NEVER; ///< returned by ETA when fleet can't reach destination due to lack of route or inability to move
static const int ETA_UNKNOWN; ///< returned when ETA can't be determined
static const int ETA_OUT_OF_RANGE; ///< returned by ETA when fleet can't reach destination due to insufficient fuel capacity and lack of fleet resupply on route
+ ~Fleet() {}
protected:
friend class Universe;
@@ -150,7 +151,6 @@ protected:
template <class T> friend void boost::python::detail::value_destroyer<false>::execute(T const volatile* p);
template <class T> friend void boost::checked_delete(T* x);
- ~Fleet() {}
virtual Fleet* Clone(int empire_id = ALL_EMPIRES) const; ///< returns new copy of this Fleet
//@}
diff --git a/universe/Planet.h b/universe/Planet.h
index cece39a..233d31f 100644
--- a/universe/Planet.h
+++ b/universe/Planet.h
@@ -176,6 +176,7 @@ public:
//@}
static int TypeDifference(PlanetType type1, PlanetType type2);
+ ~Planet() {}
protected:
friend class Universe;
@@ -187,7 +188,6 @@ protected:
template <class T> friend void boost::python::detail::value_destroyer<false>::execute(T const volatile* p);
template <class T> friend void boost::checked_delete(T* x);
- ~Planet() {}
virtual Planet* Clone(int empire_id = ALL_EMPIRES) const; ///< returns new copy of this Planet
//@}
diff --git a/universe/Ship.h b/universe/Ship.h
index 5e9eabb..76fac51 100644
--- a/universe/Ship.h
+++ b/universe/Ship.h
@@ -86,6 +86,7 @@ public:
virtual void ResetTargetMaxUnpairedMeters();
//@}
+ ~Ship() {}
protected:
friend class Universe;
@@ -96,7 +97,6 @@ protected:
template <class T> friend void boost::python::detail::value_destroyer<false>::execute(T const volatile* p);
template <class T> friend void boost::checked_delete(T* x);
- ~Ship() {}
virtual Ship* Clone(int empire_id = ALL_EMPIRES) const; ///< returns new copy of this Ship
//@}
diff --git a/universe/System.h b/universe/System.h
index c92fed4..471c27e 100644
--- a/universe/System.h
+++ b/universe/System.h
@@ -110,6 +110,7 @@ public:
virtual void ResetTargetMaxUnpairedMeters();
//@}
+ ~System() {}
protected:
friend class Universe;
@@ -133,7 +134,6 @@ protected:
template <class T> friend void boost::python::detail::value_destroyer<false>::execute(T const volatile* p);
template <class T> friend void boost::checked_delete(T* x);
- ~System() {}
virtual System* Clone(int empire_id = ALL_EMPIRES) const; ///< returns new copy of this System
//@}
--
2.9.2

View File

@@ -0,0 +1,101 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python2_7 )
inherit cmake-utils python-any-r1 games
DESCRIPTION="A free turn-based space empire and galactic conquest game"
HOMEPAGE="http://www.freeorion.org"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/FreeOrion_v0.4.5_2015-09-01.f203162_Source.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1 CC-BY-SA-3.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="cg"
# Needs it's own version of GG(dev-games/gigi) which it ships.
# The split version dev-games/gigi is not used anymore as of 0.4.3
RDEPEND="
!dev-games/gigi
media-libs/libsdl2
>=dev-libs/boost-1.47[python]
media-libs/freealut
media-libs/libogg
media-libs/libsdl[X,opengl,video]
media-libs/libvorbis
media-libs/openal
sci-physics/bullet
sys-libs/zlib
virtual/opengl"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
virtual/pkgconfig"
CMAKE_USE_DIR="${S}"
CMAKE_VERBOSE="1"
pkg_setup() {
# build system is using FindPythonLibs.cmake which needs python:2
python-any-r1_pkg_setup
games_pkg_setup
}
src_unpack() {
default
mv src-tarball "${P}" || die
}
src_prepare() {
# parse subdir sets -O3
sed -e "s:-O3::" -i parse/CMakeLists.txt
epatch "${FILESDIR}/${P}-boost-1.61.patch"
# For snapshots, the following can be used to the set revision
# for display in game -- update on bump!
# sed -i -e 's/???/8051/' CMakeLists.txt
}
src_configure() {
local mycmakeargs=(
-DRELEASE_COMPILE_FLAGS=""
-DCMAKE_SKIP_RPATH=ON
)
append-cppflags -DBOOST_OPTIONAL_CONFIG_USE_OLD_IMPLEMENTATION_OF_OPTIONAL
cmake-utils_src_configure
}
src_compile() {
cmake-utils_src_compile
}
src_install() {
# data files
rm "${CMAKE_USE_DIR}"/default/COPYING || die
insinto "${GAMES_DATADIR}"/${PN}
doins -r "${CMAKE_USE_DIR}"/default || die
# bin
dogamesbin "${CMAKE_BUILD_DIR}"/${PN}{ca,d} || die
newgamesbin "${CMAKE_BUILD_DIR}"/${PN} ${PN}.bin || die
games_make_wrapper ${PN} \
"${GAMES_BINDIR}/${PN}.bin --resource-dir ${GAMES_DATADIR}/${PN}/default" \
"${GAMES_DATADIR}/${PN}"
# lib
dogameslib "${CMAKE_BUILD_DIR}"/libfreeorion{common,parse}.so || die
dogameslib "${CMAKE_BUILD_DIR}"/libGiGi*.so || die
# other
dodoc "${CMAKE_USE_DIR}"/changelog.txt || die
newicon "${CMAKE_USE_DIR}"/default/data/art/icons/FO_Icon_32x32.png \
${PN}.png || die
make_desktop_entry ${PN} ${PN} ${PN}
# permissions
prepgamesdirs
}