summaryrefslogtreecommitdiff
path: root/media-gfx/netgen
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/netgen')
-rw-r--r--media-gfx/netgen/Manifest3
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2302-opencascade-7.8.0.patch147
-rw-r--r--media-gfx/netgen/netgen-6.2.2302.ebuild1
3 files changed, 150 insertions, 1 deletions
diff --git a/media-gfx/netgen/Manifest b/media-gfx/netgen/Manifest
index 118589c4a8c2..0b2eb706d7fc 100644
--- a/media-gfx/netgen/Manifest
+++ b/media-gfx/netgen/Manifest
@@ -6,6 +6,7 @@ AUX netgen-6.2.2204-use-system-catch.patch 1521 BLAKE2B 34ee6fedced5381a1e2152fd
AUX netgen-6.2.2204-use-system-spdlog.patch 1390 BLAKE2B 541725d179a0b3f9f9430f1268478adfdf378940b4503e962dd59071e8ac0dba60c5445d036d73103f6ec25017a1335f6eb7bfc38debb0ccff810229d5466890 SHA512 1519ce3628f2c5f17afea34bd4ebf102f2688c9440504f6828c611b749b0ae5b7d80b2b688c13769f6bd911faeb3d9d4f83e1ba663d8d5bdb2ef5bc2076f873c
AUX netgen-6.2.2301-find-libjpeg-turbo-library.patch 1280 BLAKE2B 47cbb27914badd316078acbf57d0ec13da80ade19c6f20602dec1bb42d9b6929cd017ee9120c651dfffcfb2e9c925798a327bd07561823f50702536487343a06 SHA512 c0c774d47bc405357c09454c528391062cec9d2f4a39757409894407bca28a8bf2332bfa60bdba3f99948d5d8871833cc56123ba212e97862f6cc7d09dedb3a8
AUX netgen-6.2.2301-fix-nullptr-deref-in-archive.patch 1012 BLAKE2B 2de4195438ce6dec88d1bc0d05f841bb959690b271cb1a40464ae81cc056e4520246c49533a2dc90ee88a29f450b9bf89a285342f9e8a08f0b9a44cee1933ec2 SHA512 3f28bce676c3db1d0dd05ff21716745dfc01b8d9f5cc6c278baed76f10514d283e78012f04fca956f71337f4a34287f949b06881a12cb84ae812a61bd1ff79ea
+AUX netgen-6.2.2302-opencascade-7.8.0.patch 3859 BLAKE2B 6a76eb5839aaa8e420dc4160fdaca2b2e6df7f7d7467026e5d86315403a875bbde2af2df87f0be34029c515659035e3ad434bbba68182bf9b994892e65873c8f SHA512 79edea3c079db0ae295d2692ebc07c6b5a9431697c424fbd57089a999f8882e76e06448ecc63a32c97f9c7317df16b86ad5830c0394ddb748f70c311b3f6824b
DIST netgen-6.2.2302.tar.gz 3398683 BLAKE2B 7cf4626ee8163898864af0346cf2c4fa73dcca3ac2068d67f80b05ee926024b36552b33013c2ef8f74026ab942ae08c0628af0ce0c0dac2d004ba26e18bf4619 SHA512 da6e8e43d73af6b7bfae2e3c771d46e34601ff481c251924673f7330bae032a743fb9d5ff2792855e91ed5addb4d22fd4bf9cd7a9dcfb53f476e22a30f1eedb3
-EBUILD netgen-6.2.2302.ebuild 4089 BLAKE2B 1d663d3a6d22a2b2c6196719b26a61d300735a917bb7493a76779dcd183526650f3ed2739405439988642b2c41af9eadee169e1104c7cbb0efe0747a57895d4c SHA512 3a8f4dd92088288330d4f63390d04bc867724766d12798ee35e7caa7e8691d74619c5cabead75cf24ae07c8cfc0f26bc4ad30e2683420f7f36ba4833e9b4a68f
+EBUILD netgen-6.2.2302.ebuild 4143 BLAKE2B bf8b8af09769ba0b120d9ddf264ddc1994a84a02bbe8d19107e8eaf17a6c46b6d7070a38863d352f101bc6c2a9dabc6bb75b72bf925c9bc89017aea00e144642 SHA512 16197a671d6bec6da0cd144c270f3c0fceece515ce63bfa393faf6d11b9101f7752d5d09af36ba3b08bde41557b4a85fd7df8f53af9ad0a597fa3537d0e621e8
MISC metadata.xml 649 BLAKE2B 01bb3d452a1f0002e2e5b8589c2ff83668b2135705599a3223fe37bc89287423f2bef8af15bd949e08c40e7e7ef304362fa8900b048f85b3ad95bcbbc1a7caed SHA512 072b3dc1049e26655316756255a96d34d2e2964296088d0768a8a6953703840d936aace4625b2a46bb36cc147c2814dfe537e01662294c3d5b02f397e5255d0b
diff --git a/media-gfx/netgen/files/netgen-6.2.2302-opencascade-7.8.0.patch b/media-gfx/netgen/files/netgen-6.2.2302-opencascade-7.8.0.patch
new file mode 100644
index 000000000000..0c5664edd6bb
--- /dev/null
+++ b/media-gfx/netgen/files/netgen-6.2.2302-opencascade-7.8.0.patch
@@ -0,0 +1,147 @@
+https://bugs.gentoo.org/930171
+https://github.com/NGSolve/netgen/issues/170
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -372,25 +372,20 @@ if (USE_OCC)
+ TKGeomAlgo
+ TKGeomBase
+ TKHLR
+- TKIGES
+ TKLCAF
+ TKMath
+ TKMesh
+ TKOffset
+ TKPrim
+- TKSTEP
+- TKSTEP209
+- TKSTEPAttr
+- TKSTEPBase
+- TKSTL
++ TKDESTL
+ TKService
+ TKShHealing
+ TKTopAlgo
+ TKV3d
+ TKVCAF
+ TKXCAF
+- TKXDEIGES
+- TKXDESTEP
++ TKDEIGES
++ TKDESTEP
+ TKXSBase
+ TKernel
+ )
+--- a/libsrc/occ/Partition_Loop3d.hxx
++++ b/libsrc/occ/Partition_Loop3d.hxx
+@@ -10,27 +10,16 @@
+ #ifndef _Partition_Loop3d_HeaderFile
+ #define _Partition_Loop3d_HeaderFile
+
+-#ifndef _TopTools_ListOfShape_HeaderFile
+-#include <TopTools_ListOfShape.hxx>
+-#endif
+-#ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile
+-#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
+-#endif
+-#ifndef _Standard_Boolean_HeaderFile
++#include <Standard_Version.hxx>
+ #include <Standard_Boolean.hxx>
+-#endif
+-#ifndef _Standard_Real_HeaderFile
+ #include <Standard_Real.hxx>
+-#endif
+-#ifndef _Standard_Version_HeaderFile
+-#include <Standard_Version.hxx>
+-#endif
++#include <TopTools_ListOfShape.hxx>
++#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
+
+-#if OCC_VERSION_HEX < 0x070000
++#if OCC_VERSION_HEX < 0x070000 || OCC_VERSION_HEX > 0x070799
+ #else
+ #include <TopTools_ShapeMapHasher.hxx>
+ #include <TopTools_OrientedShapeMapHasher.hxx>
+- #include <TopTools_MapOfOrientedShape.hxx>
+ #endif
+
+ class TopoDS_Shape;
+@@ -38,6 +27,8 @@ class TopoDS_Shape;
+ #if OCC_VERSION_HEX < 0x070000
+ class TopTools_ListOfShape;
+ class TopTools_MapOfOrientedShape;
++#else
++#include <TopTools_MapOfOrientedShape.hxx>
+ #endif
+
+ class TopoDS_Edge;
+--- a/libsrc/occ/occ_edge.cpp
++++ b/libsrc/occ/occ_edge.cpp
+@@ -55,7 +55,11 @@ namespace netgen
+
+ size_t OCCEdge::GetHash() const
+ {
++#if OCC_VERSION_HEX < 0x070800
+ return edge.HashCode(std::numeric_limits<Standard_Integer>::max());
++#else
++ return std::hash<TopoDS_Shape>{}(edge);
++#endif
+ }
+
+ void OCCEdge::ProjectPoint(Point<3>& p, EdgePointGeomInfo* gi) const
+--- a/libsrc/occ/occ_face.cpp
++++ b/libsrc/occ/occ_face.cpp
+@@ -32,7 +32,11 @@ namespace netgen
+
+ size_t OCCFace::GetHash() const
+ {
++#if OCC_VERSION_HEX < 0x070800
+ return face.HashCode(std::numeric_limits<Standard_Integer>::max());
++#else
++ return std::hash<TopoDS_Shape>{}(face);
++#endif
+ }
+
+ Point<3> OCCFace::GetCenter() const
+--- a/libsrc/occ/occ_solid.hpp
++++ b/libsrc/occ/occ_solid.hpp
+@@ -16,8 +16,11 @@ namespace netgen
+ OCCSolid(TopoDS_Shape dshape)
+ : solid(TopoDS::Solid(dshape))
+ { }
+-
++#if OCC_VERSION_HEX < 0x070800
+ size_t GetHash() const override { return solid.HashCode(std::numeric_limits<Standard_Integer>::max()); }
++#else
++ size_t GetHash() const override { return std::hash<TopoDS_Solid>{}(solid); }
++#endif
+ };
+ }
+
+--- a/libsrc/occ/occ_vertex.cpp
++++ b/libsrc/occ/occ_vertex.cpp
+@@ -19,6 +19,10 @@ namespace netgen
+
+ size_t OCCVertex::GetHash() const
+ {
++#if OCC_VERSION_HEX < 0x070800
+ return vertex.HashCode(std::numeric_limits<Standard_Integer>::max());
++#else
++ return std::hash<TopoDS_Shape>{}(vertex);
++#endif
+ }
+ }
+--- a/libsrc/occ/occgeom.cpp
++++ b/libsrc/occ/occgeom.cpp
+@@ -1625,8 +1625,12 @@
+
+ // enumerate shapes and archive only integers
+ auto my_hash = [](const TopoDS_Shape & key) {
++#if OCC_VERSION_HEX < 0x070800
+ auto occ_hash = key.HashCode(1<<31UL);
+ return std::hash<decltype(occ_hash)>()(occ_hash);
++#else
++ return std::hash<TopoDS_Shape>{}(key);
++#endif
+ };
+ TopTools_IndexedMapOfShape shape_map;
+ Array<TopoDS_Shape> shape_list;
diff --git a/media-gfx/netgen/netgen-6.2.2302.ebuild b/media-gfx/netgen/netgen-6.2.2302.ebuild
index 5a86024f6f64..5b3aa9d3d837 100644
--- a/media-gfx/netgen/netgen-6.2.2302.ebuild
+++ b/media-gfx/netgen/netgen-6.2.2302.ebuild
@@ -74,6 +74,7 @@ PATCHES=(
"${FILESDIR}/${PN}-6.2.2204-disable-python-tests.patch"
"${FILESDIR}/${PN}-6.2.2301-find-libjpeg-turbo-library.patch"
"${FILESDIR}/${PN}-6.2.2301-fix-nullptr-deref-in-archive.patch"
+ "${FILESDIR}/${PN}-6.2.2302-opencascade-7.8.0.patch"
)
pkg_setup() {