libraries/cln: Updated for version 1.3.2.

Added also a couple of patches from git

Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
This commit is contained in:
Matteo Bernardini 2012-09-16 12:30:22 +02:00 committed by dsomero
parent bc667d5638
commit aa1f82bec5
4 changed files with 203 additions and 5 deletions

View file

@ -22,7 +22,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=cln
VERSION=1.3.1
VERSION=1.3.2
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@ -61,11 +61,16 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
# Apply some patches from git
for i in $CWD/patches/* ; do patch -p1 < $i ; done
autoreconf -i
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \

View file

@ -1,8 +1,8 @@
PRGNAM="cln"
VERSION="1.3.1"
VERSION="1.3.2"
HOMEPAGE="http://www.ginac.de/CLN"
DOWNLOAD="http://www.ginac.de/CLN/cln-1.3.1.tar.bz2"
MD5SUM="ede584cb1cafa66d56f42a3cf420469d"
DOWNLOAD="http://ponce.cc/slackware/sources/repo/cln-1.3.2.tar.xz"
MD5SUM="0362e5d09eded27a3beb37c8db826a0f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""

View file

@ -0,0 +1,34 @@
From: Richard Kreckel <kreckel@ginac.de>
Date: Fri, 2 Mar 2012 22:40:34 +0000 (+0100)
Subject: Fix bug in converting cl_LF to float, double.
X-Git-Url: http://www.ginac.de/CLN/cln.git/?p=cln.git;a=commitdiff_plain;h=3c6225a8b3fedffaba7279d86db96b8f180b3f28
Fix bug in converting cl_LF to float, double.
---
diff --git a/src/float/conv/cl_LF_to_double.cc b/src/float/conv/cl_LF_to_double.cc
index 078bd1b..f9f5e86 100644
--- a/src/float/conv/cl_LF_to_double.cc
+++ b/src/float/conv/cl_LF_to_double.cc
@@ -20,7 +20,7 @@ double double_approx (const cl_LF& x)
{
// x entpacken:
var cl_signean sign;
- var sintL exp;
+ var sintE exp;
var uintD* ptr;
var uintC len;
LF_decode(x, { return 0.0; }, sign=,exp=,ptr=,len=,);
diff --git a/src/float/conv/cl_LF_to_float.cc b/src/float/conv/cl_LF_to_float.cc
index 913b08e..b476d04 100644
--- a/src/float/conv/cl_LF_to_float.cc
+++ b/src/float/conv/cl_LF_to_float.cc
@@ -20,7 +20,7 @@ float float_approx (const cl_LF& x)
{
// x entpacken:
var cl_signean sign;
- var sintL exp;
+ var sintE exp;
var uintD* ptr;
var uintC len;
LF_decode(x, { return 0.0; }, sign=,exp=,ptr=,len=,);

View file

@ -0,0 +1,159 @@
From: Richard Kreckel <kreckel@ginac.de>
Date: Sun, 18 Mar 2012 23:35:03 +0000 (+0100)
Subject: Avoid input stream fail state when reading number at EOF.
X-Git-Url: http://www.ginac.de/CLN/cln.git/?p=cln.git;a=commitdiff_plain;h=4985c8a7895076df62758466c86cd1bc9df10438
Avoid input stream fail state when reading number at EOF.
istream::get() puts the stream in fail state when trying to read at
EOF. This is best avoided by first peek()ing what is available.
---
diff --git a/README b/README
index 7de3f55..d445d55 100644
--- a/README
+++ b/README
@@ -1,8 +1,8 @@
Class Library for Numbers
Copyright (c) Bruno Haible 1988-2008
-Copyright (c) Richard Kreckel 2000-2009
-Copyright (c) Alexei Sheplyakov 2008
+Copyright (c) Richard Kreckel 2000-2012
+Copyright (c) Alexei Sheplyakov 2008-2010
GPL
diff --git a/doc/cln.texi b/doc/cln.texi
index 354cacc..d5ed502 100644
--- a/doc/cln.texi
+++ b/doc/cln.texi
@@ -36,7 +36,7 @@ Published by Bruno Haible, @code{<haible@@clisp.cons.org>} and
Richard B. Kreckel, @code{<kreckel@@ginac.de>}.
Copyright (C) Bruno Haible 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008.
-Copyright (C) Richard B. Kreckel 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011.
+Copyright (C) Richard B. Kreckel 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
Copyright (C) Alexei Sheplyakov 2008, 2010.
Permission is granted to make and distribute verbatim copies of
diff --git a/src/base/cl_free.cc b/src/base/cl_free.cc
index ccda8af..a829aa2 100644
--- a/src/base/cl_free.cc
+++ b/src/base/cl_free.cc
@@ -34,8 +34,8 @@ void cl_free_heap_object (cl_heap* pointer)
static const char * copyright_notice[] = {
" \n"
"Copyright (c) Bruno Haible 1988-2008 \n"
- "Copyright (c) Richard Kreckel 2000-2009 \n"
- "Copyright (c) Alexei Sheplyakov 2008 \n"
+ "Copyright (c) Richard Kreckel 2000-2012 \n"
+ "Copyright (c) Alexei Sheplyakov 2008-2010 \n"
" \n"
"This program is free software; you can redistribute it and/or modify\n"
"it under the terms of the GNU General Public License as published by\n"
diff --git a/src/complex/input/cl_N_read_stream.cc b/src/complex/input/cl_N_read_stream.cc
index 139af04..fc207aa 100644
--- a/src/complex/input/cl_N_read_stream.cc
+++ b/src/complex/input/cl_N_read_stream.cc
@@ -91,13 +91,10 @@ const cl_N read_complex (std::istream& stream, const cl_read_flags& flags)
goto syntax1;
loop {
buffer.push(c);
- c = stream.get();
- if (stream.eof() || stream.fail())
- break;
- if (!number_char_p(c)) {
- stream.putback(c);
+ c = stream.peek(); // Avoid fail state on EOF.
+ if (stream.eof() || stream.fail() || !number_char_p(c))
break;
- }
+ c = stream.get();
}
done:
// Parse the number.
diff --git a/src/float/input/cl_F_read_stream.cc b/src/float/input/cl_F_read_stream.cc
index baafc3b..044e4d6 100644
--- a/src/float/input/cl_F_read_stream.cc
+++ b/src/float/input/cl_F_read_stream.cc
@@ -82,13 +82,10 @@ const cl_F read_float (std::istream& stream, const cl_read_flags& flags)
goto syntax1;
loop {
buffer.push(c);
- c = stream.get();
- if (stream.eof() || stream.fail())
- break;
- if (!number_char_p(c)) {
- stream.putback(c);
+ c = stream.peek(); // Avoid fail state on EOF.
+ if (stream.eof() || stream.fail() || !number_char_p(c))
break;
- }
+ c = stream.get();
}
// Parse the number.
return read_float(flags,
diff --git a/src/integer/input/cl_I_read_stream.cc b/src/integer/input/cl_I_read_stream.cc
index 227d845..b242ae7 100644
--- a/src/integer/input/cl_I_read_stream.cc
+++ b/src/integer/input/cl_I_read_stream.cc
@@ -82,13 +82,10 @@ const cl_I read_integer (std::istream& stream, const cl_read_flags& flags)
goto syntax1;
loop {
buffer.push(c);
- c = stream.get();
- if (stream.eof() || stream.fail())
- break;
- if (!number_char_p(c)) {
- stream.putback(c);
+ c = stream.peek(); // Avoid fail state on EOF.
+ if (stream.eof() || stream.fail() || !number_char_p(c))
break;
- }
+ c = stream.get();
}
// Parse the number.
return read_integer(flags,
diff --git a/src/rational/input/cl_RA_read_stream.cc b/src/rational/input/cl_RA_read_stream.cc
index bba1d03..9e5f4f6 100644
--- a/src/rational/input/cl_RA_read_stream.cc
+++ b/src/rational/input/cl_RA_read_stream.cc
@@ -83,13 +83,10 @@ const cl_RA read_rational (std::istream& stream, const cl_read_flags& flags)
goto syntax1;
loop {
buffer.push(c);
- c = stream.get();
- if (stream.eof() || stream.fail())
- break;
- if (!number_char_p(c)) {
- stream.putback(c);
+ c = stream.peek(); // Avoid fail state on EOF.
+ if (stream.eof() || stream.fail() || !number_char_p(c))
break;
- }
+ c = stream.get();
}
// Parse the number.
return read_rational(flags,
diff --git a/src/real/input/cl_R_read_stream.cc b/src/real/input/cl_R_read_stream.cc
index 56b01d3..c032eee 100644
--- a/src/real/input/cl_R_read_stream.cc
+++ b/src/real/input/cl_R_read_stream.cc
@@ -82,13 +82,10 @@ const cl_R read_real (std::istream& stream, const cl_read_flags& flags)
goto syntax1;
loop {
buffer.push(c);
- c = stream.get();
- if (stream.eof() || stream.fail())
- break;
- if (!number_char_p(c)) {
- stream.putback(c);
+ c = stream.peek(); // Avoid fail state on EOF.
+ if (stream.eof() || stream.fail() || !number_char_p(c))
break;
- }
+ c = stream.get();
}
// Parse the number.
return read_real(flags,