1 |
commit: 07e2fbfa818eaa409bc74f90e7c09ced0736b5ec |
2 |
Author: David Seifert <soap <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jun 22 21:06:57 2019 +0000 |
4 |
Commit: David Seifert <soap <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jun 22 21:06:57 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=07e2fbfa |
7 |
|
8 |
sci-mathematics/gfan: Fix building against GCC 9 |
9 |
|
10 |
Closes: https://bugs.gentoo.org/686484 |
11 |
Package-Manager: Portage-2.3.67, Repoman-2.3.15 |
12 |
Signed-off-by: David Seifert <soap <AT> gentoo.org> |
13 |
|
14 |
sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch | 68 ++++++++++++++++++++++ |
15 |
sci-mathematics/gfan/gfan-0.5-r1.ebuild | 1 + |
16 |
2 files changed, 69 insertions(+) |
17 |
|
18 |
diff --git a/sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch b/sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch |
19 |
new file mode 100644 |
20 |
index 00000000000..930baf9edcf |
21 |
--- /dev/null |
22 |
+++ b/sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch |
23 |
@@ -0,0 +1,68 @@ |
24 |
+https://bugs.gentoo.org/686484 |
25 |
+ |
26 |
+polyhedralfan.h: At global scope: |
27 |
+polyhedralfan.h:77:24: error: friend declaration of ‘PolyhedralFan refinement(const PolyhedralFan&, const PolyhedralFan&, int, bool)’ specifies default arguments and isn’t a definition [-fpermissive] |
28 |
+ 77 | friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false); |
29 |
+ | ^~~~~~~~~~ |
30 |
+ |
31 |
+--- a/gfanlib_polyhedralfan.h |
32 |
++++ b/gfanlib_polyhedralfan.h |
33 |
+@@ -24,6 +24,8 @@ |
34 |
+ typedef std::map<int,IntVectorList> IncidenceList; |
35 |
+ |
36 |
+ |
37 |
++class PolyhedralFan; |
38 |
++PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false); |
39 |
+ |
40 |
+ /** A PolyhedralFan is simply a collection of canonicalized PolyhedralCones. |
41 |
+ * It contains no combinatorial information in the sense of a polyhedral complex. |
42 |
+@@ -52,7 +54,7 @@ |
43 |
+ int getAmbientDimension()const; |
44 |
+ int getMaxDimension()const; |
45 |
+ int getMinDimension()const; |
46 |
+- friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false); |
47 |
++ friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension, bool allowASingleConeOfCutOffDimension); |
48 |
+ ZMatrix getRays(int dim=1);//This can be called for other dimensions than 1. The term "Rays" still makes sense modulo the common linearity space |
49 |
+ ZMatrix getRelativeInteriorPoints(); |
50 |
+ void insert(ZCone const &c); |
51 |
+--- a/halfopencone.h |
52 |
++++ b/halfopencone.h |
53 |
+@@ -6,6 +6,9 @@ |
54 |
+ |
55 |
+ #include "polyhedralfan.h" |
56 |
+ |
57 |
++class HalfOpenCone; |
58 |
++HalfOpenCone intersection(const HalfOpenCone &a, const HalfOpenCone &b, bool findFacets=false); |
59 |
++ |
60 |
+ class HalfOpenCone{ |
61 |
+ static void appendList(IntegerVectorList &to, IntegerVectorList const &from, int appendValue); |
62 |
+ int liftedDimension;//ambient |
63 |
+@@ -18,7 +21,7 @@ |
64 |
+ HalfOpenCone(int dimension_, IntegerVectorList const &equations, IntegerVectorList const &nonstrict, IntegerVectorList const &strict, bool findFacets=false, bool canonicalize=false); |
65 |
+ HalfOpenCone(int ambientDimension);//full space |
66 |
+ bool isEmpty(); |
67 |
+- friend HalfOpenCone intersection(const HalfOpenCone &a, const HalfOpenCone &b, bool findFacets=false); |
68 |
++ friend HalfOpenCone intersection(const HalfOpenCone &a, const HalfOpenCone &b, bool findFacets); |
69 |
+ friend bool haveEmptyIntersection(const HalfOpenCone &a, const HalfOpenCone &b); |
70 |
+ PolyhedralCone closure(); |
71 |
+ void splitIntoRelativelyOpenCones(list<HalfOpenCone> &l); |
72 |
+--- a/polyhedralfan.h |
73 |
++++ b/polyhedralfan.h |
74 |
+@@ -30,6 +30,8 @@ |
75 |
+ FPF_default=2+4+8 |
76 |
+ }; |
77 |
+ |
78 |
++class PolyhedralFan; |
79 |
++PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false); |
80 |
+ |
81 |
+ /** A PolyhedralFan is simply a collection of canonicalized PolyhedralCones. |
82 |
+ * It contains no combinatorial information in the sense of a polyhedral complex. |
83 |
+@@ -74,7 +76,7 @@ |
84 |
+ int getAmbientDimension()const; |
85 |
+ int getMaxDimension()const; |
86 |
+ int getMinDimension()const; |
87 |
+- friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false); |
88 |
++ friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension, bool allowASingleConeOfCutOffDimension); |
89 |
+ friend PolyhedralFan product(const PolyhedralFan &a, const PolyhedralFan &b); |
90 |
+ IntegerVectorList getRays(int dim=1);//This can be called for other dimensions than 1. The term "Rays" still makes sense modulo the common linearity space |
91 |
+ IntegerVectorList getRelativeInteriorPoints(); |
92 |
|
93 |
diff --git a/sci-mathematics/gfan/gfan-0.5-r1.ebuild b/sci-mathematics/gfan/gfan-0.5-r1.ebuild |
94 |
index 5d1d84e462a..1cd8c95fbec 100644 |
95 |
--- a/sci-mathematics/gfan/gfan-0.5-r1.ebuild |
96 |
+++ b/sci-mathematics/gfan/gfan-0.5-r1.ebuild |
97 |
@@ -24,6 +24,7 @@ PATCHES=( |
98 |
"${FILESDIR}"/${P}-double-declare-fix.patch |
99 |
"${FILESDIR}"/${P}-gcc6.1-compat.patch |
100 |
"${FILESDIR}"/${P}-fix-build-system.patch |
101 |
+ "${FILESDIR}"/${P}-fix-gcc9.patch |
102 |
) |
103 |
|
104 |
src_configure() { |