diff --git a/root-Revert-test-Fetch-the-geometries-from-EOS-and-not-fr.patch b/root-Revert-test-Fetch-the-geometries-from-EOS-and-not-fr.patch new file mode 100644 index 0000000..a45ae41 --- /dev/null +++ b/root-Revert-test-Fetch-the-geometries-from-EOS-and-not-fr.patch @@ -0,0 +1,60 @@ +From 4da50ef374cd231163dff77493f9367cd62583d9 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Sun, 30 Mar 2025 21:23:14 +0200 +Subject: [PATCH] Revert "[test] Fetch the geometries from EOS and not from the + website" + +This reverts commit a8a879ce252e45405452db38d9178c7883582a7d. +--- + test/stressGeometry.cxx | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/test/stressGeometry.cxx b/test/stressGeometry.cxx +index 7fb6bf97e7..f8d78f4f54 100644 +--- a/test/stressGeometry.cxx ++++ b/test/stressGeometry.cxx +@@ -1,6 +1,6 @@ + // Program to check a TGeo geometry + // The first time you run this program, the geometry files will be taken +-// from /eos/root-eos/testfiles/ (previously from http://root.cern/files) ++// from http://root.cern/files + // + // How the program works + // If the file _ref.root does not exist, it is generated. The file +@@ -274,13 +274,13 @@ void stressGeometry(const char *exp="*", Bool_t generate_ref=kFALSE, Bool_t vecg + delete gGeoManager; + gGeoManager = 0; + } +- TGeoManager::Import(Form("root://eospublic.cern.ch//eos/root-eos/testfiles/%s",fname.Data())); ++ TGeoManager::Import(Form("http://root.cern/files/%s",fname.Data())); + if (!gGeoManager) return; + if (vecgeom) TVirtualGeoConverter::Instance()->ConvertGeometry(); + + fname = TString::Format("files/%s_ref_%d.root", exps[i],versions[i]); + +- if (gen_ref || !TFile::Open(Form("root://eospublic.cern.ch//eos/root-eos/testfiles//%s_ref_%d.root",exps[i],versions[i]),"CACHEREAD")) { ++ if (gen_ref || !TFile::Open(Form("http://root.cern/files/%s_ref_%d.root",exps[i],versions[i]),"CACHEREAD")) { + if (!gen_ref) fprintf(stderr,"File: %s does not exist, generating it\n", fname.Data()); + else fprintf(stderr,"Generating reference file %s\n", fname.Data()); + WriteRef(i); +@@ -320,7 +320,7 @@ void ReadRef(Int_t kexp) { + TFile *f = 0; + //use ref_[version[i]] files + if (!gen_ref) +- fname = TString::Format("root://eospublic.cern.ch//eos/root-eos/testfiles//%s_ref_%d.root", exps[kexp],versions[kexp]); ++ fname = TString::Format("http://root.cern/files/%s_ref_%d.root", exps[kexp],versions[kexp]); + else + fname.Format("files/%s_ref_%d.root", exps[kexp],versions[kexp]); + +@@ -546,7 +546,7 @@ void InspectDiff(const char* exp="alice",Long64_t ientry=-1) { + Float_t rad = 0.; + TString fname(TString::Format("%s.root",exp)); + if (gSystem->AccessPathName(fname)) { +- TGeoManager::Import(Form("root://eospublic.cern.ch//eos/root-eos/testfiles//%s",fname.Data())); ++ TGeoManager::Import(Form("http://root.cern/files/%s",fname.Data())); + } else { + TGeoManager::Import(fname); + } +-- +2.49.0 + diff --git a/root-Whitelist-libtbbmalloc-in-library-import-test.patch b/root-Whitelist-libtbbmalloc-in-library-import-test.patch index a01c4cf..a54e4b2 100644 --- a/root-Whitelist-libtbbmalloc-in-library-import-test.patch +++ b/root-Whitelist-libtbbmalloc-in-library-import-test.patch @@ -28,8 +28,8 @@ index 179c76f6fd..c370a3cd42 100644 --- a/bindings/pyroot/pythonizations/test/import_load_libs.py +++ b/bindings/pyroot/pythonizations/test/import_load_libs.py @@ -40,6 +40,7 @@ class ImportLoadLibs(unittest.TestCase): - 'libssl', - 'libcrypt.*', # by libssl + 'oqsprovider', # loaded by libssl on e.g. centos10 + 'liboqs', # used by above 'libtbb', + 'libtbbmalloc', 'liburing', # by libRIO if uring option is enabled diff --git a/root-fix-test-failure-on-ppc64le-and-aarch64-with-gcc-12.patch b/root-fix-test-failure-on-ppc64le-and-aarch64-with-gcc-12.patch deleted file mode 100644 index 274aa66..0000000 --- a/root-fix-test-failure-on-ppc64le-and-aarch64-with-gcc-12.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 15f50c71b4d89bfbf06ce817dee38e843f0f55cd Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Mon, 17 Jan 2022 23:50:47 +0100 -Subject: [PATCH] Fix test failure on ppc64le and aarch64 with gcc 12 - -.../hist/hist/test/test_tprofile2poly.cxx:61: Failure -The difference between cont1 and cont2 is 1.4551915228366852e-11, which exceeds delta, where -cont1 evaluates to 54886.064319363642, -cont2 evaluates to 54886.064319363628, and -delta evaluates to 9.999999960041972e-12. -.../hist/hist/test/test_tprofile2poly.cxx:61: Failure -The difference between cont1 and cont2 is 1.4551915228366852e-11, where -cont1 evaluates to 109868.61342004745, -cont2 evaluates to 109868.61342004743. -The abs_error parameter delta evaluates to 9.999999960041972e-12 which is smaller than the minimum distance between doubles for numbers of this magnitude which is 1.4551915228366852e-11, thus making this EXPECT_NEAR check equivalent to EXPECT_EQUAL. Consider using EXPECT_DOUBLE_EQ instead. ---- - hist/hist/test/test_tprofile2poly.cxx | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/hist/hist/test/test_tprofile2poly.cxx b/hist/hist/test/test_tprofile2poly.cxx -index 40cb3052a2..ecf559a4b3 100644 ---- a/hist/hist/test/test_tprofile2poly.cxx -+++ b/hist/hist/test/test_tprofile2poly.cxx -@@ -58,15 +58,14 @@ void binEntriesCompare(TProfile2D* tp2d, TProfile2Poly* tpp) { - for(Double_t x=0.5; x<10; x+=2.0) { - cont1 = tp2d->GetBinEffectiveEntries(tp2d->FindBin(x,y)); - cont2 = tpp->GetBinEffectiveEntries(tpp->FindBin(x,y)); -- ASSERT_NEAR(cont1, cont2, delta); -+ ASSERT_NEAR(cont1, cont2, 2 * delta); - } - - } - // test overflow - cont1 = tp2d->GetBinEffectiveEntries(tp2d->FindBin(11,11)); - cont2 = tpp->GetBinEffectiveEntries(tpp->FindBin(11,11)); -- ASSERT_NEAR(cont1, cont2, delta); -- -+ ASSERT_NEAR(cont1, cont2, 2 * delta); - } - - void binErrorCompare(TProfile2D* tp2d, TProfile2Poly* tpp) { --- -2.39.2 - diff --git a/root-fontconfig.patch b/root-fontconfig.patch index d0f38b1..155fc00 100644 --- a/root-fontconfig.patch +++ b/root-fontconfig.patch @@ -1,4 +1,4 @@ -From c5f13cb25c3b803346d1a6cac483badbcf2ced62 Mon Sep 17 00:00:00 2001 +From 494353496adc70f1f4d1b4d77a53d510c7a30e2d Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Sat, 11 May 2024 20:09:47 +0200 Subject: [PATCH] Use system fonts via fontconfig @@ -9,17 +9,17 @@ Subject: [PATCH] Use system fonts via fontconfig graf2d/asimage/src/TASImage.cxx | 91 +++++++- graf2d/graf/CMakeLists.txt | 1 + graf2d/graf/inc/TTF.h | 3 +- - graf2d/graf/src/TTF.cxx | 291 +++++++++++++++++--------- + graf2d/graf/src/TTF.cxx | 295 +++++++++++++++++--------- graf2d/postscript/CMakeLists.txt | 1 + - graf2d/postscript/src/TPostScript.cxx | 106 +++++----- + graf2d/postscript/src/TPostScript.cxx | 106 ++++----- graf3d/gl/CMakeLists.txt | 1 + graf3d/gl/src/TGLFontManager.cxx | 123 ++++++++++- graf3d/gl/src/TGLText.cxx | 56 +++-- gui/gui/src/TGApplication.cxx | 10 +- - 12 files changed, 494 insertions(+), 201 deletions(-) + 12 files changed, 496 insertions(+), 203 deletions(-) diff --git a/core/base/src/TApplication.cxx b/core/base/src/TApplication.cxx -index 992713264a..32bfc0bbb9 100644 +index 69c42bdd1c1..05f8803a879 100644 --- a/core/base/src/TApplication.cxx +++ b/core/base/src/TApplication.cxx @@ -251,18 +251,12 @@ void TApplication::InitializeGraphics(Bool_t only_web) @@ -52,7 +52,7 @@ index 992713264a..32bfc0bbb9 100644 if (!only_web || !fAppImp) { diff --git a/graf2d/asimage/CMakeLists.txt b/graf2d/asimage/CMakeLists.txt -index 31114ad45d..be95419491 100644 +index 31114ad45d4..be95419491b 100644 --- a/graf2d/asimage/CMakeLists.txt +++ b/graf2d/asimage/CMakeLists.txt @@ -30,6 +30,7 @@ ROOT_STANDARD_LIBRARY_PACKAGE(ASImage @@ -64,7 +64,7 @@ index 31114ad45d..be95419491 100644 Core Graf diff --git a/graf2d/asimage/src/TASImage.cxx b/graf2d/asimage/src/TASImage.cxx -index 7e046f4724..137265bd4a 100644 +index 7e046f4724b..137265bd4a1 100644 --- a/graf2d/asimage/src/TASImage.cxx +++ b/graf2d/asimage/src/TASImage.cxx @@ -117,6 +117,8 @@ extern "C" { @@ -180,7 +180,7 @@ index 7e046f4724..137265bd4a 100644 if (!font) { font = get_asfont(gFontManager, "fixed", 0, size, ASF_GuessWho); diff --git a/graf2d/graf/CMakeLists.txt b/graf2d/graf/CMakeLists.txt -index d7d1b77c21..c4ebb994a4 100644 +index d7d1b77c21a..c4ebb994a4a 100644 --- a/graf2d/graf/CMakeLists.txt +++ b/graf2d/graf/CMakeLists.txt @@ -91,6 +91,7 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Graf @@ -192,7 +192,7 @@ index d7d1b77c21..c4ebb994a4 100644 Hist Matrix diff --git a/graf2d/graf/inc/TTF.h b/graf2d/graf/inc/TTF.h -index 0bef9dcb95..ea96fe47ce 100644 +index 0bef9dcb959..ea96fe47ce3 100644 --- a/graf2d/graf/inc/TTF.h +++ b/graf2d/graf/inc/TTF.h @@ -76,9 +76,10 @@ protected: @@ -208,7 +208,7 @@ index 0bef9dcb95..ea96fe47ce 100644 static TTF::TTGlyph fgGlyphs[kMaxGlyphs]; ///< glyphs static Bool_t fgHinting; ///< use hinting (true by default) diff --git a/graf2d/graf/src/TTF.cxx b/graf2d/graf/src/TTF.cxx -index ca38ed1f9c..8f1d62686b 100644 +index b1c662eadde..55ba9d96828 100644 --- a/graf2d/graf/src/TTF.cxx +++ b/graf2d/graf/src/TTF.cxx @@ -25,6 +25,8 @@ Interface to the freetype 2 library. @@ -454,9 +454,12 @@ index ca38ed1f9c..8f1d62686b 100644 Error("TTF::SetTextFont", "error loading font %s", ttfont); delete [] ttfont; if (tface) FT_Done_Face(tface); -@@ -448,19 +568,20 @@ Int_t TTF::SetTextFont(const char *fontname, Int_t italic) - delete [] ttfont; +@@ -445,24 +565,25 @@ Int_t TTF::SetTextFont(const char *fontname, Int_t italic) + } + } +- delete [] ttfont; +- fgFontName[fgFontCount] = StrDup(basename); + fgFontIdx[fgFontCount] = ttindex; + fgFontIta[fgFontCount] = italic; @@ -477,8 +480,12 @@ index ca38ed1f9c..8f1d62686b 100644 + FT_Set_Transform( fgFace[fgCurFontIdx], &slantMat, nullptr ); } ++ delete [] ttfont; ++ return 0; -@@ -489,70 +610,50 @@ Int_t TTF::SetTextFont(const char *fontname, Int_t italic) + } + +@@ -490,70 +611,50 @@ Int_t TTF::SetTextFont(const char *fontname, Int_t italic) void TTF::SetTextFont(Font_t fontnumber) { @@ -588,7 +595,7 @@ index ca38ed1f9c..8f1d62686b 100644 //////////////////////////////////////////////////////////////////////////////// diff --git a/graf2d/postscript/CMakeLists.txt b/graf2d/postscript/CMakeLists.txt -index eb091bbb39..a05023a3f4 100644 +index eb091bbb396..a05023a3f41 100644 --- a/graf2d/postscript/CMakeLists.txt +++ b/graf2d/postscript/CMakeLists.txt @@ -27,6 +27,7 @@ ROOT_STANDARD_LIBRARY_PACKAGE(Postscript @@ -600,7 +607,7 @@ index eb091bbb39..a05023a3f4 100644 Graf ) diff --git a/graf2d/postscript/src/TPostScript.cxx b/graf2d/postscript/src/TPostScript.cxx -index 09ea7ffa9c..180fd5e3c1 100644 +index 09ea7ffa9c3..180fd5e3c11 100644 --- a/graf2d/postscript/src/TPostScript.cxx +++ b/graf2d/postscript/src/TPostScript.cxx @@ -234,6 +234,7 @@ To change the color model use `gStyle->SetColorModelPS(c)`. @@ -748,7 +755,7 @@ index 09ea7ffa9c..180fd5e3c1 100644 { "Root.PSFont.STIXGenIt", "/STIXGeneral-Italic" }, { "Root.PSFont.STIXGenBd", "/STIXGeneral-Bold" }, diff --git a/graf3d/gl/CMakeLists.txt b/graf3d/gl/CMakeLists.txt -index a874da9e1d..5454469606 100644 +index a874da9e1d6..54544696063 100644 --- a/graf3d/gl/CMakeLists.txt +++ b/graf3d/gl/CMakeLists.txt @@ -208,6 +208,7 @@ ROOT_STANDARD_LIBRARY_PACKAGE(RGL @@ -760,7 +767,7 @@ index a874da9e1d..5454469606 100644 Hist Gui diff --git a/graf3d/gl/src/TGLFontManager.cxx b/graf3d/gl/src/TGLFontManager.cxx -index 776e9d286f..c4134c5980 100644 +index 776e9d286f8..c4134c5980c 100644 --- a/graf3d/gl/src/TGLFontManager.cxx +++ b/graf3d/gl/src/TGLFontManager.cxx @@ -36,6 +36,7 @@ @@ -902,7 +909,7 @@ index 776e9d286f..c4134c5980 100644 FTFont* ftfont = 0; switch (mode) diff --git a/graf3d/gl/src/TGLText.cxx b/graf3d/gl/src/TGLText.cxx -index f84f5193d2..8a672c787c 100644 +index f84f5193d2f..8a672c787c0 100644 --- a/graf3d/gl/src/TGLText.cxx +++ b/graf3d/gl/src/TGLText.cxx @@ -32,6 +32,8 @@ @@ -983,7 +990,7 @@ index f84f5193d2..8a672c787c 100644 - delete [] ttfont; } diff --git a/gui/gui/src/TGApplication.cxx b/gui/gui/src/TGApplication.cxx -index 72d7dbbf95..73a44fdd7f 100644 +index 72d7dbbf95f..73a44fdd7fd 100644 --- a/gui/gui/src/TGApplication.cxx +++ b/gui/gui/src/TGApplication.cxx @@ -81,20 +81,12 @@ TGApplication::TGApplication(const char *appClassName, @@ -1009,5 +1016,5 @@ index 72d7dbbf95..73a44fdd7f 100644 // Create the canvas colors early so they are allocated before -- -2.45.0 +2.53.0 diff --git a/root-use-consistent-wording-in-tmva-test-comments.patch b/root-use-consistent-wording-in-tmva-test-comments.patch index 1d3e52a..64e5d19 100644 --- a/root-use-consistent-wording-in-tmva-test-comments.patch +++ b/root-use-consistent-wording-in-tmva-test-comments.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use consistent wording of the comments in the different TMVA --- tutorials/tmva/TMVA_CNN_Classification.C | 2 +- - tutorials/tmva/TMVA_CNN_Classification.py | 4 ++-- + tutorials/tmva/TMVA_CNN_Classification.py | 2 +- tutorials/tmva/TMVA_RNN_Classification.C | 6 ++++-- tutorials/tmva/TMVA_RNN_Classification.py | 5 +++-- 4 files changed, 10 insertions(+), 7 deletions(-) @@ -28,15 +28,6 @@ diff --git a/tutorials/tmva/TMVA_CNN_Classification.py b/tutorials/tmva/TMVA_CNN index 85fde20763..5d3c6e7220 100644 --- a/tutorials/tmva/TMVA_CNN_Classification.py +++ b/tutorials/tmva/TMVA_CNN_Classification.py -@@ -25,7 +25,7 @@ - - import ROOT - --#switch off MT in OpenMP (BLAS) -+# switch off MT in OpenBLAS to avoid conflict with tbb - ROOT.gSystem.Setenv("OMP_NUM_THREADS", "1") - - TMVA = ROOT.TMVA @@ -145,7 +145,7 @@ if not useTMVACNN: writeOutputFile = True diff --git a/root.spec b/root.spec index 3918122..dab529b 100644 --- a/root.spec +++ b/root.spec @@ -55,9 +55,9 @@ %global __provides_exclude_from ^%{python3_sitearch}/lib.*\\.so$ Name: root -Version: 6.30.08 +Version: 6.30.10 %global libversion %(cut -d. -f 1-2 <<< %{version}) -Release: 2%{?dist} +Release: 1%{?dist} Summary: Numerical data analysis framework License: LGPL-2.1-or-later @@ -94,9 +94,8 @@ Patch3: %{name}-no-export-python-modules.patch Patch4: %{name}-32bit-tests.patch # Use local static script and style files for JsMVA Patch5: %{name}-jsmva-static.patch -# Fix test failure on ppc64le and aarch64 with gcc 12 -# https://github.com/root-project/root/pull/9601 -Patch6: %{name}-fix-test-failure-on-ppc64le-and-aarch64-with-gcc-12.patch +# Revert test change that breaks the test +Patch6: %{name}-Revert-test-Fetch-the-geometries-from-EOS-and-not-fr.patch # Byte swap values read from the protobuf raw data stream on # big endian architectures # https://github.com/root-project/root/pull/10308 @@ -138,14 +137,14 @@ Patch21: %{name}-pyroot-add-python-3.13-attributes.patch Patch22: %{name}-allow-any-openssl-3.x-with-civetweb.patch # Fixes for TUri class # https://github.com/root-project/root/pull/15988 -Patch23: root-Make-TUri-class-PCRE2-compatible.patch -Patch24: root-Correct-the-regular-expression-for-the-scheme-p.patch +Patch23: %{name}-Make-TUri-class-PCRE2-compatible.patch +Patch24: %{name}-Correct-the-regular-expression-for-the-scheme-p.patch # Fix test failure with tbb 2021.13.0 # https://github.com/root-project/root/pull/16016 -Patch25: root-Whitelist-libtbbmalloc-in-library-import-test.patch +Patch25: %{name}-Whitelist-libtbbmalloc-in-library-import-test.patch # Update ROOT's R interface for Rcpp 1.0.13 # https://github.com/root-project/root/pull/16075 -Patch26: root-r.patch +Patch26: %{name}-r.patch BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -181,9 +180,10 @@ BuildRequires: unixODBC-devel BuildRequires: libGL-devel BuildRequires: libGLU-devel BuildRequires: libpq-devel -BuildRequires: python%{python3_pkgversion}-devel -BuildRequires: python%{python3_pkgversion}-setuptools -BuildRequires: python%{python3_pkgversion}-numpy +BuildRequires: libxcrypt-devel +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-numpy %ifarch %{qt5_qtwebengine_arches} BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtwebengine-devel @@ -223,8 +223,8 @@ BuildRequires: openblas-devel %if ! %{bundlejson} BuildRequires: json-devel >= 3.9 %endif -%if %{?fedora}%{!?fedora:0} -# Disable uring in EPEL 8 and 9 (liburing is available, +%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 9 +# Disable uring in EPEL 8 (liburing is available, # but uring not supported by the kernel) BuildRequires: liburing-devel %endif @@ -243,9 +243,9 @@ BuildRequires: cppzmq-devel %endif %endif %if %{pandas} -BuildRequires: python%{python3_pkgversion}-pandas +BuildRequires: python3-pandas %endif -BuildRequires: python%{python3_pkgversion}-rcssmin +BuildRequires: python3-rcssmin BuildRequires: uglify-js3 BuildRequires: perl-generators BuildRequires: gtest-devel @@ -309,14 +309,17 @@ Requires: %{name}-core = %{version}-%{release} %description icons This package contains icons used by the ROOT GUI. -%package fonts +%package font-files Summary: ROOT font collection BuildArch: noarch # STIX version 0.9 only License: OFL-1.1 Requires: %{name}-core = %{version}-%{release} +# Package renamed +Provides: %{name}-fonts = %{version}-%{release} +Obsoletes: %{name}-fonts < 6.30.10 -%description fonts +%description font-files This package contains fonts used by ROOT that are not available in Fedora. In particular it contains STIX version 0.9 that is used by TMathText. @@ -331,7 +334,7 @@ This package contains the tutorial scripts and test suite for ROOT. %package core Summary: ROOT core libraries License: LGPL-2.1-or-later AND LGPL-2.0-or-later AND ISC AND MIT AND NCSA -Requires: %{name}-fonts = %{version}-%{release} +Requires: %{name}-font-files = %{version}-%{release} Requires: %{name}-icons = %{version}-%{release} # Dynamic dependencies Requires: %{name}-cling%{?_isa} = %{version}-%{release} @@ -395,7 +398,7 @@ Obsoletes: %{name}-roofit-common < 6.30.00 %if %{?rhel}%{!?rhel:0} == 8 # Obsolete the DistRDF package in EPEL 8 # Minimum Python version requirement introduced -Obsoletes: python%{python3_pkgversion}-distrdf < 6.26.00 +Obsoletes: python3-distrdf < 6.26.00 %ifarch %{power64} # Obsolete for ppc64le in EPEL 8 # These modules cause "pure virtual method called" errors @@ -459,65 +462,65 @@ This package contains the unit test support library for ROOT. %package tpython Summary: ROOT's TPython interface Requires: %{name}-core%{?_isa} = %{version}-%{release} -Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release} +Requires: python3-%{name}%{?_isa} = %{version}-%{release} # Package split (tpython from Python bindings) -Obsoletes: python%{python3_pkgversion}-%{name} < 6.22.00 +Obsoletes: python3-%{name} < 6.22.00 %description tpython This package contains ROOT's TPython interface. It makes it possible to call Python from ROOT. -%package -n python%{python3_pkgversion}-%{name} +%package -n python3-%{name} Summary: Python extension for ROOT -%py_provides python%{python3_pkgversion}-%{name} -Provides: %{name}-python%{python3_pkgversion} = %{version}-%{release} -Obsoletes: %{name}-python%{python3_pkgversion} < 6.08.00 +%py_provides python3-%{name} +Provides: %{name}-python3 = %{version}-%{release} +Obsoletes: %{name}-python3 < 6.08.00 Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: %{name}-tree%{?_isa} = %{version}-%{release} # Package split (tpython from Python bindings) -Obsoletes: python%{python3_pkgversion}-%{name} < 6.22.00 +Obsoletes: python3-%{name} < 6.22.00 -%description -n python%{python3_pkgversion}-%{name} +%description -n python3-%{name} This package contains the Python extension for ROOT. It makes it possible to use ROOT classes in Python. -%package -n python%{python3_pkgversion}-jupyroot +%package -n python3-jupyroot Summary: ROOT Jupyter kernel -%py_provides python%{python3_pkgversion}-jupyroot -Requires: python%{python3_pkgversion}-%{name}%{?_isa} = %{version}-%{release} -Requires: python%{python3_pkgversion}-jsmva = %{version}-%{release} +%py_provides python3-jupyroot +Requires: python3-%{name}%{?_isa} = %{version}-%{release} +Requires: python3-jsmva = %{version}-%{release} Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-notebook = %{version}-%{release} %if %{?fedora}%{!?fedora:0} # python-metakernel not available in RHEL/EPEL # some functionality missing -Requires: python%{python3_pkgversion}-ipython -Requires: python%{python3_pkgversion}-metakernel +Requires: python3-ipython +Requires: python3-metakernel Requires: python-jupyter-filesystem %endif -%description -n python%{python3_pkgversion}-jupyroot +%description -n python3-jupyroot The Jupyter kernel for the ROOT notebook. -%package -n python%{python3_pkgversion}-jsmva +%package -n python3-jsmva Summary: TMVA interface used by JupyROOT BuildArch: noarch -%py_provides python%{python3_pkgversion}-jsmva +%py_provides python3-jsmva Requires: %{name}-tmva = %{version}-%{release} -%description -n python%{python3_pkgversion}-jsmva +%description -n python3-jsmva TMVA interface used by JupyROOT. %if %{distrdf} -%package -n python%{python3_pkgversion}-distrdf +%package -n python3-distrdf Summary: Distributed RDataFrame BuildArch: noarch -%py_provides python%{python3_pkgversion}-distrdf -Requires: python%{python3_pkgversion}-%{name} = %{version}-%{release} +%py_provides python3-distrdf +Requires: python3-%{name} = %{version}-%{release} Requires: %{name}-tree-dataframe = %{version}-%{release} -%description -n python%{python3_pkgversion}-distrdf +%description -n python3-distrdf A layer on top of RDataFrame to enable distributed computations. It is a port of the previously known PyRDF python package. %endif @@ -621,6 +624,7 @@ This package contains the 2-dimensional graphics library for ROOT. Summary: AfterImage graphics renderer for ROOT Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-graf%{?_isa} = %{version}-%{release} +Requires: %{name}-graf-postscript%{?_isa} = %{version}-%{release} Requires: %{name}-gui%{?_isa} = %{version}-%{release} Requires: %{name}-hist%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} @@ -922,7 +926,7 @@ from marked up sources. %package io Summary: Input/output of ROOT objects Requires: %{name}-core%{?_isa} = %{version}-%{release} -%if %{?fedora}%{!?fedora:0} +%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 9 Requires: liburing-devel %endif @@ -1215,7 +1219,7 @@ This package contains the basic authentication algorithms used by ROOT. %package net-davix Summary: Davix extension for ROOT -Requires: davix-libs%{?_isa} >= 0.6.4 +Requires: davix-libs%{?_isa} >= 0.7.1 Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} @@ -1225,6 +1229,8 @@ access to http based storage such as webdav and S3. %package net-http Summary: HTTP server extension for ROOT +# The system civetweb is not compiled with websocket support +Provides: bundled(civetweb) Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: js-jsroot >= 7.5 @@ -1428,7 +1434,7 @@ provided here process whole data arrays (batches) instead of a single event at a time, as in the legacy evaluate() function in roofit. In addition, the code is written in a manner that allows for compiler optimizations, notably auto-vectorization. This library is compiled -multiple times for different vector instuction set architectures and +multiple times for different vector instruction set architectures and the optimal code is executed during runtime, as a result of an automatic hardware detection mechanism that this library contains. @@ -1464,7 +1470,6 @@ Requires: %{name}-matrix%{?_isa} = %{version}-%{release} Requires: %{name}-roofit%{?_isa} = %{version}-%{release} Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} Requires: %{name}-roofit-jsoninterface%{?_isa} = %{version}-%{release} -Requires: %{name}-roostats%{?_isa} = %{version}-%{release} %description roofit-hs3 When using RooFit, statistical models can be conveniently handled and @@ -1503,7 +1508,7 @@ Requires: %{name}-hist%{?_isa} = %{version}-%{release} Requires: %{name}-roofit-zmq%{?_isa} = %{version}-%{release} %description roofit-multiprocess -This package contains a library providing classes that implements +This package contains a library providing classes that implement mult-process support for RooFit. %package roofit-zmq @@ -1545,6 +1550,7 @@ Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: %{name}-io-xmlparser%{?_isa} = %{version}-%{release} Requires: %{name}-roofit%{?_isa} = %{version}-%{release} Requires: %{name}-roofit-core%{?_isa} = %{version}-%{release} +Requires: %{name}-roofit-jsoninterface%{?_isa} = %{version}-%{release} Requires: %{name}-roostats%{?_isa} = %{version}-%{release} %description hist-factory @@ -1686,7 +1692,7 @@ License: BSD-3-Clause Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-tmva%{?_isa} = %{version}-%{release} Requires: %{name}-tmva-sofie%{?_isa} = %{version}-%{release} -Requires: python%{python3_pkgversion}-numpy +Requires: python3-numpy %description tmva-python Python integration with TMVA. @@ -1829,7 +1835,7 @@ An algorithm to unfold distributions from detector to truth level. %package cli Summary: ROOT command line utilities BuildArch: noarch -Requires: python%{python3_pkgversion}-%{name} = %{version}-%{release} +Requires: python3-%{name} = %{version}-%{release} %description cli The ROOT command line utilities is a set of scripts for common tasks @@ -1852,6 +1858,7 @@ Javascript and style files for the Jupyter ROOT Notebook. %package gui-webdisplay Summary: Web display for ROOT Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-io%{?_isa} = %{version}-%{release} Requires: %{name}-mathcore%{?_isa} = %{version}-%{release} Requires: %{name}-net%{?_isa} = %{version}-%{release} Requires: %{name}-net-http%{?_isa} = %{version}-%{release} @@ -1926,7 +1933,6 @@ Requires: %{name}-core%{?_isa} = %{version}-%{release} Requires: %{name}-geom%{?_isa} = %{version}-%{release} Requires: %{name}-graf%{?_isa} = %{version}-%{release} Requires: %{name}-graf3d-csg%{?_isa} = %{version}-%{release} -Requires: %{name}-gui-browserv7%{?_isa} = %{version}-%{release} Requires: %{name}-gui-webdisplay%{?_isa} = %{version}-%{release} Requires: %{name}-hist%{?_isa} = %{version}-%{release} Requires: %{name}-io%{?_isa} = %{version}-%{release} @@ -2019,6 +2025,9 @@ This package contains an ntuple extension for ROOT 7. %package tree-ntuple-utils Summary: Ntuple utility library (ROOT 7) Requires: %{name}-core%{?_isa} = %{version}-%{release} +Requires: %{name}-hist%{?_isa} = %{version}-%{release} +Requires: %{name}-io%{?_isa} = %{version}-%{release} +Requires: %{name}-tree%{?_isa} = %{version}-%{release} Requires: %{name}-tree-ntuple%{?_isa} = %{version}-%{release} %description tree-ntuple-utils @@ -2028,35 +2037,35 @@ This package contains utility functions for ntuples. %prep %setup -q -a 1 -%patch -P 0 -p1 -%patch -P 1 -p1 -%patch -P 2 -p1 -%patch -P 3 -p1 -%patch -P 4 -p1 -%patch -P 5 -p1 -%patch -P 6 -p1 -%patch -P 7 -p1 -%patch -P 8 -p1 -%patch -P 9 -p1 -%patch -P 10 -p1 -%patch -P 11 -p1 -%patch -P 12 -p1 -%patch -P 13 -p1 -%patch -P 14 -p1 -%patch -P 15 -p1 +%patch -P0 -p1 +%patch -P1 -p1 +%patch -P2 -p1 +%patch -P3 -p1 +%patch -P4 -p1 +%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 +%patch -P14 -p1 +%patch -P15 -p1 %if %{?rhel}%{!?rhel:0} == 8 -%patch -P 16 -p1 +%patch -P16 -p1 %endif -%patch -P 17 -p1 -%patch -P 18 -p1 -%patch -P 19 -p1 -%patch -P 20 -p1 -%patch -P 21 -p1 -%patch -P 22 -p1 -%patch -P 23 -p1 -%patch -P 24 -p1 -%patch -P 25 -p1 -%patch -P 26 -p1 +%patch -P17 -p1 +%patch -P18 -p1 +%patch -P19 -p1 +%patch -P20 -p1 +%patch -P21 -p1 +%patch -P22 -p1 +%patch -P23 -p1 +%patch -P24 -p1 +%patch -P25 -p1 +%patch -P26 -p1 # Remove bundled sources in order to be sure they are not used # * afterimage @@ -2360,10 +2369,9 @@ echo 'Version: %{version}' >> \ mkdir -p %{buildroot}%{_datadir}/jupyter/kernels cp -pr %{buildroot}%{_datadir}/%{name}/notebook/kernels/root \ - %{buildroot}%{_datadir}/jupyter/kernels/python%{python3_pkgversion}-jupyroot -sed -e 's/ROOT C++/& (Python 3)/' \ - -e 's!python[0-9]*\.[0-9]*!%{__python3}!' \ - -i %{buildroot}%{_datadir}/jupyter/kernels/python%{python3_pkgversion}-jupyroot/kernel.json + %{buildroot}%{_datadir}/jupyter/kernels/python3-jupyroot +sed -e 's!python[0-9]*\.[0-9]*!%{__python3}!' \ + -i %{buildroot}%{_datadir}/jupyter/kernels/python3-jupyroot/kernel.json sed -e '/^\#!/d' \ -i %{buildroot}%{python3_sitearch}/JupyROOT/kernel/rootkernel.py @@ -2474,7 +2482,7 @@ sed -e 's/FATAL_ERROR \(.*imported\)/WARNING \1/' \ but this file does not exist.\ If this target is used you need to install the package that provides this\ file using \\"dnf install\\".\ -If this target is not used this warning can be ignored.")' \ +If this target is not used this warning can be ignored.'$'\x22'')' \ -e '/Possible reasons include/,/)/d' \ -i %{buildroot}%{_datadir}/%{name}/cmake/ROOTConfig-targets.cmake @@ -2519,6 +2527,7 @@ popd pushd tmva/tmva/test/envelope ln -s ../../../../../files files popd +popd # Exclude some tests that can not be run # @@ -2610,6 +2619,10 @@ popd # # - test-webgui-ping # error: Cannot display window in native +# +# - tutorial-tmva-TMVA_CNN_Classification-py +# - tutorial-tmva-TMVA_RNN_Classification-py +# Requires tensorflow excluded="\ test-stressIOPlugins|\ tutorial-dataframe-df101_h1Analysis|\ @@ -2646,7 +2659,9 @@ tutorial-tmva-RBatchGenerator_NumPy-py|\ test-import-numba|\ tutorial-pyroot-pyroot004_NumbaDeclare-py|\ pyunittests-pyroot-numbadeclare|\ -test-webgui-ping" +test-webgui-ping|\ +tutorial-tmva-TMVA_CNN_Classification-py|\ +tutorial-tmva-TMVA_RNN_Classification-py" %if %{?fedora}%{!?fedora:0} >= 41 # - pyunittests-pyroot-pyz-ttree-setbranchaddress @@ -2872,7 +2887,7 @@ gtest-math-matrix-test-testMatrixTSparse" # Filter out parts of tests that require remote network access # TClingDataMemberInfo.Offset fails on s390x # https://github.com/root-project/root/issues/14512 -GTEST_FILTER=-\ +export GTEST_FILTER=-\ %ifarch s390x TClingDataMemberInfo.Offset:\ %endif @@ -2881,15 +2896,8 @@ RRawFile.Remote:\ RSqliteDS.Davix:\ TChainParsing.RemoteGlob:\ TFile.ReadWithoutGlobalRegistrationNet:\ -TFile.ReadWithoutGlobalRegistrationWeb \ -%if ! %{pandas} -ROOTTEST_IGNORE_PANDAS_PY3=1 \ -%endif -ROOTTEST_IGNORE_NUMBA_PY3=1 \ -ROOTTEST_IGNORE_JUPYTER_PY3=1 \ -make test ARGS="%{?_smp_mflags} --output-on-failure -E \"${excluded}\"" - -popd +TFile.ReadWithoutGlobalRegistrationWeb +%ctest -- -E "${excluded}" %pretrans net-http -p path = "%{_datadir}/%{name}/js" @@ -2904,7 +2912,7 @@ 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 -%pre -n python%{python3_pkgversion}-%{name} +%pre -n python3-%{name} if [ -r /var/lib/alternatives/libPyROOT.so ] ; then for alt in `grep python3.*/.*.so /var/lib/alternatives/libPyROOT.so` ; do %{_sbindir}/update-alternatives --remove libPyROOT.so $alt @@ -2975,7 +2983,7 @@ fi %files icons %{_datadir}/%{name}/icons -%files fonts +%files font-files %{_datadir}/%{name}/fonts %files tutorial @@ -3064,7 +3072,7 @@ fi %{_libdir}/%{name}/libROOTTPython.* %{_libdir}/%{name}/libROOTTPython_rdict.pcm -%files -n python%{python3_pkgversion}-%{name} -f includelist-bindings-pyroot +%files -n python3-%{name} -f includelist-bindings-pyroot %{python3_sitearch}/cppyy %{python3_sitearch}/cppyy_backend %{python3_sitearch}/ROOT @@ -3076,19 +3084,19 @@ fi %{_libdir}/%{name}/libcppyy_backend%{python3_version_uscore}.* %dir %{_includedir}/%{name}/CPyCppyy -%files -n python%{python3_pkgversion}-jupyroot +%files -n python3-jupyroot %{python3_sitearch}/JupyROOT %{python3_sitearch}/JupyROOT-*.dist-info %{python3_sitearch}/libJupyROOT%{python3_version_uscore}%{python3_ext_suffix} -%{_datadir}/jupyter/kernels/python%{python3_pkgversion}-jupyroot +%{_datadir}/jupyter/kernels/python3-jupyroot %doc bindings/jupyroot/README.md -%files -n python%{python3_pkgversion}-jsmva +%files -n python3-jsmva %{python3_sitelib}/JsMVA %{python3_sitelib}/JsMVA-*.dist-info %if %{distrdf} -%files -n python%{python3_pkgversion}-distrdf +%files -n python3-distrdf %{python3_sitelib}/DistRDF %{python3_sitelib}/DistRDF-*.dist-info %endif @@ -3801,6 +3809,11 @@ fi %endif %changelog +* Sat Mar 14 2026 Mattias Ellert - 6.30.10-1 +- Update to 6.30.10 +- Rebuild for pythia8 8.3.17 +- Rename root-fonts package to root-font-files + * Sat Apr 19 2025 Iñaki Úcar - 6.30.08-2 - R-maint-sig mass rebuild @@ -3828,7 +3841,7 @@ fi * Mon Mar 25 2024 Mattias Ellert - 6.30.04-2 - Support StandardSymbolsPS.otf -* Wed Jan 31 2024 Mattias Ellert - 6.30.04-1 +* Wed Jan 31 2024 Mattias Ellert - 6.30.04-1 - Update to 6.30.04 - Drop patch root-adjust-test-for-failures-on-aarch64-ppc64le-s390x.patch (accepted upstrem) diff --git a/sources b/sources index 302865a..fd75987 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (root-6.30.08.tar.xz) = a0cded2407c84553b5226cc3032a3e6c6aad1db4cb543c22c4e6f129632047e6edee78bd9fd03835ff6801b1e2c0d109d45a2af4884e48d95d1669915baf4aa2 +SHA512 (root-6.30.10.tar.xz) = 3d35d5160acd95520a736ce5e4e797dabb0216e3d8cfebcd2cdb9842065ba42dfc7bde04d24da1e8254a91f5d229c6bbfd86e8f7b4f160f018bca29630b1aa34 SHA512 (root-testfiles.tar.xz) = 945aef1a0cf5af672d4ab84b0ac00b76118e93008ff72447658ee82d9e955a1540af3ff7126e701418872f1d91b92ee96d4985840a519036c42732023a13f00f