From fba71390e25b305d35bd7bb28a909f03ece6da25 Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Mon, 23 Mar 2020 10:03:24 +0100 Subject: [PATCH] Update to 6.20.02 Drop patches accepted upstream root-dont-download-input-file-if-it-already-exists.patch root-fix-plugin-definition.patch root-man-install.patch root-pretty-printers.patch root-python3.patch root-stress-aarch64-ppc64le.patch Drop patches no longer relevant due to changes to the code root-missing-include-string.patch root-static-constexpr.patch Add workaround for PyROOT issues on ppc64le in EPEL 7 root-epel7-ppc64le-pyroot.patch (patch conditionally applied) Fix path to moved data file in tutorial root-moved-file.patch Split the root-roofit subpackage into four different packages root-roofit, root-roofit-core, root-roofit-more and root-roostats The root-roofit-more library splits out the part of roofit that depends on the root-mathmore package New subpackage: root-histv7 --- root-32bit-dataframe.patch | 132 +++---- root-doc-no-notebooks.patch | 9 +- ...load-input-file-if-it-already-exists.patch | 64 ---- root-epel7-ppc64le-pyroot.patch | 23 ++ root-fix-plugin-definition.patch | 92 ----- root-jupyroot-static.patch | 44 +-- root-man-install.patch | 24 -- root-memory-arm-x86.patch | 4 +- root-missing-include-string.patch | 11 - root-moved-file.patch | 27 ++ root-pretty-printers.patch | 50 --- root-python3.8-object.patch | 192 ++++++----- root-python3.patch | 69 ---- root-static-constexpr.patch | 12 - root-stress-aarch64-ppc64le.patch | 29 -- root-unbundle-gtest.patch | 13 +- root.spec | 324 ++++++++++++------ sources | 2 +- 18 files changed, 458 insertions(+), 663 deletions(-) delete mode 100644 root-dont-download-input-file-if-it-already-exists.patch create mode 100644 root-epel7-ppc64le-pyroot.patch delete mode 100644 root-fix-plugin-definition.patch delete mode 100644 root-man-install.patch delete mode 100644 root-missing-include-string.patch create mode 100644 root-moved-file.patch delete mode 100644 root-pretty-printers.patch delete mode 100644 root-python3.patch delete mode 100644 root-static-constexpr.patch delete mode 100644 root-stress-aarch64-ppc64le.patch diff --git a/root-32bit-dataframe.patch b/root-32bit-dataframe.patch index dd71ad6..e47b913 100644 --- a/root-32bit-dataframe.patch +++ b/root-32bit-dataframe.patch @@ -1,7 +1,7 @@ -diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/ROOT.py ---- root-6.18.04.orig/bindings/pyroot/ROOT.py 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/ROOT.py 2020-03-13 19:58:32.330575246 +0100 -@@ -449,9 +449,7 @@ +diff -ur root-6.20.02.orig/bindings/pyroot/ROOT.py root-6.20.02/bindings/pyroot/ROOT.py +--- root-6.20.02.orig/bindings/pyroot/ROOT.py 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/ROOT.py 2020-03-15 19:50:25.303179253 +0100 +@@ -438,9 +438,7 @@ # This function is injected as method to the respective classes in Pythonize.cxx. _root._RDataFrameAsNumpy = _RDataFrameAsNumpy @@ -12,26 +12,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/ROOT.py root-6.18.04/bindings/pyroot/ ### RINT command emulation ------------------------------------------------------ -diff -ur root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt root-6.18.04/bindings/pyroot/test/CMakeLists.txt ---- root-6.18.04.orig/bindings/pyroot/test/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/test/CMakeLists.txt 2020-03-13 19:58:32.330575246 +0100 -@@ -4,10 +4,7 @@ - ROOT_ADD_PYUNITTEST(pyroot_rvec rvec.py) - if(NUMPY_FOUND) - ROOT_ADD_PYUNITTEST(pyroot_array_interface array_interface.py) -- # this excludes RDF for 32 bits builds because of clang/gcc abi issues -- if( CMAKE_SIZEOF_VOID_P EQUAL 8 ) -- ROOT_ADD_PYUNITTEST(pyroot_rdataframe_asnumpy rdataframe_asnumpy.py) -- ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py) -- endif() -+ ROOT_ADD_PYUNITTEST(pyroot_rdataframe_asnumpy rdataframe_asnumpy.py) -+ ROOT_ADD_PYUNITTEST(pyroot_ttree_asmatrix ttree_asmatrix.py) - endif() - -diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/makepchinput.py ---- root-6.18.04.orig/build/unix/makepchinput.py 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/build/unix/makepchinput.py 2020-03-13 19:58:32.331575236 +0100 -@@ -263,9 +263,6 @@ +diff -ur root-6.20.02.orig/build/unix/makepchinput.py root-6.20.02/build/unix/makepchinput.py +--- root-6.20.02.orig/build/unix/makepchinput.py 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/build/unix/makepchinput.py 2020-03-15 19:50:25.304179242 +0100 +@@ -252,9 +252,6 @@ "math/vdt", "tmva/rmva"] @@ -41,39 +25,9 @@ diff -ur root-6.18.04.orig/build/unix/makepchinput.py root-6.18.04/build/unix/ma accepted = isAnyPatternInString(PCHPatternsWhitelist,dirName) and \ not isAnyPatternInString(PCHPatternsBlacklist,dirName) -diff -ur root-6.18.04.orig/config/root-config.in root-6.18.04/config/root-config.in ---- root-6.18.04.orig/config/root-config.in 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/config/root-config.in 2020-03-13 20:06:39.876361426 +0100 -@@ -76,10 +76,7 @@ - -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread\ - -lMultiProc" - --if [ "@UNIX@" != "1" ] || [ "@CMAKE_SIZEOF_VOID_P@" != "4" ]; then -- rootlibs="$rootlibs -lROOTDataFrame" --fi -- -+rootlibs="$rootlibs -lROOTDataFrame" - - if test "$platform" = "win32"; then - rootulibs="-include:_G__cpp_setupG__Net \ -diff -ur root-6.18.04.orig/tree/dataframe/CMakeLists.txt root-6.18.04/tree/dataframe/CMakeLists.txt ---- root-6.18.04.orig/tree/dataframe/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/tree/dataframe/CMakeLists.txt 2020-03-13 19:58:32.332575225 +0100 -@@ -3,11 +3,6 @@ - # @author Danilo Piparo CERN, Pere Mato CERN - ############################################################################ - --# Disable RDataFrame on 32-bit UNIX platforms due to ROOT-9236 --if(UNIX AND CMAKE_SIZEOF_VOID_P EQUAL 4) -- return() --endif() -- - if(arrow) - list(APPEND RDATAFRAME_EXTRA_HEADERS ROOT/RArrowDS.hxx) - list(APPEND RDATAFRAME_EXTRA_INCLUDES -I${ARROW_INCLUDE_DIR}) -diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/tree/dataframe/test/dataframe_cache.cxx ---- root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/tree/dataframe/test/dataframe_cache.cxx 2020-03-13 20:13:04.021253192 +0100 +diff -ur root-6.20.02.orig/tree/dataframe/test/dataframe_cache.cxx root-6.20.02/tree/dataframe/test/dataframe_cache.cxx +--- root-6.20.02.orig/tree/dataframe/test/dataframe_cache.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/tree/dataframe/test/dataframe_cache.cxx 2020-03-15 19:50:09.075351525 +0100 @@ -224,8 +224,6 @@ } @@ -89,9 +43,9 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/dataframe_cache.cxx root-6.18.04/ } - -#endif // R__B64 -diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04/tree/dataframe/test/datasource_arrow.cxx ---- root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/tree/dataframe/test/datasource_arrow.cxx 2020-03-13 20:13:04.021253192 +0100 +diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_arrow.cxx root-6.20.02/tree/dataframe/test/datasource_arrow.cxx +--- root-6.20.02.orig/tree/dataframe/test/datasource_arrow.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/tree/dataframe/test/datasource_arrow.cxx 2020-03-15 19:50:09.075351525 +0100 @@ -163,8 +163,6 @@ } #endif @@ -107,10 +61,10 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_arrow.cxx root-6.18.04 #endif // R__USE_IMT - -#endif // R__B64 -diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/tree/dataframe/test/datasource_csv.cxx ---- root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/tree/dataframe/test/datasource_csv.cxx 2020-03-13 20:26:14.841831219 +0100 -@@ -193,8 +193,6 @@ +diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_csv.cxx root-6.20.02/tree/dataframe/test/datasource_csv.cxx +--- root-6.20.02.orig/tree/dataframe/test/datasource_csv.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/tree/dataframe/test/datasource_csv.cxx 2020-03-15 19:57:05.490930922 +0100 +@@ -195,8 +195,6 @@ } #endif @@ -119,15 +73,15 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_csv.cxx root-6.18.04/t TEST(RCsvDS, FromARDF) { std::unique_ptr tds(new RCsvDS(fileName0)); -@@ -290,5 +288,3 @@ +@@ -292,5 +290,3 @@ } #endif // R__USE_IMT - -#endif // R__B64 -diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/tree/dataframe/test/datasource_root.cxx ---- root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/tree/dataframe/test/datasource_root.cxx 2020-03-13 20:13:04.021253192 +0100 +diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_root.cxx root-6.20.02/tree/dataframe/test/datasource_root.cxx +--- root-6.20.02.orig/tree/dataframe/test/datasource_root.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/tree/dataframe/test/datasource_root.cxx 2020-03-15 19:50:09.076351514 +0100 @@ -117,8 +117,6 @@ } #endif @@ -143,9 +97,9 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_root.cxx root-6.18.04/ #endif // R__USE_IMT - -#endif // R__B64 -diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18.04/tree/dataframe/test/datasource_trivial.cxx ---- root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/tree/dataframe/test/datasource_trivial.cxx 2020-03-13 20:13:04.021253192 +0100 +diff -ur root-6.20.02.orig/tree/dataframe/test/datasource_trivial.cxx root-6.20.02/tree/dataframe/test/datasource_trivial.cxx +--- root-6.20.02.orig/tree/dataframe/test/datasource_trivial.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/tree/dataframe/test/datasource_trivial.cxx 2020-03-15 19:50:09.076351514 +0100 @@ -132,8 +132,6 @@ EXPECT_EQ(*tdfAll.Count(), 20ULL); } @@ -161,11 +115,11 @@ diff -ur root-6.18.04.orig/tree/dataframe/test/datasource_trivial.cxx root-6.18. #endif // R__USE_IMT - -#endif // R__B64 -diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMakeLists.txt ---- root-6.18.04.orig/tutorials/CMakeLists.txt 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/tutorials/CMakeLists.txt 2020-03-13 19:58:32.333575214 +0100 -@@ -212,10 +212,6 @@ - v7/ntuple/ntpl004_dimuon.C) +diff -ur root-6.20.02.orig/tutorials/CMakeLists.txt root-6.20.02/tutorials/CMakeLists.txt +--- root-6.20.02.orig/tutorials/CMakeLists.txt 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/tutorials/CMakeLists.txt 2020-03-15 19:59:35.808335176 +0100 +@@ -255,10 +255,6 @@ + set(root7_veto v7/ntuple/ntpl004_dimuon.C) endif() -if( CMAKE_SIZEOF_VOID_P EQUAL 4 ) @@ -174,26 +128,20 @@ diff -ur root-6.18.04.orig/tutorials/CMakeLists.txt root-6.18.04/tutorials/CMake - #---These ones are disabled !!! ------------------------------------ set(extra_veto - htmlex.C -@@ -266,7 +262,6 @@ + legacy/benchmarks.C +@@ -311,7 +307,6 @@ ${classic_veto} ${pythia_veto} ${root7_veto} - ${bits32_veto} ${xrootd_veto} - ) - -@@ -424,13 +419,6 @@ - + ${mlp_veto} + ${spectrum_veto} +@@ -513,7 +508,6 @@ list(REMOVE_ITEM pytutorials ${pyveto}) -- if( CMAKE_SIZEOF_VOID_P EQUAL 4 ) -- set(bits32_veto_py dataframe/*.py) -- file(GLOB bits32_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*.py) -- list(REMOVE_ITEM pytutorials ${bits32_veto_py}) -- list(REMOVE_ITEM pytutorials pyroot/pyroot002_TTreeAsMatrix.py) -- endif() -- - #---Python tutorials dependencies-------------------------------------- - set(pyroot-ntuple1-depends tutorial-pyroot-hsimple-py) - set(pyroot-h1draw-depends tutorial-pyroot-hsimple-py) + if(NOT dataframe) +- set(dataframe_veto_py dataframe/*.py) + file(GLOB dataframe_veto_py RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} dataframe/*.py tmva/tmva*.py) + list(REMOVE_ITEM pytutorials ${dataframe_veto_py}) + list(REMOVE_ITEM pytutorials pyroot/pyroot002_TTreeAsMatrix.py) diff --git a/root-doc-no-notebooks.patch b/root-doc-no-notebooks.patch index 23ca293..f94d31f 100644 --- a/root-doc-no-notebooks.patch +++ b/root-doc-no-notebooks.patch @@ -1,6 +1,7 @@ ---- root-6.16.00.orig/documentation/doxygen/filter.cxx 2019-02-14 14:44:47.132678348 +0100 -+++ root-6.16.00/documentation/doxygen/filter.cxx 2019-02-14 14:45:00.596532589 +0100 -@@ -367,16 +367,7 @@ +diff -ur root-6.20.02.orig/documentation/doxygen/filter.cxx root-6.20.02/documentation/doxygen/filter.cxx +--- root-6.20.02.orig/documentation/doxygen/filter.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/documentation/doxygen/filter.cxx 2020-03-15 20:05:59.047270429 +0100 +@@ -378,16 +378,7 @@ // notebook found if (gLineString.find("\\notebook") != string::npos) { @@ -13,7 +14,7 @@ - else{ - gLineString = "/// "; - } -- gLineString += StringFormat( "\\htmlonly \"View \"Open \\endhtmlonly \n", gMacroName.c_str() , gMacroName.c_str()); +- gLineString += StringFormat( "\\htmlonly \"View \"Open \\endhtmlonly \n", gMacroName.c_str() , gMacroName.c_str()); + gLineString = ""; } diff --git a/root-dont-download-input-file-if-it-already-exists.patch b/root-dont-download-input-file-if-it-already-exists.patch deleted file mode 100644 index 78557b2..0000000 --- a/root-dont-download-input-file-if-it-already-exists.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 3207d634576d48462b41b4aec0e9198293aa4a9f Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Fri, 28 Jun 2019 09:23:19 +0200 -Subject: [PATCH] Don't download input file if it already exists This allows - running the tests with pre-fetched file in environments without network - - like e.g. the Fedora package build server - ---- - tutorials/dataframe/df014_CSVDataSource.C | 3 ++- - tutorials/dataframe/df014_CSVDataSource.py | 4 +++- - tutorials/dataframe/df015_LazyDataSource.C | 3 ++- - 3 files changed, 7 insertions(+), 3 deletions(-) - -diff --git a/tutorials/dataframe/df014_CSVDataSource.C b/tutorials/dataframe/df014_CSVDataSource.C -index 18a6a5afaf..9f1b69688a 100644 ---- a/tutorials/dataframe/df014_CSVDataSource.C -+++ b/tutorials/dataframe/df014_CSVDataSource.C -@@ -23,7 +23,8 @@ int df014_CSVDataSource() - // The types of the columns will be automatically inferred. - auto fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv"; - auto fileName = "df014_CsvDataSource_MuRun2010B_cpp.csv"; -- TFile::Cp(fileNameUrl, fileName); -+ if(gSystem->AccessPathName(fileName)) -+ TFile::Cp(fileNameUrl, fileName); - auto tdf = ROOT::RDF::MakeCsvDataFrame(fileName); - - // Now we will apply a first filter based on two columns of the CSV, -diff --git a/tutorials/dataframe/df014_CSVDataSource.py b/tutorials/dataframe/df014_CSVDataSource.py -index dd4823d62f..a8668f5e49 100644 ---- a/tutorials/dataframe/df014_CSVDataSource.py -+++ b/tutorials/dataframe/df014_CSVDataSource.py -@@ -18,12 +18,14 @@ - ## \author Enric Tejedor - - import ROOT -+import os - - # Let's first create a RDF that will read from the CSV file. - # The types of the columns will be automatically inferred. - fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv" - fileName = "df014_CsvDataSource_MuRun2010B_py.csv" --ROOT.TFile.Cp(fileNameUrl, fileName) -+if not os.path.isfile(fileName): -+ ROOT.TFile.Cp(fileNameUrl, fileName) - - MakeCsvDataFrame = ROOT.ROOT.RDF.MakeCsvDataFrame - tdf = MakeCsvDataFrame(fileName) -diff --git a/tutorials/dataframe/df015_LazyDataSource.C b/tutorials/dataframe/df015_LazyDataSource.C -index fc5567b5bd..f8623ddce4 100644 ---- a/tutorials/dataframe/df015_LazyDataSource.C -+++ b/tutorials/dataframe/df015_LazyDataSource.C -@@ -25,7 +25,8 @@ int df015_LazyDataSource() - // See the tutorial relative to CSV data sources for more details! - auto fileNameUrl = "http://root.cern.ch/files/tutorials/df014_CsvDataSource_MuRun2010B.csv"; - auto fileName = "df015_CsvDataSource_MuRun2010B.csv"; -- TFile::Cp(fileNameUrl, fileName); -+ if(gSystem->AccessPathName(fileName)) -+ TFile::Cp(fileNameUrl, fileName); - - auto csv_rdf = MakeCsvDataFrame(fileName); - --- -2.21.0 - diff --git a/root-epel7-ppc64le-pyroot.patch b/root-epel7-ppc64le-pyroot.patch new file mode 100644 index 0000000..2d9c400 --- /dev/null +++ b/root-epel7-ppc64le-pyroot.patch @@ -0,0 +1,23 @@ +diff -ur root-6.20.02.orig/bindings/pyroot/src/Cppyy.cxx root-6.20.02/bindings/pyroot/src/Cppyy.cxx +--- root-6.20.02.orig/bindings/pyroot/src/Cppyy.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/src/Cppyy.cxx 2020-03-21 14:10:09.322489811 +0100 +@@ -74,10 +74,6 @@ + class ApplicationStarter { + public: + ApplicationStarter() { +- // Insure ROOT's atexit is executed *after* the atexit that calls +- // ApplicationStarter's destructor, by forcing the ROOT's atexit +- // registration now. +- TROOT::Initialize(); + // setup dummy holders for global and std namespaces + assert( g_classrefs.size() == GLOBAL_HANDLE ); + g_name2classrefidx[ "" ] = GLOBAL_HANDLE; +@@ -90,8 +86,6 @@ + } + + ~ApplicationStarter() { +- for ( auto ifunc : g_method2callfunc ) +- gInterpreter->CallFunc_Delete( ifunc.second ); + } + } _applicationStarter; + diff --git a/root-fix-plugin-definition.patch b/root-fix-plugin-definition.patch deleted file mode 100644 index 3f3d3d5..0000000 --- a/root-fix-plugin-definition.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 444b03b6e3ce0554f687443a42310fe01fba276c Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Thu, 27 Jun 2019 18:24:58 +0200 -Subject: [PATCH 2/2] Use the correct library name in the plugin definitions - ---- - etc/plugins/TFile/P090_TSQLFile.C | 4 ++-- - etc/plugins/TFileStager/P010_TXNetFileStager.C | 2 +- - etc/plugins/TGuiFactory/P030_TWebGuiFactory.C | 2 +- - etc/plugins/TImagePlugin/P010_TASPluginGS.C | 6 +++--- - etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C | 2 +- - etc/plugins/TVirtualX/P060_TWebVirtualX.C | 2 +- - 6 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/etc/plugins/TFile/P090_TSQLFile.C b/etc/plugins/TFile/P090_TSQLFile.C -index bc006053d4..a6441ffbef 100644 ---- a/etc/plugins/TFile/P090_TSQLFile.C -+++ b/etc/plugins/TFile/P090_TSQLFile.C -@@ -1,7 +1,7 @@ - void P090_TSQLFile() - { - gPluginMgr->AddHandler("TFile", "^mysql:", "TSQLFile", -- "SQL", "TSQLFile(const char*,Option_t*,const char*,const char*)"); -+ "SQLIO", "TSQLFile(const char*,Option_t*,const char*,const char*)"); - gPluginMgr->AddHandler("TFile", "^oracle:", "TSQLFile", -- "SQL", "TSQLFile(const char*,Option_t*,const char*,const char*)"); -+ "SQLIO", "TSQLFile(const char*,Option_t*,const char*,const char*)"); - } -diff --git a/etc/plugins/TFileStager/P010_TXNetFileStager.C b/etc/plugins/TFileStager/P010_TXNetFileStager.C -index 884ce7e103..66cd8d575e 100644 ---- a/etc/plugins/TFileStager/P010_TXNetFileStager.C -+++ b/etc/plugins/TFileStager/P010_TXNetFileStager.C -@@ -2,7 +2,7 @@ void P010_TXNetFileStager() - { - if (!gEnv->GetValue("XNet.UseOldClient", 0)) { - gPluginMgr->AddHandler("TFileStager", "^[x]?root:", "TNetXNGFileStager", -- "NetXNG", "TNetXNGFileStager(const char *)"); -+ "NetxNG", "TNetXNGFileStager(const char *)"); - } else { - gPluginMgr->AddHandler("TFileStager", "^[x]?root:", "TXNetFileStager", - "Netx", "TXNetFileStager(const char *)"); -diff --git a/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C b/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C -index 873ba03ebd..fe83cf06e1 100644 ---- a/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C -+++ b/etc/plugins/TGuiFactory/P030_TWebGuiFactory.C -@@ -1,4 +1,4 @@ - void P030_TWebGuiFactory() - { -- gPluginMgr->AddHandler("TGuiFactory", "web", "TWebGuiFactory", "WebGui", "TWebGuiFactory()"); -+ gPluginMgr->AddHandler("TGuiFactory", "web", "TWebGuiFactory", "WebGui6", "TWebGuiFactory()"); - } -diff --git a/etc/plugins/TImagePlugin/P010_TASPluginGS.C b/etc/plugins/TImagePlugin/P010_TASPluginGS.C -index c2e3e45c1a..9e401e74f1 100644 ---- a/etc/plugins/TImagePlugin/P010_TASPluginGS.C -+++ b/etc/plugins/TImagePlugin/P010_TASPluginGS.C -@@ -1,9 +1,9 @@ - void P010_TASPluginGS() - { - gPluginMgr->AddHandler("TImagePlugin", "ps", "TASPluginGS", -- "ASPluginGS", "TASPluginGS(const char*)"); -+ "ASImage", "TASPluginGS(const char*)"); - gPluginMgr->AddHandler("TImagePlugin", "eps", "TASPluginGS", -- "ASPluginGS", "TASPluginGS(const char*)"); -+ "ASImage", "TASPluginGS(const char*)"); - gPluginMgr->AddHandler("TImagePlugin", "pdf", "TASPluginGS", -- "ASPluginGS", "TASPluginGS(const char*)"); -+ "ASImage", "TASPluginGS(const char*)"); - } -diff --git a/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C b/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C -index 2a919023f9..f1be760487 100644 ---- a/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C -+++ b/etc/plugins/TVirtualGraphPainter/P010_TGraphPainter.C -@@ -1,5 +1,5 @@ - void P010_TGraphPainter() - { - gPluginMgr->AddHandler("TVirtualGraphPainter", "*", "TGraphPainter", -- "GraphPainter", "TGraphPainter()"); -+ "HistPainter", "TGraphPainter()"); - } -diff --git a/etc/plugins/TVirtualX/P060_TWebVirtualX.C b/etc/plugins/TVirtualX/P060_TWebVirtualX.C -index e624c34e7b..26f9650e94 100644 ---- a/etc/plugins/TVirtualX/P060_TWebVirtualX.C -+++ b/etc/plugins/TVirtualX/P060_TWebVirtualX.C -@@ -1,4 +1,4 @@ - void P060_TWebVirtualX() - { -- gPluginMgr->AddHandler("TVirtualX", "web", "TWebVirtualX", "WebGui", "TWebVirtualX(const char*,const char*)"); -+ gPluginMgr->AddHandler("TVirtualX", "web", "TWebVirtualX", "WebGui6", "TWebVirtualX(const char*,const char*)"); - } --- -2.21.0 - diff --git a/root-jupyroot-static.patch b/root-jupyroot-static.patch index bb8e721..2cdb5aa 100644 --- a/root-jupyroot-static.patch +++ b/root-jupyroot-static.patch @@ -1,6 +1,6 @@ -diff -ur root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.18.00/bindings/pyroot/JsMVA/JPyInterface.py ---- root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py 2019-06-25 10:52:11.000000000 +0200 -+++ root-6.18.00/bindings/pyroot/JsMVA/JPyInterface.py 2019-06-28 22:54:03.937480738 +0200 +diff -ur root-6.20.02.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.20.02/bindings/pyroot/JsMVA/JPyInterface.py +--- root-6.20.02.orig/bindings/pyroot/JsMVA/JPyInterface.py 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/JsMVA/JPyInterface.py 2020-03-15 20:07:18.921423559 +0100 @@ -188,7 +188,7 @@ ## Class for creating the output scripts and inserting them to cell output class JsDraw: @@ -10,21 +10,21 @@ diff -ur root-6.18.00.orig/bindings/pyroot/JsMVA/JPyInterface.py root-6.18.00/bi ## String containing the link to JavaScript files __jsMVASourceDir = __jsMVARepo + "/js" -diff -ur root-6.18.00.orig/bindings/pyroot/JupyROOT/helpers/utils.py root-6.18.00/bindings/pyroot/JupyROOT/helpers/utils.py ---- root-6.18.00.orig/bindings/pyroot/JupyROOT/helpers/utils.py 2019-06-25 10:52:11.000000000 +0200 -+++ root-6.18.00/bindings/pyroot/JupyROOT/helpers/utils.py 2019-06-28 22:54:03.938480727 +0200 -@@ -39,7 +39,7 @@ - _jsNotDrawableClassesPatterns = ["TEve*","TF3","TPolyLine3D"] - - --_jsROOTSourceDir = "https://root.cern.ch/js/notebook/" -+_jsROOTSourceDir = "/static/jsroot/" - _jsCanvasWidth = 800 - _jsCanvasHeight = 600 - -diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.18.00/etc/notebook/JsMVA/js/JsMVA.js ---- root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js 2019-06-25 10:52:11.000000000 +0200 -+++ root-6.18.00/etc/notebook/JsMVA/js/JsMVA.js 2019-06-28 22:54:03.938480727 +0200 +diff -ur root-6.20.02.orig/bindings/pyroot/JupyROOT/helpers/utils.py root-6.20.02/bindings/pyroot/JupyROOT/helpers/utils.py +--- root-6.20.02.orig/bindings/pyroot/JupyROOT/helpers/utils.py 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/JupyROOT/helpers/utils.py 2020-03-15 20:07:18.921423559 +0100 +@@ -82,7 +82,7 @@ + function requirejs_success(base_url) {{ + return function() {{ + require.config({{ +- baseUrl: base_url + 'static/' ++ baseUrl: base_url + 'static/jsroot/' + }}); + display_{jsDivId}(); + }} +diff -ur root-6.20.02.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.20.02/etc/notebook/JsMVA/js/JsMVA.js +--- root-6.20.02.orig/etc/notebook/JsMVA/js/JsMVA.js 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/etc/notebook/JsMVA/js/JsMVA.js 2020-03-15 20:07:18.922423549 +0100 @@ -16,7 +16,7 @@ (function(factory){ @@ -34,14 +34,14 @@ diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.18.00/etc/noteb var url = ""; if (requirejs.s.contexts.hasOwnProperty("_")) { -diff -ur root-6.18.00.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.18.00/etc/notebook/JsMVA/js/NetworkDesigner.js ---- root-6.18.00.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2019-06-25 10:52:11.000000000 +0200 -+++ root-6.18.00/etc/notebook/JsMVA/js/NetworkDesigner.js 2019-06-29 07:08:46.582682582 +0200 +diff -ur root-6.20.02.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.20.02/etc/notebook/JsMVA/js/NetworkDesigner.js +--- root-6.20.02.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/etc/notebook/JsMVA/js/NetworkDesigner.js 2020-03-15 20:07:18.922423549 +0100 @@ -19,7 +19,7 @@ paths: { "jquery-connections": baseURL + "jquery.connections.min", "jquery-timing": baseURL + "jquery-timing.min", -- "d3": "https://root.cern.ch/js/notebook/scripts/d3.min" +- "d3": "/static/scripts/d3.min" + "d3": "/static/jsroot/scripts/d3.min" }, shim: { diff --git a/root-man-install.patch b/root-man-install.patch deleted file mode 100644 index b5d54e1..0000000 --- a/root-man-install.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 3f1e65654ddec561e5161d0f62367497d16aa223 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Thu, 27 Jun 2019 18:22:13 +0200 -Subject: [PATCH 1/2] Install generated man pages in the correct subdirectory - (man/man1) - ---- - cmake/modules/RootNewMacros.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cmake/modules/RootNewMacros.cmake b/cmake/modules/RootNewMacros.cmake -index 0780ea5a5a..58e403a249 100644 ---- a/cmake/modules/RootNewMacros.cmake -+++ b/cmake/modules/RootNewMacros.cmake -@@ -1540,5 +1540,5 @@ function(generateManual name input output) - ${PYTHON_EXECUTABLE} -B ${CMAKE_SOURCE_DIR}/build/misc/argparse2help.py ${input} ${output} - ) - -- install(FILES ${output} DESTINATION ${CMAKE_INSTALL_MANDIR}) -+ install(FILES ${output} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) - endfunction() --- -2.21.0 - diff --git a/root-memory-arm-x86.patch b/root-memory-arm-x86.patch index 54c4149..2de8e36 100644 --- a/root-memory-arm-x86.patch +++ b/root-memory-arm-x86.patch @@ -6,8 +6,8 @@ +# Reduce memory usage during linking on ARM and x86 by generating minimal debuginfo +if(ROOT_ARCHITECTURE STREQUAL "linuxarm" OR ROOT_ARCHITECTURE STREQUAL "linux") -+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -+ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") ++ string(REPLACE " -g " " -g1 " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") ++ string(REPLACE " -g " " -g1 " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") +endif() + set(LLVM_TARGETS_TO_BUILD ${ROOT_CLING_TARGET} CACHE STRING "Semicolon-separated list of targets to build, or \"all\".") diff --git a/root-missing-include-string.patch b/root-missing-include-string.patch deleted file mode 100644 index f870e14..0000000 --- a/root-missing-include-string.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx ---- root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2020-01-23 11:27:58.637463837 +0100 -@@ -17,6 +17,7 @@ - #define ROOT7_RColor - - #include -+#include - #include - - namespace ROOT { diff --git a/root-moved-file.patch b/root-moved-file.patch new file mode 100644 index 0000000..948a78b --- /dev/null +++ b/root-moved-file.patch @@ -0,0 +1,27 @@ +From 6492170d74f464286de22c40554adbd400ec838b Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Fri, 13 Mar 2020 12:53:34 +0100 +Subject: [PATCH] The file was moved - update path + +--- + tutorials/legacy/mlp/mlpHiggs.C | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tutorials/legacy/mlp/mlpHiggs.C b/tutorials/legacy/mlp/mlpHiggs.C +index 49d3ca2b30..0516ed7c50 100644 +--- a/tutorials/legacy/mlp/mlpHiggs.C ++++ b/tutorials/legacy/mlp/mlpHiggs.C +@@ -18,8 +18,8 @@ void mlpHiggs(Int_t ntrain=100) { + TFile *input = 0; + if (!gSystem->AccessPathName(fname)) { + input = TFile::Open(fname); +- } else if (!gSystem->AccessPathName(Form("%s/mlp/%s", TROOT::GetTutorialDir().Data(), fname))) { +- input = TFile::Open(Form("%s/mlp/%s", TROOT::GetTutorialDir().Data(), fname)); ++ } else if (!gSystem->AccessPathName(Form("%s/legacy/mlp/%s", TROOT::GetTutorialDir().Data(), fname))) { ++ input = TFile::Open(Form("%s/legacy/mlp/%s", TROOT::GetTutorialDir().Data(), fname)); + } else { + printf("accessing %s file from http://root.cern.ch/files\n",fname); + input = TFile::Open(Form("http://root.cern.ch/files/%s",fname)); +-- +2.24.1 + diff --git a/root-pretty-printers.patch b/root-pretty-printers.patch deleted file mode 100644 index 4ded487..0000000 --- a/root-pretty-printers.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 88f6e1b332489582f457d17afd6a2a6f6a4f988d Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Mon, 1 Jul 2019 08:56:27 +0200 -Subject: [PATCH] Install GDB pretty printers with correct filename when using - soversion - -The name of the pretty printer script must match the name of the -binary, not a symlink. When soversion is used the unversioned .so file -is a symlink to the versioned library file. ---- - build/CMakeLists.txt | 23 +++++++++++++++++------ - 1 file changed, 17 insertions(+), 6 deletions(-) - -diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt -index b84481041b..03644b6c00 100644 ---- a/build/CMakeLists.txt -+++ b/build/CMakeLists.txt -@@ -20,12 +20,23 @@ ROOT_EXECUTABLE(rmkdepend - ) - - IF(CMAKE_BUILD_TYPE MATCHES "Debug|RelWithDebInfo") -- file(COPY "gdbPrinters/" -- DESTINATION ${CMAKE_BINARY_DIR}/lib -- FILES_MATCHING PATTERN "*-gdb.py") -+ file(GLOB PRETTY_PRINTERS "gdbPrinters/*.so-gdb.py") -+ set(PRETTY_PRINTER_DESTS) -+ foreach(PRETTY_PRINTER ${PRETTY_PRINTERS}) -+ get_filename_component(PRETTY_PRINTER_DEST ${PRETTY_PRINTER} NAME) -+ if(soversion) -+ string(REPLACE ".so-gdb.py" ".so.${ROOT_VERSION}-gdb.py" -+ PRETTY_PRINTER_DEST ${PRETTY_PRINTER_DEST}) -+ endif(soversion) -+ set(PRETTY_PRINTER_DEST ${CMAKE_BINARY_DIR}/lib/${PRETTY_PRINTER_DEST}) -+ add_custom_command(OUTPUT ${PRETTY_PRINTER_DEST} -+ COMMAND ${CMAKE_COMMAND} -E copy ${PRETTY_PRINTER} ${PRETTY_PRINTER_DEST} -+ DEPENDS ${PRETTY_PRINTER}) -+ list(APPEND PRETTY_PRINTER_DESTS ${PRETTY_PRINTER_DEST}) -+ endforeach() -+ add_custom_target(copy_pretty_printers ALL DEPENDS ${PRETTY_PRINTER_DESTS}) - -- file(GLOB PRETTY_PRINTERS "gdbPrinters/*-gdb.py") -- install(FILES ${PRETTY_PRINTERS} -- DESTINATION lib -+ install(FILES ${PRETTY_PRINTER_DESTS} -+ DESTINATION ${CMAKE_INSTALL_LIBDIR} - CONFIGURATIONS Debug RelWithDebInfo) - ENDIF() --- -2.21.0 - diff --git a/root-python3.8-object.patch b/root-python3.8-object.patch index ed4ef9f..2447e31 100644 --- a/root-python3.8-object.patch +++ b/root-python3.8-object.patch @@ -1,7 +1,7 @@ -diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bindings/pyroot/src/MethodProxy.cxx ---- root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/src/MethodProxy.cxx 2020-03-13 16:46:56.538971601 +0100 -@@ -839,7 +839,8 @@ +diff -ur root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx root-6.20.02/bindings/pyroot/src/MethodProxy.cxx +--- root-6.20.02.orig/bindings/pyroot/src/MethodProxy.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/src/MethodProxy.cxx 2020-03-15 19:43:20.946684699 +0100 +@@ -845,7 +845,8 @@ sizeof(MethodProxy), // tp_basicsize 0, // tp_itemsize (destructor)mp_dealloc, // tp_dealloc @@ -11,7 +11,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bind 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -888,6 +889,12 @@ +@@ -894,6 +895,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -24,10 +24,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/MethodProxy.cxx root-6.18.04/bind }; } // namespace PyROOT -diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx ---- root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/src/ObjectProxy.cxx 2020-03-13 16:46:56.539971591 +0100 -@@ -397,7 +397,8 @@ +diff -ur root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx +--- root-6.20.02.orig/bindings/pyroot/src/ObjectProxy.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/src/ObjectProxy.cxx 2020-03-15 19:43:20.946684699 +0100 +@@ -398,7 +398,8 @@ sizeof(ObjectProxy), // tp_basicsize 0, // tp_itemsize (destructor)op_dealloc, // tp_dealloc @@ -37,7 +37,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bind 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -449,6 +450,12 @@ +@@ -450,6 +451,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -50,9 +50,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/ObjectProxy.cxx root-6.18.04/bind }; } // namespace PyROOT -diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx ---- root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/src/PropertyProxy.cxx 2020-03-13 16:46:56.539971591 +0100 +diff -ur root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx +--- root-6.20.02.orig/bindings/pyroot/src/PropertyProxy.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/src/PropertyProxy.cxx 2020-03-15 19:43:20.946684699 +0100 @@ -133,7 +133,8 @@ sizeof(PropertyProxy), // tp_basicsize 0, // tp_itemsize @@ -76,10 +76,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PropertyProxy.cxx root-6.18.04/bi }; } // namespace PyROOT -diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindings/pyroot/src/PyRootType.cxx ---- root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/src/PyRootType.cxx 2020-03-13 16:46:56.539971591 +0100 -@@ -230,7 +230,8 @@ +diff -ur root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx root-6.20.02/bindings/pyroot/src/PyRootType.cxx +--- root-6.20.02.orig/bindings/pyroot/src/PyRootType.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/src/PyRootType.cxx 2020-03-15 19:43:20.946684699 +0100 +@@ -232,7 +232,8 @@ sizeof(PyROOT::PyRootClass),// tp_basicsize 0, // tp_itemsize 0, // tp_dealloc @@ -89,7 +89,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindi 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -279,6 +280,12 @@ +@@ -281,6 +282,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -102,9 +102,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/PyRootType.cxx root-6.18.04/bindi }; } // namespace PyROOT -diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindings/pyroot/src/Pythonize.cxx ---- root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/src/Pythonize.cxx 2020-03-13 16:46:56.540971580 +0100 +diff -ur root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx root-6.20.02/bindings/pyroot/src/Pythonize.cxx +--- root-6.20.02.orig/bindings/pyroot/src/Pythonize.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/src/Pythonize.cxx 2020-03-15 19:43:20.947684688 +0100 @@ -944,6 +944,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize @@ -118,9 +118,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/Pythonize.cxx root-6.18.04/bindin }; static PyObject* vector_iter( PyObject* v ) { -diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindings/pyroot/src/RootModule.cxx ---- root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/src/RootModule.cxx 2020-03-13 16:46:56.540971580 +0100 +diff -ur root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx root-6.20.02/bindings/pyroot/src/RootModule.cxx +--- root-6.20.02.orig/bindings/pyroot/src/RootModule.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/src/RootModule.cxx 2020-03-15 19:43:20.948684678 +0100 @@ -134,6 +134,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize @@ -134,9 +134,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/RootModule.cxx root-6.18.04/bindi }; PyObject _PyROOT_NullPtrStruct = { -diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx ---- root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-13 16:46:56.540971580 +0100 +diff -ur root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx +--- root-6.20.02.orig/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/src/TCustomPyTypes.cxx 2020-03-15 19:43:20.948684678 +0100 @@ -19,7 +19,8 @@ 0, // tp_basicsize 0, // tp_itemsize @@ -206,10 +206,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TCustomPyTypes.cxx root-6.18.04/b }; } // namespace PyROOT -diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx ---- root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/src/TemplateProxy.cxx 2020-03-13 16:46:56.541971570 +0100 -@@ -395,7 +395,8 @@ +diff -ur root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx +--- root-6.20.02.orig/bindings/pyroot/src/TemplateProxy.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/src/TemplateProxy.cxx 2020-03-15 19:43:20.948684678 +0100 +@@ -492,7 +492,8 @@ sizeof(TemplateProxy), // tp_basicsize 0, // tp_itemsize (destructor)tpp_dealloc, // tp_dealloc @@ -219,7 +219,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bi 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -444,6 +445,12 @@ +@@ -541,6 +542,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -232,9 +232,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TemplateProxy.cxx root-6.18.04/bi }; } // namespace PyROOT -diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx ---- root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-13 16:46:56.540971580 +0100 +diff -ur root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx +--- root-6.20.02.orig/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot/src/TTupleOfInstances.cxx 2020-03-15 19:43:20.948684678 +0100 @@ -42,7 +42,8 @@ 0, // tp_basicsize 0, // tp_itemsize @@ -258,10 +258,25 @@ diff -ur root-6.18.04.orig/bindings/pyroot/src/TTupleOfInstances.cxx root-6.18.0 }; } // namespace PyROOT -diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx ---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-13 16:47:15.029777701 +0100 -@@ -168,7 +168,8 @@ +diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt +--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/CMakeLists.txt 2020-03-15 19:43:20.949684667 +0100 +@@ -64,11 +64,6 @@ + target_compile_options(cppyy PRIVATE -Wno-deprecated-register) + endif() + +-# Disables warnings due to new field tp_vectorcall in Python 3.8 +-if(NOT MSVC AND ${PYTHON_VERSION_STRING} VERSION_GREATER_EQUAL "3.8") +- target_compile_options(cppyy PRIVATE -Wno-missing-field-initializers) +-endif() +- + target_include_directories(cppyy PRIVATE ${CMAKE_BINARY_DIR}/include) # needed for string_view backport + + target_include_directories(cppyy PUBLIC ${PYTHON_INCLUDE_DIRS} +diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx +--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-03-15 19:43:20.949684667 +0100 +@@ -167,7 +167,8 @@ sizeof(CPPDataMember), // tp_basicsize 0, // tp_itemsize (destructor)pp_dealloc, // tp_dealloc @@ -271,7 +286,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDa 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -217,6 +218,12 @@ +@@ -216,6 +217,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -284,10 +299,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPDa }; } // namespace CPyCppyy -diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx ---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-13 16:47:15.029777701 +0100 -@@ -385,7 +385,8 @@ +diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx +--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-03-15 19:43:20.949684667 +0100 +@@ -565,7 +565,8 @@ sizeof(CPPInstance), // tp_basicsize 0, // tp_itemsize (destructor)op_dealloc, // tp_dealloc @@ -297,7 +312,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPIn 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -437,6 +438,12 @@ +@@ -617,6 +618,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -310,10 +325,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPIn }; } // namespace CPyCppyy -diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx ---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-13 16:47:15.030777691 +0100 -@@ -813,7 +813,8 @@ +diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx +--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-03-15 19:43:20.950684656 +0100 +@@ -889,7 +889,8 @@ sizeof(CPPOverload), // tp_basicsize 0, // tp_itemsize (destructor)mp_dealloc, // tp_dealloc @@ -323,7 +338,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOv 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -862,6 +863,12 @@ +@@ -938,6 +939,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -336,10 +351,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPOv }; } // namespace CPyCppyy -diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx ---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-13 16:47:15.030777691 +0100 -@@ -424,7 +424,8 @@ +diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx +--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPScope.cxx 2020-03-15 19:43:20.950684656 +0100 +@@ -596,7 +596,8 @@ sizeof(CPyCppyy::CPPScope), // tp_basicsize 0, // tp_itemsize 0, // tp_dealloc @@ -349,7 +364,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPSc 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -473,6 +474,12 @@ +@@ -649,6 +650,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -362,9 +377,9 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPPSc }; } // namespace CPyCppyy -diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx ---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-13 16:47:15.030777691 +0100 +diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx +--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-03-15 19:43:20.951684646 +0100 @@ -140,6 +140,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize @@ -378,10 +393,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CPyCp }; namespace { -diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx ---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-13 16:57:57.529034828 +0100 -@@ -32,6 +32,12 @@ +diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx +--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-03-15 19:43:20.951684646 +0100 +@@ -33,6 +33,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -394,7 +409,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo }; //= long type allowed for reference passing ================================== -@@ -54,6 +60,12 @@ +@@ -59,6 +65,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -406,8 +421,21 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo +#endif }; + //- custom type representing typedef to pointer of class --------------------- +@@ -89,6 +101,12 @@ + #if PY_VERSION_HEX >= 0x03040000 + , 0 // tp_finalize + #endif ++#if PY_VERSION_HEX >= 0x03080000 ++ , 0 // tp_vectorcall ++#if PY_VERSION_HEX < 0x03090000 ++ , 0 // tp_print (python 3.8 only) ++#endif ++#endif + }; + //= instancemethod object with a more efficient call function ================ -@@ -219,6 +231,12 @@ +@@ -254,6 +272,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -420,7 +448,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo }; -@@ -269,6 +287,12 @@ +@@ -304,6 +328,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -433,7 +461,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo }; -@@ -320,6 +344,12 @@ +@@ -355,6 +385,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -446,10 +474,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Custo }; } // namespace CPyCppyy -diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx ---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-13 16:47:15.031777680 +0100 -@@ -657,7 +657,8 @@ +diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx +--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-03-15 19:43:20.951684646 +0100 +@@ -651,7 +651,8 @@ sizeof(CPyCppyy::LowLevelView),// tp_basicsize 0, // tp_itemsize (destructor)ll_dealloc, // tp_dealloc @@ -459,7 +487,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLe 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -707,6 +708,12 @@ +@@ -701,6 +702,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -472,10 +500,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/LowLe }; } // namespace CPyCppyy -diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx ---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-13 16:47:15.032777670 +0100 -@@ -515,7 +515,8 @@ +diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx +--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-03-15 19:43:20.952684635 +0100 +@@ -709,7 +709,8 @@ sizeof(TemplateProxy), // tp_basicsize 0, // tp_itemsize (destructor)tpp_dealloc, // tp_dealloc @@ -485,7 +513,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Templ 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -564,6 +565,12 @@ +@@ -758,6 +759,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -498,10 +526,10 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Templ }; } // namespace CPyCppyy -diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx ---- root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-13 16:47:15.032777670 +0100 -@@ -79,6 +79,12 @@ +diff -ur root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx +--- root-6.20.02.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/bindings/pyroot_experimental/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-03-15 19:43:20.952684635 +0100 +@@ -82,6 +82,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif @@ -514,7 +542,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Tuple }; -@@ -152,7 +158,8 @@ +@@ -161,7 +167,8 @@ 0, // tp_basicsize 0, // tp_itemsize 0, // tp_dealloc @@ -524,7 +552,7 @@ diff -ur root-6.18.04.orig/bindings/pyroot_experimental/cppyy/CPyCppyy/src/Tuple 0, // tp_getattr 0, // tp_setattr 0, // tp_compare -@@ -202,6 +209,12 @@ +@@ -211,6 +218,12 @@ #if PY_VERSION_HEX >= 0x03040000 , 0 // tp_finalize #endif diff --git a/root-python3.patch b/root-python3.patch deleted file mode 100644 index e1cda30..0000000 --- a/root-python3.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 4cf9170f308934688e7f767086589cd8cc0a0a85 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Fri, 28 Jun 2019 22:23:49 +0200 -Subject: [PATCH] Python 3 compatibility - ---- - tutorials/histfactory/example.py | 2 +- - tutorials/pyroot/mrt.py | 20 ++++++++++---------- - 2 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/tutorials/histfactory/example.py b/tutorials/histfactory/example.py -index 91e1d26939..6ccf3bb350 100755 ---- a/tutorials/histfactory/example.py -+++ b/tutorials/histfactory/example.py -@@ -12,7 +12,7 @@ def main(): - try: - import ROOT - except: -- print "It seems that pyROOT isn't properly configured" -+ print("It seems that pyROOT isn't properly configured") - return - - """ -diff --git a/tutorials/pyroot/mrt.py b/tutorials/pyroot/mrt.py -index b3a8c0d719..17a73f6881 100644 ---- a/tutorials/pyroot/mrt.py -+++ b/tutorials/pyroot/mrt.py -@@ -10,28 +10,28 @@ - ## - ## \author Wim Lavrijsen - --import sys, string, os --from ROOT import TFile, TNtuple -+import sys, os -+from ROOT import TFile, TNtuple, TROOT - - --ifn = os.path.expandvars("${ROOTSYS}/tutorials/pyroot/aptuple.txt") -+ifn = os.path.join(str(TROOT.GetTutorialDir()), 'pyroot', 'aptuple.txt') - ofn = 'aptuple.root' - --print 'opening file', ifn, '...' -+print('opening file %s ...' % ifn) - infile = open( ifn, 'r' ) - lines = infile.readlines() - title = lines[0] --labels = string.split( lines[1] ) -+labels = lines[1].split() - --print 'writing file', ofn, '...' -+print('writing file %s ...' % ofn) - outfile = TFile( ofn, 'RECREATE', 'ROOT file with an NTuple' ) --ntuple = TNtuple( 'ntuple', title, string.join( labels, ':') ) -+ntuple = TNtuple( 'ntuple', title, ':'.join( labels ) ) - - for line in lines[2:]: -- words = string.split( line ) -+ words = line.split() - row = map( float, words ) -- apply( ntuple.Fill, row ) -+ ntuple.Fill(*row) - - outfile.Write() - --print 'done' -+print('done') --- -2.21.0 - diff --git a/root-static-constexpr.patch b/root-static-constexpr.patch deleted file mode 100644 index c04ba6f..0000000 --- a/root-static-constexpr.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx ---- root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2019-09-11 15:36:49.000000000 +0200 -+++ root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2020-02-15 21:16:58.819735413 +0100 -@@ -26,6 +26,8 @@ - { - } - -+constexpr const ROOT::Experimental::RDrawingAttrBase::FromOption_t ROOT::Experimental::RDrawingAttrBase::FromOption; -+ - ROOT::Experimental::RDrawingAttrBase::RDrawingAttrBase(FromOption_t, const Name &name, RDrawingOptsBase &opts) : - fPath{name.fStr}, fHolder(opts.GetHolder()) - { diff --git a/root-stress-aarch64-ppc64le.patch b/root-stress-aarch64-ppc64le.patch deleted file mode 100644 index a925460..0000000 --- a/root-stress-aarch64-ppc64le.patch +++ /dev/null @@ -1,29 +0,0 @@ -From dd6d00b07778023449a7e6fe01f90a524237b20a Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Mon, 1 Jul 2019 08:53:15 +0200 -Subject: [PATCH] Increase test tolerence - -Test fails on aarch64 and ppc64le on Fedora 30 and Fedora rawhide: -Test 3 : Purge, Reuse of gaps in TFile......................... FAILED - File size= 52010 (expected 51886 +/- 100) - Comp Fact= 2.00 (expected 2.1 +/- 0.3) ---- - test/stress.cxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/stress.cxx b/test/stress.cxx -index 509bb0f17d..c0b44d9b77 100644 ---- a/test/stress.cxx -+++ b/test/stress.cxx -@@ -406,7 +406,7 @@ void stress3() - #else - constexpr Long64_t lastgood = 51886; - #endif -- constexpr Long64_t tolerance = 100; -+ constexpr Long64_t tolerance = 150; - #ifdef R__HAS_DEFAULT_LZ4 - constexpr Long64_t difflastgoodlz4 = 5500; - if (last < lastgood - tolerance || last > lastgood + difflastgoodlz4 + tolerance || comp < 1.5 || comp > 2.1) --- -2.21.0 - diff --git a/root-unbundle-gtest.patch b/root-unbundle-gtest.patch index 0fe4103..44939ca 100644 --- a/root-unbundle-gtest.patch +++ b/root-unbundle-gtest.patch @@ -1,7 +1,7 @@ -diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18.00/cmake/modules/SearchInstalledSoftware.cmake ---- root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake 2019-06-25 10:52:11.000000000 +0200 -+++ root-6.18.00/cmake/modules/SearchInstalledSoftware.cmake 2019-06-26 16:00:21.275634375 +0200 -@@ -1380,80 +1380,18 @@ +diff -ur root-6.20.02.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.20.02/cmake/modules/SearchInstalledSoftware.cmake +--- root-6.20.02.orig/cmake/modules/SearchInstalledSoftware.cmake 2020-03-15 16:21:25.000000000 +0100 ++++ root-6.20.02/cmake/modules/SearchInstalledSoftware.cmake 2020-03-15 20:12:34.446078193 +0100 +@@ -1528,83 +1528,18 @@ #---Download googletest-------------------------------------------------------------- if (testing) @@ -24,7 +24,9 @@ diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18 - if(MSVC) - set(EXTRA_GTEST_OPTS - -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG:PATH=\\\"\\\" -- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\") +- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL:PATH=\\\"\\\" +- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE:PATH=\\\"\\\" +- -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO:PATH=\\\"\\\") - endif() - if(APPLE) - set(EXTRA_GTEST_OPTS @@ -34,6 +36,7 @@ diff -ur root-6.18.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.18 - ExternalProject_Add( - googletest - GIT_REPOSITORY https://github.com/google/googletest.git +- GIT_SHALLOW 1 - GIT_TAG release-1.8.0 - UPDATE_COMMAND "" - # TIMEOUT 10 diff --git a/root.spec b/root.spec index 02e7bb6..7a79f82 100644 --- a/root.spec +++ b/root.spec @@ -49,9 +49,9 @@ %global __provides_exclude_from ^(%{?python2_sitearch:%{python2_sitearch}|}%{python3_sitearch}%{?python3_other_sitearch:|%{python3_other_sitearch}})/libJupyROOT\\.so$ Name: root -Version: 6.18.04 +Version: 6.20.02 %global libversion %(cut -d. -f 1-2 <<< %{version}) -Release: 6%{?dist} +Release: 1%{?dist} Summary: Numerical data analysis framework License: LGPLv2+ @@ -103,51 +103,36 @@ Patch10: %{name}-clang-ignore-gcc-options.patch Patch11: %{name}-doc-no-notebooks.patch # Don't run tutorial requiring firefox during doc generation Patch12: %{name}-v7-line.patch -# Install man pages in correct directory -# https://github.com/root-project/root/pull/4026 -Patch13: %{name}-man-install.patch -# Use correct library names in plugin definitions -# https://github.com/root-project/root/pull/4026 -Patch14: %{name}-fix-plugin-definition.patch -# Don't download test input file if it already exists -# https://github.com/root-project/root/pull/4026 -Patch15: %{name}-dont-download-input-file-if-it-already-exists.patch -# Python 3 fixes -# https://github.com/root-project/root/pull/4026 -Patch16: %{name}-python3.patch -# Increase test tolerance (aarch64 and ppc64le) -# https://github.com/root-project/root/pull/4025 -Patch17: %{name}-stress-aarch64-ppc64le.patch -# Fix GDB pretty printers install name and location -# https://github.com/root-project/root/pull/4024 -Patch18: %{name}-pretty-printers.patch -# Missing include - fails with gcc 10 -Patch19: %{name}-missing-include-string.patch # Fix ppc64le build with gcc 10 # https://github.com/root-project/root/pull/5157 -Patch20: %{name}-clang-altivec-vector.patch -# Missing symbol - with gcc 10 -Patch21: %{name}-static-constexpr.patch +Patch13: %{name}-clang-altivec-vector.patch # Fix -Wmissing-field-initializers in python bindings for # Python 3.8 and 3.9 # https://github.com/root-project/root/pull/5158 -Patch22: %{name}-python3.8-object.patch +Patch14: %{name}-python3.8-object.patch # Correct broken assert statements # https://github.com/root-project/root/pull/5159 -Patch23: %{name}-FitData-assert-fix.patch +Patch15: %{name}-FitData-assert-fix.patch # The test that creates the file must run before the test that # modifies it # https://github.com/root-project/root/pull/5160 -Patch24: %{name}-xmlmodify-dep.patch +Patch16: %{name}-xmlmodify-dep.patch # Use unique filenames in tutorials so they can be run in # parallel # Backport from upstream's git -Patch25: %{name}-tutorials-unique-filenames.patch +Patch17: %{name}-tutorials-unique-filenames.patch # Size types should use %z # https://github.com/root-project/root/pull/5161 -Patch26: %{name}-format-fix.patch +Patch18: %{name}-format-fix.patch # Run some test on 32 bit that upstream has disabled -Patch27: %{name}-32bit-tests.patch +Patch19: %{name}-32bit-tests.patch +# The file was moved - update path +# https://github.com/root-project/root/pull/5162 +Patch20: %{name}-moved-file.patch +# Workaround for initialization problems for PyROOT on +# EPEL7 ppc64le +# https://sft.its.cern.ch/jira/browse/ROOT-10622 +Patch21: %{name}-epel7-ppc64le-pyroot.patch # s390x suffers from endian issues resulting in failing tests # and broken documentation generation @@ -155,9 +140,9 @@ Patch27: %{name}-32bit-tests.patch ExcludeArch: s390x %if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8 -BuildRequires: cmake >= 3.4.3 +BuildRequires: cmake >= 3.9 %else -BuildRequires: cmake3 >= 3.4.3 +BuildRequires: cmake3 >= 3.9 %endif BuildRequires: libX11-devel BuildRequires: libXpm-devel @@ -174,6 +159,7 @@ BuildRequires: zlib-devel BuildRequires: xz-devel BuildRequires: lz4-devel BuildRequires: xxhash-devel +BuildRequires: libzstd-devel # Require a version of libAfterImage that is properly linked to # its dependencies BuildRequires: libAfterImage-devel >= 1.20-21 @@ -888,9 +874,6 @@ Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-graf%{?_isa} = %{version}-%{release} Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release} Requires: %{name}-hist%{?_isa} = %{version}-%{release} -%if %{root7} -Requires: %{name}-hist-draw%{?_isa} = %{version}-%{release} -%endif Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} Requires: %{name}-matrix%{?_isa} = %{version}-%{release} @@ -924,6 +907,8 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: %{name}-io-xmlparser%{?_isa} = %{version}-%{release} Requires: %{name}-matrix%{?_isa} = %{version}-%{release} Requires: %{name}-roofit%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} +Requires: %{name}-roostats%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} %description hist-factory @@ -1387,19 +1372,17 @@ This package contains the xproof extension for ROOT. This provides a client to be used in a PROOF environment. %package roofit -Summary: ROOT extension for modeling expected distributions +Summary: ROOT extension for modeling expected distributions - toolkit License: BSD Requires: %{name}-core%{?_isa} = %{version}-%{release} -Requires: %{name}-foam%{?_isa} = %{version}-%{release} -Requires: %{name}-graf%{?_isa} = %{version}-%{release} -Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release} Requires: %{name}-hist%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} -Requires: %{name}-mathmore%{?_isa} = %{version}-%{release} Requires: %{name}-matrix%{?_isa} = %{version}-%{release} -Requires: %{name}-minuit%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} +# Package split / Library split (from roofit) +Obsoletes: %{name}-roofit < 6.20.00 %description roofit The RooFit packages provide a toolkit for modeling the expected @@ -1414,6 +1397,84 @@ primarily targeted to the high-energy physicists using the ROOT analysis environment, but the general nature of the package make it suitable for adoption in different disciplines as well. +This package contains the RooFit toolkit classes. + +%package roofit-core +Summary: ROOT extension for modeling expected distributions - core +License: BSD +Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-foam%{?_isa} = %{version}-%{release} +Requires: %{name}-graf%{?_isa} = %{version}-%{release} +Requires: %{name}-hist%{?_isa} = %{version}-%{release} +Requires: %{name}-io%{?_isa} = %{version}-%{release} +Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} +Requires: %{name}-matrix%{?_isa} = %{version}-%{release} +Requires: %{name}-minuit%{?_isa} = %{version}-%{release} +Requires: %{name}-tree%{?_isa} = %{version}-%{release} +# Package split / Library split (from roofit) +Obsoletes: %{name}-roofit < 6.20.00 + +%description roofit-core +The RooFit packages provide a toolkit for modeling the expected +distribution of events in a physics analysis. Models can be used to +perform likelihood fits, produce plots, and generate "toy Monte +Carlo" samples for various studies. The RooFit tools are integrated +with the object-oriented and interactive ROOT graphical environment. + +RooFit has been developed for the BaBar collaboration, a high energy +physics experiment at the Stanford Linear Accelerator Center, and is +primarily targeted to the high-energy physicists using the ROOT +analysis environment, but the general nature of the package make it +suitable for adoption in different disciplines as well. + +This package contains the core RooFit classes. + +%package roofit-more +Summary: ROOT extension for modeling expected distributions - more +License: BSD +Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} +Requires: %{name}-mathmore%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} +# Package split / Library split (from roofit) +Obsoletes: %{name}-roofit < 6.20.00 + +%description roofit-more +The RooFit packages provide a toolkit for modeling the expected +distribution of events in a physics analysis. Models can be used to +perform likelihood fits, produce plots, and generate "toy Monte +Carlo" samples for various studies. The RooFit tools are integrated +with the object-oriented and interactive ROOT graphical environment. + +RooFit has been developed for the BaBar collaboration, a high energy +physics experiment at the Stanford Linear Accelerator Center, and is +primarily targeted to the high-energy physicists using the ROOT +analysis environment, but the general nature of the package make it +suitable for adoption in different disciplines as well. + +This package contains RooFit classes that use the mathmore library. + +%package roostats +Summary: Statistical tools built on top of RooFit +License: BSD +Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-graf%{?_isa} = %{version}-%{release} +Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release} +Requires: %{name}-hist%{?_isa} = %{version}-%{release} +Requires: %{name}-io%{?_isa} = %{version}-%{release} +Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} +Requires: %{name}-matrix%{?_isa} = %{version}-%{release} +Requires: %{name}-minuit%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} +Requires: %{name}-tree%{?_isa} = %{version}-%{release} +# Package split / Library split (from roofit) +Obsoletes: %{name}-roofit < 6.20.00 + +%description roostats +RooStats is a package containing statistical tools built on top of +RooFit. + %package sql-mysql Summary: MySQL client plugin for ROOT Requires: %{name}-core%{?_isa} = %{version}-%{release} @@ -1550,6 +1611,7 @@ This package contains the Tree library for ROOT. Summary: A high level interface to ROOT trees Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-hist%{?_isa} = %{version}-%{release} +Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} %if %{root7} @@ -1637,7 +1699,6 @@ Javascript and style files for the Jupyter ROOT Notebook. %package graf-gpadv7 Summary: Canvas and pad library for ROOT (ROOT 7) Requires: %{name}-core%{?_isa} = %{version}-%{release} -Requires: %{name}-io%{?_isa} = %{version}-%{release} %description graf-gpadv7 This package contains a library for canvas and pad manipulations. @@ -1660,6 +1721,7 @@ Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} Requires: %{name}-montecarlo-eg%{?_isa} = %{version}-%{release} +Requires: %{name}-net-http%{?_isa} = %{version}-%{release} Requires: %{name}-physics%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} Requires: %{name}-tree-player%{?_isa} = %{version}-%{release} @@ -1670,8 +1732,13 @@ This package contains a library for defining event displays in ROOT 7. %package gui-browserv7 Summary: Browser (ROOT 7) Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release} +Requires: %{name}-graf-gpadv7%{?_isa} = %{version}-%{release} Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release} +Requires: %{name}-gui-webgui6%{?_isa} = %{version}-%{release} +Requires: %{name}-hist%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} +Requires: %{name}-tree%{?_isa} = %{version}-%{release} %description gui-browserv7 This package contains a file browser for ROOT 7. @@ -1732,6 +1799,13 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release} %description gui-webgui6 This package provides a Web based GUI for ROOT. +%package histv7 +Summary: Histogram library for ROOT (ROOT 7) +Requires: %{name}-core%{?_isa} = %{version}-%{release} + +%description histv7 +This package contains a library for histogramming in ROOT 7. + %package hist-draw Summary: Histogram drawing (ROOT 7) Requires: %{name}-core%{?_isa} = %{version}-%{release} @@ -1773,13 +1847,11 @@ This package contains an ntuple extension for ROOT 7. %patch18 -p1 %patch19 -p1 %patch20 -p1 +%if %{?rhel}%{!?rhel:0} == 7 +%ifarch ppc64le %patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 +%endif +%endif # Remove bundled sources in order to be sure they are not used # * afterimage @@ -1790,7 +1862,7 @@ rm -rf graf3d/ftgl/src graf3d/ftgl/inc rm -rf graf2d/freetype/src # * glew rm -rf graf3d/glew/src graf3d/glew/inc graf3d/glew/isystem -# * davix, lz4, openssl, pcre, xxhash, zlib +# * davix, lz4, openssl, pcre, xxhash, zlib, zstd rm -rf builtins # * lzma rm -rf core/lzma/src/*.tar.gz @@ -1902,14 +1974,13 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dbuiltin_xrootd:BOOL=OFF \ -Dbuiltin_xxhash:BOOL=OFF \ -Dbuiltin_zlib:BOOL=OFF \ + -Dbuiltin_zstd:BOOL=OFF \ -Dalien:BOOL=OFF \ -Darrow:BOOL=OFF \ -Dasimage:BOOL=ON \ - -Dastiff:BOOL=ON \ -Dccache:BOOL=OFF \ -Dcefweb:BOOL=OFF \ -Dclad:BOOL=OFF \ - -Dcling:BOOL=ON \ -Dcocoa:BOOL=OFF \ -Dcuda:BOOL=OFF \ %if %{root7} @@ -1922,10 +1993,11 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dwebgui:BOOL=OFF \ %endif -Dcxxmodules:BOOL=OFF \ + -Ddataframe:BOOL=ON \ -Ddavix:BOOL=ON \ -Ddcache:BOOL=ON \ -Dexceptions:BOOL=ON \ - -Dexplicitlink:BOOL=ON \ + -Dfcgi:BOOL=ON \ -Dfftw3:BOOL=ON \ -DFIREFOX_EXECUTABLE:PATH=/usr/bin/firefox \ -Dfitsio:BOOL=ON \ @@ -1946,17 +2018,18 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dmemory_termination:BOOL=OFF \ -Dmemstat:BOOL=ON \ -Dminuit2:BOOL=ON \ + -Dmlp:BOOL=ON \ -Dmonalisa:BOOL=OFF \ + -Dmpi:BOOL=OFF \ -Dmysql:BOOL=ON \ -Dodbc:BOOL=ON \ -Dopengl:BOOL=ON \ -Doracle:BOOL=OFF \ - -Dpch:BOOL=ON \ -Dpgsql:BOOL=ON \ -Dpythia6:BOOL=OFF \ -Dpythia8:BOOL=ON \ - -Dpython:BOOL=ON \ -DPYTHON_EXECUTABLE:PATH=%{__pythondef} \ + -Dpyroot:BOOL=ON \ %ifarch %{qt5_qtwebengine_arches} -Dqt5web:BOOL=ON \ %else @@ -1970,10 +2043,10 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dshadowpw:BOOL=ON \ -Dshared:BOOL=ON \ -Dsoversion:BOOL=ON \ + -Dspectrum:BOOL=ON \ -Dsqlite:BOOL=ON \ -Dssl:BOOL=ON \ -Dtcmalloc:BOOL=OFF \ - -Dthread:BOOL=ON \ -Dtmva:BOOL=ON \ %if %{tbb} -Dtmva-cpu:BOOL=ON \ @@ -2035,7 +2108,9 @@ else py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'` fi sed -e "s,${py3i},${py2i},g" -e "s,-l${py3l},-l${py2l},g" \ - -e "s,lib${py3l},lib${py2l},g" -e 's,%{__python3},%{__python2},g' \ + -e "s,lib${py3l},lib${py2l},g" \ + -e 's,%{__python}%{python3_version},%{__python2},g' \ + -e 's,%{__python3},%{__python2},g' \ -e 's,lib/libPyROOT,python2/libPyROOT,g' \ -e 's,lib/libJupyROOT,python2/libJupyROOT,g' \ -e 's!bindings/pyroot!bindings/python2!g' \ @@ -2062,7 +2137,9 @@ else py3l=`pkg-config --libs-only-l python3 | sed -e 's/-l//' -e 's/\s*$//'` fi sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \ - -e "s,lib${py2l},lib${py3l},g" -e 's,%{__python2},%{__python3},g' \ + -e "s,lib${py2l},lib${py3l},g" \ + -e 's,%{__python}%{python2_version},%{__python3},g' \ + -e 's,%{__python2},%{__python3},g' \ -e 's,lib/libPyROOT,python3/libPyROOT,g' \ -e 's,lib/libJupyROOT,python3/libJupyROOT,g' \ -e 's!bindings/pyroot!bindings/python3!g' \ @@ -2089,7 +2166,9 @@ else py3l=`pkg-config --libs-only-l python-%{python3_other_version} | sed -e 's/-l//' -e 's/\s*$//'` fi sed -e "s,${py2i},${py3i},g" -e "s,-l${py2l},-l${py3l},g" \ - -e "s,lib${py2l},lib${py3l},g" -e 's,%{__python2},%{__python3_other},g' \ + -e "s,lib${py2l},lib${py3l},g" \ + -e 's,%{__python}%{python2_version},%{__python3_other},g' \ + -e 's,%{__python2},%{__python3_other},g' \ -e 's,lib/libPyROOT,python3oth/libPyROOT,g' \ -e 's,lib/libJupyROOT,python3oth/libJupyROOT,g' \ -e 's!bindings/pyroot!bindings/python3oth!g' \ @@ -2135,10 +2214,14 @@ rm %{buildroot}%{_libdir}/%{name}/__pycache__/cmdLineUtils.* %endif sed -e '/^\#!/d' -i %{buildroot}%{_datadir}/%{name}/cli/cmdLineUtils.py -# Move GDB pretty printers to auto load safe path +# Install GDB pretty printers to auto load safe path +# These are installed (in libdir) by "make install" if CMAKE_BUILD_TYPE +# matches Debug or RelWithDebInfo mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name} -mv %{buildroot}%{_libdir}/%{name}/*-gdb.py \ - %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name} +install -p -m 644 build/gdbPrinters/libCore.so-gdb.py \ + %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libCore.so.%{version}-gdb.py +install -p -m 644 build/gdbPrinters/libRooFitCore.so-gdb.py \ + %{buildroot}%{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.so.%{version}-gdb.py # Do python byte compilation (for non-standard paths) %if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8 @@ -2386,10 +2469,6 @@ rm -rf %{buildroot}%{_datadir}/%{name}/proof/utils rm %{buildroot}%{_datadir}/%{name}/root.desktop rm %{buildroot}%{_bindir}/setxrd* rm %{buildroot}%{_bindir}/thisroot* -rm %{buildroot}%{_mandir}/man1/g2rootold.1 -rm %{buildroot}%{_mandir}/man1/genmap.1 -rm %{buildroot}%{_mandir}/man1/proofserva.1 -rm %{buildroot}%{_mandir}/man1/roota.1 rm %{buildroot}%{_pkgdocdir}/INSTALL rm %{buildroot}%{_pkgdocdir}/README.ALIEN rm %{buildroot}%{_pkgdocdir}/README.CXXMODULES.md @@ -2400,7 +2479,6 @@ rm %{buildroot}%{_datadir}/%{name}/macros/fileopen.C # Remove plugin definitions for non-built and obsolete plugins pushd %{buildroot}%{_datadir}/%{name}/plugins -rm TDataProgressDialog/P010_TDataProgressDialog.C rm TDataSetManager/P020_TDataSetManagerAliEn.C rm TFile/P070_TAlienFile.C rm TGLManager/P020_TGWin32GLManager.C @@ -2416,8 +2494,6 @@ rm TVirtualGLImp/P020_TGWin32GL.C rm TVirtualMonitoringWriter/P010_TMonaLisaWriter.C rm TVirtualX/P030_TGWin32.C rm TVirtualX/P050_TGQuartz.C -rm TVirtualX/P060_TWebVirtualX.C -rmdir TDataProgressDialog rmdir TGrid rmdir TVirtualGeoConverter popd @@ -2492,7 +2568,6 @@ done # ... and merge some of them cat includelist-core-{[^mw],m[^au]}* > includelist-core cat includelist-geom-geom* > includelist-geom -cat includelist-roofit-roo* > includelist-roofit cat includelist-graf2d-x11ttf >> includelist-graf2d-x11 cat includelist-net-netx* > includelist-netx @@ -2558,6 +2633,23 @@ popd # # - tutorial-v7-line.cxx # requires a web browser (and js-jsroot) to render javascript graphics +# +# - gtest-io-io-test-RRawFile (*) +# - gtest-net-davix-test-RRawFileDavix +# reads input file over network +# http://root.cern.ch/files/davix.test +# (*) one subtest RRawFile.Remote fails, others woud be OK +# +# - gtest-tmva-tmva-test-rreader +# - gtest-tmva-tmva-test-rstandardscaler +# - tutorial-tmva-tmva003_RReader +# - tutorial-tmva-tmva004_RStandardScaler +# reads input data over network +# http://root.cern.ch/files/tmva_class_example.root +# +# - tutorial-tmva-tmva103_Application +# reads input data over network +# http://root.cern/files/tmva101.root excluded="\ test-stressIOPlugins|\ tutorial-dataframe-df101_h1Analysis|\ @@ -2575,11 +2667,17 @@ tutorial-dataframe-df103_NanoAODHiggsAnalysis|\ tutorial-v7-ntuple-ntpl003_lhcbOpenData|\ tutorial-v7-ntuple-ntpl004_dimuon|\ tutorial-pythia-pythia8|\ -tutorial-v7-line.cxx" +tutorial-v7-line.cxx|\ +gtest-io-io-test-RRawFile|\ +gtest-net-davix-test-RRawFileDavix|\ +gtest-tmva-tmva-test-rreader|\ +gtest-tmva-tmva-test-rstandardscaler|\ +tutorial-tmva-tmva003_RReader|\ +tutorial-tmva-tmva004_RStandardScaler|\ +tutorial-tmva-tmva103_Application" %ifarch %{ix86} %{arm} -%if %{?fedora}%{!?fedora:0} >= 30 -# Tests failing on 32 bit architectures on Fedoea 30+ (gcc 9?) +# Tests failing on 32 bit architectures (dataframe) # A bit random - not all the tests fail every time... # - gtest-tree-dataframe-test-dataframe-cache # - gtest-tree-dataframe-test-dataframe-callbacks @@ -2590,6 +2688,7 @@ tutorial-v7-line.cxx" # - gtest-tree-dataframe-test-dataframe-simple # - gtest-tree-dataframe-test-dataframe-snapshot # - gtest-tree-dataframe-test-datasource-root +# - gtest-tree-dataframe-test-datasource-trivial excluded="${excluded}|\ gtest-tree-dataframe-test-dataframe-cache|\ gtest-tree-dataframe-test-dataframe-callbacks|\ @@ -2599,23 +2698,14 @@ gtest-tree-dataframe-test-dataframe-helpers|\ gtest-tree-dataframe-test-dataframe-interface|\ gtest-tree-dataframe-test-dataframe-simple|\ gtest-tree-dataframe-test-dataframe-snapshot|\ -gtest-tree-dataframe-test-datasource-root" -%endif +gtest-tree-dataframe-test-datasource-root|\ +gtest-tree-dataframe-test-datasource-trivial" %endif %ifarch %{arm} # Tests failing on 32 bit arm # - gtest-tree-tree-test-testBulkApiSillyStruct -# - tutorial-v7-draw.cxx -# - tutorial-v7-draw_mt.cxx -# - tutorial-v7-draw_rh1.cxx -# - tutorial-v7-draw_subpads.cxx -excluded="${excluded}|\ -gtest-tree-tree-test-testBulkApiSillyStruct|\ -tutorial-v7-draw.cxx|\ -tutorial-v7-draw_mt.cxx|\ -tutorial-v7-draw_rh1.cxx|\ -tutorial-v7-draw_subpads.cxx" +excluded="${excluded}|gtest-tree-tree-test-testBulkApiSillyStruct" %endif %ifarch ppc64le @@ -2629,17 +2719,6 @@ excluded="${excluded}|tutorial-roofit-rf608_fitresultaspdf-py" %endif %endif -%if %{?fedora}%{!?fedora:0} >= 32 -# New failures with Fedora 32+ (gcc 10) -excluded="${excluded}|tutorial-v7-markerStyle.cxx" -%ifarch %{ix86} ppc64le -excluded="${excluded}|TMVA-DNN-CNN-Reshape-CPU" -%endif -%ifarch ppc64le -excluded="${excluded}|tutorial-v7-lineStyle.cxx|tutorial-v7-lineWidth.cxx" -%endif -%endif - make test ARGS="%{?_smp_mflags} --output-on-failure -E \"${excluded}\"" popd @@ -2896,6 +2975,9 @@ fi %ldconfig_scriptlets proof-sessionviewer %ldconfig_scriptlets xproof %ldconfig_scriptlets roofit +%ldconfig_scriptlets roofit-core +%ldconfig_scriptlets roofit-more +%ldconfig_scriptlets roostats %ldconfig_scriptlets sql-mysql %ldconfig_scriptlets sql-odbc %ldconfig_scriptlets sql-sqlite @@ -2921,6 +3003,7 @@ fi %endif %ldconfig_scriptlets gui-webdisplay %ldconfig_scriptlets gui-webgui6 +%ldconfig_scriptlets histv7 %ldconfig_scriptlets hist-draw %ldconfig_scriptlets tree-ntuple %endif @@ -2986,9 +3069,6 @@ fi %{_mandir}/man1/system.rootdaemonrc.1* %dir %{_datadir}/%{name}/cmake %{_datadir}/%{name}/cmake/*.cmake -%dir %{_datadir}/%{name}/cmake/modules -%{_datadir}/%{name}/cmake/modules/*.cmake -%{_datadir}/%{name}/cmake/modules/*.cmake.in %dir %{_datadir}/%{name}/macros %{_datadir}/%{name}/macros/Dialogs.C %dir %{_datadir}/%{name}/plugins @@ -2998,9 +3078,7 @@ fi %{_includedir}/%{name}/RConfigure.h %{_includedir}/%{name}/RGitCommit.h %{_includedir}/%{name}/compiledata.h -%{_includedir}/%{name}/libc.modulemap %{_includedir}/%{name}/module.modulemap -%{_includedir}/%{name}/stl.modulemap %dir %{_includedir}/%{name}/Math %dir %{_includedir}/%{name}/ROOT %config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf @@ -3052,6 +3130,7 @@ fi %{python2_sitearch}/ROOT-*.egg-info %{python2_sitearch}/cppyy.py* %{python2_sitearch}/_pythonization.py* +%{python2_sitearch}/_rdf_utils.py* %endif %if ! %{py3default} @@ -3080,6 +3159,7 @@ fi %{python3_sitearch}/ROOT-*.egg-info %{python3_sitearch}/cppyy.py %{python3_sitearch}/_pythonization.py +%{python3_sitearch}/_rdf_utils.py %{python3_sitearch}/__pycache__/* %files -n python%{python3_pkgversion}-jupyroot @@ -3107,6 +3187,7 @@ fi %{python3_other_sitearch}/ROOT-*.egg-info %{python3_other_sitearch}/cppyy.py %{python3_other_sitearch}/_pythonization.py +%{python3_other_sitearch}/_rdf_utils.py %{python3_other_sitearch}/__pycache__/* %files -n python%{python3_other_pkgversion}-jupyroot @@ -3475,6 +3556,7 @@ fi %{_libdir}/%{name}/libRDAVIX_rdict.pcm %{_datadir}/%{name}/plugins/TFile/P130_TDavixFile.C %{_datadir}/%{name}/plugins/TSystem/P045_TDavixSystem.C +%{_datadir}/%{name}/plugins/ROOT@@Internal@@RRawFile/P010_RRawFileDavix.C %files net-http -f includelist-net-http %{_libdir}/%{name}/libRHTTP.* @@ -3548,15 +3630,23 @@ fi %{_datadir}/%{name}/plugins/TProofServ/P010_TXProofServ.C %{_datadir}/%{name}/plugins/TSlave/P010_TXSlave.C -%files roofit -f includelist-roofit +%files roofit -f includelist-roofit-roofit %{_libdir}/%{name}/libRooFit.* %{_libdir}/%{name}/libRooFit_rdict.pcm + +%files roofit-core -f includelist-roofit-roofitcore %{_libdir}/%{name}/libRooFitCore.* %{_libdir}/%{name}/libRooFitCore_rdict.pcm %{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.* %if %{?fedora}%{!?fedora:0} >= 28 || %{?rhel}%{!?rhel:0} >= 8 %{_datadir}/gdb/auto-load%{_libdir}/%{name}/__pycache__/libRooFitCore.* %endif + +%files roofit-more -f includelist-roofit-roofitmore +%{_libdir}/%{name}/libRooFitMore.* +%{_libdir}/%{name}/libRooFitMore_rdict.pcm + +%files roostats -f includelist-roofit-roostats %{_libdir}/%{name}/libRooStats.* %{_libdir}/%{name}/libRooStats_rdict.pcm %dir %{_includedir}/%{name}/RooStats @@ -3652,7 +3742,7 @@ fi %{_libdir}/%{name}/libROOTGpadv7.* %{_libdir}/%{name}/libROOTGpadv7_rdict.pcm -%files graf-primitives -f includelist-graf2d-primitives +%files graf-primitives -f includelist-graf2d-primitivesv7 %{_libdir}/%{name}/libROOTGraphicsPrimitives.* %{_libdir}/%{name}/libROOTGraphicsPrimitives_rdict.pcm @@ -3686,7 +3776,11 @@ fi %{_libdir}/%{name}/libWebGui6_rdict.pcm %{_datadir}/%{name}/plugins/TGuiFactory/P030_TWebGuiFactory.C -%files hist-draw -f includelist-hist-histdraw +%files histv7 -f includelist-hist-histv7 +%{_libdir}/%{name}/libROOTHist.* +%{_libdir}/%{name}/libROOTHist_rdict.pcm + +%files hist-draw -f includelist-hist-histdrawv7 %{_libdir}/%{name}/libROOTHistDraw.* %{_libdir}/%{name}/libROOTHistDraw_rdict.pcm @@ -3696,6 +3790,28 @@ fi %endif %changelog +* Sun Mar 22 2020 Mattias Ellert - 6.20.02-1 +- Update to 6.20.02 +- Drop patches accepted upstream + - root-dont-download-input-file-if-it-already-exists.patch + - root-fix-plugin-definition.patch + - root-man-install.patch + - root-pretty-printers.patch + - root-python3.patch + - root-stress-aarch64-ppc64le.patch +- Drop patches no longer relevant due to changes to the code + - root-missing-include-string.patch + - root-static-constexpr.patch +- Add workaround for PyROOT issues on ppc64le in EPEL 7 + - root-epel7-ppc64le-pyroot.patch (patch conditionally applied) +- Fix path to moved data file in tutorial + - root-moved-file.patch +- Split the root-roofit subpackage into four different packages + - root-roofit, root-roofit-core, root-roofit-more and root-roostats + - The root-roofit-more library splits out the part of roofit that depends on + the root-mathmore package +- New subpackage: root-histv7 + * Sat Mar 14 2020 Mattias Ellert - 6.18.04-6 - Build for 32 bit ARM again - gcc-10.0.1-0.9 fixes the problem diff --git a/sources b/sources index b86045b..0372c45 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (root-6.18.04.tar.xz) = 9ce3b5e1fa79cc010aa3b20ad3bfd8c4cf8605c17c0fb79991614ae299f3e08f00e76a1847b53f368a7bf006d90c1b5d152d1bf65a32b94f80835a47c60e03e6 +SHA512 (root-6.20.02.tar.xz) = 65f60c52485e72ef405daf10fa08a2d453c7f72f5f3721b97762094713dad1b0f5cb5a37a2a1c30f78bf97c358679f71829bc16833914e6f2ba82e9165521581 SHA512 (root-testfiles.tar.xz) = 7006c6591b587c24cf75dc4f6ed9586165b27102539fdde580d0a95853fcec7e9980a881e49e64a09f90af341a8c8fd2f493305ed88e07af144fabd438ba283e