libcln: update to 1.3.6

This commit is contained in:
Leonid Pliushch 2020-01-13 01:23:46 +02:00
parent 8b1686210c
commit 97f0653acb
2 changed files with 21 additions and 37 deletions

View File

@ -1,9 +1,9 @@
TERMUX_PKG_HOMEPAGE=https://www.ginac.de/CLN/
TERMUX_PKG_DESCRIPTION="CLN is a library for efficient computations with all kinds of numbers in arbitrary precision"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_VERSION=1.3.5
TERMUX_PKG_VERSION=1.3.6
TERMUX_PKG_SRCURL=https://www.ginac.de/CLN/cln-${TERMUX_PKG_VERSION}.tar.bz2
TERMUX_PKG_SHA256=78810064a50b4299a0a3c16cade54a7d2e72ac92a8ee295f9a9177efc81e842d
TERMUX_PKG_SHA256=f492530e8879bda529009b6033e1923c8f4aae843149fc28c667c20b094d984a
TERMUX_PKG_DEPENDS="libc++, libgmp"
TERMUX_PKG_BREAKS="libcln-dev"
TERMUX_PKG_REPLACES="libcln-dev"

View File

@ -1,14 +1,19 @@
Reverts this commit in the cln repo:
commit 2f7994014542920ad6ca726fbd8d023a5f49abc2
Author: Richard Kreckel <kreckel@ginac.de>
Date: Sun Oct 27 14:57:36 2019 +0100
Replace typedef int[<negative>] trick with static_assert.
diff -u -r ../src/m4/floatparam.m4 ./m4/floatparam.m4
--- ../src/m4/floatparam.m4 2019-10-27 14:41:55.000000000 +0100
+++ ./m4/floatparam.m4 2019-11-28 08:21:28.161830204 +0100
diff -uNr cln-1.3.6/include/cln/number.h cln-1.3.6.mod/include/cln/number.h
--- cln-1.3.6/include/cln/number.h 2019-10-27 20:14:23.000000000 +0200
+++ cln-1.3.6.mod/include/cln/number.h 2020-01-13 01:19:07.393932063 +0200
@@ -257,8 +257,7 @@
inline const type& the(const cl_number& x)
{
// check that sizeof(type)==sizeof(cl_number)
- static_assert(sizeof(type)==sizeof(cl_number),
- "sizeof(type)!=sizeof(cl_number)");
+ int (*dummy1)(int assertion1 [1 - 2 * (sizeof(type) != sizeof(cl_number))]); (void)dummy1;
return *(const type *) &x;
}
// Conversions to subtypes without checking, macro version:
diff -uNr cln-1.3.6/m4/floatparam.m4 cln-1.3.6.mod/m4/floatparam.m4
--- cln-1.3.6/m4/floatparam.m4 2019-10-27 20:14:23.000000000 +0200
+++ cln-1.3.6.mod/m4/floatparam.m4 2020-01-13 01:19:07.391932056 +0200
@@ -22,16 +22,20 @@
epsilon_bits=-1; y="($type)1.0"
while true; do
@ -69,9 +74,9 @@ diff -u -r ../src/m4/floatparam.m4 ./m4/floatparam.m4
[rounds=rounds_to_minus_infinity])
fi
if test -n "$rounds"; then
diff -u -r ../src/m4/intparam.m4 ./m4/intparam.m4
--- ../src/m4/intparam.m4 2019-11-02 17:04:20.000000000 +0100
+++ ./m4/intparam.m4 2019-11-28 08:21:28.161830204 +0100
diff -uNr cln-1.3.6/m4/intparam.m4 cln-1.3.6.mod/m4/intparam.m4
--- cln-1.3.6/m4/intparam.m4 2019-12-05 00:56:23.000000000 +0200
+++ cln-1.3.6.mod/m4/intparam.m4 2020-01-13 01:19:07.393932063 +0200
@@ -113,7 +113,7 @@
echo "#error \"Integer types long long and unsigned long long have different sizes!!\""
fi
@ -81,15 +86,6 @@ diff -u -r ../src/m4/intparam.m4 ./m4/intparam.m4
[], [echo "#error \"Type char * does not fit into an intptr_t!!\""])
_AC_COMPUTE_INT([sizeof (char *)], [pointer_size])
pointer_bitsize=`expr $pointer_size '*' $char_bitsize`
@@ -258,7 +258,7 @@
[
n=1; x="($1)2"
while true; do
- AC_TRY_COMPILE([], [static_assert(($1)($x) == 0, "");],
+ AC_TRY_COMPILE([], [typedef int verify[2*(($1)($x) == 0) - 1];],
[$2=$n; break;],
[if test $n = 1000; then $2=; break; fi;])
n=`expr $n + 1`; x="$x * ($1)2"
@@ -290,7 +290,7 @@
#else
# define alignof(type) offsetof (struct { char slot1; type slot2; }, slot2)
@ -99,15 +95,3 @@ diff -u -r ../src/m4/intparam.m4 ./m4/intparam.m4
[$2=$n; break;]
[if test $n = 0; then $2=; break; fi])
n=`expr $n '*' 2`
--- ../src/include/cln/number.h 2019-10-27 14:29:45.000000000 +0100
+++ ./include/cln/number.h 2019-11-28 08:21:28.161830204 +0100
@@ -257,8 +257,7 @@
inline const type& the(const cl_number& x)
{
// check that sizeof(type)==sizeof(cl_number)
- static_assert(sizeof(type)==sizeof(cl_number),
- "sizeof(type)!=sizeof(cl_number)");
+ int (*dummy1)(int assertion1 [1 - 2 * (sizeof(type) != sizeof(cl_number))]); (void)dummy1;
return *(const type *) &x;
}
// Conversions to subtypes without checking, macro version: