[gentoo-commits] repo/gentoo:master commit in: dev-libs/mpc/files/, dev-libs/mpc/

2020-03-01 Thread Sergei Trofimovich
commit: 5611be3c721cc728c358b353c1041586ae337ecb
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Sun Mar  1 20:25:04 2020 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Sun Mar  1 20:39:52 2020 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5611be3c

dev-libs/mpc: drop old

Package-Manager: Portage-2.3.88, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich  gentoo.org>

 dev-libs/mpc/Manifest |   1 -
 dev-libs/mpc/files/mpc-1.0.3-mpfr-4.0.0.patch | 129 --
 dev-libs/mpc/files/mpc-1.0.3-no-ulp.patch |  25 -
 dev-libs/mpc/mpc-1.0.3-r2.ebuild  |  39 
 dev-libs/mpc/mpc-1.0.3.ebuild |  33 ---
 5 files changed, 227 deletions(-)

diff --git a/dev-libs/mpc/Manifest b/dev-libs/mpc/Manifest
index f0edc3d40fb..77c563eae9d 100644
--- a/dev-libs/mpc/Manifest
+++ b/dev-libs/mpc/Manifest
@@ -1,2 +1 @@
-DIST mpc-1.0.3.tar.gz 669925 BLAKE2B 
4b5a1db5220b58070f9356041f44f021c2c9ec46aa4303d0a31e809d649897bc3547e9b06271dae4e80be569ee67e2a84f86b662e05dac0ca36ff87e95fcbd62
 SHA512 
0028b76df130720c1fad7de937a0d041224806ce5ef76589f19c7b49d956071a683e2f20d154c192a231e69756b19e48208f2889b0c13950ceb7b3cfaf059a43
 DIST mpc-1.1.0.tar.gz 701263 BLAKE2B 
afd9fefe687b7cd3c3a483e183f366348e34f58f5d713e2f6b38da16e2e382248b446d9da01ea89fe7202b795b08929b7c42c89c2c1e9a57482faf01ee697beb
 SHA512 
72d657958b07c7812dc9c7cbae093118ce0e454c68a585bfb0e2fa559f1bf7c5f49b93906f580ab3f1073e5b595d23c6494d4d76b765d16dde857a18dd239628

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
deleted file mode 100644
index 3a62d9bd20a..000
--- a/dev-libs/mpc/files/mpc-1.0.3-mpfr-4.0.0.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-https://bugs.gentoo.org/642300
-
-From 36a84f43f326de14db888ba07936cc9621c23f19 Mon Sep 17 00:00:00 2001
-From: Paul Zimmermann 
-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
-@@ -171,8 +171,9 @@
- }
- 
- 
-+#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.
-@@ -319,6 +320,7 @@
- 
-return inex;
- }
-+#endif
- 
- 
- int
-@@ -337,10 +339,17 @@
-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)
 a/configure
-+++ b/configure
-@@ -13835,6 +13835,41 @@ else
- $as_echo "no" >&6; }
- as_fn_error $? "libmpfr not found or uses a different ABI (including 
static vs shared)." "$LINENO" 5
- 
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+conftest$ac_exeext conftest.$ac_ext
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpfr_fmma" >&5
-+$as_echo_n "checking for 

[gentoo-commits] repo/gentoo:master commit in: dev-libs/mpc/files/, dev-libs/mpc/

2017-12-26 Thread Sergei Trofimovich
commit: 7bc22dd56bb01e3f89420d09f56ead431fd52cd8
Author: Sergei Trofimovich  gentoo  org>
AuthorDate: Tue Dec 26 20:19:35 2017 +
Commit: Sergei Trofimovich  gentoo  org>
CommitDate: Tue Dec 26 20:19:50 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7bc22dd5

dev-libs/mpc: remove 'mpfr_add_one_ulp' use, mpfr-4.0.0 fix part 2

