From 7d9a09fdbbac2bcaaeb79ce9cc4d852f7f656101 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Mon, 6 Dec 2021 11:40:28 +0100 Subject: games-engines/openmw: drop old Closes: https://github.com/gentoo/gentoo/pull/23194 Closes: https://bugs.gentoo.org/794538 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Alexey Sokolov Signed-off-by: David Seifert --- games-engines/openmw/Manifest | 2 - .../openmw/files/openmw-0.46.0-boost-1.77.patch | 10 - .../openmw/files/openmw-0.46.0-fix-cast.patch | 214 ------------- .../openmw/files/openmw-0.46.0-floattest2.patch | 139 --------- .../openmw/files/openmw-0.46.0-gcc11.patch | 36 --- .../files/openmw-0.46.0-missing-include.patch | 19 -- .../openmw/files/openmw-0.46.0-mygui-license.patch | 16 - .../files/openmw-0.46.0-nifbullet-test.patch | 335 --------------------- .../files/openmw-0.46.0-recastnavigation.patch | 24 -- games-engines/openmw/openmw-0.46.0-r2.ebuild | 163 ---------- 10 files changed, 958 deletions(-) delete mode 100644 games-engines/openmw/files/openmw-0.46.0-boost-1.77.patch delete mode 100644 games-engines/openmw/files/openmw-0.46.0-fix-cast.patch delete mode 100644 games-engines/openmw/files/openmw-0.46.0-floattest2.patch delete mode 100644 games-engines/openmw/files/openmw-0.46.0-gcc11.patch delete mode 100644 games-engines/openmw/files/openmw-0.46.0-missing-include.patch delete mode 100644 games-engines/openmw/files/openmw-0.46.0-mygui-license.patch delete mode 100644 games-engines/openmw/files/openmw-0.46.0-nifbullet-test.patch delete mode 100644 games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch delete mode 100644 games-engines/openmw/openmw-0.46.0-r2.ebuild (limited to 'games-engines') diff --git a/games-engines/openmw/Manifest b/games-engines/openmw/Manifest index 088a9b8fd26c..607fa30988f1 100644 --- a/games-engines/openmw/Manifest +++ b/games-engines/openmw/Manifest @@ -1,3 +1 @@ -DIST openmw-0.46.0-floattest.patch 43168 BLAKE2B 060b529fd4cd01f0fc723bb5a00a256b9c1ae4413c7b22581467cce75416e01041c3af22f0215ad9b1c475965a988065e0860c01c1e71d97454b022eec4779ea SHA512 0e165417e9ae047231fdc27b62251b33867f3782c1753f81705c886d6d3a433c8bbc3b4653a2555bc644bad11db9769d4bc2abcc84ca3ab23fabb6b80347bc32 -DIST openmw-0.46.0.tar.gz 5155004 BLAKE2B 8ad94a7fffe5a0739c56c778efe2ec17ef66c312a7fe5caf015cf3cad2bc17d2abe8cdc3f4134049a32fe55c4f4b3f72678d2d0ce1037fd02f6ac753b9d89b2c SHA512 da384aead300552817c0d0ce03515a5ccc95dcab4e02d4c1dd0d6c5f1b01ee01209bbaea74e2d12021e3465e49b051823bb018de39675c5a22c6892893624486 DIST openmw-0.47.0.tar.gz 5156857 BLAKE2B 40e8b9670423259fa0cc03ef000c17ebe06d1d58c2527b51b25cea3b54978b8a698984371eac14ff212f9550253ab17d41b83d37426371f12f5ce2d30b240d3d SHA512 517e650d0054cdba8d38de05ed3975b0fcf8de32fda59c8df7c34b973e5390efa0dd9ec79babdfdaa79dee7aa8a75009776f62fad91b9aa9aa28016c5032652b diff --git a/games-engines/openmw/files/openmw-0.46.0-boost-1.77.patch b/games-engines/openmw/files/openmw-0.46.0-boost-1.77.patch deleted file mode 100644 index 708fd9e9f52f..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-boost-1.77.patch +++ /dev/null @@ -1,10 +0,0 @@ -https://bugs.gentoo.org/808763 - ---- a/components/vfs/filesystemarchive.cpp -+++ b/components/vfs/filesystemarchive.cpp -@@ -1,4 +1,5 @@ - #include "filesystemarchive.hpp" - -+#include - #include - diff --git a/games-engines/openmw/files/openmw-0.46.0-fix-cast.patch b/games-engines/openmw/files/openmw-0.46.0-fix-cast.patch deleted file mode 100644 index f6e82cb3a2c9..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-fix-cast.patch +++ /dev/null @@ -1,214 +0,0 @@ -Fixes build on ~arch system, patch from upstream, to be dropped for 0.47 - -From 208a50340db5506dded60c05272ce9692773baa9 Mon Sep 17 00:00:00 2001 -From: elsid -Date: Mon, 13 Apr 2020 20:45:07 +0200 -Subject: [PATCH] Specialize DetourNavigator::ObjectId ctor for pointers - -To fix msvc error: -components\detournavigator\objectid.hpp(14,13): error C2440: 'reinterpret_cast': cannot convert from 'const T' to 'size_t' - with - [ - T=unsigned long - ] -diff --git a/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp b/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp -index 5275d9119e..e44ae48786 100644 ---- a/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp -+++ b/apps/openmw_test_suite/detournavigator/tilecachedrecastmeshmanager.cpp -@@ -61,15 +61,15 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- EXPECT_TRUE(manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground)); -+ EXPECT_TRUE(manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground)); - } - - TEST_F(DetourNavigatorTileCachedRecastMeshManagerTest, add_object_for_existing_object_should_return_false) - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -- EXPECT_FALSE(manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground)); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ EXPECT_FALSE(manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground)); - } - - TEST_F(DetourNavigatorTileCachedRecastMeshManagerTest, update_object_for_changed_object_should_return_changed_tiles) -@@ -77,9 +77,9 @@ namespace - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); - const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0)); -- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground); - EXPECT_THAT( -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground), -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground), - ElementsAre(TilePosition(-1, -1), TilePosition(-1, 0), TilePosition(0, -1), TilePosition(0, 0), - TilePosition(1, -1), TilePosition(1, 0)) - ); -@@ -89,9 +89,9 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ( -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground), -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground), - std::vector() - ); - } -@@ -100,7 +100,7 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr); -@@ -111,7 +111,7 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getMesh(TilePosition(1, 0)), nullptr); - } - -@@ -121,13 +121,13 @@ namespace - const btBoxShape boxShape(btVector3(20, 20, 100)); - const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0)); - -- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground); - EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(1, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(1, -1)), nullptr); - -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr); -@@ -140,11 +140,11 @@ namespace - const btBoxShape boxShape(btVector3(20, 20, 100)); - const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0)); - -- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground); - EXPECT_EQ(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_EQ(manager.getMesh(TilePosition(-1, 0)), nullptr); - -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getMesh(TilePosition(1, 0)), nullptr); - EXPECT_EQ(manager.getMesh(TilePosition(1, -1)), nullptr); - } -@@ -153,8 +153,8 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -- manager.removeObject(ObjectId(1ul)); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.removeObject(ObjectId(&boxShape)); - EXPECT_EQ(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_EQ(manager.getMesh(TilePosition(-1, 0)), nullptr); - EXPECT_EQ(manager.getMesh(TilePosition(0, -1)), nullptr); -@@ -166,13 +166,13 @@ namespace - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); - -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, 0)), nullptr); - -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_NE(manager.getMesh(TilePosition(-1, -1)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(-1, 0)), nullptr); - EXPECT_NE(manager.getMesh(TilePosition(0, -1)), nullptr); -@@ -184,7 +184,7 @@ namespace - TileCachedRecastMeshManager manager(mSettings); - const auto initialRevision = manager.getRevision(); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getRevision(), initialRevision + 1); - } - -@@ -192,9 +192,9 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - const auto beforeAddRevision = manager.getRevision(); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getRevision(), beforeAddRevision); - } - -@@ -203,9 +203,9 @@ namespace - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); - const btTransform transform(btMatrix3x3::getIdentity(), btVector3(getTileSize(mSettings) / mSettings.mRecastScaleFactor, 0, 0)); -- manager.addObject(ObjectId(1ul), boxShape, transform, AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, transform, AreaType::AreaType_ground); - const auto beforeUpdateRevision = manager.getRevision(); -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getRevision(), beforeUpdateRevision + 1); - } - -@@ -213,9 +213,9 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - const auto beforeUpdateRevision = manager.getRevision(); -- manager.updateObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.updateObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - EXPECT_EQ(manager.getRevision(), beforeUpdateRevision); - } - -@@ -223,9 +223,9 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const btBoxShape boxShape(btVector3(20, 20, 100)); -- manager.addObject(ObjectId(1ul), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); -+ manager.addObject(ObjectId(&boxShape), boxShape, btTransform::getIdentity(), AreaType::AreaType_ground); - const auto beforeRemoveRevision = manager.getRevision(); -- manager.removeObject(ObjectId(1ul)); -+ manager.removeObject(ObjectId(&boxShape)); - EXPECT_EQ(manager.getRevision(), beforeRemoveRevision + 1); - } - -@@ -233,7 +233,7 @@ namespace - { - TileCachedRecastMeshManager manager(mSettings); - const auto beforeRemoveRevision = manager.getRevision(); -- manager.removeObject(ObjectId(1ul)); -+ manager.removeObject(ObjectId(&manager)); - EXPECT_EQ(manager.getRevision(), beforeRemoveRevision); - } - } -diff --git a/components/detournavigator/objectid.hpp b/components/detournavigator/objectid.hpp -index 3b56924b13..6ddcc9169d 100644 ---- a/components/detournavigator/objectid.hpp -+++ b/components/detournavigator/objectid.hpp -@@ -10,7 +10,7 @@ namespace DetourNavigator - { - public: - template -- explicit ObjectId(const T value) throw() -+ explicit ObjectId(T* value) throw() - : mValue(reinterpret_cast(value)) - { - } diff --git a/games-engines/openmw/files/openmw-0.46.0-floattest2.patch b/games-engines/openmw/files/openmw-0.46.0-floattest2.patch deleted file mode 100644 index ca6e355eab7d..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-floattest2.patch +++ /dev/null @@ -1,139 +0,0 @@ -https://gitlab.com/OpenMW/openmw/-/merge_requests/253 - ---- a/apps/openmw_test_suite/detournavigator/navigator.cpp 2020-06-30 16:07:31.544410916 +0100 -+++ b/apps/openmw_test_suite/detournavigator/navigator.cpp 2020-06-30 16:08:50.405698937 +0100 -@@ -458,25 +458,25 @@ - - EXPECT_EQ(mNavigator->findPath(mAgentHalfExtents, mStepSize, mStart, mEnd, Flag_swim, mAreaCosts, mOut), Status::Success); - -- EXPECT_EQ(mPath, std::deque({ -- osg::Vec3f(0, 215, 185.33331298828125), -- osg::Vec3f(0, 186.6666717529296875, 185.33331298828125), -- osg::Vec3f(0, 158.333343505859375, 185.33331298828125), -- osg::Vec3f(0, 130.0000152587890625, 185.33331298828125), -- osg::Vec3f(0, 101.66667938232421875, 185.33331298828125), -- osg::Vec3f(0, 73.333343505859375, 185.33331298828125), -- osg::Vec3f(0, 45.0000152587890625, 185.33331298828125), -- osg::Vec3f(0, 16.6666812896728515625, 185.33331298828125), -- osg::Vec3f(0, -11.66664981842041015625, 185.33331298828125), -- osg::Vec3f(0, -39.999980926513671875, 185.33331298828125), -- osg::Vec3f(0, -68.33331298828125, 185.33331298828125), -- osg::Vec3f(0, -96.66664886474609375, 185.33331298828125), -- osg::Vec3f(0, -124.99997711181640625, 185.33331298828125), -- osg::Vec3f(0, -153.33331298828125, 185.33331298828125), -- osg::Vec3f(0, -181.6666412353515625, 185.33331298828125), -- osg::Vec3f(0, -209.999969482421875, 185.33331298828125), -- osg::Vec3f(0, -215, 185.33331298828125), -- })) << mPath; -+ EXPECT_THAT(mPath, ElementsAre( -+ Vec3fEq(0, 215, 185.33331298828125), -+ Vec3fEq(0, 186.6666717529296875, 185.33331298828125), -+ Vec3fEq(0, 158.333343505859375, 185.33331298828125), -+ Vec3fEq(0, 130.0000152587890625, 185.33331298828125), -+ Vec3fEq(0, 101.66667938232421875, 185.33331298828125), -+ Vec3fEq(0, 73.333343505859375, 185.33331298828125), -+ Vec3fEq(0, 45.0000152587890625, 185.33331298828125), -+ Vec3fEq(0, 16.6666812896728515625, 185.33331298828125), -+ Vec3fEq(0, -11.66664981842041015625, 185.33331298828125), -+ Vec3fEq(0, -39.999980926513671875, 185.33331298828125), -+ Vec3fEq(0, -68.33331298828125, 185.33331298828125), -+ Vec3fEq(0, -96.66664886474609375, 185.33331298828125), -+ Vec3fEq(0, -124.99997711181640625, 185.33331298828125), -+ Vec3fEq(0, -153.33331298828125, 185.33331298828125), -+ Vec3fEq(0, -181.6666412353515625, 185.33331298828125), -+ Vec3fEq(0, -209.999969482421875, 185.33331298828125), -+ Vec3fEq(0, -215, 185.33331298828125) -+ )); - } - - TEST_F(DetourNavigatorNavigatorTest, path_should_be_over_water_when_ground_cross_water_with_swim_and_walk_flags) -@@ -505,25 +505,25 @@ - EXPECT_EQ(mNavigator->findPath(mAgentHalfExtents, mStepSize, mStart, mEnd, Flag_swim | Flag_walk, mAreaCosts, mOut), - Status::Success); - -- EXPECT_EQ(mPath, std::deque({ -- osg::Vec3f(0, 215, -94.75363922119140625), -- osg::Vec3f(0, 186.6666717529296875, -106.0000152587890625), -- osg::Vec3f(0, 158.333343505859375, -115.85507965087890625), -- osg::Vec3f(0, 130.0000152587890625, -125.71016693115234375), -- osg::Vec3f(0, 101.66667938232421875, -135.5652313232421875), -- osg::Vec3f(0, 73.333343505859375, -143.3333587646484375), -- osg::Vec3f(0, 45.0000152587890625, -143.3333587646484375), -- osg::Vec3f(0, 16.6666812896728515625, -143.3333587646484375), -- osg::Vec3f(0, -11.66664981842041015625, -143.3333587646484375), -- osg::Vec3f(0, -39.999980926513671875, -143.3333587646484375), -- osg::Vec3f(0, -68.33331298828125, -143.3333587646484375), -- osg::Vec3f(0, -96.66664886474609375, -137.3043670654296875), -- osg::Vec3f(0, -124.99997711181640625, -127.44930267333984375), -- osg::Vec3f(0, -153.33331298828125, -117.59423065185546875), -- osg::Vec3f(0, -181.6666412353515625, -107.73915863037109375), -- osg::Vec3f(0, -209.999969482421875, -97.7971343994140625), -- osg::Vec3f(0, -215, -94.75363922119140625), -- })) << mPath; -+ EXPECT_THAT(mPath, ElementsAre( -+ Vec3fEq(0, 215, -94.75363922119140625), -+ Vec3fEq(0, 186.6666717529296875, -106.0000152587890625), -+ Vec3fEq(0, 158.333343505859375, -115.85507965087890625), -+ Vec3fEq(0, 130.0000152587890625, -125.71016693115234375), -+ Vec3fEq(0, 101.66667938232421875, -135.5652313232421875), -+ Vec3fEq(0, 73.333343505859375, -143.3333587646484375), -+ Vec3fEq(0, 45.0000152587890625, -143.3333587646484375), -+ Vec3fEq(0, 16.6666812896728515625, -143.3333587646484375), -+ Vec3fEq(0, -11.66664981842041015625, -143.3333587646484375), -+ Vec3fEq(0, -39.999980926513671875, -143.3333587646484375), -+ Vec3fEq(0, -68.33331298828125, -143.3333587646484375), -+ Vec3fEq(0, -96.66664886474609375, -137.3043670654296875), -+ Vec3fEq(0, -124.99997711181640625, -127.44930267333984375), -+ Vec3fEq(0, -153.33331298828125, -117.59423065185546875), -+ Vec3fEq(0, -181.6666412353515625, -107.73915863037109375), -+ Vec3fEq(0, -209.999969482421875, -97.7971343994140625), -+ Vec3fEq(0, -215, -94.75363922119140625) -+ )); - } - - TEST_F(DetourNavigatorNavigatorTest, path_should_be_over_water_when_ground_cross_water_with_max_int_cells_size_and_swim_and_walk_flags) -@@ -552,25 +552,25 @@ - EXPECT_EQ(mNavigator->findPath(mAgentHalfExtents, mStepSize, mStart, mEnd, Flag_swim | Flag_walk, mAreaCosts, mOut), - Status::Success); - -- EXPECT_EQ(mPath, std::deque({ -- osg::Vec3f(0, 215, -94.75363922119140625), -- osg::Vec3f(0, 186.6666717529296875, -106.0000152587890625), -- osg::Vec3f(0, 158.333343505859375, -115.85507965087890625), -- osg::Vec3f(0, 130.0000152587890625, -125.71016693115234375), -- osg::Vec3f(0, 101.66667938232421875, -135.5652313232421875), -- osg::Vec3f(0, 73.333343505859375, -143.3333587646484375), -- osg::Vec3f(0, 45.0000152587890625, -143.3333587646484375), -- osg::Vec3f(0, 16.6666812896728515625, -143.3333587646484375), -- osg::Vec3f(0, -11.66664981842041015625, -143.3333587646484375), -- osg::Vec3f(0, -39.999980926513671875, -143.3333587646484375), -- osg::Vec3f(0, -68.33331298828125, -143.3333587646484375), -- osg::Vec3f(0, -96.66664886474609375, -137.3043670654296875), -- osg::Vec3f(0, -124.99997711181640625, -127.44930267333984375), -- osg::Vec3f(0, -153.33331298828125, -117.59423065185546875), -- osg::Vec3f(0, -181.6666412353515625, -107.73915863037109375), -- osg::Vec3f(0, -209.999969482421875, -97.7971343994140625), -- osg::Vec3f(0, -215, -94.75363922119140625), -- })) << mPath; -+ EXPECT_THAT(mPath, ElementsAre( -+ Vec3fEq(0, 215, -94.75363922119140625), -+ Vec3fEq(0, 186.6666717529296875, -106.0000152587890625), -+ Vec3fEq(0, 158.333343505859375, -115.85507965087890625), -+ Vec3fEq(0, 130.0000152587890625, -125.71016693115234375), -+ Vec3fEq(0, 101.66667938232421875, -135.5652313232421875), -+ Vec3fEq(0, 73.333343505859375, -143.3333587646484375), -+ Vec3fEq(0, 45.0000152587890625, -143.3333587646484375), -+ Vec3fEq(0, 16.6666812896728515625, -143.3333587646484375), -+ Vec3fEq(0, -11.66664981842041015625, -143.3333587646484375), -+ Vec3fEq(0, -39.999980926513671875, -143.3333587646484375), -+ Vec3fEq(0, -68.33331298828125, -143.3333587646484375), -+ Vec3fEq(0, -96.66664886474609375, -137.3043670654296875), -+ Vec3fEq(0, -124.99997711181640625, -127.44930267333984375), -+ Vec3fEq(0, -153.33331298828125, -117.59423065185546875), -+ Vec3fEq(0, -181.6666412353515625, -107.73915863037109375), -+ Vec3fEq(0, -209.999969482421875, -97.7971343994140625), -+ Vec3fEq(0, -215, -94.75363922119140625) -+ )); - } - - TEST_F(DetourNavigatorNavigatorTest, path_should_be_over_ground_when_ground_cross_water_with_only_walk_flag) diff --git a/games-engines/openmw/files/openmw-0.46.0-gcc11.patch b/games-engines/openmw/files/openmw-0.46.0-gcc11.patch deleted file mode 100644 index 0dc3106fb3bf..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-gcc11.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff --git a/components/sceneutil/mwshadowtechnique.cpp b/components/sceneutil/mwshadowtechnique.cpp -index cb3a1b2..62cfeec 100644 ---- a/components/sceneutil/mwshadowtechnique.cpp -+++ b/components/sceneutil/mwshadowtechnique.cpp -@@ -24,6 +24,7 @@ - #include - - #include -+#include - - namespace { - -diff --git a/components/sceneutil/shadow.cpp b/components/sceneutil/shadow.cpp -index 035c19a..aba1b81 100644 ---- a/components/sceneutil/shadow.cpp -+++ b/components/sceneutil/shadow.cpp -@@ -4,6 +4,7 @@ - - #include - #include -+#include - - namespace SceneUtil - { -diff --git a/components/terrain/quadtreeworld.cpp b/components/terrain/quadtreeworld.cpp -index f998b78..e0e47dd 100644 ---- a/components/terrain/quadtreeworld.cpp -+++ b/components/terrain/quadtreeworld.cpp -@@ -3,6 +3,7 @@ - #include - - #include -+#include - - #include - #include diff --git a/games-engines/openmw/files/openmw-0.46.0-missing-include.patch b/games-engines/openmw/files/openmw-0.46.0-missing-include.patch deleted file mode 100644 index 803707498e43..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-missing-include.patch +++ /dev/null @@ -1,19 +0,0 @@ -Fixes build on ~arch system, patch from upstream, to be dropped for 0.47 - -From 10daadefbea1f62a818c339dc7f3d69a858bc8a6 Mon Sep 17 00:00:00 2001 -From: elsid -Date: Thu, 30 Apr 2020 21:57:22 +0200 -Subject: [PATCH] Add missing include - -diff --git a/components/detournavigator/offmeshconnectionsmanager.hpp b/components/detournavigator/offmeshconnectionsmanager.hpp -index 30d7976aec..155ce32963 100644 ---- a/components/detournavigator/offmeshconnectionsmanager.hpp -+++ b/components/detournavigator/offmeshconnectionsmanager.hpp -@@ -13,6 +13,7 @@ - - #include - -+#include - #include - #include - #include diff --git a/games-engines/openmw/files/openmw-0.46.0-mygui-license.patch b/games-engines/openmw/files/openmw-0.46.0-mygui-license.patch deleted file mode 100644 index a14f58bc9e79..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-mygui-license.patch +++ /dev/null @@ -1,16 +0,0 @@ -We don't install license files - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d69352c94..5f97c86e9 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -470,9 +470,6 @@ IF(NOT WIN32 AND NOT APPLE) - # INSTALL(PROGRAMS "${OpenMW_BINARY_DIR}/Plugin_MyGUI_OpenMW_Resources.so" DESTINATION "${LIBDIR}" ) - #ENDIF(BUILD_MYGUI_PLUGIN) - -- # Install licenses -- INSTALL(FILES "files/mygui/DejaVu Font License.txt" DESTINATION "${LICDIR}" ) -- - # Install icon and desktop file - INSTALL(FILES "${OpenMW_BINARY_DIR}/org.openmw.launcher.desktop" DESTINATION "${DATAROOTDIR}/applications" COMPONENT "openmw") - INSTALL(FILES "${OpenMW_SOURCE_DIR}/files/launcher/images/openmw.png" DESTINATION "${ICONDIR}" COMPONENT "openmw") diff --git a/games-engines/openmw/files/openmw-0.46.0-nifbullet-test.patch b/games-engines/openmw/files/openmw-0.46.0-nifbullet-test.patch deleted file mode 100644 index 315b0753589d..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-nifbullet-test.patch +++ /dev/null @@ -1,335 +0,0 @@ -Fixes test on i686 system, patch from upstream, to be dropped for 0.47 - -From 14d0ca4cd3e9aa9e329590913d5f8fb55077587d Mon Sep 17 00:00:00 2001 -From: elsid -Date: Sun, 25 Nov 2018 11:42:26 +0300 -Subject: [PATCH 1/4] Cast float to btScalar - ---- - .../detournavigator/recastmeshbuilder.cpp | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/components/detournavigator/recastmeshbuilder.cpp b/components/detournavigator/recastmeshbuilder.cpp -index d96ba2f29c..f613683571 100644 ---- a/components/detournavigator/recastmeshbuilder.cpp -+++ b/components/detournavigator/recastmeshbuilder.cpp -@@ -163,15 +163,15 @@ namespace DetourNavigator - - transformBoundingBox(transform, aabbMin, aabbMax); - -- aabbMin.setX(std::max(mBounds.mMin.x(), aabbMin.x())); -- aabbMin.setX(std::min(mBounds.mMax.x(), aabbMin.x())); -- aabbMin.setY(std::max(mBounds.mMin.y(), aabbMin.y())); -- aabbMin.setY(std::min(mBounds.mMax.y(), aabbMin.y())); -- -- aabbMax.setX(std::max(mBounds.mMin.x(), aabbMax.x())); -- aabbMax.setX(std::min(mBounds.mMax.x(), aabbMax.x())); -- aabbMax.setY(std::max(mBounds.mMin.y(), aabbMax.y())); -- aabbMax.setY(std::min(mBounds.mMax.y(), aabbMax.y())); -+ aabbMin.setX(std::max(static_cast(mBounds.mMin.x()), aabbMin.x())); -+ aabbMin.setX(std::min(static_cast(mBounds.mMax.x()), aabbMin.x())); -+ aabbMin.setY(std::max(static_cast(mBounds.mMin.y()), aabbMin.y())); -+ aabbMin.setY(std::min(static_cast(mBounds.mMax.y()), aabbMin.y())); -+ -+ aabbMax.setX(std::max(static_cast(mBounds.mMin.x()), aabbMax.x())); -+ aabbMax.setX(std::min(static_cast(mBounds.mMax.x()), aabbMax.x())); -+ aabbMax.setY(std::max(static_cast(mBounds.mMin.y()), aabbMax.y())); -+ aabbMax.setY(std::min(static_cast(mBounds.mMax.y()), aabbMax.y())); - - transformBoundingBox(transform.inverse(), aabbMin, aabbMax); - - -From ef5a5ef43f9a91795339ef3ea97c505c1e9dc28d Mon Sep 17 00:00:00 2001 -From: elsid -Date: Sun, 25 Nov 2018 14:03:28 +0300 -Subject: [PATCH 2/4] Print not matched values with full precision - ---- - .../detournavigator/operators.hpp | 62 +++++++++++++++---- - 1 file changed, 51 insertions(+), 11 deletions(-) - -diff --git a/apps/openmw_test_suite/detournavigator/operators.hpp b/apps/openmw_test_suite/detournavigator/operators.hpp -index a473632bab..e34d6278a7 100644 ---- a/apps/openmw_test_suite/detournavigator/operators.hpp -+++ b/apps/openmw_test_suite/detournavigator/operators.hpp -@@ -20,22 +20,62 @@ namespace DetourNavigator - } - } - -+namespace -+{ -+ template -+ struct Wrapper { -+ const T& mValue; -+ }; -+ -+ template -+ inline testing::Message& writeRange(testing::Message& message, const Range& range) -+ { -+ message << "{\n"; -+ for (const auto& v : range) -+ message << Wrapper::type> {v} << ",\n"; -+ return message << "}"; -+ } -+} -+ - namespace testing - { -+ template <> -+ inline testing::Message& Message::operator <<(const osg::Vec3f& value) -+ { -+ return (*this) << "osg::Vec3f(" << std::setprecision(std::numeric_limits::max_exponent10) << value.x() -+ << ", " << std::setprecision(std::numeric_limits::max_exponent10) << value.y() -+ << ", " << std::setprecision(std::numeric_limits::max_exponent10) << value.z() -+ << ')'; -+ } -+ -+ template <> -+ inline testing::Message& Message::operator <<(const Wrapper& value) -+ { -+ return (*this) << value.mValue; -+ } -+ -+ template <> -+ inline testing::Message& Message::operator <<(const Wrapper& value) -+ { -+ return (*this) << std::setprecision(std::numeric_limits::max_exponent10) << value.mValue; -+ } -+ - template <> - inline testing::Message& Message::operator <<(const std::deque& value) - { -- (*this) << "{\n"; -- for (const auto& v : value) -- { -- std::ostringstream stream; -- stream << "osg::Vec3f(" -- << std::setprecision(std::numeric_limits::max_exponent10) << v.x() << ", " -- << std::setprecision(std::numeric_limits::max_exponent10) << v.y() << ", " -- << std::setprecision(std::numeric_limits::max_exponent10) << v.z() << ")"; -- (*this) << stream.str() << ",\n"; -- } -- return (*this) << "}"; -+ return writeRange(*this, value); -+ } -+ -+ template <> -+ inline testing::Message& Message::operator <<(const std::vector& value) -+ { -+ return writeRange(*this, value); -+ } -+ -+ template <> -+ inline testing::Message& Message::operator <<(const std::vector& value) -+ { -+ return writeRange(*this, value); - } - } - - -From 2d7c3bae6127fc3717d5e3a8e8830215450fb47f Mon Sep 17 00:00:00 2001 -From: elsid -Date: Sun, 25 Nov 2018 11:46:09 +0300 -Subject: [PATCH 3/4] Support bullet with double precision - ---- - apps/openmw/mwphysics/heightfield.cpp | 38 ++++++++++++++++++- - apps/openmw/mwphysics/heightfield.hpp | 5 +++ - .../detournavigator/recastmeshbuilder.cpp | 4 +- - .../nifloader/testbulletnifloader.cpp | 36 ++++++++++++++++-- - 4 files changed, 77 insertions(+), 6 deletions(-) - -diff --git a/apps/openmw/mwphysics/heightfield.cpp b/apps/openmw/mwphysics/heightfield.cpp -index 52aed9c072..e1448116bf 100644 ---- a/apps/openmw/mwphysics/heightfield.cpp -+++ b/apps/openmw/mwphysics/heightfield.cpp -@@ -7,12 +7,48 @@ - - #include - -+#include -+ -+namespace -+{ -+ template -+ auto makeHeights(const T* heights, float sqrtVerts) -+ -> std::enable_if_t::value, std::vector> -+ { -+ return {}; -+ } -+ -+ template -+ auto makeHeights(const T* heights, float sqrtVerts) -+ -> std::enable_if_t::value, std::vector> -+ { -+ return std::vector(heights, heights + static_cast(sqrtVerts * sqrtVerts)); -+ } -+ -+ template -+ auto getHeights(const T* floatHeights, const std::vector&) -+ -> std::enable_if_t::value, const btScalar*> -+ { -+ return floatHeights; -+ } -+ -+ template -+ auto getHeights(const T*, const std::vector& btScalarHeights) -+ -> std::enable_if_t::value, const btScalar*> -+ { -+ return btScalarHeights.data(); -+ } -+} -+ - namespace MWPhysics - { - HeightField::HeightField(const float* heights, int x, int y, float triSize, float sqrtVerts, float minH, float maxH, const osg::Object* holdObject) -+ : mHeights(makeHeights(heights, sqrtVerts)) - { - mShape = new btHeightfieldTerrainShape( -- sqrtVerts, sqrtVerts, heights, 1, -+ sqrtVerts, sqrtVerts, -+ getHeights(heights, mHeights), -+ 1, - minH, maxH, 2, - PHY_FLOAT, false - ); -diff --git a/apps/openmw/mwphysics/heightfield.hpp b/apps/openmw/mwphysics/heightfield.hpp -index f248186db3..2ba58afff8 100644 ---- a/apps/openmw/mwphysics/heightfield.hpp -+++ b/apps/openmw/mwphysics/heightfield.hpp -@@ -3,6 +3,10 @@ - - #include - -+#include -+ -+#include -+ - class btCollisionObject; - class btHeightfieldTerrainShape; - -@@ -27,6 +31,7 @@ namespace MWPhysics - btHeightfieldTerrainShape* mShape; - btCollisionObject* mCollisionObject; - osg::ref_ptr mHoldObject; -+ std::vector mHeights; - - void operator=(const HeightField&); - HeightField(const HeightField&); -diff --git a/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp b/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp -index 6c474765de..c86dee6e55 100644 ---- a/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp -+++ b/apps/openmw_test_suite/detournavigator/recastmeshbuilder.cpp -@@ -363,11 +363,11 @@ namespace - AreaType_ground - ); - const auto recastMesh = builder.create(mGeneration, mRevision); -- EXPECT_EQ(recastMesh->getVertices(), std::vector({ -+ EXPECT_THAT(recastMesh->getVertices(), Pointwise(FloatNear(1e-5), std::vector({ - 1.41421353816986083984375, 0, 1.1920928955078125e-07, - -1.41421353816986083984375, 0, -1.1920928955078125e-07, - 1.1920928955078125e-07, 0, -1.41421353816986083984375, -- })); -+ }))); - EXPECT_EQ(recastMesh->getIndices(), std::vector({0, 1, 2})); - EXPECT_EQ(recastMesh->getAreaTypes(), std::vector({AreaType_ground})); - } -diff --git a/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp b/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp -index 36f2512462..6ec94fd68f 100644 ---- a/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp -+++ b/apps/openmw_test_suite/nifloader/testbulletnifloader.cpp -@@ -9,6 +9,8 @@ - #include - #include - -+#include -+ - namespace - { - template -@@ -30,6 +32,34 @@ namespace - shape.processAllTriangles(&callback, aabbMin, aabbMax); - return result; - } -+ -+ bool isNear(btScalar lhs, btScalar rhs) -+ { -+ return std::abs(lhs - rhs) <= 1e-5; -+ } -+ -+ bool isNear(const btVector3& lhs, const btVector3& rhs) -+ { -+ return std::equal( -+ static_cast(lhs), -+ static_cast(lhs) + 3, -+ static_cast(rhs), -+ [] (btScalar lhs, btScalar rhs) { return isNear(lhs, rhs); } -+ ); -+ } -+ -+ bool isNear(const btMatrix3x3& lhs, const btMatrix3x3& rhs) -+ { -+ for (int i = 0; i < 3; ++i) -+ if (!isNear(lhs[i], rhs[i])) -+ return false; -+ return true; -+ } -+ -+ bool isNear(const btTransform& lhs, const btTransform& rhs) -+ { -+ return isNear(lhs.getOrigin(), rhs.getOrigin()) && isNear(lhs.getBasis(), rhs.getBasis()); -+ } - } - - static std::ostream& operator <<(std::ostream& stream, const btVector3& value) -@@ -157,7 +187,7 @@ static bool operator ==(const btCompoundShape& lhs, const btCompoundShape& rhs) - for (int i = 0; i < lhs.getNumChildShapes(); ++i) - { - if (!compareObjects(lhs.getChildShape(i), rhs.getChildShape(i)) -- || !(lhs.getChildTransform(i) == rhs.getChildTransform(i))) -+ || !isNear(lhs.getChildTransform(i), rhs.getChildTransform(i))) - return false; - } - return true; -@@ -165,13 +195,13 @@ static bool operator ==(const btCompoundShape& lhs, const btCompoundShape& rhs) - - static bool operator ==(const btBoxShape& lhs, const btBoxShape& rhs) - { -- return lhs.getLocalScaling() == rhs.getLocalScaling() -+ return isNear(lhs.getLocalScaling(), rhs.getLocalScaling()) - && lhs.getHalfExtentsWithoutMargin() == rhs.getHalfExtentsWithoutMargin(); - } - - static bool operator ==(const btBvhTriangleMeshShape& lhs, const btBvhTriangleMeshShape& rhs) - { -- return lhs.getLocalScaling() == rhs.getLocalScaling() -+ return isNear(lhs.getLocalScaling(), rhs.getLocalScaling()) - && lhs.usesQuantizedAabbCompression() == rhs.usesQuantizedAabbCompression() - && lhs.getOwnsBvh() == rhs.getOwnsBvh() - && getTriangles(lhs) == getTriangles(rhs); - -From 66da72048a5893bc8c9b20f6f7210fd45b6a74bf Mon Sep 17 00:00:00 2001 -From: elsid -Date: Wed, 20 Feb 2019 23:41:16 +0300 -Subject: [PATCH 4/4] Update bullet for windows up to 2.87 - ---- - CI/before_script.msvc.sh | 12 ++++++------ - appveyor.yml | 4 ++-- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/appveyor.yml b/appveyor.yml -index 3057cc7257..e2c13ed948 100644 ---- a/appveyor.yml -+++ b/appveyor.yml -@@ -30,8 +30,8 @@ configuration: - clone_depth: 1 - - cache: -- - C:\projects\openmw\deps\Bullet-2.86-msvc2015-win32.7z -- - C:\projects\openmw\deps\Bullet-2.86-msvc2015-win64.7z -+ - C:\projects\openmw\deps\Bullet-2.87-msvc2015-win32.7z -+ - C:\projects\openmw\deps\Bullet-2.87-msvc2015-win64.7z - - C:\projects\openmw\deps\MyGUI-3.2.2-msvc2015-win32.7z - - C:\projects\openmw\deps\MyGUI-3.2.2-msvc2015-win64.7z - - C:\projects\openmw\deps\OSG-3.4.1-scrawl-msvc2015-win32.7z diff --git a/games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch b/games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch deleted file mode 100644 index ea3242d73ca8..000000000000 --- a/games-engines/openmw/files/openmw-0.46.0-recastnavigation.patch +++ /dev/null @@ -1,24 +0,0 @@ -Use system recastnavigation instead of bundled one - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d69352c94..cfb53dc5b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -596,7 +596,16 @@ endif(WIN32) - # Extern - set(RECASTNAVIGATION_STATIC ON CACHE BOOL "Build recastnavigation static libraries") - --add_subdirectory (extern/recastnavigation EXCLUDE_FROM_ALL) -+add_library(RecastNavigation::DebugUtils SHARED IMPORTED) -+add_library(RecastNavigation::Detour SHARED IMPORTED) -+add_library(RecastNavigation::Recast SHARED IMPORTED) -+set_target_properties(RecastNavigation::DebugUtils PROPERTIES -+ IMPORTED_LOCATION GENTOO_RECAST_LIBDIR/libDebugUtils.so) -+set_target_properties(RecastNavigation::Detour PROPERTIES -+ IMPORTED_LOCATION GENTOO_RECAST_LIBDIR/libDetour.so) -+set_target_properties(RecastNavigation::Recast PROPERTIES -+ IMPORTED_LOCATION GENTOO_RECAST_LIBDIR/libRecast.so) -+ - add_subdirectory (extern/osg-ffmpeg-videoplayer) - add_subdirectory (extern/oics) - if (BUILD_OPENCS) diff --git a/games-engines/openmw/openmw-0.46.0-r2.ebuild b/games-engines/openmw/openmw-0.46.0-r2.ebuild deleted file mode 100644 index 24532e11f3da..000000000000 --- a/games-engines/openmw/openmw-0.46.0-r2.ebuild +++ /dev/null @@ -1,163 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit cmake flag-o-matic xdg-utils readme.gentoo-r1 - -DESCRIPTION="Open source reimplementation of TES III: Morrowind" -HOMEPAGE="https://openmw.org/ https://gitlab.com/OpenMW/openmw" - -if [[ ${PV} == *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/OpenMW/openmw.git" -else - SRC_URI=" - https://github.com/OpenMW/openmw/archive/${P}.tar.gz - https://gitlab.com/OpenMW/openmw/-/merge_requests/163.patch -> ${P}-floattest.patch - " - KEYWORDS="~amd64 ~x86" - S="${WORKDIR}/${PN}-${P}" -fi - -LICENSE="GPL-3 MIT BitstreamVera ZLIB" -SLOT="0" -IUSE="doc devtools +osg-fork test +qt5" -RESTRICT="!test? ( test )" - -# FIXME: Unbundle dev-games/openscenegraph-qt in extern/osgQt directory, -# used when BUILD_OPENCS flag is enabled. See bug #676266. - -RDEPEND=" - dev-games/mygui - dev-games/recastnavigation - dev-libs/boost:=[threads(+),zlib] - dev-libs/tinyxml:=[stl] - media-libs/libsdl2[joystick,opengl,video] - media-libs/openal - media-video/ffmpeg:= - >=sci-physics/bullet-2.86:=[-double-precision] - virtual/opengl - osg-fork? ( =dev-games/openscenegraph-openmw-3.4*:=[ffmpeg,jpeg,png,sdl,svg,truetype,zlib] ) - !osg-fork? ( >=dev-games/openscenegraph-3.5.5:=[ffmpeg,jpeg,png,sdl,svg,truetype,zlib] ) - qt5? ( - app-arch/unshield - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtopengl:5 - dev-qt/qtwidgets:5 - ) -" - -DEPEND="${RDEPEND}" - -BDEPEND=" - virtual/pkgconfig - doc? ( - app-doc/doxygen[doc] - dev-python/sphinx - ) - test? ( - dev-cpp/gtest - ) -" - -PATCHES=( - "${FILESDIR}"/openmw-0.46.0-mygui-license.patch - "${FILESDIR}"/openmw-0.46.0-recastnavigation.patch - "${FILESDIR}"/openmw-0.46.0-missing-include.patch - "${FILESDIR}"/openmw-0.46.0-fix-cast.patch - "${FILESDIR}"/openmw-0.46.0-nifbullet-test.patch - # https://gitlab.com/OpenMW/openmw/-/merge_requests/163 - "${DISTDIR}"/openmw-0.46.0-floattest.patch - "${FILESDIR}"/openmw-0.46.0-floattest2.patch - "${FILESDIR}"/openmw-0.46.0-gcc11.patch - "${FILESDIR}"/openmw-0.46.0-boost-1.77.patch -) - -src_prepare() { - cmake_src_prepare - - # Use the system tinyxml headers - rm -v extern/oics/tiny{str,xml}* || die - - # Unbundle recastnavigation - rm -vr extern/recastnavigation || die - sed -i "s#GENTOO_RECAST_LIBDIR#${EPREFIX}/usr/$(get_libdir)#" CMakeLists.txt || die -} - -src_configure() { - use devtools && ! use qt5 && \ - elog "'qt5' USE flag is disabled, 'openmw-cs' will not be installed" - - append-cxxflags "-I${EPREFIX}/usr/include/recastnavigation" - - local mycmakeargs=( - -DBUILD_BSATOOL=$(usex devtools) - -DBUILD_DOCS=$(usex doc) - -DBUILD_ESMTOOL=$(usex devtools) - -DBUILD_LAUNCHER=$(usex qt5) - -DBUILD_NIFTEST=$(usex devtools) - -DBUILD_OPENCS=$(usex devtools $(usex qt5)) - -DBUILD_WIZARD=$(usex qt5) - -DBUILD_UNITTESTS=$(usex test) - -DGLOBAL_DATA_PATH="${EPREFIX}/usr/share" - -DICONDIR="${EPREFIX}/usr/share/icons/hicolor/256x256/apps" - -DMORROWIND_DATA_FILES="${EPREFIX}/usr/share/morrowind-data" - -DUSE_SYSTEM_TINYXML=ON - -DDESIRED_QT_VERSION=5 - ) - - cmake_src_configure -} - -src_compile() { - cmake_src_compile - - if use doc ; then - cmake_src_compile doc - find "${CMAKE_BUILD_DIR}"/docs/Doxygen/html \ - -name '*.md5' -type f -delete || die - HTML_DOCS=( "${CMAKE_BUILD_DIR}"/docs/Doxygen/html/. ) - fi -} - -src_test() { - "${BUILD_DIR}/openmw_test_suite" || die -} - -src_install() { - cmake_src_install - - local DOC_CONTENTS=" - You need the original Morrowind data files. If you haven't - installed them yet, you can install them straight via the - installation wizard which is the officially supported method - (either by using the launcher or by calling 'openmw-wizard' - directly).\n" - - if ! use qt5; then - local DOC_CONTENTS+="\n\n - USE flag 'qt5' is disabled, 'openmw-launcher' and - 'openmw-wizard' are not available. You are on your own for - making the Morrowind data files available and pointing - openmw at them.\n\n - Additionally; you must import the Morrowind.ini file before - running openmw with the Morrowind data files for the first - time. Typically this can be done like so:\n\n - \t mkdir -p ~/.config/openmw\n - \t openmw-iniimporter /path/to/Morrowind.ini ~/.config/openmw/openmw.cfg" - fi - - readme.gentoo_create_doc -} - -pkg_postinst() { - xdg_icon_cache_update - readme.gentoo_print_elog -} - -pkg_postrm() { - xdg_icon_cache_update -} -- cgit v1.2.3-65-gdbad