Hello community, here is the log from the commit of package mpc for openSUSE:Factory checked in at 2018-01-10 23:28:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mpc (Old) and /work/SRC/openSUSE:Factory/.mpc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mpc" Wed Jan 10 23:28:38 2018 rev:26 rq:561120 version:1.0.3 Changes: -------- --- /work/SRC/openSUSE:Factory/mpc/mpc.changes 2015-03-05 18:17:56.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.mpc.new/mpc.changes 2018-01-10 23:28:42.270223206 +0100 @@ -1,0 +2,13 @@ +Tue Jan 2 13:06:25 UTC 2018 - [email protected] + +- Add mpc-1.0.3-addsubulp.diff and mpc-1.0.3-fmma.diff to fix build + with mpfr 4.0.0. + +------------------------------------------------------------------- +Tue Nov 17 21:09:56 UTC 2015 - [email protected] + +- Add gpg signature +- Add info scriplet dependencies and move them to correct sections +- Cleanup spec file with spec-cleaner + +------------------------------------------------------------------- New: ---- mpc-1.0.3-addsubulp.diff mpc-1.0.3-fmma.diff mpc-1.0.3.tar.gz.sig mpc.keyring ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mpc.spec ++++++ --- /var/tmp/diff_new_pack.sSYGTM/_old 2018-01-10 23:28:42.874194858 +0100 +++ /var/tmp/diff_new_pack.sSYGTM/_new 2018-01-10 23:28:42.882194482 +0100 @@ -1,7 +1,7 @@ # # spec file for package mpc # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,16 +17,22 @@ Name: mpc -BuildRequires: gmp-devel -BuildRequires: mpfr-devel Version: 1.0.3 Release: 0 Summary: MPC multiple-precision complex shared library License: LGPL-3.0+ Group: Development/Libraries/C and C++ Url: http://www.multiprecision.org/mpc/ -Source: http://www.multiprecision.org/mpc/download/mpc-%{version}.tar.gz -Source2: baselibs.conf +Source0: http://www.multiprecision.org/mpc/download/mpc-%{version}.tar.gz +Source1: http://www.multiprecision.org/mpc/download/mpc-%{version}.tar.gz.sig +Source2: %{name}.keyring +Source3: baselibs.conf +Patch1: mpc-1.0.3-fmma.diff +Patch2: mpc-1.0.3-addsubulp.diff +BuildRequires: gmp-devel +BuildRequires: mpfr-devel +Requires(post): %{install_info_prereq} +Requires(preun): %{install_info_prereq} BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -34,8 +40,6 @@ arbitrarily high precision and correct rounding of the result. It is built upon and follows the same principles as MPFR. - - %package -n libmpc3 Summary: MPC multiple-precision complex shared library Group: Development/Libraries/C and C++ @@ -45,22 +49,21 @@ arbitrarily high precision and correct rounding of the result. It is built upon and follows the same principles as MPFR. - - %package devel Summary: MPC multiple-precision complex library development files Group: Development/Libraries/C and C++ Requires: libmpc3 = %{version} Requires: mpfr-devel -PreReq: %install_info_prereq +# FIXME: use proper Requires(pre/post/preun/...) +PreReq: %{install_info_prereq} %description devel MPC multiple-precision complex library development files. - - %prep %setup -q +%patch1 -p1 +%patch2 -p1 %build %configure @@ -70,8 +73,8 @@ make check %{?_smp_mflags} %install -%makeinstall -rm $RPM_BUILD_ROOT%{_libdir}/libmpc.la +make DESTDIR=%{buildroot} install %{?_smp_mflags} +rm %{buildroot}%{_libdir}/libmpc.la %post -n libmpc3 -p /sbin/ldconfig @@ -80,7 +83,7 @@ %postun -n libmpc3 -p /sbin/ldconfig -%postun devel +%preun devel %install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz %files -n libmpc3 @@ -90,9 +93,9 @@ %files devel %defattr(-,root,root) %doc AUTHORS NEWS COPYING.LESSER -%doc %{_infodir}/mpc.info.gz +%{_infodir}/mpc.info.gz %{_libdir}/libmpc.a %{_libdir}/libmpc.so -/usr/include/mpc.h +%{_includedir}/mpc.h %changelog ++++++ mpc-1.0.3-addsubulp.diff ++++++ From: Paul Zimmermann <[email protected]> Date: Wed, 4 Oct 2017 20:09:40 +0000 (+0200) Subject: replace obsolete mpfr_add_one_ulp/mpfr_sub_one_ulp functions X-Git-Url: https://scm.gforge.inria.fr/anonscm/gitweb?p=mpc%2Fmpc.git;a=commitdiff_plain;h=5eaa17651b759c7856a118835802fecbebcf46ad replace obsolete mpfr_add_one_ulp/mpfr_sub_one_ulp functions --- Index: mpc-1.0.3/src/mpc-impl.h =================================================================== --- mpc-1.0.3.orig/src/mpc-impl.h 2018-01-02 14:04:02.075989843 +0100 +++ mpc-1.0.3/src/mpc-impl.h 2018-01-02 14:05:02.712974966 +0100 @@ -60,8 +60,10 @@ along with this program. If not, see htt mpfr_setsign (x, y, 0, rnd) : \ mpfr_copysign (x, y, z, rnd)) /* work around spurious signs in nan */ -#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)) /* drop unused rounding mode from macroes */ #define MPFR_SWAP(a,b) do { mpfr_srcptr tmp; tmp = a; a = b; b = tmp; } while (0) ++++++ mpc-1.0.3-fmma.diff ++++++ >From 36a84f43f326de14db888ba07936cc9621c23f19 Mon Sep 17 00:00:00 2001 From: Paul Zimmermann <[email protected]> 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. --- mpc-1.0.3/src/mul.c.orig 2015-02-16 13:37:30.000000000 +0100 +++ mpc-1.0.3/src/mul.c 2018-01-02 13:54:34.030414144 +0100 @@ -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]; +#if HAVE_MPFR_FMMA 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)), mpfr_fmma (mpc_imagref (rop), mpc_realref (x), mpc_imagref (y), mpc_imagref (x), mpc_realref (y), +1, 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)
