diff options
author | adam <adam@pkgsrc.org> | 2020-01-20 21:25:24 +0000 |
---|---|---|
committer | adam <adam@pkgsrc.org> | 2020-01-20 21:25:24 +0000 |
commit | 40c2669a7df6c316c25452ea778358298953c93b (patch) | |
tree | 6d1086ef56bb0e1c9f072d5b8b19c1b0f60f1472 | |
parent | 4005763920deeea67754ce9dd017a31237fa47b6 (diff) | |
download | pkgsrc-40c2669a7df6c316c25452ea778358298953c93b.tar.gz |
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.
-rw-r--r-- | devel/gmp/Makefile | 13 | ||||
-rw-r--r-- | devel/gmp/PLIST | 4 | ||||
-rw-r--r-- | devel/gmp/distinfo | 14 | ||||
-rw-r--r-- | devel/gmp/patches/patch-aa | 16 | ||||
-rw-r--r-- | devel/gmp/patches/patch-ac | 21 | ||||
-rw-r--r-- | devel/gmp/patches/patch-acinclude.m4 | 13 |
6 files changed, 16 insertions, 65 deletions
diff --git a/devel/gmp/Makefile b/devel/gmp/Makefile index 959a6a095b6..b880bf123dd 100644 --- a/devel/gmp/Makefile +++ b/devel/gmp/Makefile @@ -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 @@ HOMEPAGE= https://gmplib.org/ 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 @@ CONFIGURE_ARGS+= --enable-fat .endif pre-configure: - cd ${WRKSRC} && type autoconf && autoconf + cd ${WRKSRC} && autoconf .include "../../mk/bsd.pkg.mk" diff --git a/devel/gmp/PLIST b/devel/gmp/PLIST index 4941de10b09..cfbbcfa4af0 100644 --- a/devel/gmp/PLIST +++ b/devel/gmp/PLIST @@ -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 --git a/devel/gmp/distinfo b/devel/gmp/distinfo index a0b6037e837..a134e2ad6d6 100644 --- a/devel/gmp/distinfo +++ b/devel/gmp/distinfo @@ -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 --git a/devel/gmp/patches/patch-aa b/devel/gmp/patches/patch-aa deleted file mode 100644 index 348cd48ba88..00000000000 --- a/devel/gmp/patches/patch-aa +++ /dev/null @@ -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 --git a/devel/gmp/patches/patch-ac b/devel/gmp/patches/patch-ac deleted file mode 100644 index 3de57473482..00000000000 --- a/devel/gmp/patches/patch-ac +++ /dev/null @@ -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 --git a/devel/gmp/patches/patch-acinclude.m4 b/devel/gmp/patches/patch-acinclude.m4 index 042768ed164..14b04f7c2d7 100644 --- a/devel/gmp/patches/patch-acinclude.m4 +++ b/devel/gmp/patches/patch-acinclude.m4 @@ -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], |