diff --git a/root-12276.patch b/root-12276.patch new file mode 100644 index 00000000000..6ec4f155909 --- /dev/null +++ b/root-12276.patch @@ -0,0 +1,65 @@ +From f945434a97c345a7a26ba5cc55db836441c53ed1 Mon Sep 17 00:00:00 2001 +From: Vassil Vassilev +Date: Thu, 9 Feb 2023 17:47:16 +0000 +Subject: [PATCH 1/2] [cxxmodules] Add a module for experimental/string_view + +Recent gcc updates somehow make experimental/string_view available through +module string_view. Then it wrongly decides it needs to include +"bits/ranges_base.h" which is a c++14 header and breaks the compilation in case +of c++11. + +This patch adds a proper experimental/string_view to disallow such shadowing. +--- + interpreter/cling/include/cling/std.modulemap | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/interpreter/cling/include/cling/std.modulemap b/interpreter/cling/include/cling/std.modulemap +index 6af475ae6b47..e4d0e33eea2a 100644 +--- a/interpreter/cling/include/cling/std.modulemap ++++ b/interpreter/cling/include/cling/std.modulemap +@@ -391,10 +391,10 @@ module "std" [system] { + export * + header "cuchar" + } +- //module "experimental/algorithm" { +- // export * +- // header "experimental/algorithm" +- //} ++ module "experimental/string_view" { ++ export * ++ header "experimental/string_view" ++ } + module "ext/functional" { + export * + header "ext/functional" + +From 4540af29cc92b31b18219c4a9fbd6d10d289d99f Mon Sep 17 00:00:00 2001 +From: Vassil Vassilev +Date: Thu, 16 Feb 2023 07:04:17 +0000 +Subject: [PATCH 2/2] bits/ranges_base.h and uses_allocator_args.h are + available in c++14 as well. + +--- + interpreter/cling/include/cling/std.modulemap | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/interpreter/cling/include/cling/std.modulemap b/interpreter/cling/include/cling/std.modulemap +index e4d0e33eea2a..fff944ba7fbc 100644 +--- a/interpreter/cling/include/cling/std.modulemap ++++ b/interpreter/cling/include/cling/std.modulemap +@@ -489,13 +489,13 @@ module "std" [system] { + header "bits/ranges_algobase.h" + } + module "bits/ranges_base.h" { +- requires cplusplus20 ++ requires cplusplus14 + export * + export bits_stl_iterator_h + header "bits/ranges_base.h" + } + module "bits/uses_allocator_args.h" { +- requires cplusplus20 ++ requires cplusplus14 + export * + header "bits/uses_allocator_args.h" + } diff --git a/root.spec b/root.spec index f6d7eff0f9a..38250e54285 100644 --- a/root.spec +++ b/root.spec @@ -2,8 +2,8 @@ ## INITENV +PATH PYTHON3PATH %{i}/lib ## INITENV SET ROOTSYS %{i} ## INCLUDE compilation_flags -%define tag 654c2fd66d046860b41c9c4f544acdb28c1216e2 -%define branch cms/master/0bd51969ce +%define tag 75a04121c71e6d3ce1c52db2ddaafced325b9c4c +%define branch cms/master/026a1a701b %define github_user cms-sw Source: git+https://github.com/%{github_user}/root.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}-%{tag}.tgz @@ -12,6 +12,8 @@ BuildRequires: cmake ninja Requires: gsl libjpeg-turbo libpng libtiff giflib pcre python3 fftw3 xz xrootd libxml2 zlib davix tbb OpenBLAS py3-numpy lz4 freetype zstd +Patch1: root-12276 + %ifos linux Requires: dcap %endif @@ -25,6 +27,7 @@ Requires: dcap %prep %setup -n %{n}-%{realversion} +%patch1 -p1 %build rm -rf ../build