[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