diff --git a/root-32bit-dataframe.patch b/root-32bit-dataframe.patch index 310171f..f9ff85f 100644 --- a/root-32bit-dataframe.patch +++ b/root-32bit-dataframe.patch @@ -1,6 +1,6 @@ -diff -ur root-6.22.00.orig/bindings/pyroot_legacy/ROOT.py root-6.22.00/bindings/pyroot_legacy/ROOT.py ---- root-6.22.00.orig/bindings/pyroot_legacy/ROOT.py 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot_legacy/ROOT.py 2020-06-29 09:07:41.574798580 +0200 +diff -ur root-6.24.02.orig/bindings/pyroot_legacy/ROOT.py root-6.24.02/bindings/pyroot_legacy/ROOT.py +--- root-6.24.02.orig/bindings/pyroot_legacy/ROOT.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/bindings/pyroot_legacy/ROOT.py 2021-08-11 10:44:16.895804556 +0200 @@ -438,9 +438,7 @@ # This function is injected as method to the respective classes in Pythonize.cxx. _root._RDataFrameAsNumpy = _RDataFrameAsNumpy @@ -12,9 +12,9 @@ diff -ur root-6.22.00.orig/bindings/pyroot_legacy/ROOT.py root-6.22.00/bindings/ ### RINT command emulation ------------------------------------------------------ -diff -ur root-6.22.00.orig/build/unix/makepchinput.py root-6.22.00/build/unix/makepchinput.py ---- root-6.22.00.orig/build/unix/makepchinput.py 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/build/unix/makepchinput.py 2020-06-29 09:07:41.639798769 +0200 +diff -ur root-6.24.02.orig/build/unix/makepchinput.py root-6.24.02/build/unix/makepchinput.py +--- root-6.24.02.orig/build/unix/makepchinput.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/build/unix/makepchinput.py 2021-08-11 10:44:16.926804638 +0200 @@ -252,9 +252,6 @@ "math/vdt", "tmva/rmva"] @@ -25,9 +25,9 @@ diff -ur root-6.22.00.orig/build/unix/makepchinput.py root-6.22.00/build/unix/ma accepted = isAnyPatternInString(PCHPatternsWhitelist,dirName) and \ not isAnyPatternInString(PCHPatternsBlacklist,dirName) -diff -ur root-6.22.00.orig/tree/dataframe/test/dataframe_cache.cxx root-6.22.00/tree/dataframe/test/dataframe_cache.cxx ---- root-6.22.00.orig/tree/dataframe/test/dataframe_cache.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tree/dataframe/test/dataframe_cache.cxx 2020-06-29 09:07:41.640798772 +0200 +diff -ur root-6.24.02.orig/tree/dataframe/test/dataframe_cache.cxx root-6.24.02/tree/dataframe/test/dataframe_cache.cxx +--- root-6.24.02.orig/tree/dataframe/test/dataframe_cache.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tree/dataframe/test/dataframe_cache.cxx 2021-08-11 10:44:16.927804641 +0200 @@ -224,8 +224,6 @@ } @@ -46,9 +46,9 @@ diff -ur root-6.22.00.orig/tree/dataframe/test/dataframe_cache.cxx root-6.22.00/ // ROOT-10563 TEST(Cache, Alias) { -diff -ur root-6.22.00.orig/tree/dataframe/test/datasource_arrow.cxx root-6.22.00/tree/dataframe/test/datasource_arrow.cxx ---- root-6.22.00.orig/tree/dataframe/test/datasource_arrow.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tree/dataframe/test/datasource_arrow.cxx 2020-06-29 09:07:41.645798787 +0200 +diff -ur root-6.24.02.orig/tree/dataframe/test/datasource_arrow.cxx root-6.24.02/tree/dataframe/test/datasource_arrow.cxx +--- root-6.24.02.orig/tree/dataframe/test/datasource_arrow.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tree/dataframe/test/datasource_arrow.cxx 2021-08-11 10:44:16.927804641 +0200 @@ -177,8 +177,6 @@ } #endif @@ -64,10 +64,10 @@ diff -ur root-6.22.00.orig/tree/dataframe/test/datasource_arrow.cxx root-6.22.00 #endif // R__USE_IMT - -#endif // R__B64 -diff -ur root-6.22.00.orig/tree/dataframe/test/datasource_csv.cxx root-6.22.00/tree/dataframe/test/datasource_csv.cxx ---- root-6.22.00.orig/tree/dataframe/test/datasource_csv.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tree/dataframe/test/datasource_csv.cxx 2020-06-29 09:07:41.645798787 +0200 -@@ -195,8 +195,6 @@ +diff -ur root-6.24.02.orig/tree/dataframe/test/datasource_csv.cxx root-6.24.02/tree/dataframe/test/datasource_csv.cxx +--- root-6.24.02.orig/tree/dataframe/test/datasource_csv.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tree/dataframe/test/datasource_csv.cxx 2021-08-11 10:44:16.927804641 +0200 +@@ -207,8 +207,6 @@ } #endif @@ -76,15 +76,15 @@ diff -ur root-6.22.00.orig/tree/dataframe/test/datasource_csv.cxx root-6.22.00/t TEST(RCsvDS, FromARDF) { std::unique_ptr tds(new RCsvDS(fileName0)); -@@ -292,5 +290,3 @@ +@@ -321,5 +319,3 @@ } #endif // R__USE_IMT - -#endif // R__B64 -diff -ur root-6.22.00.orig/tree/dataframe/test/datasource_root.cxx root-6.22.00/tree/dataframe/test/datasource_root.cxx ---- root-6.22.00.orig/tree/dataframe/test/datasource_root.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tree/dataframe/test/datasource_root.cxx 2020-06-29 09:07:41.649798799 +0200 +diff -ur root-6.24.02.orig/tree/dataframe/test/datasource_root.cxx root-6.24.02/tree/dataframe/test/datasource_root.cxx +--- root-6.24.02.orig/tree/dataframe/test/datasource_root.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tree/dataframe/test/datasource_root.cxx 2021-08-11 10:44:16.928804644 +0200 @@ -117,8 +117,6 @@ } #endif @@ -100,11 +100,11 @@ diff -ur root-6.22.00.orig/tree/dataframe/test/datasource_root.cxx root-6.22.00/ #endif // R__USE_IMT - -#endif // R__B64 -diff -ur root-6.22.00.orig/tree/dataframe/test/datasource_trivial.cxx root-6.22.00/tree/dataframe/test/datasource_trivial.cxx ---- root-6.22.00.orig/tree/dataframe/test/datasource_trivial.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tree/dataframe/test/datasource_trivial.cxx 2020-06-29 09:07:41.654798814 +0200 -@@ -132,8 +132,6 @@ - EXPECT_EQ(*tdfAll.Count(), 20ULL); +diff -ur root-6.24.02.orig/tree/dataframe/test/datasource_trivial.cxx root-6.24.02/tree/dataframe/test/datasource_trivial.cxx +--- root-6.24.02.orig/tree/dataframe/test/datasource_trivial.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tree/dataframe/test/datasource_trivial.cxx 2021-08-11 10:44:16.928804644 +0200 +@@ -141,8 +141,6 @@ + EXPECT_EQ(df.Range(10).Count().GetValue(), 10); } -#ifdef R__B64 @@ -112,17 +112,17 @@ diff -ur root-6.22.00.orig/tree/dataframe/test/datasource_trivial.cxx root-6.22. TEST(RTrivialDS, FromARDFWithJitting) { std::unique_ptr tds(new RTrivialDS(32)); -@@ -236,5 +234,3 @@ +@@ -245,5 +243,3 @@ } #endif // R__USE_IMT - -#endif // R__B64 -diff -ur root-6.22.00.orig/tutorials/CMakeLists.txt root-6.22.00/tutorials/CMakeLists.txt ---- root-6.22.00.orig/tutorials/CMakeLists.txt 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tutorials/CMakeLists.txt 2020-06-29 09:07:41.655798816 +0200 -@@ -257,10 +257,6 @@ - set(root7_veto v7/ntuple/ntpl004_dimuon.C) +diff -ur root-6.24.02.orig/tutorials/CMakeLists.txt root-6.24.02/tutorials/CMakeLists.txt +--- root-6.24.02.orig/tutorials/CMakeLists.txt 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/CMakeLists.txt 2021-08-11 10:44:16.974804766 +0200 +@@ -279,10 +279,6 @@ + list(APPEND root7_veto ${v7_veto_files}) endif() -if( CMAKE_SIZEOF_VOID_P EQUAL 4 ) @@ -132,7 +132,7 @@ diff -ur root-6.22.00.orig/tutorials/CMakeLists.txt root-6.22.00/tutorials/CMake #---These ones are disabled !!! ------------------------------------ set(extra_veto legacy/benchmarks.C -@@ -313,7 +309,6 @@ +@@ -335,7 +331,6 @@ ${classic_veto} ${pythia_veto} ${root7_veto} @@ -140,11 +140,3 @@ diff -ur root-6.22.00.orig/tutorials/CMakeLists.txt root-6.22.00/tutorials/CMake ${xrootd_veto} ${mlp_veto} ${spectrum_veto} -@@ -526,7 +521,6 @@ - list(REMOVE_ITEM pytutorials ${pyveto}) - - 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 diff --git a/root-Fix-return-type-in-ORC-readMem-client-interface.patch b/root-Fix-return-type-in-ORC-readMem-client-interface.patch deleted file mode 100644 index 2fd426d..0000000 --- a/root-Fix-return-type-in-ORC-readMem-client-interface.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -ur root-6.14.00.orig/interpreter/llvm/src/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h root-6.14.00/interpreter/llvm/src/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h ---- root-6.14.00.orig/interpreter/llvm/src/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h 2018-06-13 12:10:40.000000000 +0200 -+++ root-6.14.00/interpreter/llvm/src/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h 2018-06-27 17:05:07.750663216 +0200 -@@ -713,8 +713,8 @@ - - uint32_t getTrampolineSize() const { return RemoteTrampolineSize; } - -- Expected> readMem(char *Dst, JITTargetAddress Src, -- uint64_t Size) { -+ Expected> readMem(char *Dst, JITTargetAddress Src, -+ uint64_t Size) { - // Check for an 'out-of-band' error, e.g. from an MM destructor. - if (ExistingError) - return std::move(ExistingError); diff --git a/root-PPC-Avoid-non-simple-MVT-in-STBRX-optimization.patch b/root-PPC-Avoid-non-simple-MVT-in-STBRX-optimization.patch deleted file mode 100644 index 5cf51c2..0000000 --- a/root-PPC-Avoid-non-simple-MVT-in-STBRX-optimization.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -ur root-6.14.00.orig/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp root-6.14.00/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp ---- root-6.14.00.orig/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp 2018-06-13 12:10:40.000000000 +0200 -+++ root-6.14.00/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp 2018-06-27 17:06:55.739506085 +0200 -@@ -11861,6 +11861,11 @@ - N->getOperand(1).getValueType() == MVT::i16 || - (Subtarget.hasLDBRX() && Subtarget.isPPC64() && - N->getOperand(1).getValueType() == MVT::i64))) { -+ // STBRX can only handle simple types. -+ EVT mVT = cast(N)->getMemoryVT(); -+ if (mVT.isExtended()) -+ break; -+ - SDValue BSwapOp = N->getOperand(1).getOperand(0); - // Do an any-extend to 32-bits if this is a half-word input. - if (BSwapOp.getValueType() == MVT::i16) -@@ -11868,7 +11873,6 @@ - - // If the type of BSWAP operand is wider than stored memory width - // it need to be shifted to the right side before STBRX. -- EVT mVT = cast(N)->getMemoryVT(); - if (Op1VT.bitsGT(mVT)) { - int Shift = Op1VT.getSizeInBits() - mVT.getSizeInBits(); - BSwapOp = DAG.getNode(ISD::SRL, dl, Op1VT, BSwapOp, diff --git a/root-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch b/root-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch deleted file mode 100644 index 3448ac8..0000000 --- a/root-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -ur root-6.12.04.orig/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp root-6.12.04/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp ---- root-6.12.04.orig/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp 2017-12-13 08:27:42.000000000 +0100 -+++ root-6.12.04/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp 2018-01-11 12:40:14.956914822 +0100 -@@ -7448,9 +7448,11 @@ - /// - The node is a "load-and-splat" - /// In all other cases, we will choose to keep the BUILD_VECTOR. - static bool haveEfficientBuildVectorPattern(BuildVectorSDNode *V, -- bool HasDirectMove) { -+ bool HasDirectMove, -+ bool HasP8Vector) { - EVT VecVT = V->getValueType(0); -- bool RightType = VecVT == MVT::v2f64 || VecVT == MVT::v4f32 || -+ bool RightType = VecVT == MVT::v2f64 || -+ (HasP8Vector && VecVT == MVT::v4f32) || - (HasDirectMove && (VecVT == MVT::v2i64 || VecVT == MVT::v4i32)); - if (!RightType) - return false; -@@ -7612,7 +7614,8 @@ - // lowered to VSX instructions under certain conditions. - // Without VSX, there is no pattern more efficient than expanding the node. - if (Subtarget.hasVSX() && -- haveEfficientBuildVectorPattern(BVN, Subtarget.hasDirectMove())) -+ haveEfficientBuildVectorPattern(BVN, Subtarget.hasDirectMove(), -+ Subtarget.hasP8Vector())) - return Op; - return SDValue(); - } diff --git a/root-add-RCutFlowReport-to-LinkDef-file.patch b/root-add-RCutFlowReport-to-LinkDef-file.patch new file mode 100644 index 0000000..9ec99a1 --- /dev/null +++ b/root-add-RCutFlowReport-to-LinkDef-file.patch @@ -0,0 +1,26 @@ +From 2e3fabbe5423f50ee98ce848d8e85ec7a2a2106d Mon Sep 17 00:00:00 2001 +From: Enrico Guiraud +Date: Thu, 15 Jul 2021 12:17:56 +0200 +Subject: [PATCH] [DF] Add RCutFlowReport to LinkDef + +This should fix some sporadic failures in cling's symbol resolution +in builds without runtime cxx modules. +--- + tree/dataframe/inc/LinkDef.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tree/dataframe/inc/LinkDef.h b/tree/dataframe/inc/LinkDef.h +index 8103468082..684fc3b6f1 100644 +--- a/tree/dataframe/inc/LinkDef.h ++++ b/tree/dataframe/inc/LinkDef.h +@@ -58,6 +58,7 @@ + #pragma link C++ class ROOT::Detail::RDF::RMergeableValue+; + #pragma link C++ class ROOT::Detail::RDF::RMergeableValue+; + #pragma link C++ class TNotifyLink; ++#pragma link C++ class ROOT::RDF::RCutFlowReport; + + #endif + +-- +2.31.1 + diff --git a/root-add-RDisplay-to-LinkDef-file.patch b/root-add-RDisplay-to-LinkDef-file.patch new file mode 100644 index 0000000..e86880c --- /dev/null +++ b/root-add-RDisplay-to-LinkDef-file.patch @@ -0,0 +1,25 @@ +From d9e15857c189edcfa75af5c6244ff68fac74f06f Mon Sep 17 00:00:00 2001 +From: Enrico Guiraud +Date: Thu, 10 Jun 2021 10:00:32 +0200 +Subject: [PATCH] [DF] Add RDisplay to LinkDef + +To help cling autoloading. +--- + tree/dataframe/inc/LinkDef.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tree/dataframe/inc/LinkDef.h b/tree/dataframe/inc/LinkDef.h +index 3879ac8d5d..8103468082 100644 +--- a/tree/dataframe/inc/LinkDef.h ++++ b/tree/dataframe/inc/LinkDef.h +@@ -20,6 +20,7 @@ + #pragma link C++ namespace ROOT::Internal::RDF::GraphDrawing; + #pragma link C++ namespace ROOT::Detail::RDF; + #pragma link C++ namespace ROOT::RDF; ++#pragma link C++ class ROOT::RDF::RDisplay-; + #pragma link C++ class ROOT::Internal::RDF::RActionBase-; + #pragma link C++ class ROOT::Internal::RDF::RJittedAction-; + #pragma link C++ class ROOT::Detail::RDF::RFilterBase-; +-- +2.31.1 + diff --git a/root-add-TTreeProcessorMP-to-LinkDef-file.patch b/root-add-TTreeProcessorMP-to-LinkDef-file.patch new file mode 100644 index 0000000..c8a0b1f --- /dev/null +++ b/root-add-TTreeProcessorMP-to-LinkDef-file.patch @@ -0,0 +1,36 @@ +From 56d52ccf2fad2736e49d3cfc4c9df22492e1dbfc Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Tue, 8 Jun 2021 02:46:18 +0200 +Subject: [PATCH] Add TTreeProcessorMP to LinkDef + +This fixes test failure: + + 745/1157 Test #729: tutorial-multicore-mp102_readNtuplesFillHistosAndFit ................***Failed 1.55 sec +Processing /builddir/build/BUILD/root-6.25.01/tutorials/multicore/mp102_readNtuplesFillHistosAndFit.C... +IncrementalExecutor::executeFunction: symbol '_ZN4ROOT16TTreeProcessorMPC1Ej' unresolved while linking [cling interface function]! +You are probably missing the definition of ROOT::TTreeProcessorMP::TTreeProcessorMP(unsigned int) +Maybe you need to load the corresponding shared library? +IncrementalExecutor::executeFunction: symbol '_ZN4ROOT16TTreeProcessorMP11ReplyToIdleEP7TSocket' unresolved while linking [cling interface function]! +You are probably missing the definition of ROOT::TTreeProcessorMP::ReplyToIdle(TSocket*) +Maybe you need to load the corresponding shared library? +CMake Error at /builddir/build/BUILD/root-6.25.01/x86_64-redhat-linux-gnu/RootTestDriver.cmake:237 (message): + error code: 1 +--- + tree/treeplayer/inc/LinkDef.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tree/treeplayer/inc/LinkDef.h b/tree/treeplayer/inc/LinkDef.h +index e7fdd7c9bf..d195536a40 100644 +--- a/tree/treeplayer/inc/LinkDef.h ++++ b/tree/treeplayer/inc/LinkDef.h +@@ -30,6 +30,7 @@ + #pragma link C++ class TSimpleAnalysis+; + #ifndef _MSC_VER + #pragma link C++ class TMPWorkerTree+; ++#pragma link C++ class ROOT::TTreeProcessorMP-; + #endif + #ifdef R__USE_IMT + #pragma link C++ class ROOT::TTreeProcessorMT-; +-- +2.31.1 + diff --git a/root-config-restore.patch b/root-config-restore.patch deleted file mode 100644 index 0615b8b..0000000 --- a/root-config-restore.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d589c5f31f940ea6a3a5144ca1664b2ec9ea7d38 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Wed, 19 Aug 2020 20:08:32 +0200 -Subject: [PATCH] Add back line accidentally removed in commit - 17bc17715524b4cc6b46324c428845e9ab945684 - ---- - config/root-config.in | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/config/root-config.in b/config/root-config.in -index d86b7d35af..7029439362 100755 ---- a/config/root-config.in -+++ b/config/root-config.in -@@ -438,7 +438,9 @@ Usage: root-config [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version]\ - [--cflags] [--auxcflags] [--ldflags] [--new] [--nonew] [--libs] [--glibs]\ - [--evelibs] [--bindir] [--libdir] [--incdir] [--etcdir] [--tutdir] [--srcdir]\ - [--noauxcflags] [--noauxlibs] [--noldflags] [--has-] [--arch]\ --[--python-version] [--python2-version] [--python3-version] [--cc] [--cxx] [--f77] [--ld ] [--help]" -+ [--platform] [--config] [--features] [--ncpu] [--git-revision]\ -+ [--python-version] [--python2-version] [--python3-version]\ -+ [--cc] [--cxx] [--f77] [--ld ] [--help]" - - if test $# -eq 0; then - echo "${usage}" 1>&2 --- -2.26.2 - diff --git a/root-do-not-load_library-libROOTPythonizations.patch b/root-do-not-load_library-libROOTPythonizations.patch deleted file mode 100644 index a108b30..0000000 --- a/root-do-not-load_library-libROOTPythonizations.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4aa3e75da6afba4dc7f86fa264acf30eca60d56f Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Thu, 26 Nov 2020 11:14:57 +0100 -Subject: [PATCH] Do not attempt to load_library the ROOT Pythonizations module - -It is not necessary here, since it is already loaded due to the -from libROOTPythonizations import ... -earlier in the file, and it fails when the python module is not in the -library path (it is in the python path only) - -/usr/lib64/python3.9/site-packages/libROOTPythonizations3_9.cpython-39-x86_64-linux-gnu.so - -https://bugzilla.redhat.com/show_bug.cgi?id=1900661 ---- - bindings/pyroot/pythonizations/python/ROOT/_facade.py | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/bindings/pyroot/pythonizations/python/ROOT/_facade.py b/bindings/pyroot/pythonizations/python/ROOT/_facade.py -index c028006c70..37365c36ca 100644 ---- a/bindings/pyroot/pythonizations/python/ROOT/_facade.py -+++ b/bindings/pyroot/pythonizations/python/ROOT/_facade.py -@@ -5,7 +5,7 @@ from functools import partial - - import libcppyy as cppyy_backend - from cppyy import gbl as gbl_namespace --from cppyy import cppdef, include, load_library -+from cppyy import cppdef, include - from libROOTPythonizations import gROOT, CreateBufferFromAddress - - from ._application import PyROOTApplication -@@ -291,8 +291,6 @@ class ROOTFacade(types.ModuleType): - @property - def TPyDispatcher(self): - include('ROOT/TPyDispatcher.h') -- major, minor = sys.version_info[0:2] -- load_library('libROOTPythonizations{}_{}'.format(major, minor)) - tpd = gbl_namespace.TPyDispatcher - type(self).TPyDispatcher = tpd - return tpd --- -2.28.0 - diff --git a/root-doxygen-crash.patch b/root-doxygen-crash.patch index b27f5ce..d69d7e7 100644 --- a/root-doxygen-crash.patch +++ b/root-doxygen-crash.patch @@ -1,6 +1,204 @@ -diff -ur root-6.22.00.orig/tutorials/tmva/tmva003_RReader.C root-6.22.00/tutorials/tmva/tmva003_RReader.C ---- root-6.22.00.orig/tutorials/tmva/tmva003_RReader.C 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tutorials/tmva/tmva003_RReader.C 2020-07-09 18:58:36.854733120 +0200 +diff -ur root-6.24.02.orig/tutorials/dataframe/df002_dataModel.C root-6.24.02/tutorials/dataframe/df002_dataModel.C +--- root-6.24.02.orig/tutorials/dataframe/df002_dataModel.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df002_dataModel.C 2021-08-11 03:55:11.021149115 +0200 +@@ -7,7 +7,6 @@ + /// complex than flat ntuples with RDataFrame + /// + /// \macro_code +-/// \macro_image + /// + /// \date December 2016 + /// \author Danilo Piparo (CERN) +diff -ur root-6.24.02.orig/tutorials/dataframe/df002_dataModel.py root-6.24.02/tutorials/dataframe/df002_dataModel.py +--- root-6.24.02.orig/tutorials/dataframe/df002_dataModel.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df002_dataModel.py 2021-08-11 03:55:11.084149272 +0200 +@@ -7,7 +7,6 @@ + ## complex than flat ntuples with RDataFrame + ## + ## \macro_code +-## \macro_image + ## + ## \date May 2017 + ## \author Danilo Piparo (CERN) +diff -ur root-6.24.02.orig/tutorials/dataframe/df003_profiles.C root-6.24.02/tutorials/dataframe/df003_profiles.C +--- root-6.24.02.orig/tutorials/dataframe/df003_profiles.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df003_profiles.C 2021-08-11 03:55:11.148149432 +0200 +@@ -7,7 +7,6 @@ + /// RDataFrame. See the documentation of TProfile and TProfile2D to better + /// understand the analogy of this code with the example one. + /// +-/// \macro_image + /// \macro_code + /// + /// \date February 2017 +diff -ur root-6.24.02.orig/tutorials/dataframe/df003_profiles.py root-6.24.02/tutorials/dataframe/df003_profiles.py +--- root-6.24.02.orig/tutorials/dataframe/df003_profiles.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df003_profiles.py 2021-08-11 03:55:11.211149590 +0200 +@@ -8,7 +8,6 @@ + ## understand the analogy of this code with the example one. + ## + ## \macro_code +-## \macro_image + ## + ## \date February 2017 + ## \author Danilo Piparo (CERN) +diff -ur root-6.24.02.orig/tutorials/dataframe/df005_fillAnyObject.C root-6.24.02/tutorials/dataframe/df005_fillAnyObject.C +--- root-6.24.02.orig/tutorials/dataframe/df005_fillAnyObject.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df005_fillAnyObject.C 2021-08-11 03:55:11.275149750 +0200 +@@ -7,7 +7,6 @@ + /// `Fill` method. + /// + /// \macro_code +-/// \macro_image + /// + /// \date March 2017 + /// \author Danilo Piparo (CERN) +diff -ur root-6.24.02.orig/tutorials/dataframe/df007_snapshot.C root-6.24.02/tutorials/dataframe/df007_snapshot.C +--- root-6.24.02.orig/tutorials/dataframe/df007_snapshot.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df007_snapshot.C 2021-08-11 03:55:11.338149907 +0200 +@@ -5,7 +5,6 @@ + /// + /// This tutorial shows how to write out datasets in ROOT format using the RDataFrame + /// +-/// \macro_image + /// \macro_code + /// + /// \date April 2017 +diff -ur root-6.24.02.orig/tutorials/dataframe/df007_snapshot.py root-6.24.02/tutorials/dataframe/df007_snapshot.py +--- root-6.24.02.orig/tutorials/dataframe/df007_snapshot.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df007_snapshot.py 2021-08-11 03:55:11.402150067 +0200 +@@ -5,7 +5,6 @@ + ## + ## This tutorial shows how to write out datasets in ROOT format using the RDataFrame + ## +-## \macro_image + ## \macro_code + ## + ## \date April 2017 +diff -ur root-6.24.02.orig/tutorials/dataframe/df014_CSVDataSource.C root-6.24.02/tutorials/dataframe/df014_CSVDataSource.C +--- root-6.24.02.orig/tutorials/dataframe/df014_CSVDataSource.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df014_CSVDataSource.C 2021-08-11 03:55:11.465150225 +0200 +@@ -14,7 +14,6 @@ + /// DOI: [10.7483/OPENDATA.CMS.CB8H.MFFA](http://opendata.cern.ch/record/700). + /// + /// \macro_code +-/// \macro_image + /// + /// \date October 2017 + /// \author Enric Tejedor (CERN) +diff -ur root-6.24.02.orig/tutorials/dataframe/df014_CSVDataSource.py root-6.24.02/tutorials/dataframe/df014_CSVDataSource.py +--- root-6.24.02.orig/tutorials/dataframe/df014_CSVDataSource.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df014_CSVDataSource.py 2021-08-11 03:55:11.529150385 +0200 +@@ -14,7 +14,6 @@ + ## DOI: [10.7483/OPENDATA.CMS.CB8H.MFFA](http://opendata.cern.ch/record/700). + ## + ## \macro_code +-## \macro_image + ## + ## \date October 2017 + ## \author Enric Tejedor (CERN) +diff -ur root-6.24.02.orig/tutorials/dataframe/df015_LazyDataSource.C root-6.24.02/tutorials/dataframe/df015_LazyDataSource.C +--- root-6.24.02.orig/tutorials/dataframe/df015_LazyDataSource.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df015_LazyDataSource.C 2021-08-11 03:55:11.593150545 +0200 +@@ -14,7 +14,6 @@ + /// From the ROOT website: https://root.cern.ch/files/tutorials/tdf014_CsvDataSource_MuRun2010B.csv + /// + /// \macro_code +-/// \macro_image + /// + /// \date February 2018 + /// \author Danilo Piparo (CERN) +diff -ur root-6.24.02.orig/tutorials/dataframe/df016_vecOps.C root-6.24.02/tutorials/dataframe/df016_vecOps.C +--- root-6.24.02.orig/tutorials/dataframe/df016_vecOps.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df016_vecOps.C 2021-08-11 03:55:11.656150702 +0200 +@@ -7,7 +7,6 @@ + /// stored in datasets, a situation very common in HEP data analysis. + /// + /// \macro_code +-/// \macro_image + /// + /// \date February 2018 + /// \author Danilo Piparo (CERN) +diff -ur root-6.24.02.orig/tutorials/dataframe/df016_vecOps.py root-6.24.02/tutorials/dataframe/df016_vecOps.py +--- root-6.24.02.orig/tutorials/dataframe/df016_vecOps.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df016_vecOps.py 2021-08-11 03:55:11.720150862 +0200 +@@ -6,7 +6,6 @@ + ## This tutorial shows the potential of the VecOps approach for treating collections + ## stored in datasets, a situation very common in HEP data analysis. + ## +-## \macro_image + ## \macro_code + ## + ## \date February 2018 +diff -ur root-6.24.02.orig/tutorials/dataframe/df017_vecOpsHEP.C root-6.24.02/tutorials/dataframe/df017_vecOpsHEP.C +--- root-6.24.02.orig/tutorials/dataframe/df017_vecOpsHEP.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df017_vecOpsHEP.C 2021-08-11 03:55:11.783151020 +0200 +@@ -11,7 +11,6 @@ + /// greater than 100. + /// + /// \macro_code +-/// \macro_image + /// + /// \date March 2018 + /// \authors Danilo Piparo (CERN), Andre Vieira Silva +diff -ur root-6.24.02.orig/tutorials/dataframe/df017_vecOpsHEP.py root-6.24.02/tutorials/dataframe/df017_vecOpsHEP.py +--- root-6.24.02.orig/tutorials/dataframe/df017_vecOpsHEP.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df017_vecOpsHEP.py 2021-08-11 03:55:11.846151177 +0200 +@@ -7,7 +7,6 @@ + ## model typically adopted in HEP for analysis. + ## + ## \macro_code +-## \macro_image + ## + ## \date March 2018 + ## \authors Danilo Piparo (CERN), Andre Vieira Silva +diff -ur root-6.24.02.orig/tutorials/dataframe/df019_Cache.C root-6.24.02/tutorials/dataframe/df019_Cache.C +--- root-6.24.02.orig/tutorials/dataframe/df019_Cache.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df019_Cache.C 2021-08-11 03:55:11.910151337 +0200 +@@ -18,7 +18,6 @@ + /// only when the event loop is triggered on it. + /// + /// \macro_code +-/// \macro_image + /// + /// \date June 2018 + /// \author Danilo Piparo (CERN) +diff -ur root-6.24.02.orig/tutorials/dataframe/df019_Cache.py root-6.24.02/tutorials/dataframe/df019_Cache.py +--- root-6.24.02.orig/tutorials/dataframe/df019_Cache.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df019_Cache.py 2021-08-11 03:55:11.973151495 +0200 +@@ -18,7 +18,6 @@ + ## only when the event loop is triggered on it. + ## + ## \macro_code +-## \macro_image + ## + ## \date June 2018 + ## \author Danilo Piparo (CERN) +diff -ur root-6.24.02.orig/tutorials/dataframe/df021_createTGraph.C root-6.24.02/tutorials/dataframe/df021_createTGraph.C +--- root-6.24.02.orig/tutorials/dataframe/df021_createTGraph.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df021_createTGraph.C 2021-08-11 03:55:12.037151655 +0200 +@@ -4,7 +4,6 @@ + /// Fill a TGraph using RDataFrame. + /// + /// \macro_code +-/// \macro_image + /// + /// \date July 2018 + /// \authors Enrico Guiraud, Danilo Piparo (CERN), Massimo Tumolo (Politecnico di Torino) +diff -ur root-6.24.02.orig/tutorials/dataframe/df021_createTGraph.py root-6.24.02/tutorials/dataframe/df021_createTGraph.py +--- root-6.24.02.orig/tutorials/dataframe/df021_createTGraph.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/dataframe/df021_createTGraph.py 2021-08-11 03:55:12.100151813 +0200 +@@ -4,7 +4,6 @@ + ## Fill a TGraph using RDataFrame. + ## + ## \macro_code +-## \macro_image + ## + ## \date July 2018 + ## \authors Enrico Guiraud, Danilo Piparo (CERN), Massimo Tumolo (Politecnico di Torino) +diff -ur root-6.24.02.orig/tutorials/tmva/tmva003_RReader.C root-6.24.02/tutorials/tmva/tmva003_RReader.C +--- root-6.24.02.orig/tutorials/tmva/tmva003_RReader.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/tmva/tmva003_RReader.C 2021-08-11 04:16:33.833359421 +0200 @@ -5,7 +5,6 @@ /// TMVA XML files. /// @@ -9,9 +207,9 @@ diff -ur root-6.22.00.orig/tutorials/tmva/tmva003_RReader.C root-6.22.00/tutoria /// /// \date July 2019 /// \author Stefan Wunsch -diff -ur root-6.22.00.orig/tutorials/tmva/tmva103_Application.C root-6.22.00/tutorials/tmva/tmva103_Application.C ---- root-6.22.00.orig/tutorials/tmva/tmva103_Application.C 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tutorials/tmva/tmva103_Application.C 2020-07-09 18:58:36.855733122 +0200 +diff -ur root-6.24.02.orig/tutorials/tmva/tmva103_Application.C root-6.24.02/tutorials/tmva/tmva103_Application.C +--- root-6.24.02.orig/tutorials/tmva/tmva103_Application.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/tmva/tmva103_Application.C 2021-08-11 21:56:49.387390340 +0200 @@ -6,7 +6,6 @@ /// event-by-event inference, batch inference and pipelines with RDataFrame. /// @@ -20,9 +218,42 @@ diff -ur root-6.22.00.orig/tutorials/tmva/tmva103_Application.C root-6.22.00/tut /// /// \date December 2018 /// \author Stefan Wunsch -diff -ur root-6.22.00.orig/tutorials/v7/line.cxx root-6.22.00/tutorials/v7/line.cxx ---- root-6.22.00.orig/tutorials/v7/line.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tutorials/v7/line.cxx 2020-07-09 18:58:42.202745047 +0200 +diff -ur root-6.24.02.orig/tutorials/tmva/TMVA_CNN_Classification.C root-6.24.02/tutorials/tmva/TMVA_CNN_Classification.C +--- root-6.24.02.orig/tutorials/tmva/TMVA_CNN_Classification.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/tmva/TMVA_CNN_Classification.C 2021-08-10 15:21:03.306171069 +0200 +@@ -6,7 +6,6 @@ + /// This is an example of using a CNN in TMVA. We do classification using a toy image data set + /// that is generated when running the example macro + /// +-/// \macro_image + /// \macro_output + /// \macro_code + /// +diff -ur root-6.24.02.orig/tutorials/tmva/TMVA_Higgs_Classification.C root-6.24.02/tutorials/tmva/TMVA_Higgs_Classification.C +--- root-6.24.02.orig/tutorials/tmva/TMVA_Higgs_Classification.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/tmva/TMVA_Higgs_Classification.C 2021-08-10 15:21:33.974251559 +0200 +@@ -7,7 +7,6 @@ + /// used in this paper: Baldi, P., P. Sadowski, and D. Whiteson. “Searching for Exotic Particles in High-energy Physics + /// with Deep Learning.” Nature Communications 5 (July 2, 2014). + /// +-/// \macro_image + /// \macro_output + /// \macro_code + /// +diff -ur root-6.24.02.orig/tutorials/tmva/TMVA_RNN_Classification.C root-6.24.02/tutorials/tmva/TMVA_RNN_Classification.C +--- root-6.24.02.orig/tutorials/tmva/TMVA_RNN_Classification.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/tmva/TMVA_RNN_Classification.C 2021-08-10 15:21:15.657203486 +0200 +@@ -6,7 +6,6 @@ + /// This is an example of using a RNN in TMVA. We do classification using a toy time dependent data set + /// that is generated when running this example macro + /// +-/// \macro_image + /// \macro_output + /// \macro_code + /// +diff -ur root-6.24.02.orig/tutorials/v7/line.cxx root-6.24.02/tutorials/v7/line.cxx +--- root-6.24.02.orig/tutorials/v7/line.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/v7/line.cxx 2021-08-16 14:25:32.528867781 +0200 @@ -6,7 +6,6 @@ /// "normal" coordinates' system and changing the line color linearly from black /// to red. @@ -31,3 +262,14 @@ diff -ur root-6.22.00.orig/tutorials/v7/line.cxx root-6.22.00/tutorials/v7/line. /// \macro_code /// /// \date 2018-03-18 +diff -ur root-6.24.02.orig/tutorials/v7/ntuple/ntpl005_introspection.C root-6.24.02/tutorials/v7/ntuple/ntpl005_introspection.C +--- root-6.24.02.orig/tutorials/v7/ntuple/ntpl005_introspection.C 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tutorials/v7/ntuple/ntpl005_introspection.C 2021-08-10 15:22:06.504336763 +0200 +@@ -4,7 +4,6 @@ + /// Write and read an RNTuple from a user-defined class. Adapted from tv3.C + /// Illustrates various RNTuple introspection methods. + /// +-/// \macro_image + /// \macro_code + /// + /// \date April 2020 diff --git a/root-doxygen-endof-part2.patch b/root-doxygen-endof-part2.patch deleted file mode 100644 index a32b39f..0000000 --- a/root-doxygen-endof-part2.patch +++ /dev/null @@ -1,978 +0,0 @@ -From 1198ee3e08c46d1edc9258dbe857f66340f53a20 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Wed, 8 Jul 2020 10:39:54 +0200 -Subject: [PATCH 2/5] Fix various "end of ..." warnings from doxygen. - -This addresses warnings like: - -- end of comment block while expecting command -- end of comment block while expecting command -- end of comment block while expecting command -- end of comment block while expecting command -- end of comment block while expecting command -- end of comment block while expecting command -- end of comment block while expecting command -- end of list marker found without any preceding list items -- found tag without matching -- found tag without matching
  • -- found tag without matching
    -- found  tag while expecting 
    -- found  tag without matching 
    -- found  tag without matching 
    -- found  tag without matching 
    , append an opening
    -+/// Prepend a closing \, append an opening \
    - 
    - Bool_t TDocHtmlDirective::GetResult(TString& result)
    - {
    -diff --git a/math/mathcore/inc/Math/ProbFuncMathCore.h b/math/mathcore/inc/Math/ProbFuncMathCore.h
    -index d751c47a36..16e205347c 100644
    ---- a/math/mathcore/inc/Math/ProbFuncMathCore.h
    -+++ b/math/mathcore/inc/Math/ProbFuncMathCore.h
    -@@ -41,8 +41,8 @@ namespace Math {
    -    * These names are currently kept for backward compatibility, but
    -    * their usage is deprecated.
    -    *
    --   *  These functions are defined in the header file Math/ProbFunc.h or in the global one
    --   *  including all statistical functions Math/DistFunc.h
    -+   *  These functions are defined in the header file Math/ProbFunc.h or in the global one
    -+   *  including all statistical functions Math/DistFunc.h
    -    *
    -    */
    - 
    -@@ -727,8 +727,8 @@ namespace Math {
    -    first or the second momentum of the truncated distribution.
    -    In the case of the Landau, first and second momentum functions are provided for the Landau
    -    distribution truncated only on the right side.
    --   These functions are defined in the header file Math/ProbFunc.h or in the global one
    --   including all statistical functions Math/StatFunc.h
    -+   These functions are defined in the header file Math/ProbFunc.h or in the global one
    -+   including all statistical functions Math/StatFunc.h
    - 
    -    */
    - 
    -diff --git a/math/mathcore/inc/Math/QuantFuncMathCore.h b/math/mathcore/inc/Math/QuantFuncMathCore.h
    -index 7da5bd1178..1be023b33f 100644
    ---- a/math/mathcore/inc/Math/QuantFuncMathCore.h
    -+++ b/math/mathcore/inc/Math/QuantFuncMathCore.h
    -@@ -41,8 +41,8 @@ namespace Math {
    -    *
    -    *  \f[ D(x) = \int_{x}^{+\infty} p(x') dx' \f]
    -    *
    --   *  These functions are defined in the header file Math/ProbFunc.h or in the global one
    --   *  including all statistical functions Math/DistFunc.h
    -+   *  These functions are defined in the header file Math/ProbFunc.h or in the global one
    -+   *  including all statistical functions Math/DistFunc.h
    -    *
    -    *
    -    * NOTE: In the old releases (< 5.14) the _quantile functions were called
    -diff --git a/math/mathcore/src/TMath.cxx b/math/mathcore/src/TMath.cxx
    -index 49a81d56f7..ba8799b570 100644
    ---- a/math/mathcore/src/TMath.cxx
    -+++ b/math/mathcore/src/TMath.cxx
    -@@ -857,7 +857,7 @@ Double_t TMath::KolmogorovTest(Int_t na, const Double_t *a, Int_t nb, const Doub
    - /// \f[
    - /// lorentz(xx) = \frac{ \frac{1}{\pi} \frac{lg}{2} }{ (xx^{2} + \frac{lg^{2}}{4}) }
    - /// \f]
    --/// .
    -+/// \.
    - ///
    - /// The Voigt function is known to be the real part of Faddeeva function also
    - /// called complex error function [2].
    -diff --git a/math/mathmore/inc/Math/GSLMultiRootFinder.h b/math/mathmore/inc/Math/GSLMultiRootFinder.h
    -index 42069d2387..b7efe4157d 100644
    ---- a/math/mathmore/inc/Math/GSLMultiRootFinder.h
    -+++ b/math/mathmore/inc/Math/GSLMultiRootFinder.h
    -@@ -69,23 +69,23 @@ namespace Math {
    -      documentation )
    -      are the followings:
    -      
      --
    • ROOT::Math::GSLMultiRootFinder::kHybridSJ with name "HybridSJ": modified Powell's hybrid -+
    • ROOT::Math::GSLMultiRootFinder::kHybridSJ with name "HybridSJ": modified Powell's hybrid - method as implemented in HYBRJ in MINPACK --
    • ROOT::Math::GSLMultiRootFinder::kHybridJ with name "HybridJ": unscaled version of the -+
    • ROOT::Math::GSLMultiRootFinder::kHybridJ with name "HybridJ": unscaled version of the - previous algorithm
    • --
    • ROOT::Math::GSLMultiRootFinder::kNewton with name "Newton": Newton method
    • --
    • ROOT::Math::GSLMultiRootFinder::kGNewton with name "GNewton": modified Newton method
    • -+
    • ROOT::Math::GSLMultiRootFinder::kNewton with name "Newton": Newton method
    • -+
    • ROOT::Math::GSLMultiRootFinder::kGNewton with name "GNewton": modified Newton method
    • -
    - The algorithms without derivatives (see also the GSL - documentation ) - are the followings: -
      --
    • ROOT::Math::GSLMultiRootFinder::kHybridS with name "HybridS": same as HybridSJ but using -+
    • ROOT::Math::GSLMultiRootFinder::kHybridS with name "HybridS": same as HybridSJ but using - finate difference approximation for the derivatives
    • --
    • ROOT::Math::GSLMultiRootFinder::kHybrid with name "Hybrid": unscaled version of the -+
    • ROOT::Math::GSLMultiRootFinder::kHybrid with name "Hybrid": unscaled version of the - previous algorithm
    • --
    • ROOT::Math::GSLMultiRootFinder::kDNewton with name "DNewton": discrete Newton algorithm
    • --
    • ROOT::Math::GSLMultiRootFinder::kBroyden with name "Broyden": Broyden algorithm
    • -+
    • ROOT::Math::GSLMultiRootFinder::kDNewton with name "DNewton": discrete Newton algorithm
    • -+
    • ROOT::Math::GSLMultiRootFinder::kBroyden with name "Broyden": Broyden algorithm
    • -
    - - @ingroup MultiRoot -diff --git a/math/matrix/doc/Matrix.md b/math/matrix/doc/Matrix.md -index f53b29ca0b..c484c27c72 100644 ---- a/math/matrix/doc/Matrix.md -+++ b/math/matrix/doc/Matrix.md -@@ -325,7 +325,7 @@ constructor - C=A*B
    - A*=B
    - C.Mult(A,B)
    TMatrixD(A,TMatrixD::kMult,B)
    TMatrixD(A, TMatrixD(A, TMatrixD::kTransposeMult,B)
    TMatrixD(A, TMatrixD::kMultTranspose,B) -- overwrites A
     
     
    constructor of A.B
    constructor of AT .B
    constructor of A.BT -+ overwrites A
     
     
    constructor of A·B
    constructor of AT·B
    constructor of A·BT - - - Element wise multiplication -diff --git a/math/minuit/src/TMinuit.cxx b/math/minuit/src/TMinuit.cxx -index df3e563a73..18a6437c68 100644 ---- a/math/minuit/src/TMinuit.cxx -+++ b/math/minuit/src/TMinuit.cxx -@@ -187,11 +187,11 @@ the error matrix, or setting of exact confidence levels see: - - 1. F.James. - Determining the statistical Significance of experimental Results. -- Technical Report DD/81/02 and CERN Report 81-03, CERN, 1981.
  • -+ Technical Report DD/81/02 and CERN Report 81-03, CERN, 1981. - - 2. W.T.Eadie, D.Drijard, F.James, M.Roos, and B.Sadoulet. - Statistical Methods in Experimental Physics. -- North-Holland, 1971. -+ North-Holland, 1971. - - ### Reliability of MINUIT error estimates. - -diff --git a/montecarlo/eg/src/TDatabasePDG.cxx b/montecarlo/eg/src/TDatabasePDG.cxx -index 23c32e9668..85e9fe2a6d 100644 ---- a/montecarlo/eg/src/TDatabasePDG.cxx -+++ b/montecarlo/eg/src/TDatabasePDG.cxx -@@ -46,7 +46,7 @@ Root.DatabasePDG: $(HOME)/my_pdg_table.txt - See TParticlePDG for the description of a static particle properties. - See TParticle for the description of a dynamic particle particle. - --
    The current default pdg_table file displays lifetime 0 for some unstable particles.
    -+The current default pdg_table file displays lifetime 0 for some unstable particles. - - */ - -diff --git a/montecarlo/vmc/README.md b/montecarlo/vmc/README.md -index dc66ec401f..c731b26e92 100644 ---- a/montecarlo/vmc/README.md -+++ b/montecarlo/vmc/README.md -@@ -43,7 +43,7 @@ See more detailed description in [the dedicated README](README.multiple.md). - ## Authors - - The concept of Virtual MonteCarlo has been developed by the [ALICE Software Project](http://aliceinfo.cern.ch/Offline/).
    --Authors: R.Brun1, F.Carminati1, A. Gheata1, I.Hrivnacova2, A.Morsch1, B.Volkel1;
    -+Authors: R. Brun1, F. Carminati1, A. Gheata1, I. Hrivnacova2, A. Morsch1, B. Volkel1;
    - 1European Organization for Nuclear Research (CERN), Geneva, Switzerland;
    - 2Institut de Physique Nucléaire dʼOrsay (IPNO), Université Paris-Sud, CNRS-IN2P3, Orsay, France - -diff --git a/net/http/civetweb/LICENSE.md b/net/http/civetweb/LICENSE.md -index ab049e3e72..b6bb8ff037 100644 ---- a/net/http/civetweb/LICENSE.md -+++ b/net/http/civetweb/LICENSE.md -@@ -180,10 +180,6 @@ Duktape License - - https://github.com/svaarala/duktape/blob/master/LICENSE.txt - --> =============== --> Duktape license --> =============== --> - > (http://opensource.org/licenses/MIT) - > - > Copyright (c) 2013-2017 by Duktape authors (see AUTHORS.rst) -diff --git a/proof/proof/src/TProofMgr.cxx b/proof/proof/src/TProofMgr.cxx -index 2a140e4e7a..e41b637a15 100644 ---- a/proof/proof/src/TProofMgr.cxx -+++ b/proof/proof/src/TProofMgr.cxx -@@ -775,26 +775,29 @@ void TProofMgr::ReplaceSubdirs(const char *fn, TString &fdst, TList &dirph) - /// Upload files provided via the list 'src' (as TFileInfo or TObjString) - /// to 'mss'. The path under 'mss' is determined by 'dest'; the following - /// place-holders can be used in 'dest': --/// , , , ... referring to the n-th sub-component --/// of the src path --/// basename in the source path --/// basename sans extension --/// Extension --/// serial number of file in the list --/// as but zero padded --/// the full file path --/// , the local user and group names. --/// the users PROOF group --/// immediate parent directory --/// next-to immediate parent directory -+/// -+/// Place-holder | Meaning | -+/// ----------------------------|------------------------------------ -+/// \, \, \, ... | referring to the n-th sub-component of the src path -+/// \ | basename in the source path -+/// \ | basename sans extension -+/// \ | Extension -+/// \ | serial number of file in the list -+/// \ | as \ but zero padded -+/// \ | the full file path -+/// \, \ | the local user and group names. -+/// \ | the users PROOF group -+/// \ | immediate parent directory -+/// \ | next-to immediate parent directory -+/// - /// So, for example, if the source filename for the 99-th file is - /// protosrc://host//d0/d1/d2/d3/d4/d5/myfile --/// then with dest = '/pool/user/////' and -+/// then with dest = '/pool/user/\/\/\/\/\' and - /// mss = 'protodst://hostdst//nm/ - /// the corresponding destination path is - /// protodst://hostdst//nm/pool/user/d3/d4/d5/99/myfile - /// --/// If 'dest' is empty, is used. -+/// If 'dest' is empty, \ is used. - /// - /// Returns a TFileCollection with the destination files created; this - /// TFileCollection is, for example, ready to be registered as dataset. -@@ -966,20 +969,23 @@ TFileCollection *TProofMgr::UploadFiles(TList *src, - /// line, with line beginning by '#' ignored (i.e. considered comments). - /// The path under 'mss' is defined by 'dest'; the following - /// place-holders can be used in 'dest': --/// , , , ... referring to the n-th sub-component --/// of the src path --/// basename in the source path --/// serial number of file in the list --/// the full file path --/// , the local user and group names. -+/// -+/// Place-holder | Meaning | -+/// ----------------------------|------------------------------------ -+/// \, \, \, ... | referring to the n-th sub-component of the src path -+/// \ | basename in the source path -+/// \ | serial number of file in the list -+/// \ | the full file path -+/// \, \ | the local user and group names. -+/// - /// So, for example, if the source filename for the 99-th file is - /// protosrc://host//d0/d1/d2/d3/d4/d5/myfile --/// then with dest = '/pool/user/////' and -+/// then with dest = '/pool/user/\/\/\/\/\' and - /// mss = 'protodst://hostdst//nm/ - /// the corresponding destination path is - /// protodst://hostdst//nm/pool/user/d3/d4/d5/99/myfile - /// --/// If 'dest' is empty, is used. -+/// If 'dest' is empty, \ is used. - /// - /// Returns a TFileCollection with the destination files created; this - /// TFileCollection is, for example, ready to be registered as dataset. -diff --git a/proof/proof/src/TProofServ.cxx b/proof/proof/src/TProofServ.cxx -index 24c521743d..3697f257a0 100644 ---- a/proof/proof/src/TProofServ.cxx -+++ b/proof/proof/src/TProofServ.cxx -@@ -6696,11 +6696,11 @@ Int_t TProofServ::Fork() - } - - //////////////////////////////////////////////////////////////////////////////// --/// Replace , , , , , , , and --/// placeholders in fname. --/// Here, is the root version in integer form, e.g. 53403, and a --/// string includign version, architecture and compiler version, e.g. --/// '53403_linuxx8664gcc_gcc46' . -+/// Replace \, \, \, \, \, \, \, -+/// \ and \ placeholders in fname. -+/// Here, \ is the root version in integer form, e.g. 53403, and -+/// \ a string includign version, architecture and compiler version, -+/// e.g. '53403_linuxx8664gcc_gcc46' . - - void TProofServ::ResolveKeywords(TString &fname, const char *path) - { -diff --git a/roofit/histfactory/doc/index.md b/roofit/histfactory/doc/index.md -index 32f1c551a4..9256a9cf11 100644 ---- a/roofit/histfactory/doc/index.md -+++ b/roofit/histfactory/doc/index.md -@@ -41,12 +41,11 @@ it is organized as follows (see the examples in `${ROOTSYS}/tutorials/histfactor -
  • several 'Measurements' (corresponding to a full fit of the model) each of which specifies
  • -
      -
    • a name for this fit to be used in tables and files
    • --
        --
      • what is the luminosity associated to the measurement in picobarns
      • --
      • which bins of the histogram should be used
      • --
      • what is the relative uncertainty on the luminosity
      • --
      • what is (are) the parameter(s) of interest that will be measured
      • --
      • which parameters should be fixed/floating (eg. nuisance parameters)
      • -+
      • what is the luminosity associated to the measurement in picobarns
      • -+
      • which bins of the histogram should be used
      • -+
      • what is the relative uncertainty on the luminosity
      • -+
      • what is (are) the parameter(s) of interest that will be measured
      • -+
      • which parameters should be fixed/floating (eg. nuisance parameters)
      • -
      -
    - -diff --git a/roofit/histfactory/src/MakeModelAndMeasurementsFast.cxx b/roofit/histfactory/src/MakeModelAndMeasurementsFast.cxx -index e14e63ec89..73a3f627ba 100644 ---- a/roofit/histfactory/src/MakeModelAndMeasurementsFast.cxx -+++ b/roofit/histfactory/src/MakeModelAndMeasurementsFast.cxx -@@ -92,12 +92,11 @@ using namespace RooFit; -
  • several 'Measurements' (corresponding to a full fit of the model) each of which specifies
  • -
      -
    • a name for this fit to be used in tables and files
    • --
        --
      • what is the luminosity associated to the measurement in picobarns
      • --
      • which bins of the histogram should be used
      • --
      • what is the relative uncertainty on the luminosity
      • --
      • what is (are) the parameter(s) of interest that will be measured
      • --
      • which parameters should be fixed/floating (eg. nuisance parameters)
      • -+
      • what is the luminosity associated to the measurement in picobarns
      • -+
      • which bins of the histogram should be used
      • -+
      • what is the relative uncertainty on the luminosity
      • -+
      • what is (are) the parameter(s) of interest that will be measured
      • -+
      • which parameters should be fixed/floating (eg. nuisance parameters)
      • -
      -
    - -diff --git a/roofit/roofitcore/inc/RooAbsCategory.h b/roofit/roofitcore/inc/RooAbsCategory.h -index a7eaf8772a..4f0937a99d 100644 ---- a/roofit/roofitcore/inc/RooAbsCategory.h -+++ b/roofit/roofitcore/inc/RooAbsCategory.h -@@ -199,7 +199,7 @@ protected: - return hasIndex(_currentIndex); - } - -- /// If a category depends on the shape of others, *i.e.*, its state numbers or names depend -+ /// If a category depends on the shape of others, i.e.\ its state numbers or names depend - /// on the states of other categories, this function has to be implemented to recompute - /// _stateNames and _insertionOrder. - /// If one of these two changes, setShapeDirty() has to be called to propagate this information -diff --git a/roofit/roofitcore/src/RooSimPdfBuilder.cxx b/roofit/roofitcore/src/RooSimPdfBuilder.cxx -index 4c8289523d..57ea1e9196 100644 ---- a/roofit/roofitcore/src/RooSimPdfBuilder.cxx -+++ b/roofit/roofitcore/src/RooSimPdfBuilder.cxx -@@ -99,7 +99,7 @@ - /// PDF for each state of the C index category. - ///

    - ///
    -diff --git a/tmva/tmva/src/Factory.cxx b/tmva/tmva/src/Factory.cxx -index eda1b9ca1a..866aad0e18 100644 ---- a/tmva/tmva/src/Factory.cxx -+++ b/tmva/tmva/src/Factory.cxx -@@ -683,9 +683,9 @@ void TMVA::Factory::WriteDataInformation(DataSetInfo& fDataSetInfo) - } - - //////////////////////////////////////////////////////////////////////////////// --/// Iterates through all booked methods and sees if they use parameter tuning and if so.. --/// does just that i.e. calls "Method::Train()" for different parameter settings and --/// keeps in mind the "optimal one"... and that's the one that will later on be used -+/// Iterates through all booked methods and sees if they use parameter tuning and if so -+/// does just that, i.e.\ calls "Method::Train()" for different parameter settings and -+/// keeps in mind the "optimal one"...\ and that's the one that will later on be used - /// in the main training loop. - - std::map TMVA::Factory::OptimizeAllMethods(TString fomType, TString fitType) -diff --git a/tmva/tmva/src/Reader.cxx b/tmva/tmva/src/Reader.cxx -index 56d65bb9bf..b34ee9f1de 100644 ---- a/tmva/tmva/src/Reader.cxx -+++ b/tmva/tmva/src/Reader.cxx -@@ -594,7 +594,7 @@ const std::vector< Float_t >& TMVA::Reader::EvaluateRegression( const TString& m - //////////////////////////////////////////////////////////////////////////////// - /// evaluates the regression MVA - /// check for NaN in event data: (note: in the factory, this check was done already at the creation of the datasets, hence --/// it is not again checked in each of these subsequent calls.. -+/// it is not again checked in each of these subsequent calls. - - const std::vector< Float_t >& TMVA::Reader::EvaluateRegression( MethodBase* method, Double_t /*aux*/ ) - { -@@ -660,7 +660,7 @@ const std::vector< Float_t >& TMVA::Reader::EvaluateMulticlass( const TString& m - //////////////////////////////////////////////////////////////////////////////// - /// evaluates the multiclass MVA - /// check for NaN in event data: (note: in the factory, this check was done already at the creation of the datasets, hence --/// it is not again checked in each of these subsequent calls.. -+/// it is not again checked in each of these subsequent calls. - - const std::vector< Float_t >& TMVA::Reader::EvaluateMulticlass( MethodBase* method, Double_t /*aux*/ ) - { -diff --git a/tree/dataframe/inc/ROOT/RDF/RColumnValue.hxx b/tree/dataframe/inc/ROOT/RDF/RColumnValue.hxx -index 17527ac16d..497dd3d5c6 100644 ---- a/tree/dataframe/inc/ROOT/RDF/RColumnValue.hxx -+++ b/tree/dataframe/inc/ROOT/RDF/RColumnValue.hxx -@@ -93,7 +93,7 @@ class R__CLING_PTRCHECK(off) RColumnValue { - /// Enumerator for the different properties of the branch storage in memory - enum class EStorageType : char { kContiguous, kUnknown, kSparse }; - /// Signal whether we ever checked that the branch we are reading with a TTreeReaderArray stores array elements -- /// in contiguous memory. Only used when T == RVec. -+ /// in contiguous memory. Only used when T == RVec\. - EStorageType fStorageType = EStorageType::kUnknown; - /// If MustUseRVec, i.e. we are reading an array, we return a reference to this RVec to clients - RVec fRVec; -diff --git a/tutorials/net/udpserver.c b/tutorials/net/udpserver.c -index c54685400e..a74f6f0a85 100644 ---- a/tutorials/net/udpserver.c -+++ b/tutorials/net/udpserver.c -@@ -4,7 +4,7 @@ - - /* Converted to echo client/server with select() (timeout option). - See testTUDPSocket.C */ --/* Compile with: gcc udpserver.c -o udpserver -+/* Compile with: gcc udpserver.c -o udpserver */ - /* on Windows: cl -nologo -Z7 -MD -GR -EHsc udpserver.c */ - /* 3/30/05 John Schultz */ - -diff --git a/tutorials/tmva/TMVA_CNN_Classification.C b/tutorials/tmva/TMVA_CNN_Classification.C -index 47f26368d9..89373a8887 100644 ---- a/tutorials/tmva/TMVA_CNN_Classification.C -+++ b/tutorials/tmva/TMVA_CNN_Classification.C -@@ -22,7 +22,7 @@ - /// Helper function to create input images data - /// we create a signal and background 2D histograms from 2d gaussians - /// with a location (means in X and Y) different for each event --/// The difference between signal and background is in the gaussian width.. -+/// The difference between signal and background is in the gaussian width. - /// The width for the bakground gaussian is slightly larger than the signal width by few % values - /// - /// --- -2.26.2 - diff --git a/root-doxygen-filenames.patch b/root-doxygen-filenames.patch deleted file mode 100644 index d891a7f..0000000 --- a/root-doxygen-filenames.patch +++ /dev/null @@ -1,378 +0,0 @@ -From 116be70d2786a3fecdfcd6445d06ad6f3768f5a6 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Fri, 3 Jul 2020 08:08:33 +0200 -Subject: [PATCH 1/5] Fix \file references in doxygen markup - ---- - core/base/v7/inc/ROOT/RDirectory.hxx | 2 +- - core/base/v7/inc/ROOT/RDirectoryEntry.hxx | 2 +- - core/base/v7/inc/ROOT/RError.hxx | 2 +- - core/base/v7/inc/ROOT/RIndexIter.hxx | 2 +- - core/base/v7/inc/ROOT/RLogger.hxx | 2 +- - core/base/v7/inc/ROOT/RTupleApply.hxx | 2 +- - core/base/v7/inc/ROOT/impl_tuple_apply.hxx | 2 +- - core/base/v7/src/RLogger.cxx | 2 +- - core/clingutils/test/TClingUtilsTests.cxx | 2 +- - core/foundation/inc/ROOT/RNotFn.hxx | 2 +- - core/foundation/inc/ROOT/RSpan.hxx | 2 +- - core/foundation/inc/ROOT/span.hxx | 2 +- - core/foundation/src/FoundationUtils.cxx | 2 +- - gui/browsable/inc/ROOT/Browsable/RItem.hxx | 2 +- - gui/browsable/src/RHistDraw7Provider.cxx | 2 +- - gui/browsable/src/RSysFile.cxx | 2 +- - gui/browserv7/inc/ROOT/RBrowserReply.hxx | 2 +- - hist/hist/test/TFormulaGradientTests.cxx | 2 +- - hist/histdrawv7/inc/ROOT/RHistDrawable.hxx | 2 +- - hist/histv7/inc/ROOT/RAxis.hxx | 2 +- - hist/histv7/inc/ROOT/RAxisConfig.hxx | 2 +- - hist/histv7/inc/ROOT/RHist.hxx | 2 +- - hist/histv7/inc/ROOT/RHistBinIter.hxx | 2 +- - hist/histv7/inc/ROOT/RHistBufferedFill.hxx | 2 +- - hist/histv7/inc/ROOT/RHistConcurrentFill.hxx | 2 +- - hist/histv7/inc/ROOT/RHistData.hxx | 2 +- - hist/histv7/inc/ROOT/RHistImpl.hxx | 2 +- - hist/histv7/inc/ROOT/RHistUtils.hxx | 2 +- - hist/histv7/inc/ROOT/RHistView.hxx | 2 +- - io/io/v7/inc/ROOT/RFile.hxx | 2 +- - math/mathcore/test/CladDerivatorTests.cxx | 2 +- - math/mathcore/v7/inc/ROOT/RFit.hxx | 2 +- - tmva/tmva/inc/TMVA/NeuralNet.h | 2 +- - 33 files changed, 33 insertions(+), 33 deletions(-) - -diff --git a/core/base/v7/inc/ROOT/RDirectory.hxx b/core/base/v7/inc/ROOT/RDirectory.hxx -index 5331f91144..6d1a4b0541 100644 ---- a/core/base/v7/inc/ROOT/RDirectory.hxx -+++ b/core/base/v7/inc/ROOT/RDirectory.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RDirectory.h -+/// \file ROOT/RDirectory.hxx - /// \ingroup Base ROOT7 - /// \author Axel Naumann - /// \date 2015-07-31 -diff --git a/core/base/v7/inc/ROOT/RDirectoryEntry.hxx b/core/base/v7/inc/ROOT/RDirectoryEntry.hxx -index a7258bc642..1a33e5003a 100644 ---- a/core/base/v7/inc/ROOT/RDirectoryEntry.hxx -+++ b/core/base/v7/inc/ROOT/RDirectoryEntry.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RDirectoryEntry.h -+/// \file ROOT/RDirectoryEntry.hxx - /// \ingroup Base ROOT7 - /// \author Axel Naumann - /// \date 2015-07-31 -diff --git a/core/base/v7/inc/ROOT/RError.hxx b/core/base/v7/inc/ROOT/RError.hxx -index 7a0d363e7f..6af7a38f01 100644 ---- a/core/base/v7/inc/ROOT/RError.hxx -+++ b/core/base/v7/inc/ROOT/RError.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RError.h -+/// \file ROOT/RError.hxx - /// \ingroup Base ROOT7 - /// \author Jakob Blomer - /// \date 2019-12-11 -diff --git a/core/base/v7/inc/ROOT/RIndexIter.hxx b/core/base/v7/inc/ROOT/RIndexIter.hxx -index 1e290d82c8..fc424fdb8d 100644 ---- a/core/base/v7/inc/ROOT/RIndexIter.hxx -+++ b/core/base/v7/inc/ROOT/RIndexIter.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RIndexIter.h -+/// \file ROOT/RIndexIter.hxx - /// \ingroup Base ROOT7 - /// \author Axel Naumann - /// \date 2016-01-19 -diff --git a/core/base/v7/inc/ROOT/RLogger.hxx b/core/base/v7/inc/ROOT/RLogger.hxx -index c1852656ee..d4e3e6e7bd 100644 ---- a/core/base/v7/inc/ROOT/RLogger.hxx -+++ b/core/base/v7/inc/ROOT/RLogger.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/TLogger.h -+/// \file ROOT/RLogger.hxx - /// \ingroup Base ROOT7 - /// \author Axel Naumann - /// \date 2015-03-29 -diff --git a/core/base/v7/inc/ROOT/RTupleApply.hxx b/core/base/v7/inc/ROOT/RTupleApply.hxx -index 9a80bfcd6f..995246505f 100644 ---- a/core/base/v7/inc/ROOT/RTupleApply.hxx -+++ b/core/base/v7/inc/ROOT/RTupleApply.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RTupleApply.h -+/// \file ROOT/RTupleApply.hxx - /// \ingroup Base StdExt ROOT7 - /// \author Axel Naumann - /// \date 2015-09-06 -diff --git a/core/base/v7/inc/ROOT/impl_tuple_apply.hxx b/core/base/v7/inc/ROOT/impl_tuple_apply.hxx -index dc12706906..68d6988f97 100644 ---- a/core/base/v7/inc/ROOT/impl_tuple_apply.hxx -+++ b/core/base/v7/inc/ROOT/impl_tuple_apply.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/impl_tuple_apply.h -+/// \file ROOT/impl_tuple_apply.hxx - /// \ingroup Base StdExt ROOT7 - /// \author Axel Naumann - /// \date 2015-07-09 -diff --git a/core/base/v7/src/RLogger.cxx b/core/base/v7/src/RLogger.cxx -index 69aba0b05c..3ac8bb760f 100644 ---- a/core/base/v7/src/RLogger.cxx -+++ b/core/base/v7/src/RLogger.cxx -@@ -1,4 +1,4 @@ --/// \file TLogger.cxx -+/// \file RLogger.cxx - /// \ingroup Base ROOT7 - /// \author Axel Naumann - /// \date 2015-07-07 -diff --git a/core/clingutils/test/TClingUtilsTests.cxx b/core/clingutils/test/TClingUtilsTests.cxx -index fca26705c3..fbc12cd352 100644 ---- a/core/clingutils/test/TClingUtilsTests.cxx -+++ b/core/clingutils/test/TClingUtilsTests.cxx -@@ -1,4 +1,4 @@ --/// \file TClingUtilsTest.cxx -+/// \file TClingUtilsTests.cxx - /// - /// \brief The file contain unit tests which test the TClingUtils.h - /// -diff --git a/core/foundation/inc/ROOT/RNotFn.hxx b/core/foundation/inc/ROOT/RNotFn.hxx -index a6dd13679e..a3877797f3 100644 ---- a/core/foundation/inc/ROOT/RNotFn.hxx -+++ b/core/foundation/inc/ROOT/RNotFn.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RNotFn.h -+/// \file ROOT/RNotFn.hxx - /// \ingroup Base StdExt - /// \author Danilo Piparo, Enrico Guiraud - /// \date 2018-01-19 -diff --git a/core/foundation/inc/ROOT/RSpan.hxx b/core/foundation/inc/ROOT/RSpan.hxx -index 9e356493e6..b7366d58e7 100644 ---- a/core/foundation/inc/ROOT/RSpan.hxx -+++ b/core/foundation/inc/ROOT/RSpan.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RSpan.h -+/// \file ROOT/RSpan.hxx - /// \ingroup Base StdExt - /// \author Axel Naumann - /// \date 2015-09-06 -diff --git a/core/foundation/inc/ROOT/span.hxx b/core/foundation/inc/ROOT/span.hxx -index ce1b0e1d96..185055bbe6 100644 ---- a/core/foundation/inc/ROOT/span.hxx -+++ b/core/foundation/inc/ROOT/span.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/rhysd_span.h -+/// \file ROOT/span.hxx - /// \ingroup Base StdExt - /// \author Axel Naumann - /// \date 2015-09-06 -diff --git a/core/foundation/src/FoundationUtils.cxx b/core/foundation/src/FoundationUtils.cxx -index 9de395698b..d70e196130 100644 ---- a/core/foundation/src/FoundationUtils.cxx -+++ b/core/foundation/src/FoundationUtils.cxx -@@ -1,4 +1,4 @@ --/// \file FoundationUtils.hxx -+/// \file FoundationUtils.cxx - /// - /// \brief The file contains utilities which are foundational and could be used - /// across the core component of ROOT. -diff --git a/gui/browsable/inc/ROOT/Browsable/RItem.hxx b/gui/browsable/inc/ROOT/Browsable/RItem.hxx -index a07870a2cb..290587013e 100644 ---- a/gui/browsable/inc/ROOT/Browsable/RItem.hxx -+++ b/gui/browsable/inc/ROOT/Browsable/RItem.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RBrowser.hxx -+/// \file ROOT/RItem.hxx - /// \ingroup WebGui ROOT7 - /// \author Bertrand Bellenot - /// \author Sergey Linev -diff --git a/gui/browsable/src/RHistDraw7Provider.cxx b/gui/browsable/src/RHistDraw7Provider.cxx -index 416db22472..e2e15303c6 100644 ---- a/gui/browsable/src/RHistDraw7Provider.cxx -+++ b/gui/browsable/src/RHistDraw7Provider.cxx -@@ -1,4 +1,4 @@ --/// \file RDrawableRHist.cxx -+/// \file RHistDraw7Provider.cxx - /// \ingroup rbrowser - /// \author Bertrand Bellenot - /// \author Sergey Linev -diff --git a/gui/browsable/src/RSysFile.cxx b/gui/browsable/src/RSysFile.cxx -index d5f481cb83..4447164f52 100644 ---- a/gui/browsable/src/RSysFile.cxx -+++ b/gui/browsable/src/RSysFile.cxx -@@ -6,7 +6,7 @@ - * For the list of contributors see $ROOTSYS/README/CREDITS. * - *************************************************************************/ - --/// \file ROOT/RFileBrowsable.cxx -+/// \file ROOT/RSysFile.cxx - /// \ingroup rbrowser - /// \author Sergey Linev - /// \date 2019-10-15 -diff --git a/gui/browserv7/inc/ROOT/RBrowserReply.hxx b/gui/browserv7/inc/ROOT/RBrowserReply.hxx -index bdb94f60ea..35a2f1f978 100644 ---- a/gui/browserv7/inc/ROOT/RBrowserReply.hxx -+++ b/gui/browserv7/inc/ROOT/RBrowserReply.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RBrowserRequest.hxx -+/// \file ROOT/RBrowserReply.hxx - /// \ingroup WebGui ROOT7 - /// \author Bertrand Bellenot - /// \author Sergey Linev -diff --git a/hist/hist/test/TFormulaGradientTests.cxx b/hist/hist/test/TFormulaGradientTests.cxx -index 8c11a56077..74c0930f03 100644 ---- a/hist/hist/test/TFormulaGradientTests.cxx -+++ b/hist/hist/test/TFormulaGradientTests.cxx -@@ -1,4 +1,4 @@ --/// \file TFormulaGradientTests.h -+/// \file TFormulaGradientTests.cxx - /// - /// \brief The file contain unit tests which test the clad-based gradient - /// computations. -diff --git a/hist/histdrawv7/inc/ROOT/RHistDrawable.hxx b/hist/histdrawv7/inc/ROOT/RHistDrawable.hxx -index ac56b9c8f3..0b3b635d92 100644 ---- a/hist/histdrawv7/inc/ROOT/RHistDrawable.hxx -+++ b/hist/histdrawv7/inc/ROOT/RHistDrawable.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RHistDrawable.h -+/// \file ROOT/RHistDrawable.hxx - /// \ingroup HistDraw ROOT7 - /// \author Axel Naumann - /// \date 2015-07-09 -diff --git a/hist/histv7/inc/ROOT/RAxis.hxx b/hist/histv7/inc/ROOT/RAxis.hxx -index 1d35ed9b93..0371a06f97 100644 ---- a/hist/histv7/inc/ROOT/RAxis.hxx -+++ b/hist/histv7/inc/ROOT/RAxis.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RAxis.h -+/// \file ROOT/RAxis.hxx - /// \ingroup Hist ROOT7 - /// \author Axel Naumann - /// \date 2015-03-23 -diff --git a/hist/histv7/inc/ROOT/RAxisConfig.hxx b/hist/histv7/inc/ROOT/RAxisConfig.hxx -index 1e100986f0..34bf2f6a4a 100644 ---- a/hist/histv7/inc/ROOT/RAxisConfig.hxx -+++ b/hist/histv7/inc/ROOT/RAxisConfig.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RAxisConfig.h -+/// \file ROOT/RAxisConfig.hxx - /// \ingroup Hist ROOT7 - /// \author Axel Naumann - /// \date 2020-02-05 -diff --git a/hist/histv7/inc/ROOT/RHist.hxx b/hist/histv7/inc/ROOT/RHist.hxx -index ebb319f1ef..5567683b27 100644 ---- a/hist/histv7/inc/ROOT/RHist.hxx -+++ b/hist/histv7/inc/ROOT/RHist.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RHist.h -+/// \file ROOT/RHist.hxx - /// \ingroup Hist ROOT7 - /// \author Axel Naumann - /// \date 2015-03-23 -diff --git a/hist/histv7/inc/ROOT/RHistBinIter.hxx b/hist/histv7/inc/ROOT/RHistBinIter.hxx -index 60f57dd20e..ab77dfbeaa 100644 ---- a/hist/histv7/inc/ROOT/RHistBinIter.hxx -+++ b/hist/histv7/inc/ROOT/RHistBinIter.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RHistBinIter.h -+/// \file ROOT/RHistBinIter.hxx - /// \ingroup Hist ROOT7 - /// \author Axel Naumann - /// \date 2015-08-07 -diff --git a/hist/histv7/inc/ROOT/RHistBufferedFill.hxx b/hist/histv7/inc/ROOT/RHistBufferedFill.hxx -index bb1cade29b..8efe00e207 100644 ---- a/hist/histv7/inc/ROOT/RHistBufferedFill.hxx -+++ b/hist/histv7/inc/ROOT/RHistBufferedFill.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RHistBufferedFill.h -+/// \file ROOT/RHistBufferedFill.hxx - /// \ingroup Hist ROOT7 - /// \author Axel Naumann - /// \date 2015-07-03 -diff --git a/hist/histv7/inc/ROOT/RHistConcurrentFill.hxx b/hist/histv7/inc/ROOT/RHistConcurrentFill.hxx -index a6b4b6a8e2..8ff76eb659 100644 ---- a/hist/histv7/inc/ROOT/RHistConcurrentFill.hxx -+++ b/hist/histv7/inc/ROOT/RHistConcurrentFill.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RHistConcurrentFill.h -+/// \file ROOT/RHistConcurrentFill.hxx - /// \ingroup Hist ROOT7 - /// \author Axel Naumann - /// \date 2015-07-03 -diff --git a/hist/histv7/inc/ROOT/RHistData.hxx b/hist/histv7/inc/ROOT/RHistData.hxx -index 901bd5c33a..9757986ff4 100644 ---- a/hist/histv7/inc/ROOT/RHistData.hxx -+++ b/hist/histv7/inc/ROOT/RHistData.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RHistData.h -+/// \file ROOT/RHistData.hxx - /// \ingroup Hist ROOT7 - /// \author Axel Naumann - /// \date 2015-06-14 -diff --git a/hist/histv7/inc/ROOT/RHistImpl.hxx b/hist/histv7/inc/ROOT/RHistImpl.hxx -index 483d879f0e..b6d4b2c6b5 100644 ---- a/hist/histv7/inc/ROOT/RHistImpl.hxx -+++ b/hist/histv7/inc/ROOT/RHistImpl.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RHistImpl.h -+/// \file ROOT/RHistImpl.hxx - /// \ingroup Hist ROOT7 - /// \author Axel Naumann - /// \date 2015-03-23 -diff --git a/hist/histv7/inc/ROOT/RHistUtils.hxx b/hist/histv7/inc/ROOT/RHistUtils.hxx -index 3733113c2b..08a342bf61 100644 ---- a/hist/histv7/inc/ROOT/RHistUtils.hxx -+++ b/hist/histv7/inc/ROOT/RHistUtils.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RHistData.h -+/// \file ROOT/RHistUtils.hxx - /// \ingroup Hist ROOT7 - /// \author Axel Naumann - /// \date 2016-06-01 -diff --git a/hist/histv7/inc/ROOT/RHistView.hxx b/hist/histv7/inc/ROOT/RHistView.hxx -index b65d3518dd..d2b40e0f35 100644 ---- a/hist/histv7/inc/ROOT/RHistView.hxx -+++ b/hist/histv7/inc/ROOT/RHistView.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RHistView.h -+/// \file ROOT/RHistView.hxx - /// \ingroup Hist ROOT7 - /// \author Axel Naumann - /// \date 2015-08-06 -diff --git a/io/io/v7/inc/ROOT/RFile.hxx b/io/io/v7/inc/ROOT/RFile.hxx -index 6d3baaec05..c371a25875 100644 ---- a/io/io/v7/inc/ROOT/RFile.hxx -+++ b/io/io/v7/inc/ROOT/RFile.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RFile.h -+/// \file ROOT/RFile.hxx - /// \ingroup Base ROOT7 - /// \author Axel Naumann - /// \date 2015-07-31 -diff --git a/math/mathcore/test/CladDerivatorTests.cxx b/math/mathcore/test/CladDerivatorTests.cxx -index e4289a7286..d1682094e0 100644 ---- a/math/mathcore/test/CladDerivatorTests.cxx -+++ b/math/mathcore/test/CladDerivatorTests.cxx -@@ -1,4 +1,4 @@ --/// \file CladDerivator.h -+/// \file CladDerivatorTests.cxx - /// - /// \brief The file contain unit tests which test the CladDerivator facility. - /// -diff --git a/math/mathcore/v7/inc/ROOT/RFit.hxx b/math/mathcore/v7/inc/ROOT/RFit.hxx -index 4fae336242..5b92733152 100644 ---- a/math/mathcore/v7/inc/ROOT/RFit.hxx -+++ b/math/mathcore/v7/inc/ROOT/RFit.hxx -@@ -1,4 +1,4 @@ --/// \file ROOT/RFit.h -+/// \file ROOT/RFit.hxx - /// \ingroup MathCore ROOT7 - /// \author Axel Naumann - /// \date 2015-09-06 -diff --git a/tmva/tmva/inc/TMVA/NeuralNet.h b/tmva/tmva/inc/TMVA/NeuralNet.h -index 31229cb1cf..bae98a48b2 100644 ---- a/tmva/tmva/inc/TMVA/NeuralNet.h -+++ b/tmva/tmva/inc/TMVA/NeuralNet.h -@@ -1,5 +1,5 @@ - /** -- * @file NeuralNet -+ * @file TMVA/NeuralNet.h - * @author Peter Speckmayer - * @version 1.0 - * --- -2.26.2 - diff --git a/root-doxygen-macro-name.patch b/root-doxygen-macro-name.patch deleted file mode 100644 index a97bdf0..0000000 --- a/root-doxygen-macro-name.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8266262f76eaef4dc72ffda38e1d315be2ce3ff0 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Wed, 8 Jul 2020 19:41:34 +0200 -Subject: [PATCH 5/5] Make the name of macro match the filename - -Fixes: - -warning: Failed to call `rs302_JeffreysPriorDemo()` to execute the macro. -Add this function or rename the macro. Falling back to `.L`. ---- - tutorials/roostats/rs302_JeffreysPriorDemo.C | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tutorials/roostats/rs302_JeffreysPriorDemo.C b/tutorials/roostats/rs302_JeffreysPriorDemo.C -index c2f720a5f9..1c52e5dd83 100644 ---- a/tutorials/roostats/rs302_JeffreysPriorDemo.C -+++ b/tutorials/roostats/rs302_JeffreysPriorDemo.C -@@ -49,7 +49,7 @@ - - using namespace RooFit; - --void JeffreysPriorDemo() -+void rs302_JeffreysPriorDemo() - { - RooWorkspace w("w"); - w.factory("Uniform::u(x[0,1])"); --- -2.26.2 - diff --git a/root-doxygen-md-comments.patch b/root-doxygen-md-comments.patch deleted file mode 100644 index c1f57e2..0000000 --- a/root-doxygen-md-comments.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 7336caccd3288a9164c82b78053e8f4f59eb1a9c Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Sun, 12 Jul 2020 12:12:15 +0200 -Subject: [PATCH] Remove /** comments */ from md files - ---- - math/genvector/doc/Genvector.md | 7 ------- - math/genvector/doc/LorentzVector.md | 6 +----- - math/genvector/doc/Point3D.md | 6 ------ - math/genvector/doc/Transformation.md | 6 ------ - math/genvector/doc/Vector3D.md | 4 ---- - math/genvector/doc/VectorPoint2D.md | 6 ------ - math/genvector/doc/externalUsage.md | 6 ------ - math/mathcore/doc/MathCore.md | 5 ----- - math/mathmore/doc/MathMore.md | 5 ----- - math/matrix/doc/Matrix.md | 3 --- - math/unuran/doc/Unuran.md | 8 ++------ - 11 files changed, 3 insertions(+), 59 deletions(-) - -diff --git a/math/genvector/doc/Genvector.md b/math/genvector/doc/Genvector.md -index 12e4e47a93..50dc61b2ce 100644 ---- a/math/genvector/doc/Genvector.md -+++ b/math/genvector/doc/Genvector.md -@@ -1,5 +1,3 @@ --/** -- - \page Vector Generic Vector for 2, 3 and 4 Dimensions - - -@@ -113,8 +111,3 @@ A more detailed description of all the GenVector classes is available in this [d - 2. [CLHEP Geometry package](http://www.hep.phy.cam.ac.uk/lhcb/doc/CLHEP/1.9.1.2/html/namespaceH) - 3. [%ROOT Physics Vector classes](http://root.cern.ch/root/html/PHYSICS_Index.html) - 4. [CMS Vector package](http://lcgapp.cern.ch/doxygen/SEAL/snapshot/html/dir_000007.html) -- --* * * -- --*/ -- -diff --git a/math/genvector/doc/LorentzVector.md b/math/genvector/doc/LorentzVector.md -index b40ea8c69c..e01ed4a8ca 100644 ---- a/math/genvector/doc/LorentzVector.md -+++ b/math/genvector/doc/LorentzVector.md -@@ -1,6 +1,4 @@ --// LorentzVector doxygen page -- --/** \page LorentzVectorPage LorentzVector Classes -+\page LorentzVectorPage LorentzVector Classes - - To avoid exposing templated parameter to the users, typedefs are defined for all types of vectors based an double's and float's. To use them, one must include the header file _Math/Vector4D.h_. The following typedef's, defined in the header file _Math/Vector4Dfwd.h_, are available for the different instantiations of the template class ROOT::Math::LorentzVector: - -@@ -110,5 +108,3 @@ v.Beta(); // return beta and gamma value - v.Gamma() // (vector must be time-like otherwise result is meaningless) - XYZVector b = v.BoostToCM() // return boost vector which will bring the Vector in its mas frame (P=0) - -- --*/ -diff --git a/math/genvector/doc/Point3D.md b/math/genvector/doc/Point3D.md -index a273b182d4..db55c68752 100644 ---- a/math/genvector/doc/Point3D.md -+++ b/math/genvector/doc/Point3D.md -@@ -1,7 +1,3 @@ --// Point3d doxygen page -- --/** -- - \page Point3DPage Point3D Classes - - To avoid exposing templated parameter to the users, typedefs are defined for all types of vectors based an double's and float's. To use them, one must include the header file _Math/Point3D.h_. The following typedef's, defined in the header file _Math/Point3Dfwd.h_, are available for the different instantiations of the template class ROOT::Math::PositionVector3D: -@@ -61,5 +57,3 @@ Exactly as for the 3D Vectors, the following operations are allowed: - * comparison of points - * scaling and division of points with a scalar - * dot and cross product with any type of vector -- --*/ -diff --git a/math/genvector/doc/Transformation.md b/math/genvector/doc/Transformation.md -index 7e66107f55..edc36778ed 100644 ---- a/math/genvector/doc/Transformation.md -+++ b/math/genvector/doc/Transformation.md -@@ -1,7 +1,3 @@ --// Rotation and transformation doxygen page -- --/** -- - \page TransformPage Vector Transformations - - Transformations classes are grouped in Rotations (in 3 dimensions), Lorentz transformations and Poincarre transformations, which are Translation/Rotation combinations. Each group has several members which may model physically equivalent trasformations but with different internal representations. -@@ -114,5 +110,3 @@ Transform3D t; t.GetComponens(m); // fill matrix of size 3x4 with c - - - For more detailed documentation on all methods see the reference doc for the specific transformation class. -- --*/ -diff --git a/math/genvector/doc/Vector3D.md b/math/genvector/doc/Vector3D.md -index 4f65f6b603..9d10ce7db2 100644 ---- a/math/genvector/doc/Vector3D.md -+++ b/math/genvector/doc/Vector3D.md -@@ -1,5 +1,3 @@ --/** -- - \page Vector3DPage Vector3D Classes - - -@@ -120,5 +118,3 @@ Note that the multiplication between two vectors using the operator * is not sup - -
    XYZVector u = v1.Unit();               //  return unit vector parallel to v1
    - 
    -- --*/ -diff --git a/math/genvector/doc/VectorPoint2D.md b/math/genvector/doc/VectorPoint2D.md -index 5c5e665088..287f3f8b73 100644 ---- a/math/genvector/doc/VectorPoint2D.md -+++ b/math/genvector/doc/VectorPoint2D.md -@@ -1,7 +1,3 @@ --// Vector2d doxygen page -- --/** -- - \page Vector2DPage 2D Point and Vector Classes - - Similar to the \ref Vector3DPage and \ref Point3DPage , typedefs are defined to avoid exposing templated parameter to the users, for all 2D vectors based an double's and float's. To use them, one must include the header file _Math/Vector2D.h_ or _Math/Point2D.h_. The following typedef's, defined in the header file _Math/Vector2Dfwd.h_, are available for the different instantiations of the template class ROOT::Math::DisplacementVector2D: -@@ -19,5 +15,3 @@ The typedef's, defined in the header file _Math/Point2Dfwd.h_, available for the - * ROOT::Math::Polar2DPointF vector based on r,phi coordinates (polar) in float precision - - Similar constructs, functions and operations available for the 3D vectors and points (see \ref Vector3DPage and \ref Point3DPage ) are available also for the 2D vector and points. No transformations or rotation classes are available for the 2D vectors. -- --*/ -diff --git a/math/genvector/doc/externalUsage.md b/math/genvector/doc/externalUsage.md -index f8580225a5..4413bbafca 100644 ---- a/math/genvector/doc/externalUsage.md -+++ b/math/genvector/doc/externalUsage.md -@@ -1,7 +1,3 @@ --// example on using with exteral classes (doxygen page) -- --/** -- - \page ExtUsagePage Examples with External Packages - - ### Connection to Linear Algebra classes -@@ -48,5 +44,3 @@ XYZPoint p1(hp); // create a 3D Point from CLHEP geom - - CLHEP::HepLorentzVector hq; - XYZTVector q(hq); // create a LorentzVector from CLHEP L.V. -- --*/ -diff --git a/math/mathcore/doc/MathCore.md b/math/mathcore/doc/MathCore.md -index 4efc043cab..8d38b4ae19 100644 ---- a/math/mathcore/doc/MathCore.md -+++ b/math/mathcore/doc/MathCore.md -@@ -1,5 +1,3 @@ --/** -- - \defgroup MathCore MathCore - - \brief The Core Mathematical Library of %ROOT. See the \ref MathCorePage "MathCore" description page. -@@ -32,6 +30,3 @@ MathCore contains instead now classes which were originally part of _libCore_. T - * Other classes, such as - * TKDTree for partitioning the data using a kd-Tree and TKDTreeBinning for binning data using a kdTree - * ROOT::Math::GoFTest for goodness of fit tests -- -- --*/ -diff --git a/math/mathmore/doc/MathMore.md b/math/mathmore/doc/MathMore.md -index 28b3528a68..f30ef6d0be 100644 ---- a/math/mathmore/doc/MathMore.md -+++ b/math/mathmore/doc/MathMore.md -@@ -1,6 +1,3 @@ -- --/** -- - \defgroup MathMore MathMore - - \brief The Mathematical library providing some advanced functionality and based on GSL. See the \ref MathMorePage "MathMore" Library page. -@@ -32,5 +29,3 @@ To build MathMore you need to have first GSL installed somewhere in your system. - MathMore (and its %ROOT CINT dictionary) can be built within %ROOT whenever a GSL library is found in the system. Optionally the GSL library and header file location can be specified in the %ROOT configure script with _configure --with-gsl-incdir=... --with-gsl-libdir=..._ - MathMore links with the GSL static libraries. On some platform (like Linux x86-64) GSL needs to be compiled with the option _--with-pic_. - The source code of MathMore is distributed under the GNU General Public License -- --*/ -diff --git a/math/matrix/doc/Matrix.md b/math/matrix/doc/Matrix.md -index ed0d9fffe8..f0b9d7a06a 100644 ---- a/math/matrix/doc/Matrix.md -+++ b/math/matrix/doc/Matrix.md -@@ -1,6 +1,3 @@ --/** -- -- - \page MatrixPage The ROOT Matrix Linear Algebra classes. - - -diff --git a/math/unuran/doc/Unuran.md b/math/unuran/doc/Unuran.md -index d807c4e807..4c64e0d214 100644 ---- a/math/unuran/doc/Unuran.md -+++ b/math/unuran/doc/Unuran.md -@@ -1,9 +1,7 @@ --/** -- --Universal Non Uniform Random number generator for generating non uniform pseudo-random numbers -- - \defgroup Unuran Unuran - -+\brief Universal Non Uniform Random number generator for generating non uniform pseudo-random numbers. -+ - \ingroup Math - - UNU.RAN, (Universal Non Uniform Random number generator for generating non uniform pseudo-random numbers) -@@ -120,5 +118,3 @@ TRandom pointer when constructing the TUnuran class (by default the ROOT gRandom - - The (UNU.RAN documentation)[http://statistik.wu-wien.ac.at/unuran/doc/unuran.html#Top] provides a detailed - description of all the available methods and the possible options which one can pass to UNU.RAN for the various distributions. --*/ -- --- -2.26.2 - diff --git a/root-doxygen-missing-underscore.patch b/root-doxygen-missing-underscore.patch deleted file mode 100644 index 630d58f..0000000 --- a/root-doxygen-missing-underscore.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e6e6715a73fb8b65ee24c11ff08ca34e25db9ef1 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Wed, 8 Jul 2020 19:41:10 +0200 -Subject: [PATCH 4/5] Add missing underscore - ---- - tutorials/fit/vectorizedFit.C | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tutorials/fit/vectorizedFit.C b/tutorials/fit/vectorizedFit.C -index d6b13e2fa7..1f6e317aa6 100644 ---- a/tutorials/fit/vectorizedFit.C -+++ b/tutorials/fit/vectorizedFit.C -@@ -8,7 +8,7 @@ - /// TF1::SetVectorized - /// - /// \macro_image --/// \macro output -+/// \macro_output - /// \macro_code - /// - /// \author Lorenzo Moneta --- -2.26.2 - diff --git a/root-doxygen-parameter-names.patch b/root-doxygen-parameter-names.patch deleted file mode 100644 index 7cc7d2e..0000000 --- a/root-doxygen-parameter-names.patch +++ /dev/null @@ -1,1211 +0,0 @@ -From e65727913e435819a3fc26513d9892d179eab1f2 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Wed, 8 Jul 2020 19:32:51 +0200 -Subject: [PATCH 3/5] Adjust parameter names in doxygen markup so they match - the code - -Addresses warnings: - -argument '' of command @param is not found in the argument list -of . ---- - .../pythonizations/src/PyzPythonHelpers.cxx | 2 +- - bindings/r/inc/TRInterface.h | 4 +-- - hist/hist/src/TF1.cxx | 5 ++- - hist/hist/src/TGraph.cxx | 6 ++-- - hist/histpainter/src/TPainter3dAlgorithms.cxx | 6 ++-- - hist/histv7/inc/ROOT/RAxis.hxx | 11 +++---- - hist/histv7/inc/ROOT/RHist.hxx | 2 +- - hist/unfold/src/TUnfoldBinning.cxx | 24 +++++++------- - hist/unfold/src/TUnfoldBinningXML.cxx | 2 +- - hist/unfold/src/TUnfoldDensity.cxx | 2 +- - hist/unfold/src/TUnfoldSys.cxx | 7 ++-- - io/io/inc/ROOT/TBufferMerger.hxx | 2 +- - math/mathcore/inc/Math/IntegratorMultiDim.h | 2 +- - math/minuit2/inc/Minuit2/FCNBase.h | 4 +-- - math/minuit2/inc/Minuit2/FumiliChi2FCN.h | 2 +- - math/minuit2/inc/Minuit2/FumiliErrorUpdator.h | 2 +- - .../inc/Minuit2/FumiliMaximumLikelihoodFCN.h | 2 +- - roofit/roofit/src/RooExponential.cxx | 2 +- - roofit/roofit/src/RooGExpModel.cxx | 32 +++++++++---------- - roofit/roofit/src/RooGaussian.cxx | 2 +- - roofit/roofit/src/RooJohnson.cxx | 2 +- - roofit/roofit/src/RooLandau.cxx | 2 +- - roofit/roofitcore/src/BatchData.cxx | 2 +- - roofit/roofitcore/src/RooAbsPdf.cxx | 4 +-- - roofit/roofitcore/src/RooAbsReal.cxx | 2 +- - roofit/roofitcore/src/RooCustomizer.cxx | 4 +-- - roofit/roofitcore/src/RooDataHist.cxx | 4 +-- - roofit/roofitcore/src/RooDataSet.cxx | 10 +++--- - roofit/roofitcore/src/RooFormulaVar.cxx | 2 +- - roofit/roofitcore/src/RooSuperCategory.cxx | 2 +- - roofit/roofitmore/src/RooHypatia2.cxx | 6 ++-- - tmva/tmva/inc/TMVA/BDTEventWrapper.h | 4 +-- - tmva/tmva/inc/TMVA/NeuralNet.h | 14 +++----- - tmva/tmva/inc/TMVA/NeuralNet.icc | 2 +- - tmva/tmva/inc/TMVA/RTensor.hxx | 2 +- - .../inc/TMVA/TreeInference/BranchlessTree.hxx | 4 +-- - tmva/tmva/inc/TMVA/TreeInference/Forest.hxx | 2 +- - tmva/tmva/src/BDTEventWrapper.cxx | 2 +- - tmva/tmva/src/CrossValidation.cxx | 2 +- - tmva/tmva/src/CvSplit.cxx | 18 +++++------ - tmva/tmva/src/Envelope.cxx | 12 +++---- - tree/dataframe/inc/ROOT/RDF/RInterface.hxx | 16 +++++----- - tree/dataframe/inc/ROOT/RDFHelpers.hxx | 2 +- - tree/dataframe/inc/ROOT/RDataSource.hxx | 8 ++--- - tree/dataframe/inc/ROOT/RResultPtr.hxx | 2 +- - tree/dataframe/src/RArrowDS.cxx | 4 +-- - tree/tree/inc/TTree.h | 2 +- - tree/tree/src/TIOFeatures.cxx | 14 ++++---- - 48 files changed, 131 insertions(+), 140 deletions(-) - -diff --git a/bindings/pyroot/pythonizations/src/PyzPythonHelpers.cxx b/bindings/pyroot/pythonizations/src/PyzPythonHelpers.cxx -index 059debcee4..c5e354f300 100644 ---- a/bindings/pyroot/pythonizations/src/PyzPythonHelpers.cxx -+++ b/bindings/pyroot/pythonizations/src/PyzPythonHelpers.cxx -@@ -99,7 +99,7 @@ PyObject *PyROOT::GetDataPointer(PyObject * /*self*/, PyObject *args) - /// \brief Get endianess of the system - /// \param[in] self Always null, since this is a module function. - /// \param[in] args Pointer to an empty Python tuple. --/// \param[out] Endianess as Python string -+/// \return Endianess as Python string - /// - /// This function returns endianess of the system as a Python integer. The - /// return value is either '<' or '>' for little or big endian, respectively. -diff --git a/bindings/r/inc/TRInterface.h b/bindings/r/inc/TRInterface.h -index bdb559bfb5..e097007429 100644 ---- a/bindings/r/inc/TRInterface.h -+++ b/bindings/r/inc/TRInterface.h -@@ -206,7 +206,7 @@ namespace ROOT { - The command line arguments are by deafult argc=0 and argv=NULL, - The verbose mode is by default disabled but you can enable it to show procedures information in stdout/stderr \note some time can produce so much noise in the output - \param argc default 0 -- \param args default null -+ \param argv default null - \param loadRcpp default true - \param verbose default false - \param interactive default true -@@ -226,7 +226,7 @@ namespace ROOT { - /** - Method to eval R code and you get the result in a reference to TRObject - \param code R code -- \param ands reference to TRObject -+ \param ans reference to TRObject - \return an true or false if the execution was sucessful or not. - */ - Int_t Eval(const TString &code, TRObject &ans); // parse line, returns in ans; error code rc -diff --git a/hist/hist/src/TF1.cxx b/hist/hist/src/TF1.cxx -index a72b309c1e..0b7c0b5e45 100644 ---- a/hist/hist/src/TF1.cxx -+++ b/hist/hist/src/TF1.cxx -@@ -1973,12 +1973,11 @@ Double_t TF1::GetProb() const - /// F(x_{\frac{1}{2}}) = \prod(x < x_{\frac{1}{2}}) = \frac{1}{2} - /// \f] - /// --/// \param[in] this TF1 function - /// \param[in] nprobSum maximum size of array q and size of array probSum -+/// \param[out] q array filled with nq quantiles - /// \param[in] probSum array of positions where quantiles will be computed. - /// It is assumed to contain at least nprobSum values. --/// \param[out] return value nq (<=nprobSum) with the number of quantiles computed --/// \param[out] array q filled with nq quantiles -+/// \return value nq (<=nprobSum) with the number of quantiles computed - /// - /// Getting quantiles from two histograms and storing results in a TGraph, - /// a so-called QQ-plot -diff --git a/hist/hist/src/TGraph.cxx b/hist/hist/src/TGraph.cxx -index b6e05a4a9c..614c63d697 100644 ---- a/hist/hist/src/TGraph.cxx -+++ b/hist/hist/src/TGraph.cxx -@@ -1900,9 +1900,9 @@ Int_t TGraph::IsInside(Double_t x, Double_t y) const - /// Least squares polynomial fitting without weights. - /// - /// \param [in] m number of parameters --/// \param [in] ma array of parameters --/// \param [in] mfirst 1st point number to fit (default =0) --/// \param [in] mlast last point number to fit (default=fNpoints-1) -+/// \param [in] a array of parameters -+/// \param [in] xmin 1st point number to fit (default =0) -+/// \param [in] xmax last point number to fit (default=fNpoints-1) - /// - /// based on CERNLIB routine LSQ: Translated to C++ by Rene Brun - -diff --git a/hist/histpainter/src/TPainter3dAlgorithms.cxx b/hist/histpainter/src/TPainter3dAlgorithms.cxx -index e0dd1f28e4..a95ac36d2d 100644 ---- a/hist/histpainter/src/TPainter3dAlgorithms.cxx -+++ b/hist/histpainter/src/TPainter3dAlgorithms.cxx -@@ -3122,8 +3122,8 @@ L500: - /// Set light source - /// - /// \param[in] nl source number: 1 off all light sources, 0 set diffused light --/// \param[in] xl intensity of the light source --/// \param[in] xscr `yscr` `zscr` direction of the light (in respect of the screen) -+/// \param[in] yl intensity of the light source -+/// \param[in] xscr, yscr, zscr direction of the light (in respect of the screen) - /// - /// \param[out] irep reply (0 - O.K, -1 error) - -@@ -4074,7 +4074,7 @@ L500: - /// \param[in] qqa diffusion coefficient for diffused light [0.,1.] - /// \param[in] qqd diffusion coefficient for direct light [0.,1.] - /// \param[in] qqs diffusion coefficient for reflected light [0.,1.] --/// \param[in] nncs power coefficient for reflected light (.GE.1) -+/// \param[in] nnqs power coefficient for reflected light (.GE.1) - /// - /// Lightness model formula: Y = YD*QA + > YLi*(QD*cosNi+QS*cosRi) - /// -diff --git a/hist/histv7/inc/ROOT/RAxis.hxx b/hist/histv7/inc/ROOT/RAxis.hxx -index 0371a06f97..52ed88b9d8 100644 ---- a/hist/histv7/inc/ROOT/RAxis.hxx -+++ b/hist/histv7/inc/ROOT/RAxis.hxx -@@ -68,7 +68,7 @@ protected: - /// determine the bin number taking into account how over/underflow - /// should be handled. - /// -- /// \param[out] result status of the bin determination. -+ /// \param[in] rawbin for which to determine the bin number. - /// \return Returns the bin number adjusted for potential over- and underflow - /// bins. Returns `kInvalidBin` if the axis cannot handle the over- / underflow. - /// -@@ -390,7 +390,7 @@ protected: - /// Determine the inverse bin width. - /// \param nbinsNoOver - number of bins without unter-/overflow - /// \param lowOrHigh - first axis boundary -- /// \param lighOrLow - second axis boundary -+ /// \param highOrLow - second axis boundary - static double GetInvBinWidth(int nbinsNoOver, double lowOrHigh, double highOrLow) - { - return nbinsNoOver / std::fabs(highOrLow - lowOrHigh); -@@ -413,7 +413,7 @@ public: - - /// Initialize a RAxisEquidistant. - /// \param[in] title - axis title used for graphics and text representation. -- /// \param nbins - number of bins in the axis, excluding under- and overflow -+ /// \param nbinsNoOver - number of bins in the axis, excluding under- and overflow - /// bins. - /// \param low - the low axis range. Any coordinate below that is considered - /// as underflow. The first bin's lower edge is at this value. -@@ -427,13 +427,12 @@ public: - {} - - /// Initialize a RAxisEquidistant. -- /// \param nbins - number of bins in the axis, excluding under- and overflow -+ /// \param nbinsNoOver - number of bins in the axis, excluding under- and overflow - /// bins. - /// \param low - the low axis range. Any coordinate below that is considered - /// as underflow. The first bin's lower edge is at this value. - /// \param high - the high axis range. Any coordinate above that is considered - /// as overflow. The last bin's higher edge is at this value. -- /// \param canGrow - whether this axis can extend its range. - explicit RAxisEquidistant(int nbinsNoOver, double low, double high) noexcept - : RAxisEquidistant("", nbinsNoOver, low, high) - {} -@@ -505,6 +504,7 @@ struct AxisConfigToType { - class RAxisGrow: public RAxisEquidistant { - public: - /// Initialize a RAxisGrow. -+ /// \param[in] title - axis title used for graphics and text representation. - /// \param nbins - number of bins in the axis, excluding under- and overflow - /// bins. This value is fixed over the lifetime of the object. - /// \param low - the initial value for the low axis range. Any coordinate -@@ -518,7 +518,6 @@ public: - {} - - /// Initialize a RAxisGrow. -- /// \param[in] title - axis title used for graphics and text representation. - /// \param nbins - number of bins in the axis, excluding under- and overflow - /// bins. This value is fixed over the lifetime of the object. - /// \param low - the initial value for the low axis range. Any coordinate -diff --git a/hist/histv7/inc/ROOT/RHist.hxx b/hist/histv7/inc/ROOT/RHist.hxx -index 5567683b27..e2b7649975 100644 ---- a/hist/histv7/inc/ROOT/RHist.hxx -+++ b/hist/histv7/inc/ROOT/RHist.hxx -@@ -219,9 +219,9 @@ struct RHistImplGen { - /// - /// Delegate to the appropriate MakeNextAxis instantiation, depending on the - /// axis type selected in the RAxisConfig. -+ /// \param title - title of the derived object. - /// \param axes - `RAxisConfig` objects describing the axis of the resulting - /// RHistImpl. -- /// \param statConfig - the statConfig parameter to be passed to the RHistImpl - /// \param processedAxisArgs - the RAxisBase-derived axis objects describing the - /// axes of the resulting RHistImpl. There are `IDIM` of those; in the end - /// (`IDIM` == `GetNDim()`), all `axes` have been converted to -diff --git a/hist/unfold/src/TUnfoldBinning.cxx b/hist/unfold/src/TUnfoldBinning.cxx -index 3aecbf53c2..2500230dca 100644 ---- a/hist/unfold/src/TUnfoldBinning.cxx -+++ b/hist/unfold/src/TUnfoldBinning.cxx -@@ -205,7 +205,7 @@ Int_t TUnfoldBinning::UpdateFirstLastBin(Bool_t startWithRootNode) - /// Create a new node without axis. - /// - /// \param[in] name identifier of the node --/// \param[in] nBin number of unconnected bins (could be zero) -+/// \param[in] nBins number of unconnected bins (could be zero) - /// \param[in] binNames (optional) names of the bins separated by ';' - - TUnfoldBinning::TUnfoldBinning -@@ -241,7 +241,7 @@ TUnfoldBinning::TUnfoldBinning - /// Add a new binning node as last last child of this node. - /// - /// \param[in] name name of the node --/// \param[in] nBin number of extra bins -+/// \param[in] nBins number of extra bins - /// \param[in] binNames (optional) names of the bins separated by ';' - /// - /// this is a shortcut for AddBinning(new TUnfoldBinning(name,nBins,binNames)) -@@ -695,11 +695,11 @@ Int_t TUnfoldBinning::GetTH1xNumberOfBins - /// - /// \param[in] histogramName name of the histogram which is created - /// \param[in] originalAxisBinning if true, try to preserve the axis binning --/// \param[out] (default=0) binMap mapping of global bins to histogram bins. -+/// \param[out] binMap (default=0) mapping of global bins to histogram bins. - /// if(binMap==0), no binMap is created --/// \param[in] (default=0) histogramTitle title of the histogram. If zero, a title -+/// \param[in] histogramTitle (default=0) title of the histogram. If zero, a title - /// is selected automatically --/// \param[in] (default=0) axisSteering steer the handling of underflow/overflow -+/// \param[in] axisSteering (default=0) steer the handling of underflow/overflow - /// and projections - /// - /// returns a new histogram (TH1D, TH2D or TH3D) -@@ -789,11 +789,11 @@ TH1 *TUnfoldBinning::CreateHistogram - /// - /// \param[in] histogramName name of the histogram which is created - /// \param[in] originalAxisBinning if true, try to preserve the axis binning --/// \param[out] (default=0) binMap mapping of global bins to histogram bins. -+/// \param[out] binMap (default=0) mapping of global bins to histogram bins. - /// if(binMap==0), no binMap is created --/// \param[in] (default=0) histogramTitle title of the histogram. If zero, a title -+/// \param[in] histogramTitle (default=0) title of the histogram. If zero, a title - /// is selected automatically --/// \param[in] (default=0) axisSteering steer the handling of underflow/overflow -+/// \param[in] axisSteering (default=0) steer the handling of underflow/overflow - /// and projections - /// - /// returns a new TH2D. The options are described in greater detail -@@ -832,7 +832,7 @@ TH2D *TUnfoldBinning::CreateErrorMatrixHistogram - /// Create a TH2D histogram capable to hold the bins of the two - /// input binning schemes on the x and y axes, respectively. - /// --/// \paran[in] xAxis binning scheme for the x axis -+/// \param[in] xAxis binning scheme for the x axis - /// \param[in] yAxis binning scheme for the y axis - /// \param[in] histogramName name of the histogram which is created - /// \param[in] originalXAxisBinning preserve x-axis bin widths if possible -@@ -1053,8 +1053,8 @@ Int_t *TUnfoldBinning::CreateEmptyBinMap(void) const { - /// Set one entry in a bin map. - /// - /// \param[out] binMap to be used with TUnfoldSys::GetOutput() etc --/// \param[in] source bin, global bin number in this binning scheme --/// \param[in] destination bin in the output histogram -+/// \param[in] globalBin source bin, global bin number in this binning scheme -+/// \param[in] destBin destination bin in the output histogram - - void TUnfoldBinning::SetBinMapEntry - (Int_t *binMap,Int_t globalBin,Int_t destBin) const { -@@ -2075,7 +2075,7 @@ Int_t TUnfoldBinning::ToGlobalBin - /// and bin numbers on the corresponding axes. - /// - /// \param[in] globalBin global bin number --/// \param[out] local bin numbers of the distribution's axes -+/// \param[out] axisBins local bin numbers of the distribution's axes - /// - /// returns the distribution in which the globalBin is located - /// or 0 if the globalBin is outside this node and its children -diff --git a/hist/unfold/src/TUnfoldBinningXML.cxx b/hist/unfold/src/TUnfoldBinningXML.cxx -index 28ce408128..a1daf58215 100644 ---- a/hist/unfold/src/TUnfoldBinningXML.cxx -+++ b/hist/unfold/src/TUnfoldBinningXML.cxx -@@ -472,7 +472,7 @@ void TUnfoldBinningXML::AddAxisXML(TXMLNode *node) { - /// Export a binning scheme to a stream in XML format. - /// - /// \param[in] binning the binning scheme to export --/// \param[out] stream to write to -+/// \param[in] out stream to write to - /// \param[in] writeHeader set true when writing the first binning - /// scheme to this stream - /// \param[in] writeFooter set true when writing the last binning -diff --git a/hist/unfold/src/TUnfoldDensity.cxx b/hist/unfold/src/TUnfoldDensity.cxx -index 9b32da0961..78c7ddbf14 100644 ---- a/hist/unfold/src/TUnfoldDensity.cxx -+++ b/hist/unfold/src/TUnfoldDensity.cxx -@@ -1311,7 +1311,7 @@ const TUnfoldBinning *TUnfoldDensity::GetOutputBinning - /// \param[out] scanResult the scanned function wrt log(tau) - /// \param[in] mode 1st parameter for the scan function - /// \param[in] distribution 2nd parameter for the scan function --/// \param[in] projectionMode 3rd parameter for the scan function -+/// \param[in] axisSteering 3rd parameter for the scan function - /// \param[out] lCurvePlot for monitoring, shows the L-curve - /// \param[out] logTauXPlot for monitoring, L-curve(X) as a function of log(tau) - /// \param[out] logTauYPlot for monitoring, L-curve(Y) as a function of log(tau) -diff --git a/hist/unfold/src/TUnfoldSys.cxx b/hist/unfold/src/TUnfoldSys.cxx -index 42bbc7751c..1e89445cde 100644 ---- a/hist/unfold/src/TUnfoldSys.cxx -+++ b/hist/unfold/src/TUnfoldSys.cxx -@@ -463,7 +463,7 @@ Int_t TUnfoldSys::SetInput(const TH1 *hist_y,Double_t scaleBias, - /// \param[in] bgr background distribution with uncorrelated errors - /// \param[in] name identifier for this background source - /// \param[in] scale normalisation factor applied to the background --/// \param[in] scaleError normalisation uncertainty -+/// \param[in] scale_error normalisation uncertainty - /// - /// The contribution scale*bgr is subtracted from the - /// measurement prior to unfolding. The following contributions are -@@ -1045,7 +1045,6 @@ Bool_t TUnfoldSys::GetDeltaSysBackgroundScale - /// Correlated one-sigma shifts from shifting tau. - /// - /// \param[out] hist_delta histogram to store shifts --/// \param[in] source identifier of the background source - /// \param[in] binMap (default=0) remapping of histogram bins - /// - /// returns true if the background source was found. -@@ -1100,8 +1099,8 @@ void TUnfoldSys::GetEmatrixSysSource - //////////////////////////////////////////////////////////////////////////////// - /// Covariance contribution from background normalisation uncertainty. - /// --/// \param[inout] ematrix output histogram --/// \param[in] source identifier of the background source -+/// \param[in,out] ematrix output histogram -+/// \param[in] name identifier of the background source - /// \param[in] binMap (default=0) remapping of histogram bins - /// \param[in] clearEmat (default=true) if true, clear the histogram - /// prior to adding the covariance matrix contribution -diff --git a/io/io/inc/ROOT/TBufferMerger.hxx b/io/io/inc/ROOT/TBufferMerger.hxx -index 27fe36d399..5e4cfe52cb 100644 ---- a/io/io/inc/ROOT/TBufferMerger.hxx -+++ b/io/io/inc/ROOT/TBufferMerger.hxx -@@ -43,7 +43,7 @@ public: - /** Constructor - * @param name Output file name - * @param option Output file creation options -- * @param compression Output file compression level -+ * @param compress Output file compression level - */ - TBufferMerger(const char *name, Option_t *option = "RECREATE", Int_t compress = ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault); - -diff --git a/math/mathcore/inc/Math/IntegratorMultiDim.h b/math/mathcore/inc/Math/IntegratorMultiDim.h -index 0d2d56396e..7b14f96d8e 100644 ---- a/math/mathcore/inc/Math/IntegratorMultiDim.h -+++ b/math/mathcore/inc/Math/IntegratorMultiDim.h -@@ -60,7 +60,7 @@ public: - @param type integration type (adaptive, MC methods, etc..) - @param absTol desired absolute Error - @param relTol desired relative Error -- @param size maximum number of sub-intervals -+ @param ncall number of function calls (apply only to MC integratioon methods) - - In case no parameter values are passed the default ones used in IntegratorMultiDimOptions are used - */ -diff --git a/math/minuit2/inc/Minuit2/FCNBase.h b/math/minuit2/inc/Minuit2/FCNBase.h -index bf6c64bd9e..760df5b6f4 100644 ---- a/math/minuit2/inc/Minuit2/FCNBase.h -+++ b/math/minuit2/inc/Minuit2/FCNBase.h -@@ -65,7 +65,7 @@ public: - as it searches for the Minimum or performs whatever analysis is requested by - the user. - -- @param par function parameters as defined by the user. -+ @param v function parameters as defined by the user. - - @return the Value of the function. - -@@ -75,7 +75,7 @@ public: - - */ - -- virtual double operator()(const std::vector& x) const = 0; -+ virtual double operator()(const std::vector& v) const = 0; - - - /** -diff --git a/math/minuit2/inc/Minuit2/FumiliChi2FCN.h b/math/minuit2/inc/Minuit2/FumiliChi2FCN.h -index 6af985ef08..fac33baaf6 100644 ---- a/math/minuit2/inc/Minuit2/FumiliChi2FCN.h -+++ b/math/minuit2/inc/Minuit2/FumiliChi2FCN.h -@@ -62,7 +62,7 @@ public: - - Sets the model function for the data (for example gaussian+linear for a peak) - -- @param modelFunction a reference to the model function. -+ @param modelFCN a reference to the model function. - - */ - -diff --git a/math/minuit2/inc/Minuit2/FumiliErrorUpdator.h b/math/minuit2/inc/Minuit2/FumiliErrorUpdator.h -index 3eb5da9c36..4b620c57a8 100644 ---- a/math/minuit2/inc/Minuit2/FumiliErrorUpdator.h -+++ b/math/minuit2/inc/Minuit2/FumiliErrorUpdator.h -@@ -67,7 +67,7 @@ public: - - @param fGradientCalculator the Gradient calculator used to retrieved the Parameter transformation - -- @param fFumiliFCNBase the function calculating the figure of merit. -+ @param lambda the Marquard lambda factor - - - \todo Some nice latex mathematical formuli... -diff --git a/math/minuit2/inc/Minuit2/FumiliMaximumLikelihoodFCN.h b/math/minuit2/inc/Minuit2/FumiliMaximumLikelihoodFCN.h -index c6725ae350..1661bee94a 100644 ---- a/math/minuit2/inc/Minuit2/FumiliMaximumLikelihoodFCN.h -+++ b/math/minuit2/inc/Minuit2/FumiliMaximumLikelihoodFCN.h -@@ -61,7 +61,7 @@ public: - - Sets the model function for the data (for example gaussian+linear for a peak) - -- @param modelFunction a reference to the model function. -+ @param modelFCN a reference to the model function. - - */ - -diff --git a/roofit/roofit/src/RooExponential.cxx b/roofit/roofit/src/RooExponential.cxx -index dc211f5275..e16871c5eb 100644 ---- a/roofit/roofit/src/RooExponential.cxx -+++ b/roofit/roofit/src/RooExponential.cxx -@@ -102,7 +102,7 @@ void compute(size_t n, double* __restrict output, Tx x, Tc c) { - - //////////////////////////////////////////////////////////////////////////////// - /// Evaluate the exponential without normalising it on the given batch. --/// \param[in] batchIndex Index of the batch to be computed. -+/// \param[in] begin Index of the batch to be computed. - /// \param[in] batchSize Size of each batch. The last batch may be smaller. - /// \return A span with the computed values. - -diff --git a/roofit/roofit/src/RooGExpModel.cxx b/roofit/roofit/src/RooGExpModel.cxx -index 9c7f184b69..18f5688217 100644 ---- a/roofit/roofit/src/RooGExpModel.cxx -+++ b/roofit/roofit/src/RooGExpModel.cxx -@@ -48,10 +48,10 @@ ClassImp(RooGExpModel); - /// - /// \param[in] name Name of this instance. - /// \param[in] title Title (e.g. for plotting) --/// \param[in] x The convolution observable. --/// \param[in] mean The mean of the Gaussian. --/// \param[in] sigma Width of the Gaussian. --/// \param[in] rlife Lifetime constant \f$ \tau \f$. -+/// \param[in] xIn The convolution observable. -+/// \param[in] meanIn The mean of the Gaussian. -+/// \param[in] sigmaIn Width of the Gaussian. -+/// \param[in] rlifeIn Lifetime constant \f$ \tau \f$. - /// \param[in] meanSF Scale factor for mean. - /// \param[in] sigmaSF Scale factor for sigma. - /// \param[in] rlifeSF Scale factor for rlife. -@@ -81,9 +81,9 @@ RooGExpModel::RooGExpModel(const char *name, const char *title, RooAbsRealLValue - /// - /// \param[in] name Name of this instance. - /// \param[in] title Title (e.g. for plotting) --/// \param[in] x The convolution observable. --/// \param[in] sigma Width of the Gaussian. --/// \param[in] rlife Lifetime constant \f$ \tau \f$. -+/// \param[in] xIn The convolution observable. -+/// \param[in] _sigma Width of the Gaussian. -+/// \param[in] _rlife Lifetime constant \f$ \tau \f$. - /// \param[in] nlo Include next-to-leading order for higher accuracy of convolution. - /// \param[in] type Switch between normal and flipped model. - RooGExpModel::RooGExpModel(const char *name, const char *title, RooAbsRealLValue& xIn, -@@ -105,10 +105,10 @@ RooGExpModel::RooGExpModel(const char *name, const char *title, RooAbsRealLValue - /// - /// \param[in] name Name of this instance. - /// \param[in] title Title (e.g. for plotting) --/// \param[in] x The convolution observable. --/// \param[in] sigma Width of the Gaussian. --/// \param[in] rlife Lifetime constant \f$ \tau \f$. --/// \param[in] srSF Scale factor for both sigma and tau. -+/// \param[in] xIn The convolution observable. -+/// \param[in] _sigma Width of the Gaussian. -+/// \param[in] _rlife Lifetime constant \f$ \tau \f$. -+/// \param[in] _rsSF Scale factor for both sigma and tau. - /// \param[in] nlo Include next-to-leading order for higher accuracy of convolution. - /// \param[in] type Switch between normal and flipped model. - RooGExpModel::RooGExpModel(const char *name, const char *title, RooAbsRealLValue& xIn, -@@ -134,11 +134,11 @@ RooGExpModel::RooGExpModel(const char *name, const char *title, RooAbsRealLValue - /// - /// \param[in] name Name of this instance. - /// \param[in] title Title (e.g. for plotting) --/// \param[in] x The convolution observable. --/// \param[in] sigma Width of the Gaussian. --/// \param[in] rlife Lifetime constant \f$ \tau \f$. --/// \param[in] sigmaSF Scale factor for sigma. --/// \param[in] rlifeSF Scale factor for rlife. -+/// \param[in] xIn The convolution observable. -+/// \param[in] _sigma Width of the Gaussian. -+/// \param[in] _rlife Lifetime constant \f$ \tau \f$. -+/// \param[in] _sigmaSF Scale factor for sigma. -+/// \param[in] _rlifeSF Scale factor for rlife. - /// \param[in] nlo Include next-to-leading order for higher accuracy of convolution. - /// \param[in] type Switch between normal and flipped model. - RooGExpModel::RooGExpModel(const char *name, const char *title, RooAbsRealLValue& xIn, -diff --git a/roofit/roofit/src/RooGaussian.cxx b/roofit/roofit/src/RooGaussian.cxx -index 9d18be7354..aec93528ba 100644 ---- a/roofit/roofit/src/RooGaussian.cxx -+++ b/roofit/roofit/src/RooGaussian.cxx -@@ -92,7 +92,7 @@ void compute(RooSpan output, Tx x, TMean mean, TSig sigma) { - /// and if found, the computation will be batched over their - /// values. If batch data are not found for one of the proxies, the proxies value is assumed to - /// be constant over the batch. --/// \param[in] batchIndex Index of the batch to be computed. -+/// \param[in] begin Index of the batch to be computed. - /// \param[in] batchSize Size of each batch. The last batch may be smaller. - /// \return A span with the computed values. - -diff --git a/roofit/roofit/src/RooJohnson.cxx b/roofit/roofit/src/RooJohnson.cxx -index ba6686f698..1dd6de96b2 100644 ---- a/roofit/roofit/src/RooJohnson.cxx -+++ b/roofit/roofit/src/RooJohnson.cxx -@@ -153,7 +153,7 @@ void compute(RooSpan output, TMass mass, TMu mu, TLambda lambda, TGamma - /// and if found, the computation will be batched over their - /// values. If batch data are not found for one of the proxies, the proxies value is assumed to - /// be constant over the batch. --/// \param[in] batchIndex Index of the batch to be computed. -+/// \param[in] begin Index of the batch to be computed. - /// \param[in] maxSize Maximal size of the batches. May return smaller batches depending on inputs. - /// \return A span with the computed values. - -diff --git a/roofit/roofit/src/RooLandau.cxx b/roofit/roofit/src/RooLandau.cxx -index e59a923cf0..2dade45b3a 100644 ---- a/roofit/roofit/src/RooLandau.cxx -+++ b/roofit/roofit/src/RooLandau.cxx -@@ -169,7 +169,7 @@ void compute( size_t batchSize, - /// and if found, the computation will be batched over their - /// values. If batch data are not found for one of the proxies, the proxies value is assumed to - /// be constant over the batch. --/// \param[in] batchIndex Index of the batch to be computed. -+/// \param[in] begin Index of the batch to be computed. - /// \param[in] batchSize Size of each batch. The last batch may be smaller. - /// \return A span with the computed values. - -diff --git a/roofit/roofitcore/src/BatchData.cxx b/roofit/roofitcore/src/BatchData.cxx -index fd05343076..5bbe34e20b 100644 ---- a/roofit/roofitcore/src/BatchData.cxx -+++ b/roofit/roofitcore/src/BatchData.cxx -@@ -73,7 +73,7 @@ bool BatchData::setStatus(std::size_t begin, std::size_t size, Status_t stat, - /// Retrieve an existing batch. - /// - /// \param[in] begin Begin index of the batch. --/// \param[in] size Requested size. Batch may come out smaller than this. -+/// \param[in] maxSize Requested size. Batch may come out smaller than this. - /// \param[in] normSet Optional normSet pointer to distinguish differently normalised computations. - /// \param[in] ownerTag Optional owner tag. This avoids reusing batch memory for e.g. getVal() and getLogVal(). - /// \return Non-mutable contiguous batch data. -diff --git a/roofit/roofitcore/src/RooAbsPdf.cxx b/roofit/roofitcore/src/RooAbsPdf.cxx -index 9f68b1cdb7..9e7eb69e09 100644 ---- a/roofit/roofitcore/src/RooAbsPdf.cxx -+++ b/roofit/roofitcore/src/RooAbsPdf.cxx -@@ -711,7 +711,7 @@ bool checkInfNaNNeg(const T& inputs) { - - //////////////////////////////////////////////////////////////////////////////// - /// Scan through outputs and fix+log all nans and negative values. --/// \param[in/out] outputs Array to be scanned & fixed. -+/// \param[in,out] outputs Array to be scanned & fixed. - /// \param[in] begin Begin of event range. Only needed to print the correct event number - /// where the error occurred. - void RooAbsPdf::logBatchComputationErrors(RooSpan& outputs, std::size_t begin) const { -@@ -734,7 +734,7 @@ void RooAbsPdf::logBatchComputationErrors(RooSpan& outputs, std::s - /// Compute the log-likelihoods for all events in the requested batch. - /// The arguments are passed over to getValBatch(). - /// \param[in] begin Start of the batch. --/// \param[in] size Maximum size of the batch. Depending on data layout and memory, the batch -+/// \param[in] maxSize Maximum size of the batch. Depending on data layout and memory, the batch - /// may come back smaller. - /// \return Returns a batch of doubles that contains the log probabilities. - RooSpan RooAbsPdf::getLogValBatch(std::size_t begin, std::size_t maxSize, -diff --git a/roofit/roofitcore/src/RooAbsReal.cxx b/roofit/roofitcore/src/RooAbsReal.cxx -index 2d2ceeaf2d..6cac5f5897 100644 ---- a/roofit/roofitcore/src/RooAbsReal.cxx -+++ b/roofit/roofitcore/src/RooAbsReal.cxx -@@ -4294,7 +4294,7 @@ RooAbsMoment* RooAbsReal::moment(RooRealVar& obs, Int_t order, Bool_t central, B - /// \param[in] order Order of the moment - /// \param[in] central If true, the central moment is given by \f$ \langle (x- \langle x \rangle )^2 \rangle \f$ - /// \param[in] takeRoot Calculate the square root --/// \param[in] intNormOb If true, the moment of the function integrated over all normalization observables is returned. -+/// \param[in] intNormObs If true, the moment of the function integrated over all normalization observables is returned. - - RooAbsMoment* RooAbsReal::moment(RooRealVar& obs, const RooArgSet& normObs, Int_t order, Bool_t central, Bool_t takeRoot, Bool_t intNormObs) - { -diff --git a/roofit/roofitcore/src/RooCustomizer.cxx b/roofit/roofitcore/src/RooCustomizer.cxx -index 97d6d3176c..818991873d 100644 ---- a/roofit/roofitcore/src/RooCustomizer.cxx -+++ b/roofit/roofitcore/src/RooCustomizer.cxx -@@ -198,7 +198,7 @@ static Int_t init() - /// replaceArg() and splitArg() functionality. - /// \param[in] pdf Proto PDF to be customised. - /// \param[in] masterCat Category to be used for splitting. --/// \param[in/out] splitLeafs All nodes created in -+/// \param[in,out] splitLeafs All nodes created in - /// the customisation process are added to this set. - /// The user can provide nodes that are *taken* - /// from the set if they have a name that matches `_`. -@@ -209,7 +209,7 @@ static Int_t init() - /// auto yield1 = new RooFormulaVar("yieldSig_BBG1m2T","sigy1","M/3.360779",mass); - /// customisedLeafs.addOwned(*yield1); - /// ``` --/// \param[in/out] splitLeafsAll All leafs that are used when customising are collected here. -+/// \param[in,out] splitLeafsAll All leafs that are used when customising are collected here. - /// If this set already contains leaves, they will be used for customising if the names match - /// as above. - /// -diff --git a/roofit/roofitcore/src/RooDataHist.cxx b/roofit/roofitcore/src/RooDataHist.cxx -index 1c8b517b0d..8c90dd0ade 100644 ---- a/roofit/roofitcore/src/RooDataHist.cxx -+++ b/roofit/roofitcore/src/RooDataHist.cxx -@@ -632,8 +632,8 @@ void RooDataHist::_adjustBinning(RooRealVar &theirVar, const TAxis &axis, - /// observable to binning in given reference TH1. Used by constructors - /// that import data from an external TH1. - /// Both the variables in vars and in this RooDataHist are adjusted. --/// @param List with variables that are supposed to have their binning adjusted. --/// @param Reference histogram that dictates the binning -+/// @param vars List with variables that are supposed to have their binning adjusted. -+/// @param href Reference histogram that dictates the binning - /// @param offset If not nullptr, a possible bin count offset for the axes x,y,z is saved here as Int_t[3] - - void RooDataHist::adjustBinning(const RooArgList& vars, const TH1& href, Int_t* offset) -diff --git a/roofit/roofitcore/src/RooDataSet.cxx b/roofit/roofitcore/src/RooDataSet.cxx -index 1e54dfbde0..f03ec78a0d 100644 ---- a/roofit/roofitcore/src/RooDataSet.cxx -+++ b/roofit/roofitcore/src/RooDataSet.cxx -@@ -765,7 +765,7 @@ RooDataSet::RooDataSet(const char *name, const char *title, TTree *theTree, - /// - /// \param[in] name Name of this dataset. - /// \param[in] title Title for e.g. plotting. --/// \param[in] tree Tree to be imported. -+/// \param[in] theTree Tree to be imported. - /// \param[in] vars Defines the columns of the data set. For each dimension - /// specified, the TTree must have a branch with the same name. For category - /// branches, this branch should contain the numeric index value. Real dimensions -@@ -1205,11 +1205,11 @@ void RooDataSet::add(const RooArgSet& data, Double_t wgt, Double_t wgtError) - //////////////////////////////////////////////////////////////////////////////// - /// Add a data point, with its coordinates specified in the 'data' argset, to the data set. - /// Any variables present in 'data' but not in the dataset will be silently ignored. --/// \param[in] data Data point. --/// \param[in] wgt Event weight. The current value of the weight variable is ignored. -+/// \param[in] indata Data point. -+/// \param[in] inweight Event weight. The current value of the weight variable is ignored. - /// \note To obtain weighted events, a variable must be designated `WeightVar` in the constructor. --/// \param[in] wgtErrorLo Asymmetric weight error. --/// \param[in] wgtErrorHi Asymmetric weight error. -+/// \param[in] weightErrorLo Asymmetric weight error. -+/// \param[in] weightErrorHi Asymmetric weight error. - /// \note This requires including the weight variable in the set of `StoreAsymError` variables when constructing - /// the dataset. - -diff --git a/roofit/roofitcore/src/RooFormulaVar.cxx b/roofit/roofitcore/src/RooFormulaVar.cxx -index 90ee32d619..947c505598 100644 ---- a/roofit/roofitcore/src/RooFormulaVar.cxx -+++ b/roofit/roofitcore/src/RooFormulaVar.cxx -@@ -66,7 +66,7 @@ ClassImp(RooFormulaVar); - /// Constructor with formula expression and list of input variables. - /// \param[in] name Name of the formula. - /// \param[in] title Title of the formula. --/// \param[in] formula Expression to be evaluated. -+/// \param[in] inFormula Expression to be evaluated. - /// \param[in] dependents Variables that should be passed to the formula. - /// \param[in] checkVariables Check that all variables from `dependents` are used in the expression. - RooFormulaVar::RooFormulaVar(const char *name, const char *title, const char* inFormula, const RooArgList& dependents, -diff --git a/roofit/roofitcore/src/RooSuperCategory.cxx b/roofit/roofitcore/src/RooSuperCategory.cxx -index 4c0b705e50..e5668ffb98 100644 ---- a/roofit/roofitcore/src/RooSuperCategory.cxx -+++ b/roofit/roofitcore/src/RooSuperCategory.cxx -@@ -54,7 +54,7 @@ RooSuperCategory::RooSuperCategory() : - /// Construct a super category from other categories. - /// \param[in] name Name of this object - /// \param[in] title Title (for e.g. printing) --/// \param[in] inputCatList RooArgSet with category objects. These all need to derive from RooAbsCategoryLValue, *i.e.* -+/// \param[in] inputCategories RooArgSet with category objects. These all need to derive from RooAbsCategoryLValue, *i.e.* - /// one needs to be able to assign to them. - RooSuperCategory::RooSuperCategory(const char *name, const char *title, const RooArgSet& inputCategories) : - RooAbsCategoryLValue(name, title), -diff --git a/roofit/roofitmore/src/RooHypatia2.cxx b/roofit/roofitmore/src/RooHypatia2.cxx -index 691aa6073d..7d550b2753 100644 ---- a/roofit/roofitmore/src/RooHypatia2.cxx -+++ b/roofit/roofitmore/src/RooHypatia2.cxx -@@ -119,21 +119,21 @@ - /// \param[in] a2 Start of right tail. - /// \param[in] n2 Shape parameter of right tail (\f$ n2 \ge 0 \f$). With \f$ n2 = 0 \f$, the function is constant. - RooHypatia2::RooHypatia2(const char *name, const char *title, RooAbsReal& x, RooAbsReal& lambda, -- RooAbsReal& zeta, RooAbsReal& beta, RooAbsReal& sigm, RooAbsReal& mu, RooAbsReal& a, -+ RooAbsReal& zeta, RooAbsReal& beta, RooAbsReal& sigma, RooAbsReal& mu, RooAbsReal& a, - RooAbsReal& n, RooAbsReal& a2, RooAbsReal& n2) : - RooAbsPdf(name, title), - _x("x", "x", this, x), - _lambda("lambda", "Lambda", this, lambda), - _zeta("zeta", "zeta", this, zeta), - _beta("beta", "Asymmetry parameter beta", this, beta), -- _sigma("sigma", "Width parameter sigma", this, sigm), -+ _sigma("sigma", "Width parameter sigma", this, sigma), - _mu("mu", "Location parameter mu", this, mu), - _a("a", "Left tail location a", this, a), - _n("n", "Left tail parameter n", this, n), - _a2("a2", "Right tail location a2", this, a2), - _n2("n2", "Right tail parameter n2", this, n2) - { -- RooHelpers::checkRangeOfParameters(this, {&sigm}, 0.); -+ RooHelpers::checkRangeOfParameters(this, {&sigma}, 0.); - RooHelpers::checkRangeOfParameters(this, {&zeta, &n, &n2, &a, &a2}, 0., std::numeric_limits::max(), true); - if (zeta.getVal() == 0. && zeta.isConstant()) { - RooHelpers::checkRangeOfParameters(this, {&lambda}, -std::numeric_limits::max(), 0., false, -diff --git a/tmva/tmva/inc/TMVA/BDTEventWrapper.h b/tmva/tmva/inc/TMVA/BDTEventWrapper.h -index 7d4c4f8dd6..2c99341dd9 100644 ---- a/tmva/tmva/inc/TMVA/BDTEventWrapper.h -+++ b/tmva/tmva/inc/TMVA/BDTEventWrapper.h -@@ -40,14 +40,14 @@ namespace TMVA { - - // Set the accumulated weight, for sorted signal/background events - /** -- * @param fType - true for signal, false for background -+ * @param type - true for signal, false for background - * @param weight - the total weight - */ - void SetCumulativeWeight( Bool_t type, Double_t weight ); - - // Get the accumulated weight - /** -- * @param fType - true for signal, false for background -+ * @param type - true for signal, false for background - * @return the cumulative weight for sorted signal/background events - */ - Double_t GetCumulativeWeight( Bool_t type ) const; -diff --git a/tmva/tmva/inc/TMVA/NeuralNet.h b/tmva/tmva/inc/TMVA/NeuralNet.h -index bae98a48b2..a11b543b59 100644 ---- a/tmva/tmva/inc/TMVA/NeuralNet.h -+++ b/tmva/tmva/inc/TMVA/NeuralNet.h -@@ -478,10 +478,8 @@ namespace TMVA - * \param size size of the layer - * \param itWeightBegin indicates the start of the weights for this layer on the weight vector - * \param itGradientBegin indicates the start of the gradients for this layer on the gradient vector -- * \param itFunctionBegin indicates the start of the vector of activation functions for this layer on the -- * activation function vector -- * \param itInverseFunctionBegin indicates the start of the vector of activation functions for this -- * layer on the activation function vector -+ * \param activationFunction indicates activation functions for this layer -+ * \param inverseActivationFunction indicates the inverse activation functions for this layer - * \param eModeOutput indicates a potential tranformation of the output values before further computation - * DIRECT does not further transformation; SIGMOID applies a sigmoid transformation to each - * output value (to create a probability); SOFTMAX applies a softmax transformation to all -@@ -500,8 +498,7 @@ namespace TMVA - * - * \param size size of the layer - * \param itWeightBegin indicates the start of the weights for this layer on the weight vector -- * \param itFunctionBegin indicates the start of the vector of activation functions for this layer on the -- * activation function vector -+ * \param activationFunction indicates the activation function for this layer - * \param eModeOutput indicates a potential tranformation of the output values before further computation - * DIRECT does not further transformation; SIGMOID applies a sigmoid transformation to each - * output value (to create a probability); SOFTMAX applies a softmax transformation to all -@@ -679,9 +676,6 @@ namespace TMVA - /*! \brief c'tor for defining a Layer - * - * -- * \param itInputBegin indicates the start of the input node vector -- * \param itInputEnd indicates the end of the input node vector -- * - */ - Layer (size_t numNodes, EnumFunction activationFunction, ModeOutputValues eModeOutputValues = ModeOutputValues::DIRECT); - -@@ -1141,7 +1135,7 @@ namespace TMVA - - /*! \brief executes one training cycle - * -- * \param minimizier the minimizer to be used -+ * \param minimizer the minimizer to be used - * \param weights the weight vector to be used - * \param itPatternBegin the pattern to be trained with - * \param itPatternEnd the pattern to be trainied with -diff --git a/tmva/tmva/inc/TMVA/NeuralNet.icc b/tmva/tmva/inc/TMVA/NeuralNet.icc -index 95cad21e26..e511e49d43 100644 ---- a/tmva/tmva/inc/TMVA/NeuralNet.icc -+++ b/tmva/tmva/inc/TMVA/NeuralNet.icc -@@ -933,7 +933,7 @@ template - * \param minimizer the minimizer to be used (e.g. SGD) - * \param weights the weight container with all the synapse weights - * \param itPatternBegin begin of the pattern container -- * \parama itPatternEnd the end of the pattern container -+ * \param itPatternEnd the end of the pattern container - * \param settings the settings for this training (e.g. multithreading or not, regularization, etc.) - * \param dropContainer the data for dropping-out nodes (regularization technique) - */ -diff --git a/tmva/tmva/inc/TMVA/RTensor.hxx b/tmva/tmva/inc/TMVA/RTensor.hxx -index c131384ae2..7d9773b457 100644 ---- a/tmva/tmva/inc/TMVA/RTensor.hxx -+++ b/tmva/tmva/inc/TMVA/RTensor.hxx -@@ -73,7 +73,7 @@ inline std::vector ComputeStridesFromShape(const T &shape, MemoryLa - } - - /// \brief Compute indices from global index --/// \param[in] Shape vector -+/// \param[in] shape Shape vector - /// \param[in] idx Global index - /// \param[in] layout Memory layout - /// \return Indice vector -diff --git a/tmva/tmva/inc/TMVA/TreeInference/BranchlessTree.hxx b/tmva/tmva/inc/TMVA/TreeInference/BranchlessTree.hxx -index 4ac460be64..a1c6fdf773 100644 ---- a/tmva/tmva/inc/TMVA/TreeInference/BranchlessTree.hxx -+++ b/tmva/tmva/inc/TMVA/TreeInference/BranchlessTree.hxx -@@ -72,7 +72,7 @@ struct BranchlessTree { - /// Perform inference on a single input vector - /// \param[in] input Pointer to data containing the input values - /// \param[in] stride Stride to go from one input variable to the next one --/// \param[out] Tree score, result of the inference -+/// \return Tree score, result of the inference - template - inline T BranchlessTree::Inference(const T *input, const int stride) - { -@@ -105,7 +105,7 @@ inline void BranchlessTree::FillSparse() - /// - /// \param[in] funcName Name of the function - /// \param[in] typeName Name of the type used for the computation --/// \param[out] Code of the inference function as string -+/// \return Code of the inference function as string - template - inline std::string BranchlessTree::GetInferenceCode(const std::string& funcName, const std::string& typeName) - { -diff --git a/tmva/tmva/inc/TMVA/TreeInference/Forest.hxx b/tmva/tmva/inc/TMVA/TreeInference/Forest.hxx -index 70d1e3eb68..18b385a8e0 100644 ---- a/tmva/tmva/inc/TMVA/TreeInference/Forest.hxx -+++ b/tmva/tmva/inc/TMVA/TreeInference/Forest.hxx -@@ -195,7 +195,7 @@ struct BranchlessJittedForest : public ForestBase - inline std::string - BranchlessJittedForest::Load(const std::string &key, const std::string &filename, const int output, const bool sortTrees) -diff --git a/tmva/tmva/src/BDTEventWrapper.cxx b/tmva/tmva/src/BDTEventWrapper.cxx -index 63171c886b..9702660936 100644 ---- a/tmva/tmva/src/BDTEventWrapper.cxx -+++ b/tmva/tmva/src/BDTEventWrapper.cxx -@@ -48,7 +48,7 @@ BDTEventWrapper::~BDTEventWrapper() { - //////////////////////////////////////////////////////////////////////////////// - /// Set the accumulated weight, for sorted signal/background events - /// --/// @param fType - true for signal, false for background -+/// @param type - true for signal, false for background - /// @param weight - the total weight - - void BDTEventWrapper::SetCumulativeWeight(Bool_t type, Double_t weight) { -diff --git a/tmva/tmva/src/CrossValidation.cxx b/tmva/tmva/src/CrossValidation.cxx -index 453927c5b7..58bd9130d1 100644 ---- a/tmva/tmva/src/CrossValidation.cxx -+++ b/tmva/tmva/src/CrossValidation.cxx -@@ -99,7 +99,7 @@ TMultiGraph *TMVA::CrossValidationResult::GetROCCurves(Bool_t /*fLegend*/) - /// - /// \note You own the returned pointer. - /// --/// \param numSamples[in] Number of samples used for generating the average ROC -+/// \param[in] numSamples Number of samples used for generating the average ROC - /// Curve. Avg. curve will be evaluated only at these - /// points (using interpolation if necessary). - /// -diff --git a/tmva/tmva/src/CvSplit.cxx b/tmva/tmva/src/CvSplit.cxx -index d6d44ac1cc..9eedcf3d72 100644 ---- a/tmva/tmva/src/CvSplit.cxx -+++ b/tmva/tmva/src/CvSplit.cxx -@@ -227,15 +227,15 @@ UInt_t TMVA::CvSplitKFoldsExpr::GetSpectatorIndexForName(DataSetInfo &dsi, TStri - - //////////////////////////////////////////////////////////////////////////////// - /// \brief Splits a dataset into k folds, ready for use in cross validation. --/// \param numFolds[in] Number of folds to split data into --/// \param stratified[in] If true, use stratified splitting, balancing the -+/// \param[in] numFolds Number of folds to split data into -+/// \param[in] stratified If true, use stratified splitting, balancing the - /// number of events across classes and folds. If false, - /// no such balancing is done. For --/// \param splitExpr[in] Expression used to split data into folds. If `""` a -+/// \param[in] splitExpr Expression used to split data into folds. If `""` a - /// random assignment will be done. Otherwise the - /// expression is fed into a TFormula and evaluated per - /// event. The resulting value is the the fold assignment. --/// \param seed[in] Used only when using random splitting (i.e. when -+/// \param[in] seed Used only when using random splitting (i.e. when - /// `splitExpr` is `""`). Seed is used to initialise the random - /// number generator when assigning events to folds. - /// -@@ -282,9 +282,9 @@ void TMVA::CvSplitKFolds::MakeKFoldDataSet(DataSetInfo &dsi) - - //////////////////////////////////////////////////////////////////////////////// - /// \brief Generates a vector of fold assignments --/// \param nEntires[in] Number of events in range --/// \param numFolds[in] Number of folds to split data into --/// \param seed[in] Random seed -+/// \param[in] nEntries Number of events in range -+/// \param[in] numFolds Number of folds to split data into -+/// \param[in] seed Random seed - /// - /// Randomly assigns events to `numFolds` folds. Each fold will hold at most - /// `nEntries / numFolds + 1` events. -@@ -311,8 +311,8 @@ std::vector TMVA::CvSplitKFolds::GetEventIndexToFoldMapping(UInt_t nEntr - - //////////////////////////////////////////////////////////////////////////////// - /// \brief Split sets for into k-folds --/// \param oldSet[in] Original, unsplit, events --/// \param numFolds[in] Number of folds to split data into -+/// \param[in] oldSet Original, unsplit, events -+/// \param[in] numFolds Number of folds to split data into - /// - - std::vector> -diff --git a/tmva/tmva/src/Envelope.cxx b/tmva/tmva/src/Envelope.cxx -index 5fab98c13b..8a0c6b23f4 100644 ---- a/tmva/tmva/src/Envelope.cxx -+++ b/tmva/tmva/src/Envelope.cxx -@@ -37,8 +37,8 @@ this is a generic one protected. - \param file optional file to save the results. - \param options extra options for the algorithm. - */ --Envelope::Envelope(const TString &name, DataLoader *dalaloader, TFile *file, const TString options) -- : Configurable(options), fDataLoader(dalaloader), fFile(file), fModelPersistence(kTRUE), fVerbose(kFALSE), -+Envelope::Envelope(const TString &name, DataLoader *dataloader, TFile *file, const TString options) -+ : Configurable(options), fDataLoader(dataloader), fFile(file), fModelPersistence(kTRUE), fVerbose(kFALSE), - fTransformations("I"), fSilentFile(kFALSE), fJobs(1) - { - SetName(name.Data()); -@@ -120,7 +120,7 @@ DataLoader *Envelope::GetDataLoader(){ return fDataLoader.get();} - //_______________________________________________________________________ - /** - Method to set the pointer to TMVA::DataLoader object. --\param dalaloader pointer to TMVA::DataLoader object. -+\param dataloader pointer to TMVA::DataLoader object. - */ - - void Envelope::SetDataLoader(DataLoader *dataloader) -@@ -146,7 +146,7 @@ void TMVA::Envelope::SetModelPersistence(Bool_t status){fModelPersistence=status - /** - Method to book the machine learning method to perform the algorithm. - \param method enum TMVA::Types::EMVA with the type of the mva method --\param methodtitle String with the method title. -+\param methodTitle String with the method title. - \param options String with the options for the method. - */ - void TMVA::Envelope::BookMethod(Types::EMVA method, TString methodTitle, TString options){ -@@ -156,8 +156,8 @@ void TMVA::Envelope::BookMethod(Types::EMVA method, TString methodTitle, TString - //_______________________________________________________________________ - /** - Method to book the machine learning method to perform the algorithm. --\param methodname String with the name of the mva method --\param methodtitle String with the method title. -+\param methodName String with the name of the mva method -+\param methodTitle String with the method title. - \param options String with the options for the method. - */ - void TMVA::Envelope::BookMethod(TString methodName, TString methodTitle, TString options){ -diff --git a/tree/dataframe/inc/ROOT/RDF/RInterface.hxx b/tree/dataframe/inc/ROOT/RDF/RInterface.hxx -index b5e39251a8..da09c0be3c 100644 ---- a/tree/dataframe/inc/ROOT/RDF/RInterface.hxx -+++ b/tree/dataframe/inc/ROOT/RDF/RInterface.hxx -@@ -568,7 +568,7 @@ public: - //////////////////////////////////////////////////////////////////////////// - /// \brief Save selected columns in memory - /// \tparam ColumnTypes variadic list of branch/column types. -- /// \param[in] columns to be cached in memory. -+ /// \param[in] columnList columns to be cached in memory. - /// \return a `RDataFrame` that wraps the cached dataset. - /// - /// This action returns a new `RDataFrame` object, completely detached from -@@ -603,7 +603,7 @@ public: - - //////////////////////////////////////////////////////////////////////////// - /// \brief Save selected columns in memory -- /// \param[in] columns to be cached in memory -+ /// \param[in] columnList columns to be cached in memory - /// \return a `RDataFrame` that wraps the cached dataset. - /// - /// See the previous overloads for more information. -@@ -660,7 +660,7 @@ public: - - //////////////////////////////////////////////////////////////////////////// - /// \brief Save selected columns in memory -- /// \param[in] columns to be cached in memory. -+ /// \param[in] columnList columns to be cached in memory. - /// \return a `RDataFrame` that wraps the cached dataset. - /// - /// See the previous overloads for more information. -@@ -1528,13 +1528,13 @@ public: - /// ~~~ - /// - template -- RResultPtr Fill(T &&model, const ColumnNames_t &bl) -+ RResultPtr Fill(T &&model, const ColumnNames_t &columnList) - { - auto h = std::make_shared(std::forward(model)); - if (!RDFInternal::HistoUtils::HasAxisLimits(*h)) { - throw std::runtime_error("The absence of axes limits is not supported yet."); - } -- return CreateAction(bl, h, bl.size()); -+ return CreateAction(columnList, h, columnList.size()); - } - - //////////////////////////////////////////////////////////////////////////// -@@ -2134,7 +2134,7 @@ public: - /// \brief Provides a representation of the columns in the dataset - /// \tparam ColumnTypes variadic list of branch/column types. - /// \param[in] columnList Names of the columns to be displayed. -- /// \param[in] rows Number of events for each column to be displayed. -+ /// \param[in] nRows Number of events for each column to be displayed. - /// \return the `RDisplay` instance wrapped in a `RResultPtr`. - /// - /// This function returns a `RResultPtr` containing all the entries to be displayed, organized in a tabular -@@ -2165,7 +2165,7 @@ public: - //////////////////////////////////////////////////////////////////////////// - /// \brief Provides a representation of the columns in the dataset - /// \param[in] columnList Names of the columns to be displayed. -- /// \param[in] rows Number of events for each column to be displayed. -+ /// \param[in] nRows Number of events for each column to be displayed. - /// \return the `RDisplay` instance wrapped in a `RResultPtr`. - /// - /// This overload automatically infers the column types. -@@ -2181,7 +2181,7 @@ public: - //////////////////////////////////////////////////////////////////////////// - /// \brief Provides a representation of the columns in the dataset - /// \param[in] columnNameRegexp A regular expression to select the columns. -- /// \param[in] rows Number of events for each column to be displayed. -+ /// \param[in] nRows Number of events for each column to be displayed. - /// \return the `RDisplay` instance wrapped in a `RResultPtr`. - /// - /// The existing columns are matched against the regular expression. If the string provided -diff --git a/tree/dataframe/inc/ROOT/RDFHelpers.hxx b/tree/dataframe/inc/ROOT/RDFHelpers.hxx -index 2193e1772e..63a0f90cab 100644 ---- a/tree/dataframe/inc/ROOT/RDFHelpers.hxx -+++ b/tree/dataframe/inc/ROOT/RDFHelpers.hxx -@@ -138,7 +138,7 @@ void SaveGraph(NodeType node, const std::string &outputFile) - - // clang-format off - /// Cast a RDataFrame node to the common type ROOT::RDF::RNode --/// \param[in] Any node of a RDataFrame graph -+/// \param[in] node Any node of a RDataFrame graph - // clang-format on - template - RNode AsRNode(NodeType node) -diff --git a/tree/dataframe/inc/ROOT/RDataSource.hxx b/tree/dataframe/inc/ROOT/RDataSource.hxx -index f4af9abded..04f7dc850c 100644 ---- a/tree/dataframe/inc/ROOT/RDataSource.hxx -+++ b/tree/dataframe/inc/ROOT/RDataSource.hxx -@@ -126,14 +126,14 @@ public: - virtual const std::vector &GetColumnNames() const = 0; - - /// \brief Checks if the dataset has a certain column -- /// \param[in] columnName The name of the column -- virtual bool HasColumn(std::string_view) const = 0; -+ /// \param[in] colName The name of the column -+ virtual bool HasColumn(std::string_view colName) const = 0; - - // clang-format off - /// \brief Type of a column as a string, e.g. `GetTypeName("x") == "double"`. Required for jitting e.g. `df.Filter("x>0")`. -- /// \param[in] columnName The name of the column -+ /// \param[in] colName The name of the column - // clang-format on -- virtual std::string GetTypeName(std::string_view) const = 0; -+ virtual std::string GetTypeName(std::string_view colName) const = 0; - - // clang-format off - /// Called at most once per column by RDF. Return vector of pointers to pointers to column values - one per slot. -diff --git a/tree/dataframe/inc/ROOT/RResultPtr.hxx b/tree/dataframe/inc/ROOT/RResultPtr.hxx -index 8358832b14..8acb2bfae6 100644 ---- a/tree/dataframe/inc/ROOT/RResultPtr.hxx -+++ b/tree/dataframe/inc/ROOT/RResultPtr.hxx -@@ -262,7 +262,7 @@ public: - /// Register a callback that RDataFrame will execute in each worker thread concurrently on that thread's partial result. - /// - /// \param[in] everyNEvents Frequency at which the callback will be called by each thread, as a number of events processed -- /// \param[in] a callable with signature `void(unsigned int, Value_t&)` where Value_t is the type of the value contained in this RResultPtr -+ /// \param[in] callback A callable with signature `void(unsigned int, Value_t&)` where Value_t is the type of the value contained in this RResultPtr - /// \return this RResultPtr, to allow chaining of OnPartialResultSlot with other calls - /// - /// See `OnPartialResult` for a generic explanation of the callback mechanism. -diff --git a/tree/dataframe/src/RArrowDS.cxx b/tree/dataframe/src/RArrowDS.cxx -index d9e2fae32f..0152b9a813 100644 ---- a/tree/dataframe/src/RArrowDS.cxx -+++ b/tree/dataframe/src/RArrowDS.cxx -@@ -382,8 +382,8 @@ public: - - //////////////////////////////////////////////////////////////////////// - /// Constructor to create an Arrow RDataSource for RDataFrame. --/// \param[in] table the arrow Table to observe. --/// \param[in] columns the name of the columns to use -+/// \param[in] inTable the arrow Table to observe. -+/// \param[in] inColumns the name of the columns to use - /// In case columns is empty, we use all the columns found in the table - RArrowDS::RArrowDS(std::shared_ptr inTable, std::vector const &inColumns) - : fTable{inTable}, fColumnNames{inColumns} -diff --git a/tree/tree/inc/TTree.h b/tree/tree/inc/TTree.h -index 8560e28ab5..e95d4ce301 100644 ---- a/tree/tree/inc/TTree.h -+++ b/tree/tree/inc/TTree.h -@@ -357,7 +357,7 @@ public: - /// possible, unless e.g. type conversions are needed. - /// - /// \param[in] name Name of the branch to be created. -- /// \param[in] obj Array of the objects to be added. When calling Fill(), the current value of the type/object will be saved. -+ /// \param[in] addobj Array of the objects to be added. When calling Fill(), the current value of the type/object will be saved. - /// \param[in] bufsize he buffer size in bytes for this branch. When the buffer is full, it is compressed and written to disc. - /// The default value of 32000 bytes and should be ok for most simple types. Larger buffers (e.g. 256000) if your Tree is not split and each entry is large (Megabytes). - /// A small value for bufsize is beneficial if entries in the Tree are accessed randomly and the Tree is in split mode. -diff --git a/tree/tree/src/TIOFeatures.cxx b/tree/tree/src/TIOFeatures.cxx -index 681f2172bd..ca292fb30a 100644 ---- a/tree/tree/src/TIOFeatures.cxx -+++ b/tree/tree/src/TIOFeatures.cxx -@@ -51,7 +51,7 @@ using namespace ROOT; - - //////////////////////////////////////////////////////////////////////////// - /// \brief Clear a specific IO feature from this set. --/// \param[in] enum_bits The specific feature to disable. -+/// \param[in] input_bits The specific feature to disable. - /// - /// Removes a feature from the `TIOFeatures` object; emits an Error message if - /// the IO feature is not supported by this version of ROOT. -@@ -62,7 +62,7 @@ void TIOFeatures::Clear(Experimental::EIOFeatures input_bits) - - //////////////////////////////////////////////////////////////////////////// - /// \brief Clear a specific IO feature from this set. --/// \param[in] enum_bits The specific feature to disable. -+/// \param[in] input_bits The specific feature to disable. - /// - /// Removes a feature from the `TIOFeatures` object; emits an Error message if - /// the IO feature is not supported by this version of ROOT. -@@ -73,7 +73,7 @@ void TIOFeatures::Clear(Experimental::EIOUnsupportedFeatures input_bits) - - //////////////////////////////////////////////////////////////////////////// - /// \brief Clear a specific IO feature from this set. --/// \param[in] enum_bits The specific feature to disable. -+/// \param[in] input_bits The specific feature to disable. - /// - /// Removes a feature from the `TIOFeatures` object; emits an Error message if - /// the IO feature is not supported by this version of ROOT. -@@ -115,7 +115,7 @@ static std::string GetUnsupportedName(TBasket::EUnsupportedIOBits enum_flag) - - //////////////////////////////////////////////////////////////////////////// - /// \brief Set a specific IO feature. --/// \param[in] enum_bits The specific feature to enable. -+/// \param[in] input_bits The specific feature to enable. - /// - /// Sets a feature in the `TIOFeatures` object; emits an Error message if - /// the IO feature is not supported by this version of ROOT. -@@ -129,7 +129,7 @@ bool TIOFeatures::Set(Experimental::EIOFeatures input_bits) - - //////////////////////////////////////////////////////////////////////////// - /// \brief Set a specific IO feature. --/// \param[in] enum_bits The specific feature to enable. -+/// \param[in] input_bits The specific feature to enable. - /// - /// Sets a feature in the `TIOFeatures` object; emits an Error message if - /// the IO feature is not supported by this version of ROOT. -@@ -221,7 +221,7 @@ void TIOFeatures::Print() const - - //////////////////////////////////////////////////////////////////////////// - /// \brief Test to see if a given feature is set --/// \param[in] enum_bits The specific feature to test. -+/// \param[in] input_bits The specific feature to test. - /// - /// Returns kTRUE if the feature is enables in this object and supported by - /// this version of ROOT. -@@ -232,7 +232,7 @@ bool TIOFeatures::Test(Experimental::EIOFeatures input_bits) const - - //////////////////////////////////////////////////////////////////////////// - /// \brief Test to see if a given feature is set --/// \param[in] enum_bits The specific feature to test. -+/// \param[in] input_bits The specific feature to test. - /// - /// Returns kTRUE if the feature is enables in this object and supported by - /// this version of ROOT. --- -2.26.2 - diff --git a/root-fix-a-shadow-warning.patch b/root-fix-a-shadow-warning.patch deleted file mode 100644 index f0daaaf..0000000 --- a/root-fix-a-shadow-warning.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 00bbfddbf5c900923b284ddc540d2458bda15b7b Mon Sep 17 00:00:00 2001 -From: Stephan Hageboeck -Date: Wed, 5 Aug 2020 13:22:46 +0200 -Subject: [PATCH] Fix a shadow warning. - ---- - roofit/roofitmore/src/RooHypatia2.cxx | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/roofit/roofitmore/src/RooHypatia2.cxx b/roofit/roofitmore/src/RooHypatia2.cxx -index 7d550b2753..fe80f414d0 100644 ---- a/roofit/roofitmore/src/RooHypatia2.cxx -+++ b/roofit/roofitmore/src/RooHypatia2.cxx -@@ -119,21 +119,21 @@ - /// \param[in] a2 Start of right tail. - /// \param[in] n2 Shape parameter of right tail (\f$ n2 \ge 0 \f$). With \f$ n2 = 0 \f$, the function is constant. - RooHypatia2::RooHypatia2(const char *name, const char *title, RooAbsReal& x, RooAbsReal& lambda, -- RooAbsReal& zeta, RooAbsReal& beta, RooAbsReal& sigma, RooAbsReal& mu, RooAbsReal& a, -+ RooAbsReal& zeta, RooAbsReal& beta, RooAbsReal& argSigma, RooAbsReal& mu, RooAbsReal& a, - RooAbsReal& n, RooAbsReal& a2, RooAbsReal& n2) : - RooAbsPdf(name, title), - _x("x", "x", this, x), - _lambda("lambda", "Lambda", this, lambda), - _zeta("zeta", "zeta", this, zeta), - _beta("beta", "Asymmetry parameter beta", this, beta), -- _sigma("sigma", "Width parameter sigma", this, sigma), -+ _sigma("sigma", "Width parameter sigma", this, argSigma), - _mu("mu", "Location parameter mu", this, mu), - _a("a", "Left tail location a", this, a), - _n("n", "Left tail parameter n", this, n), - _a2("a2", "Right tail location a2", this, a2), - _n2("n2", "Right tail parameter n2", this, n2) - { -- RooHelpers::checkRangeOfParameters(this, {&sigma}, 0.); -+ RooHelpers::checkRangeOfParameters(this, {&argSigma}, 0.); - RooHelpers::checkRangeOfParameters(this, {&zeta, &n, &n2, &a, &a2}, 0., std::numeric_limits::max(), true); - if (zeta.getVal() == 0. && zeta.isConstant()) { - RooHelpers::checkRangeOfParameters(this, {&lambda}, -std::numeric_limits::max(), 0., false, --- -2.26.2 - diff --git a/root-fix-bad-regex.patch b/root-fix-bad-regex.patch deleted file mode 100644 index e1e667e..0000000 --- a/root-fix-bad-regex.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b7dc989f9a49ad31094331aa272859ff7480f943 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Thu, 9 Jul 2020 21:29:46 +0200 -Subject: [PATCH] Fix bad regex - ---- - proof/proof/src/TProofMgr.cxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/proof/proof/src/TProofMgr.cxx b/proof/proof/src/TProofMgr.cxx -index 2a140e4e7a..35c91b77ac 100644 ---- a/proof/proof/src/TProofMgr.cxx -+++ b/proof/proof/src/TProofMgr.cxx -@@ -820,7 +820,7 @@ TFileCollection *TProofMgr::UploadFiles(TList *src, - if (dest && strlen(dest) > 0) { - TString dst(dest), dt; - Ssiz_t from = 0; -- TRegexp re(""); -+ TRegexp re(""); - while (dst.Tokenize(dt, from, "/")) { - if (dt.Contains(re)) { - TParameter *pi = new TParameter(dt, -1); --- -2.26.2 - diff --git a/root-fix-multicore-tests-with-few-cores.patch b/root-fix-multicore-tests-with-few-cores.patch index ada5a11..55ad56e 100644 --- a/root-fix-multicore-tests-with-few-cores.patch +++ b/root-fix-multicore-tests-with-few-cores.patch @@ -1,7 +1,25 @@ -diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_concurrency.cxx root-6.22.08/tree/dataframe/test/dataframe_concurrency.cxx ---- root-6.22.08.orig/tree/dataframe/test/dataframe_concurrency.cxx 2021-03-10 15:19:14.000000000 +0100 -+++ root-6.22.08/tree/dataframe/test/dataframe_concurrency.cxx 2021-06-01 09:01:37.847751408 +0200 -@@ -46,33 +46,35 @@ +From 153f1c3de0e24f5678fd3a706f902ac12b11048e Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Sun, 18 Apr 2021 07:28:41 +0200 +Subject: [PATCH] Fix multicore tests when running on machines with few cores + +When running on machines with few cores, enabling multithreading can +give you fewer cores than requested. For most of the tests this does +not matter. However, some tests verify the number of threads used. +This commit adapts those tests for this situation. +--- + tree/dataframe/test/dataframe_concurrency.cxx | 18 +++++++++------- + tree/dataframe/test/dataframe_interface.cxx | 7 +++++-- + tree/dataframe/test/dataframe_simple.cxx | 2 +- + tree/dataframe/test/dataframe_snapshot.cxx | 6 ++++-- + .../test/treeprocmt/treeprocessormt.cxx | 21 +++++++++++++++---- + 5 files changed, 37 insertions(+), 17 deletions(-) + +diff --git a/tree/dataframe/test/dataframe_concurrency.cxx b/tree/dataframe/test/dataframe_concurrency.cxx +index d1b25493e5..a4bce595f8 100644 +--- a/tree/dataframe/test/dataframe_concurrency.cxx ++++ b/tree/dataframe/test/dataframe_concurrency.cxx +@@ -57,33 +57,35 @@ TEST(RDFConcurrency, NestedParallelismBetweenDefineCalls) // [DF] Warn on mismatch between slot pool size and effective number of slots TEST(RDFSimpleTests, ThrowOnPoolSizeMismatch) { @@ -16,7 +34,7 @@ diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_concurrency.cxx root-6. try { df.Count().GetValue(); } catch (const std::runtime_error &e) { - const auto expected_msg = "RLoopManager::Run: when the RDataFrame was constructed the size of the thread pool " + const auto expected_msg = "RLoopManager::Run: when the RDataFrame was constructed the number of slots required " - "was 1, but when starting the event loop it was 3. Maybe EnableImplicitMT() was " + "was 1, but when starting the event loop it was " + std::to_string(nslots) + ". Maybe EnableImplicitMT() was " "called after the RDataFrame was constructed?"; @@ -36,19 +54,20 @@ diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_concurrency.cxx root-6. try { df.Count().GetValue(); } catch (const std::runtime_error &e) { - const auto expected_msg = "RLoopManager::Run: when the RDataFrame was constructed the size of the thread pool " -- "was 3, but when starting the event loop it was 0. Maybe DisableImplicitMT() was " -+ "was " + std::to_string(nslots) + ", but when starting the event loop it was 0. Maybe DisableImplicitMT() was " + const auto expected_msg = "RLoopManager::Run: when the RDataFrame was constructed the number of slots required " +- "was 3, but when starting the event loop it was 1. Maybe DisableImplicitMT() was " ++ "was " + std::to_string(nslots) + ", but when starting the event loop it was 1. Maybe DisableImplicitMT() was " "called after the RDataFrame was constructed?"; - EXPECT_STREQ(e.what(), expected_msg); + EXPECT_STREQ(e.what(), expected_msg.c_str()); } } } -diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_interface.cxx root-6.22.08/tree/dataframe/test/dataframe_interface.cxx ---- root-6.22.08.orig/tree/dataframe/test/dataframe_interface.cxx 2021-03-10 15:19:14.000000000 +0100 -+++ root-6.22.08/tree/dataframe/test/dataframe_interface.cxx 2021-06-01 08:51:39.351355999 +0200 -@@ -6,6 +6,8 @@ +diff --git a/tree/dataframe/test/dataframe_interface.cxx b/tree/dataframe/test/dataframe_interface.cxx +index afdd8360ef..90e052f1a7 100644 +--- a/tree/dataframe/test/dataframe_interface.cxx ++++ b/tree/dataframe/test/dataframe_interface.cxx +@@ -7,6 +7,8 @@ #include "gtest/gtest.h" @@ -57,7 +76,7 @@ diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_interface.cxx root-6.22 using namespace ROOT; using namespace ROOT::RDF; -@@ -349,9 +351,10 @@ +@@ -351,9 +353,10 @@ TEST(RDataFrameInterface, GetNSlots) ROOT::RDataFrame df0(1); EXPECT_EQ(1U, df0.GetNSlots()); #ifdef R__USE_IMT @@ -70,10 +89,11 @@ diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_interface.cxx root-6.22 ROOT::DisableImplicitMT(); ROOT::RDataFrame df1(1); EXPECT_EQ(1U, df1.GetNSlots()); -diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_simple.cxx root-6.22.08/tree/dataframe/test/dataframe_simple.cxx ---- root-6.22.08.orig/tree/dataframe/test/dataframe_simple.cxx 2021-06-01 08:50:34.317205130 +0200 -+++ root-6.22.08/tree/dataframe/test/dataframe_simple.cxx 2021-06-01 08:51:39.351355999 +0200 -@@ -30,7 +30,7 @@ +diff --git a/tree/dataframe/test/dataframe_simple.cxx b/tree/dataframe/test/dataframe_simple.cxx +index c6aba48b3e..e6b92be776 100644 +--- a/tree/dataframe/test/dataframe_simple.cxx ++++ b/tree/dataframe/test/dataframe_simple.cxx +@@ -26,7 +26,7 @@ using namespace ROOT::VecOps; // Fixture for all tests in this file. If parameter is true, run with implicit MT, else run sequentially class RDFSimpleTests : public ::testing::TestWithParam { protected: @@ -82,10 +102,11 @@ diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_simple.cxx root-6.22.08 { if (GetParam()) ROOT::EnableImplicitMT(NSLOTS); -diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_snapshot.cxx root-6.22.08/tree/dataframe/test/dataframe_snapshot.cxx ---- root-6.22.08.orig/tree/dataframe/test/dataframe_snapshot.cxx 2021-03-10 15:19:14.000000000 +0100 -+++ root-6.22.08/tree/dataframe/test/dataframe_snapshot.cxx 2021-06-01 08:51:39.351355999 +0200 -@@ -9,6 +9,7 @@ +diff --git a/tree/dataframe/test/dataframe_snapshot.cxx b/tree/dataframe/test/dataframe_snapshot.cxx +index 3ce9254442..92444feff1 100644 +--- a/tree/dataframe/test/dataframe_snapshot.cxx ++++ b/tree/dataframe/test/dataframe_snapshot.cxx +@@ -10,6 +10,7 @@ #include "gtest/gtest.h" #include #include @@ -93,7 +114,7 @@ diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_snapshot.cxx root-6.22. using namespace ROOT; // RDataFrame using namespace ROOT::RDF; // RInterface using namespace ROOT::VecOps; // RVec -@@ -886,9 +887,10 @@ +@@ -1041,9 +1042,10 @@ TEST(RDFSnapshotMore, EmptyBuffersMT) { const auto fname = "emptybuffersmt.root"; const auto treename = "t"; @@ -106,10 +127,11 @@ diff -ur root-6.22.08.orig/tree/dataframe/test/dataframe_snapshot.cxx root-6.22. .Filter([](int x) { return x == 0; }, {"x"}, "f"); auto r = dd.Report(); dd.Snapshot(treename, fname, {"x"}); -diff -ur root-6.22.08.orig/tree/treeplayer/test/treeprocmt/treeprocessormt.cxx root-6.22.08/tree/treeplayer/test/treeprocmt/treeprocessormt.cxx ---- root-6.22.08.orig/tree/treeplayer/test/treeprocmt/treeprocessormt.cxx 2021-03-10 15:19:14.000000000 +0100 -+++ root-6.22.08/tree/treeplayer/test/treeprocmt/treeprocessormt.cxx 2021-06-01 08:51:39.352356002 +0200 -@@ -294,14 +294,27 @@ +diff --git a/tree/treeplayer/test/treeprocmt/treeprocessormt.cxx b/tree/treeplayer/test/treeprocmt/treeprocessormt.cxx +index 5d5b2cbf42..963ce8a1b1 100644 +--- a/tree/treeplayer/test/treeprocmt/treeprocessormt.cxx ++++ b/tree/treeplayer/test/treeprocmt/treeprocessormt.cxx +@@ -294,14 +294,27 @@ TEST(TreeProcessorMT, LimitNTasks_CheckEntries) } }; @@ -141,3 +163,6 @@ diff -ur root-6.22.08.orig/tree/treeplayer/test/treeprocmt/treeprocessormt.cxx r gSystem->Unlink(filename); ROOT::DisableImplicitMT(); +-- +2.30.2 + diff --git a/root-fix-ppc64le-compilation-with-gcc-10.patch b/root-fix-ppc64le-compilation-with-gcc-10.patch new file mode 100644 index 0000000..2624de8 --- /dev/null +++ b/root-fix-ppc64le-compilation-with-gcc-10.patch @@ -0,0 +1,29 @@ +From 5b8e969ca045aa238c685009e0aa48d74cbdbf22 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Fri, 13 Mar 2020 17:09:03 +0100 +Subject: [PATCH 1/2] Fix ppc64le compilation with gcc 10 + +Reapply fix lost in the LLVM 9 upgrade. This fix is in LLVM 10. + +Backported from llvm upstream +https://reviews.llvm.org/D74129 +--- + interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp b/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp +index c8ed42d266..16bb00d2e9 100644 +--- a/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp ++++ b/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp +@@ -2546,7 +2546,7 @@ bool Lexer::SkipBlockComment(Token &Result, const char *CurPtr, + '/', '/', '/', '/', '/', '/', '/', '/' + }; + while (CurPtr+16 <= BufferEnd && +- !vec_any_eq(*(const vector unsigned char*)CurPtr, Slashes)) ++ !vec_any_eq(*(const __vector unsigned char*)CurPtr, Slashes)) + CurPtr += 16; + #else + // Scan for '/' quickly. Many block comments are very large. +-- +2.30.2 + diff --git a/root-fontconfig.patch b/root-fontconfig.patch index 2a05c55..35705a4 100644 --- a/root-fontconfig.patch +++ b/root-fontconfig.patch @@ -1,7 +1,7 @@ -diff -ur root-6.22.02.orig/core/base/src/TApplication.cxx root-6.22.02/core/base/src/TApplication.cxx ---- root-6.22.02.orig/core/base/src/TApplication.cxx 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/core/base/src/TApplication.cxx 2020-08-18 09:50:12.739102596 +0200 -@@ -264,18 +264,11 @@ +diff -ur root-6.24.02.orig/core/base/src/TApplication.cxx root-6.24.02/core/base/src/TApplication.cxx +--- root-6.24.02.orig/core/base/src/TApplication.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/core/base/src/TApplication.cxx 2021-08-11 10:49:08.583579248 +0200 +@@ -265,18 +265,11 @@ LoadGraphicsLibs(); // Try to load TrueType font renderer. Only try to load if not in batch @@ -22,7 +22,7 @@ diff -ur root-6.22.02.orig/core/base/src/TApplication.cxx root-6.22.02/core/base if (gClassTable->GetDict("TGX11TTF")) { // in principle we should not have linked anything against libGX11TTF // but with ACLiC this can happen, initialize TGX11TTF by hand -@@ -289,7 +282,6 @@ +@@ -290,7 +283,6 @@ } } #endif @@ -30,9 +30,9 @@ diff -ur root-6.22.02.orig/core/base/src/TApplication.cxx root-6.22.02/core/base // Create WM dependent application environment if (fAppImp) -diff -ur root-6.22.02.orig/graf2d/asimage/CMakeLists.txt root-6.22.02/graf2d/asimage/CMakeLists.txt ---- root-6.22.02.orig/graf2d/asimage/CMakeLists.txt 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/graf2d/asimage/CMakeLists.txt 2020-08-18 09:50:12.761102650 +0200 +diff -ur root-6.24.02.orig/graf2d/asimage/CMakeLists.txt root-6.24.02/graf2d/asimage/CMakeLists.txt +--- root-6.24.02.orig/graf2d/asimage/CMakeLists.txt 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/graf2d/asimage/CMakeLists.txt 2021-08-11 10:49:08.583579248 +0200 @@ -30,6 +30,7 @@ ${FREETYPE_LIBRARIES} ${X11_LIBRARIES} @@ -41,10 +41,10 @@ diff -ur root-6.22.02.orig/graf2d/asimage/CMakeLists.txt root-6.22.02/graf2d/asi DEPENDENCIES Core Graf -diff -ur root-6.22.02.orig/graf2d/asimage/src/TASImage.cxx root-6.22.02/graf2d/asimage/src/TASImage.cxx ---- root-6.22.02.orig/graf2d/asimage/src/TASImage.cxx 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/graf2d/asimage/src/TASImage.cxx 2020-08-18 09:50:12.763102655 +0200 -@@ -111,6 +111,8 @@ +diff -ur root-6.24.02.orig/graf2d/asimage/src/TASImage.cxx root-6.24.02/graf2d/asimage/src/TASImage.cxx +--- root-6.24.02.orig/graf2d/asimage/src/TASImage.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/graf2d/asimage/src/TASImage.cxx 2021-08-11 10:49:08.585579253 +0200 +@@ -112,6 +112,8 @@ # include } @@ -53,7 +53,7 @@ diff -ur root-6.22.02.orig/graf2d/asimage/src/TASImage.cxx root-6.22.02/graf2d/a // auxiliary functions for general polygon filling #include "TASPolyUtils.c" -@@ -2594,14 +2596,120 @@ +@@ -2595,14 +2597,120 @@ TString fn = font_name; fn.Strip(); @@ -181,7 +181,7 @@ diff -ur root-6.22.02.orig/graf2d/asimage/src/TASImage.cxx root-6.22.02/graf2d/a if (fn.EndsWith(".pfa") || fn.EndsWith(".PFA") || fn.EndsWith(".pfb") || fn.EndsWith(".PFB") || fn.EndsWith(".ttf") || fn.EndsWith(".TTF") || fn.EndsWith(".otf") || fn.EndsWith(".OTF")) { ttfont = kTRUE; -@@ -2625,14 +2733,11 @@ +@@ -2626,14 +2734,11 @@ return; } @@ -199,9 +199,9 @@ diff -ur root-6.22.02.orig/graf2d/asimage/src/TASImage.cxx root-6.22.02/graf2d/a } get_text_size(text, font, (ASText3DType)type, &width, &height); -diff -ur root-6.22.02.orig/graf2d/graf/CMakeLists.txt root-6.22.02/graf2d/graf/CMakeLists.txt ---- root-6.22.02.orig/graf2d/graf/CMakeLists.txt 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/graf2d/graf/CMakeLists.txt 2020-08-18 09:50:12.763102655 +0200 +diff -ur root-6.24.02.orig/graf2d/graf/CMakeLists.txt root-6.24.02/graf2d/graf/CMakeLists.txt +--- root-6.24.02.orig/graf2d/graf/CMakeLists.txt 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/graf2d/graf/CMakeLists.txt 2021-08-11 10:49:08.586579256 +0200 @@ -91,6 +91,7 @@ ${FREETYPE_LIBRARIES} ZLIB::ZLIB @@ -210,9 +210,9 @@ diff -ur root-6.22.02.orig/graf2d/graf/CMakeLists.txt root-6.22.02/graf2d/graf/C DEPENDENCIES Hist Matrix -diff -ur root-6.22.02.orig/graf2d/graf/inc/TTF.h root-6.22.02/graf2d/graf/inc/TTF.h ---- root-6.22.02.orig/graf2d/graf/inc/TTF.h 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/graf2d/graf/inc/TTF.h 2020-08-18 09:50:12.763102655 +0200 +diff -ur root-6.24.02.orig/graf2d/graf/inc/TTF.h root-6.24.02/graf2d/graf/inc/TTF.h +--- root-6.24.02.orig/graf2d/graf/inc/TTF.h 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/graf2d/graf/inc/TTF.h 2021-08-11 10:49:08.586579256 +0200 @@ -76,9 +76,8 @@ static FT_BBox fgCBox; ///< string control box static FT_CharMap fgCharMap[kTTMaxFonts]; ///< font character map @@ -224,9 +224,9 @@ diff -ur root-6.22.02.orig/graf2d/graf/inc/TTF.h root-6.22.02/graf2d/graf/inc/TT static FT_Face fgFace[kTTMaxFonts]; ///< font face static TTF::TTGlyph fgGlyphs[kMaxGlyphs]; ///< glyphs static Bool_t fgHinting; ///< use hinting (true by default) -diff -ur root-6.22.02.orig/graf2d/graf/src/TTF.cxx root-6.22.02/graf2d/graf/src/TTF.cxx ---- root-6.22.02.orig/graf2d/graf/src/TTF.cxx 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/graf2d/graf/src/TTF.cxx 2020-08-18 09:54:27.734727819 +0200 +diff -ur root-6.24.02.orig/graf2d/graf/src/TTF.cxx root-6.24.02/graf2d/graf/src/TTF.cxx +--- root-6.24.02.orig/graf2d/graf/src/TTF.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/graf2d/graf/src/TTF.cxx 2021-08-11 10:49:08.587579259 +0200 @@ -25,6 +25,8 @@ #include "TMath.h" #include "TError.h" @@ -787,9 +787,9 @@ diff -ur root-6.22.02.orig/graf2d/graf/src/TTF.cxx root-6.22.02/graf2d/graf/src/ } //////////////////////////////////////////////////////////////////////////////// -diff -ur root-6.22.02.orig/graf2d/postscript/CMakeLists.txt root-6.22.02/graf2d/postscript/CMakeLists.txt ---- root-6.22.02.orig/graf2d/postscript/CMakeLists.txt 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/graf2d/postscript/CMakeLists.txt 2020-08-18 09:50:12.764102658 +0200 +diff -ur root-6.24.02.orig/graf2d/postscript/CMakeLists.txt root-6.24.02/graf2d/postscript/CMakeLists.txt +--- root-6.24.02.orig/graf2d/postscript/CMakeLists.txt 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/graf2d/postscript/CMakeLists.txt 2021-08-11 10:49:08.587579259 +0200 @@ -27,6 +27,7 @@ LIBRARIES ZLIB::ZLIB @@ -798,18 +798,18 @@ diff -ur root-6.22.02.orig/graf2d/postscript/CMakeLists.txt root-6.22.02/graf2d/ DEPENDENCIES Graf ) -diff -ur root-6.22.02.orig/graf2d/postscript/src/TPostScript.cxx root-6.22.02/graf2d/postscript/src/TPostScript.cxx ---- root-6.22.02.orig/graf2d/postscript/src/TPostScript.cxx 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/graf2d/postscript/src/TPostScript.cxx 2020-08-18 09:50:12.765102660 +0200 -@@ -233,6 +233,7 @@ - #include - #include - #include +diff -ur root-6.24.02.orig/graf2d/postscript/src/TPostScript.cxx root-6.24.02/graf2d/postscript/src/TPostScript.cxx +--- root-6.24.02.orig/graf2d/postscript/src/TPostScript.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/graf2d/postscript/src/TPostScript.cxx 2021-08-11 10:49:08.588579261 +0200 +@@ -234,6 +234,7 @@ + #include + #include + #include +#include - #include "Riostream.h" - #include "Byteswap.h" -@@ -1583,56 +1584,179 @@ + #include "strlcpy.h" + #include "snprintf.h" +@@ -1585,56 +1586,179 @@ void TPostScript::FontEmbed(void) { @@ -1034,7 +1034,7 @@ diff -ur root-6.22.02.orig/graf2d/postscript/src/TPostScript.cxx root-6.22.02/gr } else { if (FontEmbedType2(ttfont)) { // nothing -@@ -1641,9 +1765,8 @@ +@@ -1643,9 +1767,8 @@ } else if(FontEmbedType42(ttfont)) { // nothing } else { @@ -1046,7 +1046,7 @@ diff -ur root-6.22.02.orig/graf2d/postscript/src/TPostScript.cxx root-6.22.02/gr } delete [] ttfont; } -@@ -2835,10 +2958,10 @@ +@@ -2837,10 +2960,10 @@ { "Root.PSFont.9", "/FreeMonoOblique" }, { "Root.PSFont.10", "/FreeMonoBold" }, { "Root.PSFont.11", "/FreeMonoBoldOblique" }, @@ -1060,9 +1060,9 @@ diff -ur root-6.22.02.orig/graf2d/postscript/src/TPostScript.cxx root-6.22.02/gr { "Root.PSFont.STIXGen", "/STIXGeneral" }, { "Root.PSFont.STIXGenIt", "/STIXGeneral-Italic" }, { "Root.PSFont.STIXGenBd", "/STIXGeneral-Bold" }, -diff -ur root-6.22.02.orig/graf3d/gl/CMakeLists.txt root-6.22.02/graf3d/gl/CMakeLists.txt ---- root-6.22.02.orig/graf3d/gl/CMakeLists.txt 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/graf3d/gl/CMakeLists.txt 2020-08-18 09:50:12.834102829 +0200 +diff -ur root-6.24.02.orig/graf3d/gl/CMakeLists.txt root-6.24.02/graf3d/gl/CMakeLists.txt +--- root-6.24.02.orig/graf3d/gl/CMakeLists.txt 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/graf3d/gl/CMakeLists.txt 2021-08-11 10:49:08.589579264 +0200 @@ -208,6 +208,7 @@ ${GL2PS_LIBRARIES} ${X11_LIBRARIES} @@ -1071,10 +1071,10 @@ diff -ur root-6.22.02.orig/graf3d/gl/CMakeLists.txt root-6.22.02/graf3d/gl/CMake DEPENDENCIES Hist Gui -diff -ur root-6.22.02.orig/graf3d/gl/src/TGLFontManager.cxx root-6.22.02/graf3d/gl/src/TGLFontManager.cxx ---- root-6.22.02.orig/graf3d/gl/src/TGLFontManager.cxx 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/graf3d/gl/src/TGLFontManager.cxx 2020-08-18 09:50:12.854102878 +0200 -@@ -37,6 +37,7 @@ +diff -ur root-6.24.02.orig/graf3d/gl/src/TGLFontManager.cxx root-6.24.02/graf3d/gl/src/TGLFontManager.cxx +--- root-6.24.02.orig/graf3d/gl/src/TGLFontManager.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/graf3d/gl/src/TGLFontManager.cxx 2021-08-11 10:49:08.589579264 +0200 +@@ -36,6 +36,7 @@ # include "FTGLBitmapFont.h" #endif @@ -1082,7 +1082,7 @@ diff -ur root-6.22.02.orig/graf3d/gl/src/TGLFontManager.cxx root-6.22.02/graf3d/ /** \class TGLFont \ingroup opengl -@@ -420,7 +421,7 @@ +@@ -419,7 +420,7 @@ ClassImp(TGLFontManager); TObjArray TGLFontManager::fgFontFileArray; @@ -1091,7 +1091,7 @@ diff -ur root-6.22.02.orig/graf3d/gl/src/TGLFontManager.cxx root-6.22.02/graf3d/ TGLFontManager::FontSizeVec_t TGLFontManager::fgFontSizeArray; Bool_t TGLFontManager::fgStaticInitDone = kFALSE; -@@ -451,17 +452,175 @@ +@@ -450,17 +451,175 @@ FontMap_i it = fFontMap.find(TGLFont(size, fileID, mode)); if (it == fFontMap.end()) { @@ -1276,7 +1276,7 @@ diff -ur root-6.22.02.orig/graf3d/gl/src/TGLFontManager.cxx root-6.22.02/graf3d/ FTFont* ftfont = 0; switch (mode) { -@@ -485,10 +644,14 @@ +@@ -484,10 +643,14 @@ ftfont = new FTGLTextureFont(file); break; default: @@ -1291,7 +1291,7 @@ diff -ur root-6.22.02.orig/graf3d/gl/src/TGLFontManager.cxx root-6.22.02/graf3d/ ftfont->FaceSize(size); const TGLFont &mf = fFontMap.insert(std::make_pair(TGLFont(size, fileID, mode, ftfont, 0), 1)).first->first; out.CopyAttributes(mf); -@@ -571,8 +734,6 @@ +@@ -570,8 +733,6 @@ { if (fgStaticInitDone == kFALSE) InitStatics(); @@ -1300,7 +1300,7 @@ diff -ur root-6.22.02.orig/graf3d/gl/src/TGLFontManager.cxx root-6.22.02/graf3d/ return fgExtendedFontStart; } -@@ -642,28 +803,6 @@ +@@ -641,28 +802,6 @@ fgFontFileArray.Add(new TObjString("wingding")); // 140 fgFontFileArray.Add(new TObjString("symbol")); // 150 @@ -1329,10 +1329,10 @@ diff -ur root-6.22.02.orig/graf3d/gl/src/TGLFontManager.cxx root-6.22.02/graf3d/ fgFontFileArray.Add(new TObjString("STIXGeneral.otf")); // 200 fgFontFileArray.Add(new TObjString("STIXGeneralItalic.otf")); // 210 fgFontFileArray.Add(new TObjString("STIXGeneralBol.otf")); // 220 -diff -ur root-6.22.02.orig/graf3d/gl/src/TGLText.cxx root-6.22.02/graf3d/gl/src/TGLText.cxx ---- root-6.22.02.orig/graf3d/gl/src/TGLText.cxx 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/graf3d/gl/src/TGLText.cxx 2020-08-18 09:50:12.881102944 +0200 -@@ -34,6 +34,8 @@ +diff -ur root-6.24.02.orig/graf3d/gl/src/TGLText.cxx root-6.24.02/graf3d/gl/src/TGLText.cxx +--- root-6.24.02.orig/graf3d/gl/src/TGLText.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/graf3d/gl/src/TGLText.cxx 2021-08-11 10:49:08.590579267 +0200 +@@ -32,6 +32,8 @@ # include "FTGLBitmapFont.h" #endif @@ -1341,7 +1341,7 @@ diff -ur root-6.22.02.orig/graf3d/gl/src/TGLText.cxx root-6.22.02/graf3d/gl/src/ #define FTGL_BITMAP 0 #define FTGL_PIXMAP 1 #define FTGL_OUTLINE 2 -@@ -178,27 +180,92 @@ +@@ -176,27 +178,92 @@ { int fontid = fontnumber / 10; @@ -1455,7 +1455,7 @@ diff -ur root-6.22.02.orig/graf3d/gl/src/TGLText.cxx root-6.22.02/graf3d/gl/src/ if (fGLTextFont) delete fGLTextFont; -@@ -206,7 +273,9 @@ +@@ -204,7 +271,9 @@ fGLTextFont = new FTGLPolygonFont(ttfont); @@ -1466,9 +1466,9 @@ diff -ur root-6.22.02.orig/graf3d/gl/src/TGLText.cxx root-6.22.02/graf3d/gl/src/ Error("SetGLTextFont","Cannot set FTGL::FaceSize"); - delete [] ttfont; } -diff -ur root-6.22.02.orig/gui/gui/src/TGApplication.cxx root-6.22.02/gui/gui/src/TGApplication.cxx ---- root-6.22.02.orig/gui/gui/src/TGApplication.cxx 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/gui/gui/src/TGApplication.cxx 2020-08-18 09:50:13.153103608 +0200 +diff -ur root-6.24.02.orig/gui/gui/src/TGApplication.cxx root-6.24.02/gui/gui/src/TGApplication.cxx +--- root-6.24.02.orig/gui/gui/src/TGApplication.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/gui/gui/src/TGApplication.cxx 2021-08-11 10:49:08.590579267 +0200 @@ -80,20 +80,12 @@ gROOT->SetBatch(kFALSE); diff --git a/root-histv7-bin-iterator.patch b/root-histv7-bin-iterator.patch deleted file mode 100644 index 9e52725..0000000 --- a/root-histv7-bin-iterator.patch +++ /dev/null @@ -1,51 +0,0 @@ -From af2e5c8b1bf17a0a0e1c1492735395bdd49ffd65 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Mon, 29 Jun 2020 12:57:43 +0200 -Subject: [PATCH] Fix off-by-one error in the histogram v7 bin iterator - -The histogram bin iterator should start at 1 and end at N + 1, not -start at 0 and end at N. (As for all iterators, the end element is the -invalid element after the last one.) - -Fixes an assertion in the histhistv7testUnit test - -[----------] 2 tests from BinIterNBins -[ RUN ] BinIterNBins.NumBins -/usr/include/c++/10/bits/stl_vector.h:1045: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = float; _Alloc = std::allocator; std::vector<_Tp, _Alloc>::reference = float&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed. ---- - hist/histv7/inc/ROOT/RHist.hxx | 4 ++-- - hist/histv7/test/biniter.cxx | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/hist/histv7/inc/ROOT/RHist.hxx b/hist/histv7/inc/ROOT/RHist.hxx -index ebb319f1ef..9521fe182f 100644 ---- a/hist/histv7/inc/ROOT/RHist.hxx -+++ b/hist/histv7/inc/ROOT/RHist.hxx -@@ -158,9 +158,9 @@ public: - /// Get the uncertainty on the content of the bin at `x`. - double GetBinUncertainty(const CoordArray_t &x) const { return fImpl->GetBinUncertainty(x); } - -- const_iterator begin() const { return const_iterator(*fImpl); } -+ const_iterator begin() const { return const_iterator(*fImpl, 1); } - -- const_iterator end() const { return const_iterator(*fImpl, fImpl->GetNBinsNoOver()); } -+ const_iterator end() const { return const_iterator(*fImpl, fImpl->GetNBinsNoOver() + 1); } - - /// Swap *this and other. - /// -diff --git a/hist/histv7/test/biniter.cxx b/hist/histv7/test/biniter.cxx -index aa1c2dfef9..1f940aa8e7 100644 ---- a/hist/histv7/test/biniter.cxx -+++ b/hist/histv7/test/biniter.cxx -@@ -45,7 +45,7 @@ TEST(BinIterNBins, BinRef) { - double founduncert = -1.; - RH2F::CoordArray_t foundcoord{}; - -- int nBins = 0; -+ int nBins = 1; - for (auto bin: h) { - auto binCenter = bin.GetCenter(); - if (std::fabs(binCenter[0] - x) < 0.1 && std::fabs(binCenter[1] - y) < 0.1) { --- -2.26.2 - diff --git a/root-increase-timeout-for-ppc64le.patch b/root-increase-timeout-for-ppc64le.patch deleted file mode 100644 index f4bbc79..0000000 --- a/root-increase-timeout-for-ppc64le.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 4a4f661e80aa569a2fe2fcadeb2632db52371f79 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Fri, 21 Aug 2020 18:46:36 +0200 -Subject: [PATCH] Increase timeout for PPC64 - ---- - tutorials/CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tutorials/CMakeLists.txt b/tutorials/CMakeLists.txt -index b49bc68209..ef6e884658 100644 ---- a/tutorials/CMakeLists.txt -+++ b/tutorials/CMakeLists.txt -@@ -462,7 +462,7 @@ foreach(t ${tutorials}) - endif() - - # These tests on ARM64 need much more than 20 minutes - increase the timeout -- if(ROOT_ARCHITECTURE MATCHES arm64) -+ if(ROOT_ARCHITECTURE MATCHES arm64 OR ROOT_ARCHITECTURE MATCHES ppc64) - set(thisTestTimeout 2400) # 40m - else() - set(thisTestTimeout 1200) # 20m -@@ -489,7 +489,7 @@ foreach(t ${mpi_tutorials}) - string(REPLACE "/" "-" tname ${tname}) - - # These tests on ARM64 need much more than 20 minutes - increase the timeout -- if(ROOT_ARCHITECTURE MATCHES arm64) -+ if(ROOT_ARCHITECTURE MATCHES arm64 OR ROOT_ARCHITECTURE MATCHES ppc64) - set(thisTestTimeout 2400) # 40m - else() - set(thisTestTimeout 1200) # 20m --- -2.28.0 - diff --git a/root-install-headers-with-COMPONENT-headers.patch b/root-install-headers-with-COMPONENT-headers.patch deleted file mode 100644 index 8948c1e..0000000 --- a/root-install-headers-with-COMPONENT-headers.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c6b03126690439f5137e4a1090e81e93fd09df9a Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Wed, 19 Aug 2020 20:17:37 +0200 -Subject: [PATCH] Install headers with COMPONENT headers - ---- - bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt | 4 +++- - bindings/pyroot/pythonizations/CMakeLists.txt | 4 +++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt b/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt -index 00ce6c13b8..e23b439b3e 100644 ---- a/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt -+++ b/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt -@@ -120,4 +120,6 @@ foreach(val RANGE ${how_many_pythons}) - endforeach() - - file(COPY ${headers} DESTINATION ${CMAKE_BINARY_DIR}/include/CPyCppyy) --install(FILES ${headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/CPyCppyy) -+install(FILES ${headers} -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/CPyCppyy -+ COMPONENT headers) -diff --git a/bindings/pyroot/pythonizations/CMakeLists.txt b/bindings/pyroot/pythonizations/CMakeLists.txt -index 7827204396..377ec46916 100644 ---- a/bindings/pyroot/pythonizations/CMakeLists.txt -+++ b/bindings/pyroot/pythonizations/CMakeLists.txt -@@ -159,6 +159,8 @@ install(DIRECTORY ${localruntimedir}/ROOT - COMPONENT libraries) - - # Install headers required by pythonizations --install(FILES ${PYROOT_EXTRA_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ROOT) -+install(FILES ${PYROOT_EXTRA_HEADERS} -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ROOT -+ COMPONENT headers) - - ROOT_ADD_TEST_SUBDIRECTORY(test) --- -2.26.2 - diff --git a/root-jsmva-static.patch b/root-jsmva-static.patch new file mode 100644 index 0000000..a81848a --- /dev/null +++ b/root-jsmva-static.patch @@ -0,0 +1,36 @@ +diff -ur root-6.24.02.orig/bindings/jsmva/python/JsMVA/JPyInterface.py root-6.24.02/bindings/jsmva/python/JsMVA/JPyInterface.py +--- root-6.24.02.orig/bindings/jsmva/python/JsMVA/JPyInterface.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/bindings/jsmva/python/JsMVA/JPyInterface.py 2021-08-11 09:06:21.894746090 +0200 +@@ -188,7 +188,7 @@ + ## Class for creating the output scripts and inserting them to cell output + class JsDraw: + ## Base repository +- __jsMVARepo = "https://root.cern.ch/js/jsmva/latest" ++ __jsMVARepo = "/static/JsMVA" + + ## String containing the link to JavaScript files + __jsMVASourceDir = __jsMVARepo + "/js" +diff -ur root-6.24.02.orig/bindings/pyroot_legacy/JsMVA/JPyInterface.py root-6.24.02/bindings/pyroot_legacy/JsMVA/JPyInterface.py +--- root-6.24.02.orig/bindings/pyroot_legacy/JsMVA/JPyInterface.py 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/bindings/pyroot_legacy/JsMVA/JPyInterface.py 2021-08-11 09:06:21.925746168 +0200 +@@ -188,7 +188,7 @@ + ## Class for creating the output scripts and inserting them to cell output + class JsDraw: + ## Base repository +- __jsMVARepo = "https://root.cern.ch/js/jsmva/latest" ++ __jsMVARepo = "/static/JsMVA" + + ## String containing the link to JavaScript files + __jsMVASourceDir = __jsMVARepo + "/js" +diff -ur root-6.24.02.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.24.02/etc/notebook/JsMVA/js/JsMVA.js +--- root-6.24.02.orig/etc/notebook/JsMVA/js/JsMVA.js 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/etc/notebook/JsMVA/js/JsMVA.js 2021-08-11 09:10:45.638410266 +0200 +@@ -16,7 +16,7 @@ + + (function(factory){ + +- var JSROOT_source_dir = "https://root.cern.ch/js/notebook/scripts/"; ++ var JSROOT_source_dir = "/static/scripts/"; + + var url = ""; + if (requirejs.s.contexts.hasOwnProperty("_")) { diff --git a/root-jupyroot-jupyterlab-compat.patch b/root-jupyroot-jupyterlab-compat.patch deleted file mode 100644 index a7850c4..0000000 --- a/root-jupyroot-jupyterlab-compat.patch +++ /dev/null @@ -1,125 +0,0 @@ -diff -ur root-6.22.08.orig/bindings/jupyroot/python/JupyROOT/helpers/utils.py root-6.22.08/bindings/jupyroot/python/JupyROOT/helpers/utils.py ---- root-6.22.08.orig/bindings/jupyroot/python/JupyROOT/helpers/utils.py 2021-03-10 15:19:14.000000000 +0100 -+++ root-6.22.08/bindings/jupyroot/python/JupyROOT/helpers/utils.py 2021-06-17 19:29:39.457234887 +0200 -@@ -39,24 +39,31 @@ - - _jsNotDrawableClassesPatterns = ["TEve*","TF3","TPolyLine3D"] - -- --_jsROOTSourceDir = "/static/" - _jsCanvasWidth = 800 - _jsCanvasHeight = 600 -- - _jsCode = """ -+ -
    -
    - - """ -@@ -296,7 +295,7 @@ - cnt = 0 - for n in range(colors.GetLast()+1): - if colors.At(n): cnt = cnt+1 -- -+ - # add all colors if there are more than 598 colors defined - if cnt < 599 or prim.FindObject(colors): - colors = None -@@ -312,14 +311,14 @@ - prim.Add(palette) - - ROOT.TColor.DefinedColors() -- -+ - canvas_json = ROOT.TBufferJSON.ConvertToJSON(canvas, 3) - - # Cleanup primitives after conversion - if style is not None: prim.Remove(style) - if colors is not None: prim.Remove(colors) - if palette is not None: prim.Remove(palette) -- -+ - return canvas_json - - transformers = [] -@@ -508,7 +507,6 @@ - - thisJsCode = _jsCode.format(jsCanvasWidth = height, - jsCanvasHeight = width, -- jsROOTSourceDir = _jsROOTSourceDir, - jsonContent = json.Data(), - jsDrawOptions = options, - jsDivId = divId) diff --git a/root-jupyroot-static.patch b/root-jupyroot-static.patch deleted file mode 100644 index 717e203..0000000 --- a/root-jupyroot-static.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff -ur root-6.22.08.orig/bindings/jsmva/python/JsMVA/JPyInterface.py root-6.22.08/bindings/jsmva/python/JsMVA/JPyInterface.py ---- root-6.22.08.orig/bindings/jsmva/python/JsMVA/JPyInterface.py 2021-03-10 15:19:14.000000000 +0100 -+++ root-6.22.08/bindings/jsmva/python/JsMVA/JPyInterface.py 2021-06-17 19:32:12.018598877 +0200 -@@ -188,7 +188,7 @@ - ## Class for creating the output scripts and inserting them to cell output - class JsDraw: - ## Base repository -- __jsMVARepo = "https://root.cern.ch/js/jsmva/latest" -+ __jsMVARepo = "/static/JsMVA" - - ## String containing the link to JavaScript files - __jsMVASourceDir = __jsMVARepo + "/js" -diff -ur root-6.22.08.orig/bindings/jupyroot/python/JupyROOT/helpers/utils.py root-6.22.08/bindings/jupyroot/python/JupyROOT/helpers/utils.py ---- root-6.22.08.orig/bindings/jupyroot/python/JupyROOT/helpers/utils.py 2021-06-17 19:29:39.457234887 +0200 -+++ root-6.22.08/bindings/jupyroot/python/JupyROOT/helpers/utils.py 2021-06-17 19:29:00.146141086 +0200 -@@ -72,7 +72,7 @@ - }} - - // Try loading a local version of requirejs and fallback to cdn if not possible. -- script_load(base_url + 'static/scripts/JSRootCore.js', script_success, function(){{ -+ script_load(base_url + 'static/jsroot/scripts/JSRootCore.js', script_success, function(){{ - console.error('Fail to load JSROOT locally, please check your jupyter_notebook_config.py file') - script_load('https://root.cern/js/5.9.1/scripts/JSRootCore.min.js', script_success, function(){{ - document.getElementById("{jsDivId}").innerHTML = "Failed to load JSROOT"; -diff -ur root-6.22.08.orig/bindings/pyroot_legacy/JsMVA/JPyInterface.py root-6.22.08/bindings/pyroot_legacy/JsMVA/JPyInterface.py ---- root-6.22.08.orig/bindings/pyroot_legacy/JsMVA/JPyInterface.py 2021-03-10 15:19:14.000000000 +0100 -+++ root-6.22.08/bindings/pyroot_legacy/JsMVA/JPyInterface.py 2021-06-17 19:32:12.019598879 +0200 -@@ -188,7 +188,7 @@ - ## Class for creating the output scripts and inserting them to cell output - class JsDraw: - ## Base repository -- __jsMVARepo = "https://root.cern.ch/js/jsmva/latest" -+ __jsMVARepo = "/static/JsMVA" - - ## String containing the link to JavaScript files - __jsMVASourceDir = __jsMVARepo + "/js" -diff -ur root-6.22.08.orig/bindings/pyroot_legacy/JupyROOT/helpers/utils.py root-6.22.08/bindings/pyroot_legacy/JupyROOT/helpers/utils.py ---- root-6.22.08.orig/bindings/pyroot_legacy/JupyROOT/helpers/utils.py 2021-03-10 15:19:14.000000000 +0100 -+++ root-6.22.08/bindings/pyroot_legacy/JupyROOT/helpers/utils.py 2021-06-17 19:32:12.019598879 +0200 -@@ -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.22.08.orig/etc/notebook/JsMVA/js/JsMVA.js root-6.22.08/etc/notebook/JsMVA/js/JsMVA.js ---- root-6.22.08.orig/etc/notebook/JsMVA/js/JsMVA.js 2021-03-10 15:19:14.000000000 +0100 -+++ root-6.22.08/etc/notebook/JsMVA/js/JsMVA.js 2021-06-17 19:32:12.020598882 +0200 -@@ -16,7 +16,7 @@ - - (function(factory){ - -- var JSROOT_source_dir = "https://root.cern.ch/js/notebook/scripts/"; -+ var JSROOT_source_dir = "/static/jsroot/scripts/"; - - var url = ""; - if (requirejs.s.contexts.hasOwnProperty("_")) { -diff -ur root-6.22.08.orig/etc/notebook/JsMVA/js/NetworkDesigner.js root-6.22.08/etc/notebook/JsMVA/js/NetworkDesigner.js ---- root-6.22.08.orig/etc/notebook/JsMVA/js/NetworkDesigner.js 2021-03-10 15:19:14.000000000 +0100 -+++ root-6.22.08/etc/notebook/JsMVA/js/NetworkDesigner.js 2021-06-17 19:32:12.020598882 +0200 -@@ -19,7 +19,7 @@ - paths: { - "jquery-connections": baseURL + "jquery.connections.min", - "jquery-timing": baseURL + "jquery-timing.min", -- "d3": "/static/scripts/d3.min" -+ "d3": "/static/jsroot/scripts/d3.min" - }, - shim: { - "jquery-ui": { diff --git a/root-linux-vdso.patch b/root-linux-vdso.patch deleted file mode 100644 index f749e9e..0000000 --- a/root-linux-vdso.patch +++ /dev/null @@ -1,47 +0,0 @@ -From f7161d2612c035604146298809e628d806dbed3a Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Sun, 29 Nov 2020 07:58:30 +0100 -Subject: [PATCH] Several new test failures on ppc64le with 6.22.06 due to: - g++: error: linux-vdso64.so.1: No such file or directory -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The list of names filtered out by TCling is incomplete. -The vdso(7) man page gives the following list: - - user ABI vDSO name - ───────────────────────────── - aarch64 linux-vdso.so.1 - arm linux-vdso.so.1 - ia64 linux-gate.so.1 - mips linux-vdso.so.1 - ppc/32 linux-vdso32.so.1 - ppc/64 linux-vdso64.so.1 - riscv linux-vdso.so.1 - s390 linux-vdso32.so.1 - s390x linux-vdso64.so.1 - sh linux-gate.so.1 - i386 linux-gate.so.1 - x86-64 linux-vdso.so.1 - x86/x32 linux-vdso.so.1 ---- - core/metacling/src/TCling.cxx | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/core/metacling/src/TCling.cxx b/core/metacling/src/TCling.cxx -index 5078d7b93e..0e605a5388 100644 ---- a/core/metacling/src/TCling.cxx -+++ b/core/metacling/src/TCling.cxx -@@ -3274,6 +3274,8 @@ static int callback_for_dl_iterate_phdr(struct dl_phdr_info *info, size_t size, - // Skip \0, "", and kernel pseudo-libs linux-vdso.so.1 or linux-gate.so.1 - if (info->dlpi_name && info->dlpi_name[0] - && strncmp(info->dlpi_name, "linux-vdso.so", 13) -+ && strncmp(info->dlpi_name, "linux-vdso32.so", 15) -+ && strncmp(info->dlpi_name, "linux-vdso64.so", 15) - && strncmp(info->dlpi_name, "linux-gate.so", 13)) - newLibs->emplace_back(info->dlpi_name); - sKnownLoadedLibBaseAddrs.insert(info->dlpi_addr); --- -2.28.0 - diff --git a/root-no-export-python-modules.patch b/root-no-export-python-modules.patch index 21b1319..aa7604d 100644 --- a/root-no-export-python-modules.patch +++ b/root-no-export-python-modules.patch @@ -1,6 +1,6 @@ -diff -ur root-6.22.02.orig/bindings/jupyroot/CMakeLists.txt root-6.22.02/bindings/jupyroot/CMakeLists.txt ---- root-6.22.02.orig/bindings/jupyroot/CMakeLists.txt 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/bindings/jupyroot/CMakeLists.txt 2020-08-19 09:49:12.094722642 +0200 +diff -ur root-6.24.02.orig/bindings/jupyroot/CMakeLists.txt root-6.24.02/bindings/jupyroot/CMakeLists.txt +--- root-6.24.02.orig/bindings/jupyroot/CMakeLists.txt 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/bindings/jupyroot/CMakeLists.txt 2021-08-11 10:53:03.272202496 +0200 @@ -70,8 +70,7 @@ endforeach() @@ -8,13 +8,13 @@ diff -ur root-6.22.02.orig/bindings/jupyroot/CMakeLists.txt root-6.22.02/binding - install(TARGETS ${libname} EXPORT ${CMAKE_PROJECT_NAME}Exports - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries + install(TARGETS ${libname} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) + LIBRARY DESTINATION ${CMAKE_INSTALL_PYTHONDIR} COMPONENT libraries + ARCHIVE DESTINATION ${CMAKE_INSTALL_PYTHONDIR} COMPONENT libraries) -diff -ur root-6.22.02.orig/bindings/pyroot/pythonizations/CMakeLists.txt root-6.22.02/bindings/pyroot/pythonizations/CMakeLists.txt ---- root-6.22.02.orig/bindings/pyroot/pythonizations/CMakeLists.txt 2020-08-17 14:41:56.000000000 +0200 -+++ root-6.22.02/bindings/pyroot/pythonizations/CMakeLists.txt 2020-08-19 10:36:10.390486171 +0200 -@@ -133,11 +133,10 @@ +diff -ur root-6.24.02.orig/bindings/pyroot/pythonizations/CMakeLists.txt root-6.24.02/bindings/pyroot/pythonizations/CMakeLists.txt +--- root-6.24.02.orig/bindings/pyroot/pythonizations/CMakeLists.txt 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/bindings/pyroot/pythonizations/CMakeLists.txt 2021-08-11 10:53:03.272202496 +0200 +@@ -137,11 +137,10 @@ # Create meta-target PyROOT2 and PyROOT3 (INTERFACE library) # Export of targets are not supported for custom targets(add_custom_targets()) add_library(PyROOT${python_major_version_string} INTERFACE) @@ -25,6 +25,6 @@ diff -ur root-6.22.02.orig/bindings/pyroot/pythonizations/CMakeLists.txt root-6. - install(TARGETS ${libname} EXPORT ${CMAKE_PROJECT_NAME}Exports - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries + install(TARGETS ${libname} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) + LIBRARY DESTINATION ${CMAKE_INSTALL_PYTHONDIR} COMPONENT libraries + ARCHIVE DESTINATION ${CMAKE_INSTALL_PYTHONDIR} COMPONENT libraries) diff --git a/root-ntuple-largefile.patch b/root-ntuple-largefile.patch deleted file mode 100644 index b4242f0..0000000 --- a/root-ntuple-largefile.patch +++ /dev/null @@ -1,139 +0,0 @@ -diff -ur root-6.22.00.orig/io/io/src/RRawFileUnix.cxx root-6.22.00/io/io/src/RRawFileUnix.cxx ---- root-6.22.00.orig/io/io/src/RRawFileUnix.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/io/io/src/RRawFileUnix.cxx 2020-07-02 09:02:48.202677798 +0200 -@@ -9,6 +9,8 @@ - * For the list of contributors see $ROOTSYS/README/CREDITS. * - *************************************************************************/ - -+#include "ROOT/RConfig.hxx" -+ - #include "ROOT/RRawFileUnix.hxx" - #include "ROOT/RMakeUnique.hxx" - -@@ -47,8 +49,13 @@ - - std::uint64_t ROOT::Internal::RRawFileUnix::GetSizeImpl() - { -+#ifdef R__SEEK64 -+ struct stat64 info; -+ int res = fstat64(fFileDes, &info); -+#else - struct stat info; - int res = fstat(fFileDes, &info); -+#endif - if (res != 0) - throw std::runtime_error("Cannot call fstat on '" + fUrl + "', error: " + std::string(strerror(errno))); - return info.st_size; -@@ -68,7 +75,11 @@ - - void ROOT::Internal::RRawFileUnix::OpenImpl() - { -+#ifdef R__SEEK64 -+ fFileDes = open64(GetLocation(fUrl).c_str(), O_RDONLY); -+#else - fFileDes = open(GetLocation(fUrl).c_str(), O_RDONLY); -+#endif - if (fFileDes < 0) { - throw std::runtime_error("Cannot open '" + fUrl + "', error: " + std::string(strerror(errno))); - } -@@ -76,8 +87,13 @@ - if (fOptions.fBlockSize >= 0) - return; - -+#ifdef R__SEEK64 -+ struct stat64 info; -+ int res = fstat64(fFileDes, &info); -+#else - struct stat info; - int res = fstat(fFileDes, &info); -+#endif - if (res != 0) { - throw std::runtime_error("Cannot call fstat on '" + fUrl + "', error: " + std::string(strerror(errno))); - } -@@ -92,7 +108,11 @@ - { - size_t total_bytes = 0; - while (nbytes) { -+#ifdef R__SEEK64 -+ ssize_t res = pread64(fFileDes, buffer, nbytes, offset); -+#else - ssize_t res = pread(fFileDes, buffer, nbytes, offset); -+#endif - if (res < 0) { - if (errno == EINTR) - continue; -diff -ur root-6.22.00.orig/tree/ntuple/v7/src/RMiniFile.cxx root-6.22.00/tree/ntuple/v7/src/RMiniFile.cxx ---- root-6.22.00.orig/tree/ntuple/v7/src/RMiniFile.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tree/ntuple/v7/src/RMiniFile.cxx 2020-07-02 10:06:55.066204147 +0200 -@@ -13,6 +13,8 @@ - * For the list of contributors see $ROOTSYS/README/CREDITS. * - *************************************************************************/ - -+#include -+ - #include "ROOT/RMiniFile.hxx" - - #include -@@ -999,7 +1001,11 @@ - R__ASSERT(fFile); - size_t retval; - if ((offset >= 0) && (static_cast(offset) != fFilePos)) { -+#ifdef R__SEEK64 -+ retval = fseeko64(fFile, offset, SEEK_SET); -+#else - retval = fseek(fFile, offset, SEEK_SET); -+#endif - R__ASSERT(retval == 0); - fFilePos = offset; - } -@@ -1099,7 +1105,11 @@ - if (idxDirSep != std::string::npos) { - fileName.erase(0, idxDirSep + 1); - } -+#ifdef R__SEEK64 -+ FILE *fileStream = fopen64(std::string(path.data(), path.size()).c_str(), "wb"); -+#else - FILE *fileStream = fopen(std::string(path.data(), path.size()).c_str(), "wb"); -+#endif - R__ASSERT(fileStream); - - auto writer = new RNTupleFileWriter(ntupleName); -@@ -1319,7 +1329,11 @@ - fFileSimple.Write(&strEmpty, strEmpty.GetSize()); - fFileSimple.Write(&fileRoot, fileRoot.GetSize()); - fFileSimple.fFilePos = tail; -+#ifdef R__SEEK64 -+ auto retval = fseeko64(fFileSimple.fFile, tail, SEEK_SET); -+#else - auto retval = fseek(fFileSimple.fFile, tail, SEEK_SET); -+#endif - R__ASSERT(retval == 0); - fFileSimple.fFilePos = tail; - } -diff -ur root-6.22.00.orig/tree/ntuple/v7/test/ntuple.cxx root-6.22.00/tree/ntuple/v7/test/ntuple.cxx ---- root-6.22.00.orig/tree/ntuple/v7/test/ntuple.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tree/ntuple/v7/test/ntuple.cxx 2020-07-02 10:10:54.409737807 +0200 -@@ -1,3 +1,5 @@ -+#include -+ - #include - #include - #include -@@ -891,10 +893,17 @@ - ntuple->Fill(); - } - } -+#ifdef R__SEEK64 -+ FILE *file = fopen64(fileGuard.GetPath().c_str(), "rb"); -+ ASSERT_TRUE(file != nullptr); -+ EXPECT_EQ(0, fseeko64(file, 0, SEEK_END)); -+ EXPECT_GT(ftello64(file), 2048LL * 1024LL * 1024LL); -+#else - FILE *file = fopen(fileGuard.GetPath().c_str(), "rb"); - ASSERT_TRUE(file != nullptr); - EXPECT_EQ(0, fseek(file, 0, SEEK_END)); - EXPECT_GT(ftell(file), 2048LL * 1024LL * 1024LL); -+#endif - fclose(file); - - auto ntuple = RNTupleReader::Open("myNTuple", fileGuard.GetPath()); diff --git a/root-old-gtest-compat.patch b/root-old-gtest-compat.patch index a25a8e8..bcba732 100644 --- a/root-old-gtest-compat.patch +++ b/root-old-gtest-compat.patch @@ -1,6 +1,20 @@ -diff -ur root-6.22.00.orig/math/mathcore/test/stress/testGenVector.cxx root-6.22.00/math/mathcore/test/stress/testGenVector.cxx ---- root-6.22.00.orig/math/mathcore/test/stress/testGenVector.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/math/mathcore/test/stress/testGenVector.cxx 2020-06-29 19:38:08.524050438 +0200 +diff -ur root-6.24.02.orig/hist/hist/test/test_THBinIterator.cxx root-6.24.02/hist/hist/test/test_THBinIterator.cxx +--- root-6.24.02.orig/hist/hist/test/test_THBinIterator.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/hist/hist/test/test_THBinIterator.cxx 2021-08-06 22:59:45.039518775 +0200 +@@ -1,5 +1,10 @@ + #include "gtest/gtest.h" + ++#ifndef INSTANTIATE_TEST_SUITE_P ++#define SetUpTestSuite SetUpTestCase ++#define TearDownTestSuite TearDownTestCase ++#endif ++ + // test iterating histogram bins and using the new THistRange and + // THBinIterator classes + +diff -ur root-6.24.02.orig/math/mathcore/test/stress/testGenVector.cxx root-6.24.02/math/mathcore/test/stress/testGenVector.cxx +--- root-6.24.02.orig/math/mathcore/test/stress/testGenVector.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/math/mathcore/test/stress/testGenVector.cxx 2021-08-06 09:31:38.795835283 +0200 @@ -4,6 +4,16 @@ #include "gtest/gtest.h" @@ -18,9 +32,9 @@ diff -ur root-6.22.00.orig/math/mathcore/test/stress/testGenVector.cxx root-6.22 #include "StatFunction.h" #include "TestHelper.h" #include "VectorTest.h" -diff -ur root-6.22.00.orig/math/mathcore/test/stress/testSMatrix.cxx root-6.22.00/math/mathcore/test/stress/testSMatrix.cxx ---- root-6.22.00.orig/math/mathcore/test/stress/testSMatrix.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/math/mathcore/test/stress/testSMatrix.cxx 2020-06-29 19:38:08.524050438 +0200 +diff -ur root-6.24.02.orig/math/mathcore/test/stress/testSMatrix.cxx root-6.24.02/math/mathcore/test/stress/testSMatrix.cxx +--- root-6.24.02.orig/math/mathcore/test/stress/testSMatrix.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/math/mathcore/test/stress/testSMatrix.cxx 2021-08-06 09:31:38.796835286 +0200 @@ -7,6 +7,16 @@ #include "TestHelper.h" #include "gtest/gtest.h" @@ -38,9 +52,9 @@ diff -ur root-6.22.00.orig/math/mathcore/test/stress/testSMatrix.cxx root-6.22.0 #include "VectorTest.h" #include "TROOT.h" #include "TSystem.h" -diff -ur root-6.22.00.orig/math/mathcore/test/stress/testVector34.cxx root-6.22.00/math/mathcore/test/stress/testVector34.cxx ---- root-6.22.00.orig/math/mathcore/test/stress/testVector34.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/math/mathcore/test/stress/testVector34.cxx 2020-06-29 19:38:08.525050440 +0200 +diff -ur root-6.24.02.orig/math/mathcore/test/stress/testVector34.cxx root-6.24.02/math/mathcore/test/stress/testVector34.cxx +--- root-6.24.02.orig/math/mathcore/test/stress/testVector34.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/math/mathcore/test/stress/testVector34.cxx 2021-08-06 09:31:38.796835286 +0200 @@ -4,6 +4,16 @@ #include "gtest/gtest.h" @@ -58,9 +72,9 @@ diff -ur root-6.22.00.orig/math/mathcore/test/stress/testVector34.cxx root-6.22. #include "StatFunction.h" #include "VectorTest.h" -diff -ur root-6.22.00.orig/math/mathcore/test/stress/testVector.cxx root-6.22.00/math/mathcore/test/stress/testVector.cxx ---- root-6.22.00.orig/math/mathcore/test/stress/testVector.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/math/mathcore/test/stress/testVector.cxx 2020-06-29 19:38:08.525050440 +0200 +diff -ur root-6.24.02.orig/math/mathcore/test/stress/testVector.cxx root-6.24.02/math/mathcore/test/stress/testVector.cxx +--- root-6.24.02.orig/math/mathcore/test/stress/testVector.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/math/mathcore/test/stress/testVector.cxx 2021-08-06 09:31:38.796835286 +0200 @@ -4,6 +4,16 @@ #include "gtest/gtest.h" @@ -78,9 +92,9 @@ diff -ur root-6.22.00.orig/math/mathcore/test/stress/testVector.cxx root-6.22.00 #include "StatFunction.h" #include "TestHelper.h" #include "VectorTest.h" -diff -ur root-6.22.00.orig/math/mathcore/test/testGradient.cxx root-6.22.00/math/mathcore/test/testGradient.cxx ---- root-6.22.00.orig/math/mathcore/test/testGradient.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/math/mathcore/test/testGradient.cxx 2020-06-29 19:38:08.525050440 +0200 +diff -ur root-6.24.02.orig/math/mathcore/test/testGradient.cxx root-6.24.02/math/mathcore/test/testGradient.cxx +--- root-6.24.02.orig/math/mathcore/test/testGradient.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/math/mathcore/test/testGradient.cxx 2021-08-06 09:31:38.796835286 +0200 @@ -22,6 +22,10 @@ #include "gtest/gtest.h" @@ -92,9 +106,9 @@ diff -ur root-6.22.00.orig/math/mathcore/test/testGradient.cxx root-6.22.00/math #include #include #include -diff -ur root-6.22.00.orig/math/mathcore/test/testGradientFitting.cxx root-6.22.00/math/mathcore/test/testGradientFitting.cxx ---- root-6.22.00.orig/math/mathcore/test/testGradientFitting.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/math/mathcore/test/testGradientFitting.cxx 2020-06-29 19:38:08.525050440 +0200 +diff -ur root-6.24.02.orig/math/mathcore/test/testGradientFitting.cxx root-6.24.02/math/mathcore/test/testGradientFitting.cxx +--- root-6.24.02.orig/math/mathcore/test/testGradientFitting.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/math/mathcore/test/testGradientFitting.cxx 2021-08-06 09:31:38.797835288 +0200 @@ -12,6 +12,16 @@ #include "gtest/gtest.h" @@ -112,10 +126,10 @@ diff -ur root-6.22.00.orig/math/mathcore/test/testGradientFitting.cxx root-6.22. #include #include -diff -ur root-6.22.00.orig/math/mathmore/test/testStress.cxx root-6.22.00/math/mathmore/test/testStress.cxx ---- root-6.22.00.orig/math/mathmore/test/testStress.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/math/mathmore/test/testStress.cxx 2020-06-29 19:38:08.526050443 +0200 -@@ -28,6 +28,16 @@ +diff -ur root-6.24.02.orig/math/mathmore/test/testStress.cxx root-6.24.02/math/mathmore/test/testStress.cxx +--- root-6.24.02.orig/math/mathmore/test/testStress.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/math/mathmore/test/testStress.cxx 2021-08-06 09:31:38.797835288 +0200 +@@ -26,6 +26,16 @@ #include "gtest/gtest.h" @@ -132,9 +146,9 @@ diff -ur root-6.22.00.orig/math/mathmore/test/testStress.cxx root-6.22.00/math/m using ::testing::TestWithParam; using ::testing::Values; -diff -ur root-6.22.00.orig/roofit/roofitcore/test/testProxiesAndCategories.cxx root-6.22.00/roofit/roofitcore/test/testProxiesAndCategories.cxx ---- root-6.22.00.orig/roofit/roofitcore/test/testProxiesAndCategories.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/roofit/roofitcore/test/testProxiesAndCategories.cxx 2020-06-29 19:38:08.526050443 +0200 +diff -ur root-6.24.02.orig/roofit/roofitcore/test/testProxiesAndCategories.cxx root-6.24.02/roofit/roofitcore/test/testProxiesAndCategories.cxx +--- root-6.24.02.orig/roofit/roofitcore/test/testProxiesAndCategories.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/roofit/roofitcore/test/testProxiesAndCategories.cxx 2021-08-06 09:31:38.798835290 +0200 @@ -16,6 +16,9 @@ #include "gtest/gtest.h" @@ -145,9 +159,49 @@ diff -ur root-6.22.00.orig/roofit/roofitcore/test/testProxiesAndCategories.cxx r TEST(RooCategory, CategoryDefineMultiState) { RooCategory myCat("myCat", "A category", { {"0Lep", 0}, {"1Lep", 1}, {"2Lep", 2}, {"3Lep", 3} }); -diff -ur root-6.22.00.orig/tree/dataframe/test/dataframe_simple.cxx root-6.22.00/tree/dataframe/test/dataframe_simple.cxx ---- root-6.22.00.orig/tree/dataframe/test/dataframe_simple.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/tree/dataframe/test/dataframe_simple.cxx 2020-06-29 19:38:45.667130468 +0200 +diff -ur root-6.24.02.orig/tree/dataframe/test/dataframe_datablockcallback.cxx root-6.24.02/tree/dataframe/test/dataframe_datablockcallback.cxx +--- root-6.24.02.orig/tree/dataframe/test/dataframe_datablockcallback.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tree/dataframe/test/dataframe_datablockcallback.cxx 2021-08-06 09:31:38.801835298 +0200 +@@ -11,6 +11,10 @@ + + #include + ++#ifndef INSTANTIATE_TEST_SUITE_P ++#define INSTANTIATE_TEST_SUITE_P INSTANTIATE_TEST_CASE_P ++#endif ++ + #include // std::min + #include // std::hardware_concurrency + +diff -ur root-6.24.02.orig/tree/dataframe/test/dataframe_merge_results.cxx root-6.24.02/tree/dataframe/test/dataframe_merge_results.cxx +--- root-6.24.02.orig/tree/dataframe/test/dataframe_merge_results.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tree/dataframe/test/dataframe_merge_results.cxx 2021-08-06 09:31:38.802835300 +0200 +@@ -308,7 +308,7 @@ + EXPECT_FALSE(mh3); + EXPECT_FALSE(mh4); + EXPECT_FALSE(mh5); +- EXPECT_TRUE(mergedptr); ++ EXPECT_TRUE(!!mergedptr); + + const auto &mh = mergedptr->GetValue(); + +diff -ur root-6.24.02.orig/tree/dataframe/test/dataframe_regression.cxx root-6.24.02/tree/dataframe/test/dataframe_regression.cxx +--- root-6.24.02.orig/tree/dataframe/test/dataframe_regression.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tree/dataframe/test/dataframe_regression.cxx 2021-08-06 09:31:38.802835300 +0200 +@@ -9,6 +9,10 @@ + + #include "gtest/gtest.h" + ++#ifndef INSTANTIATE_TEST_SUITE_P ++#define INSTANTIATE_TEST_SUITE_P INSTANTIATE_TEST_CASE_P ++#endif ++ + // Fixture for all tests in this file. If parameter is true, run with implicit MT, else run sequentially + class RDFRegressionTests : public ::testing::TestWithParam { + protected: +diff -ur root-6.24.02.orig/tree/dataframe/test/dataframe_simple.cxx root-6.24.02/tree/dataframe/test/dataframe_simple.cxx +--- root-6.24.02.orig/tree/dataframe/test/dataframe_simple.cxx 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/tree/dataframe/test/dataframe_simple.cxx 2021-08-06 09:31:38.803835303 +0200 @@ -1,5 +1,10 @@ /****** Run RDataFrame tests both with and without IMT enabled *******/ #include @@ -156,6 +210,6 @@ diff -ur root-6.22.00.orig/tree/dataframe/test/dataframe_simple.cxx root-6.22.00 +#define INSTANTIATE_TEST_SUITE_P INSTANTIATE_TEST_CASE_P +#endif + + #include #include #include - #include diff --git a/root-older-python.patch b/root-older-python.patch new file mode 100644 index 0000000..fa6a05a --- /dev/null +++ b/root-older-python.patch @@ -0,0 +1,46 @@ +From 61116151cce8fe5b397555a65f7b55001b8e416b Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Fri, 23 Apr 2021 21:39:17 +0200 +Subject: [PATCH] Compat with no f-strings + +--- + tutorials/tmva/PyTorch_Generate_CNN_Model.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/tutorials/tmva/PyTorch_Generate_CNN_Model.py b/tutorials/tmva/PyTorch_Generate_CNN_Model.py +index 7024112f03..5a314f86dd 100644 +--- a/tutorials/tmva/PyTorch_Generate_CNN_Model.py ++++ b/tutorials/tmva/PyTorch_Generate_CNN_Model.py +@@ -56,7 +56,7 @@ def fit(model, train_loader, val_loader, num_epochs, batch_size, optimizer, crit + # print train statistics + running_train_loss += train_loss.item() + if i % 4 == 3: # print every 4 mini-batches +- print(f"[{epoch+1}, {i+1}] train loss: {running_train_loss / 4 :.3f}") ++ print("[{}, {}] train loss: {:.3f}".format(epoch+1, i+1, running_train_loss / 4)) + running_train_loss = 0.0 + + if schedule: +@@ -75,15 +75,15 @@ def fit(model, train_loader, val_loader, num_epochs, batch_size, optimizer, crit + + curr_val = running_val_loss / len(val_loader) + if save_best: +- if best_val==None: +- best_val = curr_val +- best_val = save_best(model, curr_val, best_val) ++ if best_val is None: ++ best_val = curr_val ++ best_val = save_best(model, curr_val, best_val) + + # print val statistics per epoch +- print(f"[{epoch+1}] val loss: {curr_val :.3f}") ++ print("[{}] val loss: {:.3f}".format(epoch+1, curr_val)) + running_val_loss = 0.0 + +- print(f"Finished Training on {epoch+1} Epochs!") ++ print("Finished Training on {} Epochs!".format(epoch+1)) + + return model + +-- +2.30.2 + diff --git a/root-ppc-codemodel.patch b/root-ppc-codemodel.patch new file mode 100644 index 0000000..223dc7c --- /dev/null +++ b/root-ppc-codemodel.patch @@ -0,0 +1,36 @@ +From 774ab9358d852e2c004564183de4a60eaaa5ac98 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Fri, 23 Apr 2021 21:40:14 +0200 +Subject: [PATCH 2/2] Actually request the use of the large code model for + ppc64/ppc64le + +Instead of erroring out with an assert. +--- + interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp b/interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp +index 46771aa8c0..93a48f31f3 100644 +--- a/interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp ++++ b/interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp +@@ -73,14 +73,14 @@ CreateHostTargetMachine(const clang::CompilerInstance& CI) { + JTMB->getOptions().EmulatedTLS = false; + #endif // _WIN32 + +- std::unique_ptr TM = cantFail(JTMB->createTargetMachine()); +- + #if defined(__powerpc64__) || defined(__PPC64__) + // We have to use large code model for PowerPC64 because TOC and text sections + // can be more than 2GB apart. +- assert(TM->getCodeModel() >= CodeModel::Large); ++ JTMB->setCodeModel(CodeModel::Large); + #endif + ++ std::unique_ptr TM = cantFail(JTMB->createTargetMachine()); ++ + // Forcefully disable GlobalISel, it might be enabled on AArch64 without + // optimizations. In tests on an Apple M1 after the upgrade to LLVM 9, this + // new instruction selection framework emits branches / calls that expect all +-- +2.30.2 + diff --git a/root-ppc-no-codemodel.patch b/root-ppc-no-codemodel.patch new file mode 100644 index 0000000..3429097 --- /dev/null +++ b/root-ppc-no-codemodel.patch @@ -0,0 +1,13 @@ +diff --git a/interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp b/interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp +index c98a3be0ed..f77d4adec2 100644 +--- a/interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp ++++ b/interpreter/cling/lib/Interpreter/IncrementalExecutor.cpp +@@ -77,7 +77,7 @@ CreateHostTargetMachine(const clang::CompilerInstance& CI) { + #if defined(__powerpc64__) || defined(__PPC64__) + // We have to use large code model for PowerPC64 because TOC and text sections + // can be more than 2GB apart. +- JTMB->setCodeModel(CodeModel::Large); ++ //JTMB->setCodeModel(CodeModel::Large); + #endif + + std::unique_ptr TM = cantFail(JTMB->createTargetMachine()); diff --git a/root-ptr-is-null-RooFit-TMVA.patch b/root-ptr-is-null-RooFit-TMVA.patch new file mode 100644 index 0000000..3aa3acd --- /dev/null +++ b/root-ptr-is-null-RooFit-TMVA.patch @@ -0,0 +1,80 @@ +From c65f3d96f3f4433bff9d40fa9cf1dec100867a07 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Tue, 8 Jun 2021 10:12:37 +0200 +Subject: [PATCH] Fix 'this' pointer is null warnings + +.../roofit/roofitcore/src/RooDataHist.cxx: In member function 'void RooDataHist::_adjustBinning(RooRealVar&, const TAxis&, RooRealVar*, Int_t*)': +.../roofit/roofitcore/src/RooDataHist.cxx:595:122: warning: 'this' pointer is null [-Wnonnull] + 595 | coutE(InputArguments) << "RooDataHist::adjustBinning(" << GetName() << ") ERROR: dimension " << ourVar->GetName() << " must be real" << endl ; + | ^~~~~~~~~~~~~~~ + +.../roofit/roofitcore/src/RooRealSumFunc.cxx: In constructor 'RooRealSumFunc::RooRealSumFunc(const char*, const char*, const RooArgList&, const RooArgList&)': +.../roofit/roofitcore/src/RooRealSumFunc.cxx:156:35: warning: 'this' pointer is null [-Wnonnull] + 156 | << " is not of type RooAbsReal, fatal error" << endl; + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.../tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx: In member function 'void TMVA::DNN::TDataLoader >::CopyInput(TMatrixT&, TMVA::DNN::IndexIterator_t) [with AData = std::tuple >&, const TMVA::DataSetInfo&>; AReal = float]': +.../tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx:131:34: warning: 'this' pointer is null [-Wnonnull] + 131 | Int_t n = event->GetNVariables(); + | ~~~~~~~~~~~~~~~~~~~~^~ +In file included from .../tmva/tmva/inc/TMVA/VariableTransformBase.h:48, + from .../tmva/tmva/inc/TMVA/Tools.h:58, + from .../tmva/tmva/inc/TMVA/DNN/GeneralLayer.h:36, + from .../tmva/tmva/inc/TMVA/DNN/CNN/ConvLayer.h:32, + from .../tmva/tmva/inc/TMVA/DNN/Architectures/Reference.h:24, + from .../tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx:17: +.../tmva/tmva/inc/TMVA/Event.h:88:16: note: in a call to non-static member function 'UInt_t TMVA::Event::GetNVariables() const' + 88 | UInt_t GetNVariables() const; + | ^~~~~~~~~~~~~ +--- + roofit/roofitcore/src/RooDataHist.cxx | 2 +- + roofit/roofitcore/src/RooRealSumFunc.cxx | 4 ++-- + tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/roofit/roofitcore/src/RooDataHist.cxx b/roofit/roofitcore/src/RooDataHist.cxx +index 84cf2c0f68..8dddb88e2b 100644 +--- a/roofit/roofitcore/src/RooDataHist.cxx ++++ b/roofit/roofitcore/src/RooDataHist.cxx +@@ -591,7 +591,7 @@ void RooDataHist::importDHistSet(const RooArgList& /*vars*/, RooCategory& indexC + void RooDataHist::_adjustBinning(RooRealVar &theirVar, const TAxis &axis, + RooRealVar *ourVar, Int_t *offset) + { +- if (!dynamic_cast(ourVar)) { ++ if (!dynamic_cast(static_cast(ourVar))) { + coutE(InputArguments) << "RooDataHist::adjustBinning(" << GetName() << ") ERROR: dimension " << ourVar->GetName() << " must be real" << endl ; + assert(0) ; + } +diff --git a/roofit/roofitcore/src/RooRealSumFunc.cxx b/roofit/roofitcore/src/RooRealSumFunc.cxx +index 3f78020acd..a1625d7e35 100644 +--- a/roofit/roofitcore/src/RooRealSumFunc.cxx ++++ b/roofit/roofitcore/src/RooRealSumFunc.cxx +@@ -149,10 +149,10 @@ RooRealSumFunc::RooRealSumFunc(const char *name, const char *title, const RooArg + _coefList.add(*coef); + } + +- func = (RooAbsReal *)funcIter->Next(); ++ func = (RooAbsArg *)funcIter->Next(); + if (func) { + if (!dynamic_cast(func)) { +- coutE(InputArguments) << "RooRealSumFunc::RooRealSumFunc(" << GetName() << ") last func " << coef->GetName() ++ coutE(InputArguments) << "RooRealSumFunc::RooRealSumFunc(" << GetName() << ") last func " << func->GetName() + << " is not of type RooAbsReal, fatal error" << endl; + assert(0); + } +diff --git a/tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx b/tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx +index 2465abf308..24a09d1fc0 100644 +--- a/tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx ++++ b/tmva/tmva/src/DNN/Architectures/Reference/DataLoader.cxx +@@ -128,7 +128,7 @@ void TDataLoader>::CopyInput(TMatrixT &m + Event *event = nullptr; + + Int_t m = matrix.GetNrows(); +- Int_t n = event->GetNVariables(); ++ Int_t n = matrix.GetNcols(); + + // Copy input variables. + +-- +2.31.1 + diff --git a/root-ptr-is-null-TStreamerInfo.patch b/root-ptr-is-null-TStreamerInfo.patch new file mode 100644 index 0000000..869715c --- /dev/null +++ b/root-ptr-is-null-TStreamerInfo.patch @@ -0,0 +1,32 @@ +From 1ca221f010fdcfb6249ae7b1cac77fbe29b86214 Mon Sep 17 00:00:00 2001 +From: Enrico Guiraud +Date: Mon, 7 Jun 2021 11:02:48 +0200 +Subject: [PATCH] [io] Avoid nullptr deref when printing warning in + TStreamerInfo + +--- + io/io/src/TStreamerInfo.cxx | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/io/io/src/TStreamerInfo.cxx b/io/io/src/TStreamerInfo.cxx +index d545ab7be8..a026635890 100644 +--- a/io/io/src/TStreamerInfo.cxx ++++ b/io/io/src/TStreamerInfo.cxx +@@ -1109,12 +1109,12 @@ void TStreamerInfo::BuildCheck(TFile *file /* = 0 */, Bool_t load /* = kTRUE */) + fClassVersion, GetName(), GetName(), GetName(), fClassVersion); + } else { + Warning("BuildCheck", "\n\ +- The StreamerInfo from %s does not match existing one (%s:%d)\n\ ++ The StreamerInfo does not match existing one (%s:%d)\n\ + The existing one has not been used yet and will be discarded.\n\ + Reading should work properly, however writing object of\n\ + type %s will not work properly. Most likely the version number\n\ + of the class was not properly updated [See ClassDef(%s,%d)].", +- file->GetName(), GetName(), fClassVersion, GetName(), GetName(), fClassVersion); ++ GetName(), fClassVersion, GetName(), GetName(), fClassVersion); + } + } + } +-- +2.31.1 + diff --git a/root-python3.8-object.patch b/root-python3.8-object.patch deleted file mode 100644 index 1cc6c7b..0000000 --- a/root-python3.8-object.patch +++ /dev/null @@ -1,333 +0,0 @@ -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt 2020-06-21 20:54:24.848992803 +0200 -@@ -85,11 +85,6 @@ - target_compile_options(${libname} 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(${libname} PRIVATE -Wno-missing-field-initializers) -- endif() -- - target_include_directories(${libname} - PRIVATE - ${CMAKE_SOURCE_DIR}/core/foundation/inc # needed for string_view backport -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPDataMember.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPDataMember.cxx ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPDataMember.cxx 2020-06-21 20:53:49.651914431 +0200 -@@ -167,7 +167,8 @@ - sizeof(CPPDataMember), // tp_basicsize - 0, // tp_itemsize - (destructor)pp_dealloc, // tp_dealloc -- 0, // tp_print -+ 0, // tp_print (python < 3.8) -+ // tp_vectorcall_offset (python >= 3.8) - 0, // tp_getattr - 0, // tp_setattr - 0, // tp_compare -@@ -216,6 +217,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 - }; - - } // namespace CPyCppyy -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPExcInstance.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPExcInstance.cxx ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPExcInstance.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPExcInstance.cxx 2020-06-21 20:53:49.651914431 +0200 -@@ -158,7 +158,8 @@ - sizeof(CPPExcInstance), // tp_basicsize - 0, // tp_itemsize - (destructor)ep_dealloc, // tp_dealloc -- 0, // tp_print -+ 0, // tp_print (python < 3.8) -+ // tp_vectorcall_offset (python >= 3.8) - 0, // tp_getattr - 0, // tp_setattr - 0, // tp_compare -@@ -211,6 +212,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 - }; - - } // namespace CPyCppyy -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx 2020-06-21 20:53:49.651914431 +0200 -@@ -746,7 +746,8 @@ - sizeof(CPPInstance), // tp_basicsize - 0, // tp_itemsize - (destructor)op_dealloc, // tp_dealloc -- 0, // tp_print -+ 0, // tp_print (python < 3.8) -+ // tp_vectorcall_offset (python >= 3.8) - 0, // tp_getattr - 0, // tp_setattr - 0, // tp_compare -@@ -798,6 +799,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 - }; - - } // namespace CPyCppyy -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPOverload.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPOverload.cxx ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPOverload.cxx 2020-06-21 20:53:49.652914433 +0200 -@@ -866,7 +866,8 @@ - sizeof(CPPOverload), // tp_basicsize - 0, // tp_itemsize - (destructor)mp_dealloc, // tp_dealloc -- 0, // tp_print -+ 0, // tp_print (python < 3.8) -+ // tp_vectorcall_offset (python >= 3.8) - 0, // tp_getattr - 0, // tp_setattr - 0, // tp_compare -@@ -915,6 +916,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 - }; - - } // namespace CPyCppyy -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPScope.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPScope.cxx ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPPScope.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPPScope.cxx 2020-06-21 20:53:49.652914433 +0200 -@@ -616,7 +616,8 @@ - sizeof(CPyCppyy::CPPScope), // tp_basicsize - 0, // tp_itemsize - 0, // tp_dealloc -- 0, // tp_print -+ 0, // tp_print (python < 3.8) -+ // tp_vectorcall_offset (python >= 3.8) - 0, // tp_getattr - 0, // tp_setattr - 0, // tp_compare -@@ -669,6 +670,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 - }; - - } // namespace CPyCppyy -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPyCppyyModule.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPyCppyyModule.cxx ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CPyCppyyModule.cxx 2020-06-21 20:53:49.652914433 +0200 -@@ -141,6 +141,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 - }; - - namespace { -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx 2020-06-21 20:53:49.652914433 +0200 -@@ -34,6 +34,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 - }; - - //= long type allowed for reference passing ================================== -@@ -60,6 +66,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 - }; - - //- custom type representing typedef to pointer of class --------------------- -@@ -90,6 +102,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 ================ -@@ -255,6 +273,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 - }; - - -@@ -305,6 +329,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 - }; - - -@@ -364,6 +394,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 - }; - - } // namespace CPyCppyy -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/LowLevelViews.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/LowLevelViews.cxx ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/LowLevelViews.cxx 2020-06-21 20:53:49.653914436 +0200 -@@ -651,7 +651,8 @@ - sizeof(CPyCppyy::LowLevelView),// tp_basicsize - 0, // tp_itemsize - (destructor)ll_dealloc, // tp_dealloc -- 0, // tp_print -+ 0, // tp_print (python < 3.8) -+ // tp_vectorcall_offset (python >= 3.8) - 0, // tp_getattr - 0, // tp_setattr - 0, // tp_compare -@@ -701,6 +702,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 - }; - - } // namespace CPyCppyy -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/TemplateProxy.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/TemplateProxy.cxx ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/TemplateProxy.cxx 2020-06-21 20:53:49.653914436 +0200 -@@ -730,7 +730,8 @@ - sizeof(TemplateProxy), // tp_basicsize - 0, // tp_itemsize - (destructor)tpp_dealloc, // tp_dealloc -- 0, // tp_print -+ 0, // tp_print (python < 3.8) -+ // tp_vectorcall_offset (python >= 3.8) - 0, // tp_getattr - 0, // tp_setattr - 0, // tp_compare -@@ -779,6 +780,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 - }; - - } // namespace CPyCppyy -diff -ur root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/TupleOfInstances.cxx root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/TupleOfInstances.cxx ---- root-6.22.00.orig/bindings/pyroot/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/bindings/pyroot/cppyy/CPyCppyy/src/TupleOfInstances.cxx 2020-06-21 20:53:49.653914436 +0200 -@@ -82,6 +82,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 - }; - - -@@ -161,7 +167,8 @@ - 0, // tp_basicsize - 0, // tp_itemsize - 0, // tp_dealloc -- 0, // tp_print -+ 0, // tp_print (python < 3.8) -+ // tp_vectorcall_offset (python >= 3.8) - 0, // tp_getattr - 0, // tp_setattr - 0, // tp_compare -@@ -211,6 +218,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 - }; - - } // namespace CPyCppyy diff --git a/root-roostats-test-ppc64le-aarch64.patch b/root-roostats-test-ppc64le-aarch64.patch deleted file mode 100644 index b88d052..0000000 --- a/root-roostats-test-ppc64le-aarch64.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 357ac50a2420a4544c9c63594cccb994ee14f870 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Sat, 13 Jun 2020 14:23:15 +0200 -Subject: [PATCH] The roofit/roostats/test/testHypoTestInvResult.cxx test fails - on aarch64 and ppc64le. This commit adjusts the allowed deviation from the - expected value so that the test passes. - -The reported error is (with slight variations in the exact numbers): - -/builddir/build/BUILD/root-6.20.06/roofit/roostats/test/testHypoTestInvResult.cxx:24: Failure -The difference between result->UpperLimitEstimatedError() and 0.059684301 is 1.1846561807221656e-07, which exceeds 1.E-8, where -result->UpperLimitEstimatedError() evaluates to 0.05968418253438193, -0.059684301 evaluates to 0.059684301000000002, and -1.E-8 evaluates to 1e-08. ---- - roofit/roostats/test/testHypoTestInvResult.cxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/roofit/roostats/test/testHypoTestInvResult.cxx b/roofit/roostats/test/testHypoTestInvResult.cxx -index 9c2896185a..b89eab9b69 100644 ---- a/roofit/roostats/test/testHypoTestInvResult.cxx -+++ b/roofit/roostats/test/testHypoTestInvResult.cxx -@@ -21,7 +21,7 @@ TEST(HypoTestInvResult, ReadFromFile) - - // This just reads members - EXPECT_NEAR(result->UpperLimit(), 2.4613465, 1.E-7); -- EXPECT_NEAR(result->UpperLimitEstimatedError(), 0.059684301, 1.E-8); -+ EXPECT_NEAR(result->UpperLimitEstimatedError(), 0.059684301, 2.E-7); - - // This accesses the sampling distribution - EXPECT_DOUBLE_EQ(result->GetExpectedUpperLimit(0), 1.60988427028569); --- -2.26.2 - diff --git a/root-setcachefiledir.patch b/root-setcachefiledir.patch deleted file mode 100644 index 1244734..0000000 --- a/root-setcachefiledir.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 532e02a0e5373d26f73495183dc13055e7f13421 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Mon, 29 Jun 2020 12:08:15 +0200 -Subject: [PATCH] Add missing call to TFile::SetCacheFileDir(".") - -Without it the following TFile::Open call using the CACHEREAD option -will not work as intended: -inputFile = TFile::Open(inputFileLink, "CACHEREAD"); ---- - tutorials/tmva/TMVA_Higgs_Classification.C | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/tutorials/tmva/TMVA_Higgs_Classification.C b/tutorials/tmva/TMVA_Higgs_Classification.C -index 6b4a8ed028..85dffc2790 100644 ---- a/tutorials/tmva/TMVA_Higgs_Classification.C -+++ b/tutorials/tmva/TMVA_Higgs_Classification.C -@@ -72,9 +72,8 @@ Define now input data file and signal and background trees - if (!inputFile) { - // download file from Cernbox location - Info("TMVA_Higgs_Classification","Download Higgs_data.root file"); -+ TFile::SetCacheFileDir("."); - inputFile = TFile::Open(inputFileLink, "CACHEREAD"); -- //gSystem->Exec( TString::Format("wget -O %s %s",inputFileName.Data(), downloadLinkFile.Data() ) ); -- //inputFile = TFile::Open( inputFileName); - if (!inputFile) { - Error("TMVA_Higgs_Classification","Input file cannot be downloaded - exit"); - return; --- -2.26.2 - diff --git a/root-srm-ifce-deps.patch b/root-srm-ifce-deps.patch deleted file mode 100644 index 929d799..0000000 --- a/root-srm-ifce-deps.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 7e8706b21dc62fc7b56709cf03c2650c715e5b64 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Wed, 19 Aug 2020 20:23:15 +0200 -Subject: [PATCH] When building ROOT's libGFAL using gfal2, srm-ifce is not a - build dependency. - ---- - cmake/modules/FindGFAL.cmake | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -diff --git a/cmake/modules/FindGFAL.cmake b/cmake/modules/FindGFAL.cmake -index 71163a1714..74028ac5a7 100644 ---- a/cmake/modules/FindGFAL.cmake -+++ b/cmake/modules/FindGFAL.cmake -@@ -17,22 +17,26 @@ find_path(GFAL_INCLUDE_DIR NAMES gfal_api.h - HINTS ${GFAL_DIR}/include $ENV{GFAL_DIR}/include) - find_library(GFAL_LIBRARY NAMES gfal gfal2 - HINTS ${GFAL_DIR}/lib $ENV{GFAL_DIR}/lib) --find_path(SRM_IFCE_INCLUDE_DIR gfal_srm_ifce_types.h -- HINTS ${SRM_IFCE_DIR}/include $ENV{SRM_IFCE_DIR}/include) - - set(GFAL_LIBRARIES ${GFAL_LIBRARY}) --set(GFAL_INCLUDE_DIRS ${GFAL_INCLUDE_DIR} ${SRM_IFCE_INCLUDE_DIR}) -+set(GFAL_INCLUDE_DIRS ${GFAL_INCLUDE_DIR}) - - if(GFAL_LIBRARY MATCHES gfal2) - # use pkg-config to get the directories for glib and then use these values - find_package(PkgConfig) - pkg_check_modules(GLIB2 REQUIRED glib-2.0) - list(APPEND GFAL_INCLUDE_DIRS ${GLIB2_INCLUDE_DIRS}) -+ set(GFAL_DEP GLIB2_INCLUDE_DIRS) -+else() -+ find_path(SRM_IFCE_INCLUDE_DIR gfal_srm_ifce_types.h -+ HINTS ${SRM_IFCE_DIR}/include $ENV{SRM_IFCE_DIR}/include) -+ list(APPEND GFAL_INCLUDE_DIRS ${SRM_IFCE_INCLUDE_DIR}) -+ set(GFAL_DEP SRM_IFCE_INCLUDE_DIR) - endif() - - # handle the QUIETLY and REQUIRED arguments and set GFAL_FOUND to TRUE if - # all listed variables are TRUE - include(FindPackageHandleStandardArgs) --find_package_handle_standard_args(GFAL DEFAULT_MSG GFAL_INCLUDE_DIR SRM_IFCE_INCLUDE_DIR GFAL_LIBRARY) -+find_package_handle_standard_args(GFAL DEFAULT_MSG GFAL_INCLUDE_DIR ${GFAL_DEP} GFAL_LIBRARY) - --mark_as_advanced(GFAL_FOUND GFAL_INCLUDE_DIR GFAL_LIBRARY SRM_IFCE_INCLUDE_DIR GLIB_INCLUDE_DIR) -+mark_as_advanced(GFAL_FOUND GFAL_INCLUDE_DIR GFAL_LIBRARY SRM_IFCE_INCLUDE_DIR GLIB2_INCLUDE_DIRS) --- -2.26.2 - diff --git a/root-stress-s390x.patch b/root-stress-s390x.patch new file mode 100644 index 0000000..b1d9b9d --- /dev/null +++ b/root-stress-s390x.patch @@ -0,0 +1,39 @@ +From 30cbc0d44364586ac64a3ac0fd6641e338549bbe Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Tue, 10 Aug 2021 06:33:17 +0200 +Subject: [PATCH] Adjust tests for s390x + +--- + math/mathcore/test/stress/testGenVector.cxx | 2 +- + test/stressMathCore.cxx | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/math/mathcore/test/stress/testGenVector.cxx b/math/mathcore/test/stress/testGenVector.cxx +index 8da429c395..df9061c88e 100644 +--- a/math/mathcore/test/stress/testGenVector.cxx ++++ b/math/mathcore/test/stress/testGenVector.cxx +@@ -79,7 +79,7 @@ TYPED_TEST_P(GenVectorTest, TestGenVectors) + scale = this->fDim * 20; + if (this->fDim == 3 && this->V2Name() == "RhoEtaPhiVector") scale *= 12; // for problem with RhoEtaPhi + if (this->fDim == 4 && ( this->V2Name() == "PtEtaPhiMVector" || this->V2Name() == "PxPyPzMVector")) { +-#if (defined(__arm__) || defined(__arm64__) || defined(__aarch64__)) ++#if (defined(__arm__) || defined(__arm64__) || defined(__aarch64__) || defined(__s390x__)) + scale *= 1.E7; + #else + scale *= 10; +diff --git a/test/stressMathCore.cxx b/test/stressMathCore.cxx +index 4d4695a8a0..b6d2d2c9e7 100644 +--- a/test/stressMathCore.cxx ++++ b/test/stressMathCore.cxx +@@ -1120,7 +1120,7 @@ int testVector(int ngen, bool testio=false) { + scale = Dim*20; + if (Dim==3 && VecType::name() == "RhoEtaPhiVector") scale *= 12; // for problem with RhoEtaPhi + if (Dim==4 && ( VecType::name() == "PtEtaPhiMVector" || VecType::name() == "PxPyPzMVector")) { +-#if (defined(__arm__) || defined(__arm64__) || defined(__aarch64__)) ++#if (defined(__arm__) || defined(__arm64__) || defined(__aarch64__) || defined(__s390x__)) + scale *= 1.E7; + #else + scale *= 10; +-- +2.31.1 + diff --git a/root-stressGraphics.patch b/root-stressGraphics.patch deleted file mode 100644 index c7ac170..0000000 --- a/root-stressGraphics.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 141dc7359fa890b081802532b97c25eeb5be5ee1 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Mon, 29 Jun 2020 12:53:07 +0200 -Subject: [PATCH] Adjust stressGraphics.ref - ---- - test/stressGraphics.ref | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/test/stressGraphics.ref b/test/stressGraphics.ref -index 38474d0549..2aecf462e8 100644 ---- a/test/stressGraphics.ref -+++ b/test/stressGraphics.ref -@@ -3,7 +3,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# GIFRef# GIFErr# JPGRef# JP - 2 4627 600 14506 100 7608 1500 13368 7900 9208 3000 4690 600 - 3 452 50 12632 50 4797 350 11232 4200 3796 10700 492 50 - 4 23617 1500 19386 100 43077 12000 143320 123000 45665 11000 24908 1500 -- 5 1025 150 12802 150 19715 2900 33468 9900 30846 5000 1072 200 -+ 5 1025 150 12802 200 19715 2900 33468 9900 30846 5000 1072 200 - 6 430 50 12669 50 4041 400 9558 100 5325 700 471 50 - 7 4980 50 13893 50 8215 310 16143 1300 12230 500 5011 70 - 8 5442 80 13473 50 9599 150 18430 700 12398 300 5469 80 -@@ -41,7 +41,7 @@ Test# PS1Ref# PS1Err# PDFRef# PDFErr# GIFRef# GIFErr# JPGRef# JP - 40 38312 200 56877 250 47205 3900 36524 11800 119641 8000 38121 200 - 41 15025 3000 29289 500 34091 1500 42525 11300 33336 3900 14787 4000 - 42 254604 5000 383258 7000 34608 5000 55666 30400 46534 6500 259594 7000 -- 43 4846 150 14075 100 24281 200 33239 600 25303 300 4877 150 -+ 43 4846 150 14075 150 24281 200 33239 600 25303 300 4877 150 - 44 1435879 150000 12837 100 96029 4000 25972 100 359846 15000 1085792 250000 - 45 5884 500 16577 200 30259 3500 40706 14000 30026 4000 0 0 - 46 5723 700 15720 200 14291 2600 32236 11000 16916 3200 5670 800 --- -2.26.2 - diff --git a/root-unbundle-gtest.patch b/root-unbundle-gtest.patch index 6821f22..ae180a2 100644 --- a/root-unbundle-gtest.patch +++ b/root-unbundle-gtest.patch @@ -1,7 +1,7 @@ -diff -ur root-6.22.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.22.00/cmake/modules/SearchInstalledSoftware.cmake ---- root-6.22.00.orig/cmake/modules/SearchInstalledSoftware.cmake 2020-06-14 17:51:48.000000000 +0200 -+++ root-6.22.00/cmake/modules/SearchInstalledSoftware.cmake 2020-06-21 18:29:13.973655810 +0200 -@@ -1592,100 +1592,17 @@ +diff -ur root-6.24.02.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.24.02/cmake/modules/SearchInstalledSoftware.cmake +--- root-6.24.02.orig/cmake/modules/SearchInstalledSoftware.cmake 2021-06-28 11:17:14.000000000 +0200 ++++ root-6.24.02/cmake/modules/SearchInstalledSoftware.cmake 2021-08-11 10:56:26.680731609 +0200 +@@ -1699,102 +1699,17 @@ #---Download googletest-------------------------------------------------------------- if (testing) @@ -62,7 +62,9 @@ diff -ur root-6.22.00.orig/cmake/modules/SearchInstalledSoftware.cmake root-6.22 - # Wrap download, configure and build steps in a script to log output - LOG_DOWNLOAD ON - LOG_CONFIGURE ON -- LOG_BUILD ON) +- LOG_BUILD ON +- TIMEOUT 600 +- ) - - # Specify include dirs for gtest and gmock - ExternalProject_Get_Property(googletest source_dir) diff --git a/root-uring.patch b/root-uring.patch new file mode 100644 index 0000000..129c38e --- /dev/null +++ b/root-uring.patch @@ -0,0 +1,55 @@ +diff --git a/io/io/src/RRawFileUnix.cxx b/io/io/src/RRawFileUnix.cxx +index 829c5e4cb6..417c3adf30 100644 +--- a/io/io/src/RRawFileUnix.cxx ++++ b/io/io/src/RRawFileUnix.cxx +@@ -115,26 +115,33 @@ void ROOT::Internal::RRawFileUnix::OpenImpl() + void ROOT::Internal::RRawFileUnix::ReadVImpl(RIOVec *ioVec, unsigned int nReq) + { + #ifdef R__HAS_URING +- if (RIoUring::IsAvailable()) { +- RIoUring ring; +- std::vector reads; +- reads.reserve(nReq); +- for (std::size_t i = 0; i < nReq; ++i) { +- RIoUring::RReadEvent ev; +- ev.fBuffer = ioVec[i].fBuffer; +- ev.fOffset = ioVec[i].fOffset; +- ev.fSize = ioVec[i].fSize; +- ev.fFileDes = fFileDes; +- reads.push_back(ev); ++ thread_local bool uring_failed = false; ++ if (!uring_failed) { ++ try { ++ RIoUring ring; // throws std::runtime_error ++ std::vector reads; ++ reads.reserve(nReq); ++ for (std::size_t i = 0; i < nReq; ++i) { ++ RIoUring::RReadEvent ev; ++ ev.fBuffer = ioVec[i].fBuffer; ++ ev.fOffset = ioVec[i].fOffset; ++ ev.fSize = ioVec[i].fSize; ++ ev.fFileDes = fFileDes; ++ reads.push_back(ev); ++ } ++ ring.SubmitReadsAndWait(reads.data(), nReq); ++ for (std::size_t i = 0; i < nReq; ++i) { ++ ioVec[i].fOutBytes = reads.at(i).fOutBytes; ++ } ++ return; + } +- ring.SubmitReadsAndWait(reads.data(), nReq); +- for (std::size_t i = 0; i < nReq; ++i) { +- ioVec[i].fOutBytes = reads.at(i).fOutBytes; ++ catch(const std::runtime_error &e) { ++ Warning("RIoUring", "io_uring is unexpectedly not available because:\n%s", e.what()); ++ Warning("RRawFileUnix", ++ "io_uring setup failed, falling back to blocking I/O in ReadV"); ++ uring_failed = true; + } +- return; + } +- Warning("RRawFileUnix", +- "io_uring setup failed, falling back to default ReadV implementation"); + #endif + RRawFile::ReadVImpl(ioVec, nReq); + } diff --git a/root-werror-fix.patch b/root-werror-fix.patch deleted file mode 100644 index 341cca9..0000000 --- a/root-werror-fix.patch +++ /dev/null @@ -1,57 +0,0 @@ -From a5185f2cdf509314970c1b332c5926283f6962e2 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Mon, 22 Jun 2020 09:21:23 +0200 -Subject: [PATCH] Fix too aggressive -Werror replacements - -The replacements removes the -Werror option for externals, which is -intended. However, it also replaces e.g. -Werror=format-security with -=format-security, which results in compilation failures due to the -unknown option =format-security. ---- - builtins/davix/CMakeLists.txt | 2 +- - cmake/modules/SearchInstalledSoftware.cmake | 2 +- - interpreter/CMakeLists.txt | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/builtins/davix/CMakeLists.txt b/builtins/davix/CMakeLists.txt -index 52614ae2e0..c9b291ec45 100644 ---- a/builtins/davix/CMakeLists.txt -+++ b/builtins/davix/CMakeLists.txt -@@ -21,7 +21,7 @@ foreach(lib davix neon) - list(APPEND DAVIX_LIBRARIES ${DAVIX_PREFIX}/lib/${libname}) - endforeach() - --string(REPLACE "-Werror" "" DAVIX_CXX_FLAGS ${CMAKE_CXX_FLAGS}) -+string(REPLACE "-Werror " "" DAVIX_CXX_FLAGS "${CMAKE_CXX_FLAGS} ") - - ExternalProject_Add(DAVIX - URL ${DAVIX_URL}/davix-${DAVIX_VERSION}.tar.gz -diff --git a/cmake/modules/SearchInstalledSoftware.cmake b/cmake/modules/SearchInstalledSoftware.cmake -index ad63f08cd0..36aa88d8cf 100644 ---- a/cmake/modules/SearchInstalledSoftware.cmake -+++ b/cmake/modules/SearchInstalledSoftware.cmake -@@ -9,7 +9,7 @@ include(ExternalProject) - include(FindPackageHandleStandardArgs) - - set(lcgpackages http://lcgpackages.web.cern.ch/lcgpackages/tarFiles/sources) --string(REPLACE "-Werror" "" ROOT_EXTERNAL_CXX_FLAGS ${CMAKE_CXX_FLAGS}) -+string(REPLACE "-Werror " "" ROOT_EXTERNAL_CXX_FLAGS "${CMAKE_CXX_FLAGS} ") - - macro(find_package) - if(NOT "${ARGV0}" IN_LIST ROOT_BUILTINS) -diff --git a/interpreter/CMakeLists.txt b/interpreter/CMakeLists.txt -index 0f43893443..1274758410 100644 ---- a/interpreter/CMakeLists.txt -+++ b/interpreter/CMakeLists.txt -@@ -140,7 +140,7 @@ if(gcctoolchain) - endif() - - # We will not fix llvm or clang. --string(REPLACE "-Werror" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) -+string(REPLACE "-Werror " "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ") - - if(LLVM_SHARED_LINKER_FLAGS) - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LLVM_SHARED_LINKER_FLAGS}") --- -2.26.2 - diff --git a/root-xproofd.patch b/root-xproofd.patch deleted file mode 100644 index a62c8d7..0000000 --- a/root-xproofd.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 0a752f33834a3520a7f18433f48bc9e1e9d32cea Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Sun, 30 Aug 2020 05:46:42 +0200 -Subject: [PATCH] Only install the xproofd script and man page if xproofd - option is on - ---- - CMakeLists.txt | 7 ++++++- - cmake/modules/RootConfiguration.cmake | 4 ++-- - 2 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 76f6ad93b3..b37a1bbe70 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -528,7 +528,12 @@ if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_INSTALL_PREFIX) - if(webgui) - install(DIRECTORY ui5/ DESTINATION ${CMAKE_INSTALL_OPENUI5DIR}) - endif() -- install(DIRECTORY man/ DESTINATION ${CMAKE_INSTALL_MANDIR}) -+ if(xproofd AND xrootd AND ssl) -+ set(MAN_PATT_EXCL) -+ else() -+ set(MAN_PATT_EXCL PATTERN xproofd.1 EXCLUDE) -+ endif() -+ install(DIRECTORY man/ DESTINATION ${CMAKE_INSTALL_MANDIR} ${MAN_PATT_EXCL}) - install(DIRECTORY tutorials/ DESTINATION ${CMAKE_INSTALL_TUTDIR} COMPONENT tests) - install(FILES - cmake/modules/RootMacros.cmake -diff --git a/cmake/modules/RootConfiguration.cmake b/cmake/modules/RootConfiguration.cmake -index 151235aa4e..a71ac72101 100644 ---- a/cmake/modules/RootConfiguration.cmake -+++ b/cmake/modules/RootConfiguration.cmake -@@ -819,7 +819,7 @@ configure_file(${CMAKE_SOURCE_DIR}/config/setxrd.sh ${CMAKE_RUNTIME_OUTPUT_DIREC - configure_file(${CMAKE_SOURCE_DIR}/config/proofserv.in ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/proofserv @ONLY NEWLINE_STYLE UNIX) - configure_file(${CMAKE_SOURCE_DIR}/config/roots.in ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/roots @ONLY NEWLINE_STYLE UNIX) - configure_file(${CMAKE_SOURCE_DIR}/config/root-help.el.in root-help.el @ONLY NEWLINE_STYLE UNIX) --if (XROOTD_FOUND AND XROOTD_NOMAIN) -+if(xproofd AND xrootd AND ssl AND XROOTD_NOMAIN) - configure_file(${CMAKE_SOURCE_DIR}/config/xproofd.in ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xproofd @ONLY NEWLINE_STYLE UNIX) - endif() - if(WIN32) -@@ -857,7 +857,7 @@ install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/memprobe - WORLD_EXECUTE WORLD_READ - DESTINATION ${CMAKE_INSTALL_BINDIR}) - --if (XROOTD_FOUND AND XROOTD_NOMAIN) -+if(xproofd AND xrootd AND ssl AND XROOTD_NOMAIN) - install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/xproofd - PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ - GROUP_EXECUTE GROUP_READ --- -2.26.2 - diff --git a/root.spec b/root.spec index e61c683..26aeb7a 100644 --- a/root.spec +++ b/root.spec @@ -13,8 +13,6 @@ %endif %global python3_version_uscore %(tr . _ <<< "%{python3_version}") -%global py3_soabi %([ -x %{__python3} ] && %{__python3} -c "from distutils import sysconfig; print(sysconfig.get_config_vars().get('SOABI'))") - %if %{?fedora}%{!?fedora:0} >= 24 || %{?rhel}%{!?rhel:0} >= 8 # Building the experimental ROOT 7 classes requires c++-14. # This is the default for gcc 6.1 and later. @@ -51,9 +49,9 @@ %global __provides_exclude_from ^(%{?python2_sitearch:%{python2_sitearch}|}%{python3_sitearch})/lib.*\\.so$ Name: root -Version: 6.22.08 +Version: 6.24.02 %global libversion %(cut -d. -f 1-2 <<< %{version}) -Release: 11%{?dist} +Release: 1%{?dist} Summary: Numerical data analysis framework License: LGPLv2+ @@ -83,105 +81,64 @@ Patch0: %{name}-fontconfig.patch Patch1: %{name}-32bit-dataframe.patch # Unbundle gtest Patch2: %{name}-unbundle-gtest.patch -# Fix multicore tests when running on machines with few cores -# https://github.com/root-project/root/pull/8068 -Patch3: %{name}-fix-multicore-tests-with-few-cores.patch -# Fedora's llvm patches -Patch4: %{name}-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch -Patch5: %{name}-Fix-return-type-in-ORC-readMem-client-interface.patch -Patch6: %{name}-PPC-Avoid-non-simple-MVT-in-STBRX-optimization.patch # Reduce memory usage of build # Do not link rootcling_stage1 and libCling in parallel -Patch7: %{name}-memory-usage.patch +Patch3: %{name}-memory-usage.patch # Reduce memory usage during linking on ARM and x86 by generating # smaller debuginfo for the llmv libraries. # Fedora builders run out of memory with the default setting. -Patch8: %{name}-memory-arm-x86.patch +Patch4: %{name}-memory-arm-x86.patch # Don't install minicern static library -Patch9: %{name}-dont-install-minicern.patch +Patch5: %{name}-dont-install-minicern.patch # Do not export Python modules in CMake config -Patch10: %{name}-no-export-python-modules.patch +Patch6: %{name}-no-export-python-modules.patch # Don't create documentation notebooks -Patch11: %{name}-doc-no-notebooks.patch +Patch7: %{name}-doc-no-notebooks.patch # Don't run tutorials that crash during doc generation -Patch12: %{name}-doxygen-crash.patch +Patch8: %{name}-doxygen-crash.patch # Compatibility with older gtest -Patch13: %{name}-old-gtest-compat.patch -# Fix -Wmissing-field-initializers in python bindings for -# Python 3.8 and 3.9 -# https://github.com/root-project/root/pull/5158 -Patch14: %{name}-python3.8-object.patch +Patch9: %{name}-old-gtest-compat.patch # Run some test on 32 bit that upstream has disabled -Patch15: %{name}-32bit-tests.patch +Patch10: %{name}-32bit-tests.patch # Workaround for initialization problems for PyROOT on # EPEL7 ppc64le # https://sft.its.cern.ch/jira/browse/ROOT-10622 -Patch16: %{name}-epel7-ppc64le-pyroot.patch -# Fix test failure on ppc64le and aarch64 -# https://github.com/root-project/root/pull/5867 -Patch17: %{name}-roostats-test-ppc64le-aarch64.patch -# Fix too aggressive -Werror replacements -# https://github.com/root-project/root/pull/5902 -Patch18: %{name}-werror-fix.patch -# Add missing call to TFile::SetCacheFileDir in a TMVA tutorial -# https://github.com/root-project/root/pull/5944 -Patch19: %{name}-setcachefiledir.patch -# Adjust stressGraphics.ref -# https://github.com/root-project/root/pull/5957 -Patch20: %{name}-stressGraphics.patch -# Fix off-by-one error in histogram v7 bin iterator -# https://github.com/root-project/root/pull/5958 -Patch21: %{name}-histv7-bin-iterator.patch -# Add back line accidentally removed in root-config -# https://github.com/root-project/root/pull/6236 -Patch22: %{name}-config-restore.patch -# Fix the RNTuple.LargeFile test on 32bit (i386 and armv7hf) -# https://github.com/root-project/root/pull/5977 -Patch23: %{name}-ntuple-largefile.patch -# Headers in new PyROOT are not installed with COMPONENT headers -# https://github.com/root-project/root/pull/6237 -Patch24: %{name}-install-headers-with-COMPONENT-headers.patch -# Fix doxygen issues -# https://github.com/root-project/root/pull/6029 -Patch25: %{name}-doxygen-filenames.patch -Patch26: %{name}-doxygen-endof-part2.patch -Patch27: %{name}-doxygen-parameter-names.patch -Patch28: %{name}-doxygen-macro-name.patch -Patch29: %{name}-doxygen-missing-underscore.patch -Patch30: %{name}-doxygen-md-comments.patch -# Fix bad regex in TProofMgr -# https://github.com/root-project/root/pull/6030 -Patch31: %{name}-fix-bad-regex.patch -# Increase timeout for ppc64le -# https://github.com/root-project/root/pull/6246 -Patch32: %{name}-increase-timeout-for-ppc64le.patch -# Only install the xproofd script and man page if option is on -# https://github.com/root-project/root/pull/6281 -Patch33: %{name}-xproofd.patch -# Avoid unneeded build requirement on srm-ifce-devel -# https://github.com/root-project/root/pull/6233 -Patch34: %{name}-srm-ifce-deps.patch -# Fix a shadow warning -# https://github.com/root-project/root/pull/6029 -Patch35: %{name}-fix-a-shadow-warning.patch -# Do not attempt to load_library the ROOT Pythonizations module -# https://github.com/root-project/root/pull/6883 -Patch36: %{name}-do-not-load_library-libROOTPythonizations.patch -# Filter out additional vDSO names for ppc -# https://github.com/root-project/root/pull/6887 -Patch37: %{name}-linux-vdso.patch -# JupyROOT has problems loading JSRootCore.js in jupyterlab -# Backported from upstream git -# https://github.com/root-project/root/issues/8459 -# https://bugzilla.redhat.com/show_bug.cgi?id=1973189 -Patch38: %{name}-jupyroot-jupyterlab-compat.patch -# Use local static script and style files for JupyROOT -Patch39: %{name}-jupyroot-static.patch - -# s390x suffers from endian issues resulting in failing tests -# and broken documentation generation -# https://sft.its.cern.ch/jira/browse/ROOT-8703 -ExcludeArch: s390x +Patch11: %{name}-epel7-ppc64le-pyroot.patch +# Use local static script and style files for JsMVA +Patch12: %{name}-jsmva-static.patch +# Compatibility with older python versions (no f-strings) +Patch13: %{name}-older-python.patch +# Fix multicore tests when running on machines with few cores +# https://github.com/root-project/root/pull/8068 +Patch14: %{name}-fix-multicore-tests-with-few-cores.patch +# Reapply altivec fix lost in the LLVM 9 upgrade +# https://github.com/root-project/root/pull/8069 +Patch15: %{name}-fix-ppc64le-compilation-with-gcc-10.patch +# Actually request the use of the large code model for ppc64le +# https://github.com/root-project/root/pull/8230 +Patch16: %{name}-ppc-codemodel.patch +# Do not request the large code model for ppc64le +# It causes segmentation faults +Patch17: %{name}-ppc-no-codemodel.patch +# Fall back to blocking I/O if uring fails +# Backported +# - commit 691403b2cc504fd4e3e7227894023913014a61ff +# - commit 956951ee2af83426d73ad72b2d966f9f1acbea83 +# - commit 16e64da11edf91fcf31c2fc474f573fca2ee863c +# - commit 311a6822f9b0fd438c4210ed60617b45f2ddbe74 +Patch18: %{name}-uring.patch +# Add missing classes in LinkDef.h files +# Backported +Patch19: %{name}-add-TTreeProcessorMP-to-LinkDef-file.patch +Patch20: %{name}-add-RDisplay-to-LinkDef-file.patch +Patch21: %{name}-add-RCutFlowReport-to-LinkDef-file.patch +# Fix "pointer is null" warnings +# Backported +Patch22: %{name}-ptr-is-null-RooFit-TMVA.patch +Patch23: %{name}-ptr-is-null-TStreamerInfo.patch +# Fix two failing tests on s390x +# https://github.com/root-project/root/pull/8826 +Patch24: %{name}-stress-s390x.patch BuildRequires: make %if %{?rhel}%{!?rhel:0} == 7 @@ -275,6 +232,13 @@ BuildRequires: cmake-data >= 3.18.3-1 %else BuildRequires: openblas-devel %endif +BuildRequires: json-devel +%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8 +BuildRequires: liburing-devel +%endif +%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8 +BuildRequires: python%{python3_pkgversion}-pandas +%endif BuildRequires: doxygen BuildRequires: graphviz BuildRequires: yuicompressor @@ -527,6 +491,17 @@ Requires: %{name}-tmva = %{version}-%{release} %description -n python2-jsmva TMVA interface used by JupyROOT. + +%package -n python2-distrdf +Summary: Distributed RDataFrame +BuildArch: noarch +%{?python_provide:%python_provide python2-distrdf} +Requires: python2-%{name} = %{version}-%{release} +Requires: %{name}-tree-dataframe = %{version}-%{release} + +%description -n python2-distrdf +A layer on top of RDataFrame to enable distributed computations. It is +a port of the previously known PyRDF python package. %endif %package -n python%{python3_pkgversion}-%{name} @@ -573,6 +548,17 @@ Requires: %{name}-tmva = %{version}-%{release} %description -n python%{python3_pkgversion}-jsmva TMVA interface used by JupyROOT. +%package -n python%{python3_pkgversion}-distrdf +Summary: Distributed RDataFrame +BuildArch: noarch +%{?python_provide:%python_provide python%{python3_pkgversion}-distrdf} +Requires: python%{python3_pkgversion}-%{name} = %{version}-%{release} +Requires: %{name}-tree-dataframe = %{version}-%{release} + +%description -n python%{python3_pkgversion}-distrdf +A layer on top of RDataFrame to enable distributed computations. It is +a port of the previously known PyRDF python package. + %package r Summary: R interface for ROOT Requires: %{name}-core%{?_isa} = %{version}-%{release} @@ -870,6 +856,7 @@ in ROOT. %package gui-recorder Summary: Interface for recording and replaying events in ROOT Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release} Requires: %{name}-gui%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} @@ -1298,7 +1285,7 @@ access to http based storage such as webdav and S3. Summary: HTTP server extension for ROOT Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} -Requires: js-jsroot +Requires: js-jsroot >= 6 # Library split (net-httpsniff from net-http) Obsoletes: %{name}-net-http < 6.14.00 @@ -1423,6 +1410,7 @@ 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}-roofit-batchcompute%{?_isa} = %{version}-%{release} Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} # Package split / Library split (from roofit) @@ -1454,6 +1442,7 @@ 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-batchcompute%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} # Package split / Library split (from roofit) Obsoletes: %{name}-roofit < 6.20.00 @@ -1479,6 +1468,7 @@ License: BSD Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} Requires: %{name}-mathmore%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-batchcompute%{?_isa} = %{version}-%{release} Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} # Package split / Library split (from roofit) Obsoletes: %{name}-roofit < 6.20.00 @@ -1498,6 +1488,25 @@ suitable for adoption in different disciplines as well. This package contains RooFit classes that use the mathmore library. +%package roofit-batchcompute +Summary: Optimized computation functions for PDFs +Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} + +%description roofit-batchcompute +While fitting, a significant amount of time and processing power is +spent on computing the probability function for every event and PDF +involved in the fitting model. To speed up this process, roofit can +use the computation functions provided in this library. The functions +provided here process whole data arrays (batches) instead of a single +event at a time, as in the legacy evaluate() function in roofit. In +addition, the code is written in a manner that allows for compiler +optimizations, notably auto-vectorization. This library is compiled +multiple times for different vector instuction set architectures and +the optimal code is executed during runtime, as a result of an +automatic hardware detection mechanism that this library contains. + %package roostats Summary: Statistical tools built on top of RooFit License: BSD @@ -1721,7 +1730,7 @@ written in python. Summary: Static files for the Jupyter ROOT Notebook BuildArch: noarch Requires: %{name}-core = %{version}-%{release} -Requires: js-jsroot +Requires: js-jsroot >= 6 %if %{?fedora}%{!?fedora:0} >= 26 # jupyter-notebook not available in # Fedora <= 25 or RHEL/EPEL - some functionality missing @@ -1754,6 +1763,7 @@ Requires: %{name}-geom%{?_isa} = %{version}-%{release} Requires: %{name}-graf%{?_isa} = %{version}-%{release} Requires: %{name}-graf3d-csg%{?_isa} = %{version}-%{release} Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release} +Requires: %{name}-hist%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} Requires: %{name}-montecarlo-eg%{?_isa} = %{version}-%{release} @@ -1770,6 +1780,7 @@ Summary: GUI browsable (ROOT 7) Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-graf-gpadv7%{?_isa} = %{version}-%{release} Requires: %{name}-hist%{?_isa} = %{version}-%{release} +Requires: %{name}-hist-draw%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} @@ -1781,6 +1792,8 @@ 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}-geom%{?_isa} = %{version}-%{release} +Requires: %{name}-graf3d-eve7%{?_isa} = %{version}-%{release} Requires: %{name}-gui-browsable%{?_isa} = %{version}-%{release} Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release} Requires: %{name}-gui-webgui6%{?_isa} = %{version}-%{release} @@ -1897,21 +1910,6 @@ This package contains an ntuple extension for ROOT 7. %patch22 -p1 %patch23 -p1 %patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch28 -p1 -%patch29 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 -%patch38 -p1 -%patch39 -p1 # Remove bundled sources in order to be sure they are not used # * afterimage @@ -1920,8 +1918,17 @@ rm -rf graf2d/asimage/src/libAfterImage rm -rf graf3d/ftgl/src graf3d/ftgl/inc # * freetype rm -rf graf2d/freetype/src -# * davix, glew, lz4, openssl, pcre, xxhash, zlib, zstd -rm -rf builtins +# * davix, glew, lz4, nlohmann, openssl, pcre, tbb, xxhash, zlib, zstd +rm -rf builtins/davix +rm -rf builtins/glew +rm -rf builtins/lz4 +rm -rf builtins/nlohmann +rm -rf builtins/openssl +rm -rf builtins/pcre +rm -rf builtins/tbb +rm -rf builtins/xxhash +rm -rf builtins/zlib +rm -rf builtins/zstd # * lzma rm -rf core/lzma/src/*.tar.gz # * gl2ps @@ -1944,9 +1951,6 @@ sed /RWrap_libcpp_string_view.h/d -i build/unix/module.modulemap # * jsroot rm -rf js/* -# Fix file permissions -chmod -x interpreter/llvm/src/lib/Target/X86/X86EvexToVex.cpp - # Remove unsupported man page macros sed -e '/^\.UR/d' -e '/^\.UE/d' -i man/man1/* @@ -1995,6 +1999,7 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dbuiltin_afterimage:BOOL=OFF \ -Dbuiltin_cfitsio:BOOL=OFF \ -Dbuiltin_clang:BOOL=ON \ + -Dbuiltin_cling:BOOL=ON \ -Dbuiltin_davix:BOOL=OFF \ -Dbuiltin_fftw3:BOOL=OFF \ -Dbuiltin_freetype:BOOL=OFF \ @@ -2005,7 +2010,9 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dbuiltin_llvm:BOOL=ON \ -Dbuiltin_lz4:BOOL=OFF \ -Dbuiltin_lzma:BOOL=OFF \ + -Dbuiltin_nlohmannjson:BOOL=OFF \ -Dbuiltin_openssl:BOOL=OFF \ + -Dbuiltin_openui5:BOOL=ON \ -Dbuiltin_pcre:BOOL=OFF \ -Dbuiltin_tbb:BOOL=OFF \ -Dbuiltin_unuran:BOOL=OFF \ @@ -2020,20 +2027,15 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Darrow:BOOL=OFF \ -Dasimage:BOOL=ON \ -Dccache:BOOL=OFF \ + -Ddistcc:BOOL=OFF \ -Dcefweb:BOOL=OFF \ -Dclad:BOOL=OFF \ -Dcocoa:BOOL=OFF \ -Dcuda:BOOL=OFF \ %if %{root7} -%if %{?fedora}%{!?fedora:0} >= 34 - -DCMAKE_CXX_STANDARD=17 \ -%else - -DCMAKE_CXX_STANDARD=14 \ -%endif -Droot7:BOOL=ON \ -Dwebgui:BOOL=ON \ %else - -DCMAKE_CXX_STANDARD=11 \ -Droot7:BOOL=OFF \ -Dwebgui:BOOL=OFF \ %endif @@ -2107,6 +2109,11 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dtmva-pymva:BOOL=ON \ -Dtmva-rmva:BOOL=ON \ -Dunuran:BOOL=ON \ +%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8 + -During:BOOL=ON \ +%else + -During:BOOL=OFF \ +%endif -Dvc:BOOL=OFF \ -Dvdt:BOOL=OFF \ -Dveccore:BOOL=OFF \ @@ -2203,6 +2210,7 @@ rm %{buildroot}%{_libdir}/%{name}/libJupyROOT%{python2_version_uscore}.so mkdir -p %{buildroot}%{python2_sitelib} cp -pr %{buildroot}%{_libdir}/%{name}/JsMVA %{buildroot}%{python2_sitelib} +cp -pr %{buildroot}%{_libdir}/%{name}/DistRDF %{buildroot}%{python2_sitelib} # Create .egg-info files so that rpm auto-generates provides echo 'Name: ROOT' > \ @@ -2217,6 +2225,10 @@ echo 'Name: JsMVA' > \ %{buildroot}%{python2_sitelib}/JsMVA-%{version}.egg-info echo 'Version: %{version}' >> \ %{buildroot}%{python2_sitelib}/JsMVA-%{version}.egg-info +echo 'Name: DistRDF' > \ + %{buildroot}%{python2_sitelib}/DistRDF-%{version}.egg-info +echo 'Version: %{version}' >> \ + %{buildroot}%{python2_sitelib}/DistRDF-%{version}.egg-info %endif @@ -2225,7 +2237,7 @@ mkdir -p %{buildroot}%{python3_sitearch} mv %{buildroot}%{_libdir}/%{name}/cppyy %{buildroot}%{python3_sitearch} ln -s ../../root/libcppyy%{python3_version_uscore}.so.%{version} \ - %{buildroot}%{python3_sitearch}/libcppyy%{python3_version_uscore}.%{py3_soabi}.so + %{buildroot}%{python3_sitearch}/libcppyy%{python3_version_uscore}%{python3_ext_suffix} mv %{buildroot}%{_libdir}/%{name}/cppyy_backend %{buildroot}%{python3_sitearch} ln -s ../../root/libcppyy_backend%{python3_version_uscore}.so.%{version} \ @@ -2233,18 +2245,19 @@ ln -s ../../root/libcppyy_backend%{python3_version_uscore}.so.%{version} \ mv %{buildroot}%{_libdir}/%{name}/ROOT %{buildroot}%{python3_sitearch} mv %{buildroot}%{_libdir}/%{name}/libROOTPythonizations%{python3_version_uscore}.so.%{version} \ - %{buildroot}%{python3_sitearch}/libROOTPythonizations%{python3_version_uscore}.%{py3_soabi}.so + %{buildroot}%{python3_sitearch}/libROOTPythonizations%{python3_version_uscore}%{python3_ext_suffix} rm %{buildroot}%{_libdir}/%{name}/libROOTPythonizations%{python3_version_uscore}.so.%{libversion} rm %{buildroot}%{_libdir}/%{name}/libROOTPythonizations%{python3_version_uscore}.so mv %{buildroot}%{_libdir}/%{name}/JupyROOT %{buildroot}%{python3_sitearch} mv %{buildroot}%{_libdir}/%{name}/libJupyROOT%{python3_version_uscore}.so.%{version} \ - %{buildroot}%{python3_sitearch}/libJupyROOT%{python3_version_uscore}.%{py3_soabi}.so + %{buildroot}%{python3_sitearch}/libJupyROOT%{python3_version_uscore}%{python3_ext_suffix} rm %{buildroot}%{_libdir}/%{name}/libJupyROOT%{python3_version_uscore}.so.%{libversion} rm %{buildroot}%{_libdir}/%{name}/libJupyROOT%{python3_version_uscore}.so mkdir -p %{buildroot}%{python3_sitelib} mv %{buildroot}%{_libdir}/%{name}/JsMVA %{buildroot}%{python3_sitelib} +mv %{buildroot}%{_libdir}/%{name}/DistRDF %{buildroot}%{python3_sitelib} # Create .egg-info files so that rpm auto-generates provides echo 'Name: ROOT' > \ @@ -2259,6 +2272,10 @@ echo 'Name: JsMVA' > \ %{buildroot}%{python3_sitelib}/JsMVA-%{version}.egg-info echo 'Version: %{version}' >> \ %{buildroot}%{python3_sitelib}/JsMVA-%{version}.egg-info +echo 'Name: DistRDF' > \ + %{buildroot}%{python3_sitelib}/DistRDF-%{version}.egg-info +echo 'Version: %{version}' >> \ + %{buildroot}%{python3_sitelib}/DistRDF-%{version}.egg-info # Put jupyter stuff in the right places mkdir -p %{buildroot}%{_datadir}/jupyter/kernels @@ -2284,8 +2301,7 @@ sed -e '/^\#!/d' \ rm -rf %{buildroot}%{_datadir}/%{name}/notebook/custom rm -rf %{buildroot}%{_datadir}/%{name}/notebook/html rm -rf %{buildroot}%{_datadir}/%{name}/notebook/kernels - -ln -s /usr/share/javascript/jsroot %{buildroot}%{_datadir}/%{name}/notebook +rm %{buildroot}%{_datadir}/%{name}/notebook/jupyter_notebook_config.py # Replace the rootnb.exe wrapper with a simpler one cat > %{buildroot}%{_bindir}/rootnb.exe << EOF @@ -2345,6 +2361,9 @@ rm %{buildroot}%{_datadir}/%{name}/macros/fileopen.C # Remove plugin definitions for non-built and obsolete plugins pushd %{buildroot}%{_datadir}/%{name}/plugins +%if ! %{root7} +rm TBrowserImp/P030_RWebBrowserImp.C +%endif rm TDataSetManager/P020_TDataSetManagerAliEn.C rm TFile/P070_TAlienFile.C rm TGLManager/P020_TGWin32GLManager.C @@ -2494,11 +2513,22 @@ popd # http://root.cern.ch/files/root_download_stats.sqlite # # - gtest-tree-treeplayer-test-treeprocessormt-remotefiles -# - tutorial-dataframe-df102_NanoAODDimuonAnalysis -# - tutorial-dataframe-df103_NanoAODHiggsAnalysis +# - tutorial-dataframe-df102_NanoAODDimuonAnalysis(-py)? +# - tutorial-dataframe-df103_NanoAODHiggsAnalysis(-py)? # reads input data over network: # root://eospublic.cern.ch//eos/root-eos/cms_opendata_2012_nanoaod/ # +# - tutorial-dataframe-df104_HiggsToTwoPhotons-py +# - tutorial-dataframe-df105_WBosonAnalysis-py +# - tutorial-dataframe-df106_HiggsToFourLeptons-py +# - tutorial-dataframe-df107_SingleTopAnalysis-py +# reads input data over network: +# root://eospublic.cern.ch//eos/opendata/atlas/OutreachDatasets/2020-01-22/ +# +# - tutorial-v7-climate-global_temperatures +# reads input data over network +# http://root.cern./files/tutorials/GlobalLandTemperaturesByCity.csv +# # - tutorial-v7-ntuple-ntpl003_lhcbOpenData # reads input data over network # http://root.cern.ch/files/LHCb/lhcb_B2HHH_MagnetUp.root (425 MB) @@ -2525,9 +2555,32 @@ popd # reads input data over network # http://root.cern/files/tmva101.root # +# - pyunittests-pyroot-dependency-versions # - pyunittests-pyroot-numbadeclare +# - test-import-numba # - tutorial-pyroot-pyroot004_NumbaDeclare-py # these tests require the numba python module which is not available +# +# - tutorial-v7-concurrentfill.cxx +# - tutorial-v7-draw.cxx +# - tutorial-v7-draw_frame.cxx +# - tutorial-v7-draw_legend.cxx +# - tutorial-v7-draw_mt.cxx +# - tutorial-v7-draw_rh1.cxx +# - tutorial-v7-draw_rh1_large.cxx +# - tutorial-v7-draw_rh2.cxx +# - tutorial-v7-draw_rh2_colz.cxx +# - tutorial-v7-draw_rh2_large.cxx +# - tutorial-v7-draw_rh3.cxx +# - tutorial-v7-draw_rh3_large.cxx +# - tutorial-v7-draw_subpads.cxx +# - tutorial-v7-histops.cxx +# - tutorial-v7-perf.cxx +# - tutorial-v7-perfcomp.cxx +# - tutorial-v7-simple.cxx +# Fails with "already deserialized this template specialization" +# https://github.com/root-project/root/issues/8073 + excluded="\ test-stressIOPlugins|\ tutorial-dataframe-df101_h1Analysis|\ @@ -2541,6 +2594,11 @@ tutorial-dataframe-df..._SQlite|\ gtest-tree-treeplayer-test-treeprocessormt-remotefiles|\ tutorial-dataframe-df102_NanoAODDimuonAnalysis|\ tutorial-dataframe-df103_NanoAODHiggsAnalysis|\ +tutorial-dataframe-df104_HiggsToTwoPhotons-py|\ +tutorial-dataframe-df105_WBosonAnalysis-py|\ +tutorial-dataframe-df106_HiggsToFourLeptons-py|\ +tutorial-dataframe-df107_SingleTopAnalysis-py|\ +tutorial-v7-climate-global_temperatures|\ tutorial-v7-ntuple-ntpl003_lhcbOpenData|\ tutorial-v7-ntuple-ntpl004_dimuon|\ tutorial-v7-line.cxx|\ @@ -2550,8 +2608,48 @@ gtest-tmva-tmva-test-rstandardscaler|\ tutorial-tmva-tmva003_RReader|\ tutorial-tmva-tmva004_RStandardScaler|\ tutorial-tmva-tmva103_Application|\ +pyunittests-pyroot-dependency-versions|\ pyunittests-pyroot-numbadeclare|\ -tutorial-pyroot-pyroot004_NumbaDeclare-py" +test-import-numba|\ +tutorial-pyroot-pyroot004_NumbaDeclare-py|\ +tutorial-v7-concurrentfill.cxx|\ +tutorial-v7-draw.cxx|\ +tutorial-v7-draw_frame.cxx|\ +tutorial-v7-draw_legend.cxx|\ +tutorial-v7-draw_mt.cxx|\ +tutorial-v7-draw_rh1.cxx|\ +tutorial-v7-draw_rh1_large.cxx|\ +tutorial-v7-draw_rh2.cxx|\ +tutorial-v7-draw_rh2_colz.cxx|\ +tutorial-v7-draw_rh2_large.cxx|\ +tutorial-v7-draw_rh3.cxx|\ +tutorial-v7-draw_rh3_large.cxx|\ +tutorial-v7-draw_subpads.cxx|\ +tutorial-v7-histops.cxx|\ +tutorial-v7-perf.cxx|\ +tutorial-v7-perfcomp.cxx|\ +tutorial-v7-simple.cxx" + +%if %{?rhel}%{!?rhel:0} == 7 +# - test-import-pandas +# - tutorial-dataframe-df026_AsNumpyArrays-py +# requires the pandas python module which is not available in EPEL 7 +# +# - tutorial-multicore-mp001_fillHistos +# - tutorial-multicore-mp101_fillNtuples +# - tutorial-multicore-mp102_readNtuplesFillHistosAndFit +# - tutorial-multicore-mp201_parallelHistoFill +# fails intermittently on EPEL 7 with the error +# symbol '_Z6MPRecvP7TSocket' unresolved while linking +# symbol '_Z6MPSendP7TSocketj' unresolved while linking +excluded="${excluded}|\ +test-import-pandas|\ +tutorial-dataframe-df026_AsNumpyArrays-py|\ +tutorial-multicore-mp001_fillHistos|\ +tutorial-multicore-mp101_fillNtuples|\ +tutorial-multicore-mp102_readNtuplesFillHistosAndFit|\ +tutorial-multicore-mp201_parallelHistoFill" +%endif %ifarch %{ix86} %{arm} # Tests failing on 32 bit architectures (dataframe) @@ -2559,51 +2657,226 @@ tutorial-pyroot-pyroot004_NumbaDeclare-py" # - gtest-tree-dataframe-test-dataframe-cache # - gtest-tree-dataframe-test-dataframe-callbacks # - gtest-tree-dataframe-test-dataframe-colnames +# - gtest-tree-dataframe-test-dataframe-concurrency # - gtest-tree-dataframe-test-dataframe-display # - gtest-tree-dataframe-test-dataframe-friends # - gtest-tree-dataframe-test-dataframe-helpers # - gtest-tree-dataframe-test-dataframe-interface +# - gtest-tree-dataframe-test-dataframe-leaves # - gtest-tree-dataframe-test-dataframe-ranges +# - gtest-tree-dataframe-test-dataframe-regression # - gtest-tree-dataframe-test-dataframe-simple # - gtest-tree-dataframe-test-dataframe-snapshot -# - gtest-tree-dataframe-test-datasource-root +# - gtest-tree-dataframe-test-dataframe-vecops +# - gtest-tree-dataframe-test-datasource-csv +# - gtest-tree-dataframe-test-datasource-more +# - gtest-tree-dataframe-test-datasource-sqlite # - gtest-tree-dataframe-test-datasource-trivial excluded="${excluded}|\ gtest-tree-dataframe-test-dataframe-cache|\ gtest-tree-dataframe-test-dataframe-callbacks|\ gtest-tree-dataframe-test-dataframe-colnames|\ +gtest-tree-dataframe-test-dataframe-concurrency|\ gtest-tree-dataframe-test-dataframe-display|\ gtest-tree-dataframe-test-dataframe-friends|\ gtest-tree-dataframe-test-dataframe-helpers|\ gtest-tree-dataframe-test-dataframe-interface|\ +gtest-tree-dataframe-test-dataframe-leaves|\ gtest-tree-dataframe-test-dataframe-ranges|\ +gtest-tree-dataframe-test-dataframe-regression|\ gtest-tree-dataframe-test-dataframe-simple|\ gtest-tree-dataframe-test-dataframe-snapshot|\ -gtest-tree-dataframe-test-datasource-root|\ +gtest-tree-dataframe-test-dataframe-vecops|\ +gtest-tree-dataframe-test-datasource-csv|\ +gtest-tree-dataframe-test-datasource-more|\ +gtest-tree-dataframe-test-datasource-sqlite|\ gtest-tree-dataframe-test-datasource-trivial" %endif %ifarch %{arm} -# This test fails on 32 bit arm +# 32 bit arm specific failures +# +# - gtest-tree-tree-test-testBulkApi # - gtest-tree-tree-test-testBulkApiSillyStruct -excluded="${excluded}|gtest-tree-tree-test-testBulkApiSillyStruct" +# segmentation fault - bus error +# +# - gtest-tree-dataframe-test-dataframe-histomodels +# - gtest-tree-ntuple-v7-test-ntuple-rdf +# - pyunittests-dataframe-cache +# - pyunittests-dataframe-histograms +# - pyunittests-dataframe-merge-results +# - pyunittests-dataframe-misc +# - pyunittests-pyroot-pyz-rdataframe-makenumpy +# - pyunittests-pyroot-pyz-tf-pycallables +# - test-stressiterators-interpreted +# - tutorial-dataframe-df001_introduction(-py) +# - tutorial-dataframe-df002_dataModel(-py) +# - tutorial-dataframe-df003_profiles(-py) +# - tutorial-dataframe-df005_fillAnyObject +# - tutorial-dataframe-df006_ranges(-py) +# - tutorial-dataframe-df007_snapshot(-py) +# - tutorial-dataframe-df010_trivialDataSource(-py) +# - tutorial-dataframe-df012_DefinesAndFiltersAsStrings(-py) +# - tutorial-dataframe-df014_CSVDataSource(-py) +# - tutorial-dataframe-df015_LazyDataSource +# - tutorial-dataframe-df016_vecOps(-py) +# - tutorial-dataframe-df017_vecOpsHEP(-py) +# - tutorial-dataframe-df019_Cache(-py) +# - tutorial-dataframe-df020_helpers +# - tutorial-dataframe-df021_createTGraph(-py) +# - tutorial-dataframe-df022_useKahan +# - tutorial-dataframe-df025_RNode +# - tutorial-dataframe-df031_Stats(-py) +# - tutorial-hist-sparsehist +# - tutorial-r-example +# - tutorial-r-DataFrame +# - tutorial-r-Function +# - tutorial-r-Functor +# - tutorial-r-GlobalMinimization +# - tutorial-r-Integration +# - tutorial-r-Minimization +# Not implemented relocation type! +excluded="${excluded}|\ +gtest-tree-tree-test-testBulkApi\$\$|\ +gtest-tree-tree-test-testBulkApiSillyStruct|\ +gtest-tree-dataframe-test-dataframe-histomodels|\ +gtest-tree-ntuple-v7-test-ntuple-rdf|\ +pyunittests-dataframe-cache|\ +pyunittests-dataframe-histograms|\ +pyunittests-dataframe-merge-results|\ +pyunittests-dataframe-misc|\ +pyunittests-pyroot-pyz-rdataframe-makenumpy|\ +pyunittests-pyroot-pyz-tf-pycallables|\ +test-stressiterators-interpreted|\ +tutorial-dataframe-df001_introduction|\ +tutorial-dataframe-df002_dataModel|\ +tutorial-dataframe-df003_profiles|\ +tutorial-dataframe-df005_fillAnyObject|\ +tutorial-dataframe-df006_ranges|\ +tutorial-dataframe-df007_snapshot|\ +tutorial-dataframe-df010_trivialDataSource|\ +tutorial-dataframe-df012_DefinesAndFiltersAsStrings|\ +tutorial-dataframe-df014_CSVDataSource|\ +tutorial-dataframe-df015_LazyDataSource|\ +tutorial-dataframe-df016_vecOps|\ +tutorial-dataframe-df017_vecOpsHEP|\ +tutorial-dataframe-df019_Cache|\ +tutorial-dataframe-df020_helpers|\ +tutorial-dataframe-df021_createTGraph|\ +tutorial-dataframe-df022_useKahan|\ +tutorial-dataframe-df025_RNode|\ +tutorial-dataframe-df031_Stats|\ +tutorial-hist-sparsehist|\ +tutorial-r-example|\ +tutorial-r-DataFrame|\ +tutorial-r-Function|\ +tutorial-r-Functor|\ +tutorial-r-GlobalMinimization|\ +tutorial-r-Integration|\ +tutorial-r-Minimization" %endif %ifarch %{power64} aarch64 # This test fails on ppc64le and aarch64 (but not on x86_64) # The interpreted version works though, only compiled version fails # - test-stresshistofit -excluded="${excluded}|test-stresshistofit" +excluded="${excluded}|test-stresshistofit\$\$" %endif -%ifarch %{ix86} -# This test fails with "symbol '__atomic_fetch_add_8' unresolved" on ix86 -# https://github.com/root-project/root/issues/6813 -excluded="${excluded}|pyunittests-pyroot-pyz-ttree-branch-attr" +%ifarch %{power64} +# PPC64LE specific failures +# +# - test-stressgraphics(-interpreted) +excluded="${excluded}|test-stressgraphics" + +%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8 +# - pyunittests-pyroot-pyz-array-interface +# - pyunittests-pyroot-pyz-rdataframe-asnumpy +# - pyunittests-pyroot-pyz-rdataframe-makenumpy +# - pyunittests-pyroot-pyz-rvec-asrvec +# - pyunittests-pyroot-pyz-ttree-asmatrix +# - tutorial-dataframe-df026_AsNumpyArrays-py +# - tutorial-pyroot-pyroot001_arrayInterface-py +# - tutorial-pyroot-pyroot002_TTreeAsMatrix-py +excluded="${excluded}|\ +pyunittests-pyroot-pyz-array-interface|\ +pyunittests-pyroot-pyz-rdataframe-asnumpy|\ +pyunittests-pyroot-pyz-rdataframe-makenumpy|\ +pyunittests-pyroot-pyz-rvec-asrvec|\ +pyunittests-pyroot-pyz-ttree-asmatrix|\ +tutorial-dataframe-df026_AsNumpyArrays-py|\ +tutorial-pyroot-pyroot001_arrayInterface-py|\ +tutorial-pyroot-pyroot002_TTreeAsMatrix-py" +%endif + +%if %{?fedora}%{!?fedora:0} +# - pyunittests-pyroot-pyz-rtensor +# - pyunittests-pyroot-pyz-ttree-branch +# - pyunittests-pyroot-pyz-ttree-setbranchaddress +# - tutorial-r-example +# - tutorial-r-DataFrame +# - tutorial-r-Function +# - tutorial-r-Functor +# - tutorial-r-GlobalMinimization +# - tutorial-r-Integration +# - tutorial-r-Interpolation +# - tutorial-r-Minimization +# - tutorial-r-SimpleFitting +# - tutorial-tmva-envelope-classification +# - tutorial-tmva-TMVA* +# Relocation R_PPC64_REL32 overflow +excluded="${excluded}|\ +pyunittests-pyroot-pyz-rtensor|\ +pyunittests-pyroot-pyz-ttree-branch|\ +pyunittests-pyroot-pyz-ttree-setbranchaddress|\ +tutorial-r-example|\ +tutorial-r-DataFrame|\ +tutorial-r-Function|\ +tutorial-r-Functor|\ +tutorial-r-GlobalMinimization|\ +tutorial-r-Integration|\ +tutorial-r-Interpolation|\ +tutorial-r-Minimization|\ +tutorial-r-SimpleFitting|\ +tutorial-tmva-envelope-classification|\ +tutorial-tmva-TMVA" +%endif +%endif + +%ifarch s390x +# s390x specific failures +# +# - gtest-roofit-roofitcore-test-testNaNPacker +# - gtest-tree-ntuple-v7-test-ntuple-basics +# - gtest-tree-ntuple-v7-test-ntuple-extended +# - gtest-tree-ntuple-v7-test-ntuple-minifile +# - gtest-tree-ntuple-v7-test-ntuple-storage +# - pyunittests-pyroot-pyz-rtensor +# - test-stresshistogram(-interpreted) +# - test-stresshistofit(-interpreted) +# - tutorial-dataframe-df006_ranges-py +# - tutorial-roofit-rf203_ranges-py +# - tutorial-roofit-rf612_recoverFromInvalidParameters +# - tutorial-roofit-rf902_numgenconfig-py +# - tutorial-v7-ntuple-ntpl005_introspection +excluded="${excluded}|\ +gtest-roofit-roofitcore-test-testNaNPacker|\ +gtest-tree-ntuple-v7-test-ntuple-basics|\ +gtest-tree-ntuple-v7-test-ntuple-extended|\ +gtest-tree-ntuple-v7-test-ntuple-minifile|\ +gtest-tree-ntuple-v7-test-ntuple-storage|\ +pyunittests-pyroot-pyz-rtensor|\ +test-stresshistogram|\ +test-stresshistofit|\ +tutorial-dataframe-df006_ranges-py|\ +tutorial-roofit-rf203_ranges-py|\ +tutorial-roofit-rf612_recoverFromInvalidParameters|\ +tutorial-roofit-rf902_numgenconfig-py|\ +tutorial-v7-ntuple-ntpl005_introspection" %endif # Filter out parts of tests that require remote network access -GTEST_FILTER=-RRawFile.Remote:RSqliteDS.Davix \ +GTEST_FILTER=-RCsvDS.Remote:RRawFile.Remote:RSqliteDS.Davix \ make test ARGS="%{?_smp_mflags} --output-on-failure -E \"${excluded}\"" popd @@ -2652,6 +2925,7 @@ if [ -e /etc/jupyter/jupyter_notebook_config.py ] ; then fi cat << EOF >> /etc/jupyter/jupyter_notebook_config.py # Extra static path for JupyROOT - start - do not remove this line +c.NotebookApp.extra_static_paths.append('%{_datadir}/javascript/jsroot') c.NotebookApp.extra_static_paths.append('%{_datadir}/%{name}/notebook') # Extra static path for JupyROOT - end - do not remove this line EOF @@ -2660,6 +2934,7 @@ if [ -e /etc/jupyter/jupyter_server_config.py ] ; then fi cat << EOF >> /etc/jupyter/jupyter_server_config.py # Extra static path for JupyROOT - start - do not remove this line +c.ServerApp.extra_static_paths.append('%{_datadir}/javascript/jsroot') c.ServerApp.extra_static_paths.append('%{_datadir}/%{name}/notebook') # Extra static path for JupyROOT - end - do not remove this line EOF @@ -2768,6 +3043,7 @@ fi %ldconfig_scriptlets roofit %ldconfig_scriptlets roofit-core %ldconfig_scriptlets roofit-more +%ldconfig_scriptlets roofit-batchcompute %ldconfig_scriptlets roostats %ldconfig_scriptlets sql-mysql %ldconfig_scriptlets sql-odbc @@ -2886,13 +3162,12 @@ fi # They therefore should not be marked doc. %{_pkgdocdir}/CREDITS %{_pkgdocdir}/LICENSE -%doc %{_pkgdocdir}/README +%doc %{_pkgdocdir}/DEVELOPMENT.md %doc %{_pkgdocdir}/ReleaseNotes %license LICENSE LGPL2_1.txt %files multiproc -f includelist-core-multiproc %{_libdir}/%{name}/libMultiProc.* -%{_libdir}/%{name}/libMultiProc_rdict.pcm %files cling %{_bindir}/genreflex @@ -2936,6 +3211,10 @@ fi %files -n python2-jsmva %{python2_sitelib}/JsMVA %{python2_sitelib}/JsMVA-*.egg-info + +%files -n python2-distrdf +%{python2_sitelib}/DistRDF +%{python2_sitelib}/DistRDF-*.egg-info %endif %files -n python%{python3_pkgversion}-%{name} -f includelist-bindings-pyroot @@ -2943,9 +3222,9 @@ fi %{python3_sitearch}/cppyy_backend %{python3_sitearch}/ROOT %{python3_sitearch}/ROOT-*.egg-info -%{python3_sitearch}/libcppyy%{python3_version_uscore}.%{py3_soabi}.so +%{python3_sitearch}/libcppyy%{python3_version_uscore}%{python3_ext_suffix} %{python3_sitearch}/libcppyy_backend%{python3_version_uscore}.so -%{python3_sitearch}/libROOTPythonizations%{python3_version_uscore}.%{py3_soabi}.so +%{python3_sitearch}/libROOTPythonizations%{python3_version_uscore}%{python3_ext_suffix} %{_libdir}/%{name}/libcppyy%{python3_version_uscore}.* %{_libdir}/%{name}/libcppyy_backend%{python3_version_uscore}.* %dir %{_includedir}/%{name}/CPyCppyy @@ -2953,7 +3232,7 @@ fi %files -n python%{python3_pkgversion}-jupyroot %{python3_sitearch}/JupyROOT %{python3_sitearch}/JupyROOT-*.egg-info -%{python3_sitearch}/libJupyROOT%{python3_version_uscore}.%{py3_soabi}.so +%{python3_sitearch}/libJupyROOT%{python3_version_uscore}%{python3_ext_suffix} %{_datadir}/jupyter/kernels/python%{python3_pkgversion}-jupyroot %doc bindings/jupyroot/README.md @@ -2961,6 +3240,10 @@ fi %{python3_sitelib}/JsMVA %{python3_sitelib}/JsMVA-*.egg-info +%files -n python%{python3_pkgversion}-distrdf +%{python3_sitelib}/DistRDF +%{python3_sitelib}/DistRDF-*.egg-info + %files r -f includelist-bindings-r %{_libdir}/%{name}/libRInterface.* %{_libdir}/%{name}/libRInterface_rdict.pcm @@ -3411,6 +3694,11 @@ fi %{_libdir}/%{name}/libRooFitMore.* %{_libdir}/%{name}/libRooFitMore_rdict.pcm +%files roofit-batchcompute -f includelist-roofit-batchcompute +%{_libdir}/%{name}/libRooBatchCompute.* +%{_libdir}/%{name}/libRooBatchCompute_* +%doc roofit/batchcompute/README.md + %files roostats -f includelist-roofit-roostats %{_libdir}/%{name}/libRooStats.* %{_libdir}/%{name}/libRooStats_rdict.pcm @@ -3519,6 +3807,7 @@ fi %files gui-browsable -f includelist-gui-browsable %{_libdir}/%{name}/libROOTBrowsable.* %{_libdir}/%{name}/libROOTBrowsable_rdict.pcm +%{_libdir}/%{name}/libROOTBranchBrowseProvider.* %{_libdir}/%{name}/libROOTHistDrawProvider.* %{_libdir}/%{name}/libROOTLeafDraw6Provider.* %{_libdir}/%{name}/libROOTLeafDraw7Provider.* @@ -3528,6 +3817,11 @@ fi %files gui-browserv7 -f includelist-gui-browserv7 %{_libdir}/%{name}/libROOTBrowserv7.* %{_libdir}/%{name}/libROOTBrowserv7_rdict.pcm +%{_libdir}/%{name}/libROOTBrowserGeomWidget.* +%{_libdir}/%{name}/libROOTBrowserRCanvasWidget.* +%{_libdir}/%{name}/libROOTBrowserTCanvasWidget.* +%{_libdir}/%{name}/libROOTBrowserWidgets.* +%{_datadir}/%{name}/plugins/TBrowserImp/P030_RWebBrowserImp.C %files gui-canvaspainter %{_libdir}/%{name}/libROOTCanvasPainter.* @@ -3565,6 +3859,15 @@ fi %endif %changelog +* Wed Aug 04 2021 Mattias Ellert - 6.24.02-1 +- Update to 6.24.02 +- ROOT now uses llvm/clang version 9 (updated from version 5) +- No longer exclude arch s390x (better supported in llvm/clang 9) +- Drop patches accepted upstream or previously backported +- Backport some fixes that make more tests work +- New subpackages: python{2,3}-distrdf, root-roofit-batchcompute +- Require js-jsroot >= 6 + * Mon Jul 26 2021 Mattias Ellert - 6.22.08-11 - Drop the memstat module for Fedora 35+ The required __malloc_hook was removed from glibc 2.33.9000-48 diff --git a/sources b/sources index 9b75929..af28a1d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (root-6.22.08.tar.xz) = 9080168116ffdd07cfce411dca77404177cd3ba57af498419432ca95169dbce581a7a2a667c22273685d659b3e0398d567b2d51d07ca767b076ee5196395d828 +SHA512 (root-6.24.02.tar.xz) = 2f2bc89b436c7bc703bc88290f5047fae941950f98bd549fdd43121f7742a4030e153cc12a52d81c9a76a32e8d7be197a85776b721fe1643439827fb5b49d1c0 SHA512 (root-testfiles.tar.xz) = 945aef1a0cf5af672d4ab84b0ac00b76118e93008ff72447658ee82d9e955a1540af3ff7126e701418872f1d91b92ee96d4985840a519036c42732023a13f00f

    --/// In the above example RooSimPdfBuilder -+/// In the above example RooSimPdfBuilder - /// will first replicate k and s into - /// k_C1,k_C2 and s_C1,s_C2, as prescribed in the - /// configuration. Then it will recursively replicate all PDF nodes that depend on -@@ -383,7 +383,7 @@ - /// pdfA(x;p,q) and pdfB(x;p,r) that have a common parameter p. - /// We want to build a RooSimultaneous for both pdfA and B, - /// which involves a split of parameter p and we would like to build the --/// simultaneous pdfs simA and simB such that still share their (now split) parameters -+/// simultaneous pdfs simA and simB such that still share their (now split) parameters - /// p_XXX. This is accomplished by letting a single instance of RooSimPdfBuilder handle - /// the builds of both pdfA and pdfB, as illustrated in this example: - ///