diff options
Diffstat (limited to 'pkgs/applications/science/misc/root/ROOT-8728-extra.patch')
-rw-r--r-- | pkgs/applications/science/misc/root/ROOT-8728-extra.patch | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/pkgs/applications/science/misc/root/ROOT-8728-extra.patch b/pkgs/applications/science/misc/root/ROOT-8728-extra.patch new file mode 100644 index 00000000000..ec8c160c6f3 --- /dev/null +++ b/pkgs/applications/science/misc/root/ROOT-8728-extra.patch @@ -0,0 +1,200 @@ +diff --git a/core/base/inc/ROOT/StringConv.hxx b/core/base/inc/ROOT/StringConv.hxx +index 629fc18..4efa54a 100644 +--- a/core/base/inc/ROOT/StringConv.hxx ++++ b/core/base/inc/ROOT/StringConv.hxx +@@ -89,7 +89,7 @@ EFromHumanReadableSize FromHumanReadableSize(std::string_view str, T &value) + size_t size = str.size(); + size_t cur; + // Parse leading numeric factor +- const double coeff = stod(str, &cur); ++ const double coeff = stod(static_cast<std::string>(str), &cur); + + // Skip any intermediate white space + while (cur<size && isspace(str[cur])) ++cur; +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)); +diff -aru a/core/base/inc/TString.h b/core/base/inc/TString.h +--- a/core/base/inc/TString.h ++++ b/core/base/inc/TString.h +@@ -106,7 +106,7 @@ + char operator[](Ssiz_t i) const; // Index with bounds checking + + operator std::string_view() const { return std::string_view(Data(),fExtent); } +- operator std::string() const { return std::string_view(Data(),fExtent).to_string(); } ++ operator std::string() const { return static_cast<std::string>(std::string_view(Data(),fExtent)); } + + const char *Data() const; + Ssiz_t Length() const { return fExtent; } |