[L-function] Rebuild with pari 2.7 and gcc 4.9

pcpa pcpa at fedoraproject.org
Mon May 26 17:33:25 UTC 2014


commit 9612d1136b6d0e38da9adb04b058a270b5455d67
Author: pcpa <paulo.cesar.pereira.de.andrade at gmail.com>
Date:   Mon May 26 14:33:16 2014 -0300

    Rebuild with pari 2.7 and gcc 4.9

 L-1.23-pari.patch |   50 --------------------------------------------------
 L-function.spec   |   13 ++++++++++---
 L-gcc4.9.patch    |   22 ++++++++++++++++++++++
 pari_2.7.patch    |   45 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 77 insertions(+), 53 deletions(-)
---
diff --git a/L-function.spec b/L-function.spec
index 8e4674f..b0c6023 100644
--- a/L-function.spec
+++ b/L-function.spec
@@ -1,6 +1,6 @@
 Name:		L-function
 Version:	1.23
-Release:	9%{?dist}
+Release:	10%{?dist}
 Summary:	C++ L-function class library and command line interface
 Group:		Applications/Engineering
 License:	GPLv2+
@@ -11,10 +11,12 @@ URL:		http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/L.html
 BuildRequires:	gmp-devel
 BuildRequires:	pari-devel
 Patch0:		L-fix-broken-include-of-libc++.diff
-# Build with newer pari
-Patch1:		L-1.23-pari.patch
+# Build with pari 2.7
+Patch1:		pari_2.7.patch
 # Correct problem with inline functions casting to double with gcc 4.6 or newer
 Patch2:		L-1.23-lcalc_to_double.patch
+# http://gcc.gnu.org/gcc-4.9/porting_to.html
+Patch3:		L-gcc4.9.patch
 
 %description
 C++ L-function class library and command line interface.
@@ -32,6 +34,7 @@ Headers and libraries for development with %{name}.
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 rm -f .*DS_Store
 rm -f include/*.{swap.crap,bak}
 rm -f include/.*{DS_Store,.swp}
@@ -104,6 +107,10 @@ popd
 %{_libdir}/libLfunction.so
 
 %changelog
+* Mon May 26 2014 pcpa <paulo.cesar.pereira.de.andrade at gmail.com> - 1.23-10
+- Add Debian patch to rebuild with pari 2.7.
+- Add patch to build with gcc 4.9.
+
 * Fri Aug 02 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.23-9
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
 
diff --git a/L-gcc4.9.patch b/L-gcc4.9.patch
new file mode 100644
index 0000000..6e0c50a
--- /dev/null
+++ b/L-gcc4.9.patch
@@ -0,0 +1,22 @@
+--- L-1.23/include/L.h.orig	2014-04-20 19:07:29.371168114 -0300
++++ L-1.23/include/L.h	2014-04-20 19:07:49.035167285 -0300
+@@ -491,7 +491,7 @@ public:
+ 
+     //#include "Ldirichlet_series.h" //for computing Dirichlet series
+     Complex partial_dirichlet_series(Complex s, long long N1, long long N2);
+-    Complex dirichlet_series(Complex s, long long N);
++    Complex dirichlet_series(Complex s, long long N=-1);
+ 
+     //#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series
+     //void compute_taylor_series(int N, int K, Complex s_0, Complex *series);
+--- L-1.23/include/Ldirichlet_series.h.orig	2014-04-20 19:18:35.481140046 -0300
++++ L-1.23/include/Ldirichlet_series.h	2014-04-20 19:18:51.046139390 -0300
+@@ -43,7 +43,7 @@ partial_dirichlet_series(Complex s, long
+  //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ template <class ttype>
+ Complex L_function <ttype>::
+-dirichlet_series(Complex s, long long N=-1)
++dirichlet_series(Complex s, long long N)
+ {
+     Complex z=0.;
+     long long m,n;
diff --git a/pari_2.7.patch b/pari_2.7.patch
new file mode 100644
index 0000000..6ff83a5
--- /dev/null
+++ b/pari_2.7.patch
@@ -0,0 +1,45 @@
+Description: Port to pari 2.7 API
+Author: Luca Falavigna <dktrkranz at debian.org>
+        Tobias Hansen <thansen at debian.org>
+Bug-Debian: http://bugs.debian.org/635506
+            http://bugs.debian.org/743327
+
+--- a/src/Lcommandline.cc
++++ b/src/Lcommandline.cc
+@@ -473,7 +473,7 @@
+ 
+ #ifdef INCLUDE_PARI
+         if(do_elliptic_curve){
+-             allocatemoremem((int) N_terms*16+1000000); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double
++             allocatemem((int) N_terms*16+1000000); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double
+              if (my_verbose>0) cout << "Will precompute " << N_terms << " elliptic L-function dirichlet coefficients..." << endl;
+              initialize_new_L(a1,a2,a3,a4,a6,N_terms); 
+         }
+--- a/src/Lcommandline_elliptic.cc
++++ b/src/Lcommandline_elliptic.cc
+@@ -121,11 +121,11 @@
+ 
+ 
+     F = cgetg(6, t_VEC);
+-    F[1] = lgeti(BIGDEFAULTPREC);
+-    F[2] = lgeti(BIGDEFAULTPREC);
+-    F[3] = lgeti(BIGDEFAULTPREC);
+-    F[4] = lgeti(BIGDEFAULTPREC);
+-    F[5] = lgeti(BIGDEFAULTPREC);
++    F[1] = (long)cgeti(BIGDEFAULTPREC);
++    F[2] = (long)cgeti(BIGDEFAULTPREC);
++    F[3] = (long)cgeti(BIGDEFAULTPREC);
++    F[4] = (long)cgeti(BIGDEFAULTPREC);
++    F[5] = (long)cgeti(BIGDEFAULTPREC);
+ 
+     //gaffsg(a1,(GEN) F[1]);
+     //gaffsg(a2,(GEN) F[2]);
+@@ -139,7 +139,7 @@
+     gaffect(strtoGEN(a4), (GEN) F[4]);
+     gaffect(strtoGEN(a6), (GEN) F[5]);
+ 
+-    E = initell(F,BIGDEFAULTPREC);
++    E = ellinit(F, NULL, BIGDEFAULTPREC);
+ 
+     C=globalreduction(E);
+ 


More information about the scm-commits mailing list