It's a backport of 
https://scm.gforge.inria.fr/anonscm/gitweb?p=mpc/mpc.git;a=commitdiff;h=5eaa17651b759c7856a118835802fecbebcf46ad
("replace obsolete mpfr_add_one_ulp/mpfr_sub_one_ulp functions")

mpfr-4.0.0 does not provide those functions anymore.
Unfortunately 'mpc' does not fail to build against such
mpfr but links broken library. One of the hints is usage
of undeclared function:
mpc-1.0.3/src/mpc-impl.h:63:29: warning: implicit declaration of function
‘mpfr_add_one_ulp’ [-Wimplicit-function-declaration]

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 dev-libs/mpc/files/mpc-1.0.3-no-ulp.patch | 25 +++
 dev-libs/mpc/mpc-1.0.3-r1.ebuild  | 40 +++
 2 files changed, 65 insertions(+)

diff --git a/dev-libs/mpc/files/mpc-1.0.3-no-ulp.patch 
b/dev-libs/mpc/files/mpc-1.0.3-no-ulp.patch
new file mode 100644
index 000..445e9419103
--- /dev/null
+++ b/dev-libs/mpc/files/mpc-1.0.3-no-ulp.patch
@@ -0,0 +1,25 @@
+mpfr-4.0.0 removed 'mpfr_add_one_ulp' and 'mpfr_sub_one_ulp'
+
+From 5eaa17651b759c7856a118835802fecbebcf46ad Mon Sep 17 00:00:00 2001
+From: Paul Zimmermann 
+Date: Wed, 4 Oct 2017 22:09:40 +0200
+Subject: [PATCH] replace obsolete mpfr_add_one_ulp/mpfr_sub_one_ulp functions
+
+---
+ src/mpc-impl.h | 6 --
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/mpc-impl.h b/src/mpc-impl.h
+index 4026765..5420691 100644
+--- a/src/mpc-impl.h
 b/src/mpc-impl.h
+@@ -60,2 +60,4 @@ along with this program. If not, see 
http://www.gnu.org/licenses/ .
+-#define MPFR_ADD_ONE_ULP(x) mpfr_add_one_ulp (x, GMP_RNDN)
+-#define MPFR_SUB_ONE_ULP(x) mpfr_sub_one_ulp (x, GMP_RNDN)
++#define MPFR_ADD_ONE_ULP(x) \
++  (mpfr_sgn (x) > 0 ? mpfr_nextabove (x) : mpfr_nextbelow (x))
++#define MPFR_SUB_ONE_ULP(x) \
++  (mpfr_sgn (x) > 0 ? mpfr_nextbelow (x) : mpfr_nextabove (x))
+-- 
+2.15.1
+

diff --git a/dev-libs/mpc/mpc-1.0.3-r1.ebuild b/dev-libs/mpc/mpc-1.0.3-r1.ebuild
new file mode 100644
index 000..c3508234133
--- /dev/null
+++ b/dev-libs/mpc/mpc-1.0.3-r1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils libtool multilib-minimal
+
+DESCRIPTION="A library for multiprecision complex arithmetic with exact 
rounding"
+HOMEPAGE="http://mpc.multiprecision.org/;
+SRC_URI="http://www.multiprecision.org/mpc/download/${P}.tar.gz;
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd 
~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="static-libs"
+
+DEPEND=">=dev-libs/gmp-4.3.2:0=[${MULTILIB_USEDEP},static-libs?]
+   >=dev-libs/mpfr-2.4.2:0=[${MULTILIB_USEDEP},static-libs?]"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+   "${FILESDIR}"/${P}-mpfr-4.0.0.patch
+   "${FILESDIR}"/${P}-no-ulp.patch
+)
+
+src_prepare() {
+   default
+
+   eautoreconf
+   elibtoolize #347317
+}
+
+multilib_src_configure() {
+   ECONF_SOURCE=${S} econf $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+   einstalldocs
+   prune_libtool_files
+}