commit:     23a185e1b261116feeea69568134b873a09e4398
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 18 09:48:53 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Feb 18 09:49:21 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=23a185e1

media-libs/libraw: fix build failure against glibc-2.27, bug #647556

Closes: https://bugs.gentoo.org/647556
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 media-libs/libraw/files/libraw-0.18.4-glibc-2.27.patch | 14 ++++++++++++++
 media-libs/libraw/libraw-0.18.4.ebuild                 |  6 +++++-
 media-libs/libraw/libraw-0.18.6.ebuild                 |  6 +++++-
 media-libs/libraw/libraw-0.18.7.ebuild                 |  4 ++++
 4 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/media-libs/libraw/files/libraw-0.18.4-glibc-2.27.patch 
b/media-libs/libraw/files/libraw-0.18.4-glibc-2.27.patch
new file mode 100644
index 00000000000..3e33cc62acc
--- /dev/null
+++ b/media-libs/libraw/files/libraw-0.18.4-glibc-2.27.patch
@@ -0,0 +1,14 @@
+Fix build failure on glibc-2.27 caused by pow64 symbol collision.
+
+https://github.com/LibRaw/LibRaw/pull/115
+https://bugs.gentoo.org/647556
+diff --git a/internal/dcraw_common.cpp b/internal/dcraw_common.cpp
+index 18bcdbc..8cec744 100644
+--- a/internal/dcraw_common.cpp
++++ b/internal/dcraw_common.cpp
+@@ -5770,4 +5770,5 @@ static float powf_lim(float a, float b, float limup)
+   return (b>limup || b < -limup)?0.f:powf(a,b);
+ }
++#define powf64 powf_lim64 /* workaround symbol collision */
+ static float powf64(float a, float b)
+ {

diff --git a/media-libs/libraw/libraw-0.18.4.ebuild 
b/media-libs/libraw/libraw-0.18.4.ebuild
index 95da5a43109..00899324988 100644
--- a/media-libs/libraw/libraw-0.18.4.ebuild
+++ b/media-libs/libraw/libraw-0.18.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -32,6 +32,10 @@ S=${WORKDIR}/${MY_P}
 
 DOCS=( Changelog.txt README )
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.18.4-glibc-2.27.patch
+)
+
 pkg_pretend() {
        [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
 }

diff --git a/media-libs/libraw/libraw-0.18.6.ebuild 
b/media-libs/libraw/libraw-0.18.6.ebuild
index 318f92ff612..2db1f344707 100644
--- a/media-libs/libraw/libraw-0.18.6.ebuild
+++ b/media-libs/libraw/libraw-0.18.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -32,6 +32,10 @@ S="${WORKDIR}/${MY_P}"
 
 DOCS=( Changelog.txt README )
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.18.4-glibc-2.27.patch
+)
+
 pkg_pretend() {
        [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
 }

diff --git a/media-libs/libraw/libraw-0.18.7.ebuild 
b/media-libs/libraw/libraw-0.18.7.ebuild
index 4989fcd6c7f..2db1f344707 100644
--- a/media-libs/libraw/libraw-0.18.7.ebuild
+++ b/media-libs/libraw/libraw-0.18.7.ebuild
@@ -32,6 +32,10 @@ S="${WORKDIR}/${MY_P}"
 
 DOCS=( Changelog.txt README )
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.18.4-glibc-2.27.patch
+)
+
 pkg_pretend() {
        [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
 }

Reply via email to