commit: 58275ce7ddf2287f6b1457d0b7912fcd722eb4c3
Author: Thomas Kahle <tomka <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 13 15:58:50 2015 +0000
Commit: Thomas Kahle <tomka <AT> gentoo <DOT> org>
CommitDate: Fri Nov 13 15:59:04 2015 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=58275ce7
sci-mathematics/normaliz: add gmp-6.1 compatibility
Fixes bug 565366.
Package-Manager: portage-2.2.20.1
.../files/normaliz-3.0.0-gmp61-compat.patch | 70 ++++++++++++++++++++++
sci-mathematics/normaliz/normaliz-3.0.0.ebuild | 1 +
2 files changed, 71 insertions(+)
diff --git a/sci-mathematics/normaliz/files/normaliz-3.0.0-gmp61-compat.patch
b/sci-mathematics/normaliz/files/normaliz-3.0.0-gmp61-compat.patch
new file mode 100644
index 0000000..cf6f81f
--- /dev/null
+++ b/sci-mathematics/normaliz/files/normaliz-3.0.0-gmp61-compat.patch
@@ -0,0 +1,70 @@
+diff --git a/source/libnormaliz/HilbertSeries.cpp
b/source/libnormaliz/HilbertSeries.cpp
+index 311b839..47a84cd 100644
+--- a/source/libnormaliz/HilbertSeries.cpp
++++ b/source/libnormaliz/HilbertSeries.cpp
+@@ -399,7 +399,7 @@ void HilbertSeries::computeHilbertQuasiPolynomial() const {
+ //divide by gcd //TODO operate directly on vector
+ Matrix<mpz_class> QP(quasi_poly);
+ mpz_class g = QP.matrix_gcd();
+- g = gcd(g,quasi_denom);
++ g = libnormaliz::gcd(g,quasi_denom);
+ quasi_denom /= g;
+ QP.scalar_division(g);
+ //we use a normed shift, so that the cylcic shift % period always yields
a non-negative integer
+diff --git a/source/libnormaliz/matrix.cpp b/source/libnormaliz/matrix.cpp
+index d643eca..ae7684c 100644
+--- a/source/libnormaliz/matrix.cpp
++++ b/source/libnormaliz/matrix.cpp
+@@ -735,7 +735,7 @@ Integer Matrix<Integer>::matrix_gcd() const{
+ Integer g=0,h;
+ for (size_t i = 0; i <nr; i++) {
+ h = v_gcd(elem[i]);
+- g = gcd<Integer>(g, h);
++ g = libnormaliz::gcd<Integer>(g, h);
+ if (g==1) return g;
+ }
+ return g;
+@@ -1766,7 +1766,7 @@ vector<Integer> Matrix<Integer>::solve_rectangular(const
vector<Integer>& v, Int
+ return vector<Integer>();
+ }
+ }
+- Integer total_gcd =gcd(denom,v_gcd(Linear_Form)); // extract the gcd of
denom and solution
++ Integer total_gcd = libnormaliz::gcd(denom,v_gcd(Linear_Form)); //
extract the gcd of denom and solution
+ denom/=total_gcd;
+ v_scalar_division(Linear_Form,total_gcd);
+ return Linear_Form;
+diff --git a/source/libnormaliz/sublattice_representation.cpp
b/source/libnormaliz/sublattice_representation.cpp
+index e3a7c9d..f5bba3e 100644
+--- a/source/libnormaliz/sublattice_representation.cpp
++++ b/source/libnormaliz/sublattice_representation.cpp
+@@ -213,7 +213,7 @@ void Sublattice_Representation<Integer>::compose(const
Sublattice_Representation
+
+ //check if a factor can be extraced from B //TODO necessary?
+ Integer g = B.matrix_gcd();
+- g = gcd(g,c); //TODO necessary??
++ g = libnormaliz::gcd(g,c); //TODO necessary??
+ if (g > 1) {
+ c /= g;
+ B.scalar_division(g);
+diff --git a/source/libnormaliz/vector_operations.cpp
b/source/libnormaliz/vector_operations.cpp
+index 7c676e9..7103775 100644
+--- a/source/libnormaliz/vector_operations.cpp
++++ b/source/libnormaliz/vector_operations.cpp
+@@ -240,7 +240,7 @@ Integer v_gcd(const vector<Integer>& v){
+ size_t i, size=v.size();
+ Integer g=0;
+ for (i = 0; i < size; i++) {
+- g=gcd(g,v[i]);
++ g = libnormaliz::gcd(g,v[i]);
+ if (g==1) {
+ return 1;
+ }
+@@ -255,7 +255,7 @@ Integer v_lcm(const vector<Integer>& v){
+ size_t i,size=v.size();
+ Integer g=1;
+ for (i = 0; i < size; i++) {
+- g=lcm(g,v[i]);
++ g = libnormaliz::lcm(g,v[i]);
+ if (g==0) {
+ return 0;
+ }
diff --git a/sci-mathematics/normaliz/normaliz-3.0.0.ebuild
b/sci-mathematics/normaliz/normaliz-3.0.0.ebuild
index 749e006..834f990 100644
--- a/sci-mathematics/normaliz/normaliz-3.0.0.ebuild
+++ b/sci-mathematics/normaliz/normaliz-3.0.0.ebuild
@@ -27,6 +27,7 @@ DEPEND="${RDEPEND}
S=${WORKDIR}/${MYP}
src_prepare () {
+ epatch "${FILESDIR}/${P}-gmp61-compat.patch"
epatch "${FILESDIR}/${P}-respect-flags.patch"
epatch "${FILESDIR}/${PN}-2.12.2-gcc49.patch"