summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2020-01-20 21:25:24 +0000
committeradam <adam@pkgsrc.org>2020-01-20 21:25:24 +0000
commit40c2669a7df6c316c25452ea778358298953c93b (patch)
tree6d1086ef56bb0e1c9f072d5b8b19c1b0f60f1472
parent4005763920deeea67754ce9dd017a31237fa47b6 (diff)
downloadpkgsrc-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/Makefile13
-rw-r--r--devel/gmp/PLIST4
-rw-r--r--devel/gmp/distinfo14
-rw-r--r--devel/gmp/patches/patch-aa16
-rw-r--r--devel/gmp/patches/patch-ac21
-rw-r--r--devel/gmp/patches/patch-acinclude.m413
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],