commit:     9f00d603354fbbb958798a6d8652b8fd2cece88d
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 13 14:32:48 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Wed Apr 13 14:32:55 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9f00d603

dev-libs/mpfr: add upstream cygwin fix #579840

 dev-libs/mpfr/files/mpfr-3.1.4-cygwin.patch | 39 +++++++++++++++++++++++++++++
 dev-libs/mpfr/mpfr-3.1.4.ebuild             |  2 ++
 2 files changed, 41 insertions(+)

diff --git a/dev-libs/mpfr/files/mpfr-3.1.4-cygwin.patch 
b/dev-libs/mpfr/files/mpfr-3.1.4-cygwin.patch
new file mode 100644
index 0000000..c051b46
--- /dev/null
+++ b/dev-libs/mpfr/files/mpfr-3.1.4-cygwin.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/579840
+
+fix from upstream
+
+r10260 | vlefevre | 2016-04-08 19:17:07 -0400 (Fri, 08 Apr 2016) | 8 lines
+
+[src/mpfr-impl.h] Removed the detection of possible inconsistencies
+under Unix because the tests could yield spurious errors with Cygwin
+or other similar implementations. Moreover, such tests were used for
+debugging purpose or to detect potential problems in the environment,
+thus were not really useful for the end user. They were initially
+added in the win-thread-safe-dll branch (r9682, following a problem
+found in r9680). One alternative for checking by the MPFR developers
+would be to output the status of some internal macros in tversion.
+
+Index: src/mpfr-impl.h
+===================================================================
+--- src/mpfr-impl.h    (revision 10259)
++++ src/mpfr-impl.h    (revision 10260)
+@@ -208,19 +208,6 @@ typedef struct __gmpfr_cache_s *mpfr_cac
+ # define MPFR_WIN_THREAD_SAFE_DLL 1
+ #endif
+ 
+-/* Detect some possible inconsistencies under Unix. */
+-#if defined(__unix__)
+-# if defined(_WIN32)
+-#  error "Both __unix__ and _WIN32 are defined"
+-# endif
+-# if __GMP_LIBGMP_DLL
+-#  error "__unix__ is defined and __GMP_LIBGMP_DLL is true"
+-# endif
+-# if defined(MPFR_WIN_THREAD_SAFE_DLL)
+-#  error "Both __unix__ and MPFR_WIN_THREAD_SAFE_DLL are defined"
+-# endif
+-#endif
+-
+ #if defined(__MPFR_WITHIN_MPFR) || !defined(MPFR_WIN_THREAD_SAFE_DLL)
+ extern MPFR_THREAD_ATTR mpfr_flags_t __gmpfr_flags;
+ extern MPFR_THREAD_ATTR mpfr_exp_t   __gmpfr_emin;

diff --git a/dev-libs/mpfr/mpfr-3.1.4.ebuild b/dev-libs/mpfr/mpfr-3.1.4.ebuild
index 50325e0..32edb16 100644
--- a/dev-libs/mpfr/mpfr-3.1.4.ebuild
+++ b/dev-libs/mpfr/mpfr-3.1.4.ebuild
@@ -31,6 +31,8 @@ src_prepare() {
                        epatch "${FILESDIR}"/${MY_PV}/patch$(printf '%02d' ${i})
                done
        fi
+       epatch "${FILESDIR}"/${P}-cygwin.patch #579840
+       epatch_user
        find . -type f -exec touch -r configure {} +
        elibtoolize
 }

Reply via email to