commit:     d648afac343e93926af5bfb7bf5a0ce31eb8a655
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 22 13:16:22 2019 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sat Jun 22 13:16:22 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d648afac

sci-libs/dcmtk: Fix building against GCC 9

Closes: https://bugs.gentoo.org/686592
Package-Manager: Portage-2.3.67, Repoman-2.3.15
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 sci-libs/dcmtk/dcmtk-3.6.3.ebuild               |  3 ++-
 sci-libs/dcmtk/files/dcmtk-3.6.3-fix-gcc9.patch | 29 +++++++++++++++++++++++++
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/sci-libs/dcmtk/dcmtk-3.6.3.ebuild 
b/sci-libs/dcmtk/dcmtk-3.6.3.ebuild
index 463fca72dfb..b1f261640f6 100644
--- a/sci-libs/dcmtk/dcmtk-3.6.3.ebuild
+++ b/sci-libs/dcmtk/dcmtk-3.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=6
@@ -30,6 +30,7 @@ DEPEND="${RDEPEND}
 PATCHES=(
        "${FILESDIR}"/${P}-dcmqrdb-cfg.patch
        "${FILESDIR}"/${P}-nostrip.patch
+       "${FILESDIR}"/${P}-fix-gcc9.patch
 )
 
 src_prepare() {

diff --git a/sci-libs/dcmtk/files/dcmtk-3.6.3-fix-gcc9.patch 
b/sci-libs/dcmtk/files/dcmtk-3.6.3-fix-gcc9.patch
new file mode 100644
index 00000000000..596a1ae21b9
--- /dev/null
+++ b/sci-libs/dcmtk/files/dcmtk-3.6.3-fix-gcc9.patch
@@ -0,0 +1,29 @@
+https://bugs.gentoo.org/686592
+
+In file included from 
/var/tmp/portage/sci-libs/dcmtk-3.6.3/work/dcmtk-3.6.3/ofstd/include/dcmtk/ofstd/variadic/variant.h:19,
+                 from 
/var/tmp/portage/sci-libs/dcmtk-3.6.3/work/dcmtk-3.6.3/ofstd/include/dcmtk/ofstd/ofvriant.h:379,
+                 from 
/var/tmp/portage/sci-libs/dcmtk-3.6.3/work/dcmtk-3.6.3/ofstd/tests/tvariant.cc:26:
+/var/tmp/portage/sci-libs/dcmtk-3.6.3/work/dcmtk-3.6.3/ofstd/include/dcmtk/ofstd/variadic/helpers.h:57:32:
 error: narrowing conversion of ‘-1’ from ‘int’ to ‘long unsigned int’ 
[-Wnarrowing]
+   57 | : OFintegral_constant<size_t,-1> {};
+      |
+
+--- a/ofstd/include/dcmtk/ofstd/variadic/helpers.h
++++ b/ofstd/include/dcmtk/ofstd/variadic/helpers.h
+@@ -14,6 +14,8 @@
+ #ifndef VARIADIC_HELPERS_H
+ #define VARIADIC_HELPERS_H
+ 
++#include <limits>
++
+ #include "dcmtk/config/osconfig.h"    /* make sure OS specific configuration 
is included first */
+ 
+ #include "dcmtk/ofstd/oftraits.h"
+@@ -54,7 +56,7 @@
+ 
+ template<size_t Index,typename T>
+ struct OFvariadic_find_type_t<Index,T>
+-: OFintegral_constant<size_t,-1> {};
++: OFintegral_constant<size_t,std::numeric_limits<size_t>::max()> {};
+ 
+ template<typename T,typename T0=OFvariadic_nil,typename 
T1=OFvariadic_nil,typename T2=OFvariadic_nil,typename 
T3=OFvariadic_nil,typename T4=OFvariadic_nil,typename 
T5=OFvariadic_nil,typename T6=OFvariadic_nil,typename 
T7=OFvariadic_nil,typename T8=OFvariadic_nil,typename 
T9=OFvariadic_nil,typename T10=OFvariadic_nil,typename 
T11=OFvariadic_nil,typename T12=OFvariadic_nil,typename 
T13=OFvariadic_nil,typename T14=OFvariadic_nil,typename 
T15=OFvariadic_nil,typename T16=OFvariadic_nil,typename 
T17=OFvariadic_nil,typename T18=OFvariadic_nil,typename 
T19=OFvariadic_nil,typename T20=OFvariadic_nil,typename 
T21=OFvariadic_nil,typename T22=OFvariadic_nil,typename 
T23=OFvariadic_nil,typename T24=OFvariadic_nil,typename 
T25=OFvariadic_nil,typename T26=OFvariadic_nil,typename 
T27=OFvariadic_nil,typename T28=OFvariadic_nil,typename 
T29=OFvariadic_nil,typename T30=OFvariadic_nil,typename 
T31=OFvariadic_nil,typename T32=OFvariadic_nil,typename 
T33=OFvariadic_nil,typename T34=OFvariadic_nil,typena
 me T35=OFvariadic_nil,typename T36=OFvariadic_nil,typename 
T37=OFvariadic_nil,typename T38=OFvariadic_nil,typename 
T39=OFvariadic_nil,typename T40=OFvariadic_nil,typename 
T41=OFvariadic_nil,typename T42=OFvariadic_nil,typename 
T43=OFvariadic_nil,typename T44=OFvariadic_nil,typename 
T45=OFvariadic_nil,typename T46=OFvariadic_nil,typename 
T47=OFvariadic_nil,typename T48=OFvariadic_nil,typename T49=OFvariadic_nil>
+ struct OFvariadic_find_type

Reply via email to