summaryrefslogtreecommitdiff
path: root/games-strategy/megaglest
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /games-strategy/megaglest
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'games-strategy/megaglest')
-rw-r--r--games-strategy/megaglest/Manifest6
-rw-r--r--games-strategy/megaglest/files/megaglest-3.11.1-cmake.patch28
-rw-r--r--games-strategy/megaglest/files/megaglest-3.11.1-miniupnpc.patch21
-rw-r--r--games-strategy/megaglest/files/megaglest-3.11.1-static-build.patch63
-rw-r--r--games-strategy/megaglest/megaglest-3.11.1-r1.ebuild164
-rw-r--r--games-strategy/megaglest/metadata.xml34
6 files changed, 316 insertions, 0 deletions
diff --git a/games-strategy/megaglest/Manifest b/games-strategy/megaglest/Manifest
new file mode 100644
index 000000000000..dc77bd19f530
--- /dev/null
+++ b/games-strategy/megaglest/Manifest
@@ -0,0 +1,6 @@
+AUX megaglest-3.11.1-cmake.patch 897 BLAKE2B 3076a11cbb18263aabfabdaadb4e201d26b7db6e55e32278c0f37ebd938ae8a41cccb906bcf30ff99a32f6ecb35d77512fd3904610443847d1e3bb3212122902 SHA512 f49580a2b87fbc1e9aa3bec7313bdff36f78404aa97ac9f0cef790202c7d92439ad3fd8a9bdc991540048adb771e22f36c946f44a967cacae5157ef98b41c6cc
+AUX megaglest-3.11.1-miniupnpc.patch 1299 BLAKE2B e56123ca017cf7b244c449e7b77385d9adc5066873e2ff220eed0344752405019abb13a7dfd0ade027dedd7064e65cf4d6e0509b44986aa5692d7af73b701f7f SHA512 62bf0ff8fa167cecae9f7bf65e5295d609afcdb9fdcb3bf502366eb775fa8d3d39c12001d320a9dc42e12075004c86b7d118eb517d6a57473e03aa26944f8bd4
+AUX megaglest-3.11.1-static-build.patch 1939 BLAKE2B 6d71cdc521f3bcf519a3f98bee00bf45951c26f895c3fe74cd03f3ea74c7a28f370726e82385ce6e6af46a81fa77999b28ae266bdbb8b34cf9d1a5e66abb8bef SHA512 c83c8ed2700cd951516d497ac2a2cadbbb9fe56634e368a252ea7186266ada0bb744edb05fc2d8f1483a5f968854e46606f54926b50677cf424503b6c496dee5
+DIST megaglest-source-3.11.1.tar.xz 2863180 BLAKE2B 01923ad4b29cc7042f0a26ba44a6a023020cbe2071b26b40c3332d763430dd559eb9eb7041182e154a0f1832866c759e08f21a677fcb5f2dba134127b0624b30 SHA512 9e1d8eccff1889199ff0e4b0f1cc3d0193306cd9271a2c98f12a49d61a09789d0813d5f3dadfe7701d2446976992834c63287f0227d660dc9cc9d2ecef65e225
+EBUILD megaglest-3.11.1-r1.ebuild 4505 BLAKE2B 4740e92ac4cc3159ee3e52500a089cad5ebfa530196989737711bdd0fbd86a6fcede17a59190f02450a3b834f502f8b3f263af0325c1ad0d47c091a2dce7735e SHA512 7df2fe631b17a88fead0cd758bcbd8cc7b4f94bf5f5cd4bc541ab527d204c3e769929e573c4ee586a614ff4ccc90ca99cf1bccc73a7b512c7fe119ee93455a87
+MISC metadata.xml 1649 BLAKE2B 92291055582673bdb4c067a42b6f6c599e205e9f8e98a00311d603921a64ce94f2c7b58a2cfbb0b0c9cd7214fd9f3aab3f6d4f9464b77133287638d743ec55a6 SHA512 65e705850828566bafc3b87638613574245039d91da5a39b7d79296c2eeb8701ef04c3bd520686c2dc73d65baa58f1ecb61ee2ce188204a5e704bf15261d34c3
diff --git a/games-strategy/megaglest/files/megaglest-3.11.1-cmake.patch b/games-strategy/megaglest/files/megaglest-3.11.1-cmake.patch
new file mode 100644
index 000000000000..527671246e98
--- /dev/null
+++ b/games-strategy/megaglest/files/megaglest-3.11.1-cmake.patch
@@ -0,0 +1,28 @@
+From e463986ba1f40210b40eff34c4aac727c7f2e571 Mon Sep 17 00:00:00 2001
+From: Michael Palimaka <kensington@gentoo.org>
+Date: Wed, 13 May 2015 04:22:45 +1000
+Subject: [PATCH] Fix build with >=cmake-3.2.
+
+The FindOpenGL module no longer pulls in X11 libraries.
+---
+ source/shared_lib/CMakeLists.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/source/shared_lib/CMakeLists.txt b/source/shared_lib/CMakeLists.txt
+index 3da563e..e5a06fc 100644
+--- a/source/shared_lib/CMakeLists.txt
++++ b/source/shared_lib/CMakeLists.txt
+@@ -95,6 +95,10 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST
+ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENGL_LIBRARY})
+ ENDIF()
+
++ IF(UNIX)
++ FIND_PACKAGE(X11 REQUIRED)
++ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${X11_LIBRARIES})
++ ENDIF()
+
+ IF(WANT_XERCES)
+ FIND_PACKAGE(XercesC REQUIRED)
+--
+2.3.6
+
diff --git a/games-strategy/megaglest/files/megaglest-3.11.1-miniupnpc.patch b/games-strategy/megaglest/files/megaglest-3.11.1-miniupnpc.patch
new file mode 100644
index 000000000000..112e734c6efb
--- /dev/null
+++ b/games-strategy/megaglest/files/megaglest-3.11.1-miniupnpc.patch
@@ -0,0 +1,21 @@
+diff --git a/source/shared_lib/sources/platform/posix/socket.cpp b/source/shared_lib/sources/platform/posix/socket.cpp
+index a5d4b92..cb8ceb4 100644
+--- a/source/shared_lib/sources/platform/posix/socket.cpp
++++ b/source/shared_lib/sources/platform/posix/socket.cpp
+@@ -2563,9 +2563,15 @@ int UPNP_Tools::upnp_init(void *param) {
+ const char *upnp_minissdpdsock = NULL;
+ int upnp_sameport = 0;
+ int upnp_ipv6 = 0;
++ unsigned char upnp_ttl = 2;
+ int upnp_error = 0;
+
+-#ifndef MINIUPNPC_VERSION_PRE1_6
++#if (MINIUPNPC_API_VERSION >= 14)
++ devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, upnp_ttl, &upnp_error);
++
++ if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"UPnP discover returned upnp_error = %d.\n",upnp_error);
++ if(SystemFlags::VERBOSE_MODE_ENABLED) printf("UPnP discover returned upnp_error = %d.\n",upnp_error);
++#elif (MINIUPNPC_API_VERSION >= 8)
+ devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, &upnp_error);
+
+ if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"UPnP discover returned upnp_error = %d.\n",upnp_error);
diff --git a/games-strategy/megaglest/files/megaglest-3.11.1-static-build.patch b/games-strategy/megaglest/files/megaglest-3.11.1-static-build.patch
new file mode 100644
index 000000000000..2586a561956b
--- /dev/null
+++ b/games-strategy/megaglest/files/megaglest-3.11.1-static-build.patch
@@ -0,0 +1,63 @@
+commit 754a6eb9f81a4a40a2a0102ffe1bfdbba734b36a
+Author: hasufell <hasufell@gentoo.org>
+Date: Mon Nov 18 21:54:54 2013 +0100
+
+ fix static build
+
+diff --git a/mk/cmake/Modules/FindOGG.cmake b/mk/cmake/Modules/FindOGG.cmake
+index 2a026cc..8ca8a23 100644
+--- a/mk/cmake/Modules/FindOGG.cmake
++++ b/mk/cmake/Modules/FindOGG.cmake
+@@ -19,11 +19,11 @@
+
+ FIND_PATH(OGG_INCLUDE_DIR ogg/ogg.h)
+
+-#IF (OGG_STATIC AND NOT OGG_LIBRARY)
+-# FIND_LIBRARY(OGG_LIBRARY NAMES libogg.a ogg)
+-#ELSE()
+- FIND_LIBRARY(OGG_LIBRARY NAMES ogg)
+-#ENDIF()
++IF (OGG_STATIC AND NOT OGG_LIBRARY)
++ FIND_LIBRARY(OGG_LIBRARY NAMES libogg.a)
++ELSE()
++ FIND_LIBRARY(OGG_LIBRARY NAMES libogg.so)
++ENDIF()
+
+ #IF (OGG_STATIC AND NOT VORBIS_LIBRARY)
+ # FIND_LIBRARY(VORBIS_LIBRARY NAMES libvorbis.a vorbis)
+--- a/mk/cmake/Modules/FindXercesC.cmake
++++ b/mk/cmake/Modules/FindXercesC.cmake
+@@ -83,6 +83,9 @@
+ /usr/lib
+ /usr/local/lib
+ )
++
++ FIND_LIBRARY(ICUUC_LIBRARY NAMES libicuuc.a)
++ FIND_LIBRARY(ICUDATA_LIBRARY NAMES libicudata.a)
+
+ IF (XERCESC_INCLUDE AND XERCESC_LIBRARY)
+ MESSAGE(STATUS "Found static Xerces-C lib [${XERCESC_LIBRARY}]")
+@@ -90,7 +93,7 @@
+
+ IF(UNIX AND NOT APPLE)
+ #SET(XERCESC_LIBRARY "-Bstatic ${XERCESC_LIBRARY} -Bdynamic -licuuc -licudata")
+- SET(XERCESC_LIBRARY "-Bstatic ${XERCESC_LIBRARY}")
++ SET(XERCESC_LIBRARY "-Bstatic ${XERCESC_LIBRARY} ${ICUUC_LIBRARY} ${ICUDATA_LIBRARY}")
+ ENDIF()
+ ENDIF()
+ ENDIF()
+--- a/mk/cmake/Modules/FindFriBiDi.cmake
++++ b/mk/cmake/Modules/FindFriBiDi.cmake
+@@ -28,9 +28,9 @@
+ SET(FRIBIDI_NAMES ${FRIBIDI_NAMES} fribidi libfribidi)
+
+ OPTION(WANT_STATIC_LIBS "builds as many static libs as possible" OFF)
+-IF(WANT_STATIC_LIBS)
+- SET(FRIBIDI_NAMES fribidi.a libfribidi.a ${FRIBIDI_NAMES})
+-ENDIF()
++#IF(WANT_STATIC_LIBS)
++# SET(FRIBIDI_NAMES fribidi.a libfribidi.a ${FRIBIDI_NAMES})
++#ENDIF()
+
+ MESSAGE(STATUS "** Searching for library names: [${FRIBIDI_NAMES}] ...")
+
diff --git a/games-strategy/megaglest/megaglest-3.11.1-r1.ebuild b/games-strategy/megaglest/megaglest-3.11.1-r1.ebuild
new file mode 100644
index 000000000000..ef99043c0a34
--- /dev/null
+++ b/games-strategy/megaglest/megaglest-3.11.1-r1.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# google-breakpad
+# TODO: fribidi, libvorbis static
+
+EAPI=5
+VIRTUALX_REQUIRED="manual"
+inherit eutils flag-o-matic cmake-utils virtualx wxwidgets gnome2-utils games
+
+DESCRIPTION="Cross-platform 3D realtime strategy game"
+HOMEPAGE="http://www.megaglest.org/"
+SRC_URI="https://github.com/MegaGlest/megaglest-source/releases/download/${PV}/megaglest-source-${PV}.tar.xz"
+
+LICENSE="GPL-3 BitstreamVera"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug +editor fribidi cpu_flags_x86_sse cpu_flags_x86_sse2 cpu_flags_x86_sse3 static +streflop +tools +unicode wxuniversal +model-viewer videos"
+
+RDEPEND="
+ ~games-strategy/${PN}-data-${PV}
+ >=dev-lang/lua-5.1:0
+ dev-libs/libxml2
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libsdl[X,sound,joystick,opengl,video]
+ media-libs/libvorbis
+ media-libs/openal
+ net-libs/gnutls
+ sys-libs/zlib
+ virtual/opengl
+ virtual/glu
+ x11-libs/libX11
+ x11-libs/libXext
+ editor? ( x11-libs/wxGTK:3.0[X,opengl] )
+ fribidi? ( dev-libs/fribidi )
+ model-viewer? ( x11-libs/wxGTK:3.0[X] )
+ !static? (
+ dev-libs/xerces-c[icu]
+ media-libs/ftgl
+ media-libs/glew
+ media-libs/libpng:0
+ net-libs/libircclient
+ >=net-libs/miniupnpc-1.8
+ net-misc/curl
+ virtual/jpeg:0
+ )
+ videos? ( media-video/vlc )"
+DEPEND="${RDEPEND}
+ sys-apps/help2man
+ virtual/pkgconfig
+ editor? ( ${VIRTUALX_DEPEND} )
+ model-viewer? ( ${VIRTUALX_DEPEND} )
+ static? (
+ dev-libs/icu[static-libs]
+ dev-libs/xerces-c[icu,static-libs]
+ media-libs/ftgl[static-libs]
+ media-libs/glew[static-libs]
+ media-libs/libpng:0[static-libs]
+ net-libs/libircclient[static-libs]
+ net-libs/miniupnpc[static-libs]
+ net-misc/curl[static-libs]
+ virtual/jpeg:0[static-libs]
+ )"
+
+src_prepare() {
+ if use editor || use model-viewer ; then
+ WX_GTK_VER="3.0"
+ need-wxwidgets unicode
+ fi
+
+ epatch "${FILESDIR}"/${P}-static-build.patch \
+ "${FILESDIR}"/${P}-cmake.patch \
+ "${FILESDIR}"/${P}-miniupnpc.patch
+}
+
+src_configure() {
+ if use cpu_flags_x86_sse3; then
+ SSE=3
+ elif use cpu_flags_x86_sse2; then
+ SSE=2
+ elif use cpu_flags_x86_sse; then
+ SSE=1
+ else
+ SSE=0
+ fi
+
+ local mycmakeargs=(
+ $(cmake-utils_use_enable fribidi FRIBIDI)
+ $(cmake-utils_use_build editor MEGAGLEST_MAP_EDITOR)
+ $(cmake-utils_use_build tools MEGAGLEST_MODEL_IMPORT_EXPORT_TOOLS)
+ $(cmake-utils_use_build model-viewer MEGAGLEST_MODEL_VIEWER)
+ $(cmake-utils_use_with videos VLC)
+ -DMAX_SSE_LEVEL_DESIRED="${SSE}"
+ -DMEGAGLEST_BIN_INSTALL_PATH="${GAMES_BINDIR}"
+ -DMEGAGLEST_DATA_INSTALL_PATH="${GAMES_DATADIR}/${PN}"
+ # icons are used at runtime, wrong default location share/pixmaps
+ -DMEGAGLEST_ICON_INSTALL_PATH="${GAMES_DATADIR}/${PN}"
+ -DUSE_FTGL=ON
+ $(cmake-utils_use_want static STATIC_LIBS)
+ $(cmake-utils_use_want streflop STREFLOP)
+ -DWANT_SVN_STAMP=off
+ $(cmake-utils_use static wxWidgets_USE_STATIC)
+ $(cmake-utils_use unicode wxWidgets_USE_UNICODE)
+ $(cmake-utils_use wxuniversal wxWidgets_USE_UNIVERSAL)
+
+ $(usex debug "-DBUILD_MEGAGLEST_UPNP_DEBUG=ON -DwxWidgets_USE_DEBUG=ON" "")
+ )
+
+ # support CMAKE_BUILD_TYPE=Gentoo
+ append-cppflags '-DCUSTOM_DATA_INSTALL_PATH=\\\"'${GAMES_DATADIR}/${PN}/'\\\"'
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ if use editor || use model-viewer; then
+ # work around parallel make issues - bug #561380
+ MAKEOPTS="-j1 ${MAKEOPTS}" \
+ VIRTUALX_COMMAND="cmake-utils_src_compile" virtualmake
+ else
+ cmake-utils_src_compile
+ fi
+}
+
+src_install() {
+ # rebuilds some targets randomly without fast option
+ emake -C "${CMAKE_BUILD_DIR}" DESTDIR="${D}" "$@" install/fast
+
+ dodoc docs/{AUTHORS.source_code,CHANGELOG,README}.txt
+ doicon -s 48 ${PN}.png
+
+ use editor &&
+ make_desktop_entry ${PN}_editor "MegaGlest Map Editor"
+ use model-viewer &&
+ make_desktop_entry ${PN}_g3dviewer "MegaGlest Model Viewer"
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ einfo
+ elog 'Note about Configuration:'
+ elog 'DO NOT directly edit glest.ini and glestkeys.ini but rather glestuser.ini'
+ elog 'and glestuserkeys.ini in ~/.megaglest/ and create your user over-ride'
+ elog 'values in these files.'
+ elog
+ elog 'If you have an older graphics card which only supports OpenGL 1.2, and the'
+ elog 'game crashes when you try to play, try starting with "megaglest --disable-vbo"'
+ elog 'Some graphics cards may require setting Max Lights to 1.'
+ einfo
+
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-strategy/megaglest/metadata.xml b/games-strategy/megaglest/metadata.xml
new file mode 100644
index 000000000000..192243d3ba3d
--- /dev/null
+++ b/games-strategy/megaglest/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <changelog>http://megaglest.svn.sourceforge.net/viewvc/megaglest/trunk/docs/CHANGELOG.txt?revision=3397</changelog>
+ <doc lang="en">http://glest.wikia.com/wiki/MG</doc>
+ <bugs-to>https://sourceforge.net/tracker/?group_id=300350&amp;atid=1266776</bugs-to>
+ <remote-id type="github">MegaGlest/megaglest-source</remote-id>
+ </upstream>
+ <use>
+ <flag name="editor">Build map editor</flag>
+ <flag name="fribidi">Enable FriBIDi support</flag>
+ <flag name="streflop">Use the library streflop. Out of synchs may
+ occur if not enabled.</flag>
+ <flag name="tools">Build model import/export tools</flag>
+ <flag name="unicode">Use unicode strings for wxwidgets</flag>
+ <flag name="wxuniversal">Use the wxUniversal port which implements
+ the various GUI controls by drawing them itself </flag>
+ <flag name="model-viewer">Build model viewer</flag>
+ </use>
+ <longdescription lang="en">
+ MegaGlest is an entertaining free (freeware and free software) and
+ open source cross-platform 3D real-time strategy (RTS) game, where
+ you control the armies of one of seven different factions: Tech,
+ Magic, Egyptians, Indians, Norsemen, Persian or Romans. The game is
+ setup in one of 17 naturally looking settings, which -like the unit
+ models- are crafted with great appreciation for detail. Additional
+ game data can be downloaded from within the game at no cost.
+ </longdescription>
+</pkgmetadata>