commit: ff32a770a509011f0f527f2972e7f4825d3f6281 Author: Grégory Salvan <apieum <AT> gmail <DOT> com> AuthorDate: Sat Feb 20 21:18:33 2016 +0000 Commit: Justin Lecher <jlec <AT> gentoo <DOT> org> CommitDate: Mon Feb 22 08:36:31 2016 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=ff32a770
added fedora metis patch .../netgen/files/netgen-5.x-fedora-metis.patch | 93 ++++++++++++++++++++++ sci-mathematics/netgen/netgen-5.3.1.ebuild | 2 + 2 files changed, 95 insertions(+) diff --git a/sci-mathematics/netgen/files/netgen-5.x-fedora-metis.patch b/sci-mathematics/netgen/files/netgen-5.x-fedora-metis.patch new file mode 100644 index 0000000..68b3396 --- /dev/null +++ b/sci-mathematics/netgen/files/netgen-5.x-fedora-metis.patch @@ -0,0 +1,93 @@ +--- ./netgen-5.3.1/libsrc/meshing/parallelmesh.cpp 2016-02-20 21:55:59.227450843 +0100 ++++ ./netgen/libsrc/meshing/parallelmesh.cpp 2016-02-20 21:46:32.331435233 +0100 +@@ -14,7 +14,7 @@ + + #if METIS_VER_MAJOR >= 5 + #define METIS5 +- typedef idx_t idxtype; ++ typedef metis::idx_t idxtype; + #else + #define METIS4 + typedef idxtype idx_t; +@@ -794,10 +794,10 @@ + eptr.Append (eind.Size()); + Array<idx_t> epart(ne), npart(nn); + +- int nparts = ntasks-1; +- int edgecut; ++ metis::idx_t nparts = ntasks-1; ++ metis::idx_t edgecut; + +- int ncommon = 3; ++ metis::idx_t ncommon = 3; + METIS_PartMeshDual (&ne, &nn, &eptr[0], &eind[0], NULL, NULL, &ncommon, &nparts, + NULL, NULL, + &edgecut, &epart[0], &npart[0]); +@@ -1029,11 +1029,11 @@ + eptr.Append (eind.Size()); + Array<idx_t> epart(ne), npart(nn); + +- int nparts = ntasks-1; +- int edgecut; ++ metis::idx_t nparts = ntasks-1; ++ metis::idx_t edgecut; + + +- int ncommon = 3; ++ metis::idx_t ncommon = 3; + METIS_PartMeshDual (&ne, &nn, &eptr[0], &eind[0], &nwgt[0], NULL, &ncommon, &nparts, + NULL, NULL, + &edgecut, &epart[0], &npart[0]); +@@ -1266,7 +1266,7 @@ + + for ( int vert = 0; vert < nn; vert++ ) + { +- FlatArray<int> array ( cnt[vert], &adjacency[ xadj[vert] ] ); ++ FlatArray<metis::idx_t> array ( cnt[vert], &adjacency[ xadj[vert] ] ); + BubbleSort(array); + } + +@@ -1377,7 +1377,7 @@ + + for ( int el = 0; el < ne; el++ ) + { +- FlatArray<int> array ( cnt[el], &adjacency[ xadj[el] ] ); ++ FlatArray<metis::idx_t> array ( cnt[el], &adjacency[ xadj[el] ] ); + BubbleSort(array); + } + +@@ -1428,8 +1428,8 @@ + void Mesh :: PartDualHybridMesh2D ( ) + { + #ifdef METIS +- int ne = GetNSE(); +- int nv = GetNV(); ++ metis::idx_t ne = GetNSE(); ++ metis::idx_t nv = GetNV(); + + Array<idxtype> xadj(ne+1); + Array<idxtype> adjacency(ne*4); +@@ -1484,18 +1484,18 @@ + + idxtype *v_weights = NULL, *e_weights = NULL; + +- int weightflag = 0; +- int numflag = 0; +- int nparts = ntasks - 1; ++ metis::idx_t weightflag = 0; ++ metis::idx_t numflag = 0; ++ metis::idx_t nparts = ntasks - 1; + +- int edgecut; ++ metis::idx_t edgecut; + Array<idxtype> part(ne); + + for ( int el = 0; el < ne; el++ ) + BubbleSort (adjacency.Range (xadj[el], xadj[el+1])); + + #ifdef METIS4 +- int options[5]; ++ metis::idx_t options[5]; + options[0] = 0; + METIS_PartGraphKway ( &ne, &xadj[0], &adjacency[0], v_weights, e_weights, &weightflag, + &numflag, &nparts, options, &edgecut, &part[0] ); diff --git a/sci-mathematics/netgen/netgen-5.3.1.ebuild b/sci-mathematics/netgen/netgen-5.3.1.ebuild index 9a1f35c..cf09c82 100644 --- a/sci-mathematics/netgen/netgen-5.3.1.ebuild +++ b/sci-mathematics/netgen/netgen-5.3.1.ebuild @@ -36,6 +36,8 @@ src_prepare() { # Adapted from http://sourceforge.net/projects/netgen-mesher/forums/forum/905307/topic/5422824 epatch "${FILESDIR}/${PN}-5.x-missing-define.patch" epatch "${FILESDIR}/${PN}-5.x-metis-numflag.patch" + # Taken from http://pkgs.fedoraproject.org/cgit/rpms/netgen-mesher.git/tree/netgen-5.3.0_metis.patch + epatch "${FILESDIR}/${PN}-5.x-fedora-metis.patch" epatch "${FILESDIR}/${PN}-5.x-occ-stl-api-change.patch" if use mpi; then export CC=mpicc