Merge pull request #30597 from veprbl/root_6.10.08

root: 6.10.04 -> 6.10.08
This commit is contained in:
Joachim F 2017-10-20 13:48:39 +00:00 committed by GitHub
commit dd60a064a9
5 changed files with 37 additions and 200 deletions

@ -1,175 +0,0 @@
diff --git a/core/metacling/src/TCling.cxx b/core/metacling/src/TCling.cxx
index d71cb74..076facb 100644
--- a/core/metacling/src/TCling.cxx
+++ b/core/metacling/src/TCling.cxx
@@ -756,7 +756,7 @@ int TCling_GenerateDictionary(const std::vector<std::string> &classes,
gSystem->PrependPathName(dirbase, header);
dir = gSystem->DirName(dir);
}
- fileContent += TString("#include \"") + header + "\"\n";
+ fileContent += (TString("#include \"") + header + "\"\n").Data();
}
}
for (it = fwdDecls.begin(); it != fwdDecls.end(); ++it) {
@@ -1061,7 +1061,7 @@ TCling::TCling(const char *name, const char *title)
ROOT::TMetaUtils::SetPathsForRelocatability(clingArgsStorage);
// Add -I early so ASTReader can find the headers.
- std::string interpInclude(TROOT::GetEtcDir());
+ std::string interpInclude(TROOT::GetEtcDir().Data());
clingArgsStorage.push_back("-I" + interpInclude);
// Add include path to etc/cling. FIXME: This is a short term solution. The
@@ -1070,7 +1070,7 @@ TCling::TCling(const char *name, const char *title)
clingArgsStorage.push_back("-I" + interpInclude + "/cling");
// Add the root include directory and etc/ to list searched by default.
- clingArgsStorage.push_back(std::string("-I" + TROOT::GetIncludeDir()));
+ clingArgsStorage.push_back(std::string(("-I" + TROOT::GetIncludeDir()).Data()));
// Add the current path to the include path
// TCling::AddIncludePath(".");
diff --git a/hist/hist/src/TFormula.cxx b/hist/hist/src/TFormula.cxx
index abf3929..e7dad98 100644
--- a/hist/hist/src/TFormula.cxx
+++ b/hist/hist/src/TFormula.cxx
@@ -1677,7 +1677,7 @@ void TFormula::ProcessFormula(TString &formula)
if(fun.fName.Contains("::")) // add support for nested namespaces
{
// look for last occurence of "::"
- std::string name(fun.fName);
+ std::string name(fun.fName.Data());
size_t index = name.rfind("::");
assert(index != std::string::npos);
TString className = fun.fName(0,fun.fName(0,index).Length());
@@ -1869,7 +1869,7 @@ void TFormula::ProcessFormula(TString &formula)
// save copy of inputFormula in a std::strig for the unordered map
// and also formula is same as FClingInput typically and it will be modified
- std::string inputFormula = std::string(formula);
+ std::string inputFormula = std::string(formula.Data());
// valid input formula - try to put into Cling
diff --git a/main/src/nbmain.cxx b/main/src/nbmain.cxx
index 55d4f2f..8490149 100644
--- a/main/src/nbmain.cxx
+++ b/main/src/nbmain.cxx
@@ -173,9 +173,9 @@ static bool CreateStamp(string dest)
int main()
{
- string rootbin(TROOT::GetBinDir());
- string rootlib(TROOT::GetLibDir());
- string rootetc(TROOT::GetEtcDir());
+ string rootbin(TROOT::GetBinDir().Data());
+ string rootlib(TROOT::GetLibDir().Data());
+ string rootetc(TROOT::GetEtcDir().Data());
// If needed, install ROOT notebook files in the user's home directory
#ifdef WIN32
diff --git a/math/minuit/src/TMinuitMinimizer.cxx b/math/minuit/src/TMinuitMinimizer.cxx
index 4e2082a..18215c0 100644
--- a/math/minuit/src/TMinuitMinimizer.cxx
+++ b/math/minuit/src/TMinuitMinimizer.cxx
@@ -454,7 +454,7 @@ std::string TMinuitMinimizer::VariableName(unsigned int ivar) const {
// return the variable name
if (!CheckMinuitInstance()) return std::string();
if (!CheckVarIndex(ivar)) return std::string();
- return std::string(fMinuit->fCpnam[ivar]);
+ return std::string(fMinuit->fCpnam[ivar].Data());
}
int TMinuitMinimizer::VariableIndex(const std::string & ) const {
diff --git a/tmva/tmva/src/Factory.cxx b/tmva/tmva/src/Factory.cxx
index 36060ef..a1bbe34 100644
--- a/tmva/tmva/src/Factory.cxx
+++ b/tmva/tmva/src/Factory.cxx
@@ -390,7 +390,7 @@ TMVA::MethodBase* TMVA::Factory::BookMethod( TMVA::DataLoader *loader, TString t
// initialize methods
IMethod* im;
if (!boostNum) {
- im = ClassifierFactory::Instance().Create( std::string(theMethodName),
+ im = ClassifierFactory::Instance().Create( std::string(theMethodName.Data()),
fJobName,
methodTitle,
loader->DefaultDataSetInfo(),
@@ -933,7 +933,7 @@ void TMVA::Factory::TrainAllMethods()
// recreate
m = dynamic_cast<MethodBase*>( ClassifierFactory::Instance()
- .Create( std::string(Types::Instance().GetMethodName(methodType)),
+ .Create( std::string(Types::Instance().GetMethodName(methodType).Data()),
dataSetInfo, weightfile ) );
if( m->GetMethodType() == Types::kCategory ){
MethodCategory *methCat = (dynamic_cast<MethodCategory*>(m));
diff --git a/tmva/tmva/src/MethodBoost.cxx b/tmva/tmva/src/MethodBoost.cxx
index 1349e5d..2125ab3 100644
--- a/tmva/tmva/src/MethodBoost.cxx
+++ b/tmva/tmva/src/MethodBoost.cxx
@@ -389,7 +389,7 @@ void TMVA::MethodBoost::Train()
// the first classifier shows the option string output, the rest not
if (fCurrentMethodIdx>0) TMVA::MsgLogger::InhibitOutput();
- IMethod* method = ClassifierFactory::Instance().Create(std::string(fBoostedMethodName),
+ IMethod* method = ClassifierFactory::Instance().Create(std::string(fBoostedMethodName.Data()),
GetJobName(),
Form("%s_B%04i", fBoostedMethodTitle.Data(),fCurrentMethodIdx),
DataInfo(),
diff --git a/tmva/tmva/src/MethodCategory.cxx b/tmva/tmva/src/MethodCategory.cxx
index c2cbe80..d278cca 100644
--- a/tmva/tmva/src/MethodCategory.cxx
+++ b/tmva/tmva/src/MethodCategory.cxx
@@ -147,7 +147,7 @@ TMVA::IMethod* TMVA::MethodCategory::AddMethod( const TCut& theCut,
const TString& theTitle,
const TString& theOptions )
{
- std::string addedMethodName = std::string(Types::Instance().GetMethodName(theMethod));
+ std::string addedMethodName = std::string(Types::Instance().GetMethodName(theMethod).Data());
Log() << kINFO << "Adding sub-classifier: " << addedMethodName << "::" << theTitle << Endl;
diff --git a/tmva/tmva/src/MethodCompositeBase.cxx b/tmva/tmva/src/MethodCompositeBase.cxx
index 98fa5da..96bd9a3 100644
--- a/tmva/tmva/src/MethodCompositeBase.cxx
+++ b/tmva/tmva/src/MethodCompositeBase.cxx
@@ -194,7 +194,7 @@ void TMVA::MethodCompositeBase::ReadWeightsFromXML( void* wghtnode )
((TMVA::MethodBoost*)this)->BookMethod( Types::Instance().GetMethodType( methodTypeName), methodName, optionString );
}
fMethods.push_back(ClassifierFactory::Instance().Create(
- std::string(methodTypeName),jobName, methodName,DataInfo(),optionString));
+ std::string(methodTypeName.Data()),jobName, methodName,DataInfo(),optionString));
fMethodWeight.push_back(methodWeight);
MethodBase* meth = dynamic_cast<MethodBase*>(fMethods.back());
@@ -259,7 +259,7 @@ void TMVA::MethodCompositeBase::ReadWeightsFromStream( std::istream& istr )
((TMVA::MethodBoost*)this)->BookMethod( Types::Instance().GetMethodType( methodName), methodTitle, optionString );
}
else methodTitle=Form("%s (%04i)",GetMethodName().Data(),fCurrentMethodIdx);
- fMethods.push_back(ClassifierFactory::Instance().Create( std::string(methodName), jobName,
+ fMethods.push_back(ClassifierFactory::Instance().Create( std::string(methodName.Data()), jobName,
methodTitle,DataInfo(), optionString) );
fMethodWeight.push_back( methodWeight );
if(MethodBase* m = dynamic_cast<MethodBase*>(fMethods.back()) )
diff --git a/tmva/tmva/src/Reader.cxx b/tmva/tmva/src/Reader.cxx
index 94a8b28..0b67867 100644
--- a/tmva/tmva/src/Reader.cxx
+++ b/tmva/tmva/src/Reader.cxx
@@ -401,7 +401,7 @@ TMVA::IMethod* TMVA::Reader::BookMVA( const TString& methodTag, const TString& w
TMVA::IMethod* TMVA::Reader::BookMVA( TMVA::Types::EMVA methodType, const TString& weightfile )
{
- IMethod* im = ClassifierFactory::Instance().Create(std::string(Types::Instance().GetMethodName( methodType )),
+ IMethod* im = ClassifierFactory::Instance().Create(std::string(Types::Instance().GetMethodName( methodType ).Data()),
DataInfo(), weightfile );
MethodBase *method = (dynamic_cast<MethodBase*>(im));
@@ -440,7 +440,7 @@ TMVA::IMethod* TMVA::Reader::BookMVA( TMVA::Types::EMVA methodType, const char*
#if ROOT_VERSION_CODE >= ROOT_VERSION(5,26,00)
// books MVA method from weightfile
- IMethod* im = ClassifierFactory::Instance().Create(std::string(Types::Instance().GetMethodName( methodType )),
+ IMethod* im = ClassifierFactory::Instance().Create(std::string(Types::Instance().GetMethodName( methodType ).Data()),
DataInfo(), "" );
MethodBase *method = (dynamic_cast<MethodBase*>(im));

@ -1,30 +1,24 @@
{ stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2
, libX11, libXpm, libXft, libXext, mesa, zlib, libxml2, lzma, gsl
, libX11, libXpm, libXft, libXext, mesa, zlib, libxml2, lz4, lzma, gsl, xxHash
, Cocoa, OpenGL, noSplash ? false }:
stdenv.mkDerivation rec {
name = "root-${version}";
version = "6.10.04";
version = "6.10.08";
src = fetchurl {
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
sha256 = "0nwg4bw02v6vahm2rwfaj7fzp3ffhjg5jk7h20il4246swhxw6s6";
sha256 = "12mddl6pqwwc9nr4jqzp6h1jm4zycazd3v88dz306m1nmk97dlic";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl ]
buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ]
++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext mesa ]
++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
;
patches = [
./sw_vers.patch
# this prevents thisroot.sh from setting $p, which interferes with stdenv setup
./thisroot.patch
# https://sft.its.cern.ch/jira/browse/ROOT-8728
./ROOT-8728-extra.patch
];
preConfigure = ''

@ -1,15 +0,0 @@
diff --git a/config/thisroot.sh b/config/thisroot.sh
index 85dee20..532cb28 100644
--- a/config/thisroot.sh
+++ b/config/thisroot.sh
@@ -15,8 +15,8 @@ drop_from_path()
return 1
fi
- p=$1
- drop=$2
+ local p=$1
+ local drop=$2
newpath=`echo $p | sed -e "s;:${drop}:;:;g" \
-e "s;:${drop};;g" \

@ -0,0 +1,31 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "xxHash-${version}";
version = "0.6.3.20171018";
src = fetchFromGitHub {
sha256 = "0061ivxpx0p24m4vg7kfx9fs9f0jxvv4g76bmyss5gp90p05hc18";
rev = "333804ccf0c0339451accac023deeab9e5f7c002";
repo = "xxHash";
owner = "Cyan4973";
};
outputs = [ "out" "dev" ];
makeFlags = [ "PREFIX=$(out)" "INCLUDEDIR=$(dev)/include" ];
meta = with stdenv.lib; {
description = "Extremely fast hash algorithm";
longDescription = ''
xxHash is an Extremely fast Hash algorithm, running at RAM speed limits.
It successfully completes the SMHasher test suite which evaluates
collision, dispersion and randomness qualities of hash functions. Code is
highly portable, and hashes are identical on all platforms (little / big
endian).
'';
homepage = https://github.com/Cyan4973/xxHash;
license = with licenses; [ bsd2 gpl2 ];
platforms = platforms.unix;
};
}

@ -11059,6 +11059,8 @@ with pkgs;
xvidcore = callPackage ../development/libraries/xvidcore { };
xxHash = callPackage ../development/libraries/xxHash {};
xylib = callPackage ../development/libraries/xylib { };
yajl = callPackage ../development/libraries/yajl { };