From c1e4efd807e9cce5c6d5a9809360c83881a5f053 Mon Sep 17 00:00:00 2001 From: David Seifert Date: Tue, 20 Sep 2016 23:02:22 +0200 Subject: sci-libs/spr: Allow for compiling with GCC 6 Gentoo-bug: 594376 * EAPI=6 Package-Manager: portage-2.3.1 --- sci-libs/spr/files/spr-3.3.2-fix-c++14.patch | 68 ++++++++++++++++++++++++++++ sci-libs/spr/spr-3.3.2.ebuild | 22 +++++---- 2 files changed, 80 insertions(+), 10 deletions(-) create mode 100644 sci-libs/spr/files/spr-3.3.2-fix-c++14.patch (limited to 'sci-libs') diff --git a/sci-libs/spr/files/spr-3.3.2-fix-c++14.patch b/sci-libs/spr/files/spr-3.3.2-fix-c++14.patch new file mode 100644 index 000000000000..fc2939281b3f --- /dev/null +++ b/sci-libs/spr/files/spr-3.3.2-fix-c++14.patch @@ -0,0 +1,68 @@ +Fix building with C++14, which errors out due to bool -> T* conversions +See also: https://bugs.gentoo.org/show_bug.cgi?id=594376 + +--- a/src/SprBinaryEncoder.cc ++++ b/src/SprBinaryEncoder.cc +@@ -165,7 +165,7 @@ + if( found != vars.end() ) { + cerr << "Variable " << sclass.c_str() << " is already included " + << "in the input list for SprBinaryEncoder." << endl; +- return false; ++ return NULL; + } + vars.push_back(sclass); + +--- a/src/SprDecisionTree.cc ++++ b/src/SprDecisionTree.cc +@@ -362,7 +362,7 @@ + { + // header + char s [200]; +- sprintf(s,"Trained DecisionTree %-6i signal nodes. Overall FOM=%-10g W0=%-10g W1=%-10g N0=%-10i N1=%-10i Version=%s",nodes1_.size(),fom_,w0_,w1_,n0_,n1_,SprVersion.c_str()); ++ sprintf(s,"Trained DecisionTree %-6lu signal nodes. Overall FOM=%-10g W0=%-10g W1=%-10g N0=%-10i N1=%-10i Version=%s",nodes1_.size(),fom_,w0_,w1_,n0_,n1_,SprVersion.c_str()); + os << s << endl; + os << "-------------------------------------------------------" << endl; + +--- a/src/SprVarTransformerReader.cc ++++ b/src/SprVarTransformerReader.cc +@@ -50,7 +50,7 @@ + nLine++; + if( !getline(is,line) ) { + cerr << "Unable to read VarTransformer from line " << nLine << endl; +- return 0; ++ return NULL; + } + istringstream ist(line); + string dummy, transformerName, version; +@@ -59,9 +59,9 @@ + // decode name + if( transformerName.empty() ) { + cerr << "Unable to read VarTransformer name on line " << nLine << endl; +- return false; ++ return NULL; + } +- SprAbsVarTransformer* t = 0; ++ SprAbsVarTransformer* t = NULL; + if( transformerName == "PCA" ) + t = SprVarTransformerReader::readPCATransformer(is,nLine); + else if( transformerName == "InputNormalizer" ) +@@ -72,16 +72,16 @@ + t = SprVarTransformerReader::readTransformerSequence(is,nLine); + else { + cerr << "Unknown VarTransformer name specified on line " << nLine << endl; +- return 0; ++ return NULL; + } +- if( t == 0 ) return 0; ++ if( t == NULL ) return NULL; + + // read vars + vector oldVars, newVars; + if( !SprVarTransformerReader::readVars(is,nLine,oldVars,newVars) || + oldVars.empty() || newVars.empty() ) { + cerr << "Unable to read VarTransformer variables." << endl; +- return 0; ++ return NULL; + } + t->setOldVars(oldVars); + t->setNewVars(newVars); diff --git a/sci-libs/spr/spr-3.3.2.ebuild b/sci-libs/spr/spr-3.3.2.ebuild index dad4d53b9e76..d63e597993b8 100644 --- a/sci-libs/spr/spr-3.3.2.ebuild +++ b/sci-libs/spr/spr-3.3.2.ebuild @@ -1,15 +1,14 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ -EAPI=4 -inherit eutils autotools +EAPI=6 -MYP=SPR-${PV} +inherit autotools DESCRIPTION="Statistical analysis and machine learning library" HOMEPAGE="http://statpatrec.sourceforge.net/" -SRC_URI="mirror://sourceforge/statpatrec/${MYP}.tar.gz" +SRC_URI="mirror://sourceforge/statpatrec/${P^^}.tar.gz" LICENSE="GPL-2" SLOT="0" @@ -20,15 +19,18 @@ IUSE="root static-libs" DEPEND="root? ( sci-physics/root )" RDEPEND="${DEPEND}" -S=${WORKDIR}/${MYP} +S=${WORKDIR}/${P^^} +PATCHES=( + "${FILESDIR}"/${P}-autotools.patch + "${FILESDIR}"/${P}-gcc46.patch + "${FILESDIR}"/${P}-fix-c++14.patch +) src_prepare() { - epatch \ - "${FILESDIR}"/${P}-autotools.patch \ - "${FILESDIR}"/${P}-gcc46.patch + default rm aclocal.m4 || die eautoreconf - cp data/gauss* src/ + cp data/gauss* src/ || die } src_configure() { -- cgit v1.2.3-65-gdbad