summaryrefslogtreecommitdiff
path: root/dev-libs/mpc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-12-26 20:10:49 +0000
committerV3n3RiX <venerix@redcorelinux.org>2017-12-26 20:10:49 +0000
commitc85a90f90521c7e11d618b527d6630cc64cecbd4 (patch)
tree27c1f04d8eab0e0140fb62887a6a5d4d87c32ad9 /dev-libs/mpc
parent2f51c9978dda4c6e8debca43e4235ecc86914032 (diff)
gentoo resync : 26.12.2017
Diffstat (limited to 'dev-libs/mpc')
-rw-r--r--dev-libs/mpc/Manifest3
-rw-r--r--dev-libs/mpc/files/mpc-1.0.3-mpfr-4.0.0.patch85
-rw-r--r--dev-libs/mpc/mpc-1.0.3.ebuild4
3 files changed, 90 insertions, 2 deletions
diff --git a/dev-libs/mpc/Manifest b/dev-libs/mpc/Manifest
index 464a40f1e640..2ff5c7129456 100644
--- a/dev-libs/mpc/Manifest
+++ b/dev-libs/mpc/Manifest
@@ -1,8 +1,9 @@
+AUX mpc-1.0.3-mpfr-4.0.0.patch 3095 BLAKE2B abc3625c12590b3cdab86f81f211b0235e2553a92a32e57fc08b43312dffab126d7ea063dc91aaa93b6df72203f44d1a266b47c2f764ecaf2819f5ac3df3c7d7 SHA512 ecaf150fffba88b613d0526c9d8fcb948fffb9fa38b8a4b2d08410a9948847c3409cffe424fb9f4ccac74f9b7cfdb010db3c6cf861fe44fe8f789a1a5c1837e6
DIST mpc-1.0.1.tar.gz 624125 BLAKE2B ba5c63f5e0cdcff2cfd5b93d152f70422232bca472b5153209b525794e338f11bdd0e371a055535aa31bb3b8991a5f6ef645b1bf2393027803bf84c0d4346991 SHA512 fa381e75999bba626ba08d73225285b03c6d2f6cca87881b28829925d1624eaed1c9b544f75e7281cf5d8dcdd7831025a4eafc05f88f13375f9e08239a8a9303
DIST mpc-1.0.2.tar.gz 633173 BLAKE2B 9d58d8a41bf4a2d7a82842dc1e76f7fc1376dac950919ae72d1cb04fe70132747a22dcbec91391e1f5aa857c96de553aa21548f20f139742ae4b2463df473d63 SHA512 0e94ba9a20c7374839d2a53a9ed8cce647cc74142b464634fdb9cbaf96e91e43ea13f0b4dab5c06c247e6719de0c0ae03fdcba0c7c4518ee504c545c96da70d0
DIST mpc-1.0.3.tar.gz 669925 BLAKE2B 4b5a1db5220b58070f9356041f44f021c2c9ec46aa4303d0a31e809d649897bc3547e9b06271dae4e80be569ee67e2a84f86b662e05dac0ca36ff87e95fcbd62 SHA512 0028b76df130720c1fad7de937a0d041224806ce5ef76589f19c7b49d956071a683e2f20d154c192a231e69756b19e48208f2889b0c13950ceb7b3cfaf059a43
EBUILD mpc-1.0.1.ebuild 1234 BLAKE2B 6dead805fb50ba9ba666489508a3651fa9caeaf96941aacd3a387ea071b4e78a42cb1f14b5f847873fe402377ef0fcc7dd325d0567318f20f42f2d892729c8b8 SHA512 f4c78bc29a2f787fc88ca6b9a3f6f6058a152d4aa1367672c99fec73e5c5baaa3659da9db77d8c03f1d792331e0d2983987425f1a75afb7dbbde3db0b9fc366f
EBUILD mpc-1.0.2-r1.ebuild 996 BLAKE2B 9c36199c2f71d9eeeab7eb92ccfb9db51763cf49ab7888524a5e4b801fe28f0a4173b591b2bb057cca186eda9d55101237d906544a686960a765b07e78396949 SHA512 282f0cb69c00a7777fd4a37a6f750e30ad4af8e68d5c5c47399582d5a509ec7a4756f9c0a85152d2042e612e4d4576d0ebf9b45a1fa25cdf88e40bfd20aa0535
EBUILD mpc-1.0.2.ebuild 924 BLAKE2B fc40ac815a768a881d9f649345f44c1b9506368ec78b1a27b2703860ad70a1b672e59ad9232a0158716703d3ab4322fe317e6e4079c32bd048d8f79bd718ccc9 SHA512 072141030433d3646010b1a94f5a623bad734dc7e68756b37d3dce20a9f4e8c1482c0958c1bf3628c6251a46cdd82e2a85d364f3187e2bb8cf945b26a7622416
-EBUILD mpc-1.0.3.ebuild 1010 BLAKE2B 0a3d2092c5164964148e96ecefc789cbc842ae4cd013c310d8c37c10c168d782a3f70c2480dfe03958505498e87c6ee6a135f87eede1f3831ba13e7b40e33053 SHA512 0ff8e3a6ed9c7c8ec8c937e3aa7acd31384044a06d7c90a59994108b320dd2eb480e0c90828d0ee29341c24934c898c4b2217435c4cfc536811efe07d40ab19f
+EBUILD mpc-1.0.3.ebuild 1077 BLAKE2B 0bcc6bf08281c1707c7c23f7ddad442a6c0c17ab9fcc0b24dd6e166da93231c40d0e1187fec941119dc8f4f12263e550b129f1f89165701f5dcd049d6ea1dfc7 SHA512 903265d0b159ea09f93eb6d855eb775ed400c01fd04300840fe117ee9e6864694f586835ce0d39185179e29566cdb94cbd619b53c595de2832419b41702791ac
MISC metadata.xml 261 BLAKE2B 0f1375874fe7e8b88a61f27f69fb353b86a45aa39838c0f7a3137b5d5a5e6c9cdfca1cd43913e15545c14466603066eed331d012b1073a72a5634aebff15b9ce SHA512 31c9514d1798d2ab9ad46006c8e85222798c200a7466568170da1587d99144d2fabb8e5056b723710d19cdb1d5482d93eff479a8caa77f00e93aa46861ceb05c
diff --git a/dev-libs/mpc/files/mpc-1.0.3-mpfr-4.0.0.patch b/dev-libs/mpc/files/mpc-1.0.3-mpfr-4.0.0.patch
new file mode 100644
index 000000000000..7f9f7e2b9743
--- /dev/null
+++ b/dev-libs/mpc/files/mpc-1.0.3-mpfr-4.0.0.patch
@@ -0,0 +1,85 @@
+https://bugs.gentoo.org/642300
+
+From 36a84f43f326de14db888ba07936cc9621c23f19 Mon Sep 17 00:00:00 2001
+From: Paul Zimmermann <Paul.Zimmermann@inria.fr>
+Date: Sun, 10 Jan 2016 23:19:37 +0100
+Subject: [PATCH] use mpfr_fmma and mpfr_fmms if provided by mpfr
+
+---
+ configure.ac | 16 ++++++++++++++++
+ src/mul.c | 15 ++++++++++++---
+ 2 files changed, 28 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b6fa199..bdb21ff 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -165,6 +165,22 @@ AC_LINK_IFELSE(
+ AC_MSG_ERROR([libmpfr not found or uses a different ABI (including static vs shared).])
+ ])
+
++AC_MSG_CHECKING(for mpfr_fmma)
++LIBS="-lmpfr $LIBS"
++AC_LINK_IFELSE(
++ [AC_LANG_PROGRAM(
++ [[#include "mpfr.h"]],
++ [[mpfr_t x; mpfr_fmma (x, x, x, x, x, 0);]]
++ )],
++ [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_MPFR_FMMA, 1, [mpfr_fmma is present])
++ ],
++ [
++ AC_MSG_RESULT(no)
++ AC_DEFINE(HAVE_MPFR_FMMA, 0, [mpfr_fmma is not present])
++ ])
++
+ # Check for a recent GMP
+ # We only guarantee that with a *functional* and recent enough GMP version,
+ # MPC will compile; we do not guarantee that GMP will compile.
+diff --git a/src/mul.c b/src/mul.c
+index 3c9c0a7..8c4afe4 100644
+--- a/src/mul.c
++++ b/src/mul.c
+@@ -175,8 +175,9 @@ mul_imag (mpc_ptr z, mpc_srcptr x, mpc_srcptr y, mpc_rnd_t rnd)
+ #define MPFR_EXP(x) ((x)->_mpfr_exp)
+ #define MPFR_LIMB_SIZE(x) ((MPFR_PREC (x) - 1) / GMP_NUMB_BITS + 1)
+
++#if HAVE_MPFR_FMMA == 0
+ static int
+-mpfr_fmma (mpfr_ptr z, mpfr_srcptr a, mpfr_srcptr b, mpfr_srcptr c,
++mpc_fmma (mpfr_ptr z, mpfr_srcptr a, mpfr_srcptr b, mpfr_srcptr c,
+ mpfr_srcptr d, int sign, mpfr_rnd_t rnd)
+ {
+ /* Computes z = ab+cd if sign >= 0, or z = ab-cd if sign < 0.
+@@ -359,6 +360,7 @@ mpfr_fmma (mpfr_ptr z, mpfr_srcptr a, mpfr_srcptr b, mpfr_srcptr c,
+ return inex;
+ }
++#endif
+
+
+ int
+ mpc_mul_naive (mpc_ptr z, mpc_srcptr x, mpc_srcptr y, mpc_rnd_t rnd)
+@@ -375,10 +377,17 @@ mpc_mul_naive (mpc_ptr z, mpc_srcptr x, mpc_srcptr y, mpc_rnd_t rnd)
+ else
+ rop [0] = z [0];
+
+- inex = MPC_INEX (mpfr_fmma (mpc_realref (rop), mpc_realref (x), mpc_realref (y), mpc_imagref (x),
+- mpc_imagref (y), -1, MPC_RND_RE (rnd)),
++#if HAVE_MPFR_FMMA
++ inex = MPC_INEX (mpfr_fmms (mpc_realref (rop), mpc_realref (x), mpc_realref (y), mpc_imagref (x),
++ mpc_imagref (y), MPC_RND_RE (rnd)),
+ mpfr_fmma (mpc_imagref (rop), mpc_realref (x), mpc_imagref (y), mpc_imagref (x),
++ mpc_realref (y), MPC_RND_IM (rnd)));
++#else
++ inex = MPC_INEX (mpc_fmma (mpc_realref (rop), mpc_realref (x), mpc_realref (y), mpc_imagref (x),
++ mpc_imagref (y), -1, MPC_RND_RE (rnd)),
++ mpc_fmma (mpc_imagref (rop), mpc_realref (x), mpc_imagref (y), mpc_imagref (x),
+ mpc_realref (y), +1, MPC_RND_IM (rnd)));
++#endif
+
+ mpc_set (z, rop, MPC_RNDNN);
+ if (overlap)
+--
+2.15.1
+
diff --git a/dev-libs/mpc/mpc-1.0.3.ebuild b/dev-libs/mpc/mpc-1.0.3.ebuild
index 198111c0b081..66845b9d3d0b 100644
--- a/dev-libs/mpc/mpc-1.0.3.ebuild
+++ b/dev-libs/mpc/mpc-1.0.3.ebuild
@@ -3,7 +3,7 @@
EAPI="4"
-inherit eutils libtool multilib-minimal
+inherit autotools eutils libtool multilib-minimal
DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
HOMEPAGE="http://mpc.multiprecision.org/"
@@ -19,6 +19,8 @@ DEPEND=">=dev-libs/gmp-4.3.2[${MULTILIB_USEDEP},static-libs?]
RDEPEND="${DEPEND}"
src_prepare() {
+ epatch "${FILESDIR}"/${P}-mpfr-4.0.0.patch
+ eautoreconf
elibtoolize #347317
}