From: Thomas Kahle Date: Mon, 12 Jan 2015 13:05:21 +0000 (+0000) Subject: bump, compatibility with ogre-1.9, make 0.4.3 depend on old ogre (bug #528480) X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=10fc9e3dd389bc3eb13f4945a6516f3471dc9146;p=gentoo.git bump, compatibility with ogre-1.9, make 0.4.3 depend on old ogre (bug #528480) Package-Manager: portage-2.2.14/cvs/Linux x86_64 Manifest-Sign-Key: 0x565C32BC --- diff --git a/games-strategy/freeorion/ChangeLog b/games-strategy/freeorion/ChangeLog index a48d3599d16e..2f37a0cad155 100644 --- a/games-strategy/freeorion/ChangeLog +++ b/games-strategy/freeorion/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for games-strategy/freeorion -# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/games-strategy/freeorion/ChangeLog,v 1.10 2013/10/07 08:08:35 tomka Exp $ +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/games-strategy/freeorion/ChangeLog,v 1.11 2015/01/12 13:05:17 tomka Exp $ + +*freeorion-0.4.4 (12 Jan 2015) + + 12 Jan 2015; Thomas Kahle +files/ogre-1.9-compat.patch, + +freeorion-0.4.4.ebuild, freeorion-0.4.3.ebuild: + bump, compatibility with ogre-1.9, make 0.4.3 depend on old ogre (bug #528480) 07 Oct 2013; Thomas Kahle freeorion-0.4.3.ebuild: fix insecure runpaths (bug 485510, thanks hasufell) diff --git a/games-strategy/freeorion/Manifest b/games-strategy/freeorion/Manifest index 4ebaf8c56fd1..ec94027bd37c 100644 --- a/games-strategy/freeorion/Manifest +++ b/games-strategy/freeorion/Manifest @@ -1,14 +1,17 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 +AUX ogre-1.9-compat.patch 22728 SHA256 76f7d07926c654f15144f73eb8f75df66655ea512c9e3d27047cc37d189a249a SHA512 68c2582d04b3a2b936f499ac8ed5af43c7cf9987e9269d2c6450c87e43dc501f8a2dafca403196e4a735e5ff401b3501165350b0c9e0ffe45968067951773db1 WHIRLPOOL ba34bdc3630f713c1497c9971894b5848bda0e5fa0c35370d2d46e39de64d924a9eb3e2005efe569140896e80a5a9abf5e90b45cc2331856387cb3a93c71d714 DIST freeorion-0.4.3.tar.bz2 171281552 SHA256 f0a61a42ba09ed2c8b453b734af7320582f8711913b741c5f9d86cad214bf7cf SHA512 87a73c97af14c0c81cfa19023aec410dd785988cab1edafb0e696305e6203fb431faddcc6ca2c4040e5ef0e8a228c2fda6ccf0f0ef93b47aa48ccd0758ecbe02 WHIRLPOOL 1761c2bf6d67fc93bb8e15b60c2dc23b1145e3d101fb1fde85996f94b83875a57d0c7e518e7b404a6d2098d6909feb8458b2630b6d6415c48fd6cc709165d9df -EBUILD freeorion-0.4.3.ebuild 3001 SHA256 70bcc0a7189fc7775538ed00a52d8ead29898c6c68327774a85a5f94350181d2 SHA512 16fc8e2d61082f13e9fdaf5f23d79a77c04225de0e96ccc251eb20a125b4968ff6c2b356a6d6d8a1fad1bebc47902ad6562c7f545202bddf2af539a841ed38c3 WHIRLPOOL 80c43b9f0667e00ddefbf6628ed8e12257a4b4409b6b54733c59cd55b5c366f3b15096352fb13b8ee9689343f088c97e3cc8fb93064b272b3b44c94d1714e3ad -MISC ChangeLog 2293 SHA256 c601fa59c9a6655365587ea01c990543e2bc0a33c547030dd601af7a910dd3bc SHA512 aa1261e3b149836c47639d6f1f9debed9ea84f391ee96cca48ec58a74b5e7cbfb77bb77bb97da106ea25e335fb043bda9b67157586c87594a3aad8e42d43ff3d WHIRLPOOL 09b8515e43ba6dadce82a7c6c0782b9cc8fb86dc5f3ae77d1127cd3a9b4485ad6783a6a2e200b4f200844c357f7f25d8752723ed161fbaeb9b096c214b8f7052 +DIST freeorion-0.4.4.tar.bz2 143462526 SHA256 0941242cb690ef00d9e2faec833b0a0ec2d593b97faba5af5866b738111c6203 SHA512 b2989c859af6c13a945b28b8f1344025230d71d0b0b7f0b46c4a3b2c88775b7fe3f88b7250233dab7a5887a0e6d7936da970647a7e056e97ea5f0fef08df6513 WHIRLPOOL 44b8a85b8300394a7b64991ce6d3399e089be6231f7eba1298bcd72009cc83fb49ffaaa6877ced00b275b64f1b63858c87270f6207f9b7c380c11b6a719916f6 +EBUILD freeorion-0.4.3.ebuild 3006 SHA256 4d2da53551158be6048e211f3fde77ce56053d3af5afc8f9aded92abc8ce9bea SHA512 3f0d13a0d7bddb076ba8fdaa821e7a30a56e0f6891300cb8b5aa37b1711728cdf40d454733baffe8454113c2d2cf1935c5ce382429becf6a02f140c7bb9d4175 WHIRLPOOL 5f06760038b91168c301bae2c63e24c08aa2cec569d565006cd071a365b25dd822a7fa6c7c8aa581b7d1495b4888a570c172bf18c237b4126d7f0351ef458250 +EBUILD freeorion-0.4.4.ebuild 3030 SHA256 b1723d5f791708199df07000bde431910be8ade29351409d7d9140e7257edddb SHA512 780da745fd3c1c5ee60be766aa68b3ef4fff860323c22df63bbd4eb117e0d83f5d5e80027b37e42e2ecf2ce16002c5dd9eff269428d6faba11f3f37a0ae1e6a5 WHIRLPOOL ebde842f2e88c3502540543407a8b2e747e77708dd2452bc2925c928dcfd3ba3544461f164fb13026e21947e5cfba99ae589fffc2746296d04e9ec29b5050e13 +MISC ChangeLog 2535 SHA256 739d310889bdef2201fec0130e2c52935f7412810fcbfe3f4365d82f901ad6a6 SHA512 c5858784f345a9eef713d1b2fa2a1d2263964efafd750122581964a95c13aa0abee9bcfc56c783a11666047b8a0dee2784a2aef4e47a7a34f60e64cd65f2d4c8 WHIRLPOOL 9fe6e59c9cb91370c0708330383d86b40da526d97de7bc5c3e7508a7b9438340414e9804c190db84a92c0c2032085aa8c4edbffeef558b454fe66088bfcbc6a8 MISC metadata.xml 657 SHA256 31922a4a89499c885b776d17fe427833212e76d80e78755fd202d252ee9120e4 SHA512 a00342cfa84144df06cc461da147a1211c79c6421a65dfe748e2c4ac30f4deab05eb96dc4843d2b6eb814e5df567adb3907e0e6ad0d4b2f4bf3cf387f92aff92 WHIRLPOOL aa131a7c6bcf66273a7c4d0a3a30a19bbbb135707b67359eb80a2a782b608dba169387dc479a1c72971310211ff75db0b41b9c98e50e2127251f6e088f8486ec -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.20 (GNU/Linux) +Version: GnuPG v2 -iF4EAREIAAYFAlJSbDUACgkQid6yGVZcMrzROwD+MiN+/NLvWC1qnuiwefGGlsRG -+CZROZ6SOZ5iWrJ+LYsBALZgSe83m2BEIScCmLzoRhzXQ3JYVxm3CmSbjRy+HLuV -=/6U+ +iF4EAREIAAYFAlSzxzAACgkQid6yGVZcMrxSMgD+Oa63ESIOcHEBOw9V0mnAUylQ +2pasoVBaKIo3ZDM50JMA/0HO5Ba8jF0YdFv070YQ6ymF1rgSINdW6rXmcZa5wgcN +=NEUv -----END PGP SIGNATURE----- diff --git a/games-strategy/freeorion/files/ogre-1.9-compat.patch b/games-strategy/freeorion/files/ogre-1.9-compat.patch new file mode 100644 index 000000000000..b943d8614823 --- /dev/null +++ b/games-strategy/freeorion/files/ogre-1.9-compat.patch @@ -0,0 +1,415 @@ +diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/include/BatchedGeometry.h freeorion-0.4.4/PagedGeometry/include/BatchedGeometry.h +--- freeorion-0.4.4-orig/PagedGeometry/include/BatchedGeometry.h 2015-01-12 13:16:19.480177578 +0100 ++++ freeorion-0.4.4/PagedGeometry/include/BatchedGeometry.h 2015-01-12 13:44:40.700200986 +0100 +@@ -88,7 +88,11 @@ + void setMaterialName(const Ogre::String &mat, const Ogre::String &rg = + Ogre::ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME) + { +- m_ptrMaterial = Ogre::MaterialManager::getSingleton().getByName(mat, rg); ++#if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ m_ptrMaterial = Ogre::MaterialManager::getSingleton().getByName(mat, rg); ++#else ++ m_ptrMaterial = Ogre::MaterialManager::getSingleton().getByName(mat, rg).staticCast(); ++#endif + } + + /// Get material name. Be careful, resource group name missing +diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/BatchedGeometry.cpp freeorion-0.4.4/PagedGeometry/source/BatchedGeometry.cpp +--- freeorion-0.4.4-orig/PagedGeometry/source/BatchedGeometry.cpp 2015-01-12 13:16:19.470177578 +0100 ++++ freeorion-0.4.4/PagedGeometry/source/BatchedGeometry.cpp 2015-01-12 13:29:10.890188192 +0100 +@@ -479,7 +479,11 @@ + // that the user may be using somewhere else). + { + Ogre::String newName = parentMaterial->getName() + "_Batched"; +- m_ptrMaterial = MaterialManager::getSingleton().getByName(newName, parentMaterial->getGroup()); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ m_ptrMaterial = MaterialManager::getSingleton().getByName(newName, parentMaterial->getGroup()); ++ #else ++ m_ptrMaterial = MaterialManager::getSingleton().getByName(newName, parentMaterial->getGroup()).staticCast(); ++ #endif + if (m_ptrMaterial.isNull()) + m_ptrMaterial = parentMaterial->clone(newName); + } +diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/BatchPage.cpp freeorion-0.4.4/PagedGeometry/source/BatchPage.cpp +--- freeorion-0.4.4-orig/PagedGeometry/source/BatchPage.cpp 2015-01-12 13:16:19.470177578 +0100 ++++ freeorion-0.4.4/PagedGeometry/source/BatchPage.cpp 2015-01-12 13:27:56.810187173 +0100 +@@ -472,7 +472,11 @@ + } + + //Search for the desired material +- MaterialPtr generatedMaterial = MaterialManager::getSingleton().getByName(materialSignature.str()); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ MaterialPtr generatedMaterial = MaterialManager::getSingleton().getByName(materialSignature.str()); ++ #else ++ MaterialPtr generatedMaterial = MaterialManager::getSingleton().getByName(materialSignature.str()).staticCast(); ++ #endif + if (generatedMaterial.isNull()) + { + //Clone the material +diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/GrassLoader.cpp freeorion-0.4.4/PagedGeometry/source/GrassLoader.cpp +--- freeorion-0.4.4-orig/PagedGeometry/source/GrassLoader.cpp 2015-01-12 13:16:19.470177578 +0100 ++++ freeorion-0.4.4/PagedGeometry/source/GrassLoader.cpp 2015-01-12 13:31:39.330190235 +0100 +@@ -765,7 +765,11 @@ + void GrassLayer::setMaterialName(const String &matName) + { + if (material.isNull() || matName != material->getName()){ +- material = MaterialManager::getSingleton().getByName(matName); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ material = MaterialManager::getSingleton().getByName(matName); ++ #else ++ material = MaterialManager::getSingleton().getByName(matName).staticCast(); ++ #endif + if (material.isNull()) + OGRE_EXCEPT(Exception::ERR_INVALIDPARAMS, "The specified grass material does not exist", "GrassLayer::setMaterialName()"); + shaderNeedsUpdate = true; +@@ -1128,7 +1132,11 @@ + const String matName = material->getName() + "_" + vsName; + + //Check if the desired material already exists (if not, create it) +- MaterialPtr tmpMat = MaterialManager::getSingleton().getByName(matName); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ MaterialPtr tmpMat = MaterialManager::getSingleton().getByName(matName); ++ #else ++ MaterialPtr tmpMat = MaterialManager::getSingleton().getByName(matName).staticCast(); ++ #endif + if (tmpMat.isNull()) + { + //Clone the original material +@@ -1140,7 +1148,11 @@ + + //Check if the desired shader already exists (if not, compile it) + String shaderLanguage; +- HighLevelGpuProgramPtr vertexShader = HighLevelGpuProgramManager::getSingleton().getByName(vsName); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ HighLevelGpuProgramPtr vertexShader = HighLevelGpuProgramManager::getSingleton().getByName(vsName); ++ #else ++ HighLevelGpuProgramPtr vertexShader = HighLevelGpuProgramManager::getSingleton().getByName(vsName).staticCast(); ++ #endif + if (vertexShader.isNull()) + { + if (Root::getSingleton().getRenderSystem()->getName() == "Direct3D9 Rendering Subsystem") +diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/ImpostorPage.cpp freeorion-0.4.4/PagedGeometry/source/ImpostorPage.cpp +--- freeorion-0.4.4-orig/PagedGeometry/source/ImpostorPage.cpp 2015-01-12 13:16:19.470177578 +0100 ++++ freeorion-0.4.4/PagedGeometry/source/ImpostorPage.cpp 2015-01-12 13:32:29.390190924 +0100 +@@ -402,7 +402,11 @@ + //Set up materials + for (int o = 0; o < IMPOSTOR_YAW_ANGLES; ++o){ + for (int i = 0; i < IMPOSTOR_PITCH_ANGLES; ++i){ +- material[i][o] = MaterialManager::getSingleton().create(getUniqueID("ImpostorMaterial"), "Impostors"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ material[i][o] = MaterialManager::getSingleton().create(getUniqueID("ImpostorMaterial"), "Impostors"); ++ #else ++ material[i][o] = MaterialManager::getSingleton().create(getUniqueID("ImpostorMaterial"), "Impostors").staticCast(); ++ #endif + + Material *m = material[i][o].getPointer(); + Pass *p = m->getTechnique(0)->getPass(0); +diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/StaticBillboardSet.cpp freeorion-0.4.4/PagedGeometry/source/StaticBillboardSet.cpp +--- freeorion-0.4.4-orig/PagedGeometry/source/StaticBillboardSet.cpp 2015-01-12 13:16:19.470177578 +0100 ++++ freeorion-0.4.4/PagedGeometry/source/StaticBillboardSet.cpp 2015-01-12 13:34:51.270192876 +0100 +@@ -149,7 +149,11 @@ + "}"; + } + +- HighLevelGpuProgramPtr vertexShader = HighLevelGpuProgramManager::getSingleton().getByName("Sprite_vp"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ HighLevelGpuProgramPtr vertexShader = HighLevelGpuProgramManager::getSingleton().getByName("Sprite_vp"); ++ #else ++ HighLevelGpuProgramPtr vertexShader = HighLevelGpuProgramManager::getSingleton().getByName("Sprite_vp").staticCast(); ++ #endif + assert(vertexShader.isNull() && "Sprite_vp already exist"); + + vertexShader = HighLevelGpuProgramManager::getSingleton().createProgram( +@@ -257,7 +261,11 @@ + "}"; + } + +- HighLevelGpuProgramPtr vertexShader2 = HighLevelGpuProgramManager::getSingleton().getByName("SpriteFade_vp"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ HighLevelGpuProgramPtr vertexShader2 = HighLevelGpuProgramManager::getSingleton().getByName("Sprite_vp"); ++ #else ++ HighLevelGpuProgramPtr vertexShader2 = HighLevelGpuProgramManager::getSingleton().getByName("Sprite_vp").staticCast(); ++ #endif + assert(vertexShader2.isNull() && "SpriteFade_vp already exist"); + vertexShader2 = HighLevelGpuProgramManager::getSingleton().createProgram("SpriteFade_vp", + ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME, shaderLanguage, GPT_VERTEX_PROGRAM); +@@ -574,7 +582,11 @@ + else if (!mPtrMaterial.isNull()) + SBMaterialRef::removeMaterialRef(mPtrMaterial); + +- mPtrMaterial = MaterialManager::getSingleton().getByName(materialName, resourceGroup); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ mPtrMaterial = MaterialManager::getSingleton().getByName(materialName, resourceGroup); ++ #else ++ mPtrMaterial = MaterialManager::getSingleton().getByName(materialName, resourceGroup).staticCast(); ++ #endif + + if (mFadeEnabled) + { +@@ -590,7 +602,11 @@ + } + else // old GPU compatibility + { +- mPtrMaterial = MaterialManager::getSingleton().getByName(materialName, resourceGroup); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ mPtrMaterial = MaterialManager::getSingleton().getByName(materialName, resourceGroup); ++ #else ++ mPtrMaterial = MaterialManager::getSingleton().getByName(materialName, resourceGroup).staticCast(); ++ #endif + mpFallbackBillboardSet->setMaterialName(mPtrMaterial->getName(), mPtrMaterial->getGroup()); + // SVA. Since Ogre 1.7.3 Ogre::BillboardSet have setMaterial(const MaterialPtr&) method + } +diff -U 3 -dHrN freeorion-0.4.4-orig/PagedGeometry/source/WindBatchPage.cpp freeorion-0.4.4/PagedGeometry/source/WindBatchPage.cpp +--- freeorion-0.4.4-orig/PagedGeometry/source/WindBatchPage.cpp 2015-01-12 13:16:19.470177578 +0100 ++++ freeorion-0.4.4/PagedGeometry/source/WindBatchPage.cpp 2015-01-12 13:35:22.100193300 +0100 +@@ -467,7 +467,11 @@ + } + + //Search for the desired material +- MaterialPtr generatedMaterial = MaterialManager::getSingleton().getByName(materialSignature.str()); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ MaterialPtr generatedMaterial = MaterialManager::getSingleton().getByName(materialSignature.str()); ++ #else ++ MaterialPtr generatedMaterial = MaterialManager::getSingleton().getByName(materialSignature.str()).staticCast(); ++ #endif + if (generatedMaterial.isNull()) + { + //Clone the material +diff -U 3 -dHrN freeorion-0.4.4-orig/UI/CombatSetupWnd.cpp freeorion-0.4.4/UI/CombatSetupWnd.cpp +--- freeorion-0.4.4-orig/UI/CombatSetupWnd.cpp 2015-01-12 13:16:18.650177567 +0100 ++++ freeorion-0.4.4/UI/CombatSetupWnd.cpp 2015-01-12 13:17:12.200178304 +0100 +@@ -126,7 +126,11 @@ + // HACK! This currently assumes all rings are starlane exclusion + // zones, so we only create one mesh for all RING's and reuse it; + // this may need to be generalized later. +- Ogre::MeshPtr ring_mesh = Ogre::MeshManager::getSingleton().getByName(RING_MESH_NAME); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MeshPtr ring_mesh = Ogre::MeshManager::getSingleton().getByName(RING_MESH_NAME); ++ #else ++ Ogre::MeshPtr ring_mesh = Ogre::MeshManager::getSingleton().getByName(RING_MESH_NAME).staticCast(); ++ #endif + if (ring_mesh.isNull()) { + Ogre::ManualObject manual_object(""); + manual_object.estimateVertexCount(unit_circle_vertices.size() * 2 + 2); +@@ -152,7 +156,11 @@ + } + + case CombatSetupRegion::ELLIPSE: { +- Ogre::MeshPtr unit_circle_mesh = Ogre::MeshManager::getSingleton().getByName(UNIT_CIRCLE_MESH_NAME); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MeshPtr unit_circle_mesh = Ogre::MeshManager::getSingleton().getByName(UNIT_CIRCLE_MESH_NAME); ++ #else ++ Ogre::MeshPtr unit_circle_mesh = Ogre::MeshManager::getSingleton().getByName(UNIT_CIRCLE_MESH_NAME).staticCast(); ++ #endif + if (unit_circle_mesh.isNull()) { + Ogre::ManualObject manual_object(""); + manual_object.estimateVertexCount(unit_circle_vertices.size() + 2); +@@ -478,8 +486,13 @@ + std::string base_material_name = ShipMaterialName(*ship->Design(), ship->Owner()); + std::string material_name = UNPLACEABLE_MATERIAL_PREFIX + base_material_name; + if (!Ogre::MaterialManager::getSingleton().resourceExists(material_name)) { +- Ogre::MaterialPtr unmodified_material = +- Ogre::MaterialManager::getSingleton().getByName(base_material_name); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr unmodified_material = ++ Ogre::MaterialManager::getSingleton().getByName(base_material_name); ++ #else ++ Ogre::MaterialPtr unmodified_material = ++ Ogre::MaterialManager::getSingleton().getByName(base_material_name).staticCast(); ++ #endif + Ogre::MaterialPtr material = unmodified_material->clone(material_name); + Ogre::Pass* pass = material->getTechnique(0)->getPass(1); + assert(pass->hasFragmentProgram()); +diff -U 3 -dHrN freeorion-0.4.4-orig/UI/CombatWnd.cpp freeorion-0.4.4/UI/CombatWnd.cpp +--- freeorion-0.4.4-orig/UI/CombatWnd.cpp 2015-01-12 13:16:18.650177567 +0100 ++++ freeorion-0.4.4/UI/CombatWnd.cpp 2015-01-12 13:43:29.950200012 +0100 +@@ -329,8 +329,13 @@ + Ogre::Entity* entity = + scene_manager->createEntity("asteroid mesh " + base_name, + base_name + ".mesh"); +- Ogre::MaterialPtr material = +- Ogre::MaterialManager::getSingleton().getByName("asteroid"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr material = ++ Ogre::MaterialManager::getSingleton().getByName("asteroid"); ++ #else ++ Ogre::MaterialPtr material = ++ Ogre::MaterialManager::getSingleton().getByName("asteroid").staticCast(); ++ #endif + std::string new_material_name = "asteroid material " + base_name; + material = material->clone(new_material_name); + material->getTechnique(0)->getPass(0)->getTextureUnitState(0)-> +@@ -905,16 +910,26 @@ + + // pick and assign star textures + { +- Ogre::MaterialPtr back_material = +- Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr back_material = ++ Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back"); ++ #else ++ Ogre::MaterialPtr back_material = ++ Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back").staticCast(); ++ #endif + Ogre::Technique* technique = back_material->getTechnique(0); + technique->getPass(0)->getTextureUnitState(0)->setTextureName(base_name + "back.png"); + technique->getPass(1)->getTextureUnitState(0)->setTextureName(base_name + "rainbow.png"); + technique->getPass(2)->getTextureUnitState(0)->setTextureName(base_name + "rays.png"); + technique->getPass(3)->getTextureUnitState(0)->setTextureName(base_name + "horizontal_flare.png"); + technique->getPass(4)->getTextureUnitState(0)->setTextureName(base_name + "horizontal_flare.png"); +- Ogre::MaterialPtr core_material = +- Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr core_material = ++ Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core"); ++ #else ++ Ogre::MaterialPtr core_material = ++ Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core").staticCast(); ++ #endif + technique = core_material->getTechnique(0); + technique->getPass(0)->getTextureUnitState(0)->setTextureName(base_name + "core.png"); + +@@ -1005,8 +1020,13 @@ + entity->setQueryFlags(UNSELECTABLE_OBJECT_MASK); + std::string new_material_name = + material_name + "_" + boost::lexical_cast(orbit); +- Ogre::MaterialPtr material = +- Ogre::MaterialManager::getSingleton().getByName(material_name); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr material = ++ Ogre::MaterialManager::getSingleton().getByName(material_name); ++ #else ++ Ogre::MaterialPtr material = ++ Ogre::MaterialManager::getSingleton().getByName(material_name).staticCast(); ++ #endif + material = material->clone(new_material_name); + m_planet_assets[orbit].second.push_back(material); + material->getTechnique(0)->getPass(0)->getTextureUnitState(0)-> +@@ -1019,11 +1039,19 @@ + entity->setVisibilityFlags(REGULAR_OBJECTS_MASK); + std::string new_material_name = + material_name + "_" + boost::lexical_cast(orbit); +- Ogre::MaterialPtr material = +- Ogre::MaterialManager::getSingleton().getByName( +- material_name == "planet" ? +- PlanetMaterialName(base_name) : +- material_name); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr material = ++ Ogre::MaterialManager::getSingleton().getByName( ++ material_name == "planet" ? ++ PlanetMaterialName(base_name) : ++ material_name); ++ #else ++ Ogre::MaterialPtr material = ++ Ogre::MaterialManager::getSingleton().getByName( ++ material_name == "planet" ? ++ PlanetMaterialName(base_name) : ++ material_name).staticCast(); ++ #endif + material = material->clone(new_material_name); + m_planet_assets[orbit].second.push_back(material); + assert(entity->getNumSubEntities() == 1u); +@@ -1046,9 +1074,15 @@ + entity->setRenderQueueGroup(ALPHA_OBJECTS_QUEUE); + entity->setVisibilityFlags(REGULAR_OBJECTS_MASK); + entity->setQueryFlags(UNSELECTABLE_OBJECT_MASK); +- Ogre::MaterialPtr material = +- Ogre::MaterialManager::getSingleton().getByName( +- AtmosphereMaterialName(base_name)); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr material = ++ Ogre::MaterialManager::getSingleton().getByName( ++ AtmosphereMaterialName(base_name)); ++ #else ++ Ogre::MaterialPtr material = ++ Ogre::MaterialManager::getSingleton().getByName( ++ AtmosphereMaterialName(base_name)).staticCast(); ++ #endif + entity->setMaterialName(material->getName()); + m_planet_assets[orbit].second.push_back(material); + node->attachObject(entity); +@@ -1568,7 +1602,11 @@ + + const bool ENABLE_GLOW = GetOptionsDB().Get("combat.enable-glow"); + Ogre::CompositorManager::getSingleton().setCompositorEnabled(m_viewport, "effects/glow", ENABLE_GLOW); +- Ogre::MaterialPtr material = Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr material = Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back"); ++ #else ++ Ogre::MaterialPtr material = Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back").staticCast(); ++ #endif + material->getTechnique(0)->getPass(3)->setDepthCheckEnabled(!ENABLE_GLOW); + material->getTechnique(0)->getPass(4)->setDepthCheckEnabled(!ENABLE_GLOW); + +@@ -1618,8 +1656,13 @@ + + const int SAMPLES_PER_SIDE = 2; + const int TOTAL_SAMPLES = 5; +- Ogre::MaterialPtr core_material = +- Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr core_material = ++ Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core"); ++ #else ++ Ogre::MaterialPtr core_material = ++ Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_core").staticCast(); ++ #endif + const Ogre::Real STAR_CORE_SCALE_FACTOR = + core_material->getTechnique(0)->getPass(0)->getTextureUnitState(0)->getTextureUScale(); + const Ogre::Real SAMPLE_INCREMENT = +@@ -1743,8 +1786,13 @@ + m_star_back_billboard->setColour( + Ogre::ColourValue(1.0, 1.0, 1.0, m_star_brightness_factor)); + +- Ogre::MaterialPtr back_material = +- Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr back_material = ++ Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back"); ++ #else ++ Ogre::MaterialPtr back_material = ++ Ogre::MaterialManager::getSingleton().getByName("backgrounds/star_back").staticCast(); ++ #endif + back_material->getTechnique(0)->getPass(3)->getTextureUnitState(0)->setTextureUScroll( + m_initial_left_horizontal_flare_scroll + m_left_horizontal_flare_scroll_offset); + back_material->getTechnique(0)->getPass(4)->getTextureUnitState(0)->setTextureUScroll( +@@ -1834,8 +1882,13 @@ + assert(ship->Design()); + const ShipDesign& ship_design = *ship->Design(); + +- Ogre::MaterialPtr ship_material = +- Ogre::MaterialManager::getSingleton().getByName("ship"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ Ogre::MaterialPtr ship_material = ++ Ogre::MaterialManager::getSingleton().getByName("ship"); ++ #else ++ Ogre::MaterialPtr ship_material = ++ Ogre::MaterialManager::getSingleton().getByName("ship").staticCast(); ++ #endif + std::string modified_material_name = ShipMaterialName(ship_design, ship->Owner()); + Ogre::MaterialPtr& modified_material = m_ship_materials[modified_material_name]; + if (!modified_material.get()) { +diff -U 3 -dHrN freeorion-0.4.4-orig/UI/EntityRenderer.cpp freeorion-0.4.4/UI/EntityRenderer.cpp +--- freeorion-0.4.4-orig/UI/EntityRenderer.cpp 2015-01-12 13:16:18.670177567 +0100 ++++ freeorion-0.4.4/UI/EntityRenderer.cpp 2015-01-12 13:17:12.200178304 +0100 +@@ -123,9 +123,15 @@ + renderTextures(); + + //Set up material +- material = +- Ogre::MaterialManager::getSingleton().create( +- getUniqueID("RenderedEntityMaterial"), "EntityRenderer"); ++ #if (OGRE_VERSION < ((1 << 16) | (9 << 8) | 0)) ++ material = ++ Ogre::MaterialManager::getSingleton().create( ++ getUniqueID("RenderedEntityMaterial"), "EntityRenderer"); ++ #else ++ material = ++ Ogre::MaterialManager::getSingleton().create( ++ getUniqueID("RenderedEntityMaterial"), "EntityRenderer").staticCast(); ++ #endif + + Ogre::Material* m = material.getPointer(); + Ogre::Pass* p = m->getTechnique(0)->getPass(0); diff --git a/games-strategy/freeorion/freeorion-0.4.3.ebuild b/games-strategy/freeorion/freeorion-0.4.3.ebuild index b84851cee7ee..3b57d3527015 100644 --- a/games-strategy/freeorion/freeorion-0.4.3.ebuild +++ b/games-strategy/freeorion/freeorion-0.4.3.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2013 Gentoo Foundation +# Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/games-strategy/freeorion/freeorion-0.4.3.ebuild,v 1.5 2013/10/07 08:08:35 tomka Exp $ +# $Header: /var/cvsroot/gentoo-x86/games-strategy/freeorion/freeorion-0.4.3.ebuild,v 1.6 2015/01/12 13:05:17 tomka Exp $ EAPI=5 @@ -22,7 +22,7 @@ IUSE="cg" # The split version dev-games/gigi is not used anymore as of 0.4.3 RDEPEND=" !dev-games/gigi - dev-games/ogre[cg?,ois,opengl] + =dev-libs/boost-1.47[python] media-libs/freealut diff --git a/games-strategy/freeorion/freeorion-0.4.4.ebuild b/games-strategy/freeorion/freeorion-0.4.4.ebuild new file mode 100644 index 000000000000..a0cf34907d4f --- /dev/null +++ b/games-strategy/freeorion/freeorion-0.4.4.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-strategy/freeorion/freeorion-0.4.4.ebuild,v 1.1 2015/01/12 13:05:17 tomka Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python2_6 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="http://dev.gentoo.org/~tomka/files/${P}.tar.bz2" + +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 + dev-games/ogre[cg?,ois,opengl] + dev-games/ois + >=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" + +# S="${WORKDIR}/${P}/${myPN}" +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_prepare() { + # set OGRE plugin-dir + sed \ + -e "s:PluginFolder=.*$:PluginFolder=$(pkg-config --variable=plugindir OGRE):" \ + -i "${CMAKE_USE_DIR}"/ogre_plugins.cfg.in || die + + if use cg ; then + # add cg ogre plugin to config + echo "Plugin=Plugin_CgProgramManager" \ + >> "${CMAKE_USE_DIR}"/ogre_plugins.cfg || die + fi + + epatch "${FILESDIR}/ogre-1.9-compat.patch" + + # parse subdir sets -O3 + sed -e "s:-O3::" -i parse/CMakeLists.txt + + # set revision for display in game -- update on bump! + sed -i -e 's/???/7708/' CMakeLists.txt +} + +src_configure() { + local mycmakeargs=( + -DRELEASE_COMPILE_FLAGS="" + -DCMAKE_SKIP_RPATH=ON + ) + + 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 ./default" \ + "${GAMES_DATADIR}/${PN}" + + # lib + dogameslib "${CMAKE_BUILD_DIR}"/libfreeorion{common,parse}.so || die + dogameslib "${CMAKE_BUILD_DIR}"/libGiGi*.so || die + + # config + insinto "${GAMES_SYSCONFDIR}"/${PN} + doins "${CMAKE_BUILD_DIR}"/ogre_plugins.cfg || die + doins "${CMAKE_USE_DIR}"/OISInput.cfg || die + # game uses relative paths + dosym "${GAMES_SYSCONFDIR}"/${PN}/ogre_plugins.cfg \ + "${GAMES_DATADIR}"/${PN}/ogre_plugins.cfg || die + dosym "${GAMES_SYSCONFDIR}"/${PN}/OISInput.cfg \ + "${GAMES_DATADIR}"/${PN}/OISInput.cfg || 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 +}