games-strategy/scorched3d: Fix building with GCC 6
authorDavid Seifert <soap@gentoo.org>
Mon, 19 Dec 2016 11:11:21 +0000 (12:11 +0100)
committerDavid Seifert <soap@gentoo.org>
Mon, 19 Dec 2016 11:15:01 +0000 (12:15 +0100)
Gentoo-bug: 601890
* EAPI=6
* Remove games.eclass
* Make PATCHES -p1 compliant

Package-Manager: Portage-2.3.3, Repoman-2.3.1

games-strategy/scorched3d/files/scorched3d-44-fix-c++14.patch [new file with mode: 0644]
games-strategy/scorched3d/files/scorched3d-44-freetype.patch
games-strategy/scorched3d/files/scorched3d-44-jpeg9.patch
games-strategy/scorched3d/files/scorched3d-44-wxgtk.patch
games-strategy/scorched3d/scorched3d-44-r2.ebuild [new file with mode: 0644]

diff --git a/games-strategy/scorched3d/files/scorched3d-44-fix-c++14.patch b/games-strategy/scorched3d/files/scorched3d-44-fix-c++14.patch
new file mode 100644 (file)
index 0000000..e3cba27
--- /dev/null
@@ -0,0 +1,14 @@
+In C++14, bool -> T* implicit conversions are not allowed anymore.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=601890
+
+--- a/src/common/weapons/AccessoryStore.cpp
++++ b/src/common/weapons/AccessoryStore.cpp
+@@ -156,7 +156,7 @@
+       Accessory *parent, XMLNode *currentNode)\r
+ {\r
+       XMLNode *typeNode = 0;\r
+-      if (!currentNode->getNamedParameter("type", typeNode)) return false;\r
++      if (!currentNode->getNamedParameter("type", typeNode)) return NULL;\r
\r
+       AccessoryPart *accessoryPart = \r
+               AccessoryMetaRegistration::getNewAccessory(typeNode->getContent(), this);\r
index 93c8ca358b31ec08c46980a522e23399dcd6aaa1..e4717972d81a914ae16bfeb761d83a7611c2249b 100644 (file)
@@ -1,5 +1,5 @@
---- acinclude.m4.orig
-+++ acinclude.m4
+--- a/acinclude.m4
++++ b/acinclude.m4
 @@ -437,7 +437,7 @@
     if test "$FT2_CONFIG" = "no" ; then
       no_ft=yes
@@ -9,8 +9,8 @@
       FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs`
       ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \
         sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
---- src.orig/client/GLEXT/GLFont2dFreeType.h
-+++ src/client/GLEXT/GLFont2dFreeType.h
+--- a/src/client/GLEXT/GLFont2dFreeType.h
++++ b/src/client/GLEXT/GLFont2dFreeType.h
 @@ -23,10 +23,10 @@
  \r
  #include <GLEXT/GLFont2dStorage.h>\r
@@ -26,8 +26,8 @@
  #include <string>\r
  \r
  class GLFont2dFreeType\r
---- src.orig/launcher/wxdialogs/TrueTypeFont.h
-+++ src/launcher/wxdialogs/TrueTypeFont.h
+--- a/src/launcher/wxdialogs/TrueTypeFont.h
++++ b/src/launcher/wxdialogs/TrueTypeFont.h
 @@ -25,10 +25,10 @@
  #include <wx/image.h>\r
  #include <ft2build.h>\r
index 8255dd33f5d3e160d71d741f4c44e663d3dad491..1cebf3ebd7bc8230998d678a6f177f56fc0a7279 100644 (file)
@@ -1,5 +1,5 @@
---- src/common/image/ImageJpgFactory.cpp.old   2014-12-03 09:52:03.306552513 +0100
-+++ src/common/image/ImageJpgFactory.cpp       2014-12-03 09:53:22.117786304 +0100
+--- a/src/common/image/ImageJpgFactory.cpp.old 2014-12-03 09:52:03.306552513 +0100
++++ b/src/common/image/ImageJpgFactory.cpp     2014-12-03 09:53:22.117786304 +0100
 @@ -79,7 +79,7 @@
        src->next_input_byte = FakeEOI;\r
        src->bytes_in_buffer = 2;\r
index ef2e27a6d2557c66ff383ee05538881e027d5966..ee8b97554656dfef985561593d197a513e850809 100644 (file)
@@ -2,8 +2,8 @@ Description: Fix to build with wxWidgets 3.0
 Author: Olly Betts <olly@survex.com>
 Last-Update: 2014-05-01
 
---- src/launcher/wxdialogs/Display.cpp
-+++ src/launcher/wxdialogs/Display.cpp
+--- a/src/launcher/wxdialogs/Display.cpp
++++ b/src/launcher/wxdialogs/Display.cpp
 @@ -26,7 +26,7 @@
        // Display settings
        wxStaticBox *displayBox = new wxStaticBox(parent, -1, wxT("&Display"));
@@ -49,8 +49,8 @@ Last-Update: 2014-05-01
        
        keyboardKeyList.clear();
        if (!Keyboard::instance()->loadKeyFile())
---- src/launcher/wxdialogs/SettingsDialog.cpp
-+++ src/launcher/wxdialogs/SettingsDialog.cpp
+--- a/src/launcher/wxdialogs/SettingsDialog.cpp
++++ b/src/launcher/wxdialogs/SettingsDialog.cpp
 @@ -105,7 +105,7 @@
        mainPanel_ = new wxPanel(book_, -1);
        book_->AddPage(mainPanel_, wxT("Main"));
@@ -114,8 +114,8 @@ Last-Update: 2014-05-01
        playersPanelSizer->Add(sizer, 0, wxALL | wxALIGN_CENTER, 10);
  
        for (int i=0; i<24; i++)
---- src/launcher/wxdialogs/DisplayDialog.cpp
-+++ src/launcher/wxdialogs/DisplayDialog.cpp
+--- a/src/launcher/wxdialogs/DisplayDialog.cpp
++++ b/src/launcher/wxdialogs/DisplayDialog.cpp
 @@ -449,15 +449,15 @@
        IDC_SLIDER1_CTRL->SetValue(OptionsDisplay::instance()->getBrightness());
        IDC_SLIDER1_CTRL->SetToolTip(wxString(OptionsDisplay::instance()->getBrightnessEntry().getDescription(), wxConvUTF8));
diff --git a/games-strategy/scorched3d/scorched3d-44-r2.ebuild b/games-strategy/scorched3d/scorched3d-44-r2.ebuild
new file mode 100644 (file)
index 0000000..2469bcc
--- /dev/null
@@ -0,0 +1,97 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+WX_GTK_VER=3.0
+
+inherit autotools eutils wxwidgets
+
+DESCRIPTION="Multi-player tank battle in 3D (OpenGL)"
+HOMEPAGE="http://www.scorched3d.co.uk/"
+SRC_URI="mirror://sourceforge/scorched3d/Scorched3D-${PV}-src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="dedicated mysql"
+
+RDEPEND="
+       dev-libs/expat
+       media-fonts/dejavu
+       media-libs/libpng:0=
+       media-libs/libsdl[video]
+       media-libs/sdl-net
+       sys-libs/zlib
+       virtual/jpeg:0
+       !dedicated? (
+               virtual/opengl
+               virtual/glu
+               media-libs/glew:0=
+               media-libs/libogg
+               media-libs/libvorbis
+               media-libs/openal
+               media-libs/freealut
+               x11-libs/wxGTK:${WX_GTK_VER}[X]
+               media-libs/freetype:2
+               sci-libs/fftw:3.0=
+       )
+       mysql? ( virtual/mysql )"
+DEPEND="${RDEPEND}
+       !dedicated? ( virtual/pkgconfig )"
+
+S=${WORKDIR}/scorched
+
+PATCHES=(
+       "${FILESDIR}"/${P}-fixups.patch
+       "${FILESDIR}"/${P}-gcc43.patch
+       "${FILESDIR}"/${P}-odbc.patch
+       "${FILESDIR}"/${P}-win32.patch
+       "${FILESDIR}"/${P}-freetype.patch
+       "${FILESDIR}"/${P}-jpeg9.patch
+       "${FILESDIR}"/${P}-wxgtk.patch
+       "${FILESDIR}"/${P}-fix-c++14.patch
+)
+
+pkg_setup() {
+       setup-wxwidgets
+}
+
+src_prepare() {
+       edos2unix \
+               src/launcher/wxdialogs/SettingsDialog.cpp \
+               src/launcher/wxdialogs/DisplayDialog.cpp \
+               src/launcher/wxdialogs/Display.cpp \
+               src/launcher/wxdialogs/KeyDialog.cpp
+       default
+       eautoreconf
+}
+
+src_configure() {
+       econf \
+               --datadir="${EPREFIX}"/usr/share/${PN} \
+               --with-fftw="${EPREFIX}"/usr \
+               --with-ogg="${EPREFIX}"/usr \
+               --with-vorbis="${EPREFIX}"/usr \
+               --with-docdir="${EPREFIX}"/usr/share/doc/${PF} \
+               --with-wx-config="${WX_CONFIG}" \
+               --without-pgsql \
+               $(use_with mysql) \
+               $(use_enable dedicated serveronly)
+}
+
+src_install() {
+       default
+
+       # remove bundled fonts
+       rm "${ED%/}"/usr/share/${PN}/data/fonts/* || die
+       dosym /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/${PN}/data/fonts/dejavusans.ttf
+       dosym /usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttf /usr/share/${PN}/data/fonts/dejavusconbd.ttf
+       dosym /usr/share/fonts/dejavu/DejaVuSansMono-Bold.ttf /usr/share/${PN}/data/fonts/dejavusmobd.ttf
+
+       if ! use dedicated; then
+               newicon data/images/tank-old.bmp ${PN}.bmp
+               make_desktop_entry ${PN} "Scorched 3D" /usr/share/pixmaps/${PN}.bmp
+       fi
+}