pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/gmp gmp: updated to 6.2.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/fddb645c1b81
branches:  trunk
changeset: 409803:fddb645c1b81
user:      adam <adam%pkgsrc.org@localhost>
date:      Mon Jan 20 21:25:24 2020 +0000

description:
gmp: updated to 6.2.0

Changes between GMP version 6.1.* and 6.2.0

BUGS FIXED
* gmp_snprintf now correctly reports an error (returns -1) when snprintf
  does.
* Conversion to double is now more robust even if the configuration process
  does not recognize the float format.
* mpz_powm could return a not completely normalised value, when the
  exponent was 1 and the base < 0.
* mpf_set_str could create invalid mpf_t variables for input strings with
  many leading zeros.

FEATURES
* New C++ functions factorial, primorial and fibonacci for mpz_class.
* Functions to detect primality now substitute the first 24 Miller-Rabin
  iterations with the BPSW test.
* Mini-GMP: new functions mpz_2fac_ui and mpz_mfac_uiui.
* Mini-GMP: mpz_sizeinbase, mpz_get_str, and mpz_set_str now support bases up
  to 62.
* Mini-GMP: added support for the mpq_t layer.
* MIPS r6 cores are now supported.

SPEEDUPS
* Major speedup for AMD Ryzen and Epyc thanks to an extensive set of assembly
  code.
* Major speedup for IBM POWER9 thanks to assembly code making use of new madd
  instruction.
* Speedup for 64-bit ARM CPUs thanks to new/improved assembly code.
* The n-over-k function mpz_bin_ui has been reimplemented for great speedups
  for large operands.
* Speedup for the worst case of mpz_perfect_power_p.
* Speedup for gcd for small and medium size operands.
* Speedup for really huge multiplies thanks to much larger FFT tables.

MISC
* Internal representation of the mpz_t variables now supports lazy
  allocation; memory is allocated only when a value is stored.
* Small improvements and better coverage for the test suite.
* The tune/speed program can measure some more functions.
* The low-level function mpn_mul no longer diverts to mpn_sqr, users should
  call mpn_sqr directly when applicable.
* New installed files gmp.pc and gmpxx.pc, for use with pkg-config.

diffstat:

 devel/gmp/Makefile                   |  13 ++++++-------
 devel/gmp/PLIST                      |   4 +++-
 devel/gmp/distinfo                   |  14 ++++++--------
 devel/gmp/patches/patch-aa           |  16 ----------------
 devel/gmp/patches/patch-ac           |  21 ---------------------
 devel/gmp/patches/patch-acinclude.m4 |  13 +------------
 6 files changed, 16 insertions(+), 65 deletions(-)

diffs (143 lines):

diff -r fabe11a6948d -r fddb645c1b81 devel/gmp/Makefile
--- a/devel/gmp/Makefile        Mon Jan 20 21:17:51 2020 +0000
+++ b/devel/gmp/Makefile        Mon Jan 20 21:25:24 2020 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.86 2017/08/01 14:58:56 wiz Exp $
+# $NetBSD: Makefile,v 1.87 2020/01/20 21:25:24 adam Exp $
 
-DISTNAME=      gmp-6.1.2
+DISTNAME=      gmp-6.2.0
 CATEGORIES=    devel math
 MASTER_SITES=  https://gmplib.org/download/gmp/
 MASTER_SITES+= ${MASTER_SITE_GNU:=gmp/}
@@ -13,17 +13,16 @@
 COMMENT=       Library for arbitrary precision arithmetic
 LICENSE=       gnu-lgpl-v3 OR gnu-gpl-v2
 
-INFO_FILES=            yes
 USE_LANGUAGES=         c c++ c99
 USE_LIBTOOL=           yes
-USE_TOOLS+=            gm4 autoconf makeinfo
+USE_TOOLS+=            autoconf gm4 makeinfo
 GNU_CONFIGURE=         yes
 CONFIGURE_ARGS+=       --without-readline
