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=c1e2a7a6b3ee9893....
Change: -%ifarch aarch64
Thanks.
Full change: ============
commit c1e2a7a6b3ee9893404417a2c17fe1b1b5f239e7 Author: Mattias Ellert mattias.ellert@physics.uu.se Date: Tue Jun 18 17:15:43 2024 +0200
Update to 6.32.02
Drop paches accepted upstream
diff --git a/root-failure-on-ppc64le-and-s390x.patch b/root-failure-on-ppc64le-and-s390x.patch deleted file mode 100644 index 787eab5..0000000 --- a/root-failure-on-ppc64le-and-s390x.patch +++ /dev/null @@ -1,35 +0,0 @@ -From d3b5ef223500c69efadb9b8c4735247d9ba5c5ea Mon Sep 17 00:00:00 2001 -From: Mattias Ellert mattias.ellert@physics.uu.se -Date: Sun, 2 Jun 2024 07:03:42 +0200 -Subject: [PATCH] Fix test failure on ppc64le and s390x - ---- - hist/hist/test/test_tprofile2poly.cxx | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/hist/hist/test/test_tprofile2poly.cxx b/hist/hist/test/test_tprofile2poly.cxx -index 26b9801593..1dfa93259c 100644 ---- a/hist/hist/test/test_tprofile2poly.cxx -+++ b/hist/hist/test/test_tprofile2poly.cxx -@@ -25,10 +25,16 @@ void FillForTest(TProfile2D* tp2d, TProfile2Poly* tpp, TRandom& ran) { - } - - void globalStatsCompare(TProfile2D* tp2d, TProfile2Poly* tpp) { -+ const double relTol = 1e-12; -+ double cont1, cont2; - for(Int_t c=1; c<=3; ++c) { - ASSERT_DOUBLE_EQ(tp2d->GetMean(c), tpp->GetMean(c)); -- ASSERT_DOUBLE_EQ(tp2d->GetMeanError(c), tpp->GetMeanError(c)); -- ASSERT_DOUBLE_EQ(tp2d->GetStdDev(c), tpp->GetStdDev(c)); -+ cont1 = tp2d->GetMeanError(c); -+ cont2 = tpp->GetMeanError(c); -+ ASSERT_NEAR(cont1, cont2, relTol * cont2); -+ cont1 = tp2d->GetStdDev(c); -+ cont2 = tpp->GetStdDev(c); -+ ASSERT_NEAR(cont1, cont2, relTol * cont2); - } - } - --- -2.45.1 - diff --git a/root-fix-one-more-broken-import-in-JsMVA.patch b/root-fix-one-more-broken-import-in-JsMVA.patch deleted file mode 100644 index 0393bdc..0000000 --- a/root-fix-one-more-broken-import-in-JsMVA.patch +++ /dev/null @@ -1,25 +0,0 @@ -From de85dbd3344709d1c5ca87e93c87cdbce147ce5b Mon Sep 17 00:00:00 2001 -From: Mattias Ellert mattias.ellert@physics.uu.se -Date: Wed, 5 Jun 2024 08:49:14 +0200 -Subject: [PATCH] Fix one more broken import in JsMVA - ---- - bindings/pyroot/pythonizations/python/ROOT/JsMVA/JsMVAMagic.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/bindings/pyroot/pythonizations/python/ROOT/JsMVA/JsMVAMagic.py b/bindings/pyroot/pythonizations/python/ROOT/JsMVA/JsMVAMagic.py -index 57358765e4..7f56cd6dd5 100644 ---- a/bindings/pyroot/pythonizations/python/ROOT/JsMVA/JsMVAMagic.py -+++ b/bindings/pyroot/pythonizations/python/ROOT/JsMVA/JsMVAMagic.py -@@ -23,7 +23,7 @@ class JsMVAMagic(Magics): - @magic_arguments() - @argument("arg", nargs="?", default="on", help="Enable/Disable JavaScript visualisation for TMVA") - def jsmva(self, line): -- from JsMVA.JPyInterface import functions -+ from .JPyInterface import functions - - args = parse_argstring(self.jsmva, line) - if args.arg == "on": --- -2.45.1 - diff --git a/root-format-warnings-32-bit.patch b/root-format-warnings-32-bit.patch deleted file mode 100644 index 3583398..0000000 --- a/root-format-warnings-32-bit.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 8592c5e065b8cf46480f5a1efe0363fcf2150551 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert mattias.ellert@physics.uu.se -Date: Tue, 4 Jun 2024 08:47:04 +0200 -Subject: [PATCH] Correct format - warnings seen on 32 bit architectures - ---- - core/clib/src/mmapsup.c | 2 +- - roofit/xroofit/src/xRooNode.cxx | 2 +- - tree/dataframe/src/RDFDisplay.cxx | 4 ++-- - tree/dataframe/src/RDFHelpers.cxx | 2 +- - 4 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/core/clib/src/mmapsup.c b/core/clib/src/mmapsup.c -index 81f68a2059..da46dc7ba5 100644 ---- a/core/clib/src/mmapsup.c -+++ b/core/clib/src/mmapsup.c -@@ -174,7 +174,7 @@ PTR __mmalloc_mmap_morecore(struct mdesc *mdp, int size) - if (mdp -> top != PAGE_ALIGN(mdp -> top)) { - fprintf(stderr, - "mmap_morecore error: base memory location (%p) is not aligned with %zu as required.\n", -- mdp -> top, (long)pagesize); -+ mdp -> top, pagesize); - return result; - } - mapto = mmap (mdp -> top, mapbytes, PROT_READ | PROT_WRITE, -diff --git a/roofit/xroofit/src/xRooNode.cxx b/roofit/xroofit/src/xRooNode.cxx -index f8c96fbf62..852e6997c0 100644 ---- a/roofit/xroofit/src/xRooNode.cxx -+++ b/roofit/xroofit/src/xRooNode.cxx -@@ -11075,7 +11075,7 @@ std::string cling::printValue(const xRooNode *v) - out += "{"; - out += n->GetName(); - if (out.length() > 100 && left > 0) { -- out += TString::Format(",... and %lu more", left); -+ out += TString::Format(",... and %zu more", left); - break; - } - } -diff --git a/tree/dataframe/src/RDFDisplay.cxx b/tree/dataframe/src/RDFDisplay.cxx -index 9dc555fc1d..2ef7de7ddc 100644 ---- a/tree/dataframe/src/RDFDisplay.cxx -+++ b/tree/dataframe/src/RDFDisplay.cxx -@@ -232,12 +232,12 @@ void RDisplay::Print() const - // Thus, the first column is only the Row column and the actual first column is printed - columnsToPrint = 2; - } -- Info("Print", "Only showing %lu columns out of %lu\n", columnsToPrint, fNColumns); -+ Info("Print", "Only showing %zu columns out of %zu\n", columnsToPrint, fNColumns); - allColumnsFit = false; - } - - if (fNMaxCollectionElements < 1) -- Info("Print", "No collections shown since fNMaxCollectionElements is %lu\n", fNMaxCollectionElements); -+ Info("Print", "No collections shown since fNMaxCollectionElements is %zu\n", fNMaxCollectionElements); - - auto nrRows = fTable.size(); - std::cout << DashesBetweenLines(columnsToPrint, allColumnsFit); // Print dashes in the top of the table -diff --git a/tree/dataframe/src/RDFHelpers.cxx b/tree/dataframe/src/RDFHelpers.cxx -index 4891454cc0..3490901b5d 100644 ---- a/tree/dataframe/src/RDFHelpers.cxx -+++ b/tree/dataframe/src/RDFHelpers.cxx -@@ -74,7 +74,7 @@ unsigned int ROOT::RDF::RunGraphs(std::vector<RResultHandle> handles) - const unsigned int nToRun = - std::count_if(handles.begin(), handles.end(), [](const auto &h) { return !h.IsReady(); }); - if (nToRun < handles.size()) { -- Warning("RunGraphs", "Got %lu handles from which %lu link to results which are already ready.", handles.size(), -+ Warning("RunGraphs", "Got %zu handles from which %zu link to results which are already ready.", handles.size(), - handles.size() - nToRun); - } - if (nToRun == 0u) --- -2.45.1 - diff --git a/root-out-of-bounds.patch b/root-out-of-bounds.patch deleted file mode 100644 index fbae2ea..0000000 --- a/root-out-of-bounds.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 069359fe9e6c36a4287a64d3356246d516409149 Mon Sep 17 00:00:00 2001 -From: Jonas Rembser jonas.rembser@cern.ch -Date: Tue, 4 Jun 2024 12:53:53 +0200 -Subject: [PATCH] [RF] Set size of offsets vector in LikelihoodJob correctly - -When `std::copy`ing into a vector, it needs to have the right size -before. Doing only `std::reserve` is not enough. - -Fixes #15730. ---- - roofit/roofitcore/src/TestStatistics/LikelihoodJob.cxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/roofit/roofitcore/src/TestStatistics/LikelihoodJob.cxx b/roofit/roofitcore/src/TestStatistics/LikelihoodJob.cxx -index 85c3d02c02ccf..42d191833d14c 100644 ---- a/roofit/roofitcore/src/TestStatistics/LikelihoodJob.cxx -+++ b/roofit/roofitcore/src/TestStatistics/LikelihoodJob.cxx -@@ -93,7 +93,7 @@ void LikelihoodJob::update_state() - assert(!more); - auto offsets_message_begin = offsets_message.data<ROOT::Math::KahanSum<double>>(); - std::size_t N_offsets = offsets_message.size() / sizeof(ROOT::Math::KahanSum<double>); -- shared_offset_.offsets().reserve(N_offsets); -+ shared_offset_.offsets().resize(N_offsets); - auto offsets_message_end = offsets_message_begin + N_offsets; - std::copy(offsets_message_begin, offsets_message_end, shared_offset_.offsets().begin()); - } diff --git a/root-pyroot-add-python-3.13-attributes.patch b/root-pyroot-add-python-3.13-attributes.patch deleted file mode 100644 index 9ba3149..0000000 --- a/root-pyroot-add-python-3.13-attributes.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 4d1486b95cd8c7850b12bd1777ea4463529f0b96 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert mattias.ellert@physics.uu.se -Date: Sat, 8 Jun 2024 17:08:48 +0200 -Subject: [PATCH] [pyroot] Add __firstlineno__ and __static_attributes__ to - blacklist - -For compatibility with Python 3.13 - -See: https://docs.python.org/3.13/whatsnew/3.13.html - -From the above page: - -* Classes have a new __firstlineno__ attribute, populated by the - compiler, with the line number of the first line of the class - definition. (Contributed by Serhiy Storchaka in gh-118465.) - -* Classes have a new __static_attributes__ attribute, populated by the - compiler, with a tuple of names of attributes of this class which - are accessed through self.X from any function in its - body. (Contributed by Irit Katriel in gh-115775.) - -Without adding the new attributes to the blacklist there are errors: - -AttributeError: 'int' object attribute 'doc' is read-only -from the __firstlineno__ attribute. - -AttributeError: 'tuple' object attribute 'doc' is read-only -from the __static_attributes__ attribute. ---- - .../python/ROOT/_pythonization/_roofit/__init__.py | 2 +- - .../pythonizations/python/ROOT/_pythonization/_tmva/__init__.py | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_roofit/__init__.py b/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_roofit/__init__.py -index 83b3b69e3b..4ebd53736d 100644 ---- a/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_roofit/__init__.py -+++ b/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_roofit/__init__.py -@@ -122,7 +122,7 @@ def get_defined_attributes(klass, consider_base_classes=False): - any of its base classes (except for `object`). - """ - -- blacklist = ["__dict__", "__doc__", "__hash__", "__module__", "__weakref__"] -+ blacklist = ["__dict__", "__doc__", "__hash__", "__module__", "__weakref__", "__firstlineno__", "__static_attributes__"] - - if not consider_base_classes: - return sorted([attr for attr in klass.__dict__.keys() if attr not in blacklist]) -diff --git a/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_tmva/__init__.py b/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_tmva/__init__.py -index b2dea5b541..72c210663d 100644 ---- a/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_tmva/__init__.py -+++ b/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_tmva/__init__.py -@@ -69,7 +69,7 @@ def get_defined_attributes(klass, consider_base_classes=False): - any of its base classes (except for `object`). - """ - -- blacklist = ["__dict__", "__doc__", "__hash__", "__module__", "__weakref__"] -+ blacklist = ["__dict__", "__doc__", "__hash__", "__module__", "__weakref__", "__firstlineno__", "__static_attributes__"] - - if not consider_base_classes: - return sorted([attr for attr in klass.__dict__.keys() if attr not in blacklist]) --- -2.45.2 - diff --git a/root-python-3.13-TTree-SetBranchAddress-pythonization.patch b/root-python-3.13-TTree-SetBranchAddress-pythonization.patch deleted file mode 100644 index f891893..0000000 --- a/root-python-3.13-TTree-SetBranchAddress-pythonization.patch +++ /dev/null @@ -1,214 +0,0 @@ -From 0cc7d61c6f732e701ef6ed263344105b01ef9613 Mon Sep 17 00:00:00 2001 -From: Jonas Rembser jonas.rembser@cern.ch -Date: Mon, 10 Jun 2024 12:32:42 +0200 -Subject: [PATCH] [PyROOT] Implement TTree SetBranchAddress pythonization in - Python - -The pythonization of `TTree::SetBranchAddress` was implemented in C++, -hacking into CPyCppy by using implementation details like data member -caches (this call: `((CPPInstance *)address)GetDatamemberCache()`). Not -too surprising that it apparently breaks with the upcoming Python 3.13. - -It's better to implement the pythonizations in Python and also manage -the lifetime of the necessary data in Python. This is done in this -commit. - -The pythonization is extensively tested in `ttree_setbranchaddress.py`. - -Possible closes #15799. ---- - .../python/ROOT/_pythonization/_ttree.py | 67 ++++++++++++++++--- - .../pythonizations/src/PyROOTModule.cxx | 2 - - .../pythonizations/src/PyROOTPythonize.h | 1 - - .../pyroot/pythonizations/src/TTreePyz.cxx | 63 ----------------- - 4 files changed, 59 insertions(+), 74 deletions(-) - -diff --git a/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_ttree.py b/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_ttree.py -index 2781189e45..18840bb43e 100644 ---- a/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_ttree.py -+++ b/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_ttree.py -@@ -130,7 +130,7 @@ ds.SetBranchAddress('structb', ms) - */ - ''' - --from libROOTPythonizations import GetBranchAttr, SetBranchAddressPyz, BranchPyz -+from libROOTPythonizations import GetBranchAttr, BranchPyz - from . import pythonization - - # TTree iterator -@@ -145,15 +145,66 @@ def _TTree__iter__(self): - if bytes_read == -1: - raise RuntimeError("TTree I/O error") - --def _SetBranchAddress(self, *args): -- # Modify the behaviour if args is (const char*, void*) -- res = SetBranchAddressPyz(self, *args) -+def _pythonize_branch_addr(branch, addr_orig): -+ """Helper for the SetBranchAddress pythonization, extracting the relevant -+ address from a Python object if possible. -+ """ -+ import cppyy -+ import ctypes - -- if res is None: -- # Fall back to the original implementation for the rest of overloads -- res = self._OriginalSetBranchAddress(*args) -+ # Pythonization for cppyy proxies (of type CPPInstance) -+ if isinstance(addr_orig, cppyy._backend.CPPInstance): - -- return res -+ is_leaf_list = branch.IsA() is cppyy.gbl.TBranch.Class() -+ -+ if is_leaf_list: -+ # If the branch is a leaf list, SetBranchAddress expects the -+ # address of the object that has the corresponding data members. -+ return ctypes.c_void_p(cppyy.addressof(instance=addr_orig, byref=False)) -+ -+ # Otherwise, SetBranchAddress is expecting a pointer to the address of -+ # the object, and the pointer needs to stay alive. Therefore, we create -+ # a container for the pointer and cache it in the original cppyy proxy. -+ addr_view = cppyy.gbl.array["std::intptr_t", 1]([cppyy.addressof(instance=addr_orig, byref=False)]) -+ -+ if not hasattr(addr_orig, "_set_branch_cached_pointers"): -+ addr_orig._set_branch_cached_pointers = [] -+ addr_orig._set_branch_cached_pointers.append(addr_view) -+ -+ # Finally, we have to return the address of the container -+ return ctypes.c_void_p(cppyy.addressof(instance=addr_view, byref=False)) -+ -+ # For NumPy arrays -+ if hasattr(addr_orig, "__array_interface__"): -+ return ctypes.c_void_p(addr_orig.__array_interface__["data"][0]) -+ -+ # For the builtin array library -+ if hasattr(addr_orig, "buffer_info"): -+ return ctypes.c_void_p(addr_orig.buffer_info()[0]) -+ -+ # We don't know how to pythonize the address parameter. return the -+ # original value one. -+ return addr_orig -+ -+def _SetBranchAddress(self, bname, addr, *args, **kwargs): -+ """ -+ Pythonization for TTree::SetBranchAddress. -+ -+ Modify the behaviour of SetBranchAddress so that proxy references can be passed -+ as arguments from the Python side, more precisely in cases where the C++ -+ implementation of the method expects the address of a pointer. -+ -+ For example: -+ ``` -+ v = ROOT.std.vector('int')() -+ t.SetBranchAddress("my_vector_branch", v) -+ ``` -+ """ -+ -+ branch = self.GetBranch(bname) -+ addr = _pythonize_branch_addr(branch, addr) -+ -+ return self._OriginalSetBranchAddress(bname, addr, *args, **kwargs) - - def _Branch(self, *args): - # Modify the behaviour if args is one of: -diff --git a/bindings/pyroot/pythonizations/src/PyROOTModule.cxx b/bindings/pyroot/pythonizations/src/PyROOTModule.cxx -index e943e0ad4b..b74bae358e 100644 ---- a/bindings/pyroot/pythonizations/src/PyROOTModule.cxx -+++ b/bindings/pyroot/pythonizations/src/PyROOTModule.cxx -@@ -48,8 +48,6 @@ static PyMethodDef gPyROOTMethods[] = { - (char *)"Cast the void* returned by TClass::DynamicCast to the right type"}, - {(char *)"AddTObjectEqNePyz", (PyCFunction)PyROOT::AddTObjectEqNePyz, METH_VARARGS, - (char *)"Add equality and inequality comparison operators to TObject"}, -- {(char *)"SetBranchAddressPyz", (PyCFunction)PyROOT::SetBranchAddressPyz, METH_VARARGS, -- (char *)"Fully enable the use of TTree::SetBranchAddress from Python"}, - {(char *)"BranchPyz", (PyCFunction)PyROOT::BranchPyz, METH_VARARGS, - (char *)"Fully enable the use of TTree::Branch from Python"}, - {(char *)"AddPrettyPrintingPyz", (PyCFunction)PyROOT::AddPrettyPrintingPyz, METH_VARARGS, -diff --git a/bindings/pyroot/pythonizations/src/PyROOTPythonize.h b/bindings/pyroot/pythonizations/src/PyROOTPythonize.h -index 9f2d4506b6..684f256596 100644 ---- a/bindings/pyroot/pythonizations/src/PyROOTPythonize.h -+++ b/bindings/pyroot/pythonizations/src/PyROOTPythonize.h -@@ -22,7 +22,6 @@ PyObject *AddPrettyPrintingPyz(PyObject *self, PyObject *args); - - PyObject *GetBranchAttr(PyObject *self, PyObject *args); - PyObject *BranchPyz(PyObject *self, PyObject *args); --PyObject *SetBranchAddressPyz(PyObject *self, PyObject *args); - - PyObject *AddTClassDynamicCastPyz(PyObject *self, PyObject *args); - -diff --git a/bindings/pyroot/pythonizations/src/TTreePyz.cxx b/bindings/pyroot/pythonizations/src/TTreePyz.cxx -index d6763fdb25..f06811c43c 100644 ---- a/bindings/pyroot/pythonizations/src/TTreePyz.cxx -+++ b/bindings/pyroot/pythonizations/src/TTreePyz.cxx -@@ -201,69 +201,6 @@ PyObject *PyROOT::GetBranchAttr(PyObject * /*self*/, PyObject *args) - return 0; - } - --//////////////////////////////////////////////////////////////////////////// --/// \brief Add pythonization for TTree::SetBranchAddress. --/// \param[in] self Always null, since this is a module function. --/// \param[in] args Pointer to a Python tuple object containing the arguments --/// received from Python. --/// --/// Modify the behaviour of SetBranchAddress so that proxy references can be passed --/// as arguments from the Python side, more precisely in cases where the C++ --/// implementation of the method expects the address of a pointer. --/// --/// For example: --/// ~~~{.py} --/// v = ROOT.std.vector('int')() --/// t.SetBranchAddress("my_vector_branch", v) --/// ~~~ --PyObject *PyROOT::SetBranchAddressPyz(PyObject * /* self */, PyObject *args) --{ -- PyObject *treeObj = nullptr, *name = nullptr, *address = nullptr; -- -- int argc = PyTuple_GET_SIZE(args); -- -- // Look for the (const char*, void*) overload -- auto argParseStr = "OUO:SetBranchAddress"; -- if (argc == 3 && PyArg_ParseTuple(args, argParseStr, &treeObj, &name, &address)) { -- -- auto tree = (TTree *)GetTClass(treeObj)->DynamicCast(TTree::Class(), CPyCppyy::Instance_AsVoidPtr(treeObj)); -- -- if (!tree) { -- PyErr_SetString(PyExc_TypeError, -- "TTree::SetBranchAddress must be called with a TTree instance as first argument"); -- return nullptr; -- } -- -- auto branchName = PyUnicode_AsUTF8(name); -- auto branch = tree->GetBranch(branchName); -- if (!branch) { -- PyErr_SetString(PyExc_TypeError, "TTree::SetBranchAddress must be called with a valid branch name"); -- return nullptr; -- } -- -- bool isLeafList = branch->IsA() == TBranch::Class(); -- -- void *buf = 0; -- if (CPyCppyy::Instance_Check(address)) { -- ((CPPInstance *)address)->GetDatamemberCache(); // force creation of cache -- -- if (((CPPInstance *)address)->fFlags & CPPInstance::kIsReference || isLeafList) -- buf = CPyCppyy::Instance_AsVoidPtr(address); -- else -- buf = (void *)&(((CPPInstance *)address)->GetObjectRaw()); -- } else -- Utility::GetBuffer(address, '*', 1, buf, false); -- -- if (buf != nullptr) { -- auto res = tree->SetBranchAddress(PyUnicode_AsUTF8(name), buf); -- return PyInt_FromLong(res); -- } -- } -- -- // Not the overload we wanted to pythonize, return None -- Py_RETURN_NONE; --} -- - //////////////////////////////////////////////////////////////////////////// - /// Try to match the arguments of TTree::Branch to the following overload: - /// - ( const char*, void*, const char*, Int_t = 32000 ) --- -2.45.2 - diff --git a/root.spec b/root.spec index eb906de..9f600e4 100644 --- a/root.spec +++ b/root.spec @@ -24,9 +24,9 @@ %global __provides_exclude_from ^%{python3_sitearch}/lib.*\.so$
Name: root -Version: 6.32.00 +Version: 6.32.02 %global libversion %(cut -d. -f 1-2 <<< %{version}) -Release: 5%{?dist} +Release: 1%{?dist} Summary: Numerical data analysis framework
License: LGPL-2.1-or-later @@ -68,31 +68,8 @@ Patch5: %{name}-stress.patch # https://github.com/root-project/root/issues/15738 # https://github.com/root-project/root/pull/15780 Patch6: %{name}-write-array.patch -# Adjust test limit -# https://github.com/root-project/root/pull/15734 -Patch7: %{name}-failure-on-ppc64le-and-s390x.patch -# Correct format warnings seen on 32 bit architectures -# https://github.com/root-project/root/pull/15732 -Patch8: %{name}-format-warnings-32-bit.patch -# Out-of-bounds vector access -# https://github.com/root-project/root/issues/15730 -# https://github.com/root-project/root/pull/15739 -Patch9: %{name}-out-of-bounds.patch -# Fix one more broken import in JsMVA -# https://github.com/root-project/root/pull/15752 -Patch10: %{name}-fix-one-more-broken-import-in-JsMVA.patch -# Python 3.13 compatibility -# https://github.com/root-project/root/issues/15430 -# https://github.com/root-project/root/pull/15798 -Patch11: %{name}-pyroot-add-python-3.13-attributes.patch -# Implement TTree SetBranchAddress pythonization in Python -# Backport fix for failing test with Python 3.13 -# pyunittests-pyroot-pyz-ttree-setbranchaddress -# https://github.com/root-project/root/issues/15799 -# https://github.com/root-project/root/pull/15807 -Patch12: %{name}-python-3.13-TTree-SetBranchAddress-pythonization.patch # Backport build fix from upstream -Patch13: %{name}-allow-any-openssl-3.x-with-civetweb.patch +Patch7: %{name}-allow-any-openssl-3.x-with-civetweb.patch
BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -1938,12 +1915,6 @@ This package contains utility functions for ntuples. %patch -P5 -p1 %patch -P6 -p1 %patch -P7 -p1 -%patch -P8 -p1 -%patch -P9 -p1 -%patch -P10 -p1 -%patch -P11 -p1 -%patch -P12 -p1 -%patch -P13 -p1
# Remove bundled sources in order to be sure they are not used # * afterimage @@ -2539,14 +2510,13 @@ gtest-tree-dataframe-test-dataframe-concurrency|\ gtest-tree-dataframe-test-dataframe-simple" %endif
-%if %{?fedora}%{!?fedora:0} >= 40 +%ifarch aarch64 # - tutorial-tmva-RBatchGenerator_filters_vectors-py +# Randomly segfaults # *** Break *** segmentation violation -%ifarch aarch64 excluded="${excluded}|\ tutorial-tmva-RBatchGenerator_filters_vectors-py" %endif -%endif
%ifarch %{power64} # - test-stressgraphics(-interpreted) @@ -3584,6 +3554,10 @@ fi %endif
%changelog +* Tue Jun 18 2024 Mattias Ellert mattias.ellert@physics.uu.se - 6.32.02-1 +- Update to 6.32.02 +- Drop paches accepted upstream + * Mon Jun 17 2024 Mattias Ellert mattias.ellert@physics.uu.se - 6.32.00-5 - Add dependency on liburing-devel to root-io - Exclude failing tutorial-tmva-RBatchGenerator_filters_vectors-py test diff --git a/sources b/sources index a8ec13f..274fb5a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (root-6.32.00.tar.xz) = 4b1015684b79aa352edd42316a3a87ae48f4330a7566230349f0a5c4e3ff49cddca79b5171128300d88575dfe2503ab1357cb3bd99d2c2a78985cc9aabd742f6 +SHA512 (root-6.32.02.tar.xz) = 603bb458fd6dc5cfd6e995319b3572bef81be1e1c7a777099939a810d8bcf62e6260c39ba4e5ba2edbfc947378aaa43026af24c3cf19157d58666613fdf91368 SHA512 (root-testfiles.tar.xz) = 945aef1a0cf5af672d4ab84b0ac00b76118e93008ff72447658ee82d9e955a1540af3ff7126e701418872f1d91b92ee96d4985840a519036c42732023a13f00f
arch-excludes@lists.fedoraproject.org