summaryrefslogtreecommitdiff
path: root/games-strategy/megaglest
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /games-strategy/megaglest
reinit the tree, so we can have metadata
Diffstat (limited to 'games-strategy/megaglest')
-rw-r--r--games-strategy/megaglest/Manifest8
-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, 318 insertions, 0 deletions
diff --git a/games-strategy/megaglest/Manifest b/games-strategy/megaglest/Manifest
new file mode 100644
index 000000000000..180a53561e02
--- /dev/null
+++ b/games-strategy/megaglest/Manifest
@@ -0,0 +1,8 @@
+AUX megaglest-3.11.1-cmake.patch 897 SHA256 9e1d077a849a0dc8edc7ce91f4b2519597f67859c7759b138ae5a4193748a8c2 SHA512 f49580a2b87fbc1e9aa3bec7313bdff36f78404aa97ac9f0cef790202c7d92439ad3fd8a9bdc991540048adb771e22f36c946f44a967cacae5157ef98b41c6cc WHIRLPOOL e2517d41f078cc869b4c060e7d86eefebfb3dd0281f7833c9ef69ce14124a41eca16e07f1240dc19cb55b8a7912ed3319a054450b9b9d26f4da225dcf337a487
+AUX megaglest-3.11.1-miniupnpc.patch 1299 SHA256 1daffdb26010bd2ad8d8cddb42dfd82d2126d64282aba2c75ea8add99f3171a9 SHA512 62bf0ff8fa167cecae9f7bf65e5295d609afcdb9fdcb3bf502366eb775fa8d3d39c12001d320a9dc42e12075004c86b7d118eb517d6a57473e03aa26944f8bd4 WHIRLPOOL 1a34b110b5c232b4f18128379beb417f7a7c0ffc33e4057f474c9a083edaef5c4ef37e1a501bb0bc52f09f02f52fe502981e124729f8ec6c94ec2dafebc7ba60
+AUX megaglest-3.11.1-static-build.patch 1939 SHA256 c34102f40497240a659540bbf4926e9b8ac02aec2e6202b94eb10e923a224e5f SHA512 c83c8ed2700cd951516d497ac2a2cadbbb9fe56634e368a252ea7186266ada0bb744edb05fc2d8f1483a5f968854e46606f54926b50677cf424503b6c496dee5 WHIRLPOOL f6df24ade01171ab5095b3b6b8034c92183fbc5df64154e393d20c2a2ebf87c5dd8736684402103d945c544c3c0009f7865d485ede205fcb0f2c439e868ca09c
+DIST megaglest-source-3.11.1.tar.xz 2863180 SHA256 94e28a9628f3593ce337ce663f258a125176b11128f16afb8c947f2763930841 SHA512 9e1d8eccff1889199ff0e4b0f1cc3d0193306cd9271a2c98f12a49d61a09789d0813d5f3dadfe7701d2446976992834c63287f0227d660dc9cc9d2ecef65e225 WHIRLPOOL 7a6b0908da7c6164f3baa71ea10c1f09fca86581b9da4930c3a0aa70e2c25d582349772d45ec8edee91ded2cbe1e68ee66e8756d1d23205c5d751eae135758b0
+EBUILD megaglest-3.11.1-r1.ebuild 4503 SHA256 d44279a9450fd6ec2c40a49fb1e6be47fe8b90682a3b4515392b0f966903e49b SHA512 334e9c02fc1b9d067487d9f7156357f047711e645c9843cd0ce6b54dffabeb274cb37b6482d9603e9df677efef093f540ac5ea069594406ac9047c3181743741 WHIRLPOOL f22a70db20529cacdd65acf1886e468097c12ff34bf9ba72ea6365db3a32d77dc0e6bd0a1bbadbb2a9b79ab86cd35ba58ddf065e1b594da20a475b5d39173261
+MISC ChangeLog 3908 SHA256 d53c6779fcd44b18e979bd2c547346c42c3ff81d6811458b9437ce9e5070dc2e SHA512 cf1396e1169895945d011f2340bb88415074c257dad574742125704a3f6b74d5acfd13b2ae71b44256df39340cf83e9e9185b74987c30ef4b5e9736098867ced WHIRLPOOL 43d38d0d3960f084668e0584eccbf9bd074a51affc43f0de0fa849a279fc47429c9ecee150115b36a61c47c4d33d8f229fb87abad0cd4e4deb944aecd9f17de5
+MISC ChangeLog-2015 5745 SHA256 22205bb89d945a5b00ff2e35826a3f318a0dfbb9c44f16c5132c0d32be78ed91 SHA512 bd91fc58f61076439d12e9a8fe5ba758de083f9dc165877bbe99550e1ec8e943c36c14569721ba72e27a5b8e899e3b28633f9b7b612385601c900826790231c2 WHIRLPOOL e645256ac9c10f6d18ebbc3b08480eb3dfcdc0820f889e1e3ec5e365d9ee04b07e26f66501e8f53169c08f267e214b7edd4766821997bed095647b4e8e3de591
+MISC metadata.xml 1649 SHA256 a5e7a7541ad93f2f04cf111b431b16671ae782b19693b11cf3f06099e33d580f SHA512 65e705850828566bafc3b87638613574245039d91da5a39b7d79296c2eeb8701ef04c3bd520686c2dc73d65baa58f1ecb61ee2ce188204a5e704bf15261d34c3 WHIRLPOOL 111a8f8f00e69e3e8a477b458801e6ba167633f62b6dd288ec2d308c049161c70cbe487073fda0ff064b4a514a5e2f2199030313dbc2b878ecdb0cbfcb532f2d
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..870c3e1b3566
--- /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>