+INFO_FILES=            yes
+TEST_TARGET=           check
 
 WRKSRC=                ${WRKDIR}/${DISTNAME:S/a$//}
 
-TEST_TARGET=           check
-
 PLIST_VARS+=           cxx
 
 .include "../../mk/bsd.prefs.mk"
@@ -68,6 +67,6 @@
 .endif
 
 pre-configure:
-       cd ${WRKSRC} && type autoconf && autoconf
+       cd ${WRKSRC} && autoconf
 
 .include "../../mk/bsd.pkg.mk"
diff -r fabe11a6948d -r fddb645c1b81 devel/gmp/PLIST
--- a/devel/gmp/PLIST   Mon Jan 20 21:17:51 2020 +0000
+++ b/devel/gmp/PLIST   Mon Jan 20 21:25:24 2020 +0000
@@ -1,6 +1,8 @@
-@comment $NetBSD: PLIST,v 1.13 2009/01/20 17:51:12 sketch Exp $
+@comment $NetBSD: PLIST,v 1.14 2020/01/20 21:25:24 adam Exp $
 include/gmp.h
 ${PLIST.cxx}include/gmpxx.h
 info/gmp.info
 lib/libgmp.la
 ${PLIST.cxx}lib/libgmpxx.la
+lib/pkgconfig/gmp.pc
+lib/pkgconfig/gmpxx.pc
diff -r fabe11a6948d -r fddb645c1b81 devel/gmp/distinfo
--- a/devel/gmp/distinfo        Mon Jan 20 21:17:51 2020 +0000
+++ b/devel/gmp/distinfo        Mon Jan 20 21:25:24 2020 +0000
@@ -1,9 +1,7 @@
-$NetBSD: distinfo,v 1.54 2017/06/15 04:12:32 msaitoh Exp $
+$NetBSD: distinfo,v 1.55 2020/01/20 21:25:24 adam Exp $
 
-SHA1 (gmp-6.1.2.tar.bz2) = 366ded6a44cd108ba6b3f5b9a252eab3f3a95cdf
-RMD160 (gmp-6.1.2.tar.bz2) = 03b905b4d7f243705b72b2d7595ce40df716020a
-SHA512 (gmp-6.1.2.tar.bz2) = 268db88447174617f5746d9a6ba2b105940cc1a5e73155eb23b6eedf55f8e7724eda05d161b2de19aca9e794956d226ba9ed6f23124c7c82f7e1872e32b003cf
-Size (gmp-6.1.2.tar.bz2) = 2386766 bytes
-SHA1 (patch-aa) = dec275cbd5886a70f7cf0def1dedf01e7e4a49e9
-SHA1 (patch-ac) = 6f7de0a285bec2c2645479d3090dc0276580f3d8
-SHA1 (patch-acinclude.m4) = c5229e932b5a23b99e904879dd906fbca9f924f8
+SHA1 (gmp-6.2.0.tar.bz2) = 5e9341d3807bc7505376f9ed9f5c1c6c57050aa6
+RMD160 (gmp-6.2.0.tar.bz2) = 9e0c387608c7dd3eb339afcd989ef5037d7cacbd
+SHA512 (gmp-6.2.0.tar.bz2) = ff22ed47fff176ed56301ecab0213316150a3abb370fed031635804f829c878296d7c65597b1f687f394479eef04fae6eba771162f7d363dc4c94c7334fc1fc0
+Size (gmp-6.2.0.tar.bz2) = 2453458 bytes
+SHA1 (patch-acinclude.m4) = 3f76c0aa8d29ec815a93448f9c4bc976ebdf7a2a
diff -r fabe11a6948d -r fddb645c1b81 devel/gmp/patches/patch-aa
--- a/devel/gmp/patches/patch-aa        Mon Jan 20 21:17:51 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-$NetBSD: patch-aa,v 1.13 2014/04/17 13:08:24 wiz Exp $
-
---- longlong.h.orig    2014-03-25 14:37:55.000000000 +0000
-+++ longlong.h
-@@ -1039,8 +1039,10 @@ extern UWtype __MPN(udiv_qrnnd) (UWtype 
-    count is only an int. */
- #define count_trailing_zeros(count, x)                                        \
-   do {                                                                        \
-+    UDItype __cbtmp;                                                  \
-     ASSERT ((x) != 0);                                                        \
--    __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x)));     \
-+    __asm__ ("bsfq %1,%q0" : "=r" (__cbtmp) : "rm" ((UDItype)(x)));   \
-+    (count) = __cbtmp;                                                        \
-   } while (0)
- #endif /* __amd64__ */
- 
diff -r fabe11a6948d -r fddb645c1b81 devel/gmp/patches/patch-ac
--- a/devel/gmp/patches/patch-ac        Mon Jan 20 21:17:51 2020 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-$NetBSD: patch-ac,v 1.10 2013/01/31 20:30:26 adam Exp $
-
---- gmp-h.in.orig      2012-12-18 19:05:09.000000000 +0000
-+++ gmp-h.in
-@@ -359,6 +359,8 @@ typedef __mpq_struct *mpq_ptr;
-     GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
-     inline semantics, unless -fgnu89-inline is used.  */
- #ifdef __GNUC__
-+#if defined(__APPLE_CC__) && __APPLE_CC__ > 5400 && __STDC_VERSION__ >= 199901L
-+#else
- #if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) \
-   || (defined __GNUC_GNU_INLINE__ && defined __cplusplus)
- #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__))
-@@ -367,6 +369,7 @@ typedef __mpq_struct *mpq_ptr;
- #endif
- #define __GMP_INLINE_PROTOTYPES  1
- #endif
-+#endif
- 
- /* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1
-    strict ANSI mode.  Inlining is done even when not optimizing (ie. -O0
diff -r fabe11a6948d -r fddb645c1b81 devel/gmp/patches/patch-acinclude.m4
--- a/devel/gmp/patches/patch-acinclude.m4      Mon Jan 20 21:17:51 2020 +0000
+++ b/devel/gmp/patches/patch-acinclude.m4      Mon Jan 20 21:25:24 2020 +0000
@@ -1,20 +1,9 @@
-$NetBSD: patch-acinclude.m4,v 1.1 2017/06/15 04:11:50 msaitoh Exp $
-
-Fixed memory allocation.
+$NetBSD: patch-acinclude.m4,v 1.2 2020/01/20 21:25:24 adam Exp $
 
 Fixed detection of __attribute__((__mode__(XX))) for sunpro.
 
 --- acinclude.m4.orig  2016-12-17 00:45:27.000000000 +0900
 +++ acinclude.m4       2017-06-14 13:05:04.000000000 +0900
-@@ -741,7 +741,7 @@ main ()
-   long i;
-   for (i = 0; i < 88 + 1; i++)
-     a[i] = ~0L;
--  r = malloc (10000 * sizeof (unsigned long));
-+  r = calloc (10000, sizeof (unsigned long));
-   r2 = r;
-   for (i = 0; i < 528; i += 23)
-     {
 @@ -3228,7 +3228,15 @@ dnl  Introduced in gcc 2.2, but perhaps 
  AC_DEFUN([GMP_C_ATTRIBUTE_MODE],
  [AC_CACHE_CHECK([whether gcc __attribute__ ((mode (XX))) works],



Home | Main Index | Thread Index | Old Index