diff --git a/root-clang-ignore-gcc-options.patch b/root-clang-ignore-gcc-options.patch deleted file mode 100644 index ebd8957..0000000 --- a/root-clang-ignore-gcc-options.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 1303b60707614043993f9c97c79dd4fe89e6efa4 Mon Sep 17 00:00:00 2001 -From: Mattias Ellert -Date: Wed, 7 Nov 2018 12:05:30 +0100 -Subject: [PATCH] Let clang ignore some gcc options it hasn't implemented - ---- - .../llvm/src/tools/clang/include/clang/Driver/Options.td | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/interpreter/llvm/src/tools/clang/include/clang/Driver/Options.td b/interpreter/llvm/src/tools/clang/include/clang/Driver/Options.td -index 05dc9d7eb3..1e887ac6b1 100644 ---- a/interpreter/llvm/src/tools/clang/include/clang/Driver/Options.td -+++ b/interpreter/llvm/src/tools/clang/include/clang/Driver/Options.td -@@ -2464,6 +2464,8 @@ defm align_loops : BooleanFFlag<"align-loops">, Group, Group; - def falign_jumps_EQ : Joined<["-"], "falign-jumps=">, Group; -+defm cf_protection : BooleanFFlag<"cf-protection">, Group; -+def fcf_protection_EQ : Joined<["-"], "fcf-protection=">, Group; - - // FIXME: This option should be supported and wired up to our diognostics, but - // ignore it for now to avoid breaking builds that use it. -@@ -2524,6 +2526,7 @@ defm single_precision_constant : BooleanFFlag<"single-precision-constant">, - Group; - defm spec_constr_count : BooleanFFlag<"spec-constr-count">, Group; - defm stack_check : BooleanFFlag<"stack-check">, Group; -+defm stack_clash_protection : BooleanFFlag<"stack-clash-protection">, Group; - defm strength_reduce : - BooleanFFlag<"strength-reduce">, Group; - defm tls_model : BooleanFFlag<"tls-model">, Group; --- -2.19.1 - diff --git a/root-fix-a-shadow-warning.patch b/root-fix-a-shadow-warning.patch new file mode 100644 index 0000000..f0daaaf --- /dev/null +++ b/root-fix-a-shadow-warning.patch @@ -0,0 +1,41 @@ +From 00bbfddbf5c900923b284ddc540d2458bda15b7b Mon Sep 17 00:00:00 2001 +From: Stephan Hageboeck +Date: Wed, 5 Aug 2020 13:22:46 +0200 +Subject: [PATCH] Fix a shadow warning. + +--- + roofit/roofitmore/src/RooHypatia2.cxx | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/roofit/roofitmore/src/RooHypatia2.cxx b/roofit/roofitmore/src/RooHypatia2.cxx +index 7d550b2753..fe80f414d0 100644 +--- a/roofit/roofitmore/src/RooHypatia2.cxx ++++ b/roofit/roofitmore/src/RooHypatia2.cxx +@@ -119,21 +119,21 @@ + /// \param[in] a2 Start of right tail. + /// \param[in] n2 Shape parameter of right tail (\f$ n2 \ge 0 \f$). With \f$ n2 = 0 \f$, the function is constant. + RooHypatia2::RooHypatia2(const char *name, const char *title, RooAbsReal& x, RooAbsReal& lambda, +- RooAbsReal& zeta, RooAbsReal& beta, RooAbsReal& sigma, RooAbsReal& mu, RooAbsReal& a, ++ RooAbsReal& zeta, RooAbsReal& beta, RooAbsReal& argSigma, RooAbsReal& mu, RooAbsReal& a, + RooAbsReal& n, RooAbsReal& a2, RooAbsReal& n2) : + RooAbsPdf(name, title), + _x("x", "x", this, x), + _lambda("lambda", "Lambda", this, lambda), + _zeta("zeta", "zeta", this, zeta), + _beta("beta", "Asymmetry parameter beta", this, beta), +- _sigma("sigma", "Width parameter sigma", this, sigma), ++ _sigma("sigma", "Width parameter sigma", this, argSigma), + _mu("mu", "Location parameter mu", this, mu), + _a("a", "Left tail location a", this, a), + _n("n", "Left tail parameter n", this, n), + _a2("a2", "Right tail location a2", this, a2), + _n2("n2", "Right tail parameter n2", this, n2) + { +- RooHelpers::checkRangeOfParameters(this, {&sigma}, 0.); ++ RooHelpers::checkRangeOfParameters(this, {&argSigma}, 0.); + RooHelpers::checkRangeOfParameters(this, {&zeta, &n, &n2, &a, &a2}, 0., std::numeric_limits::max(), true); + if (zeta.getVal() == 0. && zeta.isConstant()) { + RooHelpers::checkRangeOfParameters(this, {&lambda}, -std::numeric_limits::max(), 0., false, +-- +2.26.2 + diff --git a/root-memory-usage.patch b/root-memory-usage.patch index 9910ec3..aad7f1c 100644 --- a/root-memory-usage.patch +++ b/root-memory-usage.patch @@ -1,21 +1,22 @@ -From 636b26baf214559e209e72b2a14946d0cc18c2f1 Mon Sep 17 00:00:00 2001 +From 21395b23947df7e2b5e0c93626453aeacdee026c Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Tue, 16 Jan 2018 10:25:50 +0100 Subject: [PATCH] Reduce the needed memory for compilation The linking of rootcling_stage1 and libCling requires a lot of memory. -Since these are linked from mostly the same objects, the build is ready -to link them at the same time. If you make a parallel build this means -that the two targets that require the most amount of memory are being -linked in parallel. This exhausts the available memory, and the +Since these are linked from mostly the same objects, the build is +ready to link them at the same time. If you make a parallel build this +means that the two targets that require the most amount of memory are +being linked in parallel. This exhausts the available memory, and the computer starts swapping. -This adds a dependency of one of the targets to the other. The dependency is -not really there since it is not needed for building, but it prevents the -two memory consuming targets to be built in parallel. +This commit adds a dependency of one of the targets to the other. The +dependency is not really there since it is not needed for building, +but it prevents the two memory consuming targets to be built in +parallel. -A similar dependency existed before the code latest code changes -(see commit 2638f6fc7f54b0995f2f9d60363daaf8aae2386e), then between +A similar dependency existed before the latest code changes (see +commit 2638f6fc7f54b0995f2f9d60363daaf8aae2386e), then between rootcling and libCling. --- core/metacling/src/CMakeLists.txt | 5 +++++ diff --git a/root-no-export-python-modules.patch b/root-no-export-python-modules.patch new file mode 100644 index 0000000..d27c135 --- /dev/null +++ b/root-no-export-python-modules.patch @@ -0,0 +1,25 @@ +diff -ur root-6.22.00.orig/bindings/jupyroot/CMakeLists.txt root-6.22.00/bindings/jupyroot/CMakeLists.txt +--- root-6.22.00.orig/bindings/jupyroot/CMakeLists.txt 2020-06-14 17:51:48.000000000 +0200 ++++ root-6.22.00/bindings/jupyroot/CMakeLists.txt 2020-08-20 13:56:08.875471462 +0200 +@@ -58,7 +58,7 @@ + endforeach() + + # Install library +- install(TARGETS ${libname} EXPORT ${CMAKE_PROJECT_NAME}Exports DESTINATION ${runtimedir}) ++ install(TARGETS ${libname} DESTINATION ${runtimedir}) + + endforeach() + +diff -ur root-6.22.00.orig/bindings/pyroot/pythonizations/CMakeLists.txt root-6.22.00/bindings/pyroot/pythonizations/CMakeLists.txt +--- root-6.22.00.orig/bindings/pyroot/pythonizations/CMakeLists.txt 2020-06-14 17:51:48.000000000 +0200 ++++ root-6.22.00/bindings/pyroot/pythonizations/CMakeLists.txt 2020-08-20 13:57:31.465673116 +0200 +@@ -124,8 +124,7 @@ + endforeach() + + # Install library +- install(TARGETS ${libname} EXPORT ${CMAKE_PROJECT_NAME}Exports +- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries ++ install(TARGETS ${libname} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) + endforeach() diff --git a/root-setcachefiledir.patch b/root-setcachefiledir.patch index f73615e..1244734 100644 --- a/root-setcachefiledir.patch +++ b/root-setcachefiledir.patch @@ -1,10 +1,10 @@ -From 0bf4cdfee3f2189f4d43f7cde9ba114ce682cac5 Mon Sep 17 00:00:00 2001 +From 532e02a0e5373d26f73495183dc13055e7f13421 Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Mon, 29 Jun 2020 12:08:15 +0200 Subject: [PATCH] Add missing call to TFile::SetCacheFileDir(".") Without it the following TFile::Open call using the CACHEREAD option -will as work as intrnded: +will not work as intended: inputFile = TFile::Open(inputFileLink, "CACHEREAD"); --- tutorials/tmva/TMVA_Higgs_Classification.C | 3 +-- diff --git a/root-srm-ifce-deps.patch b/root-srm-ifce-deps.patch new file mode 100644 index 0000000..929d799 --- /dev/null +++ b/root-srm-ifce-deps.patch @@ -0,0 +1,49 @@ +From 7e8706b21dc62fc7b56709cf03c2650c715e5b64 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Wed, 19 Aug 2020 20:23:15 +0200 +Subject: [PATCH] When building ROOT's libGFAL using gfal2, srm-ifce is not a + build dependency. + +--- + cmake/modules/FindGFAL.cmake | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +diff --git a/cmake/modules/FindGFAL.cmake b/cmake/modules/FindGFAL.cmake +index 71163a1714..74028ac5a7 100644 +--- a/cmake/modules/FindGFAL.cmake ++++ b/cmake/modules/FindGFAL.cmake +@@ -17,22 +17,26 @@ find_path(GFAL_INCLUDE_DIR NAMES gfal_api.h + HINTS ${GFAL_DIR}/include $ENV{GFAL_DIR}/include) + find_library(GFAL_LIBRARY NAMES gfal gfal2 + HINTS ${GFAL_DIR}/lib $ENV{GFAL_DIR}/lib) +-find_path(SRM_IFCE_INCLUDE_DIR gfal_srm_ifce_types.h +- HINTS ${SRM_IFCE_DIR}/include $ENV{SRM_IFCE_DIR}/include) + + set(GFAL_LIBRARIES ${GFAL_LIBRARY}) +-set(GFAL_INCLUDE_DIRS ${GFAL_INCLUDE_DIR} ${SRM_IFCE_INCLUDE_DIR}) ++set(GFAL_INCLUDE_DIRS ${GFAL_INCLUDE_DIR}) + + if(GFAL_LIBRARY MATCHES gfal2) + # use pkg-config to get the directories for glib and then use these values + find_package(PkgConfig) + pkg_check_modules(GLIB2 REQUIRED glib-2.0) + list(APPEND GFAL_INCLUDE_DIRS ${GLIB2_INCLUDE_DIRS}) ++ set(GFAL_DEP GLIB2_INCLUDE_DIRS) ++else() ++ find_path(SRM_IFCE_INCLUDE_DIR gfal_srm_ifce_types.h ++ HINTS ${SRM_IFCE_DIR}/include $ENV{SRM_IFCE_DIR}/include) ++ list(APPEND GFAL_INCLUDE_DIRS ${SRM_IFCE_INCLUDE_DIR}) ++ set(GFAL_DEP SRM_IFCE_INCLUDE_DIR) + endif() + + # handle the QUIETLY and REQUIRED arguments and set GFAL_FOUND to TRUE if + # all listed variables are TRUE + include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(GFAL DEFAULT_MSG GFAL_INCLUDE_DIR SRM_IFCE_INCLUDE_DIR GFAL_LIBRARY) ++find_package_handle_standard_args(GFAL DEFAULT_MSG GFAL_INCLUDE_DIR ${GFAL_DEP} GFAL_LIBRARY) + +-mark_as_advanced(GFAL_FOUND GFAL_INCLUDE_DIR GFAL_LIBRARY SRM_IFCE_INCLUDE_DIR GLIB_INCLUDE_DIR) ++mark_as_advanced(GFAL_FOUND GFAL_INCLUDE_DIR GFAL_LIBRARY SRM_IFCE_INCLUDE_DIR GLIB2_INCLUDE_DIRS) +-- +2.26.2 + diff --git a/root-xrootd5-compat.patch b/root-xrootd5-compat.patch index 5a7ecda..22802dd 100644 --- a/root-xrootd5-compat.patch +++ b/root-xrootd5-compat.patch @@ -1,4 +1,4 @@ -From c81fab4b81b4767abdca612f33604b252fc665b7 Mon Sep 17 00:00:00 2001 +From b9ab79d7eb3a3eeebd8671ebe78e5fed6a3f1100 Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Tue, 14 Jul 2020 08:10:00 +0200 Subject: [PATCH] Compatibility with xrootd 5. @@ -20,7 +20,7 @@ Build the new libNetNG without XrdSysDNS, use XrdNetAddr instead. 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/cmake/modules/SearchInstalledSoftware.cmake b/cmake/modules/SearchInstalledSoftware.cmake -index 12f9d65371..3578303c5d 100644 +index 12f9d65371..c04b9b09fb 100644 --- a/cmake/modules/SearchInstalledSoftware.cmake +++ b/cmake/modules/SearchInstalledSoftware.cmake @@ -925,6 +925,21 @@ if(xrootd AND XROOTD_VERSIONNUM VERSION_GREATER 300030005) @@ -37,7 +37,7 @@ index 12f9d65371..3578303c5d 100644 + if(fail-on-missing) + message(FATAL_ERROR "XROOTD is version 5 or greater. The legacy xproofd servers can not be built with this version. Use -Dxproofd:BOOL=OFF to disable.") + else() -+ message(STATUS "XROOTD is version 5 or greater. The legacy xproofd servers can not be built with this version. Disbaling xproofd' option.") ++ message(STATUS "XROOTD is version 5 or greater. The legacy xproofd servers can not be built with this version. Disabling 'xproofd' option.") + set(xproofd OFF CACHE BOOL "Disabled because xrootd version is 5 or greater" FORCE) + endif() + endif() diff --git a/root.spec b/root.spec index 75dba66..08b3081 100644 --- a/root.spec +++ b/root.spec @@ -30,10 +30,10 @@ %global tbb 0 %endif -%if 0%{?fedora} >= 33 +%if %{?fedora}%{!?fedora:0} >= 33 %global blaslib flexiblas %else -%global blaslib blas +%global blaslib openblas %endif # Do not create .orig files when patching source @@ -45,7 +45,7 @@ Name: root Version: 6.22.00 %global libversion %(cut -d. -f 1-2 <<< %{version}) -Release: 6%{?dist} +Release: 7%{?dist} Summary: Numerical data analysis framework License: LGPLv2+ @@ -82,7 +82,7 @@ Patch4: %{name}-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch Patch5: %{name}-Fix-return-type-in-ORC-readMem-client-interface.patch Patch6: %{name}-PPC-Avoid-non-simple-MVT-in-STBRX-optimization.patch # Reduce memory usage of build -# https://github.com/root-project/root/pull/1516 +# Do not link rootcling_stage1 and libCling in parallel Patch7: %{name}-memory-usage.patch # Reduce memory usage during linking on ARM and x86 by generating # smaller debuginfo for the llmv libraries. @@ -90,9 +90,8 @@ Patch7: %{name}-memory-usage.patch Patch8: %{name}-memory-arm-x86.patch # Don't install minicern static library Patch9: %{name}-dont-install-minicern.patch -# Let clang ignore some gcc options it hasn't implemented -# https://github.com/root-project/root/pull/2933 -Patch10: %{name}-clang-ignore-gcc-options.patch +# Do not export Python modules in CMake config +Patch10: %{name}-no-export-python-modules.patch # Don't create documentation notebooks Patch11: %{name}-doc-no-notebooks.patch # Don't run tutorials that crash during doc generation @@ -145,8 +144,14 @@ Patch31: %{name}-fix-bad-regex.patch # Compatibility with xrootd 5 # https://github.com/root-project/root/pull/6031 Patch32: %{name}-xrootd5-compat.patch -# Enable FlexiBLAS detection -Patch33: %{name}-add-flexiblas-detection.patch +# Enable FlexiBLAS detection +Patch33: %{name}-add-flexiblas-detection.patch +# Avoid unneeded build requirement on srm-ifce-devel +# https://github.com/root-project/root/pull/6233 +Patch34: %{name}-srm-ifce-deps.patch +# Fix a shadow warning +# https://github.com/root-project/root/pull/6029 +Patch35: %{name}-fix-a-shadow-warning.patch # s390x suffers from endian issues resulting in failing tests # and broken documentation generation @@ -211,7 +216,6 @@ BuildRequires: xrootd-private-devel >= 1:3.3.5 BuildRequires: cfitsio-devel BuildRequires: davix-devel >= 0.2.8 BuildRequires: gfal2-devel -BuildRequires: srm-ifce-devel BuildRequires: R-Rcpp-devel BuildRequires: R-RInside-devel BuildRequires: readline-devel @@ -381,9 +385,9 @@ Obsoletes: python2-jsmva < %{version}-%{release} Obsoletes: %{name}-rootaas < 6.08.00 %endif %if %{?rhel}%{!?rhel:0} == 7 -Obsoletes: python%{python3_other_pkgversion}-%{name} < 6.22.00 -Obsoletes: python%{python3_other_pkgversion}-jupyroot < 6.22.00 -Obsoletes: python%{python3_other_pkgversion}-jsmva < 6.22.00 +Obsoletes: python%{?python3_other_pkgversion}-%{name} < 6.22.00 +Obsoletes: python%{?python3_other_pkgversion}-jupyroot < 6.22.00 +Obsoletes: python%{?python3_other_pkgversion}-jsmva < 6.22.00 %endif %description core @@ -1848,6 +1852,8 @@ This package contains an ntuple extension for ROOT 7. %patch31 -p1 %patch32 -p1 %patch33 -p1 +%patch34 -p1 +%patch35 -p1 # Remove bundled sources in order to be sure they are not used # * afterimage @@ -3473,6 +3479,12 @@ fi %endif %changelog +* Thu Aug 20 2020 Mattias Ellert - 6.22.00-7 +- Avoid unneeded build requirement on srm-ifce-devel +- Do not export Python modules in CMake config +- Drop patch root-clang-ignore-gcc-options.patch + ("Recent ROOT does not send all possible compiler flags to rootcling.") + * Sun Aug 16 2020 Iñaki Úcar - 6.22.00-6 - https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager