The package rpms/root.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/root.git/commit/?id=59989efa5f4087c1....
Change: -%ifarch %{qt6_qtwebengine_arches}
Thanks.
Full change: ============
commit 59989efa5f4087c1dd7b9eb3d4f660cd78c20675 Author: Mattias Ellert mattias.ellert@physics.uu.se Date: Sun Nov 26 16:11:31 2023 +0100
Update to 6.30.00
Removed subpackages: root-io-gfal and root-roofit-common Dropped patches: 6 New patches: 6
diff --git a/root-avoid-out-of-memory-during-linking.patch b/root-avoid-out-of-memory-during-linking.patch new file mode 100644 index 0000000..d182e44 --- /dev/null +++ b/root-avoid-out-of-memory-during-linking.patch @@ -0,0 +1,30 @@ +From 51b84e7bc21f8729de8d3e8f9ff08b337af33b78 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert mattias.ellert@physics.uu.se +Date: Fri, 17 Nov 2023 17:15:15 +0100 +Subject: [PATCH] Avoid out of memory during linking regardless of build type + +--- + core/metacling/src/CMakeLists.txt | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/core/metacling/src/CMakeLists.txt b/core/metacling/src/CMakeLists.txt +index e750480eb3..dd50793d29 100644 +--- a/core/metacling/src/CMakeLists.txt ++++ b/core/metacling/src/CMakeLists.txt +@@ -111,11 +111,8 @@ ROOT_LINKER_LIBRARY(Cling + $<TARGET_OBJECTS:MetaCling> + LIBRARIES ${CLING_LIBRARIES} ${LINK_LIBS} ${CLING_PLUGIN_LINK_LIBS}) + +-string(TOUPPER "${LLVM_BUILD_TYPE}" THE_BUILD_TYPE) +-if("${THE_BUILD_TYPE}" STREQUAL DEBUG OR "${THE_BUILD_TYPE}" STREQUAL RELWITHDEBINFO) +- # When these two link at the same time, they can exhaust the RAM on many machines, since they both link against llvm. +- add_dependencies(Cling rootcling_stage1) +-endif() ++# When these two link at the same time, they can exhaust the RAM on many machines, since they both link against llvm. ++add_dependencies(Cling rootcling_stage1) + + if(MSVC) + set_target_properties(Cling PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) +-- +2.43.0 + diff --git a/root-boolean-numpy-array.patch b/root-boolean-numpy-array.patch deleted file mode 100644 index e5d6482..0000000 --- a/root-boolean-numpy-array.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 2b3dd4f1bfecea5b1b936d5507f8b0c664322a19 Mon Sep 17 00:00:00 2001 -From: Jonas Rembser jonas.rembser@cern.ch -Date: Wed, 6 Sep 2023 02:16:33 +0200 -Subject: [PATCH] [RF][PyROOT] Avoid boolean operators on numpy arrays in unit - test - -The `n_in_range` reference value in the unit test -`roodataset_numpy.TestRooDataSetNumpy.test_ignoring_out_of_range` -apparently doesn't get computed right on some 32 platforms. - -I can't reproduce the problem, but I'm sure it will be fixed by avoiding -the use of the operators `&` and `|` with numpy arrays. Just doing a -manual loop in Python should be more platform independent. - -Closes #12162. ---- - .../pythonizations/test/roofit/roodataset_numpy.py | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/bindings/pyroot/pythonizations/test/roofit/roodataset_numpy.py b/bindings/pyroot/pythonizations/test/roofit/roodataset_numpy.py -index 79259af321..5587677c45 100644 ---- a/bindings/pyroot/pythonizations/test/roofit/roodataset_numpy.py -+++ b/bindings/pyroot/pythonizations/test/roofit/roodataset_numpy.py -@@ -135,9 +135,15 @@ class TestRooDataSetNumpy(unittest.TestCase): - cat.defineType("minus", -1) - cat.defineType("plus", +1) - -- in_x_range = (data["x"] <= x.getMax()) & (data["x"] >= x.getMin()) -- in_cat_range = (data["cat"] == -1) | (data["cat"] == +1) -- n_in_range = np.sum(in_x_range & in_cat_range) -+ # Use manual loop because we had some problems with numpys boolean -+ # comparisions in the past (see GitHub issue #12162). -+ n_in_range = 0 -+ for i in range(n_events): -+ in_x_range = data["x"][i] <= x.getMax() and data["x"][i] >= x.getMin() -+ in_cat_range = (data["cat"][i] == -1) or (data["cat"][i] == +1) -+ is_in_range = in_x_range and in_cat_range -+ if is_in_range: -+ n_in_range = n_in_range + 1 - - dataset_numpy = ROOT.RooDataSet.from_numpy(data, {x, cat}, name="dataSetNumpy") - --- -2.41.0 - diff --git a/root-clad.patch b/root-clad.patch new file mode 100644 index 0000000..0715240 --- /dev/null +++ b/root-clad.patch @@ -0,0 +1,26 @@ +From fae9b92742c5e991ad33769d1357a721838e93f9 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert mattias.ellert@physics.uu.se +Date: Fri, 17 Nov 2023 11:37:23 +0100 +Subject: [PATCH 1/3] Add fit/exampleFit3D.C to clad veto + +--- + tutorials/CMakeLists.txt | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/tutorials/CMakeLists.txt b/tutorials/CMakeLists.txt +index 5cba95407b..81f6539f03 100644 +--- a/tutorials/CMakeLists.txt ++++ b/tutorials/CMakeLists.txt +@@ -74,7 +74,8 @@ if(NOT ROOT_minuit2_FOUND) + endif() + + if(NOT clad) +- set(clad_veto fit/minuit2GausFit.C) ++ set(clad_veto fit/minuit2GausFit.C ++ fit/exampleFit3D.C) + endif() + + # RBatchGenerator tutorials need Python 3.8+. +-- +2.42.0 + diff --git a/root-do-not-remove-Wp-before-D-and-U.patch b/root-do-not-remove-Wp-before-D-and-U.patch deleted file mode 100644 index 820b7af..0000000 --- a/root-do-not-remove-Wp-before-D-and-U.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 0191a987b7583c2aa84b1293105db353fee40b1d Mon Sep 17 00:00:00 2001 -From: Mattias Ellert mattias.ellert@physics.uu.se -Date: Fri, 10 Mar 2023 20:49:02 +0100 -Subject: [PATCH] Do not remove -Wp, before -D and -U when recording used - compiler flags - -This breaks the pattern used when undefining and then defining a -variable in the same flag: - -$ echo | g++ -Wp,-UVAR,-DVAR=1 -c -x c++ - - -Here -Wp,-UVAR,-DVAR=1 will first undefine VAR and then define it to 1 - -If the -Wp, is dropped, this fails: -$ echo | g++ -UVAR,-DVAR=1 -c -x c++ - -<command-line>: warning: extra tokens at end of #undef directive - -Now it will only undefine VAR, but not defin it. I.e. - -insted of - -you get - -which explains the rather cryptic warning about extra token after #undef. ---- - cmake/modules/RootConfiguration.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cmake/modules/RootConfiguration.cmake b/cmake/modules/RootConfiguration.cmake -index 3d1ae9be53..042b43f039 100644 ---- a/cmake/modules/RootConfiguration.cmake -+++ b/cmake/modules/RootConfiguration.cmake -@@ -729,7 +729,7 @@ if (cxxmodules) - endif() - - string(REGEX REPLACE "(^|[ ]*)-W[^ ]*" "" __fflags "${CMAKE_Fortran_FLAGS}") --string(REGEX MATCHALL "-(D|U)[^ ]*" __defs "${CMAKE_CXX_FLAGS}") -+string(REGEX MATCHALL "(-Wp,)?-(D|U)[^ ]*" __defs "${CMAKE_CXX_FLAGS}") - set(ROOT_COMPILER_FLAG_HINTS "# - set(ROOT_DEFINITIONS "${__defs}") - set(ROOT_CXX_FLAGS "${__cxxflags}") --- -2.39.2 - diff --git a/root-dont-install-roofit-files-fix.patch b/root-dont-install-roofit-files-fix.patch deleted file mode 100644 index 295a4b7..0000000 --- a/root-dont-install-roofit-files-fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 74aaf99530443a712f9b0577d8edde615ea8902d Mon Sep 17 00:00:00 2001 -From: Mattias Ellert mattias.ellert@physics.uu.se -Date: Sat, 4 Mar 2023 21:27:35 +0100 -Subject: [PATCH] Use FILTER instead of REMOVE_ITEM since GLOB returns absolute - paths - ---- - build/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt -index e964b5e255..2b24b1d6e6 100644 ---- a/build/CMakeLists.txt -+++ b/build/CMakeLists.txt -@@ -30,7 +30,7 @@ ROOT_EXECUTABLE(rmkdepend - if(NOT MSVC AND _BUILD_TYPE_UPPER MATCHES "DEBUG|RELWITHDEBINFO") - file(GLOB PRETTY_PRINTERS "gdbPrinters/*.so-gdb.py") - if(NOT roofit) -- list(REMOVE_ITEM PRETTY_PRINTERS gdbPrinters/libRooFitCore.so-gdb.py) -+ list(FILTER PRETTY_PRINTERS EXCLUDE REGEX libRooFitCore.so-gdb.py) - endif() - set(PRETTY_PRINTER_DESTS) - foreach(PRETTY_PRINTER ${PRETTY_PRINTERS}) --- -2.39.2 - diff --git a/root-fixes-for-32bit-builds.patch b/root-fixes-for-32bit-builds.patch deleted file mode 100644 index bcff78d..0000000 --- a/root-fixes-for-32bit-builds.patch +++ /dev/null @@ -1,185 +0,0 @@ -From 6f69a59010a60c949b1955e52275137e39a85b82 Mon Sep 17 00:00:00 2001 -From: Jakob Blomer jblomer@cern.ch -Date: Thu, 9 Mar 2023 15:14:22 +0100 -Subject: [PATCH] [ntuple] fixes for 32bit / non-x86_64 builds - ---- - tree/dataframe/src/RNTupleDS.cxx | 1 + - tree/ntuple/v7/inc/ROOT/RField.hxx | 21 +++++++++++++++++++-- - tree/ntuple/v7/test/ntuple_extended.cxx | 8 ++++---- - 3 files changed, 24 insertions(+), 6 deletions(-) - -diff --git a/tree/dataframe/src/RNTupleDS.cxx b/tree/dataframe/src/RNTupleDS.cxx -index f7eb0ab5f284..aaea6df81622 100644 ---- a/tree/dataframe/src/RNTupleDS.cxx -+++ b/tree/dataframe/src/RNTupleDS.cxx -@@ -94,6 +94,7 @@ class RRDFCardinalityField : public ROOT::Experimental::Detail::RFieldBase { - return ROOT::Experimental::Detail::RFieldValue(true /* captureFlag */, this, where); - } - size_t GetValueSize() const final { return sizeof(std::size_t); } -+ size_t GetAlignment() const final { return alignof(std::size_t); } - - /// Get the number of elements of the collection identified by globalIndex - void -diff --git a/tree/ntuple/v7/inc/ROOT/RField.hxx b/tree/ntuple/v7/inc/ROOT/RField.hxx -index b05267d16030..9a85368a94e3 100644 ---- a/tree/ntuple/v7/inc/ROOT/RField.hxx -+++ b/tree/ntuple/v7/inc/ROOT/RField.hxx -@@ -270,8 +270,9 @@ public: - virtual std::vector<RFieldValue> SplitValue(const RFieldValue &value) const; - /// The number of bytes taken by a value of the appropriate type - virtual size_t GetValueSize() const = 0; -- /// For many types, the alignment requirement is equal to the size; otherwise override. -- virtual size_t GetAlignment() const { return GetValueSize(); } -+ /// As a rule of thumb, the alignment is equal to the size of the type. There are, however, various exceptions -+ /// to this rule depending on OS and CPU architecture. So enforce the alignment to be explicitly spelled out. -+ virtual size_t GetAlignment() const = 0; - int GetTraits() const { return fTraits; } - bool HasReadCallbacks() const { return !fReadCallbacks.empty(); } - -@@ -383,6 +384,7 @@ public: - Detail::RFieldValue GenerateValue(void*) override { return Detail::RFieldValue(); } - Detail::RFieldValue CaptureValue(void*) final { return Detail::RFieldValue(); } - size_t GetValueSize() const final { return 0; } -+ size_t GetAlignment() const final { return 0; } - - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; -@@ -889,6 +891,7 @@ public: - Detail::RColumnElement<ClusterSize_t>(static_cast<ClusterSize_t*>(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(ClusterSize_t); } -+ size_t GetAlignment() const final { return alignof(ClusterSize_t); } - void CommitCluster() final; - }; - -@@ -990,6 +993,7 @@ public: - Detail::RColumnElement<ClusterSize_t>(static_cast<ClusterSize_t*>(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(ClusterSize_t); } -+ size_t GetAlignment() const final { return alignof(ClusterSize_t); } - - /// Special help for offset fields - void GetCollectionInfo(NTupleSize_t globalIndex, RClusterIndex *collectionStart, ClusterSize_t *size) { -@@ -1110,6 +1115,7 @@ public: - Detail::RColumnElement<bool>(static_cast<bool*>(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(bool); } -+ size_t GetAlignment() const final { return alignof(bool); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1162,6 +1168,7 @@ public: - Detail::RColumnElement<float>(static_cast<float*>(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(float); } -+ size_t GetAlignment() const final { return alignof(float); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1215,6 +1222,7 @@ public: - Detail::RColumnElement<double>(static_cast<double*>(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(double); } -+ size_t GetAlignment() const final { return alignof(double); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1267,6 +1275,7 @@ public: - Detail::RColumnElement<char>(static_cast<char*>(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(char); } -+ size_t GetAlignment() const final { return alignof(char); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1319,6 +1328,7 @@ public: - Detail::RColumnElementstd::int8_t(static_caststd::int8_t*(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(std::int8_t); } -+ size_t GetAlignment() const final { return alignof(std::int8_t); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1371,6 +1381,7 @@ public: - Detail::RColumnElementstd::uint8_t(static_caststd::uint8_t*(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(std::uint8_t); } -+ size_t GetAlignment() const final { return alignof(std::uint8_t); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1423,6 +1434,7 @@ public: - Detail::RColumnElementstd::int16_t(static_caststd::int16_t*(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(std::int16_t); } -+ size_t GetAlignment() const final { return alignof(std::int16_t); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1475,6 +1487,7 @@ public: - Detail::RColumnElementstd::uint16_t(static_caststd::uint16_t*(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(std::uint16_t); } -+ size_t GetAlignment() const final { return alignof(std::uint16_t); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1527,6 +1540,7 @@ public: - Detail::RColumnElementstd::int32_t(static_caststd::int32_t*(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(std::int32_t); } -+ size_t GetAlignment() const final { return alignof(std::int32_t); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1579,6 +1593,7 @@ public: - Detail::RColumnElementstd::uint32_t(static_caststd::uint32_t*(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(std::uint32_t); } -+ size_t GetAlignment() const final { return alignof(std::uint32_t); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1631,6 +1646,7 @@ public: - Detail::RColumnElementstd::uint64_t(static_caststd::uint64_t*(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(std::uint64_t); } -+ size_t GetAlignment() const final { return alignof(std::uint64_t); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -@@ -1683,6 +1699,7 @@ public: - Detail::RColumnElementstd::int64_t(static_caststd::int64_t*(where)), this, where); - } - size_t GetValueSize() const final { return sizeof(std::int64_t); } -+ size_t GetAlignment() const final { return alignof(std::int64_t); } - void AcceptVisitor(Detail::RFieldVisitor &visitor) const final; - }; - -diff --git a/tree/ntuple/v7/test/ntuple_extended.cxx b/tree/ntuple/v7/test/ntuple_extended.cxx -index 91871e288e98..d3b6ee466359 100644 ---- a/tree/ntuple/v7/test/ntuple_extended.cxx -+++ b/tree/ntuple/v7/test/ntuple_extended.cxx -@@ -123,8 +123,8 @@ TEST(RNTuple, LargeFile1) - RNTupleWriteOptions options; - options.SetCompression(0); - auto ntuple = RNTupleWriter::Recreate(std::move(modelWrite), "myNTuple", fileGuard.GetPath(), options); -- constexpr unsigned long nEvents = 1024 * 1024 * 256; // Exceed 2GB file size -- for (unsigned int i = 0; i < nEvents; ++i) { -+ constexpr std::uint64_t nEvents = 1024 * 1024 * 256; // Exceed 2GB file size -+ for (std::uint64_t i = 0; i < nEvents; ++i) { - wrEnergy = rnd.Rndm(); - chksumWrite += wrEnergy; - ntuple->Fill(); -@@ -195,8 +195,8 @@ TEST(RNTuple, LargeFile2) - - TRandom3 rnd(42); - double chksumWrite = 0.0; -- constexpr unsigned long nEvents = 1024 * 1024 * 256; // Exceed 2GB file size -- for (unsigned int i = 0; i < nEvents; ++i) { -+ constexpr std::uint64_t nEvents = 1024 * 1024 * 256; // Exceed 2GB file size -+ for (std::uint64_t i = 0; i < nEvents; ++i) { - *E = rnd.Rndm(); - chksumWrite += *E; - writer->Fill(); diff --git a/root-gtest-back.patch b/root-gtest-back.patch new file mode 100644 index 0000000..1624451 --- /dev/null +++ b/root-gtest-back.patch @@ -0,0 +1,25 @@ +From 1942f5569b1d101f2c89341765ea37850e3de669 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert mattias.ellert@physics.uu.se +Date: Fri, 17 Nov 2023 11:43:46 +0100 +Subject: [PATCH 2/3] Add old gtest compat for SetUpTestSuite/TearDownTestSuite + +--- + tree/tree/test/friendinfo.cxx | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tree/tree/test/friendinfo.cxx b/tree/tree/test/friendinfo.cxx +index 141a495052..6e94056946 100644 +--- a/tree/tree/test/friendinfo.cxx ++++ b/tree/tree/test/friendinfo.cxx +@@ -14,6 +14,8 @@ + // Backward compatibility for gtest version < 1.10.0 + #ifndef INSTANTIATE_TEST_SUITE_P + #define INSTANTIATE_TEST_SUITE_P INSTANTIATE_TEST_CASE_P ++#define SetUpTestSuite SetUpTestCase ++#define TearDownTestSuite TearDownTestCase + #endif + + namespace { +-- +2.42.0 + diff --git a/root-ignore-warnings-about-RooNaNPacker-not-being-impleme.patch b/root-ignore-warnings-about-RooNaNPacker-not-being-impleme.patch new file mode 100644 index 0000000..20e2ee5 --- /dev/null +++ b/root-ignore-warnings-about-RooNaNPacker-not-being-impleme.patch @@ -0,0 +1,33 @@ +From ba0dc65e558fd916dbe18f8dbe8208a3be932c25 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert mattias.ellert@physics.uu.se +Date: Mon, 28 Mar 2022 09:20:18 +0200 +Subject: [PATCH] Ignore warnings about RooNaNPacker not being implemented for + big endian + +This warning is triggered in many tests, so it makes sense to put it +in the default ignored set. +--- + core/testsupport/src/TestSupport.cxx | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/core/testsupport/src/TestSupport.cxx b/core/testsupport/src/TestSupport.cxx +index 259ab4e09c..79cd476950 100644 +--- a/core/testsupport/src/TestSupport.cxx ++++ b/core/testsupport/src/TestSupport.cxx +@@ -73,6 +73,13 @@ static struct ForbidDiagnostics { + return; + } + ++ // FIXME: RooNaNPacker warns about not being implemented for big endian ++ if (level == kWarning ++ && strcmp(msg, "Fast recovery from undefined function values only implemented for little-endian machines. If necessary, request an extension of functionality on https://root.cern") == 0) { ++ std::cerr << "Warning in " << location << " " << msg << std::endl; ++ return; ++ } ++ + FAIL() << "Received unexpected diagnostic of severity " + << level + << " at '" << location << "' reading '" << msg << "'.\n" +-- +2.42.0 + diff --git a/root-np32.patch b/root-np32.patch new file mode 100644 index 0000000..3ac6f41 --- /dev/null +++ b/root-np32.patch @@ -0,0 +1,89 @@ +From 88162e7738d810f8203ed0242179f7af94ded500 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert mattias.ellert@physics.uu.se +Date: Fri, 17 Nov 2023 11:46:14 +0100 +Subject: [PATCH 3/3] Fix pythonizations test errors on ix86 Linux + +====================================================================== +ERROR: test_sliced_array (rdataframe_makenumpy.DataFrameFromNumpy.test_sliced_array) +Test correct reading of a sliced numpy array (#13690) +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/builddir/build/BUILD/root-6.30.00/bindings/pyroot/pythonizations/test/rdataframe_makenumpy.py", line 153, in test_sliced_array + x_col = df.Take['Long64_t']("x") + ^^^^^^^^^^^^^^^^^^^^^^^^ +cppyy.gbl.std.runtime_error: Could not instantiate Take<Long64_t>: + ROOT::RDF::RResultPtr<vector<Long64_t> > ROOT::RDF::RInterfaceROOT::Detail::RDF::RLoopManager,void::Take(basic_string_view<char,char_traits<char> > column = "") => + runtime_error: Column x has type int while the id specified is associated to type Long64_t +---------------------------------------------------------------------- + +====================================================================== +ERROR: test_dtypes (rtensor.AsRTensor.test_dtypes) +Test adoption of numpy arrays with different data types +---------------------------------------------------------------------- +Traceback (most recent call last): + File "/builddir/build/BUILD/root-6.30.00/bindings/pyroot/pythonizations/test/rtensor.py", line 45, in test_dtypes + root_obj = ROOT.TMVA.Experimental.RTensor(self.cpptypes[i])(np_obj) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/builddir/build/BUILD/root-6.30.00/redhat-linux-build/lib/ROOT/_pythonization/_tmva/_rtensor.py", line 131, in RTensorInit + return self._original_init_(data,shape,layout) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +TypeError: none of the 6 overloaded methods succeeded. Full details: + RTensor<long,vector<long> >::RTensor<long,vector<long> >(TMVA::Experimental::RTensor<long,vector<long> >&&) => + TypeError: takes at most 1 arguments (3 given) + RTensor<long,vector<long> >::RTensor<long,vector<long> >(const TMVA::Experimental::RTensor<long,vector<long> >&) => + TypeError: takes at most 1 arguments (3 given) + RTensor<long,vector<long> >::RTensor<long,vector<long> >(shared_ptr<vector<long> > container, vector<unsigned int> shape, TMVA::Experimental::MemoryLayout layout = MemoryLayout::RowMajor) => + TypeError: could not convert argument 1 + RTensor<long,vector<long> >::RTensor<long,vector<long> >(vector<unsigned int> shape, TMVA::Experimental::MemoryLayout layout = MemoryLayout::RowMajor) => + TypeError: takes at most 2 arguments (3 given) + RTensor<long,vector<long> >::RTensor<long,vector<long> >(long* data, vector<unsigned int> shape, vector<unsigned int> strides, TMVA::Experimental::MemoryLayout layout = MemoryLayout::RowMajor) => + TypeError: could not convert argument 1 (could not convert argument to buffer or nullptr) + RTensor<long,vector<long> >::RTensor<long,vector<long> >(long* data, vector<unsigned int> shape, TMVA::Experimental::MemoryLayout layout = MemoryLayout::RowMajor) => + TypeError: could not convert argument 1 (could not convert argument to buffer or nullptr) +---------------------------------------------------------------------- +--- + .../pyroot/pythonizations/test/rdataframe_makenumpy.py | 2 +- + bindings/pyroot/pythonizations/test/rtensor.py | 7 +++++-- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/bindings/pyroot/pythonizations/test/rdataframe_makenumpy.py b/bindings/pyroot/pythonizations/test/rdataframe_makenumpy.py +index cd2ebc9b5b..1860bd49f5 100644 +--- a/bindings/pyroot/pythonizations/test/rdataframe_makenumpy.py ++++ b/bindings/pyroot/pythonizations/test/rdataframe_makenumpy.py +@@ -147,7 +147,7 @@ class DataFrameFromNumpy(unittest.TestCase): + """ + Test correct reading of a sliced numpy array (#13690) + """ +- table = np.array([[1,2], [3,4]]) ++ table = np.array([[1,2], [3,4]], dtype="int64") + columns = {'x': table[:,0], 'y': table[:,1]} + df = ROOT.RDF.FromNumpy(columns) + x_col = df.Take['Long64_t']("x") +diff --git a/bindings/pyroot/pythonizations/test/rtensor.py b/bindings/pyroot/pythonizations/test/rtensor.py +index 99b458cfa9..070a5d24d0 100644 +--- a/bindings/pyroot/pythonizations/test/rtensor.py ++++ b/bindings/pyroot/pythonizations/test/rtensor.py +@@ -3,6 +3,7 @@ import ROOT + RTensor = ROOT.TMVA.Experimental.RTensor + import numpy as np + import platform ++import sys + + + def check_shape(root_obj, np_obj): +@@ -28,8 +29,10 @@ class AsRTensor(unittest.TestCase): + """ + Test adoption of numpy arrays with different data types + """ +- #using long long on Linux does not work although it is same size as long +- if (platform.system() == "Windows") : ++ # Using long long on 64 bit Linux does not work although it is ++ # same size as long ++ if ((platform.system() == "Windows") or ++ ((platform.system() == "Linux") and (sys.maxsize < 2**32))) : + self.cpptypes[1] = "long long" + self.cpptypes[3] = "unsigned long long" + +-- +2.42.0 + diff --git a/root-old-gtest.patch b/root-old-gtest.patch new file mode 100644 index 0000000..bdefd48 --- /dev/null +++ b/root-old-gtest.patch @@ -0,0 +1,54 @@ +diff --git a/roofit/histfactory/test/testHistFactory.cxx b/roofit/histfactory/test/testHistFactory.cxx +index 7553ba4e4a..fefdca8e97 100644 +--- a/roofit/histfactory/test/testHistFactory.cxx ++++ b/roofit/histfactory/test/testHistFactory.cxx +@@ -752,6 +752,7 @@ std::string getNameFromInfo(testing::TestParamInfoHFFixture::ParamType const & + return getName(paramInfo.param, false); + } + ++/* + INSTANTIATE_TEST_SUITE_P( + HistFactory, HFFixture, + testing::Combine(testing::Values(MakeModelMode::OverallSyst, MakeModelMode::HistoSyst, MakeModelMode::StatSyst, +@@ -784,3 +785,4 @@ INSTANTIATE_TEST_SUITE_P(HistFactoryCodeGen, HFFixtureFit, + testing::Values(RooFit::EvalBackend::Codegen())), + getNameFromInfo); + #endif ++*/ +diff --git a/roofit/roofitcore/test/testRooProdPdf.cxx b/roofit/roofitcore/test/testRooProdPdf.cxx +index 34fb559cd1..09734f5c5d 100644 +--- a/roofit/roofitcore/test/testRooProdPdf.cxx ++++ b/roofit/roofitcore/test/testRooProdPdf.cxx +@@ -64,6 +64,7 @@ TEST_P(TestProdPdf, CachingOpt) + << "b=" << b.getVal() << " +- " << b.getError() << " doesn't match truth value with O" << _optimize << "."; + } + ++/* + INSTANTIATE_TEST_SUITE_P(RooProdPdf, TestProdPdf, + testing::Combine(testing::Values(0, 1, 2), + testing::Values(ROOFIT_EVAL_BACKENDS)), +@@ -72,6 +73,7 @@ INSTANTIATE_TEST_SUITE_P(RooProdPdf, TestProdPdf, + ss << "opt" << std::get<0>(paramInfo.param) << std::get<1>(paramInfo.param).name(); + return ss.str(); + }); ++*/ + + TEST(RooProdPdf, TestGetPartIntList) + { +diff --git a/roofit/roofitcore/test/testTestStatistics.cxx b/roofit/roofitcore/test/testTestStatistics.cxx +index 3099d82060..5846353043 100644 +--- a/roofit/roofitcore/test/testTestStatistics.cxx ++++ b/roofit/roofitcore/test/testTestStatistics.cxx +@@ -585,6 +585,7 @@ INSTANTIATE_TEST_SUITE_P(RooNLLVar, TestStatisticTest, testing::Values(ROOFIT_EV + return ss.str(); + }); + ++/* + INSTANTIATE_TEST_SUITE_P(RooNLLVar, OffsetBinTest, + testing::Combine(testing::Values(ROOFIT_EVAL_BACKENDS), // EvalBackend + testing::Values(false, true), // unbinned or binned +@@ -622,3 +623,4 @@ INSTANTIATE_TEST_SUITE_P(RooNLLVarBinnedL, OffsetBinTest, + ss << (std::get<5>(paramInfo.param) ? "BinnedL" : ""); + return ss.str(); + }); ++*/ diff --git a/root-pcre2-6.28.patch b/root-pcre2-6.28.patch deleted file mode 100644 index db907b5..0000000 --- a/root-pcre2-6.28.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff -ur root-6.28.06.orig/core/base/CMakeLists.txt root-6.28.06/core/base/CMakeLists.txt ---- root-6.28.06.orig/core/base/CMakeLists.txt 2023-08-28 13:26:43.000000000 +0200 -+++ root-6.28.06/core/base/CMakeLists.txt 2023-10-02 01:53:35.956143717 +0200 -@@ -212,9 +212,15 @@ - - ROOT_OBJECT_LIBRARY(Base ${BASE_SOURCES}) - -+if (PCRE2_FOUND) -+ set(PCRE_INCDIR ${PCRE2_INCLUDE_DIR}) -+else() -+ set(PCRE_INCDIR ${PCRE_INCLUDE_DIR}) -+endif() -+ - target_include_directories(Base PRIVATE - ${BASE_V7_INC} -- ${PCRE_INCLUDE_DIR} -+ ${PCRE_INCDIR} - res - ${CMAKE_SOURCE_DIR}/core/foundation/res - ${CMAKE_SOURCE_DIR}/core/clib/inc -@@ -237,6 +243,11 @@ - ${CMAKE_BINARY_DIR}/ginclude/TApplicationCommandLineOptionsHelp.h - ) - -+if(PCRE2_FOUND) -+ set_source_files_properties(src/TPRegexp.cxx -+ PROPERTIES COMPILE_DEFINITIONS USE_PCRE2) -+endif() -+ - ROOT_INSTALL_HEADERS(${BASE_HEADER_DIRS}) - - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/man) -diff -ur root-6.28.06.orig/core/CMakeLists.txt root-6.28.06/core/CMakeLists.txt ---- root-6.28.06.orig/core/CMakeLists.txt 2023-08-28 13:26:43.000000000 +0200 -+++ root-6.28.06/core/CMakeLists.txt 2023-10-02 01:47:00.134174041 +0200 -@@ -261,9 +261,15 @@ - - target_include_directories(G__Core PRIVATE ${CMAKE_SOURCE_DIR}/core/clingutils/inc) - -+if (PCRE2_FOUND) -+ set (PCRE_TGT PCRE2::PCRE2) -+else() -+ set (PCRE_TGT PCRE::PCRE) -+endif() -+ - target_link_libraries(Core - PRIVATE -- PCRE::PCRE -+ ${PCRE_TGT} - ${LIBLZMA_LIBRARIES} - xxHash::xxHash - LZ4::LZ4 diff --git a/root-pcre2.patch b/root-pcre2.patch index 8d1adee..359acc2 100644 --- a/root-pcre2.patch +++ b/root-pcre2.patch @@ -165,6 +165,26 @@ index 464155fd50..252aa56737 100644 endif() endif() endif() +diff --git a/core/base/CMakeLists.txt b/core/base/CMakeLists.txt +index df701fedea..5798c93775 100644 +--- a/core/base/CMakeLists.txt ++++ b/core/base/CMakeLists.txt +@@ -214,7 +214,14 @@ target_include_directories(Core PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/v7/inc> + ) + +-target_link_libraries(Core PRIVATE PCRE::PCRE) ++if(PCRE2_FOUND) ++ target_link_libraries(Core PRIVATE PCRE2::PCRE2) ++ set_source_files_properties(src/TPRegexp.cxx ++ TARGET_DIRECTORY Core ++ PROPERTIES COMPILE_DEFINITIONS USE_PCRE2) ++else() ++ target_link_libraries(Core PRIVATE PCRE::PCRE) ++endif() + + ROOT_INSTALL_HEADERS(${BASE_HEADER_DIRS}) + diff --git a/core/base/src/TPRegexp.cxx b/core/base/src/TPRegexp.cxx index 949b8cc8e9..d70f3e5b8b 100644 --- a/core/base/src/TPRegexp.cxx diff --git a/root-stressvector-test-fails-on-ix86.patch b/root-stressvector-test-fails-on-ix86.patch deleted file mode 100644 index fa519f2..0000000 --- a/root-stressvector-test-fails-on-ix86.patch +++ /dev/null @@ -1,37 +0,0 @@ -From aae37d7eceeb25e4a09e8504275083e6830832d6 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert mattias.ellert@physics.uu.se -Date: Tue, 28 Feb 2023 11:33:28 +0100 -Subject: [PATCH] The stressVector test fails on ix86 due to too strict check: - -DeltaR TLorentzVector time = 0.2610929 (sec) -DeltaR XYZTVector time = 0.22973299 (sec) -DeltaR PtEtaPhiEVector time = 0.0016570091 (sec) --12823.3585955796 -12823.35859557827 -12823.35859557827 -Test DeltaR failed !! - -The new value for the scale parameter (50) was calculated from the -above values: - -root [2] (-12823.3585955796 - (-12823.35859557827)) / -12823.3585955796 / std::numeric_limits<double>::epsilon() / 10 -(double) 46.762663 ---- - test/stressVector.cxx | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/test/stressVector.cxx b/test/stressVector.cxx -index b0ba21e845..18dc97d421 100644 ---- a/test/stressVector.cxx -+++ b/test/stressVector.cxx -@@ -540,8 +540,7 @@ int main(int argc,const char *argv[]) { - s1=a.testDeltaR (v1, t, t1, "DeltaR TLorentzVector " ); - s2=a.testDeltaR (v2, t, t2, "DeltaR XYZTVector " ); - s3=a.testDeltaR (v3, t, t3, "DeltaR PtEtaPhiEVector " ); -- a.check("DeltaR",s1,s2,s3,20); -- -+ a.check("DeltaR", s1, s2, s3, 50); - - int n1, n2, n3; - n1 = a.testAnalysis (v1, t, t1, "Analysis1 TLorentzVector " ); --- -2.40.1 - diff --git a/root-tmva-rbdt.patch b/root-tmva-rbdt.patch index b7afb2d..b31769a 100644 --- a/root-tmva-rbdt.patch +++ b/root-tmva-rbdt.patch @@ -28,7 +28,7 @@ index ebe1be187b..5dcf5175f2 100644 +++ b/tmva/tmva/test/CMakeLists.txt @@ -29,7 +29,7 @@ if(dataframe) # Tree inference system and user interface - if(NOT MSVC OR ${LLVM_VERSION} VERSION_LESS 13.0.0 OR llvm13_broken_tests) + if(NOT MSVC OR llvm13_broken_tests) ROOT_ADD_GTEST(branchlessForest branchlessForest.cxx LIBRARIES TMVA) - ROOT_ADD_GTEST(rbdt rbdt.cxx LIBRARIES ROOTVecOps TMVA) + ROOT_ADD_GTEST(rbdt rbdt.cxx LIBRARIES ROOTVecOps TMVAUtils) diff --git a/root.spec b/root.spec index 96f8888..547164c 100644 --- a/root.spec +++ b/root.spec @@ -7,13 +7,7 @@
%global python3_version_uscore %(tr . _ <<< "%{python3_version}")
-%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 9 -# Building the experimental ROOT 7 classes requires c++-17. -# This is the default for gcc 11 and later. %global root7 1 -%else -%global root7 0 -%endif
%if %{?rhel}%{!?rhel:0} == 8 %ifarch %{power64} @@ -33,26 +27,27 @@ %global tmvasofieparser 1 %endif
-%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 9 -# DistRDF requires Python 3.8+ -%global distrdf %{dataframe} -%else +%if %{?rhel}%{!?rhel:0} == 8 +# DistRDF requires Python 3.8 or later, RHEL 8 has version 3.6 %global distrdf 0 +%else +%global distrdf %{dataframe} %endif
-# qt6-srpm-macros not in buildroot for Fedora 37/38 -# https://bugzilla.redhat.com/show_bug.cgi?id=2220859 -%if %{?fedora}%{!?fedora:0} == 37 || %{?fedora}%{!?fedora:0} == 38 -%global qt6_qtwebengine_arches aarch64 x86_64 +%if %{?rhel}%{!?rhel:0} == 8 +# Requires nlohmann json version 3.9 or later, RHEL 8 has version 3.6 +%global bundlejson 1 +%else +%global bundlejson 0 %endif
# Do not generate autoprovides for Python modules %global __provides_exclude_from ^%{python3_sitearch}/lib.*\.so$
Name: root -Version: 6.28.08 +Version: 6.30.00 %global libversion %(cut -d. -f 1-2 <<< %{version}) -Release: 3%{?dist} +Release: 1%{?dist} Summary: Numerical data analysis framework
License: LGPL-2.1-or-later @@ -98,30 +93,26 @@ Patch6: %{name}-fix-test-failure-on-ppc64le-and-aarch64-with-gcc-12.patch Patch7: %{name}-big-endian-byte-swap.patch # https://github.com/root-project/root/pull/12375 Patch8: %{name}-use-consistent-wording-in-tmva-test-comments.patch -# https://github.com/root-project/root/pull/12390 -Patch9: %{name}-stressvector-test-fails-on-ix86.patch -# https://github.com/root-project/root/pull/12423 -Patch10: %{name}-dont-install-roofit-files-fix.patch -# https://github.com/root-project/root/issues/12427 -# https://github.com/root-project/root/pull/12468 -Patch11: %{name}-fixes-for-32bit-builds.patch -# https://github.com/root-project/root/pull/12476 -Patch12: %{name}-do-not-remove-Wp-before-D-and-U.patch -# Avoid boolean operators on numpy arrays in unit test -# https://github.com/root-project/root/issues/12162 -# https://github.com/root-project/root/pull/13612 -Patch13: %{name}-boolean-numpy-array.patch +# https://github.com/root-project/root/pull/10303 +Patch9: %{name}-ignore-warnings-about-RooNaNPacker-not-being-impleme.patch # Port to pcre2 # https://github.com/root-project/root/issues/11395 # https://github.com/root-project/root/pull/13771 -Patch14: %{name}-pcre2.patch -Patch15: %{name}-pcre2-6.28.patch +Patch10: %{name}-pcre2.patch # src/RBDT.cxx is a source file of both libTMVA and libTMVAUtils # https://github.com/root-project/root/pull/13863 -Patch16: %{name}-tmva-rbdt.patch +Patch11: %{name}-tmva-rbdt.patch # Fix cmake/modules/FindZeroMQ.cmake # https://github.com/root-project/root/pull/13995 -Patch17: %{name}-Fix-cmake-modules-FindZeroMQ.cmake.patch +Patch12: %{name}-Fix-cmake-modules-FindZeroMQ.cmake.patch +# https://github.com/root-project/root/pull/14111 +Patch13: %{name}-avoid-out-of-memory-during-linking.patch +# https://github.com/root-project/root/pull/14112 +Patch14: %{name}-clad.patch +Patch15: %{name}-gtest-back.patch +Patch16: %{name}-np32.patch +# Only for EPEL 8 - disable tests not working with old gtest +Patch17: %{name}-old-gtest.patch
BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -175,7 +166,6 @@ BuildRequires: dcap-devel BuildRequires: xrootd-client-devel >= 1:5.0.0 BuildRequires: cfitsio-devel BuildRequires: davix-devel >= 0.6.4 -BuildRequires: gfal2-devel BuildRequires: R-Rcpp-devel BuildRequires: R-RInside-devel BuildRequires: readline-devel @@ -192,7 +182,9 @@ BuildRequires: cmake-data >= 3.18.3-1 %else BuildRequires: openblas-devel %endif -BuildRequires: json-devel +%if ! %{bundlejson} +BuildRequires: json-devel >= 3.9 +%endif %if %{?fedora}%{!?fedora:0} # Disable uring in EPEL 8 and 9 (liburing is available, # but uring not supported by the kernel) @@ -328,7 +320,11 @@ Requires: %{name}-tree-dataframe%{?_isa} = %{version}-%{release} Requires: %{name}-tree-player%{?_isa} = %{version}-%{release} Requires: %{name}-vecops%{?_isa} = %{version}-%{release} # To resolve dependency in installed ROOTConfig.cmake -Requires: json-devel +%if %{bundlejson} +Provides: bundled(json-devel) = 3.10.5 +%else +Requires: json-devel >= 3.9 +%endif # Fonts Requires: xorg-x11-fonts-ISO8859-1-75dpi Requires: font(freesans) @@ -356,19 +352,9 @@ Obsoletes: %{name}-table < 6.18.00 Obsoletes: %{name}-memstat < 6.26.00 Obsoletes: %{name}-montecarlo-vmc < 6.26.00 Obsoletes: %{name}-doc < 6.26.00 +Obsoletes: %{name}-io-gfal < 6.30.00 +Obsoletes: %{name}-roofit-common < 6.30.00 %if %{?rhel}%{!?rhel:0} == 8 -# Obsolete the ROOT 7 packages in EPEL 8 -# Minimum C++ version changed from 14 to 17 -Obsoletes: %{name}-graf-gpadv7 < 6.26.00 -Obsoletes: %{name}-graf-primitives < 6.26.00 -Obsoletes: %{name}-graf3d-eve7 < 6.26.00 -Obsoletes: %{name}-gui-browsable < 6.26.00 -Obsoletes: %{name}-gui-browserv7 < 6.26.00 -Obsoletes: %{name}-gui-canvaspainter < 6.26.00 -Obsoletes: %{name}-gui-fitpanelv7 < 6.26.00 -Obsoletes: %{name}-histv7 < 6.26.00 -Obsoletes: %{name}-hist-draw < 6.26.00 -Obsoletes: %{name}-tree-ntuple < 6.26.00 # Obsolete the DistRDF package in EPEL 8 # Minimum Python version requirement introduced Obsoletes: python%{python3_pkgversion}-distrdf < 6.26.00 @@ -910,14 +896,6 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release} %description io-dcache This package contains the dCache extension for ROOT.
-%package io-gfal -Summary: Grid File Access Library input/output library for ROOT -Requires: %{name}-core%{?_isa} = %{version}-%{release} -Requires: %{name}-io%{?_isa} = %{version}-%{release} - -%description io-gfal -This package contains the Grid File Access Library extension for ROOT. - %package io-sql Summary: SQL input/output library for ROOT Requires: %{name}-core%{?_isa} = %{version}-%{release} @@ -1208,7 +1186,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 >= 7 +Requires: js-jsroot >= 7.5 # Library split (net-httpsniff from net-http) Obsoletes: %{name}-net-http < 6.14.00
@@ -1336,26 +1314,6 @@ suitable for adoption in different disciplines as well.
This package contains the RooFit toolkit classes.
-%package roofit-common -Summary: ROOT extension for modeling expected distributions - common -License: BSD-2-Clause -Requires: %{name}-core%{?_isa} = %{version}-%{release} - -%description roofit-common -The RooFit packages provide a toolkit for modeling the expected -distribution of events in a physics analysis. Models can be used to -perform likelihood fits, produce plots, and generate "toy Monte -Carlo" samples for various studies. The RooFit tools are integrated -with the object-oriented and interactive ROOT graphical environment. - -RooFit has been developed for the BaBar collaboration, a high energy -physics experiment at the Stanford Linear Accelerator Center, and is -primarily targeted to the high-energy physicists using the ROOT -analysis environment, but the general nature of the package make it -suitable for adoption in different disciplines as well. - -This package contains the RooFit common classes. - %package roofit-core Summary: ROOT extension for modeling expected distributions - core License: BSD-2-Clause @@ -1368,7 +1326,6 @@ 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}-roofit-common%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} # Package split / Library split (from roofit) Obsoletes: %{name}-roofit < 6.20.00 @@ -1502,7 +1459,6 @@ Summary: Multi-process support for RooFit License: BSD-2-Clause Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-hist%{?_isa} = %{version}-%{release} -Requires: %{name}-roofit-common%{?_isa} = %{version}-%{release} Requires: %{name}-roofit-zmq%{?_isa} = %{version}-%{release}
%description roofit-multiprocess @@ -1552,6 +1508,39 @@ Requires: %{name}-roostats%{?_isa} = %{version}-%{release}
%description hist-factory Create RooFit probability density functions from ROOT histograms. + +%package xroofit +Summary: Extra tools for RooFit projects +License: BSD-2-Clause +Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-graf%{?_isa} = %{version}-%{release} +Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release} +Requires: %{name}-gui%{?_isa} = %{version}-%{release} +Requires: %{name}-gui-ged%{?_isa} = %{version}-%{release} +Requires: %{name}-hist%{?_isa} = %{version}-%{release} +Requires: %{name}-hist-factory%{?_isa} = %{version}-%{release} +Requires: %{name}-io%{?_isa} = %{version}-%{release} +Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} +Requires: %{name}-matrix%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-hs3%{?_isa} = %{version}-%{release} +Requires: %{name}-roostats%{?_isa} = %{version}-%{release} + +%description xroofit +The RooFit packages provide a toolkit for modeling the expected +distribution of events in a physics analysis. Models can be used to +perform likelihood fits, produce plots, and generate "toy Monte +Carlo" samples for various studies. The RooFit tools are integrated +with the object-oriented and interactive ROOT graphical environment. + +RooFit has been developed for the BaBar collaboration, a high energy +physics experiment at the Stanford Linear Accelerator Center, and is +primarily targeted to the high-energy physicists using the ROOT +analysis environment, but the general nature of the package make it +suitable for adoption in different disciplines as well. + +This package contains extra tools for RooFit projects. %endif
%package sql-mysql @@ -1809,7 +1798,7 @@ written in python. Summary: Static files for the Jupyter ROOT Notebook BuildArch: noarch Requires: %{name}-core = %{version}-%{release} -Requires: js-jsroot >= 7 +Requires: js-jsroot >= 7.5 %if %{?fedora}%{!?fedora:0} # jupyter-notebook not available in RHEL/EPEL # some functionality missing @@ -1993,41 +1982,6 @@ Requires: %{name}-tree-ntuple%{?_isa} = %{version}-%{release}
%description tree-ntuple-utils This package contains utility functions for ntuples. - -%if %{roofit} -%package xroofit -Summary: Extra tools for RooFit projects -License: BSD-2-Clause -Requires: %{name}-core%{?_isa} = %{version}-%{release} -Requires: %{name}-graf%{?_isa} = %{version}-%{release} -Requires: %{name}-graf-gpad%{?_isa} = %{version}-%{release} -Requires: %{name}-gui%{?_isa} = %{version}-%{release} -Requires: %{name}-gui-ged%{?_isa} = %{version}-%{release} -Requires: %{name}-hist%{?_isa} = %{version}-%{release} -Requires: %{name}-hist-factory%{?_isa} = %{version}-%{release} -Requires: %{name}-io%{?_isa} = %{version}-%{release} -Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} -Requires: %{name}-matrix%{?_isa} = %{version}-%{release} -Requires: %{name}-roofit%{?_isa} = %{version}-%{release} -Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} -Requires: %{name}-roofit-hs3%{?_isa} = %{version}-%{release} -Requires: %{name}-roostats%{?_isa} = %{version}-%{release} - -%description xroofit -The RooFit packages provide a toolkit for modeling the expected -distribution of events in a physics analysis. Models can be used to -perform likelihood fits, produce plots, and generate "toy Monte -Carlo" samples for various studies. The RooFit tools are integrated -with the object-oriented and interactive ROOT graphical environment. - -RooFit has been developed for the BaBar collaboration, a high energy -physics experiment at the Stanford Linear Accelerator Center, and is -primarily targeted to the high-energy physicists using the ROOT -analysis environment, but the general nature of the package make it -suitable for adoption in different disciplines as well. - -This package contains extra tools for RooFit projects. -%endif %endif
%prep @@ -2050,7 +2004,9 @@ This package contains extra tools for RooFit projects. %patch -P 14 -p1 %patch -P 15 -p1 %patch -P 16 -p1 +%if %{?rhel}%{!?rhel:0} == 8 %patch -P 17 -p1 +%endif
# Remove bundled sources in order to be sure they are not used # * afterimage @@ -2063,7 +2019,9 @@ rm -rf graf2d/freetype/src rm -rf builtins/davix rm -rf builtins/glew rm -rf builtins/lz4 +%if ! %{bundlejson} rm -rf builtins/nlohmann +%endif rm -rf builtins/openssl rm -rf builtins/pcre rm -rf builtins/tbb @@ -2073,17 +2031,15 @@ rm -rf builtins/zeromq rm -rf builtins/zlib rm -rf builtins/zstd # * lzma -rm -rf core/lzma/src/*.tar.gz +rm core/lzma/src/*.tar.gz # * gl2ps rm graf3d/gl/src/gl2ps.cxx graf3d/gl/src/gl2ps/gl2ps.h # * unuran -rm -rf math/unuran/src/*.tar.gz +rm math/unuran/src/*.tar.gz # * xrootd-private-devel headers rm -rf proof/xrdinc/* # * x11 extension headers rm -rf graf2d/x11/inc/X11 -# * mathjax -rm -rf documentation/doxygen/mathjax.tar.gz # * jsroot rm -rf js/[^f]* js/files/draw.htm js/files/online.htm
@@ -2091,12 +2047,6 @@ rm -rf js/[^f]* js/files/draw.htm js/files/online.htm rm etc/notebook/JsMVA/js/*.min.js rm etc/notebook/JsMVA/css/*.min.css
-%if %{?rhel}%{!?rhel:0} == 8 -# Allow older json on EPEL 8 -sed 's!nlohmann_json 3.9!nlohmann_json 3.6!' \ - -i cmake/modules/SearchInstalledSoftware.cmake -%endif - %build # This package triggers a fault in LLVM when LTO is enabled. Until LLVM # is analyzed and fixed, disable LTO @@ -2142,7 +2092,11 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dbuiltin_llvm:BOOL=ON \ -Dbuiltin_lz4:BOOL=OFF \ -Dbuiltin_lzma:BOOL=OFF \ +%if %{bundlejson} + -Dbuiltin_nlohmannjson:BOOL=ON \ +%else -Dbuiltin_nlohmannjson:BOOL=OFF \ +%endif -Dbuiltin_openssl:BOOL=OFF \ -Dbuiltin_openui5:BOOL=ON \ -Dbuiltin_pcre:BOOL=OFF \ @@ -2156,7 +2110,6 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dbuiltin_zeromq:BOOL=OFF \ -Dbuiltin_zlib:BOOL=OFF \ -Dbuiltin_zstd:BOOL=OFF \ - -Dalien:BOOL=OFF \ %ifnarch %{ix86} %{arm} -Darrow:BOOL=ON \ %else @@ -2186,12 +2139,9 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dfitsio:BOOL=ON \ -Dfortran:BOOL=ON \ -Dgdml:BOOL=ON \ - -Dgfal:BOOL=ON \ - -Dgsl_shared:BOOL=ON \ -Dgviz:BOOL=ON \ -Dhttp:BOOL=ON \ -Dimt:BOOL=ON \ - -Djemalloc:BOOL=OFF \ -Dlibcxx:BOOL=OFF \ -Dmathmore:BOOL=ON \ -Dmemory_termination:BOOL=OFF \ @@ -2199,17 +2149,17 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dminuit2_mpi:BOOL=OFF \ -Dminuit2_omp:BOOL=OFF \ -Dmlp:BOOL=ON \ - -Dmonalisa:BOOL=OFF \ -Dmpi:BOOL=OFF \ -Dmysql:BOOL=ON \ -Dodbc:BOOL=ON \ -Dopengl:BOOL=ON \ -Doracle:BOOL=OFF \ -Dpgsql:BOOL=ON \ + -Dproof:BOOL=ON \ + -Dpyroot:BOOL=ON \ + -Dpyroot-python2:BOOL=OFF \ -Dpythia6:BOOL=OFF \ -Dpythia8:BOOL=ON \ - -Dpyroot:BOOL=ON \ - -Dpyroot_legacy:BOOL=OFF \ %ifarch %{qt5_qtwebengine_arches} -Dqt5web:BOOL=ON \ %else @@ -2247,7 +2197,6 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dspectrum:BOOL=ON \ -Dsqlite:BOOL=ON \ -Dssl:BOOL=ON \ - -Dtcmalloc:BOOL=OFF \ -Dtmva:BOOL=ON \ -Dtmva-cpu:BOOL=ON \ -Dtmva-gpu:BOOL=OFF \ @@ -2258,6 +2207,7 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" %else -Dtmva-sofie:BOOL=OFF \ %endif + -Dunfold:BOOL=ON \ -Dunuran:BOOL=ON \ %if %{?fedora}%{!?fedora:0} -During:BOOL=ON \ @@ -2272,7 +2222,6 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dx11:BOOL=ON \ -Dxml:BOOL=ON \ -Dxrootd:BOOL=ON \ - -Dxproofd:BOOL=OFF \ -Dfail-on-missing:BOOL=ON \ -Dtesting:BOOL=ON \ -Dtest_distrdf_pyspark:BOOL=OFF \ @@ -2414,6 +2363,8 @@ sed -e 's!/usr/bin/env python!%{__python3}!' \ %{buildroot}%{_pkgdocdir}/tutorials/tmva/keras/GenerateModel.py \ %{buildroot}%{_pkgdocdir}/tutorials/tmva/keras/MulticlassKeras.py \ %{buildroot}%{_pkgdocdir}/tutorials/tmva/keras/RegressionKeras.py +sed -e 's!/usr/bin/python!%{__python3}!' \ + -i %{buildroot}%{_datadir}/%{name}/pdg_table_update.py
# Remove some junk rm %{buildroot}%{_datadir}/%{name}/proof/*.sample @@ -2422,7 +2373,6 @@ rm %{buildroot}%{_datadir}/%{name}/root.desktop rm %{buildroot}%{_bindir}/setxrd* rm %{buildroot}%{_bindir}/thisroot* rm %{buildroot}%{_pkgdocdir}/INSTALL -rm %{buildroot}%{_pkgdocdir}/README.ALIEN rm %{buildroot}%{_pkgdocdir}/README.CXXMODULES.md rm %{buildroot}%{_pkgdocdir}/README.MONALISA
@@ -2434,16 +2384,13 @@ pushd %{buildroot}%{_datadir}/%{name}/plugins %if ! %{root7} rm TBrowserImp/P030_RWebBrowserImp.C %endif -rm TDataSetManager/P020_TDataSetManagerAliEn.C -rm TFile/P070_TAlienFile.C +rm TFile/P050_TGFALFile.C rm TGLManager/P020_TGWin32GLManager.C rm TGLManager/P030_TGOSXGLManager.C -rm TGrid/P010_TAlien.C rm TProofMgr/P010_TXProofMgr.C rm TProofServ/P010_TXProofServ.C rm TSlave/P010_TXSlave.C rm TSQLServer/P040_TOracleServer.C -rm TSystem/P030_TAlienSystem.C rm TVirtualGeoConverter/P010_TGeoVGConverter.C %if ! %{root7} rm TVirtualGeoPainter/P020_RGeoPainter.C @@ -2452,7 +2399,6 @@ rm TVirtualGLImp/P020_TGWin32GL.C rm TVirtualMonitoringWriter/P010_TMonaLisaWriter.C rm TVirtualX/P030_TGWin32.C rm TVirtualX/P050_TGQuartz.C -rmdir TGrid rmdir TProofMgr rmdir TProofServ rmdir TSlave @@ -2460,7 +2406,7 @@ rmdir TVirtualGeoConverter popd
# Replace bundled jsroot with symlinks to system version -for x in build img modules scripts files/draw.htm files/online.htm ; do +for x in build img mathjax modules scripts files/draw.htm files/online.htm ; do ln -nrs %{buildroot}%{_jsdir}/jsroot/$x \ %{buildroot}%{_datadir}/%{name}/js/$x done @@ -2481,13 +2427,8 @@ If this target is not used this warning can be ignored.")' \ -e '/Possible reasons include/,/)/d' \ -i %{buildroot}%{_datadir}/%{name}/cmake/ROOTConfig-targets.cmake
-# Rename to avoid name clashes -cp -p interpreter/llvm/src/CREDITS.TXT interpreter/llvm/src/llvm-CREDITS.TXT -cp -p interpreter/llvm/src/LICENSE.TXT interpreter/llvm/src/llvm-LICENSE.TXT -cp -p interpreter/llvm/src/README.txt interpreter/llvm/src/llvm-README.txt - # Create includelist files ... -for f in `find %{_vpath_builddir} -name cmake_install.cmake -a '!' -path '*/llvm/*'` ; do +for f in `find %{_vpath_builddir} -name cmake_install.cmake -a '!' -path '*/llvm-project/*'` ; do l=`sed 's!%{_vpath_builddir}/(.*)/cmake_install.cmake!includelist-\1!' <<< $f` l=`tr / - <<< $l` tmpdir=`mktemp -d` @@ -2518,6 +2459,9 @@ for x in df014_CsvDataSource_MuRun2010B_cpp.csv \ ln -sf ../../files/tutorials/df014_CsvDataSource_MuRun2010B.csv $x done popd +pushd tmva/tmva/test +ln -s ../../../../files files +popd pushd tmva/tmva/test/DNN ln -s ../../../../../files files popd @@ -2558,7 +2502,7 @@ popd # # - tutorial-dataframe-df104_HiggsToTwoPhotons-py # - tutorial-dataframe-df105_WBosonAnalysis-py -# - tutorial-dataframe-df106_HiggsToFourLeptons-py +# - tutorial-dataframe-df106_HiggsToFourLeptons(-py) # - tutorial-dataframe-df107_SingleTopAnalysis-py # - tutorial-rcanvas-df104-py # - tutorial-rcanvas-df105-py @@ -2577,6 +2521,10 @@ popd # reads input data over network # http://root.cern.ch/files/NanoAOD_DoubleMuon_CMS2011OpenData.root (1.5 GB) # +# - tutorial-v7-ntuple-ntpl008_import +# reads input data over network +# http://root.cern.ch/files/HiggsTauTauReduced/GluGluToHToTauTau.root (20 MB) +# # - gtest-net-davix-test-RRawFileDavix # reads input file over network # http://root.cern.ch/files/davix.test @@ -2585,6 +2533,10 @@ popd # reads input file over network # root://eospublic.cern.ch/eos/root-eos/xrootd.test # +# - gtest-net-netxng-test-TNetXNGFileTest +# reads input file over network +# root://eospublic.cern.ch/eos/root-eos/h1/dstarmb.root +# # - gtest-tmva-tmva-test-rreader # - gtest-tmva-tmva-test-rstandardscaler # - tutorial-tmva-tmva003_RReader @@ -2596,6 +2548,10 @@ popd # reads input data over network # http://root.cern/files/tmva101.root # +# - tutorial-tmva-RBatchGenerator_NumPy-py +# reads input data over network +# http://root.cern/files/Higgs_data.root +# # - test-import-numba # - tutorial-pyroot-pyroot004_NumbaDeclare-py # these tests require the numba python module which is not available @@ -2618,20 +2574,23 @@ gtest-tree-treeplayer-test-treeprocessormt-remotefiles|\ tutorial-dataframe-df103_NanoAODHiggsAnalysis|\ tutorial-dataframe-df104_HiggsToTwoPhotons-py|\ tutorial-dataframe-df105_WBosonAnalysis-py|\ -tutorial-dataframe-df106_HiggsToFourLeptons-py|\ +tutorial-dataframe-df106_HiggsToFourLeptons|\ tutorial-dataframe-df107_SingleTopAnalysis-py|\ tutorial-rcanvas-df104-py|\ tutorial-rcanvas-df105-py|\ tutorial-v7-global_temperatures.cxx|\ tutorial-v7-ntuple-ntpl003_lhcbOpenData|\ tutorial-v7-ntuple-ntpl004_dimuon|\ +tutorial-v7-ntuple-ntpl008_import|\ gtest-net-davix-test-RRawFileDavix|\ gtest-net-netxng-test-RRawFileNetXNG|\ +gtest-net-netxng-test-TNetXNGFileTest|\ gtest-tmva-tmva-test-rreader|\ gtest-tmva-tmva-test-rstandardscaler|\ tutorial-tmva-tmva003_RReader|\ tutorial-tmva-tmva004_RStandardScaler|\ tutorial-tmva-tmva103_Application|\ +tutorial-tmva-RBatchGenerator_NumPy-py|\ test-import-numba|\ tutorial-pyroot-pyroot004_NumbaDeclare-py|\ test-webgui-ping" @@ -2647,12 +2606,18 @@ tutorial-dataframe-df026_AsNumpyArrays-py|\ tutorial-roofit-rf409_NumPyPandasToRooFit-py" %endif
+%ifarch %{ix86} +# - gtest-tree-dataframe-test-dataframe-concurrency +# "There's already an active task arena." +excluded="${excluded}|\ +gtest-tree-dataframe-test-dataframe-concurrency" +%endif + %ifarch %{power64} # PPC64LE specific failures # - test-stresshistofit-interpreted # - test-stresshistogram-interpreted # - test-stressmathcore-interpreted -# - test-stressroostats-interpreted # # Always timeout (hang?) # - test-stressinterpreter @@ -2661,7 +2626,6 @@ excluded="${excluded}|\ test-stresshistofit-interpreted|\ test-stresshistogram-interpreted|\ test-stressmathcore-interpreted|\ -test-stressroostats-interpreted|\ test-stressinterpreter|\ tutorial-unuran-unuranFoamTest"
@@ -2675,7 +2639,6 @@ tutorial-unuran-unuranFoamTest" # - pyunittests-pyroot-import-load-libs # # - tutorial-fit-combinedFit(-py) -# - tutorial-fit-exampleFit3D # - tutorial-fit-fit2dHist # - tutorial-fit-fitCircle # - tutorial-fit-line3Dfit @@ -2686,10 +2649,17 @@ tutorial-unuran-unuranFoamTest" # - tutorial-multicore-mtbb001_fillHistos # - tutorial-multicore-mtbb101_fillNtuples # - tutorial-multicore-mtbb201_parallelHistoFill +# - tutorial-rcanvas-* +# - tutorial-v7-concurrentfill.cxx +# - tutorial-v7-ntuple-ntpl001_staff +# - tutorial-v7-ntuple-ntpl002_vector +# - tutorial-v7-ntuple-ntpl005_introspection +# - tutorial-v7-ntuple-ntpl006_friends +# - tutorial-v7-ntuple-ntpl007_mtFill +# - tutorial-v7-simple.cxx excluded="${excluded}|\ pyunittests-pyroot-import-load-libs|\ tutorial-fit-combinedFit|\ -tutorial-fit-exampleFit3D|\ tutorial-fit-fit2dHist|\ tutorial-fit-fitCircle|\ tutorial-fit-line3Dfit|\ @@ -2699,32 +2669,64 @@ tutorial-multicore-mt201_parallelHistoFill|\ tutorial-multicore-mt304_fillHistos|\ tutorial-multicore-mtbb001_fillHistos|\ tutorial-multicore-mtbb101_fillNtuples|\ -tutorial-multicore-mtbb201_parallelHistoFill" +tutorial-multicore-mtbb201_parallelHistoFill|\ +tutorial-rcanvas|\ +tutorial-v7-concurrentfill.cxx|\ +tutorial-v7-ntuple-ntpl001_staff|\ +tutorial-v7-ntuple-ntpl002_vector|\ +tutorial-v7-ntuple-ntpl005_introspection|\ +tutorial-v7-ntuple-ntpl006_friends|\ +tutorial-v7-ntuple-ntpl007_mtFill|\ +tutorial-v7-simple.cxx" %endif %endif
%ifarch s390x # - gtest-roofit-roofitcore-test-testNaNPacker -# - tutorial-roofit-rf612_recoverFromInvalidParameters # Uses "Packed NaN" feature, not implemented for big endian. excluded="${excluded}|\ -gtest-roofit-roofitcore-test-testNaNPacker|\ -tutorial-roofit-rf612_recoverFromInvalidParameters" +gtest-roofit-roofitcore-test-testNaNPacker"
+# - gtest-core-base-test-CoreBaseTests +# - gtest-core-dictgen-test-dictgen-base +# - gtest-core-meta-test-testTDataType +# +# - gtest-tree-dataframe-test-datasource-ntuple # - gtest-tree-ntuple-v7-test-ntuple-basics +# - gtest-tree-ntuple-v7-test-ntuple-bulk # - gtest-tree-ntuple-v7-test-ntuple-endian # - gtest-tree-ntuple-v7-test-ntuple-extended +# - gtest-tree-ntuple-v7-test-ntuple-friends # - gtest-tree-ntuple-v7-test-ntuple-minifile -# - gtest-tree-ntuple-v7-test-ntuple-rdf +# - gtest-tree-ntuple-v7-test-ntuple-modelext +# - gtest-tree-ntuple-v7-test-ntuple-packing +# - gtest-tree-ntuple-v7-test-ntuple-project # - gtest-tree-ntuple-v7-test-ntuple-serialize +# - gtest-tree-ntuple-v7-test-ntuple-show +# - gtest-tree-ntuple-v7-test-ntuple-storage +# - gtest-tree-ntuple-v7-test-ntuple-storage-daos # - gtest-tree-ntuple-v7-test-ntuple-types +# - gtest-tree-ntuple-v7-test-ntuple-view +# - gtest-tree-ntuple-v7-test-rfield-vector +# - gtest-tree-ntupleutil-v7-test-ntuple-importer +# - gtest-tree-ntupleutil-v7-test-ntuple-inspector # https://github.com/root-project/root/issues/12426 # +# - pyunittests-distrdf-unit-backend-test-graph-caching # - pyunittests-pyroot-pyz-rtensor # - pyunittests-pyroot-pyz-stl-vector # - tutorial-dataframe-df006_ranges-py # - tutorial-fit-combinedFit-py +# - tutorial-fit-fitcont +# - tutorial-fit-NumericalMinimization-py # - tutorial-math-exampleFunction-py +# - tutorial-rcanvas-rbox-py +# - tutorial-roofit-rf108_plotbinning-py +# - tutorial-roofit-rf306_condpereventerrors-py +# - tutorial-roofit-rf307_fullpereventerrors-py +# - tutorial-roofit-rf310_sliceplot-py +# - tutorial-roofit-rf708_bphysics-py +# - tutorial-tmva-RBatchGenerator_filters_vectors-py # - tutorial-tmva-TMVA_CNN_Classification-py # - tutorial-tmva-TMVA_Higgs_Classification-py # - tutorial-tmva-TMVA_RNN_Classification-py @@ -2738,18 +2740,43 @@ tutorial-roofit-rf612_recoverFromInvalidParameters" # - test-stresshistogram # - test-stresshistogram-interpreted excluded="${excluded}|\ +gtest-core-base-test-CoreBaseTests|\ +gtest-core-dictgen-test-dictgen-base|\ +gtest-core-meta-test-testTDataType|\ +gtest-tree-dataframe-test-datasource-ntuple|\ gtest-tree-ntuple-v7-test-ntuple-basics|\ +gtest-tree-ntuple-v7-test-ntuple-bulk|\ gtest-tree-ntuple-v7-test-ntuple-endian|\ gtest-tree-ntuple-v7-test-ntuple-extended|\ +gtest-tree-ntuple-v7-test-ntuple-friends|\ gtest-tree-ntuple-v7-test-ntuple-minifile|\ -gtest-tree-ntuple-v7-test-ntuple-rdf|\ +gtest-tree-ntuple-v7-test-ntuple-modelext|\ +gtest-tree-ntuple-v7-test-ntuple-packing|\ +gtest-tree-ntuple-v7-test-ntuple-project|\ gtest-tree-ntuple-v7-test-ntuple-serialize|\ +gtest-tree-ntuple-v7-test-ntuple-show|\ +gtest-tree-ntuple-v7-test-ntuple-storage|\ +gtest-tree-ntuple-v7-test-ntuple-storage-daos|\ gtest-tree-ntuple-v7-test-ntuple-types|\ +gtest-tree-ntuple-v7-test-ntuple-view|\ +gtest-tree-ntuple-v7-test-rfield-vector|\ +gtest-tree-ntupleutil-v7-test-ntuple-importer|\ +gtest-tree-ntupleutil-v7-test-ntuple-inspector|\ +pyunittests-distrdf-unit-backend-test-graph-caching|\ pyunittests-pyroot-pyz-rtensor|\ pyunittests-pyroot-pyz-stl-vector|\ tutorial-dataframe-df006_ranges-py|\ tutorial-fit-combinedFit-py|\ +tutorial-fit-fitcont|\ +tutorial-fit-NumericalMinimization-py|\ tutorial-math-exampleFunction-py|\ +tutorial-rcanvas-rbox-py|\ +tutorial-roofit-rf108_plotbinning-py|\ +tutorial-roofit-rf306_condpereventerrors-py|\ +tutorial-roofit-rf307_fullpereventerrors-py|\ +tutorial-roofit-rf310_sliceplot-py|\ +tutorial-roofit-rf708_bphysics-py|\ +tutorial-tmva-RBatchGenerator_filters_vectors-py|\ tutorial-tmva-TMVA_CNN_Classification-py|\ tutorial-tmva-TMVA_Higgs_Classification-py|\ tutorial-tmva-TMVA_RNN_Classification-py|\ @@ -2776,7 +2803,14 @@ test-stressgraphics" # Filter out parts of tests that require remote network access # RNTuple.TClassEBO seg fault # https://github.com/root-project/root/issues/12428 -GTEST_FILTER=-RCsvDS.Remote:RRawFile.Remote:RSqliteDS.Davix:TFile.ReadWithoutGlobalRegistrationWeb:TFile.ReadWithoutGlobalRegistrationNet:RNTuple.TClassEBO \ +GTEST_FILTER=-\ +RCsvDS.Remote:\ +RRawFile.Remote:\ +RSqliteDS.Davix:\ +TChainParsing.RemoteGlob:\ +TFile.ReadWithoutGlobalRegistrationNet:\ +TFile.ReadWithoutGlobalRegistrationWeb:\ +RNTuple.TClassEBO \ %if ! ( %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} == 8 ) ROOTTEST_IGNORE_PANDAS_PY3=1 \ %endif @@ -2795,12 +2829,9 @@ end
%post net-http # Replace bundled jsroot with symlinks to system version -for x in build img modules scripts files/draw.htm files/online.htm ; do +for x in build img mathjax modules scripts files/draw.htm files/online.htm ; do ln -fnrs %{_jsdir}/jsroot/$x %{_datadir}/%{name}/js/$x done -%{?ldconfig} - -%ldconfig_postun net-http
%pre -n python%{python3_pkgversion}-%{name} if [ -r /var/lib/alternatives/libPyROOT.so ] ; then @@ -2851,143 +2882,6 @@ fi %post core -p /sbin/ldconfig %postun core -p /sbin/ldconfig
-%ldconfig_scriptlets multiproc -%ldconfig_scriptlets cling -%ldconfig_scriptlets tpython -%ldconfig_scriptlets -n python%{python3_pkgversion}-%{name} -%ldconfig_scriptlets r -%ldconfig_scriptlets r-tools -%ldconfig_scriptlets genetic -%ldconfig_scriptlets geom -%ldconfig_scriptlets geom-builder -%ldconfig_scriptlets geom-painter -%ldconfig_scriptlets gdml -%ldconfig_scriptlets graf -%ldconfig_scriptlets graf-asimage -%ldconfig_scriptlets graf-fitsio -%ldconfig_scriptlets graf-gpad -%ldconfig_scriptlets graf-gviz -%ldconfig_scriptlets graf-postscript -%ldconfig_scriptlets graf-x11 -%ldconfig_scriptlets graf3d -%ldconfig_scriptlets graf3d-csg -%ldconfig_scriptlets graf3d-eve -%ldconfig_scriptlets graf3d-gl -%ldconfig_scriptlets graf3d-gviz3d -%ldconfig_scriptlets graf3d-x3d -%ldconfig_scriptlets gui -%ldconfig_scriptlets gui-html -%ldconfig_scriptlets gui-fitpanel -%ldconfig_scriptlets gui-ged -%ldconfig_scriptlets gui-builder -%ldconfig_scriptlets gui-recorder -%ldconfig_scriptlets hbook -%ldconfig_scriptlets hist -%ldconfig_scriptlets hist-painter -%ldconfig_scriptlets spectrum -%ldconfig_scriptlets spectrum-painter -%ldconfig_scriptlets html -%ldconfig_scriptlets io -%ldconfig_scriptlets io-dcache -%ldconfig_scriptlets io-gfal -%ldconfig_scriptlets io-sql -%ldconfig_scriptlets io-xml -%ldconfig_scriptlets io-xmlparser -%ldconfig_scriptlets foam -%ldconfig_scriptlets fftw -%ldconfig_scriptlets fumili -%ldconfig_scriptlets genvector -%ldconfig_scriptlets mathcore -%ldconfig_scriptlets mathmore -%ldconfig_scriptlets matrix -%ldconfig_scriptlets minuit -%ldconfig_scriptlets minuit2 -%ldconfig_scriptlets mlp -%ldconfig_scriptlets physics -%ldconfig_scriptlets quadp -%ldconfig_scriptlets smatrix -%ldconfig_scriptlets splot -%ldconfig_scriptlets unuran -%ldconfig_scriptlets vecops -%ldconfig_scriptlets montecarlo-eg -%ldconfig_scriptlets montecarlo-pythia8 -%ldconfig_scriptlets net -%ldconfig_scriptlets net-rpdutils -%ldconfig_scriptlets net-auth -%ldconfig_scriptlets net-davix -%ldconfig_scriptlets net-httpsniff -%ldconfig_scriptlets netx -%ldconfig_scriptlets proof -%ldconfig_scriptlets proof-bench -%ldconfig_scriptlets proof-player -%ldconfig_scriptlets proof-sessionviewer -%if %{roofit} -%ldconfig_scriptlets roofit -%ldconfig_scriptlets roofit-common -%ldconfig_scriptlets roofit-core -%ldconfig_scriptlets roofit-more -%ldconfig_scriptlets roofit-batchcompute -%if %{dataframe} -%ldconfig_scriptlets roofit-dataframe-helpers -%endif -%ldconfig_scriptlets roofit-hs3 -%ldconfig_scriptlets roofit-jsoninterface -%if %{?fedora}%{!?fedora:0} >= 40 -%ldconfig_scriptlets roofit-multiprocess -%ldconfig_scriptlets roofit-zmq -%endif -%ldconfig_scriptlets roostats -%ldconfig_scriptlets hist-factory -%endif -%ldconfig_scriptlets sql-mysql -%ldconfig_scriptlets sql-odbc -%ldconfig_scriptlets sql-sqlite -%ldconfig_scriptlets sql-pgsql -%ldconfig_scriptlets tmva -%if %{dataframe} -%ldconfig_scriptlets tmva-utils -%endif -%ldconfig_scriptlets tmva-python -%ldconfig_scriptlets tmva-r -%ldconfig_scriptlets tmva-sofie -%if %{tmvasofieparser} -%ldconfig_scriptlets tmva-sofie-parser -%endif -%ldconfig_scriptlets tmva-gui -%ldconfig_scriptlets tree -%if %{dataframe} -%ldconfig_scriptlets tree-dataframe -%endif -%ldconfig_scriptlets tree-player -%ldconfig_scriptlets tree-viewer -%ldconfig_scriptlets tree-webviewer -%ldconfig_scriptlets unfold -%ldconfig_scriptlets gui-webdisplay -%ifarch %{qt5_qtwebengine_arches} -%ldconfig_scriptlets gui-qt5webdisplay -%endif -%ifarch %{qt6_qtwebengine_arches} -%ldconfig_scriptlets gui-qt6webdisplay -%endif -%ldconfig_scriptlets gui-webgui6 -%if %{root7} -%ldconfig_scriptlets geom-webviewer -%ldconfig_scriptlets graf-gpadv7 -%ldconfig_scriptlets graf-primitives -%ldconfig_scriptlets graf3d-eve7 -%ldconfig_scriptlets gui-browsable -%ldconfig_scriptlets gui-browserv7 -%ldconfig_scriptlets gui-canvaspainter -%ldconfig_scriptlets gui-fitpanelv7 -%ldconfig_scriptlets histv7 -%ldconfig_scriptlets hist-draw -%ldconfig_scriptlets tree-ntuple -%ldconfig_scriptlets tree-ntuple-utils -%if %{roofit} -%ldconfig_scriptlets xroofit -%endif -%endif - %files %{_bindir}/hadd %{_bindir}/root @@ -3055,9 +2949,13 @@ fi %dir %{_datadir}/%{name}/plugins %dir %{_datadir}/%{name}/plugins/* %dir %{_includedir}/%{name} +%if %{bundlejson} +%dir %{_includedir}/%{name}/nlohmann +%{_includedir}/%{name}/nlohmann/json.hpp +%{_includedir}/%{name}/nlohmann/json_fwd.hpp +%endif %{_includedir}/%{name}/RConfigOptions.h %{_includedir}/%{name}/RConfigure.h -%{_includedir}/%{name}/RGitCommit.h %{_includedir}/%{name}/compiledata.h %{_includedir}/%{name}/module.modulemap %dir %{_includedir}/%{name}/Math @@ -3086,13 +2984,10 @@ fi %doc interpreter/cling/CREDITS.txt %doc interpreter/cling/README.md %license interpreter/cling/LICENSE.TXT -%doc interpreter/llvm/src/llvm-CREDITS.TXT -%doc interpreter/llvm/src/llvm-README.txt -%license interpreter/llvm/src/llvm-LICENSE.TXT
%files testsupport %{_includedir}/%{name}/ROOT/TestSupport.hxx -%{_libdir}/%{name}/libTestSupport.a +%{_libdir}/%{name}/TestSupport %doc core/testsupport/README.md
%files tpython -f includelist-bindings-tpython @@ -3314,11 +3209,6 @@ fi %{_datadir}/%{name}/plugins/TFile/P040_TDCacheFile.C %{_datadir}/%{name}/plugins/TSystem/P020_TDCacheSystem.C
-%files io-gfal -f includelist-io-gfal -%{_libdir}/%{name}/libGFAL.* -%{_libdir}/%{name}/libGFAL_rdict.pcm -%{_datadir}/%{name}/plugins/TFile/P050_TGFALFile.C - %files io-sql -f includelist-io-sql %{_libdir}/%{name}/libSQLIO.* %{_libdir}/%{name}/libSQLIO_rdict.pcm @@ -3433,6 +3323,7 @@ fi %{_libdir}/%{name}/libEG.* %{_libdir}/%{name}/libEG_rdict.pcm %{_datadir}/%{name}/pdg_table.txt +%{_datadir}/%{name}/pdg_table_update.py %doc %{_pkgdocdir}/cfortran.doc
%files montecarlo-pythia8 -f includelist-montecarlo-pythia8 @@ -3479,6 +3370,7 @@ fi %{_datadir}/%{name}/js/files/wslist.htm %ghost %{_datadir}/%{name}/js/build %ghost %{_datadir}/%{name}/js/img +%ghost %{_datadir}/%{name}/js/mathjax %ghost %{_datadir}/%{name}/js/modules %ghost %{_datadir}/%{name}/js/scripts %ghost %{_datadir}/%{name}/js/files/draw.htm @@ -3544,12 +3436,13 @@ fi %{_libdir}/%{name}/libRooFit.* %{_libdir}/%{name}/libRooFit_rdict.pcm
-%files roofit-common -%{_libdir}/%{name}/libRooFitCommon.* - %files roofit-core -f includelist-roofit-roofitcore %{_libdir}/%{name}/libRooFitCore.* %{_libdir}/%{name}/libRooFitCore_rdict.pcm +%dir %{_includedir}/%{name}/RooFit +%dir %{_includedir}/%{name}/RooFit/Detail +%dir %{_includedir}/%{name}/RooFit/TestStatistics +%dir %{_includedir}/%{name}/RooFitLegacy %{_datadir}/gdb/auto-load%{_libdir}/%{name}/libRooFitCore.* %{_datadir}/gdb/auto-load%{_libdir}/%{name}/__pycache__/libRooFitCore.*
@@ -3557,10 +3450,9 @@ fi %{_libdir}/%{name}/libRooFitMore.* %{_libdir}/%{name}/libRooFitMore_rdict.pcm
-%files roofit-batchcompute -f includelist-roofit-batchcompute +%files roofit-batchcompute %{_libdir}/%{name}/libRooBatchCompute.* %{_libdir}/%{name}/libRooBatchCompute_* -%doc roofit/batchcompute/README.md
%if %{dataframe} %files roofit-dataframe-helpers -f includelist-roofit-RDataFrameHelpers @@ -3571,17 +3463,20 @@ fi %files roofit-hs3 -f includelist-roofit-hs3 %{_libdir}/%{name}/libRooFitHS3.* %{_libdir}/%{name}/libRooFitHS3_rdict.pcm +%dir %{_includedir}/%{name}/RooFitHS3 %{_datadir}/%{name}/RooFitHS3_wsexportkeys.json %{_datadir}/%{name}/RooFitHS3_wsfactoryexpressions.json -%doc roofit/hs3/README.md
%files roofit-jsoninterface -f includelist-roofit-jsoninterface %{_libdir}/%{name}/libRooFitJSONInterface.* %{_libdir}/%{name}/libRooFitJSONInterface_rdict.pcm +%dir %{_includedir}/%{name}/RooFit
%if %{?fedora}%{!?fedora:0} >= 40 %files roofit-multiprocess -f includelist-roofit-multiprocess %{_libdir}/%{name}/libRooFitMultiProcess.* +%dir %{_includedir}/%{name}/RooFit +%dir %{_includedir}/%{name}/RooFit/MultiProcess
%files roofit-zmq %{_libdir}/%{name}/libRooFitZMQ.* @@ -3601,7 +3496,13 @@ fi %{_libdir}/%{name}/libHistFactory_rdict.pcm %{_datadir}/%{name}/HistFactorySchema.dtd %dir %{_includedir}/%{name}/RooStats/HistFactory +%dir %{_includedir}/%{name}/RooStats/HistFactory/Detail %doc roofit/histfactory/doc/README + +%files xroofit -f includelist-roofit-xroofit +%{_libdir}/%{name}/libRooFitXRooFit.* +%{_libdir}/%{name}/libRooFitXRooFit_rdict.pcm +%dir %{_includedir}/%{name}/RooFit/xRooFit %endif
%files sql-mysql -f includelist-sql-mysql @@ -3632,6 +3533,8 @@ fi %dir %{_includedir}/%{name}/TMVA/DNN/Architectures %dir %{_includedir}/%{name}/TMVA/DNN/Architectures/Cpu %dir %{_includedir}/%{name}/TMVA/DNN/Architectures/Reference +%dir %{_includedir}/%{name}/TMVA/DNN/CNN +%dir %{_includedir}/%{name}/TMVA/DNN/RNN %license tmva/doc/LICENSE %exclude %{_includedir}/%{name}/TMVA/RBDT.hxx %exclude %{_includedir}/%{name}/TMVA/RInferenceUtils.hxx @@ -3777,6 +3680,7 @@ fi %{_libdir}/%{name}/libROOTBrowsable.* %{_libdir}/%{name}/libROOTBrowsable_rdict.pcm %{_libdir}/%{name}/libROOTBranchBrowseProvider.* +%{_libdir}/%{name}/libROOTGeoBrowseProvider.* %{_libdir}/%{name}/libROOTHistDrawProvider.* %{_libdir}/%{name}/libROOTLeafDraw6Provider.* %{_libdir}/%{name}/libROOTLeafDraw7Provider.* @@ -3814,19 +3718,20 @@ fi %files tree-ntuple -f includelist-tree-ntuple %{_libdir}/%{name}/libROOTNTuple.* %{_libdir}/%{name}/libROOTNTuple_rdict.pcm +%dir %{_includedir}/%{name}/ROOT/libdaos_mock
%files tree-ntuple-utils -f includelist-tree-ntupleutil %{_libdir}/%{name}/libROOTNTupleUtil.* %{_libdir}/%{name}/libROOTNTupleUtil_rdict.pcm - -%if %{roofit} -%files xroofit -f includelist-roofit-xroofit -%{_libdir}/%{name}/libRooFitXRooFit.* -%{_libdir}/%{name}/libRooFitXRooFit_rdict.pcm -%endif %endif
%changelog +* Sat Nov 25 2023 Mattias Ellert mattias.ellert@physics.uu.se - 6.30.00-1 +- Update to 6.30.00 +- Removed subpackages: root-io-gfal and root-roofit-common +- Dropped patches: 6 +- New patches: 6 + * Thu Nov 02 2023 Mattias Ellert mattias.ellert@physics.uu.se - 6.28.08-3 - Rebuilt for libarrow.so.1400
diff --git a/sources b/sources index abdf4dd..3dad81b 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (root-6.28.08.tar.xz) = 868d770a05372677da84e4456023c1b2b575ff1eac8b6b841ed45dd1e0fd0c6c7aede533271b986404f2a55c91ea196ac2d8c81b3b4d1edfae159c0b665c415e +SHA512 (root-6.30.00.tar.xz) = 0050fea34b679343829cf0bfe4bbd6ff66d93c8e2ceedef41b71d401c4e82495ec5fa4ecac82ef8d4d58f8cc0c724a6331d59b63998e6af28f022dd1942e3797 SHA512 (root-testfiles.tar.xz) = 945aef1a0cf5af672d4ab84b0ac00b76118e93008ff72447658ee82d9e955a1540af3ff7126e701418872f1d91b92ee96d4985840a519036c42732023a13f00f
commit ae0a7919250ae3903e9f4d78501b4cef0b775525 Author: Mattias Ellert mattias.ellert@physics.uu.se Date: Thu Nov 2 12:45:23 2023 +0100
Rebuilt for libarrow.so.1400
diff --git a/root.spec b/root.spec index 1c76e82..96f8888 100644 --- a/root.spec +++ b/root.spec @@ -52,7 +52,7 @@ Name: root Version: 6.28.08 %global libversion %(cut -d. -f 1-2 <<< %{version}) -Release: 2%{?dist} +Release: 3%{?dist} Summary: Numerical data analysis framework
License: LGPL-2.1-or-later @@ -3827,8 +3827,11 @@ fi %endif
%changelog +* Thu Nov 02 2023 Mattias Ellert mattias.ellert@physics.uu.se - 6.28.08-3 +- Rebuilt for libarrow.so.1400 + * Wed Nov 01 2023 Mattias Ellert mattias.ellert@physics.uu.se - 6.28.08-2 -- Enable RooFit::MultiProcess on Fedroa 40+ +- Enable RooFit::MultiProcess on Fedora 40+
* Sat Oct 14 2023 Mattias Ellert mattias.ellert@physics.uu.se - 6.28.08-1 - Update to 6.28.08
commit fb5c22a14dac9c1c25b9afcf43a4d813279d2b9c Author: Mattias Ellert ellert@ellert.se Date: Wed Nov 1 13:42:56 2023 +0100
Enable RooFit::MultiProcess on Fedroa 40+
diff --git a/root-Fix-cmake-modules-FindZeroMQ.cmake.patch b/root-Fix-cmake-modules-FindZeroMQ.cmake.patch new file mode 100644 index 0000000..196ae81 --- /dev/null +++ b/root-Fix-cmake-modules-FindZeroMQ.cmake.patch @@ -0,0 +1,51 @@ +From f178a821b57043fdb7b722187e0175b975c7076b Mon Sep 17 00:00:00 2001 +From: Mattias Ellert mattias.ellert@physics.uu.se +Date: Wed, 1 Nov 2023 10:04:03 +0100 +Subject: [PATCH] Fix cmake/modules/FindZeroMQ.cmake + +It now finds ZeroMQ in Fedora 40. +--- + cmake/modules/FindZeroMQ.cmake | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +diff --git a/cmake/modules/FindZeroMQ.cmake b/cmake/modules/FindZeroMQ.cmake +index 24a1c171f5..bd8bf0b3db 100644 +--- a/cmake/modules/FindZeroMQ.cmake ++++ b/cmake/modules/FindZeroMQ.cmake +@@ -38,17 +38,21 @@ set ( ZeroMQ_LIBRARIES ${ZeroMQ_LIBRARY} ) + set ( ZeroMQ_INCLUDE_DIRS ${ZeroMQ_INCLUDE_DIR} ) + + # check for zmq_ppoll +-if(ZeroMQ_FOUND) +- SET(SAVE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}") +- SET(CMAKE_REQUIRED_DEFINITIONS "-DZMQ_BUILD_DRAFT_API") ++if(ZeroMQ_LIBRARIES) ++ include(CheckCXXSymbolExists) ++ set(CMAKE_REQUIRED_LIBRARIES ${ZeroMQ_LIBRARIES}) ++ set(CMAKE_REQUIRED_INCLUDES ${ZeroMQ_INCLUDE_DIRS}) ++ set(CMAKE_REQUIRED_DEFINITIONS "-DZMQ_BUILD_DRAFT_API") + check_cxx_symbol_exists(zmq_ppoll zmq.h ZeroMQ_HAS_PPOLL) +- SET(CMAKE_REQUIRED_DEFINITIONS "${SAVE_CMAKE_REQUIRED_DEFINITIONS}") ++ unset(CMAKE_REQUIRED_LIBRARIES) ++ unset(CMAKE_REQUIRED_INCLUDES) ++ unset(CMAKE_REQUIRED_DEFINITIONS) + endif() + + include ( FindPackageHandleStandardArgs ) + # handle the QUIETLY and REQUIRED arguments and set ZeroMQ_FOUND to TRUE + # if all listed variables are TRUE +-find_package_handle_standard_args ( ZeroMQ DEFAULT_MSG ZeroMQ_LIBRARIES ZeroMQ_INCLUDE_DIRS ZeroMQ_HAS_PPOLL) ++find_package_handle_standard_args ( ZeroMQ DEFAULT_MSG ZeroMQ_LIBRARIES ZeroMQ_INCLUDE_DIRS ZeroMQ_HAS_PPOLL ) + + if(ZeroMQ_FOUND) + if(NOT TARGET libzmq) +@@ -57,4 +61,4 @@ if(ZeroMQ_FOUND) + IMPORTED_LOCATION ${ZeroMQ_LIBRARIES} + INTERFACE_INCLUDE_DIRECTORIES ${ZeroMQ_INCLUDE_DIRS}) + endif() +-endif() +\ No newline at end of file ++endif() +-- +2.41.0 + diff --git a/root.spec b/root.spec index b880090..1c76e82 100644 --- a/root.spec +++ b/root.spec @@ -40,12 +40,9 @@ %global distrdf 0 %endif
-# qt6-srpm-macros not in buildroot for Fedora 37/38 or EPEL 9 +# qt6-srpm-macros not in buildroot for Fedora 37/38 # https://bugzilla.redhat.com/show_bug.cgi?id=2220859 -# https://bugzilla.redhat.com/show_bug.cgi?id=2220860 -# Definition of qt6_qtwebengine_arches incorrect in qt6-srpm-macros -# https://bugzilla.redhat.com/show_bug.cgi?id=2215703 -%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 9 +%if %{?fedora}%{!?fedora:0} == 37 || %{?fedora}%{!?fedora:0} == 38 %global qt6_qtwebengine_arches aarch64 x86_64 %endif
@@ -55,7 +52,7 @@ Name: root Version: 6.28.08 %global libversion %(cut -d. -f 1-2 <<< %{version}) -Release: 1%{?dist} +Release: 2%{?dist} Summary: Numerical data analysis framework
License: LGPL-2.1-or-later @@ -113,15 +110,18 @@ Patch12: %{name}-do-not-remove-Wp-before-D-and-U.patch # Avoid boolean operators on numpy arrays in unit test # https://github.com/root-project/root/issues/12162 # https://github.com/root-project/root/pull/13612 -Patch13: root-boolean-numpy-array.patch +Patch13: %{name}-boolean-numpy-array.patch # Port to pcre2 # https://github.com/root-project/root/issues/11395 # https://github.com/root-project/root/pull/13771 -Patch14: root-pcre2.patch -Patch15: root-pcre2-6.28.patch +Patch14: %{name}-pcre2.patch +Patch15: %{name}-pcre2-6.28.patch # src/RBDT.cxx is a source file of both libTMVA and libTMVAUtils # https://github.com/root-project/root/pull/13863 -Patch16: root-tmva-rbdt.patch +Patch16: %{name}-tmva-rbdt.patch +# Fix cmake/modules/FindZeroMQ.cmake +# https://github.com/root-project/root/pull/13995 +Patch17: %{name}-Fix-cmake-modules-FindZeroMQ.cmake.patch
BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -204,6 +204,14 @@ BuildRequires: protobuf-devel >= 3.0 %ifnarch %{ix86} %{arm} BuildRequires: libarrow-devel %endif +%if %{roofit} +%if %{?fedora}%{!?fedora:0} >= 40 +# Required for roofit-multiprocess +# Requires new zeromq with zmq_ppoll +BuildRequires: zeromq-devel >= 4.3.5 +BuildRequires: cppzmq-devel +%endif +%endif %if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} == 8 BuildRequires: python%{python3_pkgversion}-pandas %endif @@ -1488,6 +1496,28 @@ suitable for adoption in different disciplines as well.
This package contains the JSON interface to RooFit.
+%if %{?fedora}%{!?fedora:0} >= 40 +%package roofit-multiprocess +Summary: Multi-process support for RooFit +License: BSD-2-Clause +Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-hist%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-common%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-zmq%{?_isa} = %{version}-%{release} + +%description roofit-multiprocess +This package contains a library providing classes that implements +mult-process support for RooFit. + +%package roofit-zmq +Summary: ZeroMQ interface library for RooFit +License: BSD-2-Clause + +%description roofit-zmq +This package contains a helper library used by RooFit::MultiProcess to +interface to the ZeroMQ library. +%endif + %package roostats Summary: Statistical tools built on top of RooFit Requires: %{name}-core%{?_isa} = %{version}-%{release} @@ -2020,6 +2050,7 @@ This package contains extra tools for RooFit projects. %patch -P 14 -p1 %patch -P 15 -p1 %patch -P 16 -p1 +%patch -P 17 -p1
# Remove bundled sources in order to be sure they are not used # * afterimage @@ -2192,10 +2223,15 @@ LDFLAGS="-Wl,--as-needed %{?__global_ldflags}" -Dr:BOOL=ON \ %if %{roofit} -Droofit:BOOL=ON \ +%if %{?fedora}%{!?fedora:0} >= 40 + -Droofit_multiprocess:BOOL=ON \ %else - -Droofit:BOOL=OFF \ + -Droofit_multiprocess:BOOL=OFF \ %endif +%else + -Droofit:BOOL=OFF \ -Droofit_multiprocess:BOOL=OFF \ +%endif -Droofit_hs3_ryml:BOOL=OFF \ %if %{root7} -Droot7:BOOL=ON \ @@ -2894,8 +2930,12 @@ fi %if %{dataframe} %ldconfig_scriptlets roofit-dataframe-helpers %endif -%ldconfig_scriptlets roofit-jsoninterface %ldconfig_scriptlets roofit-hs3 +%ldconfig_scriptlets roofit-jsoninterface +%if %{?fedora}%{!?fedora:0} >= 40 +%ldconfig_scriptlets roofit-multiprocess +%ldconfig_scriptlets roofit-zmq +%endif %ldconfig_scriptlets roostats %ldconfig_scriptlets hist-factory %endif @@ -3539,6 +3579,14 @@ fi %{_libdir}/%{name}/libRooFitJSONInterface.* %{_libdir}/%{name}/libRooFitJSONInterface_rdict.pcm
+%if %{?fedora}%{!?fedora:0} >= 40 +%files roofit-multiprocess -f includelist-roofit-multiprocess +%{_libdir}/%{name}/libRooFitMultiProcess.* + +%files roofit-zmq +%{_libdir}/%{name}/libRooFitZMQ.* +%endif + %files roostats -f includelist-roofit-roostats %{_libdir}/%{name}/libRooStats.* %{_libdir}/%{name}/libRooStats_rdict.pcm @@ -3779,6 +3827,9 @@ fi %endif
%changelog +* Wed Nov 01 2023 Mattias Ellert mattias.ellert@physics.uu.se - 6.28.08-2 +- Enable RooFit::MultiProcess on Fedroa 40+ + * Sat Oct 14 2023 Mattias Ellert mattias.ellert@physics.uu.se - 6.28.08-1 - Update to 6.28.08 - New subpackage root-tmva-utils (split off from root-tmva)
arch-excludes@lists.fedoraproject